local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Analytics);
local v3 = require(l_script_FirstAncestor_0.SocialTabContext);
local v4 = require(l_script_FirstAncestor_0.ContextUtils.compose);
local l_llama_0 = v1.llama;
local l_Roact_0 = v1.Roact;
local l_RoactRodux_0 = v1.RoactRodux;
local l_withLocalization_0 = v1.withLocalization;
local l_UniversalAppPolicy_0 = v1.UniversalAppPolicy;
local l_SelfViewProfileDiscoverabilityUpsellIXP_0 = v1.SelfViewProfileDiscoverabilityUpsellIXP;
local v11 = require(script.mapStateToProps);
local v12 = require(script.mapDispatchToProps);
local v13 = require(script.Parent.SocialTabPage);
local v14 = require(l_script_FirstAncestor_0.UserCarousel);
local v15 = l_Roact_0.PureComponent:extend("SocialTabContainer");
local l_GetFFlagHideConnectPageWebViewItemsForVR_0 = v1.GetFFlagHideConnectPageWebViewItemsForVR;
v15.defaultProps = {};
v15.init = function(v17)
    v17.localization = {
        socialText = "Feature.SocialTab.Label.Connect",
        chatsText = "Feature.SocialTab.Label.Chats",
        groupsText = "Feature.SocialTab.Label.Groups"
    };
end;
v15.didMount = function(v18)
    v18.props.fetchFriendsRequestsCount();
end;
v15.render = function(v19)
    return l_withLocalization_0(v19.localization)(function(v20)
        return v2.with(function(v21)
            return v3.with(function(v22)
                return l_Roact_0.createElement(v13, l_llama_0.Dictionary.join(v19.props, {
                    analytics = v21,
                    navigateToLuaAppPages = v22.navigateToLuaAppPages,
                    renderUserCarousel = v14.render,
                    wideMode = v22.wideMode,
                    navigatingFromSocialTabEvent = v22.setNavigatingFromSocialTabEvent,
                    isProfileShareEnabled = not not v22.isProfileShareEnabled or false,
                    isLuaProfilePageEnabled = v22.isLuaProfilePageEnabled,
                    luaAddFriendsPageEnabled = not not v22.luaAddFriendsPageEnabled or false,
                    closeCentralOverlay = if not l_SelfViewProfileDiscoverabilityUpsellIXP_0.SetupEnabled() then nil else v22.closeCentralOverlay,
                    openLearnMoreLink = if not l_SelfViewProfileDiscoverabilityUpsellIXP_0.SetupEnabled() then nil else v22.openLearnMoreLink,
                    showToast = if not l_SelfViewProfileDiscoverabilityUpsellIXP_0.SetupEnabled() then nil else v22.showToast,
                    discoverabilityUpsellOnProfileSelfViewEnabled = if not l_SelfViewProfileDiscoverabilityUpsellIXP_0.SetupEnabled() then nil else v22.discoverabilityUpsellOnProfileSelfViewEnabled
                }, v20));
            end);
        end);
    end);
end;
return v4(l_RoactRodux_0.connect(v11, v12), l_UniversalAppPolicy_0.connect(function(v23)
    return {
        enableDisplayNamePolicy = v23.getShowDisplayName(),
        shouldShowGroupsTilePolicy = v23.getShouldShowGroupsTile(),
        enableNotificationsPolicy = v23.getChatHeaderNotifications(),
        disableWebViewSupport = if not l_GetFFlagHideConnectPageWebViewItemsForVR_0() then nil else not v23.getWebViewSupport()
    };
end))(v15);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.Logger);
local v2 = require(l_script_FirstAncestor_0.dependencies);
local l_Promise_0 = v2.Promise;
local v4 = require(l_script_FirstAncestor_0.Requests.GetUnreadConversationCount);
local l_GetPresencesFromUserIds_0 = v2.NetworkingPresence.GetPresencesFromUserIds;
local l_NetworkingFriends_0 = v2.NetworkingFriends;
local l_NetworkingUsers_0 = v2.NetworkingUsers;
local l_SocialLibraries_0 = v2.SocialLibraries;
local l_EnteredChatFromEntryPoint_0 = v2.AppChat.Actions.EnteredChatFromEntryPoint;
return function(v10)
    return {
        refreshPageData = function()
            return l_Promise_0.all({
                v10(v4.API()),
                v10(function(v11)
                    local v12 = l_SocialLibraries_0.Dictionary.getDeepValue(v11:getState(), "SocialTab.Friends.byUserId.localUserId");
                    if not v12 then
                        return l_Promise_0.resolve();
                    else
                        return v10(l_GetPresencesFromUserIds_0.API(v12));
                    end;
                end),
                v10(l_NetworkingFriends_0.GetFriendRequestsCount.API()),
                v10(function(v13)
                    return v10(l_NetworkingUsers_0.GetUserV2FromUserId.API(v13:getState().LocalUserId));
                end)
            }):catch(function()
                v1:info("Failed to refresh SocialTab data");
            end);
        end,
        fetchFriendsRequestsCount = function()
            return v10(l_NetworkingFriends_0.GetFriendRequestsCount.API());
        end,
        enteredChatFromEntryPoint = function(v14)
            return v10(l_EnteredChatFromEntryPoint_0(v14));
        end
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.User);
local l_SocialLibraries_0 = v1.SocialLibraries;
local l_SelfViewProfileDiscoverabilityUpsellIXP_0 = v1.SelfViewProfileDiscoverabilityUpsellIXP;
local l_getDeepValue_0 = l_SocialLibraries_0.Dictionary.getDeepValue;
return function(v6, v7)
    local v8 = if not l_SelfViewProfileDiscoverabilityUpsellIXP_0.SetupEnabled() then nil else l_getDeepValue_0(v6, "SocialTab.ShowContactImporterParams") or {};
    return {
        unreadConversationCount = v6.SocialTab.UnreadConversationCount or 0,
        numberOfNotifications = v6.NotificationBadgeCounts.TopBarNotificationIcon,
        localUser = v2.mapToUsers(v6, v7)(v6.LocalUserId),
        localUserId = v6.LocalUserId or nil,
        isPhoneVerified = if not l_SelfViewProfileDiscoverabilityUpsellIXP_0.SetupEnabled() then nil else v8.isPhoneVerified,
        isDiscoverabilityUnset = if not l_SelfViewProfileDiscoverabilityUpsellIXP_0.SetupEnabled() then nil else v8.isDiscoverabilityUnset
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Logger);
local v3 = require(l_script_FirstAncestor_0.Analytics);
local l_UIBlox_0 = v1.UIBlox;
local l_Roact_0 = v1.Roact;
local l_RoactRodux_0 = v1.RoactRodux;
local l_RoactNavigation_0 = v1.RoactNavigation;
local l_memoize_0 = v1.memoize;
local l_RetrievalStatus_0 = v1.RetrievalStatus;
local v10 = require(l_script_FirstAncestor_0.SocialTabContext);
local v11 = require(l_script_FirstAncestor_0.Navigators.getSocialTabNavigator);
local v12 = require(l_script_FirstAncestor_0.EnumScreens);
local l_LoadingStateContainer_0 = l_UIBlox_0.App.Container.LoadingStateContainer;
local l_RetrievalStatus_1 = l_UIBlox_0.App.Loading.Enum.RetrievalStatus;
local v15 = require(l_script_FirstAncestor_0.Components.SocialTabEntryPoint.mapStateToProps);
local v16 = require(l_script_FirstAncestor_0.Components.SocialTabEntryPoint.mapDispatchToProps);
local l_getFFlagEnableNewChatTabExperimentAndroidBackButtonFix_0 = v1.AppChat.Flags.getFFlagEnableNewChatTabExperimentAndroidBackButtonFix;
local v18 = l_Roact_0.PureComponent:extend("SocialTabEntryPoint");
v18.defaultProps = {
    logger = nil
};
v18.getDerivedStateFromProps = function(v19, _)
    local v21 = nil;
    if v19.retrievalStatus == l_RetrievalStatus_0.Done then
        v21 = true;
    end;
    return {
        wasEverDoneRetrieving = v21
    };
end;
v18.init = function(v22)
    if v22.props.logger then
        v2:setParent(v22.props.logger);
    end;
    v22.connectSocTabExternalDispatch = function(v23)
        if not v22.props.updateExternalNavigationForScreen then
            return function()
            end;
        else
            local l_RoactChat_0 = v12.RoactChat;
            v22.props.updateExternalNavigationForScreen(function(v25)
                v23(l_RoactNavigation_0.Actions.navigate({
                    routeName = v12.RoactChat
                }));
                v22.props.navigateIntoChat({
                    screen = "ChatConversation",
                    params = v25
                });
            end, l_RoactChat_0);
            return function()
                v22.props.updateExternalNavigationForScreen(nil, l_RoactChat_0);
            end;
        end;
    end;
    v22._performanceTesting = v22.props.performanceTesting;
    v22.androidBackButtonSignal = {
        [v12.SocialTab] = v22.props.signal.new(),
        [v12.RoactChat] = v22.props.signal.new()
    };
    v22.getAppContainer = l_memoize_0(function(v26, v27)
        return l_RoactNavigation_0.createAppContainer((v11({
            [v12.RoactChat] = v26,
            [v12.FriendsLanding] = v27
        }, {
            setTabBarVisible = v22.props.setTabBarVisible,
            androidBackButtonSignal = v22.androidBackButtonSignal,
            connectToAndroidBackButton = v22.props.androidBackButtonConnection.connect,
            disconnectFromAndroidBackButton = v22.props.androidBackButtonConnection.disconnect,
            androidBackButtonConnection = if not l_getFFlagEnableNewChatTabExperimentAndroidBackButtonFix_0() then nil else v22.props.androidBackButtonConnection,
            initialRouteName = v22.props.initialRouteName
        })));
    end);
    v22.getAnalytics = l_memoize_0(function(v28)
        return v3.Class.new(v1.AnalyticsService, v28.localUserId);
    end);
    v22.fetchChatSettings = function(v29)
        return v22.props.fetchChatSettings(v29);
    end;
    v22.renderRoactChat = function()
        if not v22.props.debug_mockRenderRoactChat then
            return v10.with(function(v30)
                return not not v30.wasEverVisible and l_Roact_0.createElement(v22.props.roactChatEntryPoint, v30) or nil;
            end);
        else
            return v22.props.debug_mockRenderRoactChat();
        end;
    end;
    v22.renderAppContainer = function(v31, v32)
        if not v22.props.debug_mockRenderAppContainer then
            return l_Roact_0.createElement(v31, {
                externalDispatchConnector = v22.connectSocTabExternalDispatch,
                androidBackButtonHandlerDisabled = v32.androidBackButtonHandlerDisabled
            });
        else
            return v22.props.debug_mockRenderAppContainer();
        end;
    end;
    v22.getLoadingState = function()
        local v33 = l_RetrievalStatus_1.fromRawValue(v22.props.retrievalStatus);
        if v22.state.wasEverDoneRetrieving then
            v33 = l_RetrievalStatus_1.fromRawValue(l_RetrievalStatus_0.Done);
        end;
        return l_Roact_0.createElement(l_LoadingStateContainer_0, {
            dataStatus = v33,
            onRetry = v22.fetchChatSettings,
            renderOnLoaded = v22.renderOnLoaded
        });
    end;
    v22.renderOnLoaded = function()
        return v10.with(function(v34)
            return l_Roact_0.createElement(v3.Context.Provider, {
                value = v22.getAnalytics(v34)
            }, {
                appContainer = v22.renderAppContainer(v22.getAppContainer(v34.roactChatEntryPoint, v34.getFriendsLandingEntryPoint), v34)
            });
        end);
    end;
