local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.Rodux);
local v5 = require(l_CorePackages_0.Cryo);
local v6 = require(l_CorePackages_0.RoactRodux);
local v7 = require(l_CorePackages_0.UIBlox);
local v8 = require(l_CorePackages_0.RoactNavigation);
local v9 = require(l_CorePackages_0.Packages.t);
local v10 = require(l_Modules_0.Common.Analytics);
local v11 = require(l_Modules_0.LuaApp.AppReducer);
local l_Localization_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppLocales).Localization;
local v13 = require(l_Modules_0.LuaApp.TestHelpers.MockRequest);
local v14 = require(l_Modules_0.LuaApp.Services.RoactAnalytics);
local v15 = require(l_Modules_0.LuaApp.Services.RoactLocalization);
local v16 = require(l_Modules_0.LuaApp.Services.RoactNetworking);
local l_AppGuiService_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppGuiService;
local l_AppRunService_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppRunService;
local l_AppContentProvider_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppContentProvider;
local l_AppSessionService_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppSessionService;
local l_AppStartupSequenceTag_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppStartupSequenceTag;
local l_AppUserGameSettings_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppUserGameSettings;
local l_AppUpdateService_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppUpdateService;
local l_AppOmniRecommendationsRequest_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppOmniRecommendationsRequest;
local l_MockOmniRecommendationsRequest_0 = require(l_CorePackages_0.Workspace.Packages.GraphQlShared).MockOmniRecommendationsRequest;
local v26 = require(l_Modules_0.LuaApp.TestHelpers.MockSessionService);
local v27 = require(l_Modules_0.LuaApp.Services.AppEventIngestService);
local l_AppSystemInfo_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppSystemInfo;
local l_AppUserInputService_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppUserInputService;
local l_AppLinking_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppLinking;
local v31 = require(l_Modules_0.LuaApp.TestHelpers.MockSystemInfo);
local v32 = require(l_Modules_0.LuaApp.TestHelpers.MockUserInputService);
local v33 = require(l_Modules_0.LuaApp.TestHelpers.MockLinking);
local l_AppLogging_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppLogging;
local v35 = require(l_Modules_0.LuaApp.TestHelpers.MockLogging);
local v36 = require(l_Modules_0.LuaApp.TestHelpers.MockEventIngestService);
local v37 = require(l_Modules_0.LuaApp.TestHelpers.MockGuiService);
local v38 = require(l_Modules_0.LuaApp.TestHelpers.MockRunService);
local l_MockContentProvider_0 = v7.UnitTestHelpers.MockContentProvider;
local v40 = require(l_Modules_0.LuaApp.TestHelpers.MockUserGameSettings);
local l_MockAppUpdateService_0 = require(l_CorePackages_0.Workspace.Packages.MockEngineServices).MockAppUpdateService;
local v42 = require(l_Modules_0.LuaApp.TestHelpers.MockAvatarEditorService);
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local v44 = require(l_Modules_0.LuaApp.ThemeProvider);
local l_AppStyleProvider_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppStyleProvider;
local l_Constants_0 = require(l_CorePackages_0.Workspace.Packages.Style).Constants;
local v47 = require(l_Modules_0.LuaApp.Components.AppGridProvider);
local l_DesignTokenProvider_0 = require(l_CorePackages_0.Workspace.Packages.Style).DesignTokenProvider;
local v49 = require(l_Modules_0.LuaApp.DesignTokenMappers.tokenMappers);
local v50 = require(l_Modules_0.LuaApp.Navigation.RootNavigator);
local v51 = require(l_Modules_0.LuaApp.LocalizationProvider);
local v52 = require(l_Modules_0.LuaApp.Themes.ClassicTheme);
local l_RoactAppPolicy_0 = require(l_CorePackages_0.Workspace.Packages.UniversalAppPolicy).RoactAppPolicy;
local l_AppFeaturePolicies_0 = require(l_CorePackages_0.Workspace.Packages.UniversalAppPolicy).AppFeaturePolicies;
local l_ChatPolicies_0 = require(l_CorePackages_0.Workspace.Packages.SocialPolicies).ChatPolicies;
local l_AvatarPolicies_0 = require(l_CorePackages_0.Workspace.Packages.AvatarPolicies).AvatarPolicies;
local l_SharePolicies_0 = require(l_CorePackages_0.Workspace.Packages.SocialPolicies).SharePolicies;
local l_ShareTargetGamePolicies_0 = require(l_CorePackages_0.Workspace.Packages.SocialPolicies).ShareTargetGamePolicies;
local l_FocusControllerProvider_0 = require(l_CorePackages_0.Workspace.Packages.UnitTestHelpers).FocusControllerProvider;
local v60 = require(l_Modules_0.AvatarExperience.AvatarEditor.Thunks.AvatarEditorServiceThunk);
local l_RoactAnalyticsCommonGameEvents_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).RoactAnalyticsCommonGameEvents;
local v62 = require(l_Modules_0.LuaApp.Services.CommonGameEvents);
local l_appendApolloClientToReducer_0 = require(l_Modules_0.LuaApp.TestHelpers.ApolloClientTestUtils).appendApolloClientToReducer;
local l_ApolloProvider_0 = require(l_CorePackages_0.Packages.ApolloClient).ApolloProvider;
local l_AppStartupSequence_0 = require(l_CorePackages_0.Workspace.Packages.AppStartup).AppStartupSequence;
local v66 = require(l_Modules_0.AvatarExperience.Common.Context.BodyDataProvider);
local l_AppNotificationService_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppNotificationService;
local l_MockNotificationService_0 = require(l_CorePackages_0.Workspace.Packages.MockEngineServices).MockNotificationService;
local v69 = require(l_Modules_0.LuaApp.Experiment.RoactAppExperiment);
local v70 = require(l_Modules_0.LuaApp.TestHelpers.MockIXPService);
local v71 = require(l_Modules_0.LuaApp.Context.TopBarSearchSignalContext);
local v72 = require(l_Modules_0.LuaApp.TestHelpers.makeMockThunkMiddleware);
local v73 = require(l_CorePackages_0.Workspace.Packages.InteractionFeedback);
local l_InteractionFeedbackContext_0 = v73.InteractionFeedbackContext;
local l_FeedbackManagerInjectionContextProvider_0 = v73.FeedbackManagerInjectionContextProvider;
local l_InteractionFeedbackAppConfig_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppInteractionFeedbackConfig).InteractionFeedbackAppConfig;
local l_GetFFlagColorPickerSliderOptimization_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagColorPickerSliderOptimization;
local l_GetFFlagEnableUISoundAndHaptics_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagEnableUISoundAndHaptics;
local v79 = v9.strictInterface({
    includeTopBarSearchSignalProvider = v9.optional(v9.boolean),
    includeIXPServiceProvider = v9.optional(v9.boolean),
    includeABTestServiceProvider = v9.optional(v9.boolean),
    browserTrackerABTests = v9.optional(v9.table),
    userABTests = v9.optional(v9.table),
    browserTrackerLayers = v9.optional(v9.table),
    userLayers = v9.optional(v9.table),
    includeStoreProvider = v9.optional(v9.boolean),
    store = v9.optional(v9.table),
    initialStoreState = v9.optional(v9.table),
    includeAppGridProvider = v9.optional(v9.boolean),
    includeStyleProvider = v9.optional(v9.boolean),
    includeDesignTokenProvider = v9.optional(v9.boolean),
    includeThemeProvider = v9.optional(v9.boolean),
    includeAppPolicyProvider = v9.optional(v9.boolean),
    includeLocalizationProvider = v9.optional(v9.boolean),
    includeNavigationProvider = v9.optional(v9.boolean),
    includeFocusControllerProvider = v9.optional(v9.boolean),
    includeDefaultAvatarEditorServiceMock = v9.optional(v9.boolean),
    includeApolloProvider = v9.optional(v9.boolean),
    includeCursorProvider = v9.optional(v9.boolean),
    includeRootRNAppContainer = v9.optional(v9.boolean),
    middlewareList = v9.optional(v9.table),
    focusController = v9.optional(v9.table),
    captureFocusOnMount = v9.optional(v9.boolean),
    includeContentProvider = v9.optional(v9.boolean),
    theme = v9.optional(v9.table),
    appPolicy = v9.optional(v9.table),
    themeName = v9.optional(v9.string),
    appStyle = v9.optional(v9.table),
    appGridConfig = v9.optional(v9.table),
    localization = v9.optional(v9.table),
    navigation = v9.optional(v9.table),
    extraServices = v9.optional(v9.map(v9.table, v9.any)),
    apolloClient = v9.optional(v9.table),
    includeInteractionFeedbackProvider = v9.optional(v9.boolean)
});
local function v82()
    return {
        includeInteractionFeedbackProvider = true,
        includeTopBarSearchSignalProvider = false,
        includeABTestServiceProvider = false,
        includeIXPServiceProvider = true,
        browserTrackerABTests = {},
        userABTests = {},
        browserTrackerLayers = {},
        userLayers = {},
        includeStoreProvider = false,
        store = nil,
        initialStoreState = nil,
        includeStyleProvider = true,
        includeAppGridProvider = false,
        includeDesignTokenProvider = false,
        includeThemeProvider = true,
        includeAppPolicyProvider = false,
        includeLocalizationProvider = true,
        includeNavigationProvider = true,
        includeFocusControllerProvider = false,
        includeDefaultAvatarEditorServiceMock = false,
        includeApolloProvider = false,
        includeCursorProvider = false,
        includeRootRNAppContainer = false,
        apolloClient = nil,
        focusController = nil,
        captureFocusOnMount = false,
        includeContentProvider = true,
        middlewareList = nil,
        theme = v52,
        appPolicy = {},
        themeName = "Classic",
        appStyle = {
            themeName = l_Constants_0.ThemeName.Dark,
            fontName = l_Constants_0.FontName.Gotham,
            deviceType = "Desktop"
        },
        appGridConfig = nil,
        localization = l_Localization_0.new("en-us"),
        navigation = {
            isFocused = function()
                return false;
            end,
            addListener = function()
                return {
                    remove = function()
                    end
                };
            end,
            getParam = function(_, v81)
                return v81;
            end,
            navigate = function()
            end,
            goBack = function()
            end,
            state = {
                routeName = "DummyRoute"
            }
        },
        extraServices = nil
    };
end;
local function v86(v83)
    local v84 = v2.Component:extend("WrappedNavigator");
    v84.router = v50.router;
    v84.render = function(_)
        return v83;
    end;
    return v8.createAppContainer(v84);
