local v0 = require(script:FindFirstAncestor("FriendsCarousel").dependencies);
local l_Rodux_0 = v0.Rodux;
local l_RoduxNetworking_0 = v0.RoduxNetworking;
local l_RoduxUserPermissions_0 = v0.RoduxUserPermissions;
local l_RoduxAnalytics_0 = v0.RoduxAnalytics;
local v5 = require(script.Parent.Users);
local v6 = require(script.Parent.Friends);
local v7 = require(script.Parent.Presence);
local l_ShowContactImporterParams_0 = v0.ShowContactImporterParams;
return function()
    return l_Rodux_0.combineReducers({
        Users = v5,
        Friends = v6,
        Presence = v7,
        UserPermissions = l_RoduxUserPermissions_0.installReducer(),
        NetworkStatus = l_RoduxNetworking_0.installReducer(),
        ShowContactImporterParams = l_ShowContactImporterParams_0,
        Analytics = l_RoduxAnalytics_0.installReducer()
    });
end;


local v0 = game:DefineFastFlag("FriendCarouselHas10ftPolicies", false);
local l_GuiService_0 = game:GetService("GuiService");
return function()
    if not v0 then
        return false;
    else
        return l_GuiService_0:IsTenFootInterface();
    end;
end;


local v0 = require(script.Parent.Parent.Dev.JestConfigs);
return {
    displayName = "SocialWidgets-FriendsCarousel",
    testMatch = {
        "**/*.test"
    },
    setupFilesAfterEnv = {
        v0.setupFiles.LogHandler,
        v0.setupFiles.UIBloxInitializer,
        v0.setupFiles.createPromiseRejectionHandler(),
        script.Parent.FlagAndNetworkImplHandler
    }
};


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_Rodux_0 = v0.Rodux;
local l_t_0 = v0.t;
return l_Rodux_0.makeActionCreator(script.Name, function(v3)
    assert(l_t_0.table(v3), "TencentAuthInfoModel should be a table.");
    return {
        tencentAuthInfo = v3
    };
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local v1 = require(script.Parent.EventNames);
local _ = require(l_script_FirstAncestor_0.Parent.SocialLuaAnalytics);
return {
    [v1.OpenUserSearch] = {
        name = game:DefineFastString("AddFriendsPageOpenUserSearch", "AddFriendsPageOpenUserSearch")
    },
    [v1.PageLoad] = {
        name = game:DefineFastString("AddFriendsUserLoadedPage", "AddFriendsUserLoadedPage")
    }
};


return {
    OpenUserSearch = "OpenUserSearch",
    PageLoad = "PageLoad"
};


local l_Parent_0 = script:FindFirstAncestor("FriendsLanding").Parent;
local l_LocalizationService_0 = game:GetService("LocalizationService");
local v2 = require(l_Parent_0.Dash);
local l_Enums_0 = require(l_Parent_0.SocialLuaAnalytics).Analytics.Enums;
local l_EventTypes_0 = l_Enums_0.EventTypes;
local l_Contexts_0 = l_Enums_0.Contexts;
local l_Sources_0 = l_Enums_0.Sources;
local v7 = require(script.Parent.EventNames);
return {
    [v7.OpenUserSearch] = {
        context = l_Contexts_0.Players,
        eventType = l_EventTypes_0.Search,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId,
            act = "open",
            source = l_Sources_0.AddFriendsPage
        }
    },
    [v7.PageLoad] = {
        context = l_Contexts_0.AddFriends,
        eventType = l_EventTypes_0.PageLoad,
        formatRulesForAdditionalInfo = {
            page = v2.identity,
            requestingUserId = v2.identity,
            gamesContext = v2.identity,
            absPosition = v2.identity,
            mutualFriendsContext = v2.identity,
            recommendationSessionId = v2.identity,
            recommendationCount = v2.identity
        }
    }
};


return {
    setupFireEvent = require(script:FindFirstAncestor("FriendsLanding").Parent.SocialLuaAnalytics).Analytics.FireEvent.createFireEvent({
        EventStream = require(script.EventStreamActionList),
        Diag = require(script.DiagActionList)
    }),
    EventNames = require(script.EventNames)
};


return {
    TENCENT_AUTH_INFO_SYNC_EVENT = "Social.Event.SyncTencentAuthInfo"
};


return require(script:FindFirstAncestor("AddFriends").dependencies).enumerate(script.Name, {
    AddFriend = "Feature.Friends.Action.Add",
    RequestPending = "Feature.Friends.Label.Pending"
});


local l_t_0 = require(script:FindFirstAncestor("AddFriends").dependencies).t;
local v1 = {};
v1.__index = v1;
v1.new = function(v2)
    assert(v1.isValid(v2));
    v1.__index = v1;
    setmetatable(v2, v1);
    return v2;
end;
v1.mock = function(v3)
    v3 = v3 or {};
    return (v1.new({
        appType = v3.appType or "PlayerMobile",
        type = v3.type or "QQ",
        userAccessToken = v3.userAccessToken or "userAccessTokenStringFromTencentMSDK",
        userOpenId = v3.userOpenId or "userOpenIDStringFromTencentMSDK"
    }));
end;
v1.isValid = function(v4)
    return l_t_0.interface({
        appType = l_t_0.string,
        type = l_t_0.string,
        userAccessToken = l_t_0.string,
        userOpenId = l_t_0.string
    })(v4);
end;
return v1;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.dependencies);
return v2.llama.Dictionary.join(v2, {
    Signal = require(l_Parent_0.AppCommonLib).Signal
});


return {
    TOOLTIP_GAME_ENGINE_FEATURE = "UniversalAppContactImporterTooltipStorageKey",
    TOOLTIP_APP_STORAGE_KEY = "ContactImporterTooltipSeen",
    RODUX_KEY = "FriendsLanding",
    RECOMMENDATION_SESSION_ID_KEY = "addFriendsPageRecommendationsSessionId",
    TOP_BAR_HEIGHT = 48,
    FriendsLandingPageSourceName = "FriendsLanding",
    AddFriendsPYMKSourceName = "addFriendsPYMK"
};


return {
    CONTACT_IMPORTER_TOOLTIP_HEADER = "Feature.Friends.Label.FriendingTooltip",
    CONTACT_IMPORTER_TOOLTIP_BODY = "Feature.Friends.FriendingTooltipBody",
    FROM_CONTACTS = "Feature.Friends.Description.FromContacts",
    NO_FRIENDS_TOOLTIP = "Feature.Friends.Message.ViewAndConnectTooltip",
    PROFILE_QR_CODE_TILE_FOOTER = "Feature.Profile.Label.QRCodeFriendRequest",
    ADD_FRIENDS_EMPTY_STATE_PROMPT_TEXT = "Feature.AddFriends.Label.EmptyStatePrompt",
    ADD_FRIENDS_TOOLTIP_TITLE = "Feature.AddFriends.Title.AddFriendsTooltipTitle",
    PEOPLE_YOU_MAY_KNOW = "Feature.Friends.Label.PYMK",
    ADD_FRIENDS_BTN = "Feature.Friends.Feature.Friends.Heading.AddFriends",
    NO_FRIENDS_TEXT = "Feature.Friends.Text.NoFriends",
    FRIEND_REQUEST = "Feature.Friends.Label.FriendRequest",
    MUTUAL_FRIENDS = "Feature.Friends.Label.MutualFriends",
    MUTUAL_FRIEND_SINGULAR = "Feature.Friends.Label.SingularMutualFriend",
    FREQUENTS = "Feature.Friends.Label.Frequent"
};


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_Roact_0 = v0.Roact;
local l_t_0 = v0.t;
local l_UIBlox_0 = v0.UIBlox;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_Button_0 = l_UIBlox_0.App.Button.Button;
local l_ButtonType_0 = l_UIBlox_0.App.Button.Enum.ButtonType;
local v7 = l_Roact_0.PureComponent:extend("AddFriendsContactImporterBanner");
local function v8()
end;
v7.validateProps = l_t_0.strictInterface({
    bannerText = l_t_0.string,
    buttonText = l_t_0.optional(l_t_0.string),
    onActivated = l_t_0.optional(l_t_0.callback),
    containerWidth = l_t_0.number
});
v7.render = function(v9)
    local l_props_0 = v9.props;
    return l_withStyle_0(function(v11)
        return l_Roact_0.createElement("Frame", {
            AutomaticSize = Enum.AutomaticSize.Y,
            Size = UDim2.fromScale(1, 0),
            LayoutOrder = 1,
            BackgroundColor3 = v11.Theme.BackgroundUIDefault.Color,
            BackgroundTransparency = v11.Theme.BackgroundUIDefault.Transparency
        }, {
            UIPadding = l_Roact_0.createElement("UIPadding", {
                PaddingBottom = UDim.new(0, 12),
                PaddingLeft = UDim.new(0, 12),
                PaddingRight = UDim.new(0, 12),
                PaddingTop = UDim.new(0, 12)
            }),
            UICorner = l_Roact_0.createElement("UICorner", {
                CornerRadius = UDim.new(0, 8)
            }),
            UIStroke = l_Roact_0.createElement("UIStroke", {
                Color = v11.Theme.Divider.Color,
                Transparency = v11.Theme.Divider.Transparency,
                Thickness = 1
            }),
            Layout = l_Roact_0.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                FillDirection = if l_props_0.containerWidth >= 480 then Enum.FillDirection.Horizontal else nil,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            UISizeConstraint = l_Roact_0.createElement("UISizeConstraint", {
                MaxSize = Vector2.new(640, math.huge)
            }),
            TitleFrame = l_Roact_0.createElement("Frame", {
                AutomaticSize = Enum.AutomaticSize.Y,
                BorderSizePixel = 0,
                LayoutOrder = 1,
                Size = if l_props_0.containerWidth >= 480 then UDim2.fromScale(0.6, 0) else UDim2.fromScale(1, 0),
                BackgroundTransparency = 1
            }, {
                UIPadding = l_Roact_0.createElement("UIPadding", {
                    PaddingBottom = UDim.new(0, 12)
                }),
                BannerText = l_Roact_0.createElement("TextLabel", {
                    AutomaticSize = Enum.AutomaticSize.Y,
                    BackgroundTransparency = 1,
                    Font = v11.Font.CaptionBody.Font,
                    Size = UDim2.fromScale(1, 0),
                    Text = l_props_0.bannerText,
                    TextColor3 = v11.Theme.TextEmphasis.Color,
                    TextSize = v11.Font.BaseSize * v11.Font.CaptionBody.RelativeSize,
                    TextTransparency = v11.Theme.TextEmphasis.Transparency,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = Enum.TextYAlignment.Top,
                    TextWrapped = true,
                    LayoutOrder = 1
                })
            }),
            ButtonFrame = if not l_props_0.buttonText then nil else l_Roact_0.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = if l_props_0.containerWidth >= 480 then UDim2.new(0.4, 0, 0, 28) else UDim2.new(1, 0, 0, 28),
                LayoutOrder = 2
            }, {
                Layout = l_Roact_0.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    HorizontalAlignment = Enum.HorizontalAlignment.Right
                }),
                Button = l_Roact_0.createElement(l_Button_0, {
                    buttonType = l_ButtonType_0.PrimarySystem,
                    size = if l_props_0.containerWidth >= 480 then UDim2.new(0, 160, 1, 0) else UDim2.fromScale(1, 1),
                    text = l_props_0.buttonText,
                    onActivated = l_props_0.onActivated or v8,
                    fontStyle = v11.Font.CaptionBody
                })
            })
        });
    end);
end;
return v7;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_llama_0 = v1.llama;
local l_RoduxFriends_0 = v1.RoduxFriends;
local l_RODUX_KEY_0 = require(l_script_FirstAncestor_0.Common.Constants).RODUX_KEY;
local l_getDeepValue_0 = v1.SocialLibraries.Dictionary.getDeepValue;
local l_RecommendationSourceEnum_0 = v1.SocialCommon.Enums.RecommendationSourceEnum;
return function(v7)
    local l_LocalUserId_0 = v7.LocalUserId;
    return (l_llama_0.List.map(l_RoduxFriends_0.Selectors.getSortedByRankRecommendationIds(v7)(l_LocalUserId_0, (l_RoduxFriends_0.Selectors.getRecommendationIdsBySource(v7)(l_RecommendationSourceEnum_0.AddFriendsPage))), function(v9)
        return (l_llama_0.Dictionary.join(l_getDeepValue_0(v7, string.format("%s.Users.byUserId.%s", l_RODUX_KEY_0, v9)), l_getDeepValue_0(v7, string.format("%s.Friends.recommendations.byUserId.%s.%s", l_RODUX_KEY_0, l_LocalUserId_0, v9)), {
            isRecommendation = true
        }));
    end));
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local v1 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_Rodux_0 = v1.Rodux;
local l_llama_0 = v1.llama;
local v4 = require(l_script_FirstAncestor_0.TestHelpers.getBaseTestStates);
return function(v5, v6, v7)
    local v8 = if not v6 or v5 then if v6 and v5 then v4().friendsAndRecommendations else v4().smallNumbersOfFriends else v4().recommendationsOnly;
    local l_FriendsLanding_0 = v8.FriendsLanding;
    local v10 = {};
    local v11 = 0;
    local v12 = nil;
    local v13 = {};
    local v14 = {};
    local v15 = {};
    local v16 = {};
    local v17 = {};
    local v18 = {};
    local v19 = {};
    if v5 then
        v10 = l_FriendsLanding_0.Users.byUserId;
        v11 = #l_llama_0.Dictionary.keys(l_FriendsLanding_0.Users.byUserId);
        v12 = "next";
        v16 = {
            ["36"] = "game_universe_id_36",
            ["37"] = "game_universe_id_37",
            ["38"] = "game_universe_id_39"
        };
        v14 = {
            ["36"] = {
                isFollowing = true,
                isFollowed = true
            }
        };
        v15 = {
            game_universe_id_36 = {
                name = "test game"
            },
            game_universe_id_37 = {
                name = "test game"
            },
            game_universe_id_38 = {
                name = "test game"
            }
        };
        v17 = {
            ["1"] = {
                "Bob",
                "Corey",
                "Andrew"
            },
            ["2"] = {},
            ["3"] = {}
        };
        v18 = {
            shouldShowContactImporterFeature = true,
            shouldShowContactImporterUpsellModal = true,
            isDiscoverabilityUnset = false
        };
    end;
    if v6 then
        v19 = v4().recommendationsOnly.FriendsLanding.Friends.recommendations;
    end;
    return l_Rodux_0.Store.new(function()
        return {
            ScreenSize = Vector2.new(540, 960),
            GlobalGuiInset = {
                top = 20,
                bottom = 20,
                left = 20,
                right = 20
            },
            LocalUserId = v8.LocalUserId,
            FriendStatuses = l_llama_0.Dictionary.map(l_FriendsLanding_0.Users.byUserId, function()
                return Enum.FriendStatus.FriendRequestReceived;
            end),
            FriendsLanding = l_llama_0.Dictionary.join({
                Friends = {
                    requests = {
                        byUserId = v10,
                        receivedCount = v11,
                        nextPageCursor = v12,
                        sourceUniverseIds = v16,
                        mutualFriends = v17
                    },
                    recommendations = v19
                },
                Users = l_FriendsLanding_0.Users,
                Presence = l_FriendsLanding_0.Presence,
                NetworkStatus = l_FriendsLanding_0.NetworkStatus,
                UserFollowers = v13,
                IsUserFollowing = v14,
                Games = {
                    byGameId = v15
                },
                ShowContactImporterParams = v18
            }, v7 or {})
        };
    end, {}, {
        l_Rodux_0.thunkMiddleware
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_AppStorageService_0 = game:GetService("AppStorageService");
local v2 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_llama_0 = v2.llama;
local l_RoduxPresence_0 = v2.RoduxPresence;
local l_getDeepValue_0 = v2.SocialLibraries.Dictionary.getDeepValue;
local v6 = require(l_script_FirstAncestor_0.Utils.contactImporterTooltip);
local v7 = require(script.Parent.getFriendRecommendationsFromState);
local l_getSessionIdByKey_0 = v2.RoduxAnalytics.Selectors.getSessionIdByKey;
local l_RECOMMENDATION_SESSION_ID_KEY_0 = require(l_script_FirstAncestor_0.Common.Constants).RECOMMENDATION_SESSION_ID_KEY;
local v10 = require(l_script_FirstAncestor_0.Flags.getFFlagShowContactImporterTooltipOnce);
local v11 = require(script.Parent.sortFriendRequests);
local v12 = require(script.Parent.sortFriendRequestsByOrder);
local function v19(v13, v14)
    local v15 = l_getDeepValue_0(v13, "FriendsLanding.Friends.requests.byUserId");
    if v15 then
        local v17 = l_llama_0.List.map(l_llama_0.Dictionary.keys(v15), function(v16)
            return l_llama_0.Dictionary.join(l_getDeepValue_0(v13, string.format("FriendsLanding.Users.byUserId.%s", v16)), l_RoduxPresence_0.Selectors.getUserPresenceByUserId(v13, v16), {
                sentAt = l_getDeepValue_0(v13, string.format("FriendsLanding.Friends.requests.sentAt.%s", v16))
            }, {
                mutualFriends = l_getDeepValue_0(v13, string.format("FriendsLanding.Friends.requests.mutualFriends.%s", v16))
            }, {
                contactName = l_getDeepValue_0(v13, string.format("FriendsLanding.Friends.contactNamesByUserId.%s", v16))
            }, {
                order = l_getDeepValue_0(v13, string.format("FriendsLanding.Friends.requests.order.requestsById.%s", v16))
            });
        end);
        local v18 = true;
        if v14 ~= "largerWindow" then
            v18 = v14 == "sortByOrder";
        end;
        if not v18 then
            return v11(v17);
        else
            return v12(v17);
        end;
    else
        return {};
    end;
end;
local function _(v20)
    return l_getSessionIdByKey_0(v20)(l_RECOMMENDATION_SESSION_ID_KEY_0);
end;
return function(v22, v23)
    local v24 = nil;
    local v25 = nil;
    local v26 = l_getDeepValue_0(v22, "FriendsLanding.ShowContactImporterParams") or {};
    v24 = v26.shouldShowContactImporterFeature;
    v25 = v26.shouldShowContactImporterUpsellModal;
    local v27 = nil;
    local v28 = nil;
    local v29 = nil;
    local v30 = nil;
    v28 = v26.isPhoneVerified;
    v29 = v26.hasOSPermissions;
    v27 = v26.canUploadContacts;
    v30 = v26.isDiscoverabilityUnset;
    local v31 = l_getDeepValue_0(v22, "FriendsLanding.ContactImporterWarning.contactImporterFriendRequests") or {};
    local v32 = l_getDeepValue_0(v22, "FriendsLanding.ContactImporterWarning.seenContactImporterFriendRequest") or false;
    local v33 = not l_llama_0.isEmpty(v31);
    if v10() then
        v32 = v6.getKey(l_AppStorageService_0);
    end;
    return {
        screenSize = v22.ScreenSize,
        localUserId = v22.LocalUserId,
        globalGuiInset = v22.GlobalGuiInset,
        friendRecommendations = v7(v22) or {},
        friendRecommendationsSessionId = l_getSessionIdByKey_0(v22)(l_RECOMMENDATION_SESSION_ID_KEY_0),
        friendRequests = v19(v22, v23.friendRequestScoringVariant),
        receivedCount = l_getDeepValue_0(v22, "FriendsLanding.Friends.requests.receivedCount") or 0,
        nextPageCursor = l_getDeepValue_0(v22, "FriendsLanding.Friends.requests.nextPageCursor"),
        amIFollowingUser = function(v34)
            local v35 = l_getDeepValue_0(v22, "FriendsLanding.IsUserFollowing") or {};
            return not not v35[v34.id] and (v35[v34.id].isFollowing or false);
        end,
        isUserFollowingMe = function(v36)
            local v37 = l_getDeepValue_0(v22, "FriendsLanding.IsUserFollowing") or {};
            return not not v37[v36.id] and (v37[v36.id].isFollowed or false);
        end,
        getFriendshipRequestSentFromExperience = function(v38)
            local v39 = l_getDeepValue_0(v22, "FriendsLanding.Friends.requests.sourceUniverseIds")[v38.id];
            if v39 ~= nil and v39 ~= 0 then
                return (l_getDeepValue_0(v22, string.format("FriendsLanding.Games.byGameId.%s", (tostring(v39)))) or {}).name;
            else
                return nil;
            end;
        end,
        shouldShowContactImporterFeature = v24,
        shouldShowContactImporterUpsellModal = v25,
        isPhoneVerified = v28,
        hasOSPermissions = v29,
        canUploadContacts = v27,
        isDiscoverabilityUnset = v30,
        showTooltip = v33 and not v32
    };
end;


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_llama_0 = v0.llama;
local l_t_0 = v0.t;
return function(v3)
    assert(l_t_0.table(v3));
    return l_llama_0.List.sort(v3, function(v4, v5)
        local v6 = not not v4.sentAt and v4.sentAt.UnixTimestampMillis or 0;
        local v7 = not not v5.sentAt and v5.sentAt.UnixTimestampMillis or 0;
        if v6 ~= v7 then
            return v7 < v6;
        elseif not v4.displayName or v5.displayName then
            if v4.displayName or not v5.displayName then
                if not (not v4.displayName or not v5.displayName) and string.lower(v4.displayName) ~= string.lower(v5.displayName) then
                    return string.lower(v4.displayName) < string.lower(v5.displayName);
                elseif not v4.username or not v5.username then
                    if not v4.username or v5.username then
                        return false;
                    else
                        return true;
                    end;
                else
                    return string.lower(v4.username) < string.lower(v5.username);
                end;
            else
                return false;
            end;
        else
            return true;
        end;
    end);
end;


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_llama_0 = v0.llama;
local l_t_0 = v0.t;
return function(v3)
    assert(l_t_0.table(v3));
    return l_llama_0.List.sort(v3, function(v4, v5)
        return (v4.order or 9999999) < (v5.order or 9999999);
    end);
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_t_0 = v2.t;
local l_UIBlox_0 = v2.UIBlox;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local l_useSelectionCursor_0 = l_UIBlox_0.App.SelectionImage.useSelectionCursor;
local l_CursorKind_0 = l_UIBlox_0.App.SelectionImage.CursorKind;
local l_GridMetrics_0 = l_UIBlox_0.App.Grid.GridMetrics;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local v11 = require(script.Parent.AddFriendsSectionHeaderFrame);
local v12 = require(script.Parent.AddFriendsGridView);
local v13 = require(script.Parent.AddFriendsEmptyState);
local v14 = require(script.Parent.IgnoreAllFriendsRequestsMenu);
local v15 = require(l_script_FirstAncestor_0.Common.Constants);
local v16 = require(l_script_FirstAncestor_0.Flags.FFlagAddFriendsComponentsTransparent);
local v17 = game:DefineFastFlag("FixIgnoreAllGamepad", false);
local l_TOP_BAR_HEIGHT_0 = v15.TOP_BAR_HEIGHT;
local v19 = l_Images_0["icons/menu/more_on"];
local v20 = l_Images_0["icons/menu/more_off"];
local function v21()
end;
if not v17 then
    local l_Roact_0 = v2.Roact;
    local v23 = l_Roact_0.PureComponent:extend("AddFriendsContentFrame");
    v23.validateProps = l_t_0.interface({
        headerFrame = l_t_0.optional(l_t_0.strictInterface({
            title = l_t_0.string,
            iconVisible = l_t_0.boolean
        })),
        renderAddFriendsTile = l_t_0.callback,
        position = l_t_0.UDim2,
        friends = l_t_0.array(l_t_0.table),
        screenSize = l_t_0.Vector2,
        renderShowMore = l_t_0.callback,
        itemMargin = l_t_0.optional(l_t_0.integer),
        getItemMetrics = l_t_0.optional(l_t_0.callback),
        layoutOrder = l_t_0.optional(l_t_0.integer),
        handleIgnoreAllFriendsRequests = l_t_0.optional(l_t_0.callback),
        showNewAddFriendsPageVariant = l_t_0.optional(l_t_0.boolean)
    });
    v23.defaultProps = {
        itemMargin = 12,
        getItemMetrics = l_GridMetrics_0.getMediumMetrics,
        layoutOrder = 1,
        handleIgnoreAllFriendsRequests = v21
    };
    v23.init = function(v24)
        v24.state = {
            isIgnoreAllMenuOpen = false
        };
        v24.onHeaderIconClicked = function()
            v24:setState({
                isIgnoreAllMenuOpen = not v24.state.isIgnoreAllMenuOpen
            });
        end;
        v24.onIgnoreAll = function()
            v24:setState({
                isIgnoreAllMenuOpen = false
            });
            if v24.props.handleIgnoreAllFriendsRequests then
                v24.props.handleIgnoreAllFriendsRequests();
            end;
        end;
    end;
    v23.render = function(v25)
        if v25.props.showNewAddFriendsPageVariant then
            l_TOP_BAR_HEIGHT_0 = -155;
        end;
        local v26 = if not v25.props.showNewAddFriendsPageVariant then v25.props.headerFrame else v25.props.headerFrame and #v25.props.friends > 0;
        return l_withStyle_0(function(v27)
            return l_Roact_0.createElement("Frame", {
                Size = UDim2.fromScale(1, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                Position = v25.props.position,
                BackgroundColor3 = if v16 then nil else v27.Theme.BackgroundDefault.Color,
                BackgroundTransparency = if not v16 then nil else 1,
                LayoutOrder = v25.props.layoutOrder,
                BorderSizePixel = 0
            }, {
                ContentContainer = l_Roact_0.createElement("Frame", {
                    Size = UDim2.fromScale(1, 0),
                    AutomaticSize = Enum.AutomaticSize.Y,
                    BackgroundColor3 = if v16 then nil else v27.Theme.BackgroundDefault.Color,
                    BackgroundTransparency = if not v16 then nil else 1,
                    BorderSizePixel = 0
                }, {
                    Layout = l_Roact_0.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Vertical,
                        HorizontalAlignment = Enum.HorizontalAlignment.Center,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        Padding = UDim.new(0, 0)
                    }),
                    HeaderFrame = not not v26 and l_Roact_0.createElement(v11, {
                        layoutOrder = 1,
                        title = v25.props.headerFrame.title,
                        icon = if not v25.state.isIgnoreAllMenuOpen then v20 else v19,
                        iconVisible = v25.props.headerFrame.iconVisible,
                        onIconActivated = v25.onHeaderIconClicked
                    }) or nil,
                    ContentView = #v25.props.friends > 0 and l_Roact_0.createElement(v12, {
                        items = v25.props.friends,
                        layoutOrder = 2,
                        windowSize = v25.props.screenSize,
                        renderAddFriendsTile = v25.props.renderAddFriendsTile,
                        itemMargin = v25.props.itemMargin,
                        getItemMetrics = v25.props.getItemMetrics
                    }) or l_Roact_0.createElement("Frame", {
                        Size = UDim2.new(1, 0, 1, l_TOP_BAR_HEIGHT_0),
                        LayoutOrder = 2,
                        BackgroundTransparency = 1
                    }, {
                        EmptyState = if not v25.props.showNewAddFriendsPageVariant then l_Roact_0.createElement(v13) else l_Roact_0.createElement(v13, {
                            screenSize = v25.props.screenSize,
                            showNewAddFriendsPageVariant = v25.props.showNewAddFriendsPageVariant
                        })
                    }),
                    BottomLoadMoreButton = v25.props.renderShowMore(3)
                }),
                IgnoreAllContextMenu = l_Roact_0.createElement(v14, {
                    open = v25.state.isIgnoreAllMenuOpen,
                    width = UDim.new(0, 300),
                    onIgnoreAll = v25.onIgnoreAll,
                    openPositionY = UDim.new(0, v27.Tokens.Global.Space_600)
                })
            });
        end);
    end;
    return v23;
else
    local v28 = require(l_Parent_0.React);
    local v29 = {
        itemMargin = 12,
        getItemMetrics = l_GridMetrics_0.getMediumMetrics,
        layoutOrder = 1,
        handleIgnoreAllFriendsRequests = v21
    };
    return function(v30)
        local v31 = if not v30.itemMargin then v29.itemMargin else v30.itemMargin;
        local v32 = if not v30.getItemMetrics then v29.getItemMetrics else v30.getItemMetrics;
        local v33 = if not v30.layoutOrder then v29.layoutOrder else v30.layoutOrder;
        local v34 = if not v30.handleIgnoreAllFriendsRequests then v29.handleIgnoreAllFriendsRequests else v30.handleIgnoreAllFriendsRequests;
        local v35, v36 = v28.useState(false);
        local v38 = v28.useCallback(function()
            v36(function(v37)
                return not v37;
            end);
        end, {});
        local v39 = v28.useCallback(function()
            v36(false);
            v34();
        end, {
            v34
        });
        if v30.showNewAddFriendsPageVariant then
            l_TOP_BAR_HEIGHT_0 = -155;
        end;
        local v40 = if not v30.showNewAddFriendsPageVariant then v30.headerFrame ~= nil else v30.headerFrame and #v30.friends > 0;
        local v41 = l_useStyle_0();
        return v28.createElement("Frame", {
            Size = UDim2.fromScale(1, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            Position = v30.position,
            BackgroundColor3 = if v16 then nil else v41.Theme.BackgroundDefault.Color,
            BackgroundTransparency = if not v16 then nil else 1,
            LayoutOrder = v33,
            BorderSizePixel = 0
        }, {
            ContentContainer = v28.createElement("Frame", {
                Size = UDim2.fromScale(1, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundColor3 = if v16 then nil else v41.Theme.BackgroundDefault.Color,
                BackgroundTransparency = if not v16 then nil else 1,
                BorderSizePixel = 0
            }, {
                Layout = v28.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, 0)
                }),
                HeaderFrame = if not v40 then nil else v28.createElement(v11, {
                    layoutOrder = 1,
                    title = v30.headerFrame.title,
                    icon = if not v35 then v20 else v19,
                    iconVisible = v30.headerFrame.iconVisible,
                    onIconActivated = v38
                }),
                ContentView = if #v30.friends > 0 then v28.createElement(v12, {
                    items = v30.friends,
                    layoutOrder = 2,
                    windowSize = v30.screenSize,
                    renderAddFriendsTile = v30.renderAddFriendsTile,
                    itemMargin = v31,
                    getItemMetrics = v32
                }) else v28.createElement("Frame", {
                    Size = UDim2.new(1, 0, 1, l_TOP_BAR_HEIGHT_0),
                    LayoutOrder = 2,
                    BackgroundTransparency = 1,
                    Selectable = true,
                    SelectionImageObject = l_useSelectionCursor_0(l_CursorKind_0.Invisible)
                }, {
                    EmptyState = if not v30.showNewAddFriendsPageVariant then v28.createElement(v13) else v28.createElement(v13, {
                        screenSize = v30.screenSize,
                        showNewAddFriendsPageVariant = v30.showNewAddFriendsPageVariant
                    })
                }),
                BottomLoadMoreButton = v30.renderShowMore(3)
            }),
            IgnoreAllContextMenu = v28.createElement(v14, {
                open = v35,
                width = UDim.new(0, 300),
                onIgnoreAll = v39,
                openPositionY = UDim.new(0, v41.Tokens.Global.Space_600)
            })
        });
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_AddFriends_0 = l_script_FirstAncestor_0.AddFriends;
local v2 = require(l_script_FirstAncestor_0.Common.TextKeys);
local v3 = require(l_AddFriends_0.dependencies);
local l_t_0 = v3.t;
local l_Roact_0 = v3.Roact;
local l_UIBlox_0 = v3.UIBlox;
local l_withLocalization_0 = v3.withLocalization;
local l_EmptyState_0 = l_UIBlox_0.App.Indicator.EmptyState;
local l_Colors_0 = l_UIBlox_0.App.Style.Colors;
local v10 = l_Roact_0.PureComponent:extend("AddFriendsEmptyState");
local v11 = UDim2.new(0, 255, 0, 170);
v10.validateProps = l_t_0.strictInterface({
    screenSize = l_t_0.optional(l_t_0.Vector2),
    showNewAddFriendsPageVariant = l_t_0.optional(l_t_0.boolean)
});
v10.render = function(v12)
    return l_withLocalization_0({
        noRequestsText = "Feature.AddFriends.Label.NoRequests",
        emptyStatePromptText = if not v12.props.showNewAddFriendsPageVariant then nil else v2.ADD_FRIENDS_EMPTY_STATE_PROMPT_TEXT,
        titleText = if not v12.props.showNewAddFriendsPageVariant then nil else v2.ADD_FRIENDS_TOOLTIP_TITLE
    })(function(v13)
        if not v12.props.showNewAddFriendsPageVariant then
            return l_Roact_0.createElement(l_EmptyState_0, {
                text = v13.noRequestsText,
                size = UDim2.fromScale(1, 1)
            });
        else
            return l_Roact_0.createElement(l_EmptyState_0, {
                iconColor = l_Colors_0.White,
                icon = "rbxassetid://12261497919",
                iconSize = v11,
                titleProps = {
                    titleText = v13.titleText
                },
                text = v13.emptyStatePromptText,
                maxSizeTextLabel = v12.props.screenSize
            });
        end;
    end);
end;
return v10;


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_ImageSetButton_0 = l_UIBlox_0.Core.ImageSet.ImageSetButton;
local l_StyledTextLabel_0 = l_UIBlox_0.App.Text.StyledTextLabel;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local l_Colors_0 = l_UIBlox_0.App.Style.Colors;
local v9 = UDim2.new(0, -8, 0, 8);
local v10 = l_Images_0["icons/actions/info_small"];
return function(v11)
    local v12 = l_useStyle_0();
    return l_Roact_0.createElement("Frame", {
        AutomaticSize = Enum.AutomaticSize.Y,
        Size = UDim2.fromScale(1, 0),
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, {
        Banner = l_Roact_0.createElement(l_ImageSetButton_0, {
            AutomaticSize = Enum.AutomaticSize.Y,
            Size = UDim2.fromScale(1, 0),
            LayoutOrder = 1,
            BackgroundColor3 = v12.Theme.BackgroundUIDefault.Color,
            BackgroundTransparency = v12.Theme.BackgroundUIDefault.Transparency,
            [l_Roact_0.Event.Activated] = v11.onActivated
        }, {
            UIPadding = l_Roact_0.createElement("UIPadding", {
                PaddingBottom = UDim.new(0, 12),
                PaddingLeft = UDim.new(0, 12),
                PaddingRight = UDim.new(0, 12),
                PaddingTop = UDim.new(0, 12)
            }),
            UICorner = l_Roact_0.createElement("UICorner", {
                CornerRadius = UDim.new(0, 8)
            }),
            UIStroke = l_Roact_0.createElement("UIStroke", {
                Color = v12.Theme.Divider.Color,
                Transparency = v12.Theme.Divider.Transparency,
                Thickness = 1
            }),
            Layout = l_Roact_0.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                FillDirection = Enum.FillDirection.Horizontal,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                Padding = UDim.new(0, 12)
            }),
            BannerIcon = l_Roact_0.createElement(l_ImageSetLabel_0, {
                ImageColor3 = l_Colors_0.White,
                BackgroundTransparency = 1,
                Size = UDim2.new(0, 48, 0, 48),
                Image = v11.bannerIcon,
                LayoutOrder = 1
            }),
            BannerTextFrame = l_Roact_0.createElement("Frame", {
                BackgroundTransparency = 1,
                LayoutOrder = 2,
                Size = UDim2.new(1, -76, 0, 0),
                AutomaticSize = Enum.AutomaticSize.Y
            }, {
                TextUIListLayout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, 4)
                }),
                BannerTitle = l_Roact_0.createElement(l_StyledTextLabel_0, {
                    automaticSize = Enum.AutomaticSize.Y,
                    size = UDim2.fromScale(1, 0),
                    text = v11.bannerTitle,
                    fontStyle = v12.Font.Header2,
                    colorStyle = v12.Theme.TextEmphasis,
                    textXAlignment = Enum.TextXAlignment.Left,
                    textYAlignment = Enum.TextYAlignment.Top,
                    lineHeight = 1,
                    layoutOrder = 1
                }),
                BannerText = l_Roact_0.createElement(l_StyledTextLabel_0, {
                    automaticSize = Enum.AutomaticSize.Y,
                    size = UDim2.fromScale(1, 0),
                    text = v11.bannerText,
                    fontStyle = v12.Font.CaptionBody,
                    colorStyle = v12.Theme.TextDefault,
                    textXAlignment = Enum.TextXAlignment.Left,
                    textYAlignment = Enum.TextYAlignment.Top,
                    lineHeight = 1,
                    layoutOrder = 2
                })
            })
        }),
        BannerInfoButton = v11.hasInfoButton and l_Roact_0.createElement("Frame", {
            BackgroundTransparency = 1,
            AutomaticSize = Enum.AutomaticSize.Y,
            Size = UDim2.fromScale(1, 0),
            Position = v9
        }, {
            Layout = l_Roact_0.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Top,
                HorizontalAlignment = Enum.HorizontalAlignment.Right
            }),
            InfoIcon = l_Roact_0.createElement(l_ImageSetButton_0, {
                BackgroundTransparency = 1,
                Size = UDim2.new(0, 16, 0, 16),
                Image = v10,
                ImageColor3 = v12.Theme.IconEmphasis.Color,
                ImageTransparency = v12.Theme.IconEmphasis.Transparency,
                ZIndex = 2,
                [l_Roact_0.Event.Activated] = v11.onInfoButtonActivated
            })
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_Roact_0 = v2.Roact;
local l_t_0 = v2.t;
local v5 = require(l_Parent_0.Cryo);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_useUiModeInfo_0 = require(l_Parent_0.RobloxAppHooks).useUiModeInfo;
local l_UiMode_0 = require(l_Parent_0.RobloxAppEnums).UiMode;
local l_FFlagCalculateFriendsTileSize_0 = require(l_Parent_0.SharedFlags).FFlagCalculateFriendsTileSize;
local l_UIBlox_0 = v2.UIBlox;
local l_DefaultMetricsGridView_0 = l_UIBlox_0.App.Grid.DefaultMetricsGridView;
local l_GridMetrics_0 = l_UIBlox_0.App.Grid.GridMetrics;
local v13 = l_Roact_0.PureComponent:extend("AddFriendsGridView");
v13.validateProps = l_t_0.strictInterface({
    items = l_t_0.table,
    windowSize = l_t_0.Vector2,
    renderAddFriendsTile = l_t_0.callback,
    layoutOrder = l_t_0.optional(l_t_0.integer),
    itemMargin = l_t_0.optional(l_t_0.integer),
    getItemMetrics = l_t_0.optional(l_t_0.callback),
    tileHeightOffset = if not l_FFlagCalculateFriendsTileSize_0 then nil else l_t_0.number
});
v13.defaultProps = {
    layoutOrder = 1,
    itemMargin = 12,
    getItemMetrics = l_GridMetrics_0.getMediumMetrics
};
v13.init = function(v14)
    v14.renderItem = function(v15, v16)
        local l_itemWidth_0 = v14.props.getItemMetrics(v14.props.windowSize.X, v14.props.itemMargin).itemWidth;
        return v14.props.renderAddFriendsTile(v15, l_itemWidth_0, v14.getItemHeight(l_itemWidth_0), v16);
    end;
    v14.getItemHeight = function(v18)
        if not l_FFlagCalculateFriendsTileSize_0 then
            return v18 + 80;
        else
            return v18 + v14.props.tileHeightOffset;
        end;
    end;
end;
v13.render = function(v19)
    return l_Roact_0.createElement(l_DefaultMetricsGridView_0, {
        getItemHeight = v19.getItemHeight,
        items = v19.props.items,
        getItemMetrics = v19.props.getItemMetrics,
        renderItem = v19.renderItem,
        itemPadding = Vector2.new(12, 12),
        maxHeight = math.huge,
        defaultChildIndex = 1,
        LayoutOrder = v19.props.layoutOrder
    });
end;
local function v22(v20)
    local v21 = l_useDesignTokens_0();
    return l_Roact_0.createElement(v13, v5.Dictionary.join(v20, {
        tileHeightOffset = if not (l_useUiModeInfo_0().uiMode == l_UiMode_0.TenFoot) then v21.Global.Space_1000 else v21.Global.Space_800
    }));
end;
if not l_FFlagCalculateFriendsTileSize_0 then
    return v13;
else
    return v22;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_RoactAppExperiment_0 = v1.RoactAppExperiment;
local l_getFStringSocialAddFriendsPageLayer_0 = v1.getFStringSocialAddFriendsPageLayer;
local v5 = require(l_script_FirstAncestor_0.Utils.getAddFriendsPagePYMKVariant);
local v6 = require(l_script_FirstAncestor_0.Flags.FFlagAddPYMKToConsoleAddFriends);
local v7 = game:DefineFastString("FriendRequestSortingIXPVariant", "treatment");
local v8 = l_Roact_0.PureComponent:extend("AddFriendsLayerExposure");
v8.init = function(v9)
    v9.state = {
        layerExposedOnMount = false
    };
end;
v8.didMount = function(v10)
    v10:setState({
        layerExposedOnMount = true
    });
end;
v8.render = function(v11)
    if not v11.state.layerExposedOnMount then
        return nil;
    else
        return (v11.props.renderChild({
            shouldShowPYMKSection = v11.props.shouldShowPYMKSection,
            initialRequestsRows = v11.props.initialRequestsRows,
            addFriendsPageSearchbarEnabled = v11.props.addFriendsPageSearchbarEnabled,
            friendRequestScoringVariant = v11.props.friendRequestScoringVariant,
            pymkEnabledForConsole = if not v6 then nil else v11.props.pymkEnabledForConsole
        }));
    end;
end;
return l_RoactAppExperiment_0.connectUserLayer({
    l_getFStringSocialAddFriendsPageLayer_0()
}, function(v12, _)
    local v14 = v12[l_getFStringSocialAddFriendsPageLayer_0()] or {};
    local v15, v16 = v5(v14);
    local v17 = v14[v7];
    if v17 == "largerWindow" then
        v16 = 5;
    end;
    return {
        shouldShowPYMKSection = v15,
        initialRequestsRows = v16,
        addFriendsPageSearchbarEnabled = v14.show_add_friends_page_search_bar,
        friendRequestScoringVariant = v17,
        pymkEnabledForConsole = if not v6 then nil else v14.enable_pymk_for_console
    };
end)(v8);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local v1 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_Rodux_0 = v1.Rodux;
local l_llama_0 = v1.llama;
local l_PresenceType_0 = v1.RoduxPresence.Enums.PresenceType;
local v5 = require(l_script_FirstAncestor_0.Friends.mapToUsers);
local v6 = require(l_script_FirstAncestor_0.TestHelpers.getBaseTestStates);
local l_smallNumbersOfFriends_0 = v6().smallNumbersOfFriends;
local l_manyFriends_0 = v6().manyFriends;
local v9 = {
    [Enum.FriendStatus.Friend] = "Friend",
    [Enum.FriendStatus.FriendRequestReceived] = "RequestReceived"
};
local v10 = l_llama_0.Dictionary.keys(v9);
local function _(v11)
    return v10[1 + v11 % #v10];
end;
local function v16(v13)
    return l_Rodux_0.Store.new(function()
        return {
            LocalUserId = "0",
            FriendStatuses = l_llama_0.Dictionary.map(v13, function(v14, v15)
                return v10[1 + v15 % #v10], v14.id;
            end),
            ScreenSize = Vector2.new(360, 720)
        };
    end, {
        l_Rodux_0.thunkMiddleware
    });
end;
local function _(v17)
    local v18 = v5(v17)("test");
    l_llama_0.List.every(v18, function(v19, v20)
        v19.displayName = v9[v10[1 + v20 % #v10]];
        v19.userPresenceType = l_PresenceType_0.InGame;
        v19.lastLocation = "Last Location";
        return true;
    end);
    return v18;
end;
local v22 = v5(l_manyFriends_0)("test");
l_llama_0.List.every(v22, function(v23, v24)
    v23.displayName = v9[v10[1 + v24 % #v10]];
    v23.userPresenceType = l_PresenceType_0.InGame;
    v23.lastLocation = "Last Location";
    return true;
end);
local l_v22_0 = v22;
local v26 = v5(l_smallNumbersOfFriends_0)("test");
l_llama_0.List.every(v26, function(v27, v28)
    v27.displayName = v9[v10[1 + v28 % #v10]];
    v27.userPresenceType = l_PresenceType_0.InGame;
    v27.lastLocation = "Last Location";
    return true;
end);
return {
    friendRequests = l_v22_0,
    manyFriendRequests = l_v22_0,
    smallNumbersOfFriendRequests = v26,
    createStore = v16
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_Dash_0 = v1.Dash;
local l_withLocalization_0 = v1.withLocalization;
local v5 = require(l_script_FirstAncestor_0.FriendsLandingContext);
local v6 = require(script.Parent.AddFriendsContainer);
local v7 = require(script.Parent.AddFriendsLayerExposure);
local v8 = l_Roact_0.PureComponent:extend("AddFriendsScreen");
local v9 = require(l_script_FirstAncestor_0.Flags.FFlagAddIgnoreAllFriendRequestsModal);
v8.render = function(v10)
    return l_withLocalization_0({
        networkErrorText = "Feature.Toast.NetworkingError.SomethingIsWrong",
        friendAddedText = "Feature.AddFriends.Action.FriendAdded",
        requestIgnoredText = "Feature.AddFriends.Action.RequestIgnored",
        allRequestsIgnoredText = "Feature.Profile.Action.AllRequestsIgnored",
        allRequestsIgnoredBackgroundedText = if not v9 then nil else "Feature.AddFriends.Label.DeclineAllBackgrounded",
        requestSentText = "Feature.Friends.Action.FriendRequestSent"
    })(function(v11)
        return v5.with(function(v12)
            return l_Roact_0.createElement(v7, {
                renderChild = function(v13)
                    return l_Roact_0.createElement(v6, l_Dash_0.join(v13 or {}, {
                        navigation = v10.props.navigation,
                        navigateToLuaAppPages = v12.navigateToLuaAppPages,
                        localized = v11,
                        wideMode = v12.wideMode,
                        contactImporterAndPYMKEnabled = v12.contactImporterAndPYMKEnabled,
                        contactImporterExperimentVariant = v12.contactImporterExperimentVariant,
                        diagService = v12.diagService,
                        eventIngestService = v12.eventIngestService,
                        openProfilePeekView = v12.openProfilePeekView
                    }));
                end
            });
        end);
    end);
end;
return v8;


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_llama_0 = v0.llama;
local l_Roact_0 = v0.Roact;
local l_Signal_0 = v0.Signal;
local v4 = l_Roact_0.PureComponent:extend("AddFriendsScrollingFrame");
v4.defaultProps = {
    preloadDistance = 2000
};
v4.init = function(v5)
    v5._isMounted = false;
    v5.scrollToTopSignal = l_Signal_0.new();
    v5.scrollToTop = function()
        v5.scrollToTopSignal:fire();
    end;
    v5.state = {
        isLoadingMore = false,
        isScrollable = false
    };
    v5.lastLoadMoreThreshold = 0;
    v5.loadMore = function()
        local l_onLoadMore_0 = v5.props.onLoadMore;
        v5:setState({
            isLoadingMore = true
        });
        l_onLoadMore_0():andThen(function()
            if v5._isMounted then
                v5:setState({
                    isLoadingMore = false
                });
            end;
        end, function()
            if v5._isMounted then
                v5:setState({
                    isLoadingMore = false
                });
            end;
            v5.lastLoadMoreThreshold = 0;
        end);
    end;
    v5.lastScrollPosition = 0;
    v5.scrollMovementDirection = v5.props.deps.ScrollMovementDirection.Backward;
    v5.checkScrollDirectionChanged = function(v7)
        local l_Y_0 = v7.CanvasPosition.Y;
        if not (l_Y_0 >= 0) or l_Y_0 == v5.lastScrollPosition then
            return ;
        else
            local v9 = nil;
            v9 = if v5.lastScrollPosition < l_Y_0 then v5.props.deps.ScrollMovementDirection.Forward else v5.props.deps.ScrollMovementDirection.Backward;
            if v9 ~= v5.scrollMovementDirection then
                if v5.props.onScrollDirectionChanged ~= nil then
                    v5.props.onScrollDirectionChanged(v9);
                end;
                v5.scrollMovementDirection = v9;
            end;
            v5.lastScrollPosition = l_Y_0;
            return ;
        end;
    end;
    v5.onCanvasPositionChanged = function(v10)
        local l_onLoadMore_1 = v5.props.onLoadMore;
        local l_isLoadingMore_0 = v5.state.isLoadingMore;
        local l_Y_1 = v10.CanvasPosition.Y;
        if l_onLoadMore_1 and not l_isLoadingMore_0 then
            v5.loadMore();
        end;
        if v5.props.onCanvasPositionChangedCallback then
            v5.props.onCanvasPositionChangedCallback(l_Y_1);
        end;
        if v5.props.onScrollDirectionChanged ~= nil then
            v5.checkScrollDirectionChanged(v10);
        end;
    end;
    v5.onCanvasSizeChanged = function(v14)
        local l_Offset_0 = v14.CanvasSize.Y.Offset;
        local l_Y_2 = v14.AbsoluteWindowSize.Y;
        if l_Y_2 ~= 0 and v5._isMounted then
            local v17 = v5._isMounted and l_Y_2 < l_Offset_0;
            if not (not (v17 ~= v5.state.isScrollable) or not v5._isMounted) then
                v5:setState({
                    isScrollable = v17
                });
            end;
            if not (not ((v5.props.onLoadMore and not v5.state.isLoadingMore) and not v17) or v5.props.initializing) then
                v5.loadMore();
            end;
            return ;
        else
            return ;
        end;
    end;
    v5.createFooter = function()
        return v5.state.isLoadingMore and l_Roact_0.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, 0, 0, 56)
        }, {
            LoadingBar = l_Roact_0.createElement(v5.props.deps.LoadingBarWithTheme)
        });
    end;
end;
v4.didMount = function(v18)
    v18._isMounted = true;
end;
v4.willUnmount = function(v19)
    v19._isMounted = false;
end;
v4.render = function(v20)
    return l_Roact_0.createElement(v20.props.deps.RefreshScrollingFrame, l_llama_0.Dictionary.join(v20.props, {
        onCanvasPositionChangedCallback = v20.onCanvasPositionChanged,
        onCanvasSizeChangedCallback = v20.onCanvasSizeChanged,
        createFooter = v20.createFooter,
        onLoadMore = l_llama_0.None,
        [l_Roact_0.Children] = l_llama_0.None
    }), v20.props[l_Roact_0.Children]);
end;
return v4;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local v1 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_Roact_0 = v1.Roact;
local l_t_0 = v1.t;
local l_UIBlox_0 = v1.UIBlox;
local l_IconButton_0 = l_UIBlox_0.App.Button.IconButton;
local l_IconSize_0 = l_UIBlox_0.App.ImageSet.Enum.IconSize;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_validateImage_0 = l_UIBlox_0.Core.ImageSet.Validator.validateImage;
local v9 = require(l_script_FirstAncestor_0.Flags.FFlagAddFriendsComponentsTransparent);
local v10 = require(l_script_FirstAncestor_0.Flags.FFlagAddFriendsPageUseToken);
local v11 = l_Roact_0.PureComponent:extend("AddFriendsSectionHeaderFrame");
v11.validateProps = l_t_0.strictInterface({
    title = l_t_0.string,
    icon = l_validateImage_0,
    iconVisible = l_t_0.boolean,
    onIconActivated = l_t_0.optional(l_t_0.callback),
    layoutOrder = l_t_0.optional(l_t_0.integer)
});
v11.defaultProps = {
    layoutOrder = 1
};
v11.render = function(v12)
    return l_withStyle_0(function(v13)
        return l_Roact_0.createElement("Frame", {
            ZIndex = 2,
            Position = UDim2.new(0, 24, 0, 0),
            Size = UDim2.new(1, 0, 0, v13.Tokens.Global.Space_600),
            LayoutOrder = v12.props.layoutOrder,
            BackgroundColor3 = if v9 then nil else v13.Theme.BackgroundDefault.Color,
            BackgroundTransparency = if not v9 then nil else 1,
            BorderSizePixel = 0
        }, {
            HeaderLabel = l_Roact_0.createElement("TextLabel", {
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                Font = v13.Font.Header1.Font,
                Position = UDim2.new(0, 0, 0, 0),
                Size = UDim2.new(0.8, 0, 1, 0),
                Text = v12.props.title,
                TextColor3 = if not v10 then v13.Theme.TextEmphasis.Color else v13.Tokens.Semantic.Color.Text.Emphasis.Color3,
                TextSize = if not v10 then v13.Font.BaseSize * v13.Font.Header1.RelativeSize else v13.Tokens.Semantic.Typography.Header.FontSize,
                TextTransparency = if not v10 then v13.Theme.TextEmphasis.Transparency else v13.Tokens.Semantic.Color.Text.Emphasis.Transparency,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextYAlignment = Enum.TextYAlignment.Center
            }),
            HeaderImageButton = not not v12.props.iconVisible and l_Roact_0.createElement(l_IconButton_0, {
                size = UDim2.fromOffset(l_IconSize_0.Medium, l_IconSize_0.Medium),
                position = UDim2.new(1, 0, 0, 6),
                anchorPoint = Vector2.new(1, 0),
                icon = v12.props.icon,
                iconTransparency = if not v10 then v13.Theme.IconEmphasis.Transparency else v13.Tokens.Semantic.Color.Icon.Emphasis.Transparency,
                iconColor3 = if not v10 then v13.Theme.IconEmphasis.Color else v13.Tokens.Semantic.Color.Icon.Emphasis.Color3,
                onActivated = v12.props.onIconActivated
            }) or nil
        });
    end);
end;
return v11;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_AddFriends_0 = l_script_FirstAncestor_0.AddFriends;
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_AddFriends_0.dependencies);
local l_t_0 = v3.t;
local l_Images_0 = v3.UIBlox.App.ImageSet.Images;
local l_PresenceType_0 = v3.RoduxPresence.Enums.PresenceType;
local l_ContactImporterConstants_0 = v3.ContactImporterConstants;
local l_FriendshipOriginSourceType_0 = v3.NetworkingFriendsEnums.FriendshipOriginSourceType;
local v9 = require(l_Parent_0.SocialCommon);
local l_getRecommendationContextualInfoDisplay_0 = v9.Utils.getRecommendationContextualInfoDisplay;
local l_getRecommendationContextualInfoType_0 = v9.Utils.getRecommendationContextualInfoType;
local l_ContextualInfoTypes_0 = v9.Enums.ContextualInfoTypes;
local v13 = l_t_0.strictInterface({
    mutualFriends = l_t_0.optional(l_t_0.table),
    amIFollowingUser = l_t_0.optional(l_t_0.boolean),
    isUserFollowingMe = l_t_0.optional(l_t_0.boolean),
    sentFromExperienceName = l_t_0.optional(l_t_0.string),
    isFriendRequest = l_t_0.boolean,
    isRecommendation = l_t_0.optional(l_t_0.boolean),
    userPresenceType = l_t_0.optional(l_t_0.userdata),
    friendStatus = l_t_0.optional(l_t_0.enum(Enum.FriendStatus)),
    lastLocation = l_t_0.optional(l_t_0.string),
    originSourceType = l_t_0.optional(l_t_0.string),
    contextType = l_t_0.optional(l_t_0.userdata),
    mutualFriendsCount = l_t_0.optional(l_t_0.number),
    hasIncomingFriendRequest = l_t_0.optional(l_t_0.boolean)
});
local function _(v14)
    local v15 = false;
    if v14 ~= nil then
        v15 = #v14 > 0;
    end;
    return v15;
end;
return function(v17, v18, v19)
    assert(v13(v17));
    if not v17.isFriendRequest then
        if v17.userPresenceType == l_PresenceType_0.InGame then
            return not not v17.lastLocation and {
                text = v17.lastLocation,
                fontStyle = v18.Font.CaptionBody,
                icon = l_Images_0["icons/actions/friends/friendsplaying"],
                iconTransparency = v18.Theme.BackgroundUIDefault.Transparency,
                iconSize = UDim2.new(0, 24, 0, 24)
            } or nil;
        elseif not v17.isRecommendation then
            return nil;
        else
            local v20 = {
                contextType = v17.contextType,
                mutualFriendsCount = v17.mutualFriendsCount,
                hasIncomingFriendRequest = v17.hasIncomingFriendRequest
            };
            local v21 = l_getRecommendationContextualInfoDisplay_0({
                recommendation = v20,
                localized = {
                    mutualFriends = v19.mutualFriends,
                    singularMutualFriend = v19.singularMutualFriend,
                    frequents = v19.frequents,
                    friendRequests = v19.friendRequests,
                    contacts = v19.fromContacts
                }
            });
            return {
                text = v21.text,
                fontStyle = v18.Font.CaptionBody,
                icon = v21.icon
            }, l_getRecommendationContextualInfoType_0(v20);
        end;
    elseif not v19.contactNameText then
        if v17.originSourceType == l_ContactImporterConstants_0.PHONE_CONTACT_IMPORTER then
            return {
                text = v19.fromContactsText,
                fontStyle = v18.Font.CaptionBody
            };
        elseif v17.originSourceType == l_FriendshipOriginSourceType_0.QrCode.rawValue() then
            return {
                text = v19.foundThroughQRCode,
                fontStyle = v18.Font.CaptionBody
            };
        else
            local l_mutualFriends_0 = v17.mutualFriends;
            local v23 = false;
            if l_mutualFriends_0 ~= nil then
                v23 = #l_mutualFriends_0 > 0;
            end;
            if not v23 then
                if v17.sentFromExperienceName ~= nil then
                    return {
                        text = v19.sentFromWithContextText,
                        fontStyle = v18.Font.CaptionBody
                    };
                elseif not v17.amIFollowingUser then
                    if not v17.isUserFollowingMe then
                        return nil;
                    else
                        return {
                            text = v19.followsYouText,
                            fontStyle = v18.Font.CaptionBody,
                            icon = l_Images_0["icons/status/player/following"]
                        };
                    end;
                else
                    return {
                        text = v19.youAreFollowingText,
                        fontStyle = v18.Font.CaptionBody,
                        icon = l_Images_0["icons/status/player/following"]
                    };
                end;
            else
                return {
                    text = ("%d %s"):format(#v17.mutualFriends, string.lower(v19.mutualFriendsText)),
                    fontStyle = v18.Font.CaptionBody,
                    icon = l_Images_0["icons/status/player/friend"]
                }, l_ContextualInfoTypes_0.MutualFriends;
            end;
        end;
    else
        return {
            text = v19.contactNameText,
            fontStyle = v18.Font.CaptionBody
        };
    end;
end;


local v0 = require(script:FindFirstAncestor("FriendsLanding").Common.Constants);
return function(v1)
    return {
        absolutePosition = v1.position,
        requestedId = v1.playerId,
        isRecommendation = not v1.isFriendRequest,
        recommendationRank = if v1.isFriendRequest then nil else v1.rank,
        source = if v1.isFriendRequest then nil else v0.AddFriendsPYMKSourceName,
        contextType = v1.contextType
    };
end;


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_t_0 = v0.t;
local l_Images_0 = v0.UIBlox.App.ImageSet.Images;
local l_FriendshipOriginSourceType_0 = v0.NetworkingFriendsEnums.FriendshipOriginSourceType;
local v4 = require(script.Parent.getFriendRequestHandlersExtraProps);
local v5 = l_t_0.strictInterface({
    playerId = l_t_0.string,
    isFriendRequest = l_t_0.boolean,
    hasIncomingFriendRequest = l_t_0.optional(l_t_0.boolean),
    friendStatus = l_t_0.optional(l_t_0.enum(Enum.FriendStatus)),
    networking = l_t_0.optional(l_t_0.callback),
    handleRequestFriendship = l_t_0.optional(l_t_0.callback),
    handleAcceptFriendRequest = l_t_0.optional(l_t_0.callback),
    handleDeclineFriendRequest = l_t_0.optional(l_t_0.callback),
    position = l_t_0.optional(l_t_0.integer),
    rank = l_t_0.optional(l_t_0.integer),
    contextType = l_t_0.optional(l_t_0.string)
});
return function(v6)
    assert(v5(v6));
    local v7 = {};
    local v8 = v4(v6);
    if not v6.isFriendRequest then
        local v9 = v6.friendStatus or Enum.FriendStatus.NotFriend;
        if not v6.hasIncomingFriendRequest then
            if v9 == Enum.FriendStatus.NotFriend then
                local v10 = nil;
                if v8.isRecommendation then
                    v10 = l_FriendshipOriginSourceType_0.FriendRecommendations.rawValue();
                end;
                table.insert(v7, {
                    icon = l_Images_0["icons/actions/friends/friendAdd"],
                    isSecondary = false,
                    onActivated = function()
                        v6.handleRequestFriendship(v6.networking, v6.playerId, v10, v8);
                    end
                });
                return v7;
            elseif v9 == Enum.FriendStatus.FriendRequestSent then
                table.insert(v7, {
                    icon = l_Images_0["icons/actions/friends/friendpending"],
                    isSecondary = false,
                    isDisabled = true,
                    onActivated = function()
                    end
                });
            end;
        else
            table.insert(v7, {
                icon = l_Images_0["icons/actions/friends/friendAdd"],
                isSecondary = false,
                onActivated = function()
                    v6.handleAcceptFriendRequest(v6.networking, v6.playerId, v8);
                end
            });
            return v7;
        end;
    elseif (v6.friendStatus or Enum.FriendStatus.FriendRequestReceived) == Enum.FriendStatus.FriendRequestReceived then
        table.insert(v7, {
            icon = l_Images_0["icons/actions/reject"],
            isSecondary = true,
            onActivated = function()
                v6.handleDeclineFriendRequest(v6.networking, v6.playerId, v8);
            end
        });
        table.insert(v7, {
            icon = l_Images_0["icons/actions/friends/friendAdd"],
            isSecondary = false,
            onActivated = function()
                v6.handleAcceptFriendRequest(v6.networking, v6.playerId, v8);
            end
        });
        return v7;
    end;
    return v7;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_Roact_0 = v3.Roact;
local l_RoactRodux_0 = v3.RoactRodux;
local l_RecommendationContextType_0 = v3.RoduxFriends.Enums.RecommendationContextType;
local l_t_0 = v3.t;
local l_Dash_0 = v3.Dash;
local l_Contexts_0 = v3.SocialLuaAnalytics.Analytics.Enums.Contexts;
local l_UIBlox_0 = v3.UIBlox;
local l_PlayerTile_0 = l_UIBlox_0.App.Tile.PlayerTile;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_withTooltip_0 = l_UIBlox_0.App.Dialog.TooltipV2.withTooltip;
local l_TooltipOrientation_0 = l_UIBlox_0.App.Dialog.Enum.TooltipOrientation;
local l_withLocalization_0 = v3.withLocalization;
local v16 = nil;
v16 = if not v3.GetFFlagEnableAppCommonInputHooks() then v3.ReactFocusNavigation.useLastInputMode else v3.FocusNavigationUtils.useLastInputMode;
local l_FriendshipOriginSourceType_0 = v3.NetworkingFriendsEnums.FriendshipOriginSourceType;
local v18 = require(l_script_FirstAncestor_0.Common.TextKeys);
local v19 = require(l_script_FirstAncestor_0.Common.Constants);
local l_convertUserPresenceTypeToString_0 = require(l_Parent_0.SocialCommon).Utils.convertUserPresenceTypeToString;
local v21 = require(script.mapStateToProps);
local v22 = require(script.getOverlayButtons);
local v23 = require(script.getFooterRelevanceInfo);
local v24 = require(script.useAddFriendsTileFocusNavigationBindings);
local v25 = require(script.useFriendRequestHandlers);
local _ = require(l_Parent_0.PlayerContextualMenu);
local v27 = require(l_script_FirstAncestor_0.Flags.getFIntFromContactsText);
local l_FFlagEnableFriendsLandingControllerBar_0 = require(l_Parent_0.SharedFlags).FFlagEnableFriendsLandingControllerBar;
local l_FFlagContactRecs_0 = require(l_Parent_0.SharedFlags).FFlagContactRecs;
local v30 = require(l_script_FirstAncestor_0.Flags.FFlagAddPYMKToConsoleAddFriends);
local l_useSelector_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useSelector;
local function v32()
    return nil;
end;
local v33 = l_Roact_0.PureComponent:extend("AddFriendsTile");
v33.validateProps = l_t_0.strictInterface({
    localUserId = l_t_0.string,
    amIFollowingUser = l_t_0.optional(l_t_0.boolean),
    isUserFollowingMe = l_t_0.optional(l_t_0.boolean),
    sentFromExperienceName = l_t_0.optional(l_t_0.string),
    friendStatus = l_t_0.optional(l_t_0.enum(Enum.FriendStatus)),
    user = l_t_0.table,
    layoutOrder = l_t_0.integer,
    size = l_t_0.Vector2,
    isFriendRequest = l_t_0.optional(l_t_0.boolean),
    isRecommendation = l_t_0.optional(l_t_0.boolean),
    hasIncomingFriendRequest = l_t_0.boolean,
    handleNavigateDownToViewUserProfile = l_t_0.optional(l_t_0.callback),
    handleRequestFriendship = l_t_0.optional(l_t_0.callback),
    handleAcceptFriendRequest = l_t_0.optional(l_t_0.callback),
    handleDeclineFriendRequest = l_t_0.optional(l_t_0.callback),
    openPlayerContextualMenu = l_t_0.optional(l_t_0.callback),
    isPlayerContextualMenuEnabled = l_t_0.optional(l_t_0.boolean),
    screenSize = l_t_0.Vector2,
    originSourceType = l_t_0.optional(l_t_0.string),
    contactImporterWarningSeen = l_t_0.optional(l_t_0.callback),
    showTooltip = l_t_0.optional(l_t_0.boolean),
    tooltipShown = l_t_0.optional(l_t_0.callback),
    navigation = l_t_0.optional(l_t_0.table),
    position = l_t_0.integer,
    eventHandlerMapRef = if not l_FFlagEnableFriendsLandingControllerBar_0 then nil else l_t_0.optional(l_t_0.callback),
    selected = l_t_0.optional(l_t_0.boolean),
    focusGuiObject = l_t_0.optional(l_t_0.callback),
    lastInputMode = if not l_FFlagEnableFriendsLandingControllerBar_0 then nil else l_t_0.string
});
v33.defaultProps = {
    isFriendRequest = false,
    isPlayerContextualMenuEnabled = false,
    handleNavigateDownToViewUserProfile = v32,
    handleRequestFriendship = v32,
    handleAcceptFriendRequest = v32,
    handleDeclineFriendRequest = v32,
    lastInputMode = if not l_FFlagEnableFriendsLandingControllerBar_0 then nil else "Cursor"
};
v33.init = function(v34)
    v34.state = {
        showTooltip = v34.props.showTooltip
    };
    v34.isMounted = false;
    v34.addFriendsTileRef = l_Roact_0.createRef();
    v34.onActivated = function(_, _, v37, v38)
        if not v34.props.isPlayerContextualMenuEnabled then
            return v34.openPlayerProfile({
                profilePeekViewProps = {
                    contextualInfoDisplay = v37,
                    contextualInfoType = v38
                }
            });
        else
            return v34.openPlayerContextualMenu(v34.props.user);
        end;
    end;
    v34.openPlayerContextualMenu = function(v39)
        return function()
            if v34.isMounted then
                local _ = nil;
                v34.props.openPlayerContextualMenu({
                    subjectUserId = v39.id,
                    contactId = if not v30 then nil else v39.entityId,
                    contactName = if not v30 then nil else v39.entityDisplayName,
                    recommendationContext = if not v30 then nil else v34.props.user.contextType,
                    mutualFriendsCount = if not v30 then nil else v39.mutualFriendsCount,
                    robloxFriendshipStatus = if not v30 then if v34.props.isRecommendation then Enum.FriendStatus.NotFriend else Enum.FriendStatus.FriendRequestReceived else if v34.props.isRecommendation then v34.props.friendStatus or Enum.FriendStatus.NotFriend else Enum.FriendStatus.FriendRequestReceived,
                    subjectPresence = {
                        locationString = v39.lastLocation,
                        locationPlaceId = v39.placeId,
                        locationRootPlaceId = v39.rootPlaceId,
                        locationUniverseId = v39.universeId,
                        status = l_convertUserPresenceTypeToString_0(v39.userPresenceType)
                    },
                    friendshipOriginSourceType = if not v34.props.isRecommendation then nil else l_FriendshipOriginSourceType_0.FriendRecommendations.rawValue()
                });
                return ;
            else
                return ;
            end;
        end;
    end;
    v34.openPlayerProfile = function(v41)
        return function()
            if v34.isMounted then
                local v42 = (not not l_FFlagContactRecs_0 and v34.props.user.contextType) and v34.props.user.contextType == l_RecommendationContextType_0.Contacts;
                local v43 = l_Dash_0.join(v41.profilePeekViewProps, {
                    absolutePosition = v34.props.position,
                    source = l_Contexts_0.AddFriends
                });
                if v34.props.isRecommendation then
                    v43 = l_Dash_0.join(v43, {
                        isRecommendation = v34.props.isRecommendation,
                        rank = v34.props.user.rank,
                        source = v19.AddFriendsPYMKSourceName,
                        contactProps = if not v42 then nil else {
                            contactId = v34.props.user.entityId,
                            contactname = v34.props.user.entityDisplayName,
                            avatarImageUrl = v34.props.user.thumbnailEntities.avatarImageUrl
                        },
                        profileType = if not v42 then nil else "FromContacts"
                    });
                end;
                v34.props.handleNavigateDownToViewUserProfile(v34.props.user.id, {
                    profilePeekViewProps = v43
                });
                return ;
            else
                return ;
            end;
        end;
    end;
    v34.hideTooltip = function()
        v34.props.contactImporterWarningSeen();
        v34:setState({
            showTooltip = false
        });
    end;
    v34.checkAndSetSelected = function()
        if not (not v34.props.selected or not v34.props.focusGuiObject) then
            local v44 = v34.addFriendsTileRef:getValue();
            if v44 then
                v34.props.focusGuiObject(v44);
            end;
        end;
    end;
end;
v33.render = function(v45)
    local l_size_0 = v45.props.size;
    local l_user_0 = v45.props.user;
    return l_withStyle_0(function(v48)
        return l_withLocalization_0({
            mutualFriendsText = (not not l_user_0.mutualFriends and #l_user_0.mutualFriends == 1) and "Feature.Friends.Label.SingularMutualFriend" or "Feature.Friends.Label.MutualFriends",
            sentFromWithContextText = {
                "Feature.Friends.Label.SentFromWithContext";
                gameName = v45.props.sentFromExperienceName or ""
            },
            youAreFollowingText = "Feature.Friends.Label.YouAreFollowing",
            followsYouText = "Feature.Friends.Label.FollowsYou",
            fromContactsText = not v27() and "Feature.Friends.Description.FoundFromPhone" or "Feature.Friends.Description.FoundFromContactImporter",
            contactNameText = if not l_user_0.contactName then nil else {
                "Feature.Friends.Description.FromContactsV2";
                contactName = l_user_0.contactName
            },
            tooltipHeaderText = "Feature.Contacts.Heading.ContactsTooltip",
            tooltipBodyText = "Feature.Contacts.Label.ContactsTooltip",
            tooltipButtonText = "Feature.Avatar.Action.GotIt",
            foundThroughQRCode = v18.PROFILE_QR_CODE_TILE_FOOTER,
            friendRequests = v18.FRIEND_REQUEST,
            mutualFriends = v18.MUTUAL_FRIENDS,
            singularMutualFriend = v18.MUTUAL_FRIEND_SINGULAR,
            frequents = v18.FREQUENTS,
            fromContacts = v18.FROM_CONTACTS
        })(function(v49)
            local v50 = {
                headerText = v49.tooltipHeaderText,
                bodyText = v49.tooltipBodyText,
                buttonProps = {
                    text = v49.tooltipButtonText,
                    onActivated = v45.hideTooltip
                },
                useLargeDropShadow = true
            };
            local v51 = {
                preferredOrientation = l_TooltipOrientation_0.Left,
                guiTarget = l_CoreGui_0,
                active = v45.state.showTooltip,
                DisplayOrder = 1
            };
            local v52, v53 = v23({
                mutualFriends = l_user_0.mutualFriends,
                isUserFollowingMe = v45.props.isUserFollowingMe,
                amIFollowingUser = v45.props.amIFollowingUser,
                sentFromExperienceName = v45.props.sentFromExperienceName,
                isFriendRequest = v45.props.isFriendRequest,
                isRecommendation = v45.props.isRecommendation,
                friendStatus = v45.props.friendStatus,
                userPresenceType = l_user_0.userPresenceType,
                lastLocation = l_user_0.lastLocation,
                originSourceType = v45.props.originSourceType,
                contextType = l_user_0.contextType,
                mutualFriendsCount = l_user_0.mutualFriendsCount,
                hasIncomingFriendRequest = v45.props.hasIncomingFriendRequest
            }, v48, v49);
            local v54 = if (not not v45.props.isRecommendation and v52) and v52.text then {
                text = v52.text,
                icon = v52.icon
            } else nil;
            if v45.props.isPlayerContextualMenuEnabled then
                v54 = {
                    text = if not v52 then nil else v52.text,
                    icon = if not v52 then nil else v52.icon
                };
            end;
            local v55 = nil;
            local v56 = nil;
            local v57 = nil;
            if not l_FFlagContactRecs_0 then
                v55 = l_user_0.displayName;
                v56 = "@" .. (l_user_0.externalAppDisplayName or l_user_0.username);
                v57 = string.format("rbxthumb://type=Avatar&id=%s&w=720&h=720", (tostring(l_user_0.id)));
            elseif not (l_user_0.contextType and l_user_0.contextType == l_RecommendationContextType_0.Contacts) then
                v55 = l_user_0.displayName;
                v56 = "@" .. (l_user_0.externalAppDisplayName or l_user_0.username);
                v57 = string.format("rbxthumb://type=Avatar&id=%s&w=720&h=720", (tostring(l_user_0.id)));
            else
                v55 = l_user_0.entityDisplayName;
                v56 = nil;
                v57 = l_user_0.thumbnailEntities.avatarImageUrl;
            end;
            if not v27() then
                return l_withTooltip_0(v50, v51, function(v58)
                    return l_Roact_0.createElement("Frame", {
                        AnchorPoint = Vector2.new(1, 0.5),
                        Position = UDim2.fromScale(1, 0.5),
                        Size = UDim2.new(0, l_size_0.X, 0, l_size_0.Y),
                        BackgroundTransparency = 1,
                        ZIndex = 1,
                        [l_Roact_0.Change.AbsoluteSize] = v58,
                        [l_Roact_0.Change.AbsolutePosition] = v58,
                        [l_Roact_0.Ref] = v45.props.eventHandlerMapRef
                    }, {
                        PlayerTile = l_Roact_0.createElement(l_PlayerTile_0, {
                            thumbnail = v57,
                            title = v55,
                            tileSize = UDim2.new(0, l_size_0.X, 0, l_size_0.Y),
                            subtitle = v56,
                            buttons = if not not l_FFlagEnableFriendsLandingControllerBar_0 and v45.props.lastInputMode == "Focus" then nil else v22({
                                playerId = l_user_0.id,
                                position = v45.props.position,
                                isFriendRequest = v45.props.isFriendRequest,
                                friendStatus = v45.props.friendStatus,
                                networking = v45.props.networking,
                                rank = l_user_0.rank,
                                handleRequestFriendship = v45.props.handleRequestFriendship,
                                handleAcceptFriendRequest = v45.props.handleAcceptFriendRequest,
                                handleDeclineFriendRequest = v45.props.handleDeclineFriendRequest,
                                hasIncomingFriendRequest = v45.props.hasIncomingFriendRequest,
                                contextType = if not l_user_0.contextType then nil else l_user_0.contextType.rawValue()
                            }),
                            relevancyInfo = v52,
                            onActivated = v45.onActivated(v55, v56, v54, v53),
                            forwardedRef = v45.addFriendsTileRef,
                            Selectable = not not l_FFlagEnableFriendsLandingControllerBar_0 or nil
                        })
                    });
                end);
            else
                return l_Roact_0.createElement("Frame", {
                    AnchorPoint = Vector2.new(1, 0.5),
                    Position = UDim2.fromScale(1, 0.5),
                    Size = UDim2.new(0, l_size_0.X, 0, l_size_0.Y),
                    BackgroundTransparency = 1,
                    ZIndex = 1,
                    [l_Roact_0.Ref] = v45.props.eventHandlerMapRef
                }, {
                    PlayerTile = l_Roact_0.createElement(l_PlayerTile_0, {
                        thumbnail = v57,
                        title = v55,
                        tileSize = UDim2.new(0, l_size_0.X, 0, l_size_0.Y),
                        subtitle = v56,
                        buttons = if not not l_FFlagEnableFriendsLandingControllerBar_0 and v45.props.lastInputMode == "Focus" then nil else v22({
                            playerId = l_user_0.id,
                            position = v45.props.position,
                            isFriendRequest = v45.props.isFriendRequest,
                            friendStatus = v45.props.friendStatus,
                            networking = v45.props.networking,
                            rank = l_user_0.rank,
                            handleRequestFriendship = v45.props.handleRequestFriendship,
                            handleAcceptFriendRequest = v45.props.handleAcceptFriendRequest,
                            handleDeclineFriendRequest = v45.props.handleDeclineFriendRequest,
                            hasIncomingFriendRequest = v45.props.hasIncomingFriendRequest,
                            contextType = if not l_user_0.contextType then nil else l_user_0.contextType.rawValue()
                        }),
                        relevancyInfo = v52,
                        onActivated = v45.onActivated(v55, v56, v54, v53),
                        forwardedRef = v45.addFriendsTileRef,
                        Selectable = not not l_FFlagEnableFriendsLandingControllerBar_0 or nil
                    })
                });
            end;
        end);
    end);
end;
v33.didUpdate = function(v59)
    if not (not v59.state.showTooltip or v59.props.navigation.isFocused()) then
        v59:setState({
            showTooltip = false
        });
    end;
end;
v33.didMount = function(v60)
    v60.isMounted = true;
    v60.checkAndSetSelected();
end;
v33.willUnmount = function(v61)
    v61.isMounted = false;
end;
v33 = l_RoactRodux_0.connect(v21, nil)(v33);
local function v70(v62)
    local v64 = l_useSelector_0(function(v63)
        return v21(v63, v62);
    end);
    local l_user_1 = v62.user;
    local v66 = v25({
        playerId = l_user_1.id,
        position = v62.position,
        isFriendRequest = v62.isFriendRequest,
        friendStatus = v62.friendStatus,
        networking = v62.networking,
        rank = l_user_1.rank,
        handleRequestFriendship = v62.handleRequestFriendship,
        handleAcceptFriendRequest = v62.handleAcceptFriendRequest,
        handleDeclineFriendRequest = v62.handleDeclineFriendRequest,
        hasIncomingFriendRequest = v62.hasIncomingFriendRequest,
        contextType = if not l_user_1.contextType then nil else l_user_1.contextType.rawValue()
    });
    local v67;
    if not v30 then
        v67 = v24(v66);
    else
        v67 = v24;
        local l_v66_0 = v66;
        local v69 = true;
        if v64.friendStatus ~= Enum.FriendStatus.FriendRequestReceived then
            v69 = false;
        end;
        v67 = v67(l_v66_0, v69);
    end;
    return l_Roact_0.createElement(v33, l_Dash_0.join(v62, {
        eventHandlerMapRef = v67,
        lastInputMode = v16()
    }));
end;
if not l_FFlagEnableFriendsLandingControllerBar_0 then
    return v33;
else
    return v70;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_getDeepValue_0 = require(l_script_FirstAncestor_0.dependencies).SocialLibraries.Dictionary.getDeepValue;
local l_RODUX_KEY_0 = require(l_script_FirstAncestor_0.Common.Constants).RODUX_KEY;
return function(v3, v4)
    local v5 = l_getDeepValue_0(v3, "FriendsLanding.RequestsFromOriginSourceType") or {};
    local l_id_0 = v4.user.id;
    return {
        friendStatus = l_getDeepValue_0(v3, string.format("FriendsLanding.Friends.friendshipStatus.%s", l_id_0)) or nil,
        localUserId = v3.LocalUserId,
        screenSize = v3.ScreenSize,
        originSourceType = v5[l_id_0],
        hasIncomingFriendRequest = l_getDeepValue_0(v3, string.format("%s.Friends.recommendations.hasIncomingFriendRequest.%s", l_RODUX_KEY_0, l_id_0)) or false
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local l_FocusNavigationEventNameEnum_0 = require(l_Parent_0.FocusNavigationUtils).FocusNavigationEventNameEnum;
local v3 = require(l_Parent_0.ReactFocusNavigation);
local v4 = require(l_Parent_0.InputHandlers);
local v5 = require(l_Parent_0.React);
local v6 = require(l_script_FirstAncestor_0.Flags.FFlagAddPYMKToConsoleAddFriends);
local l_FFlagFixControllerBarButtonNames_0 = require(l_Parent_0.SharedFlags).FFlagFixControllerBarButtonNames;
return function(v8, v9)
    return v3.useEventHandlerMap(v5.useMemo(function()
        if not v6 or v9 then
            return {
                [l_FocusNavigationEventNameEnum_0.AcceptFriendRequest] = {
                    handler = v4.onRelease(v8.acceptFriendRequest)
                },
                [l_FocusNavigationEventNameEnum_0.IgnoreFriendRequest] = {
                    handler = v4.onRelease(v8.declineFriendRequest)
                }
            };
        elseif not l_FFlagFixControllerBarButtonNames_0 then
            return {
                [l_FocusNavigationEventNameEnum_0.AcceptFriendRequest] = {
                    handler = v4.onRelease(v8.requestFriendship)
                }
            };
        else
            return {
                [l_FocusNavigationEventNameEnum_0.AddFriend] = {
                    handler = v4.onRelease(v8.requestFriendship)
                }
            };
        end;
    end, if not v6 then {
        v8.acceptFriendRequest,
        v8.declineFriendRequest
    } else {
        v8.acceptFriendRequest,
        v8.declineFriendRequest,
        v8.requestFriendship
    }), (v3.useEventMap({
        [Enum.KeyCode.ButtonX] = if not l_FFlagFixControllerBarButtonNames_0 or v9 then l_FocusNavigationEventNameEnum_0.AcceptFriendRequest else l_FocusNavigationEventNameEnum_0.AddFriend,
        [Enum.KeyCode.ButtonR3] = l_FocusNavigationEventNameEnum_0.IgnoreFriendRequest
    })));
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local v1 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local v2 = require(l_script_FirstAncestor_0.Parent.React);
local v3 = require(script.Parent.getFriendRequestHandlersExtraProps);
local l_FriendshipOriginSourceType_0 = v1.NetworkingFriendsEnums.FriendshipOriginSourceType;
local v5 = require(l_script_FirstAncestor_0.Flags.FFlagAddPYMKToConsoleAddFriends);
return function(v6)
    local v7 = v2.useMemo(function()
        return v3(v6);
    end, {
        v6.position,
        v6.playerId,
        v6.isFriendRequest,
        v6.rank
    });
    local v8 = v2.useCallback(function()
        return v6.handleAcceptFriendRequest(v6.networking, v6.playerId, v7);
    end, {
        v6.networking,
        v7,
        v6.handleAcceptFriendRequest,
        v6.playerId
    });
    local v9 = v2.useCallback(function()
        return v6.handleDeclineFriendRequest(v6.networking, v6.playerId, v7);
    end, {
        v6.networking,
        v7,
        v6.handleDeclineFriendRequest,
        v6.playerId
    });
    local v10 = nil;
    local v11 = nil;
    if v5 then
        v10 = if not not v7 and v7.isRecommendation then l_FriendshipOriginSourceType_0.FriendRecommendations.rawValue() else nil;
        v11 = v2.useCallback(function()
            return v6.handleRequestFriendship(v6.networking, v6.playerId, v10, v7);
        end, {
            v6.networking,
            v7,
            v6.handleRequestFriendship,
            v6.playerId
        });
    end;
    return {
        acceptFriendRequest = v8,
        declineFriendRequest = v9,
        requestFriendship = if not v5 then nil else v11
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_RecommendationContextType_0 = v2.RoduxFriends.Enums.RecommendationContextType;
local l_Rodux_0 = v2.Rodux;
local l_llama_0 = v2.llama;
local l_User_0 = v2.RoduxUsers.Models.User;
local l_PresenceType_0 = v2.RoduxPresence.Enums.PresenceType;
local l_FriendshipOriginSourceType_0 = v2.NetworkingFriendsEnums.FriendshipOriginSourceType;
local l_FFlagContactRecs_0 = require(l_Parent_0.SharedFlags).FFlagContactRecs;
local v10 = {
    ["36"] = Enum.FriendStatus.NotFriend,
    ["39"] = Enum.FriendStatus.Friend,
    ["37"] = Enum.FriendStatus.FriendRequestSent,
    ["38"] = Enum.FriendStatus.FriendRequestReceived
};
local v11 = l_Rodux_0.Store.new(function()
    return {
        LocalUserId = "0",
        FriendStatuses = v10,
        ScreenSize = Vector2.new(500, 500)
    };
end, {}, {
    l_Rodux_0.thunkMiddleware
});
local function v14(v12, v13)
    return l_llama_0.Dictionary.join(l_User_0.mock({
        id = l_llama_0.Dictionary.flip(v10)[v12]
    }), v13);
end;
local v15 = {
    tileProps = {
        sentFromExperienceName = "TestSentFrom",
        amIFollowingUser = true,
        isUserFollowingMe = true
    },
    userProps = {
        mutualFriends = {
            {},
            {},
            {}
        },
        userPresenceType = l_PresenceType_0.InGame,
        lastLocation = "TestLastLocation"
    }
};
return {
    localUserId = "0",
    friendWithContextInfo = {
        FriendWithFullContextInfo = l_llama_0.Dictionary.joinDeep(v15, {
            userProps = {
                username = "FriendRequestReceived",
                displayName = "WithFullContextInfo"
            }
        }),
        FriendWithMutualFriends = {
            tileProps = {},
            userProps = {
                username = "FriendRequestReceived",
                displayName = "WithMutualFriends",
                mutualFriends = v15.userProps.mutualFriends
            }
        },
        Contact = {
            tileProps = {},
            userProps = {
                entityDisplayName = "entityDisplayName",
                thumbnailEntities = {
                    avatarImageUrl = "avatarImageUrl"
                },
                contextType = if not l_FFlagContactRecs_0 then nil else l_RecommendationContextType_0.Contacts
            }
        },
        FriendWithSentFrom = {
            tileProps = {
                sentFromExperienceName = v15.tileProps.sentFromExperienceName
            },
            userProps = {
                username = "FriendRequestReceived",
                displayName = "WithSentContext"
            }
        },
        FriendYouAreFollowing = {
            tileProps = {
                amIFollowingUser = v15.tileProps.amIFollowingUser
            },
            userProps = {
                username = "FriendRequestReceived",
                displayName = "WithYourAllFollowing"
            }
        },
        FriendFollowingMe = {
            tileProps = {
                isUserFollowingMe = v15.tileProps.isUserFollowingMe
            },
            userProps = {
                username = "FriendRequestReceived",
                displayName = "WithFollowingMe",
                followers = {}
            }
        },
        FriendViaQRCode = {
            tileProps = {
                originSourceType = l_FriendshipOriginSourceType_0.QrCode.rawValue()
            },
            userProps = {
                username = "FriendRequestReceived",
                displayName = "WithQRCode"
            }
        },
        FriendNoFriend = {
            tileProps = {},
            userProps = {
                username = "NotFriend",
                displayName = "Friend to add"
            }
        },
        FriendPending = {
            tileProps = {},
            userProps = {
                username = "FriendRequestSent",
                displayName = "Friend pending"
            }
        }
    },
    fullContextInfo = v15,
    userForStatus = v14,
    baseStore = v11
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("FriendsLanding");
local l_AppStorageService_0 = game:GetService("AppStorageService");
local v2 = require(l_script_FirstAncestor_0.AddFriends.dependencies);
local l_SocialLibraries_0 = v2.SocialLibraries;
local l_Roact_0 = v2.Roact;
local l_getDeepValue_0 = l_SocialLibraries_0.Dictionary.getDeepValue;
local l_Dash_0 = v2.Dash;
local l_llama_0 = v2.llama;
local v8 = require(l_script_FirstAncestor_0.installReducer.Actions.ContactImporterWarningSeen);
local l_RoactRodux_0 = v2.RoactRodux;
local v10 = require(script.Parent.HideableTooltip);
local l_withLocalization_0 = v2.withLocalization;
local v12 = require(l_script_FirstAncestor_0.FriendsLandingAnalytics);
local v13 = require(l_script_FirstAncestor_0.FriendsLandingAnalytics.ImpressionEvents);
local v14 = require(l_script_FirstAncestor_0.Utils.contactImporterTooltip);
local v15 = require(l_script_FirstAncestor_0.Flags.getFFlagShowContactImporterTooltipOnce);
local v16 = require(l_script_FirstAncestor_0.Flags.getFFlagMockAppStorageService);
local v17 = require(l_script_FirstAncestor_0.Common.Constants);
local v18 = require(l_script_FirstAncestor_0.Common.TextKeys);
local function v24(v19, v20)
    local v21 = l_getDeepValue_0(v19, v17.RODUX_KEY .. ".ContactImporterWarning.contactImporterFriendRequests") or {};
    local v22 = l_getDeepValue_0(v19, v17.RODUX_KEY .. ".ContactImporterWarning.seenContactImporterFriendRequest") or false;
    local v23 = not l_llama_0.isEmpty(v21);
    if v15() then
        v22 = if not v16() then v14.getKey(l_AppStorageService_0) else v14.getKey(v20.appStorageService);
    end;
    return {
        showTooltip = v23 and not v22
    };
end;
local function v26(v25)
    return {
        onClick = function()
            v25(v8());
        end
    };
end;
local v27 = l_Roact_0.PureComponent:extend("ContactImporterWarningTooltipContainer");
v27.defaultProps = {
    appStorageService = l_AppStorageService_0
};
v27.render = function(v28)
    return l_withLocalization_0({
        bodyText = v18.CONTACT_IMPORTER_TOOLTIP_BODY,
        headerText = v18.CONTACT_IMPORTER_TOOLTIP_HEADER
    })(function(v29)
        return l_Roact_0.createElement(v10, l_Dash_0.join(v28.props, {
            bodyText = v29.bodyText,
            headerText = v29.headerText,
            analytics = l_Dash_0.None
        }));
    end);
end;
v27.didMount = function(v30)
    if v30.props.showTooltip then
        v30.props.analytics:impressionEvent(v13.ContactWarningSeen);
    end;
end;
v27.didUpdate = function(v31, v32)
    if v31.props.showTooltip and v32.showTooltip == false then
        v31.props.analytics:impressionEvent(v13.ContactWarningSeen);
    end;
end;
return {
    Component = v12.connect(function(v33)
        return {
            analytics = v33
        };
    end)((l_RoactRodux_0.connect(v24, v26)(v27))),
    mapStateToProps = v24,
    mapDispatchToProps = v26
};


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_Dash_0 = v0.Dash;
local l_t_0 = v0.t;
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
local l_Tooltip_0 = l_UIBlox_0.App.Dialog.Tooltip;
local l_TooltipOrientation_0 = l_UIBlox_0.App.Dialog.Enum.TooltipOrientation;
local v7 = l_Roact_0.PureComponent:extend("HideableTooltip");
v7.validateProps = l_t_0.strictInterface({
    onClick = l_Dash_0.isCallable,
    showTooltip = l_t_0.boolean,
    bodyText = l_t_0.string,
    headerText = l_t_0.string
});
v7.render = function(v8)
    local l_props_0 = v8.props;
    if l_props_0.showTooltip then
        return l_Roact_0.createElement("Frame", {
            Size = UDim2.new(0, 250, 0, 140),
            Position = UDim2.new(0, 0, 0, 36),
            LayoutOrder = 1,
            BackgroundTransparency = 1
        }, {
            Tooltip = l_Roact_0.createElement(l_Tooltip_0, {
                position = UDim2.new(0, 0, 0, 0),
                triggerPosition = Vector2.new(0, 0),
                triggerSize = Vector2.new(70, 0),
                bodyText = l_props_0.bodyText,
                headerText = l_props_0.headerText,
                orientation = l_TooltipOrientation_0.Bottom,
                forceClickTriggerPoint = true,
                isDirectChild = true
            }),
            DismissMask = l_Roact_0.createElement("TextButton", {
                Text = "",
                Size = UDim2.new(0, 250, 0, 140),
                BackgroundTransparency = 1,
                [l_Roact_0.Event.Activated] = l_props_0.onClick,
                ZIndex = 10
            })
        });
    else
        return nil;
    end;
end;
return v7;


local v0 = require(script.ContactImporterWarningTooltipContainer);
local _ = require(script.HideableTooltip);
return v0.Component;


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.Models.TencentAuthInfoModel);
return function(v1)
    return v0.new(v1);
end;


local l_AddFriends_0 = script:FindFirstAncestor("FriendsLanding").AddFriends;
local v1 = require(l_AddFriends_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_RoactRodux_0 = v1.RoactRodux;
local v4 = require(l_AddFriends_0.Constants);
local v5 = require(script.mapDispatchToProps);
local v6 = require(script.getTencentAuthInfo);
local v7 = l_Roact_0.Component:extend("TencentAuthInfoEventReceiver");
v7.init = function(v8)
    v8.connections = {
        v8.props.RobloxEventReceiver:observeEvent(v4.TENCENT_AUTH_INFO_SYNC_EVENT, function(v9, _)
            v8.props.setTencentAuthInfo((v6(v9)));
        end)
    };
end;
v7.render = function(_)
end;
v7.willUnmount = function(v12)
    for _, v14 in pairs(v12.connections) do
        v14:disconnect();
    end;
end;
return l_RoactRodux_0.connect(nil, v5)(v7);


local l_SetTencentAuthInfo_0 = require(script:FindFirstAncestor("FriendsLanding").Actions.AddFriends).SetTencentAuthInfo;
return function(v1)
    return {
        setTencentAuthInfo = function(v2)
            return v1(l_SetTencentAuthInfo_0(v2));
        end
    };
end;


local v0 = require(script:FindFirstAncestor("FriendsLanding").AddFriends.dependencies);
local l_t_0 = v0.t;
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
local l_withLocalization_0 = v0.withLocalization;
local l_BaseMenu_0 = l_UIBlox_0.App.Menu.BaseMenu;
local v6 = l_Roact_0.PureComponent:extend("IgnoreAllFriendsRequestsMenu");
v6.validateProps = l_t_0.strictInterface({
    open = l_t_0.boolean,
    onIgnoreAll = l_t_0.callback,
    width = l_t_0.optional(l_t_0.UDim),
    openPositionY = l_t_0.optional(l_t_0.UDim)
});
v6.defaultProps = {
    openPositionY = UDim.new(0, 0)
};
v6.render = function(v7)
    return l_withLocalization_0({
        ignoreAllLabel = "Feature.AddFriends.Action.IgnoreAll"
    })(function(v8)
        return not not v7.props.open and l_Roact_0.createElement(l_BaseMenu_0, {
            buttonProps = {
                {
                    text = v8.ignoreAllLabel,
                    onActivated = v7.props.onIgnoreAll
                }
            },
            anchorPoint = Vector2.new(1, 0),
            width = v7.props.width,
            position = UDim2.new(UDim.new(1, 0), v7.props.openPositionY)
        }) or nil;
    end);
end;
return v6;