end;
v18.didMount = function(v35)
    spawn(function()
        v35.props.fetchUnreadConversationCount();
    end);
    if v35.props.retrievalStatus == l_RetrievalStatus_0.NotStarted then
        v35.fetchChatSettings(v35.props.setAppLoaded);
    end;
    if v35.props.isVisible and v35.props.toggleChatPaused ~= nil then
        v35.props.toggleChatPaused(false);
    end;
    if v35.androidBackButtonSignal then
        v35.androidBackButtonSignal[v12.SocialTab]:connect(function()
            if v35.props.isVisible then
                v35.props.androidBackButtonConnection.showExitDialog();
            end;
        end);
    end;
end;
v18.didUpdate = function(v36, v37, _)
    if not (v37.chatLoaded or not v36.props.chatLoaded) then
        v36.props.notificationService:ActionEnabled(Enum.AppShellActionType.TapConversationEntry);
    end;
    if v36.props.retrievalStatus == l_RetrievalStatus_0.NotStarted then
        v36.fetchChatSettings(v36.props.setAppLoaded);
    end;
end;
v18.render = function(v39)
    return v10.with(function(v40)
        return l_Roact_0.createElement(v3.Context.Provider, {
            value = v39.getAnalytics(v40)
        }, {
            LoadingState = v39.getLoadingState()
        });
    end);
end;
return (v10.connect(function(v41)
    return {
        fetchUnreadConversationCount = v41.fetchUnreadConversationCount,
        setAppLoaded = v41.setAppLoaded,
        roactChatEntryPoint = v41.roactChatEntryPoint,
        notificationService = v41.notificationService,
        config = v41.config,
        toggleChatPaused = v41.toggleChatPaused,
        performanceTesting = v41.performanceTesting,
        notificationType = v41.notificationType,
        updateExternalNavigationForScreen = v41.updateExternalNavigationForScreen
    };
end)((l_RoactRodux_0.connect(v15, v16)(v18))));


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.Requests);
local v2 = require(l_script_FirstAncestor_0.Analytics);
local v3 = require(l_script_FirstAncestor_0.dependencies);
local l_AnalyticsService_0 = v3.AnalyticsService;
local l_Players_0 = v3.Players;
local l_isAppChatChannelsAPIEnabled_0 = v3.AppChat.Flags.isAppChatChannelsAPIEnabled;
local l_fetchChatMetadata_0 = v3.AppChat.Conversations.Thunks.fetchChatMetadata;
local l_NavigateIntoChat_0 = v3.AppChat.Actions.NavigateIntoChat;
return function(v9)
    return {
        fetchChatSettings = not l_isAppChatChannelsAPIEnabled_0() and function(v10)
            v9(function(v11)
                return v9(v1.GetUserV2FromUserId.API(v11:getState().LocalUserId));
            end);
            return v9(v1.FetchChatSettings.API()):andThen(function(_)
                v2.Class.new(l_AnalyticsService_0, (tostring(l_Players_0.LocalPlayer.UserId))):userLoadedSocialTab();
            end):andThen(function()
                v9(v10(true));
            end):catch(function(v13)
                warn("SocialTab.Requests.FetchChatSettings with error: ", (tostring(v13)));
            end);
        end or function(v14)
            return v9(l_fetchChatMetadata_0()):andThen(function()
                v9(v14(true));
            end);
        end,
        navigateIntoChat = function(v15)
            v9(l_NavigateIntoChat_0(v15));
        end
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_FetchChatSettings_0 = require(l_script_FirstAncestor_0.Requests).FetchChatSettings;
local l_isAppChatChannelsAPIEnabled_0 = v1.AppChat.Flags.isAppChatChannelsAPIEnabled;
local v4 = require(l_script_FirstAncestor_0.Parent.AppChatNetworking);
return function(v5, _)
    if not l_isAppChatChannelsAPIEnabled_0() then
        return {
            retrievalStatus = l_FetchChatSettings_0.getStatus(v5)
        };
    else
        return {
            retrievalStatus = v4.rodux.GetMetadata.getStatus(v5)
        };
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.dependencies);
local v3 = require(l_script_FirstAncestor_0.Logger);
local l_t_0 = v2.t;
local l_Roact_0 = v2.Roact;
local l_UIBlox_0 = v2.UIBlox;
local l_memoize_0 = v2.memoize;
local l_RoactAppExperiment_0 = v2.RoactAppExperiment;
local l_FormFactor_0 = require(l_Parent_0.FormFactor).Enums.FormFactor;
local l_AppPage_0 = require(l_Parent_0.RobloxAppEnums).AppPage;
local l_ChatEntryPointNames_0 = v2.SocialCommon.Enums.ChatEntryPointNames;
local l_DefaultMetricsGridView_0 = l_UIBlox_0.App.Grid.DefaultMetricsGridView;
local l_GridMetrics_0 = l_UIBlox_0.App.Grid.GridMetrics;
local l_HorizontalPageMargin_0 = l_UIBlox_0.App.Container.HorizontalPageMargin;
local l_Badge_0 = l_UIBlox_0.App.Indicator.Badge;
local l_HeaderBar_0 = l_UIBlox_0.App.Bar.HeaderBar;
local l_IconButton_0 = l_UIBlox_0.App.Button.IconButton;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_BadgeVariant_0 = l_UIBlox_0.App.Indicator.Enum.BadgeVariant;
local l_Promise_0 = v2.Promise;
local l_UserSearchBarButton_0 = require(l_Parent_0.SocialCommon).Components.UserSearchBar.UserSearchBarButton;
local l_Sources_0 = require(l_Parent_0.SocialLuaAnalytics).Analytics.Enums.Sources;
local l_script_FirstAncestor_1 = script:FindFirstAncestor("Components");
local v24 = require(l_script_FirstAncestor_1.ChatTile);
local v25 = require(l_script_FirstAncestor_1.GroupsTile);
local v26 = require(l_script_FirstAncestor_1.ProfileEntry);
local l_RefreshScrollingFrame_0 = v2.SocialLibraries.Components.RefreshScrollingFrame;
local l_EntryPoints_0 = v2.DiscoverabilityModal.Analytics.EntryPoints;
local l_GetFStringNotificationsStreamNotificationUXLayer_0 = v2.GetFStringNotificationsStreamNotificationUXLayer;
local l_getFStringSocialConnectTabLayer_0 = require(l_Parent_0.SharedFlags).getFStringSocialConnectTabLayer;
local l_FFlagLuaAppConsolidateProfileLogging_0 = require(l_Parent_0.SharedFlags).FFlagLuaAppConsolidateProfileLogging;
local v32 = 24;
local v33 = 22;
local v34 = require(l_script_FirstAncestor_0.EnumScreens);
local v35 = require(l_script_FirstAncestor_0.User);
local l_GetFFlagLuaAppNewStreamNotificationsEnabled_0 = v2.GetFFlagLuaAppNewStreamNotificationsEnabled;
local l_StreamNotificationsBellIcon_0 = v2.StreamNotifications.StreamNotificationsBellIcon;
local v38 = l_Roact_0.PureComponent:extend("SocialTabPage");
v38.TileCellSize = {
    Wide = UDim2.fromOffset(176, 176),
    Compact = UDim2.fromOffset(158, 158)
};
v38.TileHorizontalAlignment = {
    Wide = Enum.HorizontalAlignment.Left,
    Compact = Enum.HorizontalAlignment.Center
};
v38.defaultProps = {
    topBarHeight = 56,
    navigation = nil,
    wideMode = false,
    unreadConversationCount = 0,
    numberOfNotifications = 0,
    localUser = {},
    enableDisplayNamePolicy = false,
    socialText = "[LOCALIZE] TITLE",
    chatsText = "[LOCALIZE] CHATS",
    groupsText = "[LOCALIZE] GROUPS",
    renderUserCarousel = function(v39)
        return l_Roact_0.createElement("TextLabel", {
            Text = "User Carousel PlaceHolder",
            Size = UDim2.new(1, 0, 0, 40),
            LayoutOrder = v39.LayoutOrder
        });
    end,
    refreshPageData = function()
        return l_Promise_0.resolve();
    end,
    shouldShowGroupsTilePolicy = false,
    enableNotificationsPolicy = false,
    isProfileShareEnabled = false,
    disableWebViewSupport = false,
    newStreamNotificationsEnabled = false,
    enteredChatFromEntryPoint = function()
    end
};
v38.validateProps = l_t_0.interface({
    topBarHeight = l_t_0.optional(l_t_0.number),
    showTopBar = l_t_0.optional(l_t_0.boolean),
    analytics = l_t_0.table,
    wideMode = l_t_0.optional(l_t_0.boolean),
    navigateToLuaAppPages = l_t_0.optional(l_t_0.table),
    navigation = l_t_0.optional(l_t_0.table),
    localUser = v35.validateUser,
    enableDisplayNamePolicy = l_t_0.optional(l_t_0.boolean),
    enableNotificationsPolicy = l_t_0.optional(l_t_0.boolean),
    renderUserCarousel = l_t_0.callback,
    socialText = l_t_0.optional(l_t_0.string),
    chatsText = l_t_0.optional(l_t_0.string),
    groupsText = l_t_0.optional(l_t_0.string),
    numberOfNotifications = l_t_0.optional(l_t_0.number),
    unreadConversationCount = l_t_0.optional(l_t_0.number),
    refreshPageData = l_t_0.optional(l_t_0.callback),
    shouldShowGroupsTilePolicy = l_t_0.optional(l_t_0.boolean),
    isProfileShareEnabled = l_t_0.optional(l_t_0.boolean),
    luaAddFriendsPageEnabled = l_t_0.optional(l_t_0.boolean),
    isLuaProfilePageEnabled = l_t_0.optional(l_t_0.boolean),
    replaceSearchEntry = l_t_0.optional(l_t_0.boolean),
    newStreamNotificationsEnabled = l_t_0.optional(l_t_0.boolean),
    enteredChatFromEntryPoint = l_t_0.optional(l_t_0.callback)
});
v38.init = function(v40)
    if v40.props.replaceSearchEntry then
        v32 = 16;
        v33 = 16;
    end;
    v40.gridButtons = v40:getGridItems();
    v40.goToChat = function()
        v3:info("Going to Chats");
        v40.props.analytics:buttonClick("Chats");
        v40.props.analytics:navigate("Chats");
        v40.props.enteredChatFromEntryPoint(l_ChatEntryPointNames_0.SocialTab);
        v40.props.navigation.navigate(v34.RoactChat);
    end;
    v40.goToGroups = function()
        v3:info("Going to Groups");
        v40.props.analytics:buttonClick("Groups");
        v40.props.analytics:navigate("Groups");
        v40.props.navigateToLuaAppPages[v34.Groups]();
    end;
    v40.goToUserProfile = function()
        v3:info("Going to User Profile");
        v40.props.analytics:buttonClick("LoggedInUserIdentity");
        v40.props.analytics:navigate("LoggedInUserIdentity");
        if (not v40.props.discoverabilityUpsellOnProfileSelfViewEnabled or not v40.props.isPhoneVerified) or not v40.props.isDiscoverabilityUnset then
            v40.props.navigateToLuaAppPages[v34.ViewUserProfile](v40.props.localUser.id, {
                profilePeekViewProps = if not l_FFlagLuaAppConsolidateProfileLogging_0 then nil else {
                    source = l_Sources_0.SocialTab
                }
            });
            return ;
        else
            v40.props.navigateToLuaAppPages[v34.DiscoverabilityModal]({
                isStandaloneDiscoverabilityModal = true,
                showToast = v40.props.showToast,
                openLearnMoreLink = v40.props.openLearnMoreLink,
                navigateOnActivated = function()
                    v40.props.navigateToLuaAppPages[v34.ViewUserProfile](v40.props.localUser.id, {
                        profilePeekViewProps = if not l_FFlagLuaAppConsolidateProfileLogging_0 then nil else {
                            source = l_Sources_0.SocialTab
                        }
                    });
                end,
                entryPoint = l_EntryPoints_0.SocialTabProfile,
                onClose = v40.props.closeCentralOverlay
            });
            return ;
        end;
    end;
    v40.goToProfileShare = function()
        v3:info("Going to Share Profile");
        v40.props.analytics:buttonClick("userShareProfileLink", {
            page = "Chat"
        });
        v40.props.navigateToLuaAppPages[v34.ProfileShare](v40.props.localUser.id);
    end;
    v40.goToFriendsLanding = function()
        if v40.props.navigatingFromSocialTabEvent then
            v40.props.navigatingFromSocialTabEvent(v34.FriendsLanding);
        end;
        v40.props.navigation.navigate(v34.FriendsLanding);
    end;
    v40.goToAddFriends = function()
        v40.props.navigation.navigate(v34.FriendsLanding, {
            EntryPage = "AddFriendsPage"
        });
    end;
    v40.goToUserSearch = function()
        v40.props.navigation.navigate(v34.FriendsLanding, {
            EntryPage = l_AppPage_0.SearchPage,
            shouldShowUserSearchLandingPage = true,
            userSearchSource = l_Sources_0.SocialTab,
            screenTopBarParams = {
                shouldRenderCenter = true,
                shouldAutoFocusCenter = true
            }
        });
        v40.props.analytics:buttonClick("peopleSearchBar", {
            formFactor = not not v40.props.wideMode and l_FormFactor_0.WIDE or l_FormFactor_0.COMPACT
        });
        v40.props.analytics:openPlayerSearch();
    end;
    v40.renderTopBarButtons = l_memoize_0(function(v41, _)
        local function v48()
            if not (not not l_GetFFlagLuaAppNewStreamNotificationsEnabled_0() and v40.props.newStreamNotificationsEnabled) then
                local l_createElement_0 = l_Roact_0.createElement;
                local l_l_IconButton_0_0 = l_IconButton_0;
                local v45 = {
                    size = UDim2.fromOffset(0, 0),
                    icon = l_Images_0["icons/common/notificationOn"],
                    layoutOrder = 3,
                    onActivated = function()
                        v3:info("Going to Notifications");
                        v40.props.analytics:buttonClick("Notifications");
                        v40.props.analytics:navigate("Notifications");
                        v40.props.navigateToLuaAppPages[v34.Notifications](true);
                    end
                };
                local v46 = {};
                local v47 = false;
                if v41 > 0 then
                    v47 = l_Roact_0.createElement(l_Badge_0, {
                        position = UDim2.new(0.5, 0, 0.5, 0),
                        anchorPoint = Vector2.new(0, 1),
                        value = v41,
                        badgeVariant = l_BadgeVariant_0.Alert
                    });
                end;
                v46.notificationsBadge = v47;
                return l_createElement_0(l_l_IconButton_0_0, v45, v46);
            else
                return l_Roact_0.createElement(l_StreamNotificationsBellIcon_0, {
                    notificationCount = v41,
                    compactWidth = not v40.props.wideMode,
                    layoutOrder = 3
                });
            end;
        end;
        local v49 = nil;
        v49 = if not v40.props.enableNotificationsPolicy then nil else v48();
        if not v40.props.disableWebViewSupport then
            return function()
                return l_Roact_0.createFragment({
                    filter = if not v40.props.replaceSearchEntry then l_Roact_0.createElement(l_IconButton_0, {
                        size = UDim2.fromOffset(0, 0),
                        icon = l_Images_0["icons/common/search"],
                        layoutOrder = 1,
                        onActivated = function()
                            v3:info("Going to AddFriends");
                            v40.props.analytics:buttonClick("SearchFriends");
                            v40.props.analytics:navigate("SearchFriends");
                            v40.props.navigateToLuaAppPages[v34.AddFriends]();
                        end
                    }) else nil,
                    notifications = v49
                });
            end;
        else
            return function()
                return l_Roact_0.createFragment({});
            end;
        end;
    end);
    v40.renderButtonGridItem = l_memoize_0(function(v50)
        return function(v51, v52)
            if v51 == "Chats" then
                return l_Roact_0.createElement(v24, {
                    unreadConversationCount = v50,
                    LayoutOrder = v52,
                    title = v40.props.chatsText,
                    onActivated = v40.goToChat
                });
            elseif v51 == "Groups" then
                return l_Roact_0.createElement(v25, {
                    LayoutOrder = v52,
                    title = v40.props.groupsText,
                    onActivated = v40.goToGroups
                });
            else
                return nil;
            end;
        end;
    end);
    v40.getButtonGridItemHeight = function(v53)
        return v53;
    end;
    local v54, v55 = l_Roact_0.createBinding(0);
    v40.contentHeight = v54;
    v40.updateContentHeight = v55;