end;
assert(v79((v82())));
return function(v87, v88)
    assert(v87, "Expected a map of components, received none");
    local v89 = v82();
    if v88 then
        assert(v79(v88));
        v89 = v5.Dictionary.join(v89, v88);
    end;
    local l_store_0 = v89.store;
    local v91 = {
        services = {
            [v14] = v10.mock(),
            [v15] = l_Localization_0.new("en-us"),
            [v16] = v13.simpleSuccessRequest("{}"),
            [l_AppNotificationService_0] = l_MockNotificationService_0.new(),
            [l_AppGuiService_0] = v37.new(),
            [l_AppRunService_0] = v38.new(),
            [l_AppSessionService_0] = v26.new(),
            [v27] = v36.new(),
            [l_AppUserGameSettings_0] = v40.new(),
            [l_AppUpdateService_0] = l_MockAppUpdateService_0.new(),
            [l_AppSystemInfo_0] = v31.new(),
            [l_AppLinking_0] = v33.new(),
            [l_AppLogging_0] = v35.new(),
            [l_AppContentProvider_0] = l_MockContentProvider_0.new(),
            [l_AppStartupSequenceTag_0] = l_AppStartupSequence_0.new(),
            [l_AppOmniRecommendationsRequest_0] = l_MockOmniRecommendationsRequest_0.SuccessfulRequest({}),
            [l_AppUserInputService_0] = v32.new()
        }
    };
    if v89.extraServices ~= nil then
        for v92, v93 in pairs(v89.extraServices) do
            assert(type(v92) == "table", "Expected key to be a table");
            v91.services[v92] = v93;
        end;
    end;
    if v91.services[l_RoactAnalyticsCommonGameEvents_0] == nil then
        v91.services[l_RoactAnalyticsCommonGameEvents_0] = v62.get(v91.services[l_AppSessionService_0], v91.services[v14], v91.services[v27]);
    end;
    local l_v87_0 = v87;
    if v89.includeTopBarSearchSignalProvider then
        l_v87_0 = {
            TopBarSearchSignalProvider = v3.createElement(v71.Provider, {}, l_v87_0)
        };
    end;
    if v89.includeIXPServiceProvider then
        l_v87_0 = {
            IXPServiceProvider = v3.createElement(v69.Provider, {
                value = v70.new(v89.browserTrackerLayers, v89.userLayers, true)
            }, l_v87_0)
        };
    end;
    if v89.includeAppGridProvider then
        assert(v89.includeStoreProvider, "includeStoreProvider must be set to `true` in order to include AppGridProvider");
        assert(v89.includeAppPolicyProvider, "includeAppPolicyProvider must be set to `true` in order to include AppGridProvider");
        assert(v89.includeDesignTokenProvider, "includeDesignTokenProvider must be set to `true` in order to include AppGridProvider");
        l_v87_0 = {
            AppGridProvider = v3.createElement(v47, {
                config = v89.appGridConfig
            }, l_v87_0)
        };
    end;
    if v89.includeDesignTokenProvider then
        l_v87_0 = {
            DesignTokenProvider = v3.createElement(l_DesignTokenProvider_0, {
                tokenMappers = v49
            }, l_v87_0)
        };
    end;
    if v89.includeThemeProvider then
        l_v87_0 = {
            ThemeProvider = v3.createElement(v44, {
                theme = v89.theme,
                themeName = v89.themeName
            }, l_v87_0)
        };
    end;
    if v89.includeCursorProvider then
        assert(v89.includeStyleProvider, "includeStyleProvider must be set to `true` in order to include CursorProvider");
        l_v87_0 = {
            CursorProvider = v3.createElement(v7.App.SelectionCursor.CursorProvider, {}, l_v87_0)
        };
    end;
    if v89.includeRootRNAppContainer then
        l_v87_0 = {
            RNAppContainer = v3.createElement(v86(l_v87_0))
        };
    end;
    if v89.includeStyleProvider then
        l_v87_0 = {
            StyleProvider = v3.createElement(l_AppStyleProvider_0, {
                style = v89.appStyle
            }, l_v87_0)
        };
    end;
    if v89.includeAppPolicyProvider then
        l_v87_0 = {
            AppPolicyProvider = v3.createElement(l_RoactAppPolicy_0.Provider, {
                policy = {
                    l_AppFeaturePolicies_0,
                    l_ChatPolicies_0,
                    l_AvatarPolicies_0,
                    l_SharePolicies_0,
                    l_ShareTargetGamePolicies_0
                },
                policyData = v89.appPolicy
            }, l_v87_0)
        };
    end;
    if v89.includeContentProvider then
        l_v87_0 = {
            ContentProvider = v3.createElement(v7.App.Context.ContentProvider.Provider, {
                value = l_MockContentProvider_0.new()
            }, l_v87_0)
        };
    end;
    local v95 = {
        v72()
    };
    if v89.includeDefaultAvatarEditorServiceMock then
        table.insert(v95, (v60.middleware(v42.new())));
    end;
    if v89.middlewareList then
        v95 = v5.List.join(v95, v89.middlewareList);
    end;
    if v89.apolloClient then
        v11 = l_appendApolloClientToReducer_0(v11, v89.apolloClient);
    end;
    if not v89.initialStoreState then
        if not l_store_0 then
            l_store_0 = v4.Store.new(v11, nil, v95);
        elseif getmetatable(l_store_0) == nil then
            l_store_0 = v4.Store.new(v11, l_store_0, v95);
        end;
    else
        l_store_0 = v4.Store.new(v11, v89.initialStoreState, v95);
    end;
    if v89.includeStoreProvider then
        l_v87_0 = {
            StoreProvider = v3.createElement(v6.StoreProvider, {
                store = l_store_0
            }, l_v87_0)
        };
    end;
    if v89.includeLocalizationProvider then
        l_v87_0 = {
            LocalizationProvider = v3.createElement(v51, {
                localization = v89.localization
            }, l_v87_0)
        };
    end;
    if v89.includeNavigationProvider then
        l_v87_0 = {
            NavigationProvider = v3.createElement(v8.Provider, {
                value = v89.navigation
            }, l_v87_0)
        };
    end;
    if v89.includeApolloProvider then
        assert(v89.apolloClient ~= nil, "An apollo client instance must be provided to mockServices when using includeApolloProvider");
        l_v87_0 = {
            ApolloProvider = v3.createElement(l_ApolloProvider_0, {
                client = v89.apolloClient
            }, l_v87_0)
        };
    end;
    if l_GetFFlagColorPickerSliderOptimization_0() then
        l_v87_0 = {
            BodyDataProvider = v3.createElement(v66, {}, l_v87_0)
        };
    end;
    if not (not l_GetFFlagEnableUISoundAndHaptics_0() or not v89.includeInteractionFeedbackProvider) then
        l_v87_0 = {
            InteractionFeedbackContextProvider = v3.createElement(l_InteractionFeedbackContext_0.Provider, {
                value = l_InteractionFeedbackAppConfig_0
            }, {
                FeedbackManagerInjectionContextProvider = v3.createElement(l_FeedbackManagerInjectionContextProvider_0, nil, l_v87_0)
            })
        };
    end;
    l_v87_0 = v3.createElement(l_RoactServices_0.ServiceProvider, v91, l_v87_0);
    if v89.includeFocusControllerProvider then
        l_v87_0 = v3.createElement(l_FocusControllerProvider_0, {
            captureFocusOnMount = v89.captureFocusOnMount,
            focusController = v89.focusController
        }, l_v87_0);
    end;
    return l_v87_0;
end;


local v0 = require(script.Parent.isVisible);
return function(_, v2, ...)
    if typeof(v2) ~= "Instance" then
        return {
            pass = false,
            message = function()
                return string.format("Expected `%s` to be a GuiObject, got %s", tostring(v2), (typeof(v2)));
            end
        };
    else
        local v3 = v2:IsA("GuiObject");
        local v4 = v3 and v0(v2);
        local v5 = nil;
        if not v4 then
            local v6 = v3 and "one of the ancestor of the received GuiObject has not set the Visible property, or the ScreenGui is disabled or not parented" or string.format("the received Instance is not a GuiObject (got %s)", v2.ClassName);
            v5 = function()
                return string.format("Expected `%s` to be visible, but " .. v6, v2:GetFullName());
            end;
        else
            v5 = function()
                return string.format("Expected `%s` not to be visible", v2:GetFullName());
            end;
        end;
        return {
            pass = v4,
            message = v5
        };
    end;
end;


return function(v0, v1, v2)
    local v3 = game:SetFastIntForTesting(v0, v1);
    local l_status_0, l_result_0 = pcall(v2);
    game:SetFastIntForTesting(v0, v3);
    assert(l_status_0, (tostring(l_result_0)));
end;


return function(v0, v1)
    local v2 = game:SetFastFlagForTesting(v0, false);
    local l_status_0, l_result_0 = pcall(v1);
    game:SetFastFlagForTesting(v0, v2);
    assert(l_status_0, (tostring(l_result_0)));
end;


local l_AppStorageService_0 = game:GetService("AppStorageService");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(game:GetService("CorePackages").Roact);
local v3 = require(l_Modules_0.LuaApp.Enum.LocalStorageKey);
local v4 = require(l_Modules_0.LuaApp.Themes.getThemeModuleForString);
local v5 = require(l_Modules_0.LuaApp.ThemeContext_DEPRECATED);
local v6 = v2.Component:extend("ThemeProvider");
v6.init = function(v7, v8)
    v7.state = {
        theme = v4(v8.themeName)
    };
end;
v6.didMount = function(v9)
    v9.connection = l_AppStorageService_0.ItemWasSet:Connect(function(v10, v11)
        if v10 == v3.AuthenticatedTheme then
            v9:setState({
                theme = v4(v11)
            });
        end;
    end);
end;
v6.willUnmount = function(v12)
    if v12.connection then
        v12.connection:Disconnect();
    end;
end;
v6.render = function(v13)
    return v2.createElement(v5.Provider, {
        value = v13.state.theme
    }, v13.props[v2.Children]);
end;
return v6;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Color_0 = require(l_CorePackages_0.Workspace.Packages.AppCommonLib).Color;
local v2 = require(script.Parent.Colors);
local v3 = require(script.Parent.Parent.Enum.ButtonState);
local l_FormFactor_0 = require(l_CorePackages_0.Workspace.Packages.FormFactor).Enums.FormFactor;
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local v6 = {
    Name = "classic",
    Color = {
        Background = v2.Gray4
    },
    ContextPrimaryButton = {
        Color = v2.Green,
        Transparency = 0,
        DisabledColor = v2.Green,
        DisabledTransparency = 0.5,
        LoadingTransparency = 0.5,
        OnPressColor = v2.Green,
        OnPressTransparency = 0.5,
        Text = {
            Color = v2.White,
            Transparency = 0
        },
        Border = {
            Hidden = true
        }
    },
    SystemPrimaryButton = {
        Color = v2.Black,
        Transparency = 0,
        DisabledColor = v2.Black,
        DisabledTransparency = 0.5,
        LoadingTransparency = 0.5,
        OnPressColor = v2.Black,
        OnPressTransparency = 0.5,
        Text = {
            Color = v2.White,
            Transparency = 0
        },
        Border = {
            Hidden = true
        },
        ShimmerAnimation = {
            Transparency = 0.65,
            Image = "rbxasset://textures/ui/LuaApp/graphic/shimmer_darkTheme.png",
            AspectRatio = 0.876
        }
    },
    SecondaryButton = {
        Color = v2.BluePrimary,
        Transparency = 0,
        HoverColor = v2.BlueHover,
        OnPressColor = v2.BlueHover,
        OnPressTransparency = 0,
        DisabledColor = v2.BlueDisabled,
        DisabledTransparency = 0,
        Text = {
            Color = v2.White,
            Transparency = 0
        },
        Border = {
            Hidden = true
        }
    },
    IconButton = {
        Fill = {
            Off = {
                Color = v2.Black,
                Transparency = 0.9
            },
            On = {
                Color = v2.Black,
                Transparency = 1
            },
            OnPress = {
                Color = v2.Black,
                Transparency = 0.95
            },
            Loading = {
                Color = v2.Black,
                Transparency = 0.9
            },
            Disabled = {
                Color = v2.Black,
                Transparency = 0.95
            }
        },
        Border = {
            Off = {
                Color = v2.Black,
                Transparency = 0.5
            },
            On = {
                Color = v2.Black,
                Transparency = 0.5
            },
            OnPress = {
                Color = v2.Black,
                Transparency = 0.75
            },
            Loading = {
                Color = v2.Black,
                Transparency = 0.5
            },
            Disabled = {
                Color = v2.Black,
                Transparency = 0.75
            }
        },
        Icon = {
            Off = {
                Color = v2.Black,
                Transparency = 0.5
            },
            On = {
                Color = v2.Green,
                Transparency = 0
            },
            OnPress = {
                Color = v2.Green,
                Transparency = 0.5
            },
            Loading = {
                Color = v2.Black,
                Transparency = 0.5
            },
            Disabled = {
                Color = v2.Black,
                Transparency = 0.5
            }
        }
    },
    EmptyStatePage = {
        ErrorMessage = {
            Color = v2.Gray3
        }
    },
    RetryButton = {
        Color = v2.Gray1,
        DisabledColor = v2.Gray3,
        DisabledTransparency = 0
    },
    ShimmerAnimation = {
        Transparency = 0,
        Image = "rbxasset://textures/ui/LuaApp/graphic/shimmer_lightTheme.png",
        AspectRatio = 0.876
    },
    ShimmerPanel = {
        Color = v2.Alabaster,
        Transparency = 0.5
    },
    ContextualMenu = {
        Cells = {
            Icon = {
                Color = v2.Gray1,
                OnColor = v2.Green,
                Transparency = 0.5,
                OnTransparency = 0,
                DisabledTransparency = 0.5
            },
            Content = {
                Color = v2.Gray1,
                DisabledColor = v2.Gray1,
                DisabledTransparency = 0.5
            },
            Background = {
                OnPressColor = v2.Black,
                OnPressTransparency = 0.9
            }
        },
        Background = {
            Color = v2.White
        },
        Title = {
            Color = v2.Black,
            Transparency = 0,
            DisabledTransparency = 0.5
        },
        Divider = {
            Color = v2.Gray4
        },
        Cancel = {
            Color = v2.Gray1
        },
        DarkOverlay = {
            Color = v2.Gray1,
            Transparency = 0.5
        }
    },
    Authentication = {
        WeChatButton = {
            Text = {
                Font = l_AppFonts_0.default:getBold(),
                Size = 18,
                Color = v2.White
            },
            Background = {
                Color = v2.Green2
            }
        }
    },
    AlertWindow = {
        Background = {
            Color = v2.White
        },
        Title = {
            Color = v2.Black,
            Font = l_AppFonts_0.default:getBold()
        },
        Message = {
            Color = v2.Gray1,
            Font = l_AppFonts_0.default:getDefault()
        },
        Divider = {
            Color = v2.Gray4
        },
        Button = {
            Font = l_AppFonts_0.default:getDefault()
        }
    },
    GameDetails = {
        Background = {
            Color = v2.Black,
            Transparency = 0.3
        },
        Text = {
            Font = Enum.Font.SourceSans,
            BoldFont = Enum.Font.SourceSansBold,
            Color = {
                Main = v2.White,
                Secondary = v2.Pumice
            }
        },
        GameBasicStats = {
            Color = v2.White,
            Transparency = 0.3,
            Font = Enum.Font.SourceSans
        },
        GameInfoList = {
            DividerColor = v2.Graphite,
            Cells = {
                Background = {
                    Color = v2.Black,
                    Transparency = {
                        Default = 1,
                        Pressed = 0.7
                    }
                }
            }
        },
        Rating = {
            Background = {
                Color = v2.White,
                Transparency = 0.7
            }
        },
        Carousel = {
            Text = {
                Color = v2.Flint
            }
        },
        TopBar = {
            Icon = {
                Color = v2.Slate
            }
        },
        LoadingView = {
            BackgroundImage = {
                Image = "rbxasset://textures/ui/LuaApp/graphic/GameDetailsBackground/loadingBkg_base.jpg",
                Size = Vector2.new(500, 500),
                Tint = {
                    Color = v2.Ash,
                    Transparency = 0.45
                }
            }
        },
        SocialMediaButton = {
            Transparency = 0,
            OnPressTransparency = 0.5
        }
    },
    GameMediaAccordion = {
        Item = {
            BackgroundColor = v2.Flint,
            BackgroundTransparency = 0.5
        },
        FakeItem = {
            Loading = {
                Color = v2.Flint,
                BaseTransparency = 0.5,
                TransparencyStep = 0.25
            },
            Loaded = {
                Color = v2.White,
                BaseTransparency = 0.5,
                TransparencyStep = 0.25
            }
        },
        VideoIconColor = v2.White
    },
    GameCard = {
        Background = {
            Color = v2.White,
            Transparency = 0
        },
        Sponsor = {
            Color = v2.Gray3,
            TextColor = v2.White,
            Font = Enum.Font.SourceSans
        },
        Title = {
            Font = Enum.Font.SourceSans,
            Color = v2.Gray1
        },
        GameBasicStats = {
            Color = v2.Gray2,
            Transparency = 0,
            Font = Enum.Font.SourceSans
        }
    },
    ChatTopBar = {
        Background = {
            Color = v2.ChatTopBarBluePressed,
            Transparency = 0
        },
        Title = {
            Font = Enum.Font.SourceSans,
            Size = 23,
            Color = v2.White
        },
        Subtitle = {
            Font = Enum.Font.SourceSans,
            Size = 15,
            Color = v2.White
        }
    },
    BottomBar = {
        Background = {
            Color = v2.White,
            Transparency = 0
        },
        TopBorder = {
            Color = v2.Gray4,
            Transparency = 0
        }
    },
    BottomBarButton = {
        Icon = {
            Off = {
                Color = v2.Flint,
                Transparency = 0.5
            },
            On = {
                Color = v2.Flint,
                Transparency = 0
            }
        },
        Title = {
            Font = l_AppFonts_0.default:getMedium(),
            Size = 14
        }
    },
    NumericalBadge = {
        Text = {
            Font = l_AppFonts_0.default:getMedium(),
            Color = v2.White,
            Size = 12
        },
        Border = {
            Default = {
                Color = v2.Red,
                Transparency = 1
            },
            AppChrome = {
                Color = v2.Red,
                Transparency = 1
            }
        },
        Inner = {
            Color = v2.Red,
            Transparency = 0
        }
    },
    MorePage = {
        Background = {
            Color = v2.Gray6,
            Transparency = 0
        },
        List = {
            Background = {
                Color = v2.White,
                Transparency = 0
            },
            Divider = {
                Color = v2.Gray4,
                Transparency = 0
            }
        },
        Button = {
            Background = {
                Default = {
                    Color = v2.White,
                    Transparency = 0
                },
                Pressed = {
                    Color = v2.Gray5,
                    Transparency = 0
                }
            },
            Text = {
                Font = Enum.Font.SourceSans,
                Size = 23,
                Color = v2.Black,
                Transparency = 0
            },
            Icon = {
                Color = v2.White,
                Transparency = 0
            },
            RightImage = {
                Color = v2.White,
                Transparency = 0
            }
        },
        Footer = {
            Font = Enum.Font.SourceSans,
            Size = 18,
            Color = v2.Black,
            Transparency = 0
        }
    },
    EventsPage = {
        Text = {
            Font = Enum.Font.SourceSans,
            Size = 23,
            Color = v2.Gray3,
            Transparency = 0
        }
    },
    TencentNoticeCenter = {
        Text = {
            Font = Enum.Font.SourceSans,
            Size = 23,
            Color = v2.Gray3,
            Transparency = 0
        }
    },
    PremiumIcon = {
        Color = v2.Black,
        Transparency = 0
    },
    Main = {
        Background = {
            Color = v2.Gray4
        },
        Foreground = {
            Color = v2.White
        },
        TitleText = {
            Color = v2.Gray1
        },
        BodyText = {
            Font = Enum.Font.SourceSans,
            Color = v2.Gray2
        },
        Divider = {
            Color = v2.Gray4
        }
    },
    TopBar = {
        Bar = {
            Color = v2.BluePressed
        },
        Background = {
            Color = v2.BluePressed
        },
        DarkOverlay = {
            Color = v2.Black,
            Transparency = 0.3
        },
        Text = {
            Color = v2.White,
            Transparency = 0
        },
        Icon = {
            Color = v2.White
        },
        Badge = {
            Color = v2.Red
        },
        BadgeText = {
            Color = v2.White
        },
        Separator = {
            Color = v2.BluePressed
        }
    },
    SearchBar = {
        Background = {
            Color = v2.White
        },
        Placeholder = {
            Color = v2.Gray2
        },
        Content = {
            Color = v2.Gray2
        }
    },
    DropDownList = {
        [v3.Default] = {
            Background = {
                Color = v2.White
            },
            Content = {
                Color = v2.Gray2
            },
            Border = {
                Color = v2.Black
            }
        }
    },
    ListPickerItem = {
        [v3.Default] = {
            Background = {
                Color = v2.White
            },
            Content = {
                Color = v2.Gray2,
                Transparency = 0
            },
            Separator = {
                Color = v2.Gray4
            }
        },
        [v3.Pressed] = {
            Background = {
                Color = Color3.fromRGB(242, 242, 242)
            }
        }
    },
    Buttons = {}
};
v6.Buttons.CtaButton = {
    TextFont = Enum.Font.SourceSans,
    [v3.Default] = {
        Background = {
            Color = l_Color_0.Color3FromHex(178007),
            Transparency = 0
        },
        Border = {
            Transparency = 1
        },
        Content = {
            Color = l_Color_0.Color3FromHex(16777215),
            Transparency = 0
        }
    },
    [v3.Pressed] = {
        Background = {
            Color = l_Color_0.Color3FromHex(4179577)
        }
    },
    [v3.Hover] = {
        Background = {
            Color = l_Color_0.Color3FromHex(4179577)
        }
    },
    [v3.Disabled] = {
        Background = {
            Color = l_Color_0.Color3FromHex(10740413)
        }
    }
};
v6.Buttons.GrowthButton = v6.Buttons.CtaButton;
v6.Buttons.SecondaryButton = {
    TextFont = Enum.Font.SourceSans,
    [v3.Default] = {
        Background = {
            Color = l_Color_0.Color3FromHex(41727)
        },
        Border = {
            Transparency = 1
        },
        Content = {
            Color = l_Color_0.Color3FromHex(16777215),
            Transparency = 0
        }
    },
    [v3.Pressed] = {
        Background = {
            Color = l_Color_0.Color3FromHex(3323391)
        }
    },
    [v3.Hover] = {
        Background = {
            Color = l_Color_0.Color3FromHex(3323391)
        }
    },
    [v3.Disabled] = {
        Background = {
            Color = l_Color_0.Color3FromHex(10083071)
        }
    }
};
v6.Buttons.ControlButton = {
    TextFont = Enum.Font.SourceSans,
    [v3.Default] = {
        Background = {
            Color = l_Color_0.Color3FromHex(16777215)
        },
        Border = {
            Transparency = 1
        },
        Content = {
            Color = l_Color_0.Color3FromHex(1644825),
            Transparency = 0
        }
    },
    [v3.Disabled] = {
        Content = {
            Color = l_Color_0.Color3FromHex(12105912),
            Transparency = 0.5
        }
    }
};
v6.Buttons.AlertButton = {
    TextFont = Enum.Font.SourceSans,
    [v3.Default] = {
        Background = {
            Color = l_Color_0.Color3FromHex(14182504)
        },
        Border = {
            Transparency = 1
        },
        Content = {
            Color = l_Color_0.Color3FromHex(16777215),
            Transparency = 0
        }
    },
    [v3.Hover] = {
        Background = {
            Color = l_Color_0.Color3FromHex(14841462)
        }
    }
};
v6.Buttons.BuyButtons = {
    TextFont = Enum.Font.SourceSans,
    [v3.Default] = {
        Background = {
            Color = l_Color_0.Color3FromHex(16777215)
        },
        Border = {
            Transparency = 1
        },
        Content = {
            Color = l_Color_0.Color3FromHex(1644825),
            Transparency = 0
        }
    },
    [v3.Pressed] = {
        Background = {
            Color = l_Color_0.Color3FromHex(4179577)
        },
        Content = {
            Color = l_Color_0.Color3FromHex(16777215)
        }
    },
    [v3.Hover] = {
        Background = {
            Color = l_Color_0.Color3FromHex(4179577)
        },
        Content = {
            Color = l_Color_0.Color3FromHex(16777215)
        }
    },
    [v3.Disabled] = {
        Content = {
            Color = l_Color_0.Color3FromHex(16777215),
            Transparency = 0.5
        }
    }
};
v6.Buttons.ToggleButton = {
    TextFont = Enum.Font.SourceSans,
    On = {
        [v3.Default] = {
            Background = {
                Color = l_Color_0.Color3FromHex(16777215)
            },
            Border = {
                Transparency = 1
            },
            Content = {
                Color = l_Color_0.Color3FromHex(1644825),
                Transparency = 0
            }
        },
        [v3.Pressed] = {
            Background = {
                Color = l_Color_0.Color3FromHex(14211288)
            }
        }
    },
    Off = {
        [v3.Default] = {
            Background = {
                Color = l_Color_0.Color3FromHex(16777215)
            },
            Border = {
                Transparency = 1
            },
            Content = {
                Color = l_Color_0.Color3FromHex(1644825),
                Transparency = 0
            }
        },
        [v3.Pressed] = {
            Background = {
                Color = l_Color_0.Color3FromHex(14211288)
            }
        }
    }
};
v6.Buttons.AgreementButton = {
    Text = {
        Font = l_AppFonts_0.default:getDefault(),
        Color = v2.Pumice
    }
};
v6.Widget = {
    Header = {
        Text = {
            Font = l_AppFonts_0.default:getBold(),
            Color = v2.White
        }
    },
    Background = {
        [l_FormFactor_0.UNKNOWN] = {
            Color = v2.Carbon,
            Transparency = 0
        },
        [l_FormFactor_0.WIDE] = {
            Color = v2.Carbon,
            Transparency = 0
        },
        [l_FormFactor_0.COMPACT] = {
            Color = v2.Black,
            Transparency = 0.3
        }
    },
    ContentText = {
        Color = v2.Pumice,
        Font = Enum.Font.SourceSans
    }
};
v6.IconCards = {
    Text = {
        Color = v2.Pumice,
        Font = Enum.Font.SourceSans
    }
};
v6.ScrollingFrameWithScrollBar = {
    ScrollBar = {
        Color = v2.Gray3,
        Transparency = 0.7
    }
};
return v6;


local l_Color_0 = require(game:GetService("CorePackages").Workspace.Packages.AppCommonLib).Color;
local v1 = {
    Obsidian = l_Color_0.Color3FromHex(1447705),
    Carbon = l_Color_0.Color3FromHex(1645341),
    Slate = l_Color_0.Color3FromHex(2303271),
    Flint = l_Color_0.Color3FromHex(3750717),
    Graphite = l_Color_0.Color3FromHex(6645352),
    Pumice = l_Color_0.Color3FromHex(12435134),
    Black = Color3.fromRGB(0, 0, 0),
    White = Color3.fromRGB(255, 255, 255),
    Gray1 = l_Color_0.Color3FromHex(1644825),
    Gray2 = l_Color_0.Color3FromHex(7697781),
    Gray3 = l_Color_0.Color3FromHex(12105912),
    Gray4 = l_Color_0.Color3FromHex(14935011),
    Gray5 = l_Color_0.Color3FromHex(15921906),
    Gray6 = l_Color_0.Color3FromHex(16119285),
    Alabaster = l_Color_0.Color3FromHex(15725301),
    Smoke = l_Color_0.Color3FromHex(8092797),
    Ash = l_Color_0.Color3FromHex(14935528),
    BluePrimary = l_Color_0.Color3FromHex(41727),
    BlueHover = l_Color_0.Color3FromHex(3323391),
    BluePressed = l_Color_0.Color3FromHex(29885),
    BlueDisabled = l_Color_0.Color3FromHex(10083071),
    Green = l_Color_0.Color3FromHex(45167),
    Red = l_Color_0.Color3FromHex(16206674),
    Green2 = Color3.fromRGB(2, 183, 87),
    Orange = Color3.fromRGB(246, 136, 2),
    BrownWarning = Color3.fromRGB(162, 89, 1),
    ChatTopBarBluePressed = l_Color_0.Color3FromHex(29886),
    ChatTopBarWhite = l_Color_0.Color3FromHex(16777214),
    ChatTopBarSlate = l_Color_0.Color3FromHex(2303272)
};
setmetatable(v1, {
    __newindex = function(_, _, _)
    end,
    __index = function(_, v6)
        error("Colors table has no value: " .. tostring(v6));
    end
});
return v1;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(script.Parent.Colors);
local v2 = require(script.Parent.Parent.Enum.ButtonState);
local l_FormFactor_0 = require(l_CorePackages_0.Workspace.Packages.FormFactor).Enums.FormFactor;
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local v5 = {
    Name = "dark",
    Color = {
        Background = v1.Slate
    },
    ContextPrimaryButton = {
        Color = v1.Green,
        Transparency = 0,
        DisabledColor = v1.Green,
        DisabledTransparency = 0.5,
        LoadingTransparency = 0.5,
        OnPressColor = v1.Green,
        OnPressTransparency = 0.5,
        Text = {
            Color = v1.White,
            Transparency = 0
        },
        Border = {
            Hidden = true
        }
    },
    SystemPrimaryButton = {
        Color = v1.White,
        Transparency = 0,
        DisabledColor = v1.White,
        DisabledTransparency = 0.5,
        LoadingTransparency = 0.5,
        OnPressColor = v1.White,
        OnPressTransparency = 0.5,
        Text = {
            Color = v1.Black,
            Transparency = 0
        },
        Border = {
            Hidden = true
        },
        ShimmerAnimation = {
            Transparency = 0,
            Image = "rbxasset://textures/ui/LuaApp/graphic/shimmer_lightTheme.png",
            AspectRatio = 0.876
        }
    },
    SecondaryButton = {
        Color = v1.Pumice,
        Transparency = 1,
        HoverColor = v1.White,
        OnPressColor = v1.Pumice,
        OnPressTransparency = 0.5,
        DisabledColor = v1.Pumice,
        DisabledTransparency = 0.5,
        Text = {
            Color = v1.White,
            Transparency = 0.3
        },
        Border = {
            Hidden = false,
            Color = v1.White,
            Transparency = 0.3
        }
    },
    IconButton = {
        Fill = {
            Off = {
                Color = v1.White,
                Transparency = 0.7
            },
            On = {
                Color = v1.White,
                Transparency = 1
            },
            OnPress = {
                Color = v1.White,
                Transparency = 0.85
            },
            Loading = {
                Color = v1.White,
                Transparency = 0.7
            },
            Disabled = {
                Color = v1.White,
                Transparency = 0.85
            }
        },
        Border = {
            Off = {
                Color = v1.White,
                Transparency = 0.3
            },
            On = {
                Color = v1.White,
                Transparency = 0.3
            },
            OnPress = {
                Color = v1.White,
                Transparency = 0.85
            },
            Loading = {
                Color = v1.White,
                Transparency = 0.3
            },
            Disabled = {
                Color = v1.White,
                Transparency = 0.85
            }
        },
        Icon = {
            Off = {
                Color = v1.White,
                Transparency = 0.3
            },
            On = {
                Color = v1.Green,
                Transparency = 0
            },
            OnPress = {
                Color = v1.Green,
                Transparency = 0.7
            },
            Loading = {
                Color = v1.White,
                Transparency = 0.5
            },
            Disabled = {
                Color = v1.White,
                Transparency = 0.7
            }
        }
    },
    EmptyStatePage = {
        ErrorMessage = {
            Color = v1.Graphite
        }
    },
    ShimmerAnimation = {
        Transparency = 0.65,
        Image = "rbxasset://textures/ui/LuaApp/graphic/shimmer_darkTheme.png",
        AspectRatio = 0.876
    },
    ShimmerPanel = {
        Color = v1.Flint,
        Transparency = 0.5
    },
    ContextualMenu = {
        Cells = {
            Icon = {
                Color = v1.White,
                OnColor = v1.Green,
                Transparency = 0.3,
                OnTransparency = 0,
                DisabledTransparency = 0.5
            },
            Content = {
                Color = v1.White,
                DisabledColor = v1.White,
                DisabledTransparency = 0.5
            },
            Background = {
                OnPressColor = v1.Black,
                OnPressTransparency = 0.7
            }
        },
        Background = {
            Color = v1.Flint
        },
        Title = {
            Font = l_AppFonts_0.default:getDefault(),
            Color = v1.White,
            Transparency = 0,
            DisabledTransparency = 0.5
        },
        Divider = {
            Color = v1.Graphite
        },
        Cancel = {
            Color = v1.Pumice
        },
        DarkOverlay = {
            Color = v1.Black,
            Transparency = 0.7
        }
    },
    Authentication = {
        WeChatButton = {
            Text = {
                Font = l_AppFonts_0.default:getBold(),
                Size = 18,
                Color = v1.White
            },
            Background = {
                Color = v1.Green2
            }
        }
    },
    AlertWindow = {
        Background = {
            Color = v1.Flint
        },
        Title = {
            Color = v1.White,
            Font = l_AppFonts_0.default:getBold()
        },
        Message = {
            Color = v1.Pumice,
            Font = l_AppFonts_0.default:getDefault()
        },
        Divider = {
            Color = v1.Graphite
        },
        Button = {
            Font = l_AppFonts_0.default:getDefault()
        }
    },
    GameDetails = {
        Background = {
            Color = v1.Black,
            Transparency = 0.3
        },
        Text = {
            Font = l_AppFonts_0.default:getDefault(),
            BoldFont = l_AppFonts_0.default:getBlack(),
            Color = {
                Main = v1.White,
                Secondary = v1.Pumice
            }
        },
        GameCard = {
            Background = {
                Color = v1.Flint,
                Transparency = 0
            },
            Sponsor = {
                Color = v1.Graphite,
                TextColor = v1.White,
                Font = l_AppFonts_0.default:getDefault()
            },
            Title = {
                Font = l_AppFonts_0.default:getDefault(),
                Color = v1.White
            },
            GameBasicStats = {
                Color = v1.White,
                Transparency = 0.3,
                Font = l_AppFonts_0.default:getDefault()
            }
        },
        GameBasicStats = {
            Color = v1.White,
            Transparency = 0.3,
            Font = l_AppFonts_0.default:getMedium()
        },
        GameInfoList = {
            DividerColor = v1.Graphite,
            Cells = {
                Background = {
                    Color = v1.Black,
                    Transparency = {
                        Default = 1,
                        Pressed = 0.7
                    }
                }
            }
        },
        Rating = {
            Background = {
                Color = v1.White,
                Transparency = 0.7
            }
        },
        Carousel = {
            Text = {
                Color = v1.White
            }
        },
        TopBar = {
            Icon = {
                Color = v1.White
            }
        },
        LoadingView = {
            BackgroundImage = {
                Image = "rbxasset://textures/ui/LuaApp/graphic/GameDetailsBackground/loadingBkg_base.jpg",
                Size = Vector2.new(500, 500),
                Tint = {
                    Color = v1.Obsidian,
                    Transparency = 0.2
                }
            }
        },
        SocialMediaButton = {
            Transparency = 0,
            OnPressTransparency = 0.5
        }
    },
    GameMediaAccordion = {
        Item = {
            BackgroundColor = v1.Flint,
            BackgroundTransparency = 0.5
        },
        FakeItem = {
            Loading = {
                Color = v1.Flint,
                BaseTransparency = 0.5,
                TransparencyStep = 0.25
            },
            Loaded = {
                Color = v1.White,
                BaseTransparency = 0.5,
                TransparencyStep = 0.25
            }
        },
        VideoIconColor = v1.White
    },
    GameCard = {
        Background = {
            Color = v1.Flint,
            Transparency = 0
        },
        Sponsor = {
            Color = v1.Graphite,
            TextColor = v1.White,
            Font = Enum.Font.SourceSans
        },
        Title = {
            Font = Enum.Font.SourceSans,
            Color = v1.White
        },
        GameBasicStats = {
            Color = v1.White,
            Transparency = 0.3,
            Font = Enum.Font.SourceSans
        }
    },
    ChatTopBar = {
        Background = {
            Color = v1.ChatTopBarSlate,
            Transparency = 0
        },
        Title = {
            Font = Enum.Font.SourceSans,
            Size = 22,
            Color = v1.White
        },
        Subtitle = {
            Font = Enum.Font.SourceSans,
            Size = 14,
            Color = v1.White
        }
    },
    BottomBar = {
        Background = {
            Color = v1.Carbon,
            Transparency = 0
        },
        TopBorder = {
            Color = v1.Graphite,
            Transparency = 0
        }
    },
    BottomBarButton = {
        Icon = {
            Off = {
                Color = v1.White,
                Transparency = 0.5
            },
            On = {
                Color = v1.White,
                Transparency = 0
            }
        },
        Title = {
            Font = l_AppFonts_0.default:getMedium(),
            Size = 14
        }
    },
    NumericalBadge = {
        Text = {
            Font = l_AppFonts_0.default:getMedium(),
            Color = v1.Slate,
            Size = 12
        },
        Border = {
            Default = {
                Color = v1.Slate,
                Transparency = 1
            },
            AppChrome = {
                Color = v1.Slate,
                Transparency = 0
            }
        },
        Inner = {
            Color = v1.White,
            Transparency = 0
        }
    },
    MorePage = {
        Background = {
            Color = v1.Slate,
            Transparency = 0
        },
        List = {
            Background = {
                Color = v1.Flint,
                Transparency = 0
            },
            Divider = {
                Color = v1.Graphite,
                Transparency = 0
            }
        },
        Button = {
            Background = {
                Default = {
                    Color = v1.Flint,
                    Transparency = 0
                },
                Pressed = {
                    Color = v1.Slate,
                    Transparency = 0
                }
            },
            Text = {
                Font = l_AppFonts_0.default:getMedium(),
                Size = 19,
                Color = v1.Pumice,
                Transparency = 0
            },
            Icon = {
                Color = v1.White,
                Transparency = 0
            },
            RightImage = {
                Color = v1.White,
                Transparency = 0
            }
        },
        Footer = {
            Font = l_AppFonts_0.default:getMedium(),
            Size = 12,
            Color = v1.Pumice,
            Transparency = 0
        }
    },
    EventsPage = {
        Text = {
            Font = l_AppFonts_0.default:getDefault(),
            Size = 19,
            Color = v1.White,
            Transparency = 0.3
        }
    },
    PremiumIcon = {
        Color = v1.White,
        Transparency = 0
    }
};
v5.RetryButton = v5.SecondaryButton;
v5.Main = {
    Background = {
        Color = v1.Slate
    },
    Foreground = {
        Color = v1.Flint
    },
    TitleText = {
        Color = v1.White
    },
    BodyText = {
        Font = l_AppFonts_0.default:getDefault(),
        Color = v1.Pumice
    },
    Divider = {
        Color = v1.Graphite
    }
};
v5.TopBar = {
    Bar = {
        Color = v5.Main.Background.Color
    },
    Background = {
        Color = v5.Main.Background.Color
    },
    DarkOverlay = {
        Color = v1.Black,
        Transparency = 0.3
    },
    Text = {
        Color = v5.Main.TitleText.Color,
        Transparency = 0
    },
    Icon = {
        Color = v5.Main.BodyText.Color
    },
    Badge = {
        Color = v1.White
    },
    BadgeText = {
        Color = v1.Slate
    },
    Separator = {
        Color = v1.Obsidian
    }
};
v5.SearchBar = {
    Background = {
        Color = v1.Black
    },
    Placeholder = {
        Color = v1.Flint
    },
    Content = {
        Color = v1.Pumice
    }
};
v5.DropDownList = {
    [v2.Default] = {
        Background = {
            Color = v5.Main.Background.Color,
            Transparency = 0.3
        },
        Content = {
            Color = v5.Main.BodyText.Color,
            Transparency = 0.3
        },
        Border = {
            Color = v1.Smoke
        }
    },
    [v2.Pressed] = {
        Background = {
            Transparency = 0.5
        },
        Content = {
            Transparency = 0.5
        }
    }
};
v5.ListPickerItem = {
    [v2.Default] = {
        Background = {
            Color = v1.Flint,
            Transparency = 0.5
        },
        Content = {
            Color = v1.Pumice,
            Transparency = 0
        },
        Separator = {
            Color = v1.Flint
        }
    },
    [v2.Hover] = {
        Background = {
            Color = v1.Graphite
        },
        Content = {
            Color = v1.White
        }
    },
    [v2.Pressed] = {
        Background = {
            Color = v1.Black,
            Transparency = 0.7
        },
        Content = {
            Color = v1.White,
            Transparency = 0.7
        }
    },
    [v2.Disabled] = {
        Content = {
            Color = v1.White,
            Transparency = 0.7
        }
    }
};
v5.Buttons = {};
v5.Buttons.CtaButton = {
    TextFont = Enum.Font.SourceSansBold,
    [v2.Default] = {
        Background = {
            Color = v1.White,
            Transparency = 0
        },
        Border = {
            Transparency = 1
        },
        Content = {
            Color = v1.Slate,
            Transparency = 0
        }
    },
    [v2.Pressed] = {
        Background = {
            Transparency = 0.5
        },
        Content = {
            Transparency = 0.5
        }
    },
    [v2.Disabled] = {
        Background = {
            Transparency = 0.5
        },
        Content = {
            Transparency = 0.5
        }
    }
};
v5.Buttons.GrowthButton = {
    TextFont = Enum.Font.SourceSansBold,
    [v2.Default] = {
        Background = {
            Color = v1.Green,
            Transparency = 0
        },
        Border = {
            Transparency = 1
        },
        Content = {
            Color = v1.White,
            Transparency = 0
        }
    },
    [v2.Pressed] = {
        Background = {
            Transparency = 0.5
        },
        Content = {
            Transparency = 0.5
        }
    },
    [v2.Disabled] = {
        Background = {
            Transparency = 0.5
        },
        Content = {
            Transparency = 0.5
        }
    }
};
v5.Buttons.SecondaryButton = {
    TextFont = Enum.Font.SourceSansBold,
    [v2.Default] = {
        Background = {
            Transparency = 1
        },
        Border = {
            Color = v1.White,
            Transparency = 0.3
        },
        Content = {
            Color = v1.White,
            Transparency = 0.3
        }
    },
    [v2.Pressed] = {
        Border = {
            Transparency = 0.65
        },
        Content = {
            Transparency = 0.65
        }
    },
    [v2.Hover] = {
        Border = {
            Transparency = 0
        },
        Content = {
            Transparency = 0
        }
    },
    [v2.Disabled] = {
        Border = {
            Transparency = 0.65
        },
        Content = {
            Transparency = 0.65
        }
    }
};
v5.Buttons.ControlButton = v5.Buttons.SecondaryButton;
v5.Buttons.BuyButton = v5.Buttons.SecondaryButton;
v5.Buttons.AlertButton = {
    TextFont = Enum.Font.SourceSansBold,
    [v2.Default] = {
        Background = {
            Transparency = 1
        },
        Border = {
            Color = v1.Red,
            Transparency = 0.3
        },
        Content = {
            Color = v1.Red,
            Transparency = 0.3
        }
    },
    [v2.Pressed] = {
        Border = {
            Transparency = 0.65
        },
        Content = {
            Transparency = 0.65
        }
    },
    [v2.Hover] = {
        Border = {
            Transparency = 0
        },
        Content = {
            Transparency = 0
        }
    },
    [v2.Disabled] = {
        Border = {
            Transparency = 0.65
        },
        Content = {
            Transparency = 0.65
        }
    }
};
v5.Buttons.ToggleButton = {
    TextFont = Enum.Font.SourceSans,
    On = {
        [v2.Default] = {
            Background = {
                Transparency = 1
            },
            Border = {
                Color = v1.White,
                Transparency = 0.3
            },
            Content = {
                Color = v1.Green,
                Transparency = 0.3
            }
        },
        [v2.Pressed] = {
            Border = {
                Transparency = 0.65
            },
            Content = {
                Transparency = 0.65
            }
        },
        [v2.Hover] = {
            Border = {
                Transparency = 0
            },
            Content = {
                Transparency = 0
            }
        },
        [v2.Disabled] = {
            Border = {
                Transparency = 0.65
            },
            Content = {
                Transparency = 0.65
            }
        }
    },
    Off = v5.Buttons.SecondaryButton
};
v5.Buttons.AgreementButton = {
    Text = {
        Font = l_AppFonts_0.default:getDefault(),
        Color = v1.Pumice
    }
};
v5.Widget = {
    Header = {
        Text = {
            Font = l_AppFonts_0.default:getBold(),
            Color = v1.White
        }
    },
    Background = {
        [l_FormFactor_0.UNKNOWN] = {
            Color = v1.Carbon,
            Transparency = 0
        },
        [l_FormFactor_0.WIDE] = {
            Color = v1.Carbon,
            Transparency = 0
        },
        [l_FormFactor_0.COMPACT] = {
            Color = v1.Black,
            Transparency = 0.3
        }
    },
    ContentText = {
        Color = v1.Pumice,
        Font = l_AppFonts_0.default:getDefault()
    }
};
v5.IconCards = {
    Text = {
        Color = v1.Pumice,
        Font = l_AppFonts_0.default:getDefault()
    }
};
v5.ScrollingFrameWithScrollBar = {
    ScrollBar = {
        Color = v1.White,
        Transparency = 0.7
    }
};
return v5;


local v0 = require(script.Parent.Colors);
local l_CorePackages_0 = game:GetService("CorePackages");
local l_FormFactor_0 = require(l_CorePackages_0.Workspace.Packages.FormFactor).Enums.FormFactor;
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local v4 = {
    Color = {
        Background = v0.Alabaster
    },
    ContextPrimaryButton = {
        Color = v0.Green,
        Transparency = 0,
        DisabledColor = v0.Green,
        DisabledTransparency = 0.5,
        LoadingTransparency = 0.5,
        OnPressColor = v0.Green,
        OnPressTransparency = 0.5,
        Text = {
            Color = v0.White,
            Transparency = 0
        },
        Border = {
            Hidden = true
        }
    },
    SystemPrimaryButton = {
        Color = v0.Black,
        Transparency = 0,
        DisabledColor = v0.Black,
        DisabledTransparency = 0.5,
        LoadingTransparency = 0.5,
        OnPressColor = v0.Black,
        OnPressTransparency = 0.5,
        Text = {
            Color = v0.White,
            Transparency = 0
        },
        Border = {
            Hidden = true
        },
        ShimmerAnimation = {
            Transparency = 0.65,
            Image = "rbxasset://textures/ui/LuaApp/graphic/shimmer_darkTheme.png",
            AspectRatio = 0.876
        }
    },
    SecondaryButton = {
        Color = v0.Smoke,
        Transparency = 1,
        HoverColor = v0.Flint,
        OnPressColor = v0.Smoke,
        OnPressTransparency = 0.5,
        DisabledColor = v0.Smoke,
        DisabledTransparency = 0.5,
        Text = {
            Color = v0.Black,
            Transparency = 0.5
        },
        Border = {
            Hidden = false,
            Color = v0.Black,
            Transparency = 0.5
        }
    },
    IconButton = {
        Fill = {
            Off = {
                Color = v0.Black,
                Transparency = 0.9
            },
            On = {
                Color = v0.Black,
                Transparency = 1
            },
            OnPress = {
                Color = v0.Black,
                Transparency = 0.95
            },
            Loading = {
                Color = v0.Black,
                Transparency = 0.9
            },
            Disabled = {
                Color = v0.Black,
                Transparency = 0.95
            }
        },
        Border = {
            Off = {
                Color = v0.Black,
                Transparency = 0.5
            },
            On = {
                Color = v0.Black,
                Transparency = 0.5
            },
            OnPress = {
                Color = v0.Black,
                Transparency = 0.75
            },
            Loading = {
                Color = v0.Black,
                Transparency = 0.5
            },
            Disabled = {
                Color = v0.Black,
                Transparency = 0.75
            }
        },
        Icon = {
            Off = {
                Color = v0.Black,
                Transparency = 0.5
            },
            On = {
                Color = v0.Green,
                Transparency = 0
            },
            OnPress = {
                Color = v0.Green,
                Transparency = 0.5
            },
            Loading = {
                Color = v0.Black,
                Transparency = 0.5
            },
            Disabled = {
                Color = v0.Black,
                Transparency = 0.5
            }
        }
    },
    EmptyStatePage = {
        ErrorMessage = {
            Color = v0.Gray3
        }
    },
    ShimmerAnimation = {
        Transparency = 0,
        Image = "rbxasset://textures/ui/LuaApp/graphic/shimmer_lightTheme.png",
        AspectRatio = 0.876
    },
    ShimmerPanel = {
        Color = v0.Alabaster,
        Transparency = 0.5
    },
    ContextualMenu = {
        Cells = {
            Icon = {
                Color = v0.Flint,
                OnColor = v0.Green,
                Transparency = 0.5,
                OnTransparency = 0,
                DisabledTransparency = 0.5
            },
            Content = {
                Color = v0.Flint,
                DisabledColor = v0.Flint,
                DisabledTransparency = 0.5
            },
            Background = {
                OnPressColor = v0.Black,
                OnPressTransparency = 0.9
            }
        },
        Background = {
            Color = v0.Alabaster
        },
        Title = {
            Color = v0.Flint,
            Transparency = 0,
            DisabledTransparency = 0.5
        },
        Divider = {
            Color = v0.Pumice
        },
        Cancel = {
            Color = v0.Smoke
        }
    },
    AlertWindow = {
        Background = {
            Color = v0.Alabaster
        },
        Title = {
            Color = v0.Flint
        },
        Message = {
            Color = v0.Graphite
        },
        Divider = {
            Color = v0.Pumice
        }
    },
    GameDetails = {
        Text = {
            Font = Enum.Font.SourceSans,
            BoldFont = Enum.Font.SourceSansBold,
            Color = {
                Main = v0.White,
                Secondary = v0.Pumice
            }
        },
        GameBasicStats = {
            Color = v0.White,
            Transparency = 0.3,
            Font = Enum.Font.SourceSans
        },
        GameInfoList = {
            DividerColor = v0.Graphite,
            Cells = {
                Background = {
                    Color = v0.Black,
                    Transparency = {
                        Default = 1,
                        Pressed = 0.7
                    }
                }
            }
        },
        Rating = {
            Background = {
                Color = v0.White,
                Transparency = 0.7
            }
        },
        Carousel = {
            Text = {
                Color = v0.Flint
            }
        },
        TopBar = {
            Icon = {
                Color = v0.Slate
            }
        },
        LoadingView = {
            BackgroundImage = {
                Image = "rbxasset://textures/ui/LuaApp/graphic/GameDetailsBackground/loadingBkg_base.jpg",
                Size = Vector2.new(500, 500),
                Tint = {
                    Color = v0.Ash,
                    Transparency = 0.45
                }
            }
        },
        SocialMediaButton = {
            Transparency = 0,
            OnPressTransparency = 0.5
        }
    },
    GameMediaAccordion = {
        Item = {
            BackgroundColor = v0.Flint,
            BackgroundTransparency = 0.5
        },
        FakeItem = {
            Loading = {
                Color = v0.Flint,
                BaseTransparency = 0.5,
                TransparencyStep = 0.25
            },
            Loaded = {
                Color = v0.White,
                BaseTransparency = 0.5,
                TransparencyStep = 0.25
            }
        },
        VideoIconColor = v0.White
    },
    GameCard = {
        Background = {
            Color = v0.White,
            Transparency = 0
        },
        Title = {
            Font = Enum.Font.SourceSans,
            Color = v0.Flint
        },
        GameBasicStats = {
            Color = v0.Black,
            Transparency = 0.5,
            Font = Enum.Font.SourceSans
        }
    },
    ChatTopBar = {
        Background = {
            Color = v0.ChatTopBarWhite,
            Transparency = 0
        },
        Title = {
            Font = Enum.Font.SourceSans,
            Size = 22,
            Color = v0.Flint
        },
        Subtitle = {
            Font = Enum.Font.SourceSans,
            Size = 14,
            Color = v0.Flint
        }
    },
    BottomBar = {
        Background = {
            Color = v0.White,
            Transparency = 0
        },
        TopBorder = {
            Color = v0.Pumice,
            Transparency = 0
        }
    },
    BottomBarButton = {
        Icon = {
            Off = {
                Color = v0.Flint,
                Transparency = 0.5
            },
            On = {
                Color = v0.Flint,
                Transparency = 0
            }
        },
        Title = {
            Font = l_AppFonts_0.default:getMedium(),
            Size = 14
        }
    },
    NumericalBadge = {
        Text = {
            Font = l_AppFonts_0.default:getMedium(),
            Color = v0.White,
            Size = 12
        },
        Border = {
            Default = {
                Color = v0.White,
                Transparency = 1
            },
            AppChrome = {
                Color = v0.White,
                Transparency = 0
            }
        },
        Inner = {
            Color = v0.Flint,
            Transparency = 0
        }
    },
    MorePage = {
        Background = {
            Color = v0.Alabaster,
            Transparency = 0
        },
        List = {
            Background = {
                Color = v0.White,
                Transparency = 0
            },
            Divider = {
                Color = v0.Pumice,
                Transparency = 0
            }
        },
        Button = {
            Background = {
                Default = {
                    Color = v0.White,
                    Transparency = 0
                },
                Pressed = {
                    Color = v0.Alabaster,
                    Transparency = 0
                }
            },
            Text = {
                Font = l_AppFonts_0.default:getMedium(),
                Size = 19,
                Color = v0.Smoke,
                Transparency = 0
            },
            Icon = {
                Color = v0.White,
                Transparency = 0
            },
            RightImage = {
                Color = v0.White,
                Transparency = 0
            }
        },
        Footer = {
            Font = l_AppFonts_0.default:getMedium(),
            Size = 12,
            Color = v0.Smoke,
            Transparency = 0
        }
    },
    EventsPage = {
        Text = {
            Font = l_AppFonts_0.default:getDefault(),
            Size = 19,
            Color = v0.Black,
            Transparency = 0.5
        }
    },
    PremiumIcon = {
        Color = v0.Flint,
        Transparency = 0
    }
};
v4.RetryButton = v4.SecondaryButton;
v4.Main = {
    Background = {
        Color = v0.Alabaster
    },
    Foreground = {
        Color = v0.White
    },
    TitleText = {
        Color = v0.Flint
    },
    BodyText = {
        Font = l_AppFonts_0.default:getDefault(),
        Color = v0.Smoke
    },
    Divider = {
        Color = v0.Pumice
    }
};
v4.Buttons = {};
v4.Buttons.AgreementButton = {
    Text = {
        Font = l_AppFonts_0.default:getDefault(),
        Color = v0.Smoke
    }
};
v4.Widget = {
    Header = {
        Text = {
            Font = l_AppFonts_0.default:getBold(),
            Color = v0.White
        }
    },
    Background = {
        [l_FormFactor_0.UNKNOWN] = {
            Color = v0.Carbon,
            Transparency = 0
        },
        [l_FormFactor_0.WIDE] = {
            Color = v0.Carbon,
            Transparency = 0
        },
        [l_FormFactor_0.COMPACT] = {
            Color = v0.Black,
            Transparency = 0.3
        }
    },
    ContentText = {
        Color = v0.Gray4,
        Font = l_AppFonts_0.default:getDefault()
    }
};
v4.ScrollingFrameWithScrollBar = {
    ScrollBar = {
        Color = v0.Black,
        Transparency = 0.7
    }
};
return v4;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.LuaApp.Themes.ClassicTheme);
local v2 = require(l_Modules_0.LuaApp.Themes.DeprecatedLightTheme);
local v3 = require(l_Modules_0.LuaApp.Themes.DeprecatedDarkTheme);
local v4 = require(game:GetService("CorePackages").Logging);
local v5 = {
    dark = v3,
    light = v2,
    classic = v1
};
return function(v6)
    if v6 ~= nil and #v6 > 0 then
        local v7 = v5[string.lower(v6)];
        if v7 ~= nil then
            return v7;
        else
            v4.warn("Unrecognized theme name: " .. v6);
        end;
    end;
    return v1;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_Modules_0.LuaApp.Promise);
local v3 = require(l_Modules_0.LuaApp.Http.Requests.FriendsPostAcceptFriendRequest);
local v4 = require(l_Modules_0.LuaApp.Actions.AddFriendStatus);
local v5 = require(l_Modules_0.LuaApp.Thunks.SetNetworkingErrorToast);
local l_PerformFetch_0 = require(l_CorePackages_0.Workspace.Packages.Http).PerformFetch;
local v7 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
return function(v8, v9)
    v7.isType(v9, "string", "Thunks.AcceptFriendRequest.userId");
    return l_PerformFetch_0.Single("luaapp.friends.acceptfriendrequest." .. v9, function(v10)
        return v3(v8, v9):andThen(function(_)
            v10:dispatch(v4(v9, Enum.FriendStatus.Friend));
        end, function(v12)
            v10:dispatch(v5(v12));
            return v2.reject(v12);
        end);
    end);
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_HttpService_0 = game:GetService("HttpService");
local v3 = require(l_CorePackages_0.Logging);
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v5 = require(l_Modules_0.LuaApp.Util.Base64);
local v6 = require(l_Modules_0.LuaApp.Util.ChallengeError);
local v7 = require(l_Modules_0.LuaApp.Enum.Challenge.Type);
local v8 = require(l_Modules_0.LuaApp.Enum.Challenge.GenericType);
local v9 = require(l_Modules_0.LuaApp.Enum.Challenge.ErrorKind);
local v10 = require(l_Modules_0.LuaApp.Flags.GetFFlagLuaAppChallengeDisableForceWebViewVisible);
local v11 = require(l_Modules_0.LuaApp.Promise);
local v12 = require(l_Modules_0.LuaApp.Thunks.Challenge.RenderChallenge);
local v13 = require(l_Modules_0.LuaApp.Thunks.Challenge.RenderNativeChallenge);
shouldForceWebViewVisibleForChallengeType = function(v14)
    local v15 = v8.fromRawValue(v14);
    local v16 = false;
    if v15 ~= nil then
        v16 = false;
        if v15 ~= v8.Captcha then
            v16 = false;
            if v15 ~= v8.ProofOfWork then
                v16 = v15 ~= v8.DeviceIntegrity;
            end;
        end;
    end;
    return v16;
end;
shouldRenderNativeChallenge = function(v17)
    local v18 = l_HttpService_0:JSONDecode(v17);
    local v19 = false;
    if v18 ~= nil then
        v19 = false;
        if v18.sharedParameters ~= nil then
            v19 = v18.sharedParameters.renderNativeChallenge == true;
        end;
    end;
    return v19;
end;
renderChallengeWithHeaders = function(v20, v21, v22, v23, v24)
    return function(v25)
        if v24 == nil then
            return v11.resolve();
        elseif ((not (type(v24.Headers) == "table") or not v24.Headers["rblx-challenge-type"]) or not v24.Headers["rblx-challenge-metadata"]) or not v24.Headers["rblx-challenge-id"] then
            return v11.reject(v24);
        else
            local v26 = v8.fromRawValue(v24.Headers["rblx-challenge-type"]);
            local v27 = v5.Decode(v24.Headers["rblx-challenge-metadata"]);
            if not shouldRenderNativeChallenge(v27) then
                v3.warn("Rendering generic challenge.");
                return v11.new(function(v28, v29)
                    v25:dispatch(v12({
                        challengeType = v7.Generic,
                        challengeParameters = {
                            genericChallengeId = v24.Headers["rblx-challenge-id"],
                            genericChallengeType = v24.Headers["rblx-challenge-type"],
                            genericChallengeMetadata = v5.EncodeUrl(v27),
                            onChallengeCompleted = function(v30)
                                v23 = if type(v23) == "table" then v23 else {};
                                v23.headers = if type(v23.headers) == "table" then v23.headers else {};
                                v23.headers["rblx-challenge-id"] = v24.Headers["rblx-challenge-id"];
                                v23.headers["rblx-challenge-type"] = v24.Headers["rblx-challenge-type"];
                                v23.headers["rblx-challenge-metadata"] = v5.Encode(l_HttpService_0:JSONEncode(v30.metadata));
                                local v31, _ = v20(v21, v22, v23);
                                v28((v31:andThen(nil, function(v33)
                                    return v25:dispatch(renderChallengeWithHeaders(v20, v21, v22, v23, v33));
                                end)));
                            end,
                            onChallengeInvalidated = function(v34)
                                if not v34 or not v34.challengeType then
                                    v29(v6:new(v9.Invalidated, {
                                        challengeType = v8.fromRawValue(v24.Headers["rblx-challenge-type"])
                                    }));
                                    return ;
                                else
                                    v34.challengeType = v8.fromRawValue((tostring(v34.challengeType)));
                                    v29(v6:new(v9.Invalidated, v34));
                                    return ;
                                end;
                            end
                        },
                        onChallengeAbandoned = function()
                            v29(v6:new(v9.Abandoned, {
                                challengeType = v8.fromRawValue(v24.Headers["rblx-challenge-type"])
                            }));
                        end,
                        onChallengeLoadFailed = function()
                            v3.warn("Load generic challenge failed.");
                            v29(v6:new(v9.LoadFailed, {
                                challengeType = v8.fromRawValue(v24.Headers["rblx-challenge-type"])
                            }));
                        end,
                        forceWebViewVisible = not v10() or shouldForceWebViewVisibleForChallengeType(v24.Headers["rblx-challenge-type"])
                    }, false));
                end);
            else
                v3.warn("Rendering native challenge.");
                return v11.new(function(v35, v36)
                    v25:dispatch(v13({
                        challengeId = v24.Headers["rblx-challenge-id"],
                        challengeType = v26,
                        challengeMetadata = v27,
                        onSessionCompleted = function()
                            v23 = if type(v23) == "table" then v23 else {};
                            v23.headers = if type(v23.headers) == "table" then v23.headers else {};
                            v23.headers["rblx-challenge-id"] = v24.Headers["rblx-challenge-id"];
                            v23.headers["rblx-challenge-type"] = v24.Headers["rblx-challenge-type"];
                            v23.headers["rblx-challenge-metadata"] = v24.Headers["rblx-challenge-metadata"];
                            local v38, _ = v20(v21, v22, v23):andThen(nil, function(_)
                                v36(v6:new(v9.Invalidated, {
                                    challengeType = v26
                                }));
                            end);
                            v35(v38);
                        end,
                        onSessionFailed = function()
                            v36(v6:new(v9.Invalidated, {
                                challengeType = v26
                            }));
                        end
                    }));
                end);
            end;
        end;
    end;
end;
return renderChallengeWithHeaders;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.LuaApp.Analytics.Events.accountSecurityPromptEvent);
local v2 = require(l_Modules_0.LuaApp.Enum.AccountSecurity.DisplayType);
local v3 = require(l_Modules_0.LuaApp.EventStreamConstants);
local v4 = require(l_Modules_0.LuaApp.Enum.OverlayType);
local v5 = require(l_Modules_0.LuaApp.Enum.AccountSecurity.PromptType);
local v6 = require(l_Modules_0.LuaApp.Actions.AccountSecurity.UpdatePromptType);
return function(v7, v8, v9, v10)
    local v11 = true;
    if v9 ~= nil then
        v11 = v5.isEnumValue(v9);
        if not v11 then
            v11 = v8;
            if v11 then
                v11 = false;
                if typeof(v10) == "table" then
                    v11 = v2.isEnumValue(v2.fromRawValue(v10.displayType));
                end;
            end;
        end;
    end;
    assert(v11, "Invalid arguments for UpdatePromptTypeWithEvent");
    return function(v12)
        local l_AccountSecurityPrompt_0 = v12:getState().AccountSecurityPrompt;
        local l_OverlayType_0 = v12:getState().CentralOverlay.OverlayType;
        local l_promptType_0 = l_AccountSecurityPrompt_0.promptType;
        if (v9 ~= nil and l_OverlayType_0 ~= v4.AccountSecurityPromptOverlay) and v9 ~= l_promptType_0 then
            local v16 = v5.toRawValue(v9);
            if v16 == nil then
                v16 = v9;
            end;
            v1(v7.EventStream, v3.Context.ModalStateViewed, v16, "NONE");
        end;
        v12:dispatch(v6(v8, v9, v10));
    end;
end;


local _ = require(game:GetService("CoreGui").RobloxGui.Modules.LuaApp.Promise);
return function(...)
    local v1 = {
        ...
    };
    return function(v2)
        local v3 = nil;
        for _, v5 in ipairs(v1) do
            if v3 == nil then
                v3 = v5(v2);
            else
                v3 = v3:andThen(function(v6)
                    if v6 ~= nil then
                        return v6;
                    else
                        return v5(v2);
                    end;
                end);
            end;
        end;
        return v3;
    end;
end;


local v0 = require(game:GetService("CoreGui").RobloxGui.Modules.LuaApp.Promise);
return function(v1, v2)
    return function(v3)
        if v3 == v2 then
            return v0.resolve(nil);
        else
            return v0.resolve(v1);
        end;
    end;
end;


local v0 = require(game:GetService("CoreGui").RobloxGui.Modules.LuaApp.Promise);
return function(_)
    return v0.resolve(nil);
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Packages.Promise);
local l_ApiFetchThumbnails_0 = require(l_CorePackages_0.Workspace.Packages.Http).Utils.ApiFetchThumbnails;
local v4 = require(l_Modules_0.LuaApp.Http.Requests.PassesGetThumbnails);
local v5 = require(l_Modules_0.LuaApp.Actions.SetPassesThumbnails);
return function(v6, v7)
    return function(v8)
        local l_PassesThumbnails_0 = v8:getState().PassesThumbnails;
        local v10 = {};
        if not l_PassesThumbnails_0 then
            v10 = v7;
        else
            for _, v12 in ipairs(v7) do
                if l_PassesThumbnails_0[tostring(v12)] == nil then
                    table.insert(v10, v12);
                end;
            end;
        end;
        if #v10 == 0 then
            return v2.resolve();
        else
            return l_ApiFetchThumbnails_0.Fetch(v6, v10, "150x150", "Pass", v4, v5, v8);
        end;
    end;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_Modules_0.LuaApp.Promise);
local v3 = require(l_Modules_0.LuaApp.Http.Requests.PaymentsGatewayApi.PostGetUpsellProduct);
local v4 = require(l_Modules_0.LuaApp.Enum.PaymentPlatform);
local v5 = require(l_Modules_0.LuaApp.Util.getPaymentPlatform);
local _ = require(l_CorePackages_0.Workspace.Packages.Http);
local function _(v7)
    if v7 == v4.Web then
        return "Web";
    elseif v7 == v4.Apple then
        return "AppleAppStore";
    elseif v7 == v4.Google then
        return "GooglePlayStore";
    elseif v7 == v4.Amazon then
        return "AmazonStore";
    elseif v7 == v4.UWP then
        return "WindowsStore";
    elseif v7 == v4.Xbox then
        return "XboxStore";
    elseif v7 == v4.Maquettes then
        return "MaquettesStore";
    elseif v7 == v4.Palisades then
        return "PalisadesStore";
    else
        return "None";
    end;
end;
return function(v9, v10, v11)
    return function(_)
        local v13 = v5();
        return v3(v9, v13 == v4.Web and "Web" or (v13 == v4.Apple and "AppleAppStore" or (v13 == v4.Google and "GooglePlayStore" or (v13 == v4.Amazon and "AmazonStore" or (v13 == v4.UWP and "WindowsStore" or (v13 == v4.Xbox and "XboxStore" or (v13 == v4.Maquettes and "MaquettesStore" or (v13 == v4.Palisades and "PalisadesStore" or "None"))))))), v10, v11):andThen(function(v14)
            if not (v14 ~= nil) or v14[1] == nil then
                return v2.reject();
            else
                local v15 = v14[1];
                return v2.resolve({
                    productId = v15.roblox_product_id,
                    providerId = v15.provider_product_id,
                    productName = v15.roblox_product_name,
                    robuxAmount = v15.robux_amount
                });
            end;
        end);
    end;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_PerformFetch_0 = require(l_CorePackages_0.Workspace.Packages.Http).PerformFetch;
local v3 = require(l_Modules_0.LuaApp.Promise);
local v4 = require(l_Modules_0.LuaApp.Http.Requests.PurchaseWarningApi.PostAckPurchaseWarning);
local v5 = require(l_Modules_0.LuaApp.Enum.AccountSecurity.addRawValueMethodToEnum);
local v6 = require(l_CorePackages_0.enumerate);
local v7 = {};
local v8 = {
    None = "None",
    ConfirmedU13PaymentModal = "ConfirmedU13PaymentModal",
    ConfirmedU13MonthlyThreshold1Modal = "ConfirmedU13MonthlyThreshold1Modal",
    ConfirmedU13MonthlyThreshold2Modal = "ConfirmedU13MonthlyThreshold2Modal",
    ConfirmParentalConsentWarningPaymentModal13To17 = "ConfirmParentalConsentWarningPaymentModal13To17"
};
v7.UserActionType = v6(script.Name, v8);
v5(v7.UserActionType, v8);
v7.Post = function(v9, v10)
    local v11 = v7.UserActionType.toRawValue(v10);
    return l_PerformFetch_0.Single("purchasewarning.acknowledge", function(_)
        return v4(v9, v11):andThen(function(_)
            return v3.resolve();
        end, function(_)
            return v3.resolve();
        end);
    end);
end;
return v7;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_ContentProvider_0 = game:GetService("ContentProvider");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_Modules_0.LuaApp.mutedError);
local v4 = require(l_Modules_0.LuaApp.Promise);
local l_getRbxthumbWithTypeSizeAndOptions_0 = require(game:GetService("CorePackages").Workspace.Packages.UserLib).Utils.getRbxthumbWithTypeSizeAndOptions;
return function(v6, v7, v8)
    return function(_)
        local v10 = {};
        for _, v12 in ipairs(v6) do
            table.insert(v10, (l_getRbxthumbWithTypeSizeAndOptions_0(v12, v7, v8)));
        end;
        return v4.new(function(v13, _)
            task.spawn(function()
                if not pcall(function()
                    l_ContentProvider_0:PreloadAsync(v10);
                end) then
                    v3("Could not preload content provider thumbnails");
                end;
                v13();
            end);
        end);
    end;
end;


local v0 = require(game:GetService("CoreGui").RobloxGui.Modules.LuaApp.Enum.LocalStorageKey);
local l_AppStorageService_0 = game:GetService("AppStorageService");
local l_HttpService_0 = game:GetService("HttpService");
local v9 = {
    setRobloxLocaleId = function(v3)
        l_AppStorageService_0:SetItem(v0.RobloxLocaleId, v3);
    end,
    setGameLocaleId = function(v4)
        l_AppStorageService_0:SetItem(v0.GameLocaleId, v4);
    end,
    getAuthenticatedTheme = function()
        return l_AppStorageService_0:GetItem(v0.AuthenticatedTheme);
    end,
    setAuthenticatedTheme = function(v5)
        l_AppStorageService_0:SetItem(v0.AuthenticatedTheme, v5);
    end,
    getAccountBlob = function()
        if not game:GetEngineFeature("AccountSwitchFeatureEnabled") then
            return "";
        else
            return l_AppStorageService_0:GetItem(v0.AccountBlob) or "";
        end;
    end,
    setAccountBlob = function(v6)
        if game:GetEngineFeature("AccountSwitchFeatureEnabled") then
            l_AppStorageService_0:SetItem(v0.AccountBlob, v6 or "");
        end;
    end,
    getSignupActionRequired = function()
        return l_AppStorageService_0:GetItem(v0.SignupActionRequired);
    end,
    setSignupActionRequired = function(v7)
        l_AppStorageService_0:SetItem(v0.SignupActionRequired, v7);
    end,
    getAccountSwitcherMetadataMap = function()
        if not game:GetEngineFeature("AccountSwitcherMetadataMapKeyAvailable") then
            return "";
        else
            return l_AppStorageService_0:GetItem(v0.AccountSwitcherMetadataMap) or "";
        end;
    end,
    setAccountSwitcherMetadataMap = function(v8)
        if game:GetEngineFeature("AccountSwitcherMetadataMapKeyAvailable") then
            l_AppStorageService_0:SetItem(v0.AccountSwitcherMetadataMap, v8 or "");
        end;
    end
};
v9.getAccountSwitchTargetUsername = function()
    if not game:GetEngineFeature("AccountSwitcherMetadataMapKeyAvailable") then
        return "";
    else
        local v10 = v9.getAccountSwitcherMetadataMap();
        if not (v10 ~= nil) or v10 == "" then
            return "";
        else
            local v11 = l_HttpService_0:JSONDecode(v10);
            if not (((v11 ~= nil and v11 ~= "") and next(v11) ~= nil) and next(v11) ~= "") or v11.AccountSwitchTargetUsername == nil then
                return "";
            else
                return v11.AccountSwitchTargetUsername;
            end;
        end;
    end;
end;
v9.setAccountSwitchTargetUsername = function(v12)
    if game:GetEngineFeature("AccountSwitcherMetadataMapKeyAvailable") then
        local v13 = v9.getAccountSwitcherMetadataMap();
        local v14 = nil;
        if not (v13 ~= nil) or v13 == "" then
            v14 = {
                AccountSwitchTargetUsername = v12
            };
        else
            v14 = l_HttpService_0:JSONDecode(v13);
            v14.AccountSwitchTargetUsername = v12;
        end;
        v9.setAccountSwitcherMetadataMap(l_HttpService_0:JSONEncode(v14));
    end;
end;
v9.getAccountSwitchStatus = function()
    if not game:GetEngineFeature("AccountSwitcherMetadataMapKeyAvailable") then
        return "";
    else
        local v15 = v9.getAccountSwitcherMetadataMap();
        if not (v15 ~= nil) or v15 == "" then
            return "";
        else
            local v16 = l_HttpService_0:JSONDecode(v15);
            if not (((v16 ~= nil and v16 ~= "") and next(v16) ~= nil) and next(v16) ~= "") or v16.AccountSwitchStatus == nil then
                return "";
            else
                return v16.AccountSwitchStatus;
            end;
        end;
    end;
end;
v9.setAccountSwitchStatus = function(v17)
    if game:GetEngineFeature("AccountSwitcherMetadataMapKeyAvailable") then
        local v18 = v9.getAccountSwitcherMetadataMap();
        local v19 = nil;
        if not (v18 ~= nil) or v18 == "" then
            v19 = {
                AccountSwitchStatus = v17
            };
        else
            v19 = l_HttpService_0:JSONDecode(v18);
            v19.AccountSwitchStatus = v17;
        end;
        v9.setAccountSwitcherMetadataMap(l_HttpService_0:JSONEncode(v19));
    end;
end;
v9.flush = function()
    l_AppStorageService_0:flush();
end;
return v9;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CoreGui_0.RobloxGui.Modules.LuaApp.Actions.ClearUserSpecificData);
local l_HttpCanceller_0 = require(l_CorePackages_0.Workspace.Packages.Http).NetworkLayers.HttpCanceller;
local l_PerformFetch_0 = require(l_CorePackages_0.Workspace.Packages.Http).PerformFetch;
return function()
    return function(v5)
        v5:dispatch(v2());
        l_HttpCanceller_0.cancel();
        l_PerformFetch_0.ClearOutstandingPromiseStatus();
    end;
end;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(game:GetService("CorePackages").Promise);
local v2 = require(l_Modules_0.LuaApp.Thunks.Authentication.Logout);
local v3 = require(l_Modules_0.LuaApp.Http.Requests.AuthenticationApi.AuthPlatformDisconnect);
return function(v4, v5)
    return function(v6)
        return v3(v4):andThen(function()
            warn("--Console Account Disconnected");
            v6:dispatch(v2(v4, v5));
            return v1.resolve();
        end);
    end;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_HttpService_0 = game:GetService("HttpService");
local v3 = require(l_CorePackages_0.Cryo);
local v4 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
local v5 = require(l_Modules_0.LuaApp.Promise);
local v6 = require(l_Modules_0.LuaApp.Analytics.Events.reportEphemeralCounter);
local v7 = require(l_Modules_0.LuaApp.Http.Requests.GetDisplayNamesValid);
local v8 = require(l_Modules_0.LuaApp.Enum.UsernameIssue);
local v9 = require(l_Modules_0.LuaApp.Enum.IssueCondition);
local v10 = require(l_Modules_0.LuaApp.Util.LocalSignUpDisplayNameValidator);
local v11 = {
    [0] = v8.None,
    [1] = v8.LengthTooShortOrTooLong,
    [2] = v8.LengthTooShortOrTooLong,
    [3] = v8.ContainsInvalidCharacter,
    [4] = v8.Inappropriate
};
local v12 = {
    [v8.ContainsInvalidCharacter] = "Authentication.SignUp.Label.UsernameError1",
    [v8.LengthTooShortOrTooLong] = "Authentication.SignUp.Label.UsernameError2",
    [v8.AlreadyInUse] = "Authentication.SignUp.Label.UsernameError3",
    [v8.Inappropriate] = "Authentication.SignUp.Label.UsernameError4",
    [v8.BoundingUnderscore] = "Authentication.SignUp.Label.UsernameError5",
    [v8.MultipleUnderscores] = "Authentication.SignUp.Label.UsernameError6",
    [v8.ContainsPII] = "Authentication.SignUp.Label.UsernameError7"
};
local function v13()
    return v12;
end;
local function v16()
    local v14 = {};
    for v15 in pairs(v12) do
        v14[v15] = v9.Hidden;
    end;
    return v14;
end;
local function v21(v17)
    local v18 = v3.Dictionary.join(v17);
    for v19, v20 in pairs(v18) do
        if v20 ~= v9.Hidden then
            v18[v19] = v9.Problematic;
        end;
    end;
    return v18;
end;
return {
    validateFunction = function(v22, v23, v24, v25)
        return function(_)
            v4.isType(v23, "string", "displayName passed into DisplayNameValidator.validateFunction");
            v4.isType(v24, "table", "previousIssues passed into DisplayNameValidator.validateFunction");
            if v23 == "" then
                return v5.resolve({
                    Input = v23,
                    InputValid = false,
                    IssueCondition = v21(v24)
                });
            else
                local v27 = v3.Dictionary.join(v24);
                local v28 = v10:locallyValidateDisplayName(v23);
                local v29 = false;
                for _, v31 in pairs(v28) do
                    if v31 then
                        v29 = true;
                        break;
                    end;
                end;
                if not v29 then
                    for v32, v33 in pairs(v27) do
                        v27[v32] = v33 == v9.Hidden and v9.Hidden or v9.Resolved;
                    end;
                    return v7(v22, v23, v25.birthday):andThen(function(_)
                        return v5.resolve({
                            Input = v23,
                            InputValid = true,
                            IssueCondition = v27
                        });
                    end, function(v35)
                        local v36 = l_HttpService_0:JSONDecode(v35.Body);
                        local v37 = not not v36 and v36.errors or {};
                        local v38 = nil;
                        for _, v40 in pairs(v37) do
                            if v40.code then
                                v38 = v11[v40.code];
                                break;
                            end;
                        end;
                        if not v38 then
                            v6("DisplayNameValidator_GetDisplayNamesValid_Failed", 1);
                            return v5.resolve({
                                Input = v23,
                                InputValid = true,
                                IssueCondition = v27
                            });
                        else
                            v27[v38] = v9.Problematic;
                            return v5.resolve({
                                Input = v23,
                                InputValid = false,
                                IssueCondition = v27
                            });
                        end;
                    end);
                else
                    for v41, v42 in pairs(v24) do
                        local v43 = v28[v41];
                        if not (v42 == v9.Hidden) or not v43 then
                            if v42 ~= v9.Hidden then
                                v27[v41] = v43 == false and v9.Resolved or v9.Problematic;
                            end;
                        else
                            v27[v41] = v9.Problematic;
                        end;
                    end;
                    return v5.resolve({
                        Input = v23,
                        InputValid = false,
                        IssueCondition = v27
                    });
                end;
            end;
        end;
    end,
    getIssueMessageList = v13,
    getDefaultIssues = v16
};


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.LuaApp.Thunks.Authentication.EmailVerification.CheckEmailVerification);
local v2 = require(l_Modules_0.LuaApp.Thunks.Authentication.Logout);
local v3 = require(l_Modules_0.LuaApp.EventStreamConstants);
local v4 = require(l_Modules_0.LuaApp.Analytics.Events.Auth.luaLogoutReasonNames);
return function(v5, v6)
    return function(v7)
        return v7:dispatch(v1(v5, true, {
            addEmailOver13TextKey = "Feature.VerificationUpsell.Description.LogoutAddEmailTextOver13",
            addEmailUnder13TextKey = "Feature.VerificationUpsell.Description.LogoutAddEmailTextUnder13",
            addEmailTitleKey = "Feature.VerificationUpsell.Heading.VerifyOnLogout",
            updateEmailSecondaryButtonText = "Feature.VerificationUpsell.Action.Logout",
            origin = "logout",
            onUpdateEmailSecondaryButtonPressedEvent = v3.Button.SkipLogOutAnyway,
            onUpdateEmailSecondaryButtonPressed = function()
                v7:dispatch(v2(v5, v6, v4.EmailUpsellLogOut));
            end
        }));
    end;
end;


local v0 = require(game:GetService("CoreGui").RobloxGui.Modules.LuaApp.Http.Requests.SendUserVerifyEmail);
return function(v1)
    return function(_)
        return v0(v1);
    end;
end;