local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_Config_0 = v1.UIBlox.Config;
local v4 = require(script.Parent.CallbackInputBox);
local v5 = l_Roact_0.PureComponent:extend("CallbackInputBoxWithIcon");
local v6 = require(l_script_FirstAncestor_0.Flags.GetFFlagFilteredScrollingListAdditionalCustomizationsEnabled);
v5.defaultProps = {
    backgroundTransparency = 0,
    backgroundColor3 = Color3.new(1, 1, 1),
    borderColor = nil,
    borderThickness = if not v6() then nil else 0,
    borderTransparency = if not v6() then nil else 1,
    cornerRadius = if not v6() then nil else 0,
    iconCellWidth = 60,
    iconSize = 24,
    iconColor3 = Color3.new(1, 1, 1),
    iconTransparency = 0,
    iconImage = "rbxasset://textures/ui/LuaChat/icons/ic-search.png",
    inputTextFont = if not l_Config_0.enableFontNameMapping then Enum.Font.Gotham else Enum.Font.BuilderSans,
    inputTextColor3 = Color3.new(1, 0, 1),
    inputTextSize = 14,
    inputTextYAlignment = Enum.TextYAlignment.Center,
    inputTextXAlignment = Enum.TextXAlignment.Left,
    inputTextTransparency = 0,
    placeholderTextTransparency = 0.6,
    placeholderTextColor3 = Color3.new(1, 0, 0),
    placeholderText = "Test placeholder text",
    clearIconColor3 = Color3.new(1, 1, 0),
    clearIcon = "rbxasset://textures/ui/LuaChat/icons/ic-close-white.png",
    clearButtonDisabled = nil,
    textChangedCallback = nil
};
v5.render = function(v7)
    local l_iconCellWidth_0 = v7.props.iconCellWidth;
    local l_iconSize_0 = v7.props.iconSize;
    return l_Roact_0.createElement("Frame", {
        BackgroundTransparency = v7.props.backgroundTransparency,
        BackgroundColor3 = v7.props.backgroundColor3,
        BorderSizePixel = 0,
        Size = UDim2.new(1, 0, 1, 0)
    }, {
        UIStroke = if not v6() then nil else l_Roact_0.createElement("UIStroke", {
            Thickness = v7.props.borderThickness,
            Color = v7.props.borderColor,
            Transparency = v7.props.borderTransparency
        }),
        UICorner = if not v6() then nil else l_Roact_0.createElement("UICorner", {
            CornerRadius = UDim.new(0, v7.props.cornerRadius)
        }),
        layout = l_Roact_0.createElement("UIListLayout", {
            VerticalAlignment = Enum.VerticalAlignment.Center,
            HorizontalAlignment = Enum.HorizontalAlignment.Left,
            FillDirection = Enum.FillDirection.Horizontal,
            SortOrder = Enum.SortOrder.LayoutOrder,
            Padding = UDim.new(0, l_iconCellWidth_0 / 4)
        }),
        padding = l_Roact_0.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, l_iconCellWidth_0 / 4)
        }),
        icon = l_Roact_0.createElement("ImageLabel", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, l_iconSize_0, 0, l_iconSize_0),
            ImageColor3 = v7.props.iconColor3,
            ImageTransparency = v7.props.iconTransparency,
            Image = v7.props.iconImage,
            LayoutOrder = 1
        }),
        inputBoxContainer = l_Roact_0.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, -l_iconSize_0 - l_iconCellWidth_0 / 4, 1, 0),
            LayoutOrder = 2
        }, {
            padding = l_Roact_0.createElement("UIPadding", {
                PaddingRight = UDim.new(0, l_iconCellWidth_0 / 4)
            }),
            inputBox = l_Roact_0.createElement(v4, v7.props)
        })
    });
end;
return v5;


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_Roact_0 = v0.Roact;
local l_llama_0 = v0.llama;
local l_UIBlox_0 = v0.UIBlox;
local l_StyledTextLabel_0 = l_UIBlox_0.App.Text.StyledTextLabel;
local l_Style_0 = l_UIBlox_0.Style;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_IconSize_0 = l_UIBlox_0.App.Constant.IconSize;
local v9 = require(script.Parent.getTextHeight);
local _ = require(script.Parent.StyleTypes);
local v11 = require(script.Parent.Constants);
local v12 = {
    maxNumberOfLines = v11.LINES_MAX,
    lineWidth = v11.TILE_SIZE
};
return function(v13)
    local v14 = l_llama_0.Dictionary.join(v12, v13);
    local l_icon_0 = v14.icon;
    local l_label_0 = v14.label;
    return l_Style_0.withStyle(function(v17)
        local l_Theme_0 = v17.Theme;
        local l_Font_0 = v17.Font;
        local v20 = l_label_0.font or l_Font_0.CaptionBody;
        local l_text_0 = l_label_0.text;
        return l_Roact_0.createElement("Frame", {
            LayoutOrder = v14.layoutOrder,
            BackgroundTransparency = 1
        }, {
            UIListLayout = l_Roact_0.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 2)
            }),
            IconFrame = if not not l_icon_0 and l_icon_0.path then l_Roact_0.createElement("Frame", {
                Size = UDim2.fromOffset(l_IconSize_0.Small, l_IconSize_0.Small),
                BackgroundTransparency = 1
            }, {
                layout = l_Roact_0.createElement("UIListLayout", {
                    VerticalAlignment = Enum.VerticalAlignment.Top,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center
                }),
                ImageLabel = l_Roact_0.createElement(l_ImageSetLabel_0, {
                    LayoutOrder = 1,
                    BackgroundTransparency = 1,
                    Image = l_Images_0[l_icon_0.path],
                    ImageColor3 = l_icon_0.color or l_Theme_0.IconDefault.Color,
                    ImageTransparency = l_icon_0.transparency or l_Theme_0.IconDefault.Transparency,
                    Size = l_icon_0.size or UDim2.fromOffset(l_IconSize_0.Small, l_IconSize_0.Small),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Position = UDim2.fromScale(0.5, 0.5)
                })
            }) else nil,
            ContextualText = if not l_text_0 then nil else l_Roact_0.createElement(l_StyledTextLabel_0, {
                layoutOrder = 2,
                size = UDim2.fromOffset(not not l_icon_0 and v14.lineWidth - (l_IconSize_0.Small + 2) or v14.lineWidth, v9(l_text_0, v20.Font, l_Font_0.BaseSize * v20.RelativeSize) * v14.maxNumberOfLines),
                lineHeight = 1,
                text = l_text_0,
                textXAlignment = Enum.TextXAlignment.Left,
                textYAlignment = Enum.TextYAlignment.Top,
                textTruncate = Enum.TextTruncate.AtEnd,
                fontStyle = v20,
                colorStyle = l_label_0.colorStyle or l_Theme_0.SecondaryContent,
                fluidSizing = false,
                richText = false
            })
        });
    end);
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v1.Roact;
local l_llama_0 = v1.llama;
local l_UIBlox_0 = v1.UIBlox;
local l_PlayerTile_0 = l_UIBlox_0.App.Tile.PlayerTile;
local l_Interactable_0 = l_UIBlox_0.Core.Control.Interactable;
local v7 = require(l_script_FirstAncestor_0.User.getUserAvatarImage);
local v8 = require(script.Parent.PlayerName);
local _ = require(script.Parent.StyleTypes);
local v10 = require(script.Parent.Constants);
local function v11()
end;
local v12 = {
    tileSize = v10.TILE_SIZE,
    nameTopPadding = v10.NAME_TOP_PADDING,
    contextualTopPadding = v10.CONTEXTUAL_TOP_PADDING
};
return function(v13)
    local v14 = l_llama_0.Dictionary.join(v12, v13);
    local l_tileSize_0 = v14.tileSize;
    local function _()
        if not v14.renderButtons then
            return nil;
        else
            return (v14.renderButtons());
        end;
    end;
    local function v17()
        if not v14.renderPlayerTile then
            return (l_Roact_0.createElement(l_PlayerTile_0, {
                tileSize = UDim2.fromOffset(v14.tileSize, v14.tileSize),
                thumbnail = v7(v14.userId),
                onActivated = v14.onActivatedTile,
                buttons = if not v14.renderButtons then nil else v14.renderButtons()
            }));
        else
            return (v14.renderPlayerTile());
        end;
    end;
    local function _()
        if not v14.renderContextualInfo then
            return nil;
        else
            return (v14.renderContextualInfo());
        end;
    end;
    return l_Roact_0.createElement("Frame", {
        LayoutOrder = v14.layoutOrder,
        Size = UDim2.fromOffset(l_tileSize_0, 0),
        BackgroundTransparency = 1
    }, {
        UIListLayout = l_Roact_0.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder
        }),
        PlayerTileFrame = l_Roact_0.createElement("Frame", {
            LayoutOrder = 1,
            Size = UDim2.fromOffset(l_tileSize_0, l_tileSize_0),
            BackgroundTransparency = 1
        }, {
            PlayerTile = v17()
        }),
        NameTopPadding = if not v14.nameTopPadding then nil else l_Roact_0.createElement("Frame", {
            LayoutOrder = 2,
            Size = UDim2.fromOffset(0, v14.nameTopPadding),
            BackgroundTransparency = 1
        }),
        UserInfo = l_Roact_0.createElement(l_Interactable_0, {
            LayoutOrder = 3,
            [l_Roact_0.Event.Activated] = v14.onActivatedContextual,
            AutomaticSize = Enum.AutomaticSize.XY,
            onStateChanged = v11,
            BackgroundTransparency = 1
        }, {
            UIListLayout = l_Roact_0.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            PlayerNameFrame = l_Roact_0.createElement("Frame", {
                LayoutOrder = 1,
                BackgroundTransparency = 1,
                AutomaticSize = Enum.AutomaticSize.XY
            }, {
                PlayerName = (function()
                    if not v14.renderPlayerName then
                        return not not v14.userName and l_Roact_0.createElement(v8, {
                            name = v14.userName,
                            width = v14.tileSize
                        }) or nil;
                    else
                        return (v14.renderPlayerName());
                    end;
                end)()
            }),
            ContextualTopPadding = if not v14.contextualTopPadding then nil else l_Roact_0.createElement("Frame", {
                LayoutOrder = 2,
                Size = UDim2.fromOffset(0, v14.contextualTopPadding),
                BackgroundTransparency = 1
            }),
            ContextualInfoFrame = l_Roact_0.createElement("Frame", {
                LayoutOrder = 3,
                BackgroundTransparency = 1,
                AutomaticSize = Enum.AutomaticSize.XY
            }, {
                ContextualInfo = if not v14.renderContextualInfo then nil else v14.renderContextualInfo()
            })
        })
    });
end;


return {
    TILE_SIZE = 100,
    NAME_TOP_PADDING = 8,
    CONTEXTUAL_TOP_PADDING = 2,
    LINES_MAX = 2
};


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_Roact_0 = v0.Roact;
local l_llama_0 = v0.llama;
local l_UIBlox_0 = v0.UIBlox;
local l_StyledTextLabel_0 = l_UIBlox_0.App.Text.StyledTextLabel;
local l_Style_0 = l_UIBlox_0.Style;
local v6 = require(script.Parent.getTextHeight);
local _ = require(script.Parent.StyleTypes);
local v8 = {
    width = require(script.Parent.Constants).TILE_SIZE
};
return function(v9)
    local v10 = l_llama_0.Dictionary.join(v8, v9);
    return l_Style_0.withStyle(function(v11)
        local l_Theme_0 = v11.Theme;
        local l_Font_0 = v11.Font;
        return l_Roact_0.createElement(l_StyledTextLabel_0, {
            layoutOrder = v10.layoutOrder,
            text = v10.name,
            fontStyle = l_Font_0.CaptionHeader,
            colorStyle = l_Theme_0.TextEmphasis,
            size = UDim2.fromOffset(v10.width, v6(v10.name, l_Font_0.CaptionHeader.Font, l_Font_0.BaseSize * l_Font_0.CaptionHeader.RelativeSize)),
            textTruncate = Enum.TextTruncate.AtEnd,
            textXAlignment = Enum.TextXAlignment.Left,
            textYAlignment = Enum.TextYAlignment.Center,
            lineHeight = 1,
            fluidSizing = false,
            richText = false
        });
    end);
end;


local v0 = require(script.Parent.Constants);
local v1 = require(script.Parent.getTextHeight);
local _ = require(script.Parent.StyleTypes);
return function(v3)
    local v4 = not not v3 and v3.nameTopPadding or v0.NAME_TOP_PADDING;
    local v5 = not not v3 and v3.contextualTopPadding or v0.CONTEXTUAL_TOP_PADDING;
    local v6 = not not v3 and v3.maxLinesNumber or v0.LINES_MAX;
    local l_font_0 = v3.font;
    return ((v4 + v1("", l_font_0.CaptionHeader.Font, l_font_0.BaseSize * l_font_0.CaptionHeader.RelativeSize)) + v5) + v1("", l_font_0.CaptionBody.Font, l_font_0.BaseSize * l_font_0.CaptionBody.RelativeSize) * v6;
end;


local l_Text_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).Text;
local _ = require(script.Parent.StyleTypes);
return function(v2, v3, v4)
    return l_Text_0.GetTextHeight(v2, v3, v4);
end;


return {
    CarouselUserContextualInfo = require(script.CarouselUserContextualInfo),
    CarouselUserTile = require(script.CarouselUserTile),
    PlayerName = require(script.PlayerName),
    calculateContextualMaxHeight = require(script.calculateContextualMaxHeight)
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Flags.getFFlagDeprecatedSocialLibrariesCells);
local l_Cryo_0 = v1.Cryo;
local l_Roact_0 = v1.Roact;
local v5 = l_Roact_0.PureComponent:extend("BaseCell");
v5.defaultProps = {
    Size = UDim2.new(1, 0, 0, 48),
    BackgroundColor3 = Color3.fromRGB(255, 255, 255),
    onPressedBackgroundColor3 = Color3.fromRGB(242, 242, 242),
    onPressedBackgroundTransparency = 1,
    LayoutOrder = 0,
    onActivated = function()
        print("BaseCell onActivated");
    end,
    showDivider = true,
    dividerTransparency = 0,
    dividerColor3 = Color3.fromRGB(227, 227, 227)
};
v5.init = function(v6)
    assert(not v2(), "social-libraries Cells are deprecated, please use Cell components from app-chat rotriever package");
    v6:setState({
        isPressed = false
    });
    v6.touchFunction = function()
        return function(_, v8)
            if not (v8.UserInputType ~= Enum.UserInputType.MouseButton1) or v8.UserInputType == Enum.UserInputType.Touch then
                v6:setState({
                    isPressed = v8.UserInputState == Enum.UserInputState.Begin
                });
            end;
        end;
    end;
end;
v5.render = function(v9)
    local v10 = {};
    if v9.state.isPressed then
        v10.overlay = l_Roact_0.createElement("ImageLabel", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = v9.props.onPressedBackgroundTransparency,
            BackgroundColor3 = v9.props.onPressedBackground3,
            BorderSizePixel = 0
        });
    end;
    if v9.props.showDivider then
        v10.divider = l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1
        }, {
            layout = l_Roact_0.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Bottom,
                HorizontalAlignment = Enum.HorizontalAlignment.Right
            }),
            divider = l_Roact_0.createElement("Frame", {
                BackgroundTransparency = v9.props.dividerTransparency,
                BackgroundColor3 = v9.props.dividerColor3,
                BorderSizePixel = 0,
                Size = UDim2.new(1, -60, 0, 1)
            })
        });
    end;
    return l_Roact_0.createElement("ImageButton", {
        AutoButtonColor = false,
        Size = v9.props.Size,
        BackgroundColor3 = v9.props.BackgroundColor3,
        LayoutOrder = v9.props.LayoutOrder,
        BorderSizePixel = 0,
        [l_Roact_0.Event.Activated] = v9.props.onActivated,
        [l_Roact_0.Event.InputBegan] = v9.touchFunction(),
        [l_Roact_0.Event.InputEnded] = v9.touchFunction()
    }, l_Cryo_0.Dictionary.join(v9.props[l_Roact_0.Children] or {}, v10));
end;
return v5;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Flags.getFFlagDeprecatedSocialLibrariesCells);
local v3 = require(l_script_FirstAncestor_0.Conversation.getConversationDisplayTitle);
local l_Roact_0 = v1.Roact;
local v5 = require(script.Parent.PresenceBubbleCellStyled);
local v6 = require(script:FindFirstAncestor("Components").Style.TestStyle);
local v7 = l_Roact_0.PureComponent:extend("ConversationCell");
v7.defaultProps = {
    boldTitle = true,
    subTitleText = nil,
    secondaryTitleText = nil,
    conversation = {},
    childWidth = 0,
    onActivated = nil,
    onCircleActivated = nil,
    isLoading = false,
    style = v6,
    Size = UDim2.new(1, 0, 1, 0)
};
v7.init = function(v8)
    assert(not v2(), "social-libraries Cells are deprecated, please use Cell components from app-chat rotriever package");
    v8.onActivated = function()
        if v8.props.onActivated then
            v8.props.onActivated(v8.props.conversation);
        end;
    end;
end;
v7.render = function(v9)
    local l_conversation_0 = v9.props.conversation;
    local v11 = v3(l_conversation_0);
    local v12 = not not v9.props.subTitleText and v9.props.subTitleText:split("\n") or nil;
    return l_Roact_0.createElement(v5, {
        boldTitle = v9.props.boldTitle,
        style = v9.props.style,
        childWidth = v9.props.childWidth,
        onActivated = v9.onActivated,
        onCircleActivated = v9.props.onCircleActivated,
        subTitleText = not not v12 and v12[1] or "",
        secondaryTitleText = v9.props.secondaryTitleText,
        Size = v9.props.Size,
        isLoading = v9.props.isLoading,
        avatarCirclePresenceImage = l_conversation_0.presenceImage,
        titleText = v11,
        thumbnails = l_conversation_0.thumbnails
    }, v9.props[l_Roact_0.Children]);
end;
return v7;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Flags.getFFlagDeprecatedSocialLibrariesCells);
local l_Roact_0 = v1.Roact;
local l_ImageSetLabel_0 = v1.UIBlox.Core.ImageSet.ImageSetLabel;
local v5 = require(script.Parent.BaseCell);
local v6 = l_Roact_0.PureComponent:extend("IconWithTextCell");
v6.defaultProps = {
    Text = "titleText",
    primaryIcon = nil,
    primaryIconSize = 32,
    onPrimaryIconActivated = nil,
    Size = UDim2.new(1, 0, 1, 0),
    onActivated = function()
        print("IconWithTextCell onActivated");
    end,
    secondaryIcon = "",
    secondaryIconSize = 24,
    iconCellWidth = 60,
    LayoutOrder = 0,
    style = require(script:FindFirstAncestor("Components").Style.TestStyle),
    showDivider = true
};
v6.init = function(_)
    assert(not v2(), "social-libraries Cells are deprecated, please use Cell components from app-chat rotriever package");
end;
v6.render = function(v8)
    local l_style_0 = v8.props.style;
    local l_Theme_0 = l_style_0.Theme;
    local l_Font_0 = l_style_0.Font;
    return l_Roact_0.createElement(v5, {
        Size = v8.props.Size,
        BackgroundColor3 = l_Theme_0.BackgroundDefault.Color,
        BackgroundTransparency = l_Theme_0.BackgroundDefault.Transparency,
        onPressedBackgroundColor3 = l_Theme_0.BackgroundOnPress.Color,
        onPressedBackgroundTransparency = l_Theme_0.BackgroundOnPress.Transparency,
        LayoutOrder = v8.props.LayoutOrder,
        onActivated = v8.props.onActivated,
        showDivider = v8.props.showDivider,
        dividerColor3 = l_Theme_0.Divider.Color,
        dividerTransparency = l_Theme_0.Divider.Transparency
    }, {
        leftFrame = l_Roact_0.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0.5),
            Position = UDim2.fromScale(0, 0.5),
            Size = UDim2.new(1, -v8.props.iconCellWidth, 1, 0),
            BackgroundTransparency = 1,
            LayoutOrder = 1
        }, {
            leftListLayout = l_Roact_0.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            imageFrame = l_Roact_0.createElement("Frame", {
                Size = UDim2.new(0, v8.props.iconCellWidth, 0, v8.props.primaryIconSize),
                BackgroundTransparency = 1,
                LayoutOrder = 1
            }, {
                primaryIcon = l_Roact_0.createElement(l_ImageSetLabel_0, {
                    Position = UDim2.fromScale(0.5, 0.5),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Image = v8.props.primaryIcon,
                    BorderSizePixel = 0,
                    Size = UDim2.new(0, v8.props.primaryIconSize, 0, v8.props.primaryIconSize),
                    ImageColor3 = l_Theme_0.IconEmphasis.Color,
                    BackgroundTransparency = 1
                })
            }),
            text = l_Roact_0.createElement("TextLabel", {
                Size = UDim2.new(1, -v8.props.iconCellWidth, 1, 0),
                Text = v8.props.Text,
                TextSize = l_Font_0.Header2.RelativeSize * l_Font_0.BaseSize,
                Font = l_Font_0.Header2.Font,
                TextColor3 = l_Theme_0.TextEmphasis.Color,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextTruncate = Enum.TextTruncate.AtEnd,
                BackgroundTransparency = 1,
                LayoutOrder = 2
            })
        }),
        rightFrame = l_Roact_0.createElement("Frame", {
            AnchorPoint = Vector2.new(1, 0.5),
            Position = UDim2.fromScale(1, 0.5),
            Size = UDim2.fromOffset(v8.props.iconCellWidth, v8.props.iconCellWidth),
            BackgroundTransparency = 1,
            LayoutOrder = 1
        }, {
            secondaryIcon = v8.props.secondaryIcon and l_Roact_0.createElement("ImageLabel", {
                Position = UDim2.fromScale(0.5, 0.5),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = v8.props.secondaryIcon,
                BackgroundTransparency = 1,
                Size = UDim2.fromOffset(v8.props.secondaryIconSize, v8.props.secondaryIconSize)
            })
        })
    });
end;
return v6;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Flags.getFFlagDeprecatedSocialLibrariesCells);
local l_Roact_0 = v1.Roact;
local l_Cryo_0 = v1.Cryo;
local l_Text_0 = v1.Text;
local l_UIBlox_0 = v1.UIBlox;
local l_Config_0 = l_UIBlox_0.Config;
local l_ShimmerPanel_0 = l_UIBlox_0.App.Loading.ShimmerPanel;
local v9 = require(script.Parent.BaseCell);
local v10 = require(script:FindFirstAncestor("Components").AvatarCircle);
local v11 = l_Roact_0.PureComponent:extend("PresenceBubbleCell");
v11.defaultProps = {
    BackgroundColor3 = Color3.new(1, 1, 1),
    BackgroundTransparency = 0,
    onPressedBackgroundColor3 = Color3.new(0, 0.2, 0.3),
    onPressedBackgroundTransparency = 1,
    avatarCircleCellWidth = 60,
    avatarCircleSize = 36,
    avatarCircleBackgroundColor3 = Color3.new(0.4, 0.4, 0.4),
    avatarCircleDividerColor3 = Color3.new(0.2, 0.2, 0.2),
    avatarCircleDividerTransparency = 0,
    avatarCirclePresenceImage = nil,
    subTitleText = nil,
    subTitleTextFont = if not l_Config_0.enableFontNameMapping then Enum.Font.Gotham else Enum.Font.BuilderSans,
    subTitleTextTransparency = 0,
    subTitleTextColor3 = Color3.new(0.1, 0.1, 0.1),
    subTitleTextSize = 15,
    titleText = "titleText",
    titleFont = if not l_Config_0.enableFontNameMapping then Enum.Font.Gotham else Enum.Font.BuilderSans,
    titleTextTransparency = 0,
    titleTextColor3 = Color3.new(0, 0, 0),
    titleTextSize = 20,
    secondaryTitleText = nil,
    secondaryTitleFont = if not l_Config_0.enableFontNameMapping then Enum.Font.Gotham else Enum.Font.BuilderSans,
    secondaryTitleTextTransparency = 0,
    secondaryTitleTextColor3 = Color3.new(0.2, 0.2, 0.2),
    secondaryTitleTextSize = 16,
    showDivider = true,
    dividerTransparency = 0,
    dividerColor3 = Color3.fromRGB(227, 227, 227),
    thumbnails = {},
    childWidth = 0,
    onActivated = nil,
    onCircleActivated = nil,
    Size = UDim2.new(1, 0, 1, 0),
    isLoading = false
};
v11.init = function(v12)
    assert(not v2(), "social-libraries Cells are deprecated, please use Cell components from app-chat rotriever package");
    local v13, v14 = l_Roact_0.createBinding(0);
    v12.widthBinding = v13;
    v12.widthBindingUpdate = v14;
end;
v11.render = function(v15)
    local l_props_0 = v15.props;
    local v17 = l_Text_0.GetTextWidth(l_props_0.titleText, l_props_0.titleFont, l_props_0.titleTextSize);
    return l_Roact_0.createElement(v9, {
        Size = v15.props.Size,
        BackgroundTransparency = l_props_0.BackgroundTransparency,
        BackgroundColor3 = l_props_0.BackgroundColor3,
        dividerColor3 = v15.props.dividerColor3,
        dividerTransparency = v15.props.dividerTransparency,
        onPressedBackgroundColor3 = l_props_0.onPressedBackgroundColor3,
        onPressedBackgroundTransparency = l_props_0.onPressedBackgroundTransparency,
        BorderSizePixel = 0,
        AutoButtonColor = false,
        LayoutOrder = l_props_0.LayoutOrder,
        onActivated = l_props_0.onActivated,
        showDivider = l_props_0.showDivider
    }, {
        leftAlign = l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, -l_props_0.childWidth, 1, 0),
            BackgroundTransparency = 1
        }, {
            layout = l_Roact_0.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Center,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            circleHolder = l_Roact_0.createElement("Frame", {
                Size = UDim2.new(0, l_props_0.avatarCircleCellWidth, 1, 0),
                BackgroundTransparency = 1,
                LayoutOrder = 0
            }, {
                layout = l_Roact_0.createElement("UIListLayout", {
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center
                }),
                circleSizeContainer = not l_props_0.isLoading and l_Roact_0.createElement("Frame", {
                    Size = UDim2.new(0, l_props_0.avatarCircleSize, 0, l_props_0.avatarCircleSize),
                    BackgroundTransparency = 1
                }, {
                    avatarCircle = l_Roact_0.createElement(v10, {
                        circleColor3 = l_props_0.BackgroundColor3,
                        circleTransparency = l_props_0.BackgroundTransparency,
                        circleInteriorBackgroundColor3 = l_props_0.avatarCircleBackgroundColor3,
                        circleDividerColor3 = l_props_0.avatarCircleDividerColor3,
                        circleDividerTransparency = l_props_0.avatarCircleDividerTransparency,
                        thumbnails = l_props_0.thumbnails,
                        presenceImage = l_props_0.avatarCirclePresenceImage,
                        presenceImageColor3 = l_props_0.avatarCirclePresenceImageColor3,
                        presenceImageTransparency = l_props_0.avatarCirclePresenceImageTransparency,
                        showNewPresenceImage = l_props_0.showNewPresenceImage,
                        onActivated = l_props_0.onCircleActivated or l_props_0.onActivated
                    })
                }) or l_Roact_0.createElement(l_ShimmerPanel_0, {
                    Size = UDim2.new(0, l_props_0.avatarCircleSize, 0, l_props_0.avatarCircleSize),
                    cornerRadius = UDim.new(1, 0)
                })
            }),
            conversationInfo = l_Roact_0.createElement("Frame", {
                Size = UDim2.new(1, -l_props_0.avatarCircleCellWidth, 1, 0),
                BackgroundTransparency = 1,
                LayoutOrder = 1
            }, {
                layout = l_Roact_0.createElement("UIListLayout", {
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    FillDirection = Enum.FillDirection.Vertical,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, 2)
                }),
                titleContainer = not l_props_0.isLoading and l_Roact_0.createElement("Frame", {
                    BackgroundTransparency = 1,
                    Size = UDim2.new(1, 0, 0, l_props_0.titleTextSize),
                    LayoutOrder = 1,
                    [l_Roact_0.Change.AbsoluteSize] = function(v18)
                        v15.widthBindingUpdate(v18.AbsoluteSize.X);
                    end
                }, {
                    layout = l_Roact_0.createElement("UIListLayout", {
                        VerticalAlignment = Enum.VerticalAlignment.Bottom,
                        HorizontalAlignment = Enum.HorizontalAlignment.Left,
                        FillDirection = Enum.FillDirection.Horizontal,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        Padding = UDim.new(0, 4)
                    }),
                    title = l_Roact_0.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Size = v15.widthBinding:map(function(v19)
                            return UDim2.new(0, math.min(v17, v19), 0, l_props_0.titleTextSize);
                        end),
                        TextSize = l_props_0.titleTextSize,
                        TextColor3 = l_props_0.titleTextColor3,
                        TextTransparency = l_props_0.titleTextTransparency,
                        Font = l_props_0.titleFont,
                        Text = l_props_0.titleText or "",
                        TextTruncate = Enum.TextTruncate.AtEnd,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        LayoutOrder = 1
                    }),
                    secondaryTitle = l_Roact_0.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Size = v15.widthBinding:map(function(v20)
                            return UDim2.new(0, math.max((v20 - v17) - 4, 0), 0, l_props_0.secondaryTitleTextSize);
                        end),
                        TextSize = l_props_0.secondaryTitleTextSize,
                        TextColor3 = l_props_0.secondaryTitleTextColor3,
                        TextTransparency = l_props_0.secondaryTitleTextTransparency,
                        Font = l_props_0.secondaryTitleFont,
                        Text = l_props_0.secondaryTitleText or "",
                        TextTruncate = Enum.TextTruncate.AtEnd,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        LayoutOrder = 2
                    })
                }) or l_Roact_0.createElement(l_ShimmerPanel_0, {
                    Size = UDim2.new(1, 0, 0, l_props_0.titleTextSize),
                    cornerRadius = UDim.new(0, 4),
                    LayoutOrder = 1
                }),
                userPresenceLabel = (not l_props_0.isLoading and l_props_0.subTitleText) and l_Roact_0.createElement("TextLabel", {
                    BackgroundTransparency = 1,
                    TextSize = l_props_0.subTitleTextSize,
                    TextColor3 = l_props_0.subTitleTextColor3,
                    TextTransparency = l_props_0.subTitleTextTransparency,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    Text = l_props_0.subTitleText,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    Font = l_props_0.subTitleTextFont,
                    Size = UDim2.new(1, 0, 0, l_props_0.subTitleTextSize),
                    LayoutOrder = 2
                }) or l_props_0.subTitleText and l_Roact_0.createElement(l_ShimmerPanel_0, {
                    Size = UDim2.new(0.6, 0, 0, l_props_0.subTitleTextSize),
                    cornerRadius = UDim.new(0, 4),
                    LayoutOrder = 2
                })
            })
        }),
        rightAlign = l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1
        }, l_Cryo_0.Dictionary.join({
            layout = l_Roact_0.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Center,
                HorizontalAlignment = Enum.HorizontalAlignment.Right,
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder
            })
        }, (l_Cryo_0.Dictionary.join({
            layout = l_Roact_0.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Center,
                HorizontalAlignment = Enum.HorizontalAlignment.Right,
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder
            })
        }, l_props_0[l_Roact_0.Children] or {}))))
    });
end;
return v11;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Flags.getFFlagDeprecatedSocialLibrariesCells);
local l_Roact_0 = v1.Roact;
local v4 = require(script.Parent.PresenceBubbleCell);
local v5 = require(script:FindFirstAncestor("Components").Style.TestStyle);
local v6 = l_Roact_0.PureComponent:extend("StyledCell");
v6.defaultProps = {
    Size = UDim2.new(1, 0, 1, 0),
    avatarCirclePresenceImage = nil,
    subTitleText = nil,
    titleText = "TestUser",
    secondaryTitleText = nil,
    thumbnails = {},
    childWidth = 0,
    onActivated = nil,
    onCircleActivated = nil,
    style = v5,
    showDivider = true,
    boldTitle = true,
    isLoading = false
};
v6.init = function(_)
    assert(not v2(), "social-libraries Cells are deprecated, please use Cell components from app-chat rotriever package");
end;
v6.render = function(v8)
    local l_style_0 = v8.props.style;
    local l_Theme_0 = l_style_0.Theme;
    local l_Font_0 = l_style_0.Font;
    local v12 = type(v8.props.avatarCirclePresenceImage) == "table";
    return l_Roact_0.createElement(v4, {
        childWidth = v8.props.childWidth,
        titleText = v8.props.titleText,
        secondaryTitleText = v8.props.secondaryTitleText,
        subTitleText = v8.props.subTitleText,
        avatarCirclePresenceImage = v8.props.avatarCirclePresenceImage,
        thumbnails = v8.props.thumbnails,
        onActivated = v8.props.onActivated,
        onCircleActivated = v8.props.onCircleActivated,
        Size = v8.props.Size,
        isLoading = v8.props.isLoading,
        showNewPresenceImage = v12,
        BackgroundColor3 = l_Theme_0.BackgroundDefault.Color,
        BackgroundTransparency = l_Theme_0.BackgroundDefault.Transparency,
        onPressedBackgroundColor3 = l_Theme_0.BackgroundOnPress.Color,
        onPressedBackgroundTransparency = l_Theme_0.BackgroundOnPress.Transparency,
        avatarCircleBackgroundColor3 = l_Theme_0.PlaceHolder.Color,
        avatarCircleDividerColor3 = l_Theme_0.PlaceHolder.Color,
        avatarCirclePresenceImageColor3 = if not v12 then nil else l_Theme_0.OnlineStatus.Color,
        avatarCirclePresenceImageTransparency = if not v12 then nil else l_Theme_0.OnlineStatus.Transparency,
        subTitleTextFont = l_Font_0.CaptionBody.Font,
        subTitleTextTransparency = l_Theme_0.TextDefault.Transparency,
        subTitleTextColor3 = l_Theme_0.TextDefault.Color,
        subTitleTextSize = l_Font_0.CaptionBody.RelativeSize * l_Font_0.BaseSize,
        titleFont = l_Font_0.Header2.Font,
        titleTextTransparency = not not v8.props.boldTitle and l_Theme_0.TextEmphasis.Transparency or l_Theme_0.TextDefault.Transparency,
        titleTextColor3 = not not v8.props.boldTitle and l_Theme_0.TextEmphasis.Color or l_Theme_0.TextDefault.Color,
        titleTextSize = l_Font_0.Header2.RelativeSize * l_Font_0.BaseSize,
        secondaryTitleFont = l_Font_0.Header2.Font,
        secondaryTitleTextTransparency = l_Theme_0.TextMuted.Transparency,
        secondaryTitleTextColor3 = l_Theme_0.TextMuted.Color,
        secondaryTitleTextSize = l_Font_0.Header2.RelativeSize * l_Font_0.BaseSize,
        showDivider = v8.props.showDivider,
        dividerTransparency = l_Theme_0.Divider.Transparency,
        dividerColor3 = l_Theme_0.Divider.Color
    }, v8.props[l_Roact_0.Children]);
end;
return v6;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Flags.getFFlagDeprecatedSocialLibrariesCells);
local l_Roact_0 = v1.Roact;
local v4 = require(script.Parent.PresenceBubbleCellStyled);
local v5 = require(script:FindFirstAncestor("Components").Style.TestStyle);
local v6 = l_Roact_0.PureComponent:extend("UserCell");
v6.defaultProps = {
    subTitleText = "subTitleText",
    secondaryTitleText = nil,
    user = {},
    childWidth = 0,
    onActivated = nil,
    onCircleActivated = nil,
    style = v5,
    showDivider = true,
    boldTitle = true
};
v6.init = function(v7)
    assert(not v2(), "social-libraries Cells are deprecated, please use Cell components from app-chat rotriever package");
    v7.onActivated = function()
        if v7.props.onActivated then
            v7.props.onActivated(v7.props.user);
        end;
    end;
end;
v6.render = function(v8)
    local l_user_0 = v8.props.user;
    return l_Roact_0.createElement(v4, {
        style = v8.props.style,
        childWidth = v8.props.childWidth,
        onActivated = v8.onActivated,
        onCircleActivated = v8.props.onCircleActivated,
        subTitleText = v8.props.subTitleText,
        showDivider = v8.props.showDivider,
        boldTitle = v8.props.boldTitle,
        avatarCirclePresenceImage = l_user_0.presenceImage,
        titleText = l_user_0.displayName,
        secondaryTitleText = l_user_0.alias,
        thumbnails = {
            l_user_0.thumbnail
        }
    }, v8.props[l_Roact_0.Children]);
end;
return v6;


return {
    ConversationCell = require(script.ConversationCell),
    IconWithTextCell = require(script.IconWithTextCell),
    PresenceBubbleCell = require(script.PresenceBubbleCell),
    UserCell = require(script.UserCell)
};


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_RoactFitComponents_0 = v0.RoactFitComponents;
local l_FitFrameOnAxis_0 = l_RoactFitComponents_0.FitFrameOnAxis;
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
local v5 = Rect.new(10, 10, 11, 11);
local v6 = l_Roact_0.PureComponent:extend("ChatBubbleContainer");
v6.TAIL_WIDTH = 6;
v6.defaultProps = {
    isIncoming = false,
    hasTail = false,
    padding = 12,
    LayoutOrder = 0,
    isPending = false,
    [l_Roact_0.Change.AbsoluteSize] = function()
    end,
    overrideImageColor = false
};
v6.init = function(v7)
    local v8, v9 = l_Roact_0.createBinding(Vector2.new(0, 0));
    v7.bubbleSize = v8;
    v7.updateBubbleSize = v9;
end;
v6.render = function(v10)
    return l_UIBlox_0.Style.withStyle(function(v11)
        local v12 = v10.props[l_Roact_0.Children] or {};
        local l_hasTail_0 = v10.props.hasTail;
        local l_isIncoming_0 = v10.props.isIncoming;
        local l_isPending_0 = v10.props.isPending;
        local v16 = nil;
        v16 = if not l_isIncoming_0 then if l_isPending_0 then v11.Theme.UIMuted else v11.Theme.UIEmphasis else v11.Theme.UIDefault;
        local l_Color_0 = v16.Color;
        local l_Transparency_0 = v16.Transparency;
        if v10.props.overrideImageColor then
            l_Color_0 = nil;
            if not l_isPending_0 then
                l_Transparency_0 = nil;
            end;
        end;
        local v19 = "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-self2.png";
        if l_hasTail_0 then
            v19 = not l_isIncoming_0 and "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-self.png" or "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble.png";
        end;
        return l_Roact_0.createElement("Frame", {
            Size = v10.bubbleSize:map(function(v20)
                return UDim2.new(0, v20.X + v10.TAIL_WIDTH, 0, v20.Y);
            end),
            LayoutOrder = v10.props.LayoutOrder,
            BackgroundTransparency = 1
        }, {
            bubble = l_Roact_0.createElement(l_FitFrameOnAxis_0, {
                AnchorPoint = not not l_isIncoming_0 and Vector2.new(0, 0) or Vector2.new(1, 0),
                axis = l_FitFrameOnAxis_0.Axis.Both,
                BackgroundTransparency = 1,
                ImageColor3 = l_Color_0,
                ImageSet = {
                    Image = v19,
                    ScaleType = Enum.ScaleType.Slice,
                    SliceCenter = v5
                },
                ImageTransparency = l_Transparency_0,
                margin = l_RoactFitComponents_0.Rect.square(v10.props.padding),
                Position = not not l_isIncoming_0 and UDim2.new(0, v10.TAIL_WIDTH, 0, 0) or UDim2.new(1, -v10.TAIL_WIDTH, 0, 0),
                [l_Roact_0.Change.AbsoluteSize] = function(v21)
                    v10.updateBubbleSize(v21.AbsoluteSize);
                    v10.props[l_Roact_0.Change.AbsoluteSize](v21);
                end
            }, v12),
            tail = l_Roact_0.createElement("ImageLabel", {
                AnchorPoint = not not l_isIncoming_0 and Vector2.new(0, 0) or Vector2.new(1, 0),
                Size = UDim2.new(0, v10.TAIL_WIDTH, 0, v10.TAIL_WIDTH),
                BackgroundTransparency = 1,
                ImageColor3 = l_Color_0,
                Position = not not l_isIncoming_0 and UDim2.new(0, 0, 0, 0) or UDim2.new(1, 0, 0, 0),
                Image = not l_isIncoming_0 and "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-self-tip.png" or "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-tip.png",
                ImageTransparency = l_Transparency_0,
                Visible = l_hasTail_0
            })
        });
    end);
end;
return v6;


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_React_0 = v0.React;
local l_UIBlox_0 = v0.UIBlox;
local l_Object_0 = v0.LuauPolyfill.Object;
local v4 = Rect.new(10, 10, 11, 11);
local v6 = {
    isIncoming = false,
    hasTail = false,
    padding = 12,
    LayoutOrder = 0,
    isPending = false,
    [l_React_0.Change.AbsoluteSize] = function(_)
    end,
    overrideImageColor = false
};
return function(v7)
    local v8, v9 = l_React_0.useState(0);
    local v10 = v7[l_React_0.Change.AbsoluteSize] or v6[l_React_0.Change.AbsoluteSize];
    return l_UIBlox_0.Style.withStyle(function(v11)
        local v12 = v7.children or {};
        local v13 = v7.hasTail or v6.hasTail;
        local v14 = v7.isIncoming or v6.isIncoming;
        local v15 = v7.isPending or v6.isPending;
        local v16 = nil;
        v16 = if not v14 then if v15 then v11.Theme.UIMuted else v11.Theme.UIEmphasis else v11.Theme.UIDefault;
        local l_Color_0 = v16.Color;
        local l_Transparency_0 = v16.Transparency;
        if not (not v7.overrideImageColor and not v6.overrideImageColor) then
            l_Color_0 = nil;
            if not v15 then
                l_Transparency_0 = nil;
            end;
        end;
        local v19 = "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-self2.png";
        if v13 then
            v19 = not v14 and "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-self.png" or "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble.png";
        end;
        local v20 = not not v14 and UDim2.new(0, 6, 0, 0) or UDim2.new(1, -6, 0, 0);
        local v21 = not v14 and "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-self-tip.png" or "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-tip.png";
        local v22 = not not v14 and UDim2.new(0, 0, 0, 0) or UDim2.new(1, 0, 0, 0);
        local v23 = UDim.new(0, v7.padding or v6.padding);
        return l_React_0.createElement("Frame", {
            AutomaticSize = Enum.AutomaticSize.XY,
            Size = UDim2.new(0, v8 + 6, 0, 0),
            LayoutOrder = v7.LayoutOrder or v6.LayoutOrder,
            BackgroundTransparency = 1
        }, {
            bubble = l_React_0.createElement("ImageLabel", {
                AutomaticSize = Enum.AutomaticSize.XY,
                Size = UDim2.new(0, v8, 0, 0),
                AnchorPoint = not not v14 and Vector2.new(0, 0) or Vector2.new(1, 0),
                BackgroundTransparency = 1,
                ImageColor3 = l_Color_0,
                Image = v19,
                ScaleType = Enum.ScaleType.Slice,
                SliceCenter = v4,
                ImageTransparency = l_Transparency_0,
                Position = v20,
                [l_React_0.Change.AbsoluteSize] = function(v24)
                    v10(v24);
                end
            }, l_Object_0.assign(table.clone(v12), {
                ["$margin"] = l_React_0.createElement("UIPadding", {
                    PaddingBottom = v23,
                    PaddingTop = v23,
                    PaddingRight = v23,
                    PaddingLeft = v23
                }),
                ["$layout"] = l_React_0.createElement("UIListLayout", {
                    [l_React_0.Change.AbsoluteContentSize] = function(v25)
                        v9(v25.AbsoluteContentSize.X + v23.Offset * 2);
                    end
                })
            })),
            tail = l_React_0.createElement("ImageLabel", {
                AnchorPoint = not not v14 and Vector2.new(0, 0) or Vector2.new(1, 0),
                Size = UDim2.new(0, 6, 0, 6),
                BackgroundTransparency = 1,
                ImageColor3 = l_Color_0,
                Position = v22,
                Image = v21,
                ImageTransparency = l_Transparency_0,
                Visible = v13
            })
        });
    end);
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local l_Roact_0 = require(l_script_FirstAncestor_0.dependencies).Roact;
local v2 = require(script.Parent.SortedList);
local v3 = require(script.Parent.CallbackInputBoxWithIcon);
local v4 = require(l_script_FirstAncestor_0.Flags.GetFFlagFilteredScrollingListAdditionalCustomizationsEnabled);
local v5 = l_Roact_0.Component:extend("FilteredScrollingList");
v5.defaultProps = {
    searchBoxCornerRadius = if not v4() then nil else 0,
    searchBoxHeight = 48,
    searchBoxTopPadding = if not v4() then nil else 0,
    searchBoxLeftPadding = if not v4() then nil else 0,
    searchBoxRightPadding = if not v4() then nil else 0,
    searchBoxBottomPadding = if not v4() then nil else 0,
    searchBackgroundTransparency = 0,
    searchBackgroundColor3 = Color3.new(1, 0, 1),
    searchBoxBorderThickness = if not v4() then nil else 0,
    searchIconCellWidth = 60,
    searchIconSize = 24,
    searchIconColor3 = Color3.new(1, 0, 1),
    searchIconTransparency = 0,
    searchIconImage = "rbxasset://textures/ui/LuaChat/icons/ic-search.png",
    searchInputTextFont = nil,
    searchInputTextColor3 = nil,
    searchInputTextSize = nil,
    searchInputTextTransparency = nil,
    searchPlaceholderTextTransparency = nil,
    searchPlaceholderTextColor3 = nil,
    searchPlaceholderText = nil,
    searchClearIconColor3 = nil,
    searchClearIcon = "rbxasset://textures/ui/LuaChat/icons/ic-close-white.png",
    searchDividerColor3 = Color3.new(1, 0, 1),
    searchDividerTransparency = 0,
    searchDividerHeight = 1,
    scrollBarImageTransparency = 0,
    scrollBarImageColor3 = Color3.new(1, 0, 1),
    entries = {},
    renderEntry = nil,
    entryHeight = 54,
    scrollTouchedBottomCallback = nil,
    filterPredicate = function(_, _)
        return true;
    end,
    sortComparator = function(_, _)
        return true;
    end
};
v5.shouldUpdate = function(v10, v11, v12)
    if v12 ~= v10.state then
        return true;
    elseif v11 == v10.props then
        return false;
    else
        for v13, v14 in pairs(v11) do
            if not (v13 == "extraProps") or v10.props.extraProps then
                if v10.props[v13] ~= v14 then
                    return true;
                end;
            else
                return true;
            end;
        end;
        for v15, v16 in pairs(v10.props) do
            if v15 == "extraProps" then
                if v11.extraProps then
                    for v17, v18 in pairs(v16) do
                        if v11.extraProps[v17] ~= v18 then
                            return true;
                        end;
                    end;
                else
                    return true;
                end;
            elseif v11[v15] ~= v16 then
                return true;
            end;
        end;
        return false;
    end;
end;
v5.init = function(v19)
    v19:setState({});
end;
v5.render = function(v20)
    local l_filterPredicate_0 = v20.props.filterPredicate;
    local l_filterText_0 = v20.state.filterText;
    local v23 = {};
    local v24 = 0;
    for _, v26 in pairs(v20.props.entries) do
        if l_filterPredicate_0(l_filterText_0, v26) then
            v24 = v24 + 1;
            table.insert(v23, v26);
        end;
    end;
    return l_Roact_0.createElement("Frame", {
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1
    }, {
        layout = l_Roact_0.createElement("UIListLayout", {
            VerticalAlignment = Enum.VerticalAlignment.Top,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder
        }),
        dividerTop = l_Roact_0.createElement("Frame", {
            BackgroundColor3 = v20.props.searchDividerColor3,
            BackgroundTransparency = v20.props.searchDividerTransparency,
            BorderSizePixel = 0,
            Size = UDim2.new(1, 0, 0, v20.props.searchDividerHeight),
            LayoutOrder = 1
        }),
        callbackBoxContainer = l_Roact_0.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = if not v4() then UDim2.new(1, 0, 0, v20.props.searchBoxHeight) else UDim2.new(1, -v20.props.searchBoxBorderThickness * 2, 0, (v20.props.searchBoxHeight + v20.props.searchBoxTopPadding) + v20.props.searchBoxBottomPadding),
            LayoutOrder = 2
        }, {
            UIPadding = if not v4() then nil else l_Roact_0.createElement("UIPadding", {
                PaddingBottom = UDim.new(0, v20.props.searchBoxBottomPadding),
                PaddingLeft = UDim.new(0, v20.props.searchBoxLeftPadding),
                PaddingRight = UDim.new(0, v20.props.searchBoxRightPadding),
                PaddingTop = UDim.new(0, v20.props.searchBoxTopPadding)
            }),
            callbackBox = l_Roact_0.createElement(v3, {
                backgroundTransparency = v20.props.searchBackgroundTransparency,
                backgroundColor3 = v20.props.searchBackgroundColor3,
                borderColor = if not v4() then nil else v20.props.searchBoxBorderColor,
                borderTransparency = if not v4() then nil else v20.props.searchBoxBorderTransparency,
                borderThickness = if not v4() then nil else v20.props.searchBoxBorderThickness,
                cornerRadius = if not v4() then nil else v20.props.searchBoxCornerRadius,
                iconCellWidth = v20.props.searchIconCellWidth,
                iconSize = v20.props.searchIconSize,
                iconColor3 = v20.props.searchIconColor3,
                iconTransparency = v20.props.searchIconTransparency,
                iconImage = v20.props.searchIconImage,
                inputTextFont = v20.props.searchInputTextFont,
                inputTextColor3 = v20.props.searchInputTextColor3,
                inputTextSize = v20.props.searchInputTextSize,
                inputTextTransparency = v20.props.searchInputTextTransparency,
                placeholderTextTransparency = v20.props.searchPlaceholderTextTransparency,
                placeholderTextColor3 = v20.props.searchPlaceholderTextColor3,
                placeholderText = v20.props.searchPlaceholderText,
                clearIconColor3 = v20.props.searchClearIconColor3,
                clearIcon = v20.props.searchClearIcon,
                textChangedCallback = function(v27)
                    v20:setState({
                        filterText = v27
                    });
                end
            })
        }),
        dividerBottom = l_Roact_0.createElement("Frame", {
            BackgroundColor3 = v20.props.searchDividerColor3,
            BackgroundTransparency = v20.props.searchDividerTransparency,
            BorderSizePixel = 0,
            Size = UDim2.new(1, 0, 0, v20.props.searchDividerHeight),
            LayoutOrder = 3
        }),
        entryList = l_Roact_0.createElement("ScrollingFrame", {
            Size = if not v4() then UDim2.new(1, 0, 1, -v20.props.searchBoxHeight - v20.props.searchDividerHeight * 2) else UDim2.new(1, 0, 1, ((-v20.props.searchBoxHeight - v20.props.searchBoxTopPadding) - v20.props.searchBoxBottomPadding) - v20.props.searchDividerHeight * 2),
            CanvasSize = UDim2.new(0, 0, 0, v24 * v20.props.entryHeight),
            BackgroundTransparency = 1,
            ScrollBarThickness = 5,
            ElasticBehavior = Enum.ElasticBehavior.Always,
            ScrollingDirection = Enum.ScrollingDirection.Y,
            ScrollBarImageTransparency = v20.props.scrollBarImageTransparency,
            ScrollBarImageColor3 = v20.props.scrollBarImageColor3,
            BottomImage = "rbxasset://textures/ui/LuaChat/9-slice/scroll-bar.png",
            MidImage = "rbxasset://textures/ui/LuaChat/9-slice/scroll-bar.png",
            TopImage = "rbxasset://textures/ui/LuaChat/9-slice/scroll-bar.png",
            LayoutOrder = 4,
            [l_Roact_0.Change.CanvasPosition] = function(v28)
                local l_Offset_0 = v28.CanvasSize.Y.Offset;
                if not v20.isTouchingBottom and l_Offset_0 <= v28.CanvasPosition.Y + v28.AbsoluteSize.Y then
                    v20.isTouchingBottom = true;
                    if v20.props.scrollTouchedBottomCallback then
                        v20.props.scrollTouchedBottomCallback();
                        return ;
                    end;
                elseif v28.CanvasPosition.Y + v28.AbsoluteSize.Y < l_Offset_0 then
                    v20.isTouchingBottom = false;
                end;
            end
        }, {
            sortedList = l_Roact_0.createElement(v2, {
                entries = v23,
                renderEntry = v20.props.renderEntry,
                entryHeight = v20.props.entryHeight,
                sortComparator = v20.props.sortComparator
            })
        })
    });
end;
return v5;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("SocialLibraries");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_Cryo_0 = v1.Cryo;
local l_Roact_0 = v1.Roact;
local l_Text_0 = v1.Text;
local v5 = require(l_script_FirstAncestor_0.Components.Style.TestStyle);
local v6 = require(script.Parent.CallbackInputBox);
local v7 = l_Roact_0.PureComponent:extend("InputBoxWithCharacterCounter");
v7.defaultProps = {
    initialInputText = "",
    validInputTextColor3 = Color3.fromRGB(0, 255, 0),
    validInputTextTransparency = 0,
    invalidInputTextColor3 = Color3.fromRGB(255, 0, 0),
    invalidInputTextTransparency = 0,
    counterTextPadding = 0,
    characterLimit = 150,
    style = v5
};
v7.init = function(v8)
    v8.state = {
        inputText = v8.props.initialInputText
    };
    v8.textChangedCallback = function(v9)
        v8:setState({
            inputText = v9
        });
    end;
end;
v7.render = function(v10)
    local l_style_0 = v10.props.style;
    local v12 = #v10.state.inputText;
    local v13 = v12 .. "/" .. v10.props.characterLimit;
    local l_Font_0 = l_style_0.Font.CaptionSubHeader.Font;
    local v15 = l_style_0.Font.BaseSize * l_style_0.Font.CaptionSubHeader.RelativeSize;
    local v16 = nil;
    local v17 = nil;
    local v18 = l_Text_0.GetTextHeight(v13, l_Font_0, v15, (l_Text_0.GetTextWidth(v13, l_Font_0, v15)));
    if v12 <= v10.props.characterLimit then
        v16 = v10.props.validInputTextColor3;
        v17 = v10.props.validInputTextTransparency;
    else
        v16 = v10.props.invalidInputTextColor3;
        v17 = v10.props.invalidInputTextTransparency;
    end;
    return l_Roact_0.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.new(1, 0, 1, 0)
    }, {
        layout = l_Roact_0.createElement("UIListLayout", {
            SortOrder = Enum.SortOrder.LayoutOrder,
            FillDirection = Enum.FillDirection.Vertical,
            VerticalAlignment = Enum.VerticalAlignment.Center
        }),
        inputBoxContainer = l_Roact_0.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, 0, 1, -v18),
            LayoutOrder = 1
        }, {
            border = l_Roact_0.createElement("ImageLabel", {
                BackgroundTransparency = 1,
                Size = UDim2.new(1, 0, 1, 0),
                ScaleType = Enum.ScaleType.Slice,
                SliceCenter = Rect.new(3, 3, 4, 4),
                Image = "rbxasset://textures/ui/LuaChat/9-slice/input-default.png"
            }),
            inputBox = l_Roact_0.createElement(v6, (l_Cryo_0.Dictionary.join(v10.props, {
                inputText = v10.state.inputText,
                textChangedCallback = v10.textChangedCallback
            })))
        }),
        characterCounter = l_Roact_0.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, 0, 0, v18),
            LayoutOrder = 2
        }, {
            layout = l_Roact_0.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Bottom,
                HorizontalAlignment = Enum.HorizontalAlignment.Right
            }),
            padding = l_Roact_0.createElement("UIPadding", {
                PaddingRight = UDim.new(0, v10.props.counterTextPadding)
            }),
            characterCountLabel = l_Roact_0.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1,
                Text = v13,
                TextColor3 = v16,
                TextTransparency = v17,
                TextSize = v15,
                TextXAlignment = Enum.TextXAlignment.Right,
                TextYAlignment = Enum.TextYAlignment.Top,
                Font = l_Font_0
            })
        })
    });
end;
return v7;


local l_Roact_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).Roact;
local v1 = l_Roact_0.PureComponent:extend("MaskedIcon");
v1.defaultProps = {
    icon = "rbxasset://textures/ui/LuaChat/icons/share-game-thumbnail.png"
};
v1.render = function(v2)
    return l_Roact_0.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.new(1, 0, 1, 0)
    }, {
        layout = l_Roact_0.createElement("UIListLayout", {
            VerticalAlignment = Enum.VerticalAlignment.Center,
            HorizontalAlignment = Enum.HorizontalAlignment.Center
        }),
        button = l_Roact_0.createElement("ImageLabel", {
            BackgroundTransparency = 1,
            Image = v2.props.icon,
            Size = UDim2.new(1, 0, 1, 0)
        }, {
            layout = l_Roact_0.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Center,
                HorizontalAlignment = Enum.HorizontalAlignment.Center
            }),
            mask = l_Roact_0.createElement("ImageLabel", {
                BackgroundTransparency = 1,
                Image = "rbxasset://textures/ui/LuaChat/graphic/gr-mask-game-icon-48x48.png",
                Size = UDim2.new(1, 0, 1, 0)
            })
        })
    });
end;
return v1;


local v0 = {
    Color = Color3.fromRGB(255, 0, 255),
    Transparency = 0
};
local v1 = {
    BackgroundDefault = v0,
    BackgroundContrast = v0,
    BackgroundMuted = v0,
    BackgroundUIDefault = v0,
    BackgroundUIContrast = v0,
    BackgroundOnHover = v0,
    BackgroundOnPress = v0,
    UIDefault = v0,
    UIMuted = v0,
    UIEmphasis = v0,
    ContextualPrimaryDefault = v0,
    ContextualPrimaryOnHover = v0,
    ContextualPrimaryContent = v0,
    SystemPrimaryDefault = v0,
    SystemPrimaryOnHover = v0,
    SystemPrimaryContent = v0,
    SecondaryDefault = v0,
    SecondaryOnHover = v0,
    SecondaryContent = v0,
    IconDefault = v0,
    IconEmphasis = v0,
    IconOnHover = v0,
    TextEmphasis = v0,
    TextDefault = v0,
    TextMuted = v0,
    Divider = v0,
    Overlay = v0,
    DropShadow = v0,
    NavigationBar = v0,
    PlaceHolder = v0,
    OnlineStatus = v0,
    OfflineStatus = v0,
    Success = v0,
    Alert = v0,
    Badge = v0,
    BadgeContent = v0
};
local v2 = {
    Font = Enum.Font.GothamSemibold,
    RelativeSize = 1,
    RelativeMinSize = 1
};
return {
    Theme = v1,
    Font = {
        BaseSize = 10,
        Title = v2,
        Header1 = v2,
        Header2 = v2,
        SubHeader1 = v2,
        Body = v2,
        CaptionHeader = v2,
        CaptionSubHeader = v2,
        CaptionBody = v2,
        Footer = v2
    }
};


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local v1 = require(script.Parent.ChatBubbleContainer);
local l_Roact_0 = v0.Roact;
local l_withStyle_0 = v0.UIBlox.Style.withStyle;
local l_FitTextLabel_0 = v0.RoactFitComponents.FitTextLabel;
local v5 = l_Roact_0.PureComponent:extend("PlainText");
v5.defaultProps = {
    text = "",
    maxWidth = 0,
    innerPadding = 0,
    isIncoming = false,
    hasTail = false,
    LayoutOrder = 0,
    isPending = false,
    [l_Roact_0.Change.AbsoluteSize] = function()
    end
};
v5.render = function(v6)
    return l_withStyle_0(function(v7)
        local l_maxWidth_0 = v6.props.maxWidth;
        local l_innerPadding_0 = v6.props.innerPadding;
        local v10 = math.max(0, l_maxWidth_0 - l_innerPadding_0);
        local l_Body_0 = v7.Font.Body;
        return l_Roact_0.createElement(v1, {
            isIncoming = v6.props.isIncoming,
            hasTail = v6.props.hasTail,
            isPending = v6.props.isPending,
            padding = l_innerPadding_0,
            LayoutOrder = v6.props.LayoutOrder,
            [l_Roact_0.Change.AbsoluteSize] = v6.props[l_Roact_0.Change.AbsoluteSize]
        }, {
            textContent = l_Roact_0.createElement(l_FitTextLabel_0, {
                Text = v6.props.text,
                TextXAlignment = Enum.TextXAlignment.Left,
                BackgroundTransparency = 1,
                TextColor3 = v7.Theme.TextEmphasis.Color,
                width = l_FitTextLabel_0.Width.FitToText,
                maximumWidth = v10,
                Font = v6.props.font or l_Body_0.Font,
                TextSize = v6.props.textSize or v7.Font.BaseSize * l_Body_0.RelativeSize,
                TextTransparency = not not v6.props.isPending and v7.Theme.TextMuted.Transparency or 0,
                TextYAlignment = Enum.TextYAlignment.Top
            })
        });
    end);
end;
return v5;


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local v1 = require(script.Parent.ChatBubbleContainerAutomaticSize);
local l_Roact_0 = v0.Roact;
local l_withStyle_0 = v0.UIBlox.Style.withStyle;
local l_TextService_0 = game:GetService("TextService");
game:DefineFastFlag("FixPlainTextAutomaticSizeClippingText", false);
local l_FixPlainTextAutomaticSizeClippingText_0 = game:GetFastFlag("FixPlainTextAutomaticSizeClippingText");
local v6 = {
    text = "",
    maxWidth = 0,
    innerPadding = 0,
    isIncoming = false,
    hasTail = false,
    LayoutOrder = 0,
    isPending = false,
    [l_Roact_0.Change.AbsoluteSize] = function()
    end
};
return function(v7)
    return l_withStyle_0(function(v8)
        local v9 = v7.maxWidth or v6.maxWidth;
        local v10 = v7.innerPadding or v6.innerPadding;
        local v11 = math.max(0, v9 - v10);
        local l_Body_0 = v8.Font.Body;
        local v13 = v7.textSize or v8.Font.BaseSize * l_Body_0.RelativeSize;
        local v14 = v7.text or v6.text;
        local v15 = v7.font or l_Body_0.Font;
        local l_l_TextService_0_TextSize_0 = l_TextService_0:GetTextSize(v14, v13, v15, (Vector2.new(v11, math.huge)));
        return l_Roact_0.createElement(v1, {
            isIncoming = v7.isIncoming or v6.isIncoming,
            hasTail = v7.hasTail or v6.hasTail,
            isPending = v7.isPending or v6.isPending,
            padding = v10,
            LayoutOrder = v7.LayoutOrder or v6.LayoutOrder,
            [l_Roact_0.Change.AbsoluteSize] = v7[l_Roact_0.Change.AbsoluteSize] or v6[l_Roact_0.Change.AbsoluteSize]
        }, {
            textContent = l_Roact_0.createElement("TextLabel", {
                Text = v14,
                TextXAlignment = Enum.TextXAlignment.Left,
                BackgroundTransparency = 1,
                TextColor3 = v8.Theme.TextEmphasis.Color,
                AutomaticSize = Enum.AutomaticSize.XY,
                Font = v15,
                TextSize = v13,
                Size = not not l_FixPlainTextAutomaticSizeClippingText_0 and UDim2.fromOffset(math.ceil(l_l_TextService_0_TextSize_0.X), (math.ceil(l_l_TextService_0_TextSize_0.Y))) or UDim2.new(0, l_l_TextService_0_TextSize_0.X, 0, l_l_TextService_0_TextSize_0.Y),
                TextTransparency = not not v7.isPending and v8.Theme.TextMuted.Transparency or 0,
                TextYAlignment = Enum.TextYAlignment.Top,
                TextWrapped = true
            }, {
                SizeConstraint = l_Roact_0.createElement("UISizeConstraint", {
                    MaxSize = Vector2.new(v11 or v9, math.huge)
                })
            })
        });
    end);
end;


local l_Roact_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).Roact;
local v1 = l_Roact_0.Component:extend("ExternalEventConnection");
v1.init = function(v2)
    v2.connection = nil;
end;
v1.render = function(v3)
    return l_Roact_0.oneChild(v3.props[l_Roact_0.Children]);
end;
v1.didMount = function(v4)
    v4.connection = v4.props.event:Connect(v4.props.callback);
end;
v1.didUpdate = function(v5, v6)
    if not (v5.props.event == v6.event) or v5.props.callback ~= v6.callback then
        v5.connection:Disconnect();
        v5.connection = v5.props.event:Connect(v5.props.callback);
    end;
end;
v1.willUnmount = function(v7)
    if v7.connection then
        v7.connection:Disconnect();
        v7.connection = nil;
    end;
end;
return v1;


local l_RunService_0 = game:GetService("RunService");
local v1 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_t_0 = v1.t;
local l_Cryo_0 = v1.Cryo;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local v9 = require(script.Parent.ExternalEventConnection);
local v10 = l_Roact_0.PureComponent:extend("Spinner");
v10.defaultProps = {
    Size = UDim2.new(0, 20, 0, 20),
    spinSpeed = 540
};
v10.validateProps = l_t_0.interface({
    isSpinning = l_t_0.optional(l_t_0.boolean),
    spinSpeed = l_t_0.optional(l_t_0.number),
    Size = l_t_0.optional(l_t_0.UDim2),
    Position = l_t_0.optional(l_t_0.UDim2),
    AnchorPoint = l_t_0.optional(l_t_0.Vector2),
    ImageColor3 = l_t_0.optional(l_t_0.Color3),
    ImageTransparency = l_t_0.optional(l_t_0.number),
    forwardRef = l_t_0.optional(l_t_0.table)
});
v10.init = function(v11)
    v11.renderSteppedCallback = function(v12)
        local l_isSpinning_0 = v11.props.isSpinning;
        local l_spinSpeed_0 = v11.props.spinSpeed;
        if not (not l_isSpinning_0 or not v11.ref.current) then
            v11.ref.current.Rotation = v11.ref.current.Rotation + l_spinSpeed_0 * v12;
        end;
    end;
end;
v10.render = function(v15)
    local l_Size_0 = v15.props.Size;
    local l_Position_0 = v15.props.Position;
    local l_AnchorPoint_0 = v15.props.AnchorPoint;
    local l_ImageColor3_0 = v15.props.ImageColor3;
    local l_ImageTransparency_0 = v15.props.ImageTransparency;
    local l_isSpinning_1 = v15.props.isSpinning;
    v15.ref = (v15.props.forwardRef or v15.ref) or l_Roact_0.createRef();
    return l_withStyle_0(function(v22)
        return l_Roact_0.createElement(l_ImageSetLabel_0, {
            Size = l_Size_0,
            Position = l_Position_0,
            AnchorPoint = l_AnchorPoint_0,
            BackgroundTransparency = 1,
            Image = l_Images_0["icons/common/refresh"],
            ImageColor3 = l_ImageColor3_0 or v22.Theme.SystemPrimaryDefault.Color,
            ImageTransparency = l_ImageTransparency_0 or v22.Theme.SystemPrimaryDefault.Transparency,
            [l_Roact_0.Ref] = v15.ref
        }, {
            renderStepped = l_isSpinning_1 and l_Roact_0.createElement(v9, {
                event = l_RunService_0.renderStepped,
                callback = v15.renderSteppedCallback
            })
        });
    end);
end;
return l_Roact_0.forwardRef(function(v23, v24)
    return l_Roact_0.createElement(v10, l_Cryo_0.Dictionary.join(v23, {
        forwardRef = v24
    }));
end);


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
return function()
    return l_UIBlox_0.Style.withStyle(function(v3)
        return l_Roact_0.createElement("ImageButton", {
            AutoButtonColor = false,
            BackgroundColor3 = v3.Theme.TextEmphasis.Color,
            Size = UDim2.fromScale(1, 1),
            BackgroundTransparency = 1
        }, {
            visibleFrame = l_Roact_0.createElement("Frame", {
                BackgroundTransparency = v3.Theme.BackgroundUIContrast.Transparency,
                BackgroundColor3 = v3.Theme.BackgroundUIContrast.Color,
                Size = UDim2.fromOffset(120, 120),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Position = UDim2.fromScale(0.5, 0.5),
                ZIndex = 10
            }, {
                corner = l_Roact_0.createElement("UICorner"),
                spinner = l_Roact_0.createElement(l_UIBlox_0.App.Loading.LoadingSpinner, {
                    anchorPoint = Vector2.new(0.5, 0.5),
                    position = UDim2.fromScale(0.5, 0.5),
                    size = UDim2.fromOffset(48, 48)
                })
            })
        });
    end);
end;


local l_Roact_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).Roact;
local v1 = l_Roact_0.PureComponent:extend("SortedList");
v1.defaultProps = {
    entries = {},
    renderEntry = nil,
    entryHeight = 48,
    sortComparator = function(_, _)
        return true;
    end,
    LayoutOrder = 0
};
v1.sortEntries = function(v4)
    local v5 = {};
    for _, v7 in pairs(v4.props.entries) do
        table.insert(v5, v7);
    end;
    table.sort(v5, v4.props.sortComparator);
    return v5;
end;
v1.render = function(v8)
    local v9 = v8:sortEntries();
    local v10 = {
        layout = l_Roact_0.createElement("UIListLayout", {
            VerticalAlignment = Enum.VerticalAlignment.Top,
            SortOrder = Enum.SortOrder.LayoutOrder
        })
    };
    for v11, v12 in pairs(v9) do
        table.insert(v10, l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, v8.props.entryHeight),
            BackgroundTransparency = 1,
            LayoutOrder = v11
        }, {
            entry = v8.props.renderEntry(v12, v11 == #v9)
        }));
    end;
    return l_Roact_0.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, #v8.props.entries * v8.props.entryHeight),
        BackgroundTransparency = 1,
        LayoutOrder = v8.props.LayoutOrder
    }, v10);
end;
return v1;


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_Roact_0 = v0.Roact;
local l_UIBlox_0 = v0.UIBlox;
local l_t_0 = v0.t;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_IconSize_0 = l_UIBlox_0.App.Constant.IconSize;
local l_Toast_0 = l_UIBlox_0.App.Dialog.Toast;
local l_validateColorInfo_0 = l_UIBlox_0.Style.Validator.validateColorInfo;
local v8 = l_Roact_0.PureComponent:extend("ToastScreen");
v8.defaultProps = {
    navigation = nil
};
local v9 = l_t_0.strictInterface({
    toastTitle = l_t_0.optional(l_t_0.string),
    toastSubtitle = l_t_0.optional(l_t_0.string),
    iconColorStyle = l_t_0.optional(l_validateColorInfo_0),
    iconImage = l_t_0.optional(l_t_0.union(l_t_0.table, l_t_0.string)),
    iconSize = l_t_0.optional(l_t_0.Vector2),
    swipeUpDismiss = l_t_0.optional(l_t_0.boolean),
    onAppeared = l_t_0.optional(l_t_0.callback),
    onActivated = l_t_0.optional(l_t_0.callback),
    onDismissed = l_t_0.optional(l_t_0.callback),
    hideIcon = l_t_0.optional(l_t_0.boolean)
});
local v10 = l_t_0.strictInterface({
    toastContent = l_t_0.optional(l_t_0.table),
    anchorPoint = l_t_0.optional(l_t_0.Vector2),
    duration = l_t_0.optional(l_t_0.integer),
    layoutOrder = l_t_0.optional(l_t_0.integer),
    position = l_t_0.optional(l_t_0.UDim2),
    size = l_t_0.optional(l_t_0.UDim2),
    show = l_t_0.optional(l_t_0.boolean)
});
v8.init = function(v11)
    v11.hasToastChanged = false;
    v11.getToastProps = function(v12)
        local v13 = v12.toastContent or {};
        assert(v10(v12));
        assert(v9(v13));
        return {
            toastContent = {
                toastTitle = v13.toastTitle or "",
                toastSubtitle = v13.toastSubtitle,
                iconColorStyle = v13.iconColorStyle,
                iconImage = if v13.hideIcon then nil else v13.iconImage or l_Images_0["icons/status/alert"],
                iconSize = if v13.hideIcon then nil else v13.iconSize or Vector2.new(l_IconSize_0.Regular, l_IconSize_0.Regular),
                swipeUpDismiss = v13.swipeUpDismiss,
                onAppeared = function()
                    if v13.onAppeared then
                        v13.onAppeared();
                    end;
                    v11.hasToastChanged = false;
                end,
                onActivated = v13.onActivated,
                onDismissed = function()
                    if v13.onDismissed then
                        v13.onDismissed();
                    end;
                    if not v11.hasToastChanged then
                        v11.props.navigation.goBack();
                    end;
                end
            },
            anchorPoint = v12.anchorPoint,
            duration = v12.duration or 2,
            layoutOrder = v12.layoutOrder,
            position = v12.position,
            size = v12.size,
            show = v12.show
        };
    end;
end;
v8.render = function(v14)
    assert(type(v14.props.navigation) ~= "nil", "ToastScreen should be wrapped with Roact Navigation");
    return l_Roact_0.createElement(l_Toast_0, (v14.getToastProps(v14.props.navigation.getParam("toastProps", {}))));
end;
v8.didUpdate = function(v15, _, _)
    v15.hasToastChanged = true;
end;
return v8;


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_Roact_0 = v0.Roact;
local l_llama_0 = v0.llama;
return function(v3)
    return function(v4)
        return function(v5)
            local v6 = l_Roact_0.Component:extend("Connected-" .. tostring(v5));
            v6.render = function(v7)
                return l_Roact_0.createElement(v3.Consumer, {
                    render = function(v8)
                        return l_Roact_0.createElement(v5, l_llama_0.Dictionary.join(v7.props, v4(v8)));
                    end
                });
            end;
            return v6;
        end;
    end;
end;


local l_Roact_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).Roact;
return function(v1)
    return function(v2)
        assert(type(v2) == "function", "Expect renderCallback to be a function.");
        return l_Roact_0.createElement(v1.Consumer, {
            render = v2
        });
    end;
end;


return {
    getConnect = require(script.getConnect),
    getWith = require(script.getWith)
};


local l_User_0 = script:FindFirstAncestor("SocialLibraries").User;
local v1 = require(l_User_0.presenceImageByPresence);
local v2 = require(l_User_0.getPresenceTextFromUser);
local v3 = require(script.Parent.getOtherParticipant);
return function(v4, v5)
    if v5.conversationType == "OneToOneConversation" then
        local v6 = v3(v4, v5.participants);
        if v6 then
            local v7 = v4.Users[v6];
            if v7 then
                return {
                    image = v1[v7.presence],
                    text = v2(v7)
                };
            end;
        end;
    end;
    return nil;
end;


return function(v0)
    if v0 then
        local v1 = v0.title or v0.titleForViewer;
        if v1 then
            return string.gsub(tostring(v1), "\n", "");
        end;
    end;
    return "";
end;


local l_UserModel_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).UserModel;
return function(v1, v2, v3)
    if not v1.pinnedGame or not v1.pinnedGame.universeId then
        local v4 = {};
        local l_pairs_0 = pairs;
        local v6 = v1.participants or {};
        for _, v8 in l_pairs_0(v6) do
            local v9 = v3[v8];
            if not (not ((v9 ~= nil and v8 ~= v2) and v9.presence == l_UserModel_0.PresenceType.IN_GAME) or not v9.rootPlaceId) then
                v4[v9.rootPlaceId] = v4[v9.rootPlaceId] or 0;
                v4[v9.rootPlaceId] = v4[v9.rootPlaceId] + 1;
            end;
        end;
        l_pairs_0 = nil;
        v6 = 0;
        for v10, v11 in pairs(v4) do
            if v6 < v11 then
                l_pairs_0 = v10;
                v6 = v11;
            end;
        end;
        return not not l_pairs_0 and tostring(l_pairs_0) or nil;
    else
        return (tostring(v1.pinnedGame.universeId));
    end;
end;


return function(v0, v1)
    local l_LocalUserId_0 = v0.LocalUserId;
    for _, v4 in ipairs(v1) do
        if v4 ~= l_LocalUserId_0 then
            return v4;
        end;
    end;
end;


return {
    getConversationDisplayTitle = require(script.getConversationDisplayTitle),
    getConversationDisplayPresence = require(script.getConversationDisplayPresence),
    getConversationGameId = require(script.getConversationGameId),
    getOtherParticipant = require(script.getOtherParticipant)
};


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


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


return {
    getFFlagDeprecatedSocialLibrariesCells = require(script.getFFlagDeprecatedSocialLibrariesCells)
};


return (require(script:FindFirstAncestor("SocialLibraries").dependencies).Lumberyak.Logger.new(nil, script:GetFullName() .. ":SocialLibraries"));


return {
    setupIsRolloutEnabledForUser = require(script.setupIsRolloutEnabledForUser),
    setupIsLayerEnabled = require(script.setupIsLayerEnabled),
    throttleUserId = require(script.throttleUserId)
};


local v0 = require(script.Parent.Parent.Dictionary.getDeepValue);
return function(v1)
    return function(v2)
        return v0((v2 or {})[v1.layerName] or {}, v1.variantName) or false;
    end;
end;


local v0 = require(script.Parent.Parent.dependencies);
local v1 = require(script.Parent.throttleUserId);
return function(v2)
    return function()
        local l_LocalPlayer_0 = v0.Players.LocalPlayer;
        if l_LocalPlayer_0 and l_LocalPlayer_0.UserId then
            return v1({
                throttle = v2(),
                userId = l_LocalPlayer_0.UserId
            });
        else
            return false;
        end;
    end;
end;


return {
    vertical = require(script.vertical),
    insert = require(script.insert)
};


return function(v0, v1)
    return {
        size = v0,
        element = v1
    };
end;


local l_Roact_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).Roact;
return function(v1, v2)
    v2 = v2 or {};
    local v3 = {
        blockLayout = v1
    };
    for v4, v5 in ipairs(v2) do
        v3[v4 .. "-block"] = l_Roact_0.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = v5.size,
            LayoutOrder = v4
        }, {
            child = v5.element
        });
    end;
    return v3;
end;


local l_Roact_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).Roact;
local v1 = require(script.Parent.new);
return function(v2)
    return v1(l_Roact_0.createElement("UIListLayout", {
        SortOrder = Enum.SortOrder.LayoutOrder
    }), v2);
end;


return (require(script:FindFirstAncestor("SocialLibraries").Logger):new(script:GetFullName() .. ":RoactPaginator"));


local l_script_FirstAncestor_0 = script:FindFirstAncestor("RoactPaginator");
local v1 = require(l_script_FirstAncestor_0.fetchInitSymbol);
local v2 = require(l_script_FirstAncestor_0.fetchWithCursorSymbol);
local v3 = require(l_script_FirstAncestor_0.loadNextSymbol);
local v4 = require(l_script_FirstAncestor_0.loadPreviousSymbol);
local v5 = require(l_script_FirstAncestor_0.Logger);
local v6 = require(l_script_FirstAncestor_0.Parent.dependencies);
local l_Roact_0 = v6.Roact;
local l_Cryo_0 = v6.Cryo;
local l_GenericPagination_0 = v6.GenericPagination;
local function _(v10, v11)
    return table.concat(v10, "\n"):format(unpack(v11 or {}));
end;
return function(v13)
    assert(v13 and type(v13) == "function", "RoactPaginator.connect: parameters expected to be a function");
    local v14 = debug.traceback();
    return function(v15)
        if v15 == nil then
            error(table.concat({
                "connect returns a function that must be passed a component.",
                "Check the connection at:",
                "%s"
            }, "\n"):format(unpack({
                v14
            } or {})), 2);
        end;
        local v16 = l_Roact_0.Component:extend((("PaginatorConnection(%s)"):format((tostring(v15)))));
        v16.init = function(v17)
            local v18 = v13();
            assert(v18, "RoactPaginator.connect: Expected parameters to return an object");
            v17.paginator = l_GenericPagination_0.new({
                pageSize = v18.pageSize,
                fetchInit = v17.props[v1],
                fetchWithCursor = v17.props[v2]
            });
        end;
        v16.render = function(v19)
            return l_Roact_0.createElement(v15, (l_Cryo_0.Dictionary.join(v19.props, {
                [v3] = function()
                    if not v19.paginator:isFetching() then
                        v19.paginator:getNext():catch(function(v20)
                            v5:error("Could not getNext. Got error: {}", v20);
                        end);
                        return ;
                    else
                        return ;
                    end;
                end,
                [v4] = function()
                    if not v19.paginator:isFetching() then
                        v19.paginator:getPrevious():catch(function(v21)
                            v5:error("Could not getPrevious. Got error: {}", v21);
                        end);
                        return ;
                    else
                        return ;
                    end;
                end
            })));
        end;
        return v16;
    end;
end;


return {
    connect = require(script.connect),
    fetchInit = require(script.fetchInitSymbol),
    fetchWithCursor = require(script.fetchWithCursorSymbol),
    loadNext = require(script.loadNextSymbol),
    loadPrevious = require(script.loadPreviousSymbol)
};


return function(...)
    local v0 = {
        ...
    };
    local v1 = #v0;
    if v1 == 0 then
        return function(v2)
            return v2;
        end;
    else
        local v3 = v0[1];
        for v4 = 2, v1 do
            local v5 = v0[v4];
            local l_v3_0 = v3;
            v3 = function(...)
                return l_v3_0(v5(...));
            end;
        end;
        return v3;
    end;
end;


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


return function(v0, v1, v2)
    local l_storyRoots_0 = v0.storyRoots;
    local l_mapStory_0 = v0.mapStory;
    v1("SHOULD run all stories with no issue", function()
        for _, v6 in ipairs(l_storyRoots_0) do
            for _, v8 in ipairs(v6:GetDescendants()) do
                if not (not v8:IsA("ModuleScript") or not v8.Name:find(".story$")) then
                    v2("SHOULD mount: " .. v8:GetFullName(), function(v9)
                        local v10 = require(v8);
                        local _, v12 = v9.UnitTestHelpers.mountFrame((l_mapStory_0(function()
                            return v10;
                        end)()));
                        v12();
                    end);
                end;
            end;
        end;
    end);
end;


return function(v0)
    return function(v1, v2)
        local v3, v4 = v0(v1);
        if v3 == false then
            return v3, v4 .. ". Issue with: " .. v2;
        else
            return v3;
        end;
    end;
end;


return function(v0, v1, v2)
    return string.format("%s should be %s. Issue with: %s", v0, v1, v2);
end;


return {
    mockAnalytics = require(script.mockAnalytics),
    mockLogger = require(script.mockLogger),
    validateDiagList = require(script.validateDiagList),
    validateEventList = require(script.validateEventList)
};


return function(v0)
    return {
        Diag = {
            reportCounter = v0.fn()
        },
        EventStream = {
            setRBXEventStream = v0.fn()
        }
    };
end;


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_llama_0 = v0.llama;
local v2 = require(script.Parent.Parent.Utils.isEnum);
local l_t_0 = v0.t;
local v4 = require(script.Parent.formatKeyValidationError);
local v5 = require(script.Parent.formatErrorForIncorrectKey)(l_t_0.strictInterface({
    name = l_t_0.any,
    counter = l_t_0.optional(l_t_0.any)
}));
return function(v6)
    l_llama_0.Dictionary.map(v6, function(v7, v8)
        local v9 = if not v2(v8) then v8 else v8.rawValue();
        assert(type(v7.name) == "string", v4("name", "a string", v9));
        local v10 = true;
        if type(v7.counter) ~= "number" then
            v10 = v7.counter == nil;
        end;
        assert(v10, v4("counter", "nil or a number", v9));
        assert(v5(v7, v9));
    end);
    return true;
end;


local v0 = require(script:FindFirstAncestor("SocialLibraries").dependencies);
local l_llama_0 = v0.llama;
local v2 = require(script.Parent.Parent.Analytics.Enums);
local l_Contexts_0 = v2.Contexts;
local l_EventTypes_0 = v2.EventTypes;
local l_SubPages_0 = v2.SubPages;
local l_Pages_0 = v2.Pages;
local _ = require(script.Parent.Parent.Analytics.FireEvent.Types);
local v8 = require(script.Parent.Parent.Utils.isEnum);
local l_t_0 = v0.t;
local v10 = require(script.Parent.formatKeyValidationError);
local v11 = require(script.Parent.formatErrorForIncorrectKey);
local v12 = l_t_0.strictInterface({
    context = l_t_0.any,
    eventType = l_t_0.any,
    additionalInfo = l_t_0.optional(l_t_0.table),
    formatRulesForAdditionalInfo = l_t_0.optional(l_t_0.table)
});
return function(v13, v14)
    l_llama_0.Dictionary.map(v13, function(v15, v16)
        local v17 = if not v8(v16) then v16 else v16.rawValue();
        assert(l_Contexts_0.isEnumValue(v15.context), v10("context", "a Context enum", v17));
        assert(l_EventTypes_0.isEnumValue(v15.eventType), v10("eventType", "an EventType enum", v17));
        local v18 = true;
        if type(v15.additionalInfo) ~= "table" then
            v18 = v15.additionalInfo == nil;
        end;
        assert(v18, v10("additionalInfo", "nil or a table", v17));
        v18 = true;
        if type(v15.formatRulesForAdditionalInfo) ~= "table" then
            v18 = v15.formatRulesForAdditionalInfo == nil;
        end;
        assert(v18, v10("formatRulesForAdditionalInfo", "nil or a table", v17));
        assert(v11(v12)(v15, v17));
        if v15.additionalInfo then
            v18 = true;
            if v15.additionalInfo.subpage ~= nil then
                v18 = l_SubPages_0.isEnumValue(v15.additionalInfo.subpage);
            end;
            assert(v18, v10("subpage additional info", "SubPages enum", v17));
            v18 = true;
            if v15.additionalInfo.page ~= nil then
                v18 = l_Pages_0.isEnumValue(v15.additionalInfo.page);
            end;
            assert(v18, v10("page additional info", "Pages enum", v17));
            l_llama_0.Dictionary.map(v14 or {}, function(v19, v20)
                assert(v19(v15.additionalInfo[v20]), v20 .. " key is invalid. Issue with: " .. v17);
            end);
        end;
    end);
    return true;
end;


local l_UserModel_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).UserModel;
return function(v1)
    local l_presence_0 = v1.presence;
    local l_lastLocation_0 = v1.lastLocation;
    if l_presence_0 == l_UserModel_0.PresenceType.OFFLINE then
        return "Common.Presence.Label.Offline";
    elseif l_presence_0 == l_UserModel_0.PresenceType.ONLINE then
        return "Common.Presence.Label.Online";
    elseif not (l_presence_0 ~= l_UserModel_0.PresenceType.IN_GAME) or l_presence_0 == l_UserModel_0.PresenceType.IN_STUDIO then
        if not l_lastLocation_0 then
            return "Common.Presence.Label.Online";
        else
            return (tostring(l_lastLocation_0));
        end;
    else
        return "";
    end;
end;


local l_RecommendationContextType_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).RoduxFriends.Enums.RecommendationContextType;
local v1 = {
    SingularMutualFriend = "Feature.Friends.Label.SingularMutualFriend",
    MutualFriends = "Feature.Friends.Label.MutualFriends",
    PlayedTogether = "Feature.Friends.Label.Frequent"
};
local function _(v2)
    if not v2.mutualFriendsCount then
        return not not v2.mutualFriendsList and #v2.mutualFriendsList or 0;
    else
        return v2.mutualFriendsCount;
    end;
end;
return function(v4)
    local v5 = nil;
    local v6 = nil;
    local v7 = nil;
    local v8 = not not v4.contextType and v4.contextType.rawValue() or nil;
    local v9 = if not v4.mutualFriendsCount then v4.mutualFriendsList and #v4.mutualFriendsList or 0 else v4.mutualFriendsCount;
    if v8 == l_RecommendationContextType_0.MutualFriends.rawValue() and v9 > 0 then
        v7 = function(v10)
            if not v10 then
                return nil;
            else
                return tostring(v9) .. " " .. string.lower(v10);
            end;
        end;
        v6 = if v9 == 1 then v1.SingularMutualFriend else v1.MutualFriends;
        v5 = {
            path = "icons/status/player/friend"
        };
    elseif v8 == l_RecommendationContextType_0.Frequents.rawValue() then
        v6 = v1.PlayedTogether;
    end;
    return {
        icon = v5,
        label = {
            formatter = v7,
            text = nil,
            textKey = v6
        }
    };
end;


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


local v0 = require(script.Parent.getPresenceTextFromUser);
local v1 = require(script.Parent.presenceImageByPresence);
return function(v2)
    return {
        text = v0(v2),
        image = v1[v2.presence]
    };
end;


return {
    getUserDisplayName = require(script.getUserDisplayName),
    getUserDisplayPresence = require(script.getUserDisplayPresence),
    sortFriendsByPresenceAndRank = require(script.sortFriendsByPresenceAndRank),
    sortFriendsByCorrectedPresenceAndRank = require(script.sortFriendsByCorrectedPresenceAndRank),
    getRecommendationDisplayContext = require(script.getRecommendationDisplayContext),
    getUserAvatarImage = require(script.getUserAvatarImage)
};


local l_UserModel_0 = require(script:FindFirstAncestor("SocialLibraries").dependencies).UserModel;
return {
    [l_UserModel_0.PresenceType.OFFLINE] = "",
    [l_UserModel_0.PresenceType.ONLINE] = "rbxasset://textures/ui/LuaChat/graphic/gr-indicator-online-14x14.png",
    [l_UserModel_0.PresenceType.IN_GAME] = "rbxasset://textures/ui/LuaChat/graphic/gr-indicator-ingame-14x14.png",
    [l_UserModel_0.PresenceType.IN_STUDIO] = "rbxasset://textures/ui/LuaChat/graphic/gr-indicator-instudio-14x14.png"
};