end;
v38.getGridItems = function(v56)
    local v57 = {
        "Chats"
    };
    if not (not v56.props.shouldShowGroupsTilePolicy or v56.props.disableWebViewSupport) then
        table.insert(v57, "Groups");
    end;
    return v57;
end;
v38.render = function(v58)
    return l_UIBlox_0.Style.withStyle(function(_)
        return l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1,
            LayoutOrder = 2
        }, {
            layout = l_Roact_0.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Top,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            topBar = l_Roact_0.createElement("Frame", {
                LayoutOrder = 1,
                Size = UDim2.new(1, 0, 0, if not v58.props.replaceSearchEntry then v58.props.topBarHeight else v58.props.topBarHeight + 48),
                BackgroundTransparency = 1
            }, {
                UIListLayout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center
                }),
                Header = l_Roact_0.createElement(l_HeaderBar_0, {
                    barHeight = v58.props.topBarHeight,
                    title = v58.props.socialText,
                    renderRight = v58.renderTopBarButtons(v58.props.numberOfNotifications, v58.props.enableNotificationsPolicy)
                }),
                UserSearchBarButton = if not v58.props.replaceSearchEntry then nil else l_Roact_0.createElement(l_UserSearchBarButton_0, {
                    onActivated = v58.goToUserSearch
                })
            }),
            gridFrame = l_Roact_0.createElement("Frame", {
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1,
                LayoutOrder = 2
            }, {
                ScrollView = l_Roact_0.createElement(l_RefreshScrollingFrame_0, {
                    scrollingElementProps = {
                        Size = UDim2.new(1, 0, 1, if not v58.props.replaceSearchEntry then -v58.props.topBarHeight else -(v58.props.topBarHeight + 48)),
                        ScrollBarThickness = 0,
                        BackgroundTransparency = 1,
                        CanvasSize = UDim2.new(1, 0, 1, if not v58.props.replaceSearchEntry then -v58.props.topBarHeight + 1 else -(v58.props.topBarHeight + 48) + 1),
                        AutomaticCanvasSize = Enum.AutomaticSize.XY,
                        ScrollingDirection = Enum.ScrollingDirection.Y
                    },
                    refresh = v58.props.refreshPageData
                }, {
                    Layout = l_Roact_0.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Vertical,
                        SortOrder = Enum.SortOrder.LayoutOrder
                    }),
                    pageMargin = l_Roact_0.createElement(l_HorizontalPageMargin_0, {
                        size = UDim2.new(1, 0, 0, 0),
                        useAutomaticSizing = true,
                        layoutOrder = 1,
                        backgroundTransparency = 1
                    }, {
                        Layout = l_Roact_0.createElement("UIListLayout", {
                            FillDirection = Enum.FillDirection.Vertical,
                            SortOrder = Enum.SortOrder.LayoutOrder
                        }),
                        spacerTopBar = l_Roact_0.createElement("Frame", {
                            Size = UDim2.new(1, 0, 0, v32),
                            BackgroundTransparency = 1,
                            LayoutOrder = 1
                        }),
                        profileEntry = l_Roact_0.createElement(v26, {
                            userText = not not v58.props.enableDisplayNamePolicy and v58.props.localUser.displayName or v58.props.localUser.username,
                            avatarImage = v58.props.localUser.thumbnail,
                            isPremium = v58.props.localUser.isPremium,
                            navigateToLuaAppPages = v58.props.navigateToLuaAppPages,
                            hasVerifiedBadge = v58.props.localUser.hasVerifiedBadge,
                            onActivated = v58.goToUserProfile,
                            isProfileShareEnabled = v58.props.isProfileShareEnabled,
                            onActivatedProfileShare = v58.goToProfileShare,
                            layoutOrder = 2
                        }),
                        spacerProfile = l_Roact_0.createElement("Frame", {
                            Size = UDim2.new(1, 0, 0, v33),
                            BackgroundTransparency = 1,
                            LayoutOrder = 3
                        }),
                        friendsCarousel = v58.props.renderUserCarousel({
                            LayoutOrder = 4,
                            wideMode = v58.props.wideMode,
                            navigateToLuaAppPages = v58.props.navigateToLuaAppPages,
                            goToFriendsLanding = v58.goToFriendsLanding,
                            goToAddFriends = v58.goToAddFriends,
                            luaAddFriendsPageEnabled = v58.props.luaAddFriendsPageEnabled
                        }),
                        spacerFriends = l_Roact_0.createElement("Frame", {
                            Size = UDim2.new(1, 0, 0, 36),
                            BackgroundTransparency = 1,
                            LayoutOrder = 5
                        }),
                        buttonGrid = l_Roact_0.createElement(l_DefaultMetricsGridView_0, {
                            LayoutOrder = 6,
                            renderItem = v58.renderButtonGridItem(v58.props.unreadConversationCount),
                            getItemHeight = v58.getButtonGridItemHeight,
                            getItemMetrics = l_GridMetrics_0.getMediumMetrics,
                            itemPadding = Vector2.new(12, 12),
                            items = v58.gridButtons
                        })
                    })
                })
            })
        });
    end);
end;
v38.didMount = function(v60)
    v3:info("SocialTabPage mounted");
    v60.props.analytics:pageLoaded();
end;
return (l_RoactAppExperiment_0.connectUserLayer({
    l_getFStringSocialConnectTabLayer_0()
}, function(v61, _)
    return {
        replaceSearchEntry = (v61[l_getFStringSocialConnectTabLayer_0()] or {}).replace_search_entry
    };
end)((l_RoactAppExperiment_0.connectUserLayer({
    l_GetFStringNotificationsStreamNotificationUXLayer_0()
}, function(v63)
    return {
        newStreamNotificationsEnabled = (v63[l_GetFStringNotificationsStreamNotificationUXLayer_0()] or {}).newStreamNotificationsEnabled or false
    };
end)(v38))));


local v0 = require(script:FindFirstAncestor("SocialTab").dependencies);
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
local l_t_0 = v0.t;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_validateColorInfo_0 = l_UIBlox_0.Style.Validator.validateColorInfo;
local l_validateImage_0 = l_UIBlox_0.Core.ImageSet.Validator.validateImage;
local l_llama_0 = v0.llama;
local v8 = l_Roact_0.PureComponent:extend("StyledImageSetLabel");
v8.defaultProps = {
    BackgroundStyle = {
        Color = Color3.fromRGB(0, 0, 0),
        Transparency = 1
    },
    ImageStyle = {
        Color = Color3.fromRGB(255, 255, 255),
        Transparency = 0
    },
    BorderSizePixel = 0,
    Size = UDim2.new(1, 0, 1, 0),
    Image = ""
};
v8.validateProps = l_t_0.interface({
    BackgroundStyle = l_t_0.optional(l_validateColorInfo_0),
    ImageStyle = l_t_0.optional(l_validateColorInfo_0),
    Image = l_t_0.optional(l_t_0.union(l_t_0.string, l_validateImage_0))
});
v8.render = function(v9)
    return l_Roact_0.createElement(l_ImageSetLabel_0, l_llama_0.Dictionary.join({
        BackgroundColor3 = v9.props.BackgroundStyle.Color,
        BackgroundTransparency = v9.props.BackgroundStyle.Transparency,
        ImageColor3 = v9.props.ImageStyle.Color,
        ImageTransparency = v9.props.ImageStyle.Transparency
    }, v9.props, {
        BackgroundStyle = l_llama_0.None,
        ImageStyle = l_llama_0.None,
        [l_Roact_0.Children] = l_llama_0.None
    }), v9.props[l_Roact_0.Children]);
end;
return v8;


local v0 = require(script:FindFirstAncestor("SocialTab").dependencies);
local l_Roact_0 = v0.Roact;
local l_t_0 = v0.t;
local l_UIBlox_0 = v0.UIBlox;
local l_llama_0 = v0.llama;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_validateColorInfo_0 = l_UIBlox_0.Style.Validator.validateColorInfo;
local l_validateFontInfo_0 = l_UIBlox_0.Style.Validator.validateFontInfo;
local v8 = l_Roact_0.PureComponent:extend("StyledTextLabel");
v8.defaultProps = {
    BackgroundStyle = {
        Color = Color3.fromRGB(0, 0, 0),
        Transparency = 1
    },
    FontStyle = {
        Font = Enum.Font.Gotham,
        RelativeSize = 1,
        RelativeMinSize = 1
    },
    TextStyle = {
        Color = Color3.fromRGB(0, 0, 0),
        Transparency = 1
    },
    BorderSizePixel = 0,
    Size = UDim2.new(1, 0, 1, 0),
    Text = "Text"
};
v8.validateProps = l_t_0.interface({
    BackgroundStyle = l_t_0.optional(l_validateColorInfo_0),
    FontStyle = l_t_0.optional(l_validateFontInfo_0),
    TextStyle = l_t_0.optional(l_validateColorInfo_0),
    Text = l_t_0.optional(l_t_0.string)
});
v8.render = function(v9)
    return l_withStyle_0(function(v10)
        return l_Roact_0.createElement("TextLabel", l_llama_0.Dictionary.join({
            BackgroundColor3 = v9.props.BackgroundStyle.Color,
            BackgroundTransparency = v9.props.BackgroundStyle.Transparency,
            Font = v9.props.FontStyle.Font,
            TextSize = v9.props.FontStyle.RelativeSize * v10.Font.BaseSize,
            TextColor3 = v9.props.TextStyle.Color,
            TextTransparency = v9.props.TextStyle.Transparency
        }, v9.props, {
            BackgroundStyle = l_llama_0.None,
            FontStyle = l_llama_0.None,
            TextStyle = l_llama_0.None
        }));
    end);
end;
return v8;


return {
    SocialTabEntryPoint = require(script.SocialTabEntryPoint),
    SocialTabPage = require(script.SocialTabPage)
};


local l_llama_0 = require(script:FindFirstAncestor("SocialTab").dependencies).llama;
return function(...)
    local v1 = {
        ...
    };
    return function(v2)
        return l_llama_0.List.reduceRight(v1, function(v3, v4)
            return v4(v3);
        end, v2);
    end;
end;


return {
    SocialTab = "SocialTab",
    RoactChat = "RoactChat",
    FriendsLanding = "FriendsLanding",
    AddFriends = "AddFriends",
    GameDetail = "GameDetail",
    Groups = "Groups",
    Notifications = "Notifications",
    PrivacySettings = "PrivacySettings",
    ReportAbuse = "ReportAbuse",
    ViewUserProfile = "ViewUserProfile",
    FriendFinder = "FriendFinder",
    AddFriendsAccountProvider = "AddFriendsAccountProvider",
    ViewUser = "ViewUser",
    GameDetailsPeekView = "GameDetailsPeekView",
    ProfileShare = "ProfileShare",
    LearnMore = "LearnMore",
    PhoneVerification = "PhoneVerification",
    ViewFriends = "ViewFriends",
    ViewUserProfilePeekView = "ViewUserProfilePeekView",
    VerifiedBadgeModal = "VerifiedBadgeModal",
    DiscoverabilityModal = "DiscoverabilityModal",
    ProfileQRCode = "ProfileQRCode",
    AmpWizardContainer = "AmpWizardContainer",
    SearchPage = "SearchPage",
    SquadLobby = "SquadLobby"
};


return require(script:FindFirstAncestor("SocialTab").dependencies).enumerate(script.Name, {
    AddFriendsHintTitle = "Feature.SocialTab.Label.AddFriendHint",
    AddFriendsHintText = "Feature.SocialTab.Label.AddFriendHintBody",
    AddProviderFriendsHintTitle = "Feature.Home.AddProviderFriendHintTitle",
    AddFriend = "Feature.Chat.Label.AddFriends",
    InviteFriend = "Feature.Friends.Action.InviteProviderFriends",
    FriendsHeader = "CommonUI.Features.Label.Friends",
    FriendsHeaderWithCount = "Feature.Home.HeadingFriends"
});


game:DefineFastFlag("DebugSocialTabCarouselEnabled", false);
return function()
    return game:GetFastFlag("DebugSocialTabCarouselEnabled");
end;


game:DefineFastFlag("SocialTabReplaceRefreshConversations", false);
return function()
    return game:GetFastFlag("SocialTabReplaceRefreshConversations");
end;


game:DefineFastFlag("SocialTabUseUIBloxCarouselForFriends", false);
return function()
    return game:GetFastFlag("SocialTabUseUIBloxCarouselForFriends");
end;


game:DefineFastInt("DebugSocialTabCarouselFriendsNumber", 0);
return function()
    return game:GetFastInt("DebugSocialTabCarouselFriendsNumber");
end;


local l_rolloutByApplicationId_0 = require(script:FindFirstAncestor("SocialTab").Parent.AppCommonLib).rolloutByApplicationId;
game:DefineFastInt("SocialTabUserProfileApiRollout", 0);
game:DefineFastFlag("SocialTabUserProfileApiEnabledForAll", false);
local function v1()
    return game:GetFastInt("SocialTabUserProfileApiRollout");
end;
local function _()
    return game:GetFastFlag("SocialTabUserProfileApiEnabledForAll");
end;
local v3 = l_rolloutByApplicationId_0(v1);
return function()
    return game:GetFastFlag("SocialTabUserProfileApiEnabledForAll") or v3();
end;


game:DefineFastFlag("SocialTabAutoSizedCarouselAndTileEnabled2", false);
return function()
    return game:GetFastFlag("SocialTabAutoSizedCarouselAndTileEnabled2");
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_llama_0 = v1.llama;
local l_RoactNavigation_0 = v1.RoactNavigation;
local l_BackBehavior_0 = v1.RoactNavigation.BackBehavior;
local v6 = require(l_script_FirstAncestor_0.SocialTabContext);
local v7 = require(l_script_FirstAncestor_0.SocialTabEventReceiver);
local v8 = require(l_script_FirstAncestor_0.SocialTabNavigationEventReceiver);
local v9 = require(l_script_FirstAncestor_0.Components.SocialTabContainer);
local v10 = require(l_script_FirstAncestor_0.EnumScreens);
local l_getFFlagEnableNewChatTabExperimentAndroidBackButtonFix_0 = v1.AppChat.Flags.getFFlagEnableNewChatTabExperimentAndroidBackButtonFix;
local l_default_0 = v1.SocialCommon.Experiments.NewChatTabExperimentation.default;
local function v13(v14)
    local l_state_0 = v14.state;
    local v16 = l_state_0.routes and l_state_0.routes[l_state_0.index];
    if not v16 or not v16.routes then
        return l_RoactNavigation_0.getActiveChildNavigationOptions(v14);
    else
        return v13((v14.getChildNavigation(v16.key)));
    end;
end;
local function v17(v18)
    local v19 = v18.routes and v18.routes[v18.index];
    if not v19 then
        return v18.routeName;
    else
        return v17(v19);
    end;
end;
return function(v20, v21)
    local v22 = l_default_0.isEnabled() and l_default_0:getConnectTabLeadsToChatTab();
    local v26 = {
        {
            [v10.SocialTab] = {
                screen = function(v23)
                    return l_Roact_0.createFragment({
                        screen = l_Roact_0.createElement(v9, {
                            navigation = v23.navigation
                        }),
                        navigationEvents = l_Roact_0.createElement(v8, {
                            navigationEventReceiver = l_RoactNavigation_0.NavigationEvents
                        })
                    });
                end,
                navigationOptions = {
                    tabBarVisible = true
                }
            }
        },
        {
            [v10.RoactChat] = {
                screen = function(v24)
                    return v6.with(function(v25)
                        return l_Roact_0.createElement(v20[v10.RoactChat], (l_llama_0.Dictionary.join(v24, v21, {
                            logger = v25.Logger,
                            isLuaProfilePageEnabled = v25.isLuaProfilePageEnabled,
                            parameters = v25.parameters,
                            wideMode = v25.wideMode,
                            isVisible = v25.isVisible,
                            notificationCount = v25.notificationCount,
                            navigateToLuaAppPages = v25.navigateToLuaAppPages,
                            rnBypassActionSignal = v25.rnBypassActionSignal,
                            setActiveConversationId = v25.setActiveConversationId,
                            setBackButtonEnabled = v25.setBackButtonEnabled,
                            setTabBarVisible = v25.setTabBarVisible,
                            androidBackButtonSignal = v21.androidBackButtonSignal[v10.RoactChat],
                            androidBackButtonConnection = if not l_getFFlagEnableNewChatTabExperimentAndroidBackButtonFix_0() then nil else v21.androidBackButtonConnection,
                            updateExternalNavigationForScreen = v25.updateExternalNavigationForScreen
                        }, {
                            navigateToRootStack = function()
                                v24.navigation.navigate(v10.SocialTab);
                            end,
                            navigateToAddFriends = if not l_default_0.isEnabled() then nil else function()
                                v24.navigation.navigate(v10.FriendsLanding, {
                                    EntryPage = "AddFriendsPage"
                                });
                            end
                        })));
                    end);
                end,
                navigationOptions = {
                    tabBarVisible = not not v22 or false
                }
            }
        },
        v20[v10.FriendsLanding] and {
            [v10.FriendsLanding] = v20[v10.FriendsLanding](v6)
        }
    };
    if v22 then
        v26 = l_llama_0.List.removeIndex(v26, 1);
    end;
    local v27 = l_RoactNavigation_0.createRobloxSwitchNavigator(v26, {
        initialRouteName = v21.initialRouteName,
        keepVisitedScreensMounted = false,
        backBehavior = if not l_default_0.isEnabled() then l_BackBehavior_0.InitialRoute else l_BackBehavior_0.History
    });
    local v28 = l_Roact_0.PureComponent:extend("SocialTabSwitchNavigator");
    v28.init = function(v29)
        v29.onBackButtonPressed = function()
            local l_state_1 = v29.props.navigation.state;
            local v31 = l_state_1.routes and l_state_1.routes[l_state_1.index];
            local v32 = if not v31 then l_state_1.routeName else v17(v31);
            if not v29.props.androidBackButtonHandlerDisabled then
                if not (v32 ~= v10.RoactChat) or v32 == v10.SocialTab then
                    v21.androidBackButtonSignal[v32]:fire();
                    return ;
                else
                    v29.props.navigation.goBack();
                    return ;
                end;
            else
                return ;
            end;
        end;
        v29.isTabViewVisible = function()
            local l_state_2 = v29.props.navigation.state;
            local v34 = l_state_2.routes and l_state_2.routes[l_state_2.index];
            return if not v34 then l_state_2.routeName else v17(v34) == v10.SocialTab;
        end;
    end;
    v28.didMount = function(v35)
        v21.connectToAndroidBackButton(v35.onBackButtonPressed);
    end;
    v28.willUnmount = function(_)
        v21.disconnectFromAndroidBackButton();
    end;
    v28.willUpdate = function(_, v38)
        local l_navigation_0 = v38.navigation;
        local l_state_3 = l_navigation_0.state;
        local v41 = l_state_3.routes and l_state_3.routes[l_state_3.index];
        local v42 = if not not v41 and v41.routes then v13((l_navigation_0.getChildNavigation(v41.key))) else l_RoactNavigation_0.getActiveChildNavigationOptions(l_navigation_0);
        if v42 and v42.tabBarVisible ~= nil then
            v21.setTabBarVisible(v42.tabBarVisible);
        end;
    end;
    v28.render = function(v43)
        return v6.with(function(v44)
            if v44.isLuaProfilePageEnabled then
                v44.setIsTabBarEnabled(v43.isTabViewVisible);
            end;
            return l_Roact_0.createFragment({
                eventReceiver = l_Roact_0.createElement(v7, {
                    robloxEventReceiver = v44.robloxEventReceiver,
                    getActiveConversationId = v44.getActiveConversationId,
                    showTabBar = function()
                        local l_state_4 = v43.props.navigation.state;
                        local v46 = l_state_4.routes and l_state_4.routes[l_state_4.index];
                        v21.setTabBarVisible(if not v46 then l_state_4.routeName else v17(v46) == if not v22 then v10.SocialTab else v10.RoactChat);
                    end,
                    goToChat = function()
                        v43.props.navigation.navigate(v10.RoactChat);
                    end
                }),
                switchNavigator = l_Roact_0.createElement(v27, {
                    navigation = v43.props.navigation
                })
            });
        end);
    end;
    v28.router = v27.router;
    return v28;
end;


local v0 = require(script:FindFirstAncestor("SocialTab").dependencies);
local l_RoduxNetworking_0 = v0.RoduxNetworking;
local l_Url_0 = v0.Url;
return l_RoduxNetworking_0.GET(script, function(v3)
    return v3(l_Url_0.CHAT_URL):path("chat-settings");
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.AppChat);
local v3 = require(l_Parent_0.AppChatNetworking);
if not v2.Flags.isAppChatChannelsAPIEnabled() then
    local v4 = require(l_script_FirstAncestor_0.dependencies);
    local l_RoduxNetworking_0 = v4.RoduxNetworking;
    local l_Url_0 = v4.Url;
    return l_RoduxNetworking_0.GET(script, function(v7)
        return v7(l_Url_0.CHAT_URL):path("get-unread-conversation-count");
    end);
else
    return v3.rodux.GetConversationMetadata;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
return {
    FetchChatSettings = require(l_script_FirstAncestor_0.Parent.AppChat).Conversations.Thunks.FetchChatSettings,
    GetUserV2FromUserId = require(l_script_FirstAncestor_0.dependencies).NetworkingUsers.GetUserV2FromUserId,
    GetUnreadConversationCount = require(script.GetUnreadConversationCount)
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(script.Context);
local l_Context_0 = require(l_script_FirstAncestor_0.dependencies).SocialLibraries.Context;
return {
    Context = v1,
    Provider = v1.Provider,
    Consumer = v1.Consumer,
    with = l_Context_0.getWith(v1),
    connect = l_Context_0.getConnect(v1)
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_RoactRodux_0 = v1.RoactRodux;
local v4 = require(l_script_FirstAncestor_0.Requests.GetUnreadConversationCount);
local v5 = require(l_script_FirstAncestor_0.Logger);
local v6 = l_Roact_0.PureComponent:extend("SocialTabNavigationEventReceiver");
v6.init = function(v7)
    v7.skipDidFocusOnMount = true;
    v7.getUnreadConversationCount = function()
        return v7.props.getUnreadConversationCount():catch(function(v8)
            v5:warning("{} has issues fetching UnreadConversationCount: {}", script.Name, v8);
        end);
    end;
    v7.onDidFocusHandler = function()
        if not v7.skipDidFocusOnMount then
            v7.getUnreadConversationCount();
            return ;
        else
            v7.skipDidFocusOnMount = false;
            return ;
        end;
    end;
end;
v6.render = function(v9)
    return l_Roact_0.createElement(v9.props.navigationEventReceiver, {
        onDidFocus = v9.onDidFocusHandler
    });
end;
return l_RoactRodux_0.connect(nil, function(v10)
    return {
        getUnreadConversationCount = function()
            return v10(v4.API());
        end
    };
end)(v6);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
require(l_Parent_0.UIBlox).init(require(l_Parent_0.Dev.RobloxAppUIBloxConfig));
local v2 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v2.Roact;
local v4 = require(script.Parent.temp.mockLocale);
local v5 = require(script.Parent.temp.styleWrapper);
local v6 = require(l_script_FirstAncestor_0.Logger);
local v7 = v2.Lumberyak.Logger.new();
v7:addSink({
    maxLevel = v7.Levels.fromString("info"),
    log = function(_, v9, _)
        print(v9);
    end
});
v6:setParent(v7);
return {
    storyRoots = {
        l_script_FirstAncestor_0.Components
    },
    roact = l_Roact_0,
    mapStory = function(v11)
        return function(v12)
            return v4(v5(v11, v12));
        end;
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local v3 = require(script.Parent.temp.styleWrapper);
local v4 = require(script.Parent.temp.mockLocale);
local v5 = require(l_script_FirstAncestor_0.Logger);
local v6 = v1.Lumberyak.Logger.new();
v6:addSink({
    maxLevel = v6.Levels.fromString("info"),
    log = function(_, v8, _)
        print(v8);
    end
});
v5:setParent(v6);
return {
    storyRoots = {
        l_script_FirstAncestor_0.UserCarousel.Components
    },
    roact = l_Roact_0,
    mapStory = function(v10)
        return function(v11)
            return v4(v3(v10, v11));
        end;
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.Logger);
local v2 = require(script.temp.StyleSwapper);
local v3 = require(l_script_FirstAncestor_0.devDependencies).Lumberyak.Logger.new();
v3:addSink({
    maxLevel = v3.Levels.fromString("info"),
    log = function(_, v5, _)
        if not _G.__TESTEZ_RUNNING_TEST__ then
            print(v5);
        end;
    end
});
v1:setParent(v3);
return {
    name = "SocialTab",
    storyRoot = l_script_FirstAncestor_0.Components,
    middleware = v2()
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local l_UiModeStyleProvider_0 = v1.UiModeStyleProvider;
local v4 = require(script.Parent.mockLocale);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_RadioButtonList_0 = l_UIBlox_0.App.InputButton.RadioButtonList;
local l_RoactRodux_0 = v1.RoactRodux;
local l_Rodux_0 = v1.Rodux;
local v10 = require(l_Parent_0.ApolloClient);
local l_mockApolloClient_0 = require(l_Parent_0.GraphQLServer).ApolloClientTestUtils.mockApolloClient;
local function v17(v12)
    local v13 = {
        "Dark",
        "Light"
    };
    local v15 = {
        radioButtonList = l_Roact_0.createElement(l_RadioButtonList_0, {
            radioButtons = v13,
            onActivated = function(v14)
                v12.updateStyle(v13[v14]);
            end,
            initialValue = table.find(v13, v12.styleName) or 1,
            elementSize = UDim2.new(1, 0, 0, 40)
        })
    };
    return l_UIBlox_0.Style.withStyle(function(v16)
        return l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0)
        }, {
            layout = l_Roact_0.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                FillDirection = Enum.FillDirection.Horizontal
            }),
            sideBar = l_Roact_0.createElement("Frame", {
                Size = UDim2.new(0, v12.width, 1, 0),
                BackgroundColor3 = v16.Theme.BackgroundDefault.Color,
                LayoutOrder = 1
            }, v15),
            viewPort = l_Roact_0.createElement("Frame", {
                Size = UDim2.new(1, -v12.width, 1, 0),
                BackgroundColor3 = Color3.fromRGB(222, 255, 255),
                LayoutOrder = 2
            }, v12[l_Roact_0.Children])
        });
    end);
end;
local function v20()
    return (l_Rodux_0.Store.new(function(v18, v19)
        if v19.type == "receivedStyle" then
            return {
                style = v19.style
            };
        else
            return v18;
        end;
    end, {
        InvisibleMode = {
            NetworkStatus = {
                byUserId = {}
            }
        },
        style = "Light"
    }, {
        l_Rodux_0.thunkMiddleware
    }));
end;
local v25 = l_RoactRodux_0.connect(function(v21)
    return {
        styleName = v21.style
    };
end, function(v22)
    return {
        updateStyle = function(v23)
            return v22({
                type = "receivedStyle",
                style = v23
            });
        end
    };
end)(function(v24)
    return l_Roact_0.createElement(l_UiModeStyleProvider_0, {
        style = {
            themeName = v24.styleName
        }
    }, {
        viewportWithSidebar = l_Roact_0.createElement(v17, {
            width = v24.sideBarWidth,
            updateStyle = v24.updateStyle,
            styleName = v24.styleName
        }, {
            Story = l_Roact_0.createElement(v24.story)
        })
    });
end);
return function()
    return function(v26, v27)
        local v28 = l_Roact_0.mount(v4((l_Roact_0.createElement(l_RoactRodux_0.StoreProvider, {
            store = v20()
        }, {
            l_Roact_0.createElement(v10.ApolloProvider, {
                client = l_mockApolloClient_0({})
            }, {
                container = l_Roact_0.createElement(v25, {
                    story = v26,
                    sideBarWidth = 100
                })
            })
        }))), v27, "StoryRoot");
        return function()
            l_Roact_0.unmount(v28);
        end;
    end;
end;


local v0 = require(script:FindFirstAncestor("SocialTab").dependencies);
local l_Mock_0 = v0.Mock;
local l_LocalizationProvider_0 = v0.LocalizationProvider;
local l_Roact_0 = v0.Roact;
local v4 = l_Mock_0.MagicMock.new({
    name = "Localization"
});
v4.Format = function(_, v6, _)
    return v6;
end;
return function(v8)
    return l_Roact_0.createElement(l_LocalizationProvider_0, {
        localization = v4
    }, {
        TestElement1 = v8
    });
end;


local v0 = require(script:FindFirstAncestor("SocialTab").dependencies);
local l_Roact_0 = v0.Roact;
local l_AppStyleProvider_0 = v0.UIBlox.App.Style.AppStyleProvider;
local v3 = {
    Default = {
        themeName = "Light",
        fontName = "Gotham"
    },
    Light = {
        themeName = "Light",
        fontName = "Gotham"
    },
    Dark = {
        themeName = "Dark",
        fontName = "Gotham"
    }
};
return function(v4, v5)
    return l_Roact_0.createElement(l_AppStyleProvider_0, {
        style = not not v5 and v3[v5.theme] or v3.Default
    }, {
        Child = l_Roact_0.createElement(v4, v5)
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v2.Roact;
local l_Rodux_0 = v2.Rodux;
local l_RoactRodux_0 = v2.RoactRodux;
local l_UIBlox_0 = v2.UIBlox;
local v7 = require(l_Parent_0.ApolloClient);
local v8 = require(l_Parent_0.GraphQLServer);
local v9 = require(l_Parent_0.UserProfiles);
local l_mockApolloClient_0 = v8.ApolloClientTestUtils.mockApolloClient;
local l_UnitTestHelpers_0 = require(l_script_FirstAncestor_0.devDependencies).UnitTestHelpers;
local v14 = l_Rodux_0.Store.new(function(v12, _)
    return v12;
end, {
    InvisibleMode = {
        NetworkStatus = {
            byUserId = {}
        }
    },
    ScreenSize = Vector2.new(100, 100)
}, {
    l_Rodux_0.thunkMiddleware
});
return function(v15, v16, v17)
    local l_ScreenGui_0 = Instance.new("ScreenGui");
    l_ScreenGui_0.Parent = game:GetService("CoreGui");
    local v19 = l_mockApolloClient_0({});
    v19:writeQuery({
        variables = {
            userIds = {
                "1"
            }
        },
        query = v9.Queries.userProfilesCombinedNameAndUsernameByUserIds,
        data = {
            userProfiles = {
                {
                    __typename = "UserProfile",
                    id = "1",
                    names = {
                        __typename = "Names",
                        combinedName = "Stacey",
                        username = "This shouldn't show"
                    }
                }
            }
        }
    });
    v19:writeQuery({
        variables = {
            userIds = {
                "test"
            }
        },
        query = v9.Queries.userProfilesCombinedNameAndUsernameByUserIds,
        data = {
            userProfiles = {
                {
                    __typename = "UserProfile",
                    id = "test",
                    names = {
                        __typename = "Names",
                        combinedName = "DisplayName",
                        username = "Username"
                    }
                }
            }
        }
    });
    local _ = nil;
    local v21 = l_Roact_0.mount(l_UnitTestHelpers_0.mockLocale((l_Roact_0.createFragment({
        apolloProvider = l_Roact_0.createElement(v7.ApolloProvider, {
            client = v19
        }, {
            storeProvider = l_Roact_0.createElement(l_RoactRodux_0.StoreProvider, {
                store = v14
            }, {
                styleProvider = l_Roact_0.createElement(l_UIBlox_0.App.Style.AppStyleProvider, {
                    style = {
                        themeName = "Dark",
                        fontName = "Gotham"
                    }
                }, {
                    myElement = if v17 then l_Roact_0.createElement("Frame", {
                        Size = v17
                    }, {
                        testElement = l_Roact_0.createElement(v15, v16)
                    }) else l_Roact_0.createElement(v15, v16)
                })
            })
        })
    }))), l_ScreenGui_0);
    return l_ScreenGui_0, function()
        l_Roact_0.unmount(v21);
        l_ScreenGui_0:Destroy();
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.Analytics);
local v2 = require(l_script_FirstAncestor_0.SocialTabContext);
local v3 = require(l_script_FirstAncestor_0.Flags.getFFlagSocialTabUseUIBloxCarouselForFriends);
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v5 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v5.Roact;
local l_Rodux_0 = v5.Rodux;
local l_RoactRodux_0 = v5.RoactRodux;
local l_UIBlox_0 = v5.UIBlox;
local l_Mock_0 = v5.Mock;
local v11 = require(l_Parent_0.ApolloClient);
local l_mockApolloClient_0 = require(l_Parent_0.GraphQLServer).ApolloClientTestUtils.mockApolloClient;
local l_UnitTestHelpers_0 = require(l_script_FirstAncestor_0.devDependencies).UnitTestHelpers;
local v16 = l_Rodux_0.Store.new(function(v14, _)
    return v14;
end, {
    InvisibleMode = {
        NetworkStatus = {
            byUserId = {}
        }
    },
    ScreenSize = Vector2.new(100, 100)
}, {
    l_Rodux_0.thunkMiddleware
});
return function(v17, v18)
    local l_ScreenGui_0 = Instance.new("ScreenGui");
    l_ScreenGui_0.Parent = game:GetService("CoreGui");
    local v20 = l_Mock_0.MagicMock.new();
    local v21 = l_mockApolloClient_0({});
    v20.wideMode = true;
    v20.isLuaProfilePageEnabled = v3();
    local v22 = l_Roact_0.mount(l_UnitTestHelpers_0.mockLocale((l_Roact_0.createFragment({
        l_Roact_0.createElement(v11.ApolloProvider, {
            client = v21
        }, {
            storeProvider = l_Roact_0.createElement(l_RoactRodux_0.StoreProvider, {
                store = v18.store or v16
            }, {
                styleProvider = l_Roact_0.createElement(l_UIBlox_0.App.Style.AppStyleProvider, {
                    style = {
                        themeName = "Dark",
                        fontName = "Gotham"
                    }
                }, {
                    policyProvider = l_Roact_0.createElement(v5.UniversalAppPolicy.Provider, {
                        policy = v18.policy or {
                            function()
                                return {
                                    getShowDisplayName = function()
                                        return true;
                                    end,
                                    getFriendFinder = function()
                                        return true;
                                    end,
                                    getAccountProviderName = function()
                                        return "";
                                    end,
                                    shouldInviteFromAccountProvider = function()
                                        return true;
                                    end,
                                    getShouldShowGroupsTile = function()
                                        return true;
                                    end,
                                    getChatHeaderNotifications = function()
                                        return true;
                                    end,
                                    getProfileShareEnabled = function()
                                        return true;
                                    end,
                                    getContactImporterEnabled = function()
                                        return true;
                                    end,
                                    getWebViewSupport = function()
                                        return true;
                                    end
                                };
                            end
                        }
                    }, {
                        analyticsProvider = l_Roact_0.createElement(v1.Context.Provider, {
                            value = l_Mock_0.MagicMock.new()
                        }, {
                            socialTabContext = l_Roact_0.createElement(v2.Provider, {
                                value = v20
                            }, {
                                myElement = l_Roact_0.createElement(v17, v18.props)
                            })
                        })
                    })
                })
            })
        })
    }))), l_ScreenGui_0);
    return l_ScreenGui_0, function()
        l_Roact_0.unmount(v22);
        l_ScreenGui_0:Destroy();
    end;
end;


local l_UIBlox_0 = require(script:FindFirstAncestor("SocialTab").dependencies).UIBlox;
return function(v1)
    local v2 = l_UIBlox_0.App.ImageSet.Images[v1];
    return {
        Image = v2.Image,
        ImageRectSize = v2.ImageRectSize,
        ImageRectOffset = v2.ImageRectOffset
    };
end;


return function(v0)
    return string.format("rbxthumb://type=Avatar&id=%s&w=352&h=352", (tostring(v0)));
end;


return {
    getUserFullBodyAvatarImage = require(script.getUserFullBodyAvatarImage),
    validateUser = require(script.validateUser),
    mapToUsers = require(script.mapToUsers),
    sortByPresenceAndDisplayName = require(script.sortByPresenceAndDisplayName),
    makeMockUser = require(script.makeMockUser)
};


local v0 = require(script:FindFirstAncestor("SocialTab").dependencies);
local l_User_0 = v0.RoduxUsers.Models.User;
local l_llama_0 = v0.llama;
local l_PresenceType_0 = v0.RoduxPresence.Enums.PresenceType;
return function(v4)
    local v5 = l_User_0.mock();
    return l_llama_0.Dictionary.join(v5, {
        username = v5.name,
        thumbnail = "rbxassetid://2610133241",
        userPresenceType = l_PresenceType_0.Offline,
        isPremium = false
    }, v4 or {});
end;


local v0 = require(script:FindFirstAncestor("SocialTab").dependencies);
local l_llama_0 = v0.llama;
local l_t_0 = v0.t;
local l_RoduxPresence_0 = v0.RoduxPresence;
local l_getStandardSizeAvatarHeadShotRbxthumb_0 = v0.getStandardSizeAvatarHeadShotRbxthumb;
return function(v5, _)
    return function(v7)
        assert(l_t_0.string(v7));
        if not v5.SocialTab.Users.byUserId[v7] then
            return nil;
        else
            return l_llama_0.Dictionary.join(v5.SocialTab.Users.byUserId[v7], l_RoduxPresence_0.Selectors.getUserPresenceByUserId(v5, v7), {
                thumbnail = l_getStandardSizeAvatarHeadShotRbxthumb_0(v7),
                isPremium = v5.SocialTab.PremiumByUserId[v7] or false,
                hasVerifiedBadge = if not not v5.VerifiedBadges and v5.VerifiedBadges.VerifiedUsers then v5.VerifiedBadges.VerifiedUsers[v7] or false else nil
            });
        end;
    end;
end;


local l_PresenceType_0 = require(script:FindFirstAncestor("SocialTab").dependencies).RoduxPresence.Enums.PresenceType;
local v1 = {
    [l_PresenceType_0.InGame] = 3,
    [l_PresenceType_0.Online] = 2,
    [l_PresenceType_0.InStudio] = 1,
    [l_PresenceType_0.Offline] = 0
};
local function _(v2)
    return v1[v2] or v1[l_PresenceType_0.Offline];
end;
return function(v4, v5)
    local v6 = v1[v4.userPresenceType] or v1[l_PresenceType_0.Offline];
    local v7 = v1[v5.userPresenceType] or v1[l_PresenceType_0.Offline];
    if v6 == v7 then
        return string.lower(v4.displayName) < string.lower(v5.displayName);
    else
        return v7 < v6;
    end;
end;


local l_t_0 = require(script:FindFirstAncestor("SocialTab").dependencies).t;
return l_t_0.interface({
    id = l_t_0.string,
    username = l_t_0.string,
    displayName = l_t_0.string,
    thumbnail = l_t_0.string,
    isPremium = l_t_0.boolean,
    userPresenceType = l_t_0.optional(l_t_0.userdata),
    lastLocation = l_t_0.optional(l_t_0.string)
});


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_t_0 = v1.t;
local l_Tooltip_0 = l_UIBlox_0.App.Dialog.Tooltip;
local l_TooltipOrientation_0 = l_UIBlox_0.App.Dialog.Enum.TooltipOrientation;
local l_withLocalization_0 = v1.withLocalization;
local v8 = require(l_script_FirstAncestor_0.Enums.LocalizedKeys);
local v9 = l_Roact_0.PureComponent:extend("AddFriendHint");
v9.defaultProps = {
    layoutOrder = 0,
    maxHintHeight = 100
};
v9.validateProps = l_t_0.interface({
    layoutOrder = l_t_0.optional(l_t_0.number),
    maxHintHeight = l_t_0.number
});
v9.render = function(v10)
    return l_withLocalization_0({
        addFriendsHintText = v8.AddFriendsHintText.rawValue(),
        addFriendsHintTitle = v8.AddFriendsHintTitle.rawValue()
    })(function(v11)
        return l_Roact_0.createElement("Frame", {
            Size = UDim2.new(0, 0, 1, 0),
            LayoutOrder = v10.props.layoutOrder,
            BackgroundTransparency = 1
        }, {
            HintFrame = l_Roact_0.createElement("Frame", {
                Size = UDim2.new(1, 0, 0, v10.props.maxHintHeight),
                BackgroundTransparency = 1
            }, {
                Tooltip = l_Roact_0.createElement(l_Tooltip_0, {
                    triggerPosition = Vector2.new(0, v10.props.maxHintHeight),
                    triggerSize = Vector2.new(-12, v10.props.maxHintHeight),
                    bodyText = v11.addFriendsHintText,
                    headerText = v11.addFriendsHintTitle,
                    orientation = l_TooltipOrientation_0.Right,
                    forceClickTriggerPoint = true,
                    isDirectChild = true
                })
            })
        });
    end);
end;
return v9;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_t_0 = v1.t;
local l_Mock_0 = v1.Mock;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local v8 = require(l_script_FirstAncestor_0.Components.StyledImageSetLabel);
local v9 = require(l_script_FirstAncestor_0.Components.StyledTextLabel);
local v10 = require(l_script_FirstAncestor_0.utils.calculateTextSize);
local l_withLocalization_0 = v1.withLocalization;
local v12 = require(l_script_FirstAncestor_0.Enums.LocalizedKeys);
local v13 = l_Roact_0.PureComponent:extend("AddFriendsTile");
v13.defaultProps = {
    accountProviderName = "",
    layoutOrder = 0,
    onActivated = function()
    end,
    shouldInviteFromAccountProvider = false,
    thumbnailSize = 96,
    totalHeight = 96
};
v13.validateProps = l_t_0.interface({
    accountProviderName = l_t_0.optional(l_t_0.string),
    layoutOrder = l_t_0.optional(l_t_0.number),
    onActivated = l_t_0.optional(l_t_0.union(l_t_0.callback, l_Mock_0.MagicMock.is)),
    shouldInviteFromAccountProvider = l_t_0.optional(l_t_0.boolean),
    thumbnailSize = l_t_0.number,
    totalHeight = l_t_0.number
});
v13.init = function(v14)
    v14.calculateTextSize = v10();
end;
v13.render = function(v15)
    local v16 = v12.AddFriend.rawValue();
    if v15.props.shouldInviteFromAccountProvider and v15.props.accountProviderName ~= "" then
        v16 = {
            v12.InviteFriend.rawValue();
            provider = v15.props.accountProviderName
        };
    end;
    return l_withLocalization_0({
        addFriendText = v16
    })(function(v17)
        return l_withStyle_0(function(v18)
            return l_Roact_0.createElement("Frame", {
                Size = UDim2.new(0, v15.props.thumbnailSize, 0, v15.props.totalHeight),
                BackgroundTransparency = 1,
                LayoutOrder = v15.props.layoutOrder
            }, {
                Layout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    VerticalAlignment = Enum.VerticalAlignment.Top,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, 8)
                }),
                AddFriendButton = l_Roact_0.createElement("TextButton", {
                    Size = UDim2.new(0, v15.props.thumbnailSize, 0, v15.props.thumbnailSize),
                    BackgroundColor3 = v18.Theme.UIEmphasis.Color,
                    Text = "",
                    BackgroundTransparency = v18.Theme.UIEmphasis.Transparency,
                    [l_Roact_0.Event.Activated] = v15.props.onActivated
                }, {
                    AddFriendButtonBorder = l_Roact_0.createElement(v8, {
                        Image = l_Images_0["component_assets/circle_68_stroke_2"],
                        ImageStyle = v18.Theme.SecondaryDefault,
                        Size = UDim2.new(0, v15.props.thumbnailSize, 0, v15.props.thumbnailSize)
                    }, {
                        AddIcon = l_Roact_0.createElement(v8, {
                            AnchorPoint = Vector2.new(0.5, 0.5),
                            Image = l_Images_0["icons/actions/friends/friendAdd"],
                            ImageStyle = v18.Theme.IconEmphasis,
                            Position = UDim2.new(0.5, 0, 0.5, 0),
                            Size = UDim2.new(0.45, 0, 0.45, 0)
                        })
                    }),
                    UICorner = l_Roact_0.createElement("UICorner", {
                        CornerRadius = UDim.new(1, 0)
                    })
                }),
                AddFriendsLabel = l_Roact_0.createElement(v9, {
                    BackgroundTransparency = 1,
                    FontStyle = v18.Font.CaptionHeader,
                    LayoutOrder = 2,
                    Size = UDim2.new(0, v15.props.thumbnailSize, 0, v15.calculateTextSize(v17.addFriendText .. "...", v18.Font.CaptionHeader, v18.Font.BaseSize).Y),
                    TextStyle = v18.Theme.TextEmphasis,
                    Text = v17.addFriendText,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    TextXAlignment = Enum.TextXAlignment.Center
                })
            });
        end);
    end);
end;
return v13;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_t_0 = v1.t;
local v4 = l_Roact_0.PureComponent:extend("AppCarousel");
local v5 = require(l_script_FirstAncestor_0.Flags.isSocialTabAutoSizedCarouselAndTileEnabled2);
v4.defaultProps = {
    carouselHeight = 100,
    canvasWidth = 100,
    items = {},
    onChangeCanvasPosition = function()
    end,
    onRefCallback = nil
};
v4.validateProps = l_t_0.interface({
    carouselHeight = l_t_0.optional(l_t_0.number),
    canvasWidth = l_t_0.optional(l_t_0.number),
    items = l_t_0.optional(l_t_0.table),
    onChangeCanvasPosition = l_t_0.optional(l_t_0.callback)
});
v4.render = function(v6)
    return l_Roact_0.createElement("ScrollingFrame", {
        AutomaticSize = not not v5() and Enum.AutomaticSize.Y or Enum.AutomaticSize.None,
        Size = UDim2.new(1, 0, 0, v6.props.carouselHeight),
        ScrollBarThickness = 0,
        BackgroundTransparency = 1,
        ClipsDescendants = false,
        CanvasSize = UDim2.new(0, v6.props.canvasWidth, 0, v6.props.carouselHeight),
        ScrollingDirection = Enum.ScrollingDirection.X,
        ElasticBehavior = Enum.ElasticBehavior.Always,
        [l_Roact_0.Change.CanvasPosition] = v6.props.onChangeCanvasPosition,
        [l_Roact_0.Ref] = v6.props.onRefCallback or l_Roact_0.createRef()
    }, v6.props.items);
end;
return v4;


local v0 = require(script:FindFirstAncestor("SocialTab").dependencies);
local l_Roact_0 = v0.Roact;
local l_llama_0 = v0.llama;
local l_t_0 = v0.t;
local v4 = require(script.Parent.UserCarousel);
local v5 = l_Roact_0.PureComponent:extend("FreezableUserCarousel");
v5.defaultProps = {
    isFrozen = false,
    analytics = {}
};
v5.validateProps = l_t_0.interface({
    isFrozen = l_t_0.optional(l_t_0.boolean)
});
v5.init = function(v6)
    v6.isMounted = false;
    v6.state = {
        peopleListFrozen = v6.props.isFrozen or false
    };
    v6.setPeopleListFrozen = function(v7)
        if v6.isMounted then
            v6:setState({
                peopleListFrozen = v7
            });
        end;
    end;
end;
v5.render = function(v8)
    return l_Roact_0.createElement(v4, l_llama_0.Dictionary.join(v8.props, {
        peopleListFrozen = v8.state.peopleListFrozen,
        setPeopleListFrozen = v8.setPeopleListFrozen
    }));
end;
v5.didMount = function(v9)
    v9.isMounted = true;
end;
v5.willUnmount = function(v10)
    v10.isMounted = false;
end;
return v5;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_t_0 = v1.t;
local l_memoize_0 = v1.memoize;
local v6 = require(l_script_FirstAncestor_0.User);
local l_FreeFlowCarousel_0 = l_UIBlox_0.App.Container.Carousel.FreeFlowCarousel;
local v8 = require(script.Parent.AddFriendHint);
local v9 = l_Roact_0.PureComponent:extend("UIBloxCarouselAdaptor");
v9.defaultProps = {
    friends = {},
    friendThumbnailSize = 96,
    LayoutOrder = 0,
    wideMode = false,
    tileHeight = 96
};
v9.validateProps = l_t_0.interface({
    createUserEntry = l_t_0.callback,
    friends = l_t_0.array(v6.validateUser),
    friendThumbnailSize = l_t_0.optional(l_t_0.number),
    LayoutOrder = l_t_0.optional(l_t_0.number),
    onFriendSelected = l_t_0.optional(l_t_0.callback),
    wideMode = l_t_0.optional(l_t_0.boolean)
});
v9.init = function(v10)
    v10.identifier = function(v11)
        return v11.absolutePosition;
    end;
    v10.createUserEntry = function(v12)
        if not (v12.absolutePosition == 2) or not v12.addFriendHint then
            if v12.absolutePosition > 0 and v12.isPlaceHolder == true then
                return l_Roact_0.createElement("Frame", {
                    BackgroundTransparency = 1,
                    Size = UDim2.new(0, v10.props.friendThumbnailSize, 1, 0)
                });
            else
                return v10.props.createUserEntry(v12);
            end;
        else
            return l_Roact_0.createElement(v8, {
                layoutOrder = 2,
                maxHintHeight = v10.props.friendThumbnailSize
            });
        end;
    end;
    v10.formatFriends = l_memoize_0(function(v13)
        local v14 = {};
        table.insert(v14, {
            absolutePosition = 1
        });
        if #v13 == 0 then
            table.insert(v14, {
                absolutePosition = 2,
                addFriendHint = true
            });
        end;
        for v15, v16 in ipairs(v13) do
            table.insert(v14, {
                layoutOrder = v15 + 1,
                absolutePosition = v15 + 1,
                user = v16
            });
        end;
        return v14;
    end);
end;
v9.render = function(v17)
    local v18 = not v17.props.wideMode and 24 or 48;
    return l_Roact_0.createElement("Frame", {
        LayoutOrder = v17.props.LayoutOrder,
        BackgroundTransparency = 1,
        Size = UDim2.new(1, v18, 0, v17.props.tileHeight + 18)
    }, {
        Padding = l_Roact_0.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, -v18),
            PaddingTop = UDim.new(0, -38)
        }),
        CarouselContent = l_Roact_0.createElement(l_FreeFlowCarousel_0, {
            identifier = v17.identifier,
            itemList = v17.formatFriends(v17.props.friends),
            renderItem = v17.createUserEntry,
            itemSize = Vector2.new(v17.props.friendThumbnailSize, v17.props.tileHeight + 18),
            carouselMargin = v18
        })
    });
end;
return v9;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v2.Roact;
local l_withStyle_0 = v2.UIBlox.Style.withStyle;
local l_Text_0 = v2.Text;
local l_t_0 = v2.t;
local l_llama_0 = v2.llama;
local l_Mock_0 = v2.Mock;
local v9 = require(l_script_FirstAncestor_0.User);
local v10 = require(l_script_FirstAncestor_0.Logger);
local v11 = require(l_script_FirstAncestor_0.EnumScreens);
local v12 = require(script.Parent.AddFriendsTile);
local v13 = require(script.Parent.UserTile);
local v14 = require(script.Parent.UserCarouselHeader);
local v15 = require(script.Parent.UIBloxCarouselAdaptor);
local l_Sources_0 = require(l_Parent_0.SocialLuaAnalytics).Analytics.Enums.Sources;
local l_FFlagLuaAppConsolidateProfileLogging_0 = require(l_Parent_0.SharedFlags).FFlagLuaAppConsolidateProfileLogging;
local v18 = l_Roact_0.PureComponent:extend("UserCarousel");
v18.defaultProps = {
    accountProviderName = "",
    addFriendOnActivated = function()
    end,
    enableDisplayNamePolicy = false,
    friends = {},
    friendThumbnailSize = 96,
    LayoutOrder = 0,
    Logger = v10,
    onFriendSelected = function()
    end,
    peopleListFrozen = false,
    screenSize = Vector2.new(1000, 1000),
    shouldInviteFromAccountProvider = false,
    wideMode = false,
    hasFriendRequests = false
};
v18.validateProps = l_t_0.interface({
    analytics = l_t_0.table,
    accountProviderName = l_t_0.optional(l_t_0.string),
    addFriendOnActivated = l_t_0.optional(l_t_0.callback),
    enableDisplayNamePolicy = l_t_0.optional(l_t_0.boolean),
    friends = l_t_0.array(v9.validateUser),
    friendThumbnailSize = l_t_0.optional(l_t_0.number),
    LayoutOrder = l_t_0.optional(l_t_0.number),
    onFriendSelected = l_t_0.optional(l_t_0.callback),
    peopleListFrozen = l_t_0.optional(l_t_0.boolean),
    screenSize = l_t_0.optional(l_t_0.union(l_t_0.Vector2, l_Mock_0.MagicMock.is)),
    shouldInviteFromAccountProvider = l_t_0.optional(l_t_0.boolean),
    wideMode = l_t_0.optional(l_t_0.boolean),
    hasFriendRequests = l_t_0.boolean,
    navigateToLuaAppPages = l_t_0.optional(l_t_0.table),
    goToFriendsLanding = l_t_0.optional(l_t_0.callback),
    goToAddFriends = l_t_0.optional(l_t_0.callback),
    isLuaProfilePageEnabled = l_t_0.optional(l_t_0.boolean),
    luaAddFriendsPageEnabled = l_t_0.optional(l_t_0.boolean)
});
v18.init = function(v19)
    v19.state = {
        friends = {}
    };
    v19.onFriendSelected = function(v20)
        v19.props.Logger:info("Going to ViewUser");
        v19.props.analytics:buttonClick("UserTile", {
            friendId = v20.user.id,
            position = v20.positionIndex,
            subpage = if not v19.props.isLuaProfilePageEnabled then nil else "peekView",
            page = if not v19.props.isLuaProfilePageEnabled then nil else "playerProfile"
        });
        if v19.props.isLuaProfilePageEnabled then
            v19.props.analytics:navigate("ViewUserProfile");
        end;
        local v21 = l_llama_0.Dictionary.join(v20, {
            onOpen = function()
                v19.props.setPeopleListFrozen(true);
            end,
            onClose = function()
                v19.props.setPeopleListFrozen(false);
            end
        });
        if not v19.props.isLuaProfilePageEnabled then
            v19.props.navigateToLuaAppPages[v11.ViewUser](v21);
            return ;
        else
            v19.props.navigateToLuaAppPages[v11.ViewUserProfile](v20.user.id, {
                contextualMenuProps = v21,
                profilePeekViewProps = {
                    absolutePosition = v20.absolutePosition,
                    source = if not l_FFlagLuaAppConsolidateProfileLogging_0 then nil else l_Sources_0.SocialTab
                },
                openJoinable = true
            });
            return ;
        end;
    end;
    v19.goToFriendRequestsPage = function()
        v19.props.navigateToLuaAppPages[not not v19.props.enableFriendFinder and v11.FriendFinder or v11.AddFriends]();
    end;
    v19.goToFriendsPage = function()
        v19.props.Logger:info("Going to FriendsPage");
        v19.props.analytics:buttonClick("CarouselTitle");
        v19.props.analytics:navigate("CarouselTitle");
        if v19.props.goToFriendsLanding then
            v19.props.analytics:buttonClick("friendsLanding");
            v19.props.analytics:navigate("FriendsLandingPage");
        end;
        if not v19.props.goToFriendsLanding then
            v19.props.navigateToLuaAppPages[v11.AddFriends]();
            return ;
        else
            v19.props.goToFriendsLanding();
            return ;
        end;
    end;
    v19.activatedAddFriendsTile = function()
        v19.props.Logger:info("Going to AddFriends");
        v19.props.analytics:buttonClick("AddFriends");
        v19.props.analytics:navigate("AddFriends");
        v19.props.goToAddFriends();
    end;
    v19.activatedFriendRequestsButton = function()
        v19.props.Logger:info("Going to FriendRequests");
        v19.props.analytics:buttonClick("FriendRequests", {
            isBadgeShown = v19.props.hasFriendRequests
        });
        v19.props.analytics:navigate("FriendRequests");
        v19.props.goToAddFriends();
    end;
end;
v18.getDerivedStateFromProps = function(v22)
    if v22.peopleListFrozen then
        return nil;
    else
        return {
            friends = v22.friends
        };
    end;
end;
v18.render = function(v23)
    return l_withStyle_0(function(v24)
        local v25 = (v23.props.friendThumbnailSize + l_Text_0.GetTextBounds("SampleText", v24.Font.CaptionHeader.Font, v24.Font.CaptionHeader.RelativeSize * v24.Font.BaseSize, Vector2.new(10000, 10000)).Y) + 8;
        local function v26()
            return l_Roact_0.createElement(v12, {
                accountProviderName = v23.props.getAccountProviderName,
                layoutOrder = 1,
                onActivated = v23.activatedAddFriendsTile,
                shouldInviteFromAccountProvider = v23.props.shouldInviteFromAccountProvider,
                thumbnailSize = v23.props.friendThumbnailSize,
                totalHeight = v25
            });
        end;
        return l_Roact_0.createElement("Frame", {
            AutomaticSize = Enum.AutomaticSize.Y,
            LayoutOrder = v23.props.LayoutOrder,
            BackgroundTransparency = 1,
            Size = UDim2.new(1, 0, 0, v25)
        }, {
            Layout = l_Roact_0.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Top,
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 0)
            }),
            UserCarouselHeader = l_Roact_0.createElement(v14, {
                layoutOrder = 1,
                friendCount = #v23.state.friends,
                hasFriendRequests = v23.props.hasFriendRequests,
                goToFriendRequestsPage = v23.activatedFriendRequestsButton,
                goToFriendsPage = v23.goToFriendsPage
            }),
            UserCarousel = l_Roact_0.createElement(v15, {
                createUserEntry = function(v27)
                    if v27.user == nil then
                        return v26();
                    else
                        return l_Roact_0.createElement(v13, {
                            enableDisplayNamePolicy = v23.props.enableDisplayNamePolicy,
                            height = v25,
                            layoutOrder = v27.index,
                            onActivated = v23.onFriendSelected,
                            thumbnailSize = v23.props.friendThumbnailSize,
                            user = v27.user,
                            absolutePosition = v27.absolutePosition
                        });
                    end;
                end,
                friends = v23.state.friends,
                friendThumbnailSize = v23.props.friendThumbnailSize,
                LayoutOrder = 2,
                wideMode = v23.props.wideMode,
                tileHeight = v25
            })
        });
    end);
end;
return v18;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.ContextUtils.compose);
local v2 = require(l_script_FirstAncestor_0.Analytics);
local v3 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v3.Roact;
local l_t_0 = v3.t;
local l_RoactRodux_0 = v3.RoactRodux;
local l_UniversalAppPolicy_0 = v3.UniversalAppPolicy;
local v8 = require(script.mapStateToProps);
local v9 = require(script.mapDispatchToProps);
local v10 = require(l_script_FirstAncestor_0.SocialTabContext);
local v11 = require(script.Parent.FreezableUserCarousel);
local v12 = l_Roact_0.PureComponent:extend("UserCarouselContainer");
v12.defaultProps = {
    LayoutOrder = 0,
    wideMode = false,
    navigateToLuaAppPages = nil,
    goToFriendsLanding = nil
};
v12.validateProps = l_t_0.interface({
    LayoutOrder = l_t_0.optional(l_t_0.number),
    wideMode = l_t_0.boolean,
    navigateToLuaAppPages = l_t_0.optional(l_t_0.table),
    goToFriendsLanding = l_t_0.optional(l_t_0.callback)
});
v12.render = function(v13)
    return l_Roact_0.createElement(v11, v13.props);
end;
return v1(v10.connect(function(v14)
    return {
        isLuaProfilePageEnabled = v14.isLuaProfilePageEnabled
    };
end) or nil, l_RoactRodux_0.connect(v8, v9), v2.connect(function(v15)
    return {
        analytics = v15
    };
end), l_UniversalAppPolicy_0.connect(function(v16)
    return {
        enableDisplayNamePolicy = v16.getShowDisplayName(),
        enableFriendFinder = v16.getFriendFinder(),
        accountProviderName = v16.getAccountProviderName(),
        inviteFromAccountProvider = v16.shouldInviteFromAccountProvider()
    };
end))(v12);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_llama_0 = v1.llama;
local l_User_0 = v1.SocialLibraries.User;
local v4 = require(l_script_FirstAncestor_0.User);
local v5 = require(l_script_FirstAncestor_0.Logger);
local v6 = require(l_script_FirstAncestor_0.Flags.getFFlagDebugSocialTabCarouselEnabled);
local v7 = require(l_script_FirstAncestor_0.Flags.getFIntDebugSocialTabCarouselFriendsNumber);
local function v13(v8, v9)
    local v10 = v8.SocialTab.Friends.byUserId.localUserId or {};
    local v11, v12 = xpcall(function()
        return l_llama_0.List.sort(l_llama_0.List.map(v10, v4.mapToUsers(v8, v9)), l_User_0.sortFriendsByCorrectedPresenceAndRank);
    end, debug.traceback);
    if not v11 then
        v5:info((tostring(v12)));
    end;
    assert(v11, (tostring(v12)));
    return v12;
end;
local function v17(v14)
    local v15 = v7();
    if v15 ~= 0 and v14 then
        if #v14 < v15 then
            local v16 = {};
            while #v16 < v15 do
                v16 = l_llama_0.List.join(v16, v14);
            end;
            return l_llama_0.List.slice(v16, 1, v15);
        else
            return l_llama_0.List.slice(v14, 1, v15);
        end;
    else
        return {};
    end;
end;
return function(v18, v19)
    return {
        screenSize = v18.ScreenSize,
        friends = if not v6() then v13(v18, v19) else v17((v13(v18, v19))),
        hasFriendRequests = (v18.SocialTab.Friends.requests.receivedCount or 0) > 0
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialTab");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_t_0 = v1.t;
local l_Mock_0 = v1.Mock;
local l_Badge_0 = l_UIBlox_0.App.Indicator.Badge;
local l_BadgeStates_0 = l_UIBlox_0.App.Indicator.Enum.BadgeStates;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_IconButton_0 = l_UIBlox_0.App.Button.IconButton;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local v11 = require(l_script_FirstAncestor_0.Enums.LocalizedKeys);
local l_withLocalization_0 = v1.withLocalization;
local v13 = l_Roact_0.PureComponent:extend("UserCarouselHeader");
v13.defaultProps = {
    friendCount = 0,
    hasFriendRequests = false,
    layoutOrder = 0,
    goToFriendRequestsPage = function()
    end,
    goToFriendsPage = function()
    end
};
v13.validateProps = l_t_0.interface({
    friendCount = l_t_0.number,
    hasFriendRequests = l_t_0.boolean,
    layoutOrder = l_t_0.optional(l_t_0.number),
    goToFriendRequestsPage = l_t_0.union(l_t_0.callback, l_Mock_0.MagicMock.is),
    goToFriendsPage = l_t_0.union(l_t_0.callback, l_Mock_0.MagicMock.is)
});
v13.init = function(v14)
    v14.goToFriendRequestsPage = function(...)
        return v14.props.goToFriendRequestsPage(...);
    end;
end;
v13.render = function(v15)
    return l_withLocalization_0({
        headerText = v15.props.friendCount ~= 0 and {
            v11.FriendsHeaderWithCount.rawValue();
            friendCount = v15.props.friendCount
        } or v11.FriendsHeader.rawValue()
    })(function(v16)
        return l_withStyle_0(function(v17)
            return l_Roact_0.createElement("Frame", {
                LayoutOrder = v15.props.layoutOrder,
                Size = UDim2.new(1, 0, 0, 50),
                BackgroundTransparency = 1
            }, {
                Title = l_Roact_0.createElement("TextButton", {
                    AutomaticSize = Enum.AutomaticSize.X,
                    BackgroundTransparency = 1,
                    Font = v17.Font.Header1.Font,
                    Size = UDim2.new(0, 0, 0, 50),
                    Text = v16.headerText,
                    TextColor3 = v17.Theme.TextEmphasis.Color,
                    TextSize = v17.Font.Header1.RelativeSize * v17.Font.BaseSize,
                    TextTransparency = v17.Theme.TextEmphasis.Transparency,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = Enum.TextYAlignment.Center,
                    [l_Roact_0.Event.Activated] = v15.props.goToFriendsPage
                }),
                FriendRequests = l_Roact_0.createElement(l_IconButton_0, {
                    size = UDim2.fromOffset(28, 28),
                    icon = l_Images_0["icons/actions/friends/friendAdd"],
                    position = UDim2.new(1, 0, 0.5, 0),
                    anchorPoint = Vector2.new(1, 0.5),
                    onActivated = v15.goToFriendRequestsPage
                }, {
                    FriendRequestsBadge = not not v15.props.hasFriendRequests and (l_Roact_0.createElement(l_Badge_0, {
                        position = UDim2.new(0.6, 2, 0, 6),
                        anchorPoint = Vector2.new(0, 0.5),
                        value = l_BadgeStates_0.isEmpty
                    }) or l_Roact_0.createElement(l_Badge_0, {
                        position = UDim2.new(0.6, 0, 0, 0),
                        anchorPoint = Vector2.new(0, 0.5),
                        value = ""
                    })) or nil
                })
            });
        end);
    end);
end;
return v13;