local l_Parent_0 = script:FindFirstAncestor("ApolloProfileInsights").Parent;
local v1 = require(l_Parent_0.Cryo);
local v2 = require(l_Parent_0.ApolloLocalState);
local _ = require(l_Parent_0.ApolloClient);
local l_queries_0 = v2.queries;
return function(v5, v6, v7)
    local v8 = if not not v7 and v7.query then v7.query else l_queries_0.profilesInsightsByUserIds;
    for v9, v10 in v6, nil, nil do
        local v11 = v10.mutualFriends or {};
        local v12 = {};
        for v13, v14 in v11, nil, nil do
            table.insert(v12, v1.Dictionary.join({
                __typename = "MutualFriend",
                id = v14.id or tostring(v13),
                username = v14.username or "",
                displayName = v14.displayName or ""
            }, v14));
        end;
        v5:writeQuery({
            variables = {
                userIds = v9
            },
            query = v8,
            data = {
                profilesInsightsByUserIds = {
                    {
                        __typename = "ProfileInsights",
                        targetUserId = v10.targetUserId or tostring(v9),
                        isOfflineFrequents = v10.isOfflineFrequents or false,
                        mutualFriends = v12
                    }
                }
            }
        });
    end;
end;


return {
    Hooks = require(script.Hooks),
    Mutations = require(script.Mutations),
    Formatters = require(script.Formatters),
    Selectors = require(script.Selectors),
    TestUtils = require(script.TestUtils),
    ["jest.config"] = script["jest.config"]
};


local v0 = require(script.Parent.Parent.Dev.JestConfigs);
return {
    displayName = "ApolloProfileInsights",
    setupFilesAfterEnv = {
        v0.setupFiles.LogHandler,
        v0.setupFiles.UIBloxInitializer,
        v0.setupFiles.createPromiseRejectionHandler()
    }
};


return {
    Formatters = require(script.Formatters),
    Hooks = require(script.Hooks),
    Mutations = require(script.Mutations),
    Selectors = require(script.Selectors),
    ["jest.config"] = script["jest.config"]
};


local l_Parent_0 = script:FindFirstAncestor("AppBlox").Parent;
local v1 = require(l_Parent_0.React);
local l_useScreenSize_0 = require(l_Parent_0.RobloxAppHooks).useScreenSize;
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local v4 = require(l_Parent_0.UIBlox);
local l_InteractiveAlert_0 = v4.App.Dialog.Alert.InteractiveAlert;
local l_ButtonType_0 = v4.App.Button.Enum.ButtonType;
return function(v7)
    return v1.createElement(l_InteractiveAlert_0, {
        screenSize = l_useScreenSize_0(),
        title = v7.title,
        bodyText = v7.body,
        buttonStackInfo = {
            buttons = {
                {
                    buttonType = l_ButtonType_0.PrimarySystem,
                    props = {
                        onActivated = v7.closeAlert,
                        text = v7.buttonText or l_useLocalization_0({
                            closeButtonText = "Feature.ProfileBadges.action.close"
                        }).closeButtonText
                    }
                }
            }
        }
    });
end;


local l_Parent_0 = script:FindFirstAncestor("AppBlox").Parent;
local v1 = require(l_Parent_0.Roact);
local v2 = require(l_Parent_0.RoactRodux);
local l_getSafeAreaSize_0 = require(l_Parent_0.InputUi).getSafeAreaSize;
local l_IsVRAppBuild_0 = require(l_Parent_0.AppCommonLib).IsVRAppBuild;
local v5 = v1.PureComponent:extend("FullscreenPageWithSafeArea");
v5.render = function(v6)
    local l_statusBarHeight_0 = v6.props.statusBarHeight;
    local l_screenSize_0 = v6.props.screenSize;
    local l_globalGuiInset_0 = v6.props.globalGuiInset;
    local l_BackgroundColor3_0 = v6.props.BackgroundColor3;
    local l_BackgroundTransparency_0 = v6.props.BackgroundTransparency;
    local l_includeStatusBar_0 = v6.props.includeStatusBar;
    local l_renderFullscreenBackground_0 = v6.props.renderFullscreenBackground;
    local v14 = v6.props[v1.Children];
    if not (l_screenSize_0.X ~= 0) or l_screenSize_0.Y == 0 then
        return nil;
    else
        local v15 = l_getSafeAreaSize_0(l_screenSize_0, l_globalGuiInset_0);
        local l_top_0 = l_globalGuiInset_0.top;
        local v17 = if v6.props.useFullScalePage ~= nil then v6.props.useFullScalePage else l_IsVRAppBuild_0();
        if l_includeStatusBar_0 then
            v15 = UDim2.new(0, v15.X.Offset, 0, v15.Y.Offset - l_statusBarHeight_0);
            l_top_0 = l_top_0 + l_statusBarHeight_0;
        end;
        return v1.createElement("Frame", {
            Position = if not v17 then UDim2.new(0, -l_globalGuiInset_0.left, 0, -l_globalGuiInset_0.top) else UDim2.new(0, 0, 0, 0),
            Size = if not v17 then UDim2.new(0, l_screenSize_0.X, 0, l_screenSize_0.Y) else UDim2.new(1, 0, 1, 0),
            BackgroundColor3 = l_BackgroundColor3_0,
            BackgroundTransparency = l_BackgroundTransparency_0,
            Active = true,
            BorderSizePixel = 0,
            ClipsDescendants = true
        }, {
            Background = l_renderFullscreenBackground_0 and l_renderFullscreenBackground_0(l_top_0),
            SafeAreaFrame = v1.createElement("Frame", {
                Position = if not v17 then UDim2.new(0, l_globalGuiInset_0.left, 0, l_top_0) else UDim2.new(0, 0, 0, 0),
                Size = if not v17 then v15 else UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1,
                ZIndex = not l_renderFullscreenBackground_0 and 1 or 2
            }, v14)
        });
    end;
end;
return v2.connect(function(v18, _)
    return {
        statusBarHeight = v18.TopBar.statusBarHeight,
        screenSize = v18.ScreenSize,
        globalGuiInset = v18.GlobalGuiInset
    };
end)(v5);


local l_CoreGui_0 = game:GetService("CoreGui");
local l_Parent_0 = script:FindFirstAncestor("AppBlox").Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.UIBlox);
local l_Images_0 = v3.App.ImageSet.Images;
local l_ImageSetLabel_0 = v3.Core.ImageSet.ImageSetLabel;
local l_Interactable_0 = v3.Core.Control.Interactable;
local l_withHoverTooltip_0 = v3.App.Dialog.TooltipV2.withHoverTooltip;
local l_useCursor_0 = v3.App.SelectionCursor.useCursor;
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_useUiModeInfo_0 = require(l_Parent_0.RobloxAppHooks).useUiModeInfo;
local l_UiMode_0 = require(l_Parent_0.RobloxAppEnums).UiMode;
local l_GetFFlagLuaAppSortTooltipEnableVR_0 = require(l_Parent_0.SharedFlags).GetFFlagLuaAppSortTooltipEnableVR;
local l_GetFFlagTenFootUiSupportSortHeaderTooltip_0 = require(l_Parent_0.SharedFlags).GetFFlagTenFootUiSupportSortHeaderTooltip;
local l_GetFFlagLuaAppExpandTooltipHitbox_0 = require(l_Parent_0.SharedFlags).GetFFlagLuaAppExpandTooltipHitbox;
local l_FFlagLuaAppFixCursorHooks_0 = require(l_Parent_0.SharedFlags).FFlagLuaAppFixCursorHooks;
game:DefineFastInt("TooltipHitboxMinSize", 26);
local v16 = l_Images_0["icons/actions/info"];
local v17 = if not l_GetFFlagLuaAppExpandTooltipHitbox_0() then nil else Vector2.new(game:GetFastInt("TooltipHitboxMinSize"), game:GetFastInt("TooltipHitboxMinSize"));
return function(v18)
    local v19 = l_useUiModeInfo_0();
    local v20 = l_useDesignTokens_0();
    local l_Color3_0 = v20.Semantic.Color.Text.Emphasis.Color3;
    local l_Space_300_0 = v20.Global.Space_300;
    local v23 = nil;
    local v24 = nil;
    if l_GetFFlagTenFootUiSupportSortHeaderTooltip_0() then
        v23 = v20.Semantic.Radius.Circle;
        v24 = v20.Semantic.Offset.Focus.Inset;
    end;
    local v25 = if not not l_FFlagLuaAppFixCursorHooks_0 and l_GetFFlagTenFootUiSupportSortHeaderTooltip_0() then l_useCursor_0(UDim.new(0, v23), v24) else nil;
    local v26 = if not l_GetFFlagLuaAppSortTooltipEnableVR_0() then nil else v19.uiMode == l_UiMode_0.VR;
    if not (v19.uiMode == l_UiMode_0.VR) or v18.supportVR then
        if not (v19.uiMode == l_UiMode_0.TenFoot) or v18.supportTenFootUi then
            local v27 = {
                bodyText = v18.hoverText,
                useLargeDropShadow = true
            };
            local v28 = {
                preferredOrientation = v18.tooltipOrientation,
                guiTarget = l_CoreGui_0,
                DisplayOrder = 10,
                delayTime = 0.2,
                triggerPointName = v18.triggerPointName,
                disabled = if not l_GetFFlagLuaAppSortTooltipEnableVR_0() then nil else v26
            };
            if not l_GetFFlagLuaAppExpandTooltipHitbox_0() then
                return l_withHoverTooltip_0(v27, v28, function(v29, v30)
                    return v2.createElement(l_Interactable_0, {
                        AutomaticSize = Enum.AutomaticSize.XY,
                        BackgroundTransparency = 1,
                        LayoutOrder = v18.layoutOrder,
                        AnchorPoint = v18.anchorPoint,
                        Position = v18.position,
                        onStateChanged = v30,
                        SelectionImageObject = if not l_GetFFlagTenFootUiSupportSortHeaderTooltip_0() then nil else l_useCursor_0(UDim.new(0, v23), v24),
                        [v2.Change.AbsolutePosition] = v29,
                        [v2.Change.AbsoluteSize] = v29,
                        [v2.Event.Activated] = v18.onActivateTooltip
                    }, {
                        TooltipIcon = v2.createElement(l_ImageSetLabel_0, {
                            Size = v18.size or UDim2.new(0, l_Space_300_0, 0, l_Space_300_0),
                            BackgroundTransparency = 1,
                            Image = v18.icon or v16,
                            ImageColor3 = v18.color or l_Color3_0
                        })
                    });
                end);
            else
                local v31 = v18.size or UDim2.new(0, l_Space_300_0, 0, l_Space_300_0);
                return l_withHoverTooltip_0(v27, v28, function(v32, v33)
                    return v2.createElement("Frame", {
                        Size = v31,
                        BackgroundTransparency = 1,
                        LayoutOrder = v18.layoutOrder,
                        AnchorPoint = v18.anchorPoint,
                        Position = v18.position,
                        SelectionImageObject = if not not l_FFlagLuaAppFixCursorHooks_0 and l_GetFFlagTenFootUiSupportSortHeaderTooltip_0() then v25 else if l_GetFFlagTenFootUiSupportSortHeaderTooltip_0() then l_useCursor_0(UDim.new(0, v23), v24) else nil,
                        [v2.Change.AbsolutePosition] = v32,
                        [v2.Change.AbsoluteSize] = v32
                    }, {
                        TooltipIcon = v2.createElement(l_ImageSetLabel_0, {
                            Size = v31,
                            BackgroundTransparency = 1,
                            Image = v18.icon or v16,
                            ImageColor3 = v18.color or l_Color3_0,
                            ZIndex = 0
                        }),
                        Hitbox = v2.createElement(l_Interactable_0, {
                            Size = UDim2.fromScale(1, 1),
                            BackgroundTransparency = 1,
                            AnchorPoint = Vector2.new(0.5, 0.5),
                            Position = UDim2.fromScale(0.5, 0.5),
                            onStateChanged = v33,
                            [v2.Event.Activated] = v18.onActivateTooltip,
                            ZIndex = 1
                        }, {
                            UISizeConstraint = v2.createElement("UISizeConstraint", {
                                MinSize = v17
                            })
                        })
                    });
                end);
            end;
        else
            return nil;
        end;
    else
        return nil;
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppBlox");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.UIBlox);
local l_useLazyRef_0 = v3.Core.Hooks.useLazyRef;
local v5 = require(l_Parent_0.PeekView);
local l_PeekView_0 = v5.PeekView;
local l_PeekViewState_0 = v5.PeekViewState;
local v8 = require(l_Parent_0.RoactUtils);
local l_useNavigation_0 = v8.Hooks.useNavigation;
local l_useState_0 = v2.useState;
local l_useSelector_0 = v8.Hooks.RoactRodux.useSelector;
local l_useStyle_0 = v3.Core.Style.useStyle;
local l_Signal_0 = require(l_Parent_0.AppCommonLib).Signal;
local l_GetUIBloxEnableFontNameMapping_0 = require(l_Parent_0.SharedFlags).UIBlox.GetUIBloxEnableFontNameMapping;
local v15 = require(l_script_FirstAncestor_0.Flags.FFlagLuaAppImproveInfoPeekView);
return function(v16)
    local v17, v18 = l_useState_0(l_PeekViewState_0.Full);
    local v20 = l_useSelector_0(function(v19)
        return v19.ScreenSize;
    end);
    local v21 = l_useStyle_0();
    local l_Tokens_0 = v21.Tokens;
    local v23 = l_useNavigation_0();
    local v24 = v23.getParam("title", nil);
    local v25 = v23.getParam("body", nil);
    local v26 = v16.title or v24;
    local v27 = v16.body or v25;
    local l_Space_300_0 = l_Tokens_0.Global.Space_300;
    local l_Space_150_0 = l_Tokens_0.Global.Space_150;
    local l_Default_0 = l_Tokens_0.Semantic.Color.Background.Default;
    local l_Header_0 = l_Tokens_0.Semantic.Typography.Header;
    local l_Emphasis_0 = l_Tokens_0.Semantic.Color.Text.Emphasis;
    local l_Body_0 = l_Tokens_0.Semantic.Typography.Body;
    local l_Default_1 = l_Tokens_0.Semantic.Color.Text.Default;
    local v35 = v20.X - 2 * l_Space_300_0;
    local v38 = v2.useCallback(function(v36, _)
        v18(v36);
        if not (v36 ~= l_PeekViewState_0.Closed) or v36 == l_PeekViewState_0.Hidden then
            v23.goBack();
        end;
    end, {
        v23
    });
    local v40 = v2.useCallback(function(v39)
        if v39 < 10 then
            v18(l_PeekViewState_0.Closed);
        end;
    end, {});
    if not v15 then
        return v2.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1
        }, {
            PeekView = v2.createElement(l_PeekView_0, {
                briefViewContentHeight = UDim.new(1, 0),
                peekHeaderClose = true,
                style = v21,
                canDragFullViewToBrief = false,
                peekHeaderPositionYChange = v40,
                viewStateChanged = v38,
                peekViewState = v17,
                hasScrim = true
            }, {
                Content = v2.createElement("Frame", {
                    Size = UDim2.new(1, 0, 0, 0),
                    BackgroundTransparency = 0,
                    BackgroundColor3 = l_Default_0.Color3,
                    BorderSizePixel = 0,
                    AutomaticSize = Enum.AutomaticSize.Y
                }, {
                    Layout = v2.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Vertical,
                        HorizontalAlignment = Enum.HorizontalAlignment.Left,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        Padding = UDim.new(0, l_Space_300_0)
                    }),
                    ContentPadding = v2.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, l_Space_150_0),
                        PaddingLeft = UDim.new(0, l_Space_300_0),
                        PaddingRight = UDim.new(0, l_Space_300_0),
                        PaddingBottom = UDim.new(0, l_Space_300_0)
                    }),
                    TitleText = v2.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Text = v26,
                        TextSize = if not l_GetUIBloxEnableFontNameMapping_0() then l_Header_0.FontSize * 1.2 else l_Header_0.FontSize,
                        TextColor3 = l_Emphasis_0.Color3,
                        TextTransparency = l_Emphasis_0.Transparency,
                        Font = l_Header_0.Font,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextWrapped = true,
                        Size = UDim2.new(0, v35, 0, 0),
                        AutomaticSize = Enum.AutomaticSize.Y,
                        LayoutOrder = 1
                    }),
                    BodyText = v2.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Text = v27,
                        TextSize = if not l_GetUIBloxEnableFontNameMapping_0() then l_Body_0.FontSize * 1.2 else l_Body_0.FontSize,
                        TextColor3 = l_Default_1.Color3,
                        TextTransparency = l_Default_1.Transparency,
                        Font = l_Body_0.Font,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextWrapped = true,
                        AnchorPoint = Vector2.new(0, -1),
                        Position = UDim2.new(0, 0, 0, 0),
                        Size = UDim2.new(0, v35, 0, 0),
                        AutomaticSize = Enum.AutomaticSize.Y,
                        LayoutOrder = 2
                    })
                })
            })
        });
    else
        local v41 = l_useLazyRef_0(function()
            return l_Signal_0.new();
        end);
        return v2.createElement("TextButton", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = l_Tokens_0.Semantic.Color.Common.Overlay.Transparency,
            BackgroundColor3 = l_Tokens_0.Semantic.Color.Common.Overlay.Color3,
            ClipsDescendants = false,
            Text = "",
            [v2.Event.Activated] = function()
                if not (not v41 or not v41.current) then
                    v41.current:fire();
                end;
            end,
            AutoButtonColor = false
        }, {
            PeekView = v2.createElement(l_PeekView_0, {
                briefViewContentHeight = UDim.new(1, 0),
                peekHeaderClose = true,
                style = v21,
                canDragFullViewToBrief = false,
                peekHeaderPositionYChange = v40,
                viewStateChanged = v38,
                peekViewState = v17,
                hasScrim = false,
                closeSignal = v41.current
            }, {
                Content = v2.createElement("Frame", {
                    Size = UDim2.new(1, 0, 0, 0),
                    BackgroundTransparency = 0,
                    BackgroundColor3 = l_Default_0.Color3,
                    BorderSizePixel = 0,
                    AutomaticSize = Enum.AutomaticSize.Y
                }, {
                    Layout = v2.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Vertical,
                        HorizontalAlignment = Enum.HorizontalAlignment.Left,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        Padding = UDim.new(0, l_Space_300_0)
                    }),
                    ContentPadding = v2.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, l_Space_150_0),
                        PaddingLeft = UDim.new(0, l_Space_300_0),
                        PaddingRight = UDim.new(0, l_Space_300_0),
                        PaddingBottom = UDim.new(0, l_Space_300_0)
                    }),
                    TitleText = v2.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Text = v26,
                        TextSize = if not l_GetUIBloxEnableFontNameMapping_0() then l_Header_0.FontSize * 1.2 else l_Header_0.FontSize,
                        TextColor3 = l_Emphasis_0.Color3,
                        TextTransparency = l_Emphasis_0.Transparency,
                        Font = l_Header_0.Font,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextWrapped = true,
                        Size = UDim2.new(0, v35, 0, 0),
                        AutomaticSize = Enum.AutomaticSize.Y,
                        LayoutOrder = 1
                    }),
                    BodyText = v2.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Text = v27,
                        TextSize = if not l_GetUIBloxEnableFontNameMapping_0() then l_Body_0.FontSize * 1.2 else l_Body_0.FontSize,
                        TextColor3 = l_Default_1.Color3,
                        TextTransparency = l_Default_1.Transparency,
                        Font = l_Body_0.Font,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextWrapped = true,
                        AnchorPoint = Vector2.new(0, -1),
                        Position = UDim2.new(0, 0, 0, 0),
                        Size = UDim2.new(0, v35, 0, 0),
                        AutomaticSize = Enum.AutomaticSize.Y,
                        LayoutOrder = 2
                    })
                })
            })
        });
    end;
end;


local l_Workspace_0 = game:GetService("Workspace");
local l_RunService_0 = game:GetService("RunService");
local v2 = require(script:FindFirstAncestor("AppBlox").Parent.Roact);
local v3 = Rect.new(1, 0, 2, 3);
local v4 = v2.Component:extend("LoadingBar");
v4.init = function(v5)
    v5.barRef = v2.createRef();
end;
v4.render = function(v6)
    return v2.createElement("ImageLabel", {
        Image = "rbxasset://textures/ui/LuaApp/9-slice/gr-loading-indicator.png",
        ScaleType = "Slice",
        SliceCenter = v3,
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        ZIndex = v6.props.ZIndex,
        [v2.Ref] = v6.barRef
    });
end;
v4.didMount = function(v7)
    v7.connection = l_RunService_0.RenderStepped:Connect(function()
        local l_DistributedGameTime_0 = l_Workspace_0.DistributedGameTime;
        local l_current_0 = v7.barRef.current;
        local v10 = 7.5 * (1 - math.cos((2 * l_DistributedGameTime_0) * 5.026548245743669));
        l_current_0.Size = UDim2.new(0, 4 + v10, 0, 4);
        l_current_0.Position = UDim2.new(0.5, (40 * math.cos(l_DistributedGameTime_0 * 5.026548245743669) - v10 / 2) - 2, 0.5, 0);
    end);
end;
v4.willUnmount = function(v11)
    v11.connection:Disconnect();
end;
return v4;


return {
    CloseOnlyInteractiveAlert = require(script.CloseOnlyInteractiveAlert),
    LoadingBar = require(script.LoadingBar),
    FFlagLuaAppImproveInfoPeekView = require(script.Flags.FFlagLuaAppImproveInfoPeekView),
    FullscreenPageWithSafeArea = require(script.FullscreenPageWithSafeArea),
    IconWithTooltip = require(script.IconWithTooltip),
    InfoPeekView = require(script.InfoPeekView),
    ["jest.config"] = script["jest.config"]
};


local v0 = require(script.Parent.Parent.Dev.JestConfigs);
return {
    displayName = "AppBlox",
    setupFilesAfterEnv = {
        v0.setupFiles.LogHandler,
        v0.setupFiles.UIBloxInitializer,
        v0.setupFiles.createPromiseRejectionHandler()
    }
};


return require(script:FindFirstAncestor("AppChat").Parent.Rodux).makeActionCreator(script.Name, function(v0)
    return {
        requestId = v0
    };
end);


local l_Parent_0 = script:FindFirstAncestor("AppChat").Parent;
local v1 = require(l_Parent_0.Rodux);
local _ = require(l_Parent_0.SocialCommon);
return v1.makeActionCreator(script.Name, function(v3)
    return {
        entryPoint = v3
    };
end);


return require(script:FindFirstAncestor("AppChat").Parent.Rodux).makeActionCreator(script.Name, function(v0)
    return {
        settings = v0
    };
end);


return require(script:FindFirstAncestor("AppChat").Parent.Rodux).makeActionCreator("AppChat." .. script.Name, function(v0)
    return v0;
end);


return require(script:FindFirstAncestor("AppChat").Parent.Rodux).makeActionCreator(script.Name, function(v0)
    return {
        screen = v0.screen,
        params = v0.params
    };
end);


return require(script:FindFirstAncestor("AppChat").Parent.Rodux).makeActionCreator(script.Name, function(v0)
    assert(type(v0) == "table", script.Name .. ": result must be a table");
    return {
        result = v0
    };
end);


return require(script:FindFirstAncestor("AppChat").Parent.Rodux).makeActionCreator(script.Name, function(v0)
    return {
        value = v0
    };
end);


return require(script:FindFirstAncestor("AppChat").Parent.Rodux).makeActionCreator(script.Name, function(v0)
    return {
        connectionState = v0
    };
end);


return {
    NavigateIntoChat = require(script.NavigateIntoChat),
    EnteredChatFromEntryPoint = require(script.EnteredChatFromEntryPoint),
    CompleteExternalNavigationIntoChat = require(script.CompleteExternalNavigationIntoChat),
    FetchChatSettingsCompleted = require(script.FetchChatSettingsCompleted),
    ReceivedChatSettings = require(script.ReceivedChatSettings),
    SetAppLoaded = require(script.SetAppLoaded),
    SetConnectionState = require(script.SetConnectionState),
    ToggleChatPaused = require(script.ToggleChatPaused)
};


return {
    fireAnalyticsEvent = function(v0, v1)
        return v0, v1;
    end,
    updateInfoForAllEvents = function(v2)
        return v2;
    end,
    getInfoForAllEvents = function()
        return {
            analyticsTag = "DefaultAnalytics"
        };
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local v1 = require(script.Parent.EventNames);
local l_DiagEventTypes_0 = require(l_script_FirstAncestor_0.Parent.SocialLuaAnalytics).Analytics.Enums.DiagEventTypes;
return {
    [v1.ChatLandingScreenRendered] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatLandingScreenRenderedCounter", "ChatLandingScreenRendered")
    },
    [v1.AppChatVisible] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("AppChatVisibleCounter", "AppChatVisible")
    },
    [v1.ChatLandingSearchBtnClicked] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatLandingSearchBtnClickedCounter", "ChatLandingSearchBtnClicked")
    },
    [v1.ChatLandingComposeBtnClicked] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatLandingComposeBtnClickedCounter", "ChatLandingComposeBtnClicked")
    },
    [v1.ChatLandingNotifBtnClicked] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatLandingNotifBtnClickedCounter", "ChatLandingNotifBtnClicked")
    },
    [v1.ChatLandingConversationClicked] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatLandingConversationClickedCounter", "ChatLandingConversationClicked")
    },
    [v1.ChatLandingGroupsBtnClicked] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatLandingGroupsBtnClicked", "ChatLandingGroupsBtnClicked")
    },
    [v1.ConversationScreenRendered] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ConversationScreenRenderedCounter", "ConversationScreenRendered")
    },
    [v1.ConversationSendBtnClicked] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ConversationSendBtnClickedCounter", "ConversationSendBtnClicked")
    },
    [v1.ConversationScreenExit] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ConversationScreenExitCounter", "ConversationScreenExit")
    },
    [v1.ConversationInfoBtnClicked] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ConversationInfoBtnClickedCounter", "ConversationInfoBtnClicked")
    },
    [v1.ConversationMessageSent] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ConversationMessageSentCounter", "ConversationMessageSent")
    },
    [v1.NewConversationCreated] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("NewConversationCreatedCounter", "NewConversationCreated")
    },
    [v1.ChatDetailsRendered] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatDetailsRenderedCounter", "ChatDetailsRendered")
    },
    [v1.ChatEmptyStateScreenRendered] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatEmptyStateScreenRenderedCounter", "ChatEmptyStateScreenRendered")
    },
    [v1.ChatAddFriendsBtnClicked] = {
        type = l_DiagEventTypes_0.Counter,
        name = game:DefineFastString("ChatAddFriendsBtnClickedCounter", "ChatAddFriendsBtnClicked")
    }
};


return {
    EmptyConversationList = "EmptyConversationList",
    NoFriendsView = "NoFriendsView"
};


return {
    None = "None",
    WillSend = "WillSend",
    ButtonInactive = "ButtonInactive",
    MessageInvalid = "MessageInvalid"
};


return {
    SendButtonClickActionResult = require(script.SendButtonClickActionResult),
    ConversationExitType = require(script.ConversationExitType),
    CreateConversationError = require(script.CreateConversationError),
    SendMessageError = require(script.SendMessageError),
    EmptyStateType = require(script.EmptyStateType)
};


return {
    AppChatVisible = "AppChatVisible",
    ChatLandingScreenRendered = "ChatLandingScreenRendered",
    ChatLandingSearchBtnClicked = "ChatLandingSearchBtnClicked",
    ChatLandingComposeBtnClicked = "ChatLandingComposeBtnClicked",
    ChatLandingNotifBtnClicked = "ChatLandingNotifBtnClicked",
    ChatLandingConversationClicked = "ChatLandingConversationClicked",
    ChatLandingGroupsBtnClicked = "ChatLandingGroupsBtnClicked",
    ConversationScreenRendered = "ConversationScreenRendered",
    ConversationSendBtnClicked = "ConversationSendBtnClicked",
    ConversationScreenExit = "ConversationScreenExit",
    ConversationInfoBtnClicked = "ConversationInfoBtnClicked",
    ConversationMessageSent = "ConversationMessageSent",
    NewConversationCreated = "NewConversationCreated",
    ChatDetailsRendered = "ChatDetailsRendered",
    ChatEmptyStateScreenRendered = "ChatEmptyStateScreenRendered",
    ChatAddFriendsBtnClicked = "ChatAddFriendsBtnClicked"
};


local l_Parent_0 = script:FindFirstAncestor("AppChat").Parent;
local l_LocalizationService_0 = game:GetService("LocalizationService");
local v2 = require(l_Parent_0.Dash);
local l_Enums_0 = require(l_Parent_0.SocialLuaAnalytics).Analytics.Enums;
local l_EventTypes_0 = l_Enums_0.EventTypes;
local l_Contexts_0 = l_Enums_0.Contexts;
local v6 = require(script.Parent.EventNames);
return {
    [v6.AppChatVisible] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.AppChatVisible,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            isChatEnabled = v2.identity,
            isChatLoading = v2.identity,
            chatLandingListCount = v2.identity
        }
    },
    [v6.ChatLandingScreenRendered] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatLandingScreenRendered,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            isChatEnabled = v2.identity
        }
    },
    [v6.ChatLandingSearchBtnClicked] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatLandingSearchBtnClicked,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        }
    },
    [v6.ChatLandingComposeBtnClicked] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatLandingComposeBtnClicked,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        }
    },
    [v6.ChatLandingNotifBtnClicked] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatLandingNotifBtnClicked,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        }
    },
    [v6.ChatLandingConversationClicked] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatLandingConversationClicked,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            isFiltered = v2.identity,
            conversationListCount = v2.identity,
            selectedConversationId = v2.identity,
            selectedIndex = v2.identity,
            hasUnreadMessages = v2.identity
        }
    },
    [v6.ChatLandingGroupsBtnClicked] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatLandingGroupsBtnClicked,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {}
    },
    [v6.ConversationScreenRendered] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ConversationScreenRendered,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            conversationId = v2.identity
        }
    },
    [v6.ConversationSendBtnClicked] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ConversationSendBtnClicked,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            conversationId = v2.identity,
            sendBtnClickResult = require(script.Parent.Enums).SendButtonClickActionResult
        }
    },
    [v6.ConversationScreenExit] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ConversationScreenExit,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            conversationId = v2.identity,
            conversationExitType = require(script.Parent.Enums).ConversationExitType
        }
    },
    [v6.ConversationInfoBtnClicked] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ConversationInfoBtnClicked,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            conversationId = v2.identity
        }
    },
    [v6.NewConversationCreated] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.NewConversationCreated,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            conversationId = v2.identity,
            createConversationResult = v2.identity,
            participantsCount = v2.identity,
            createdReason = v2.identity
        }
    },
    [v6.ChatDetailsRendered] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatDetailsRendered,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            conversationId = v2.identity,
            participantsCount = v2.identity,
            isGroupOwner = v2.identity,
            isGroupConversation = v2.identity
        }
    },
    [v6.ConversationMessageSent] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ConversationMessageSent,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            conversationId = v2.identity,
            messageSentResult = v2.identity,
            messageId = v2.identity,
            recipientIds = v2.identity
        }
    },
    [v6.ChatEmptyStateScreenRendered] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatEmptyStateScreenRendered,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {
            emptyStateType = require(script.Parent.Enums).EmptyStateType
        }
    },
    [v6.ChatAddFriendsBtnClicked] = {
        context = l_Contexts_0.PlatformChat,
        eventType = l_EventTypes_0.ChatAddFriendsBtnClicked,
        additionalInfo = {
            locale = l_LocalizationService_0.RobloxLocaleId
        },
        formatRulesForAdditionalInfo = {}
    }
};


local l_Parent_0 = script.Parent.Parent;
local l_Parent_1 = l_Parent_0.Parent;
local v2 = require(l_Parent_1.SocialLuaAnalytics);
local l_AnalyticsFactory_0 = v2.Analytics.AnalyticsFactory;
local l_DefaultAnalyticsService_0 = v2.Analytics.DefaultAnalyticsService;
local v5 = require(script.Parent.EventStreamActionList);
local v6 = require(script.Parent.DiagActionList);
local v7 = require(l_Parent_1.Cryo);
local v8 = require(l_Parent_1.React);
local v9 = require(script.Parent.RoactChatAnalyticsContext);
local v10 = require(script.Parent.Logger);
local l_ChatEntryPointNames_0 = require(l_Parent_1.SocialCommon).Enums.ChatEntryPointNames;
local v12 = require(l_Parent_0.Flags.isAppChatChannelsAPIEnabled);
return function(v13)
    local v14 = {};
    local l_entryPoint_0 = v13.entryPoint;
    if not (l_entryPoint_0 and l_ChatEntryPointNames_0[l_entryPoint_0]) then
        v10:warning("entryPoint=" .. tostring(l_entryPoint_0) .. " is not a reigstered value.");
        l_entryPoint_0 = l_ChatEntryPointNames_0.Unknown;
    end;
    return v8.createElement(v9.Provider, {
        value = l_AnalyticsFactory_0.setUpAnalyticsFactory({
            eventLists = {
                EventStream = v5,
                Diag = v6
            },
            analyticsImpl = {
                EventStream = l_DefaultAnalyticsService_0.EventStream,
                Diag = l_DefaultAnalyticsService_0.Diag
            },
            staticInfoForAllEvents = v7.Dictionary.join(v7.Dictionary.join(v14, {
                entryPoint = l_entryPoint_0
            }), {
                channelsApiEnabled = v12()
            })
        })()
    }, v13.children);
end;


return {
    EventNames = require(script.EventNames),
    RoactChatAnalyticsProvider = require(script.RoactChatAnalyticsProvider),
    useAnalytics = require(script.useAnalytics),
    RoactChatAnalyticsContext = require(script.RoactChatAnalyticsContext),
    Enums = require(script.Enums)
};


local v0 = require(script.Parent.Parent.Parent.React);
local v1 = require(script.Parent.RoactChatAnalyticsContext);
return function()
    return v0.useContext(v1);
end;


local l_Parent_0 = script:FindFirstAncestor("AppChat").Parent;
return (require(l_Parent_0.Rodux).combineReducers({
    ChatAppReducer = require(script.Parent.Parent.installReducer)(),
    Users = require(l_Parent_0.UserLib).Reducers.UserReducer
}));


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local v1 = require(l_script_FirstAncestor_0.Parent.React);
local l_setDisplaying_0 = require(l_script_FirstAncestor_0.App.RemoteDisplaying).setDisplaying;
return function(v3)
    return v1.createElement("TextButton", {
        Size = UDim2.fromOffset(50, 50),
        Position = UDim2.new(0, 10, 1, -60),
        Text = "appchat",
        ZIndex = 2,
        [v1.Event.Activated] = function()
            l_setDisplaying_0(not v3.displaying);
        end
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_script_FirstAncestor_0.App.RemoteDisplaying);
local l_useExternalEvent_0 = require(l_Parent_0.RoactUtils).Hooks.useExternalEvent;
local l_useState_0 = v2.useState;
return function(v6)
    local v7, v8 = l_useState_0(v6 or false);
    l_useExternalEvent_0(v3.BindableEvent.Event, function(v9)
        v8(v9);
    end);
    return v7;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local l_LocalizationService_0 = game:GetService("LocalizationService");
local l_LocalizationProvider_0 = require(l_Parent_0.Localization).LocalizationProvider;
local l_Localization_0 = require(l_Parent_0.RobloxAppLocales).Localization;
local l_ApolloProvider_0 = require(l_Parent_0.ApolloClient).ApolloProvider;
local _ = require(l_CorePackages_0.Packages.ApolloClient);
local v8 = require(l_Parent_0.React);
local v9 = require(l_Parent_0.RoactRodux);
local v10 = require(l_Parent_0.Rodux);
local v11 = require(l_Parent_0.UIBlox);
local l_Constants_0 = v11.App.Style.Constants;
local l_AppFeaturePolicies_0 = require(l_CorePackages_0.Workspace.Packages.UniversalAppPolicy).AppFeaturePolicies;
local l_ChatPolicies_0 = require(l_CorePackages_0.Workspace.Packages.SocialPolicies).ChatPolicies;
local l_RoactAppPolicy_0 = require(l_Parent_0.UniversalAppPolicy).RoactAppPolicy;
local v16 = require(l_script_FirstAncestor_0.Actions.SetAppLoaded);
local v17 = require(script.Parent.AppChatReducer);
local v18 = require(l_script_FirstAncestor_0.App.InExperienceAppChatContainer);
InExperienceAppChat = function(v19)
    local v20 = v10.Store.new(v17, nil, {
        v10.thunkMiddleware
    });
    local v21 = v8.createElement(v9.StoreProvider, {
        store = v20
    }, {
        v8.createElement(l_RoactAppPolicy_0.Provider, {
            policy = {
                l_AppFeaturePolicies_0,
                l_ChatPolicies_0
            }
        }, v8.createElement(l_ApolloProvider_0, {
            client = v19.apolloClient
        }, {
            v8.createElement(l_LocalizationProvider_0, {
                localization = l_Localization_0.new(l_LocalizationService_0.RobloxLocaleId)
            }, {
                v8.createElement(v11.App.Style.AppStyleProvider, {
                    style = {
                        themeName = l_Constants_0.ThemeName.Dark,
                        fontName = l_Constants_0.FontName.Gotham
                    }
                }, {
                    InExperienceAppChatContainer = v8.createElement(v18, {})
                })
            })
        }))
    });
    v20:dispatch(v16(true));
    return v21;
end;
return InExperienceAppChat;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.AppCommonLib);
local v3 = require(l_Parent_0.React);
local v4 = require(l_Parent_0.RealtimeDelivery);
local v5 = require(l_Parent_0.SharedFlags);
local v6 = require(l_script_FirstAncestor_0.AppChatEntryPoint);
local v7 = require(l_script_FirstAncestor_0.App.Components.DevToggleButton);
local v8 = require(l_script_FirstAncestor_0.App.Hooks.useDisplaying);
local v9 = require(l_script_FirstAncestor_0.Components.EventReceivers.ChatEventReceiver);
local l_NotificationService_0 = game:GetService("NotificationService");
local l_Players_0 = game:GetService("Players");
local l_GetFFlagDebugEnableAppChatInExperienceToggleButton_0 = v5.GetFFlagDebugEnableAppChatInExperienceToggleButton;
local l_LocalPlayer_0 = l_Players_0.LocalPlayer;
local l_RobloxEventReceiver_0 = v4.RobloxEventReceiver;
local l_Signal_0 = v2.Signal;
local l_useMemo_0 = v3.useMemo;
local l_useState_0 = v3.useState;
return function()
    local v18 = v8();
    local v19, v20 = l_useState_0(0);
    return v3.createElement(v3.Fragment, {}, {
        AppChatEntryPoint = if not v18 then nil else v3.createElement(v6, {
            setActiveConversationId = v20,
            localUserId = if not l_LocalPlayer_0 then nil else l_LocalPlayer_0.UserId,
            isVisible = true,
            wideMode = true
        }),
        DevToggleButton = if not l_GetFFlagDebugEnableAppChatInExperienceToggleButton_0() then nil else v3.createElement(v7, {
            displaying = v18
        }),
        ChatEventReceiver = v3.createElement(v9, {
            robloxEventReceiver = l_useMemo_0(function()
                return l_RobloxEventReceiver_0.new(l_NotificationService_0);
            end, {}),
            rnBypassActionSignal = l_useMemo_0(function()
                return l_Signal_0.new();
            end, {}),
            activeConversationId = tostring(v19)
        })
    });
end;


local l_BindableEvent_0 = Instance.new("BindableEvent");
return {
    BindableEvent = l_BindableEvent_0,
    setDisplaying = function(v1)
        l_BindableEvent_0:Fire(v1);
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.AppBlox);
local v3 = require(l_Parent_0.AppCommonLib);
local v4 = require(l_Parent_0.AppTabBarRodux);
local v5 = require(l_Parent_0.Cryo);
local v6 = require(l_Parent_0.React);
local v7 = require(l_Parent_0.RoactServiceTags);
local v8 = require(l_Parent_0.RoactUtils);
local v9 = require(l_Parent_0.RobloxAppHooks);
local v10 = require(l_Parent_0.SocialCommon);
local v11 = require(l_Parent_0.UIBlox);
local v12 = require(l_Parent_0.UniversalAppPolicy);
local l_AppNotificationService_0 = v7.AppNotificationService;
local l_FullscreenPageWithSafeArea_0 = v2.FullscreenPageWithSafeArea;
local l_SetTabBarVisibleFromChat_0 = v4.Thunks.SetTabBarVisibleFromChat;
local l_Signal_0 = v3.Signal;
local l_dependencyArray_0 = v8.Hooks.dependencyArray;
local l_useAppPolicy_0 = v12.useAppPolicy;
local l_useCallback_0 = v6.useCallback;
local l_useDispatch_0 = v8.Hooks.RoactRodux.useDispatch;
local l_useEarlyIsFocused_0 = v8.Hooks.useEarlyIsFocused;
local l_useEffect_0 = v6.useEffect;
local l_useIsWideMode_0 = v10.Hooks.useIsWideMode;
local l_useMemo_0 = v6.useMemo;
local l_useNavigation_0 = v8.Hooks.useNavigation;
local l_useRoactService_0 = v9.useRoactService;
local l_useSelector_0 = v8.Hooks.RoactRodux.useSelector;
local l_useState_0 = v6.useState;
local l_useStyle_0 = v11.Core.Style.useStyle;
local v30 = require(l_script_FirstAncestor_0.AppChatEntryPoint);
local v31 = require(l_script_FirstAncestor_0.Components.EventReceivers.ChatEventReceiver);
local v32 = require(l_script_FirstAncestor_0.Components.ExternalNavigationHandler.Container);
local v33 = require(l_script_FirstAncestor_0.Actions.ToggleChatPaused);
local v34 = require(l_script_FirstAncestor_0.Hooks.useExternalNavigationByScreen);
local v35 = {};
AppChatEntryPointUA = function(v36)
    local v37 = v5.Dictionary.join(v35, v36);
    local v38 = l_useStyle_0();
    local v39 = l_useDispatch_0();
    local v40 = l_useEarlyIsFocused_0();
    local v41 = l_useIsWideMode_0();
    local v42 = l_useNavigation_0();
    local v44 = l_useAppPolicy_0(function(v43)
        return {
            shouldSystemBarUsuallyBePresent = v43.getShouldSystemBarUsuallyBePresent()
        };
    end);
    local v45, v46 = l_useState_0(0);
    local v47, v48 = v34();
    local v49 = l_useRoactService_0(l_AppNotificationService_0);
    local v50 = l_useMemo_0(function()
        return l_Signal_0.new();
    end);
    local v51 = l_useMemo_0(function()
        return v37.RobloxEventReceiver.new(v49);
    end);
    local v53 = l_useCallback_0(function(v52)
        v39(l_SetTabBarVisibleFromChat_0(v52 or v44.shouldSystemBarUsuallyBePresent));
    end, l_dependencyArray_0(v39, v44.shouldSystemBarUsuallyBePresent));
    local v54 = l_useMemo_0(function()
        return {};
    end);
    local v56 = l_useSelector_0(function(v55)
        return v55.NotificationBadgeCounts.TopBarNotificationIcon;
    end);
    l_useEffect_0(function()
        v39(v33(not v40));
    end, l_dependencyArray_0(v40, v39));
    return v6.createElement(v6.Fragment, {}, {
        FullscreenPageWithSafeArea = v6.createElement(l_FullscreenPageWithSafeArea_0, {
            BackgroundColor3 = v38.Theme.BackgroundDefault.Color,
            BackgroundTransparency = v38.Theme.BackgroundDefault.Transparency,
            includeStatusBar = true
        }, {
            AppChatEntryPoint = v6.createElement(v30, {
                setActiveConversationId = v46,
                updateExternalNavigationForScreen = v48,
                navigateToLuaAppPages = v54,
                rnBypassActionSignal = v50,
                notificationCount = v56,
                setTabBarVisible = v53,
                isVisible = v40,
                wideMode = v41,
                navigation = v42
            })
        }),
        ExternalNavigationHandler = v6.createElement(v32, {
            navigationByScreen = v47
        }),
        ChatEventReceiver = v6.createElement(v31, {
            robloxEventReceiver = v51,
            rnBypassActionSignal = v50,
            activeConversationId = tostring(v45)
        })
    });
end;
return AppChatEntryPointUA;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.Logger);
require(l_Parent_0.UIBlox).init({});
local l_StoryMiddleware_0 = require(l_script_FirstAncestor_0.SocialLibraries).StoryMiddleware;
local v4 = require(l_Parent_0.Roact);
local v5 = require(l_Parent_0.Cryo);
local v6 = require(l_script_FirstAncestor_0.Tests.mockApolloProvider);
local l_Logger_0 = require(l_Parent_0.Loggers).Logger;
l_Logger_0:addSink({
    maxLevel = l_Logger_0.Levels.fromString("trace"),
    log = function(_, v9, _)
        print(v9);
    end
});
v2:setParent(l_Logger_0);
return {
    roact = v4,
    mapStory = function(v11)
        local v12 = l_StoryMiddleware_0(v11);
        return function(v13)
            return v6(v12(v5.Dictionary.join((not not v13 and v13.definition) and v13.definition.props or {}, v13)));
        end;
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.Cryo);
local v3 = require(l_Parent_0.React);
local l_useState_0 = v3.useState;
local l_dependencyArray_0 = require(l_Parent_0.RoactUtils).Hooks.dependencyArray;
local l_memo_0 = v3.memo;
local l_useMemo_0 = v3.useMemo;
local v8 = game:DefineFastFlag("OptimizeChatBaseCell", false);
local v9 = require(l_Parent_0.UIBlox);
local l_ControlState_0 = v9.Core.Control.Enum.ControlState;
local v11 = if not v8 then v9.Core.Control.Interactable else l_memo_0(v9.Core.Control.Interactable);
local _ = require(l_script_FirstAncestor_0.types);
local l_FFlagUIBloxUseNewInteractable_0 = require(l_Parent_0.SharedFlags).UIBlox.FFlagUIBloxUseNewInteractable;
local v14 = {
    Size = UDim2.new(1, 0, 0, 48),
    BackgroundColor3 = Color3.fromRGB(255, 255, 255),
    onPressedBackgroundColor3 = Color3.fromRGB(242, 242, 242),
    onPressedBackgroundTransparency = 1,
    LayoutOrder = 0,
    isDisabled = false,
    onActivated = function()
        print("BaseCell onActivated");
    end,
    showDivider = true,
    dividerTransparency = 0,
    dividerColor3 = Color3.fromRGB(227, 227, 227),
    avatarCircleCellWidth = 60
};
return l_memo_0(function(v15)
    local v16 = v2.Dictionary.join(v14, v15);
    local v17, v18 = l_useState_0(l_ControlState_0.Initialize);
    local v19 = {};
    local v22 = v3.useCallback(function(_, v21)
        v18(v21);
    end, {});
    if not (not (v17 == l_ControlState_0.Pressed) or v8) then
        v19.overlay = v3.createElement("ImageLabel", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = v16.onPressedBackgroundTransparency,
            BackgroundColor3 = v16.onPressedBackground3,
            BorderSizePixel = 0
        });
    end;
    local v23 = if not v8 then nil else l_useMemo_0(function()
        if v17 == l_ControlState_0.Pressed then
            return (v3.createElement("ImageLabel", {
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = v16.onPressedBackgroundTransparency,
                BackgroundColor3 = v16.onPressedBackground3,
                BorderSizePixel = 0
            }));
        else
            return nil;
        end;
    end, l_dependencyArray_0(v17, v16.onPressedBackground3, v16.onPressedBackgroundTransparency));
    if not (not v16.showDivider or v8) then
        v19.divider = v3.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1
        }, {
            layout = v3.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Bottom,
                HorizontalAlignment = Enum.HorizontalAlignment.Right
            }),
            divider = v3.createElement("Frame", {
                BackgroundTransparency = v16.dividerTransparency,
                BackgroundColor3 = v16.dividerColor3,
                BorderSizePixel = 0,
                Size = UDim2.new(1, -v16.avatarCircleCellWidth, 0, 1)
            })
        });
    end;
    local v24 = if not v8 then nil else l_useMemo_0(function()
        if not v16.showDivider then
            return nil;
        else
            return (v3.createElement("Frame", {
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1
            }, {
                layout = v3.createElement("UIListLayout", {
                    VerticalAlignment = Enum.VerticalAlignment.Bottom,
                    HorizontalAlignment = Enum.HorizontalAlignment.Right
                }),
                divider = v3.createElement("Frame", {
                    BackgroundTransparency = v16.dividerTransparency,
                    BackgroundColor3 = v16.dividerColor3,
                    BorderSizePixel = 0,
                    Size = UDim2.new(1, -v16.avatarCircleCellWidth, 0, 1)
                })
            }));
        end;
    end, l_dependencyArray_0(v16.showDivider, v16.dividerTransparency, v16.dividerColor3, v16.avatarCircleCellWidth));
    return v3.createElement(v11, {
        onStateChanged = not l_FFlagUIBloxUseNewInteractable_0 and function(_, v26)
            v18(v26);
        end or v22,
        isDisabled = v16.isDisabled,
        [v3.Event.Activated] = v16.onActivated,
        AutoButtonColor = false,
        Size = v16.Size,
        BackgroundColor3 = v16.BackgroundColor3,
        LayoutOrder = v16.LayoutOrder,
        BorderSizePixel = 0
    }, if not v8 then v2.Dictionary.join(v19, v16.children or {}) else l_useMemo_0(function()
        return v2.Dictionary.join(v16.children or {}, {
            overlay = v23,
            divider = v24
        });
    end, l_dependencyArray_0(v16.children, v23, v24)));
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.Cryo);
local v3 = require(l_Parent_0.React);
local l_Images_0 = require(l_Parent_0.UIBlox).App.ImageSet.Images;
local l_dependencyArray_0 = require(l_Parent_0.RoactUtils).Hooks.dependencyArray;
local v6 = require(l_script_FirstAncestor_0.SocialLibraries);
local l_TestStyle_0 = v6.Components.TestStyle;
local l_getConversationDisplayTitle_0 = v6.Conversation.getConversationDisplayTitle;
local v9 = require(l_script_FirstAncestor_0.Hooks.useIsUserPending);
local v10 = require(l_script_FirstAncestor_0.Flags.getFFlagEnableUnfilteredThreadsUI);
local v11 = require(script.Parent.PresenceBubbleCellStyled);
local v12 = {
    chatIsUnfilteredKey = "Feature.Chat.Message.ChatIsUnfiltered",
    boldTitle = true,
    childWidth = 0,
    isLoading = false,
    Size = UDim2.new(1, 0, 1, 0),
    hideLeftPadding = false,
    style = l_TestStyle_0
};
return v3.memo(function(v13)
    local v14 = v2.Dictionary.join(v12, v13);
    local l_conversation_0 = v14.conversation;
    local v16 = (v10() and l_conversation_0) and v9(l_conversation_0);
    local v17 = v3.useCallback(function()
        if v14.onActivated then
            v14.onActivated(v14.conversation);
        end;
    end, l_dependencyArray_0(v14.onActivated));
    local v18 = l_getConversationDisplayTitle_0(l_conversation_0);
    local v19 = if not v14.subTitleText then nil else v14.subTitleText:split("\n");
    local v20 = not not v19 and v19[1] or "";
    local v21 = {
        subTitleText = "Upgraded conversation"
    };
    if v16 then
        v20 = v21.subTitleText;
    end;
    return v3.createElement(v11, {
        boldTitle = v14.boldTitle,
        style = v14.style,
        childWidth = v14.childWidth,
        onActivated = v17,
        onCircleActivated = v14.onCircleActivated,
        subTitleText = v20,
        subTitleIcon = if not v16 then nil else l_Images_0["icons/status/private_small"],
        secondaryTitleText = v14.secondaryTitleText,
        Size = v14.Size,
        isLoading = v14.isLoading,
        avatarCirclePresenceImage = l_conversation_0.presenceImage,
        titleText = v18,
        thumbnails = l_conversation_0.thumbnails,
        hideLeftPadding = v14.hideLeftPadding
    }, v14.children or {});
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.Cryo);
local _ = require(l_Parent_0.UIBlox);
local v5 = require(l_script_FirstAncestor_0.SocialLibraries);
local v6 = require(script.Parent.PresenceBubbleCell);
local v7 = {
    Size = UDim2.new(1, 0, 1, 0),
    avatarCirclePresenceImage = nil,
    subTitleText = nil,
    subTitleIcon = nil,
    titleText = "TestUser",
    secondaryTitleText = nil,
    thumbnails = {},
    childWidth = 0,
    style = v5.Components.TestStyle,
    showDivider = true,
    boldTitle = true,
    muteTitleColor = false,
    isLoading = false,
    hideLeftPadding = false
};
return v2.memo(function(v8)
    local v9 = v3.Dictionary.join(v7, v8);
    local l_style_0 = v9.style;
    local l_Theme_0 = l_style_0.Theme;
    local l_Font_0 = l_style_0.Font;
    local l_FontSize_100_0 = l_style_0.Tokens.Global.FontSize_100;
    local l_FontSize_150_0 = l_style_0.Tokens.Global.FontSize_150;
    local v15 = type(v9.avatarCirclePresenceImage) == "table";
    return v2.createElement(v6, {
        childWidth = v9.childWidth,
        titleText = v9.titleText,
        secondaryTitleText = v9.secondaryTitleText,
        subTitleText = v9.subTitleText,
        subTitleIcon = v9.subTitleIcon,
        avatarCirclePresenceImage = v9.avatarCirclePresenceImage,
        thumbnails = v9.thumbnails,
        onActivated = v9.onActivated,
        onCircleActivated = v9.onCircleActivated,
        Size = v9.Size,
        isLoading = v9.isLoading,
        showNewPresenceImage = v15,
        pillText = v9.pillText,
        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,
        avatarCircleCellWidth = 72,
        avatarCircleSize = 48,
        avatarCirclePresenceImageColor3 = if not v15 then nil else l_Theme_0.OnlineStatus.Color,
        avatarCirclePresenceImageTransparency = if not v15 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_FontSize_150_0,
        titleFont = l_Font_0.Header2.Font,
        titleTextTransparency = if not v9.muteTitleColor and v9.boldTitle then l_Theme_0.TextEmphasis.Transparency else l_Theme_0.TextDefault.Transparency,
        titleTextColor3 = if not v9.muteTitleColor and v9.boldTitle then l_Theme_0.TextEmphasis.Color else l_Theme_0.TextDefault.Color,
        titleTextSize = l_FontSize_100_0,
        secondaryTitleFont = l_Font_0.Header2.Font,
        secondaryTitleTextTransparency = l_Theme_0.TextMuted.Transparency,
        secondaryTitleTextColor3 = l_Theme_0.TextMuted.Color,
        secondaryTitleTextSize = l_FontSize_100_0,
        showDivider = v9.showDivider,
        dividerTransparency = l_Theme_0.Divider.Transparency,
        dividerColor3 = l_Theme_0.Divider.Color,
        hideLeftPadding = v9.hideLeftPadding
    }, v9.children or {});
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.Cryo);
local v3 = require(l_Parent_0.React);
local l_memo_0 = v3.memo;
local l_ImageSetLabel_0 = require(l_Parent_0.UIBlox).Core.ImageSet.ImageSetLabel;
local v6 = require(script.Parent.BaseCell);
local l_TestStyle_0 = require(l_script_FirstAncestor_0.SocialLibraries).Components.TestStyle;
local v8 = require(l_script_FirstAncestor_0.Flags.getFFlagEnableUnfilteredThreadsUI);
local _ = require(l_script_FirstAncestor_0.types);
local v10 = {
    Text = "titleText",
    primaryIconSize = 32,
    isDisabled = false,
    Size = UDim2.new(1, 0, 1, 0),
    onActivated = function()
        print("IconWithTextCell onActivated");
    end,
    secondaryIcon = "",
    secondaryIconSize = 24,
    iconCellWidth = 60,
    LayoutOrder = 0,
    style = l_TestStyle_0,
    showDivider = true
};
return l_memo_0(function(v11)
    local v12 = v2.Dictionary.join(v10, v11);
    local l_style_0 = v12.style;
    local l_Theme_0 = l_style_0.Theme;
    local l_Font_0 = l_style_0.Font;
    local v16 = not not v8() and v12.primaryIcon == nil;
    return v3.createElement(v6, {
        Size = v12.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 = v12.LayoutOrder,
        onActivated = v12.onActivated,
        showDivider = v12.showDivider,
        dividerColor3 = l_Theme_0.Divider.Color,
        dividerTransparency = l_Theme_0.Divider.Transparency,
        isDisabled = v12.isDisabled,
        avatarCircleCellWidth = v12.iconCellWidth
    }, {
        leftFrame = v3.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0.5),
            Position = UDim2.fromScale(0, 0.5),
            Size = UDim2.new(1, -v12.iconCellWidth, 1, 0),
            BackgroundTransparency = 1,
            LayoutOrder = 1
        }, {
            leftListLayout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            imageFrame = if v16 then nil else v3.createElement("Frame", {
                Size = UDim2.new(0, v12.iconCellWidth, 0, v12.primaryIconSize),
                BackgroundTransparency = 1,
                LayoutOrder = 1
            }, {
                primaryIcon = v3.createElement(l_ImageSetLabel_0, {
                    Position = UDim2.fromScale(0.5, 0.5),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Image = v12.primaryIcon,
                    BorderSizePixel = 0,
                    Size = UDim2.new(0, v12.primaryIconSize, 0, v12.primaryIconSize),
                    ImageColor3 = l_Theme_0.IconEmphasis.Color,
                    BackgroundTransparency = 1
                })
            }),
            text = v3.createElement("TextLabel", {
                Size = UDim2.new(1, if not v16 then -v12.iconCellWidth else 0, 1, 0),
                Text = v12.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 = v3.createElement("Frame", {
            AnchorPoint = Vector2.new(1, 0.5),
            Position = UDim2.fromScale(1, 0.5),
            Size = UDim2.fromOffset(v12.iconCellWidth, v12.iconCellWidth),
            BackgroundTransparency = 1,
            LayoutOrder = 1
        }, {
            secondaryIcon = v12.secondaryIcon and v3.createElement("ImageLabel", {
                Position = UDim2.fromScale(0.5, 0.5),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = v12.secondaryIcon,
                BackgroundTransparency = 1,
                Size = UDim2.fromOffset(v12.secondaryIconSize, v12.secondaryIconSize)
            })
        })
    });
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.Cryo);
local l_Text_0 = require(l_Parent_0.AppCommonLib).Text;
local v5 = require(l_Parent_0.UIBlox);
local l_ImageSetLabel_0 = v5.Core.ImageSet.ImageSetLabel;
local l_Pillv2_0 = v5.App.Control.Pillv2;
local l_ShimmerPanel_0 = v5.App.Loading.ShimmerPanel;
local v9 = require(script.Parent.BaseCell);
local l_AvatarCircle_0 = require(l_script_FirstAncestor_0.SocialLibraries).Components.AvatarCircle;
local v11 = require(l_script_FirstAncestor_0.Flags.getFFlagEnableUnfilteredThreadsUI);
local v12 = {
    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 = Enum.Font.Gotham,
    subTitleTextTransparency = 0,
    subTitleTextColor3 = Color3.new(0.1, 0.1, 0.1),
    subTitleTextSize = 15,
    subTitlePadding = 2,
    subTitleIconColor3 = Color3.new(0.1, 0.1, 0.1),
    subTitleIconTransparency = 0,
    titleText = "titleText",
    titleFont = Enum.Font.Gotham,
    titleTextTransparency = 0,
    titleTextColor3 = Color3.new(0, 0, 0),
    titleTextSize = 20,
    secondaryTitleText = nil,
    secondaryTitleFont = Enum.Font.Gotham,
    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,
    hideLeftPadding = false
};
return v2.memo(function(v13)
    local v14 = v3.Dictionary.join(v12, v13);
    local v15, v16 = v2.useState(0);
    local l_subTitleTextSize_0 = v14.subTitleTextSize;
    local v18 = l_Text_0.GetTextWidth(v14.titleText, v14.titleFont, v14.titleTextSize);
    return v2.createElement(v9, {
        Size = v14.Size,
        BackgroundTransparency = v14.BackgroundTransparency,
        BackgroundColor3 = v14.BackgroundColor3,
        dividerColor3 = v14.dividerColor3,
        dividerTransparency = v14.dividerTransparency,
        avatarCircleCellWidth = v14.avatarCircleCellWidth,
        onPressedBackgroundColor3 = v14.onPressedBackgroundColor3,
        onPressedBackgroundTransparency = v14.onPressedBackgroundTransparency,
        BorderSizePixel = 0,
        AutoButtonColor = false,
        LayoutOrder = v14.LayoutOrder,
        onActivated = v14.onActivated,
        showDivider = v14.showDivider
    }, {
        leftAlign = v2.createElement("Frame", {
            Size = UDim2.new(1, -v14.childWidth, 1, 0),
            BackgroundTransparency = 1
        }, {
            layout = v2.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Center,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            circleHolder = v2.createElement("Frame", {
                Size = UDim2.new(0, v14.avatarCircleCellWidth, 1, 0),
                BackgroundTransparency = 1,
                LayoutOrder = 0
            }, {
                layout = v2.createElement("UIListLayout", {
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    HorizontalAlignment = if not v14.hideLeftPadding then Enum.HorizontalAlignment.Center else Enum.HorizontalAlignment.Left
                }),
                circleSizeContainer = not v14.isLoading and v2.createElement("Frame", {
                    Size = UDim2.new(0, v14.avatarCircleSize, 0, v14.avatarCircleSize),
                    BackgroundTransparency = 1
                }, {
                    avatarCircle = v2.createElement(l_AvatarCircle_0, {
                        circleColor3 = v14.BackgroundColor3,
                        circleTransparency = v14.BackgroundTransparency,
                        circleInteriorBackgroundColor3 = v14.avatarCircleBackgroundColor3,
                        circleDividerColor3 = v14.avatarCircleDividerColor3,
                        circleDividerTransparency = v14.avatarCircleDividerTransparency,
                        thumbnails = v14.thumbnails,
                        presenceImage = v14.avatarCirclePresenceImage,
                        presenceImageColor3 = v14.avatarCirclePresenceImageColor3,
                        presenceImageTransparency = v14.avatarCirclePresenceImageTransparency,
                        showNewPresenceImage = v14.showNewPresenceImage,
                        onActivated = v14.onCircleActivated or v14.onActivated
                    })
                }) or v2.createElement(l_ShimmerPanel_0, {
                    Size = UDim2.new(0, v14.avatarCircleSize, 0, v14.avatarCircleSize),
                    cornerRadius = UDim.new(1, 0)
                })
            }),
            conversationInfo = v2.createElement("Frame", {
                Size = UDim2.new(1, -v14.avatarCircleCellWidth, 1, 0),
                BackgroundTransparency = 1,
                LayoutOrder = 1
            }, {
                layout = v2.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 v14.isLoading and v2.createElement("Frame", {
                    BackgroundTransparency = 1,
                    Size = UDim2.new(1, 0, 0, v14.titleTextSize),
                    LayoutOrder = 1,
                    [v2.Change.AbsoluteSize] = function(v19)
                        v16(v19.AbsoluteSize.X);
                    end
                }, {
                    layout = v2.createElement("UIListLayout", {
                        VerticalAlignment = Enum.VerticalAlignment.Bottom,
                        HorizontalAlignment = Enum.HorizontalAlignment.Left,
                        FillDirection = Enum.FillDirection.Horizontal,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        Padding = UDim.new(0, 4)
                    }),
                    title = v2.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Size = UDim2.new(0, math.min(v18, v15), 0, v14.titleTextSize),
                        TextSize = v14.titleTextSize,
                        TextColor3 = v14.titleTextColor3,
                        TextTransparency = v14.titleTextTransparency,
                        Font = v14.titleFont,
                        Text = v14.titleText or "",
                        TextTruncate = Enum.TextTruncate.AtEnd,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        LayoutOrder = 1
                    }),
                    secondaryTitle = v2.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Size = UDim2.new(0, math.max((v15 - v18) - 4, 0), 0, v14.secondaryTitleTextSize),
                        TextSize = v14.secondaryTitleTextSize,
                        TextColor3 = v14.secondaryTitleTextColor3,
                        TextTransparency = v14.secondaryTitleTextTransparency,
                        Font = v14.secondaryTitleFont,
                        Text = v14.secondaryTitleText or "",
                        TextTruncate = Enum.TextTruncate.AtEnd,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        LayoutOrder = 2
                    })
                }) or v2.createElement(l_ShimmerPanel_0, {
                    Size = UDim2.new(1, 0, 0, v14.titleTextSize),
                    cornerRadius = UDim.new(0, 4),
                    LayoutOrder = 1
                }),
                userPresenceLabelWithIcon = if not not v11() and v14.subTitleText then v2.createElement("Frame", {
                    BackgroundTransparency = 1,
                    Size = UDim2.new(1, 0, 0, l_subTitleTextSize_0),
                    LayoutOrder = 2
                }, {
                    layout = v2.createElement("UIListLayout", {
                        VerticalAlignment = Enum.VerticalAlignment.Center,
                        HorizontalAlignment = Enum.HorizontalAlignment.Left,
                        FillDirection = Enum.FillDirection.Horizontal,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        Padding = UDim.new(0, v14.subTitlePadding)
                    }),
                    subTitleIcon = if not v14.subTitleIcon or v14.isLoading then nil else v2.createElement(l_ImageSetLabel_0, {
                        Size = UDim2.new(0, l_subTitleTextSize_0, 0, l_subTitleTextSize_0),
                        BackgroundTransparency = 1,
                        Image = v14.subTitleIcon,
                        ImageColor3 = v14.subTitleIconColor3,
                        ImageTransparency = v14.subTitleIconTransparency,
                        LayoutOrder = 1
                    }),
                    userPresenceLabel = if not v14.isLoading then v2.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        TextSize = v14.subTitleTextSize + 1,
                        TextColor3 = v14.subTitleTextColor3,
                        TextTransparency = v14.subTitleTextTransparency,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        Text = v14.subTitleText,
                        TextTruncate = Enum.TextTruncate.AtEnd,
                        Font = v14.subTitleTextFont,
                        Size = UDim2.new(1, not v14.subTitleIcon and 0 or -l_subTitleTextSize_0 - v14.subTitlePadding, 0, v14.subTitleTextSize),
                        LayoutOrder = 2
                    }) else v2.createElement(l_ShimmerPanel_0, {
                        Size = UDim2.new(0.6, 0, 0, v14.subTitleTextSize),
                        cornerRadius = UDim.new(0, 4),
                        LayoutOrder = 2
                    })
                }) else nil,
                userPresenceLabel = (not (v11() or v14.isLoading) and v14.subTitleText) and v2.createElement("TextLabel", {
                    BackgroundTransparency = 1,
                    TextSize = v14.subTitleTextSize,
                    TextColor3 = v14.subTitleTextColor3,
                    TextTransparency = v14.subTitleTextTransparency,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    Text = v14.subTitleText,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    Font = v14.subTitleTextFont,
                    Size = UDim2.new(1, 0, 0, v14.subTitleTextSize),
                    LayoutOrder = 2
                }) or (not v11() and v14.subTitleText) and v2.createElement(l_ShimmerPanel_0, {
                    Size = UDim2.new(0.6, 0, 0, v14.subTitleTextSize),
                    cornerRadius = UDim.new(0, 4),
                    LayoutOrder = 2
                }),
                pill = if not not v11() and v14.pillText then v2.createElement(l_Pillv2_0, {
                    layoutOrder = 3,
                    text = v14.pillText,
                    isDisabled = true
                }) else nil
            })
        }),
        rightAlign = v2.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1
        }, v3.Dictionary.join({
            layout = v2.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Center,
                HorizontalAlignment = Enum.HorizontalAlignment.Right,
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder
            })
        }, (v3.Dictionary.join({
            layout = v2.createElement("UIListLayout", {
                VerticalAlignment = Enum.VerticalAlignment.Center,
                HorizontalAlignment = Enum.HorizontalAlignment.Right,
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder
            })
        }, v14.children or {}))))
    });
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.Cryo);
local _ = require(l_Parent_0.UIBlox);
local v5 = require(l_script_FirstAncestor_0.SocialLibraries);
local v6 = require(script.Parent.PresenceBubbleCell);
local v7 = {
    Size = UDim2.new(1, 0, 1, 0),
    avatarCirclePresenceImage = nil,
    subTitleText = nil,
    subTitleIcon = nil,
    titleText = "TestUser",
    secondaryTitleText = nil,
    thumbnails = {},
    childWidth = 0,
    style = v5.Components.TestStyle,
    showDivider = true,
    boldTitle = true,
    isLoading = false,
    hideLeftPadding = false
};
return v2.memo(function(v8)
    local v9 = v3.Dictionary.join(v7, v8);
    local l_style_0 = v9.style;
    local l_Theme_0 = l_style_0.Theme;
    local l_Font_0 = l_style_0.Font;
    local v13 = type(v9.avatarCirclePresenceImage) == "table";
    return v2.createElement(v6, {
        childWidth = v9.childWidth,
        titleText = v9.titleText,
        secondaryTitleText = v9.secondaryTitleText,
        subTitleText = v9.subTitleText,
        subTitleIcon = v9.subTitleIcon,
        avatarCirclePresenceImage = v9.avatarCirclePresenceImage,
        thumbnails = v9.thumbnails,
        onActivated = v9.onActivated,
        onCircleActivated = v9.onCircleActivated,
        Size = v9.Size,
        isLoading = v9.isLoading,
        showNewPresenceImage = v13,
        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 v13 then nil else l_Theme_0.OnlineStatus.Color,
        avatarCirclePresenceImageTransparency = if not v13 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,
        subTitleIconColor3 = l_style_0.Theme.IconDefault.Color,
        subTitleIconTransparency = l_style_0.Theme.IconDefault.Transparency,
        titleFont = l_Font_0.Header2.Font,
        titleTextTransparency = not not v9.boldTitle and l_Theme_0.TextEmphasis.Transparency or l_Theme_0.TextDefault.Transparency,
        titleTextColor3 = not not v9.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 = v9.showDivider,
        dividerTransparency = l_Theme_0.Divider.Transparency,
        dividerColor3 = l_Theme_0.Divider.Color,
        avatarCircleCellWidth = if not v9.hideLeftPadding then nil else 48,
        hideLeftPadding = v9.hideLeftPadding
    }, v9.children or {});
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local _ = require(l_Parent_0.UIBlox);
local v4 = require(l_Parent_0.Cryo);
local v5 = require(script.Parent.PresenceBubbleCellStyled);
local v6 = require(script.Parent.ExpandedUserCellStyled);
local l_TestStyle_0 = require(l_script_FirstAncestor_0.SocialLibraries).Components.TestStyle;
local v8 = require(l_script_FirstAncestor_0.Flags.getFFlagEnableUnfilteredThreadsUI);
local v9 = {
    subTitleText = "subTitleText",
    user = {},
    childWidth = 0,
    style = l_TestStyle_0,
    shouldUseExpandedCell = false,
    showDivider = true,
    boldTitle = true
};
return v2.memo(function(v10)
    local v11 = v4.Dictionary.join(v9, v10);
    local v12 = v2.useCallback(function()
        if v11.onActivated then
            v11.onActivated(v11.user);
        end;
    end);
    local l_user_0 = v11.user;
    local v14 = ((v8() and v11.shouldUseExpandedCell) and l_user_0.metadata) and l_user_0.metadata.isPending;
    return v2.createElement(if not not v8() and v11.shouldUseExpandedCell then v6 else v5, {
        style = v11.style,
        childWidth = v11.childWidth,
        onActivated = v12,
        onCircleActivated = v11.onCircleActivated,
        subTitleText = v11.subTitleText,
        showDivider = v11.showDivider,
        boldTitle = v11.boldTitle,
        avatarCirclePresenceImage = l_user_0.presenceImage,
        titleText = l_user_0.displayName,
        secondaryTitleText = l_user_0.alias,
        thumbnails = {
            l_user_0.thumbnail
        },
        pillText = if not v14 then nil else "Pending",
        muteTitleColor = v14
    }, v11.children or {});
end);


local l_Parent_0 = script:FindFirstAncestor("AppChat").Parent;
local v1 = require(l_Parent_0.Roact);
local v2 = require(l_Parent_0.UIBlox);
local v3 = require(script.Parent.Header);
local v4 = require(script.Parent.Body);
local v5 = require(script.Parent.FitFrameVertical);
local v6 = v1.PureComponent:extend("AssetCard");
v6.defaultProps = {
    cardTitle = nil,
    cardIcon = nil,
    cardBodyText = nil,
    contentLoadedCallback = nil,
    bodyActivated = function()
        print("Card body was activated");
    end
};
v6.render = function(v7)
    local v8 = v7.props[v1.Children];
    return v2.Style.withStyle(function(_)
        return v1.createElement(v5, {
            BackgroundTransparency = 1,
            width = UDim.new(1, 0),
            Visible = true,
            contentPadding = UDim.new(0, 5),
            LayoutOrder = 2
        }, {
            topSpacing = v1.createElement(v5, {
                BackgroundTransparency = 1,
                width = UDim.new(1, 0),
                contentPadding = UDim.new(0, 12)
            }, {
                header = v1.createElement(v3, {
                    cardTitle = v7.props.cardTitle or nil,
                    isLoading = v7.props.isLoading,
                    LayoutOrder = 1,
                    shouldUseUnfilteredUI = v7.props.shouldUseUnfilteredUI
                }),
                body = v1.createElement(v4, {
                    cardIcon = v7.props.cardIcon,
                    cardBodyText = v7.props.cardBodyText or nil,
                    isLoading = v7.props.isLoading,
                    contentLoadedCallback = v7.props.contentLoadedCallback,
                    LayoutOrder = 2,
                    shouldUseUnfilteredUI = v7.props.shouldUseUnfilteredUI,
                    bodyActivated = v7.props.bodyActivated
                })
            }),
            bottomSpacing = v1.createElement(v5, {
                width = UDim.new(1, 0),
                BackgroundTransparency = 1,
                LayoutOrder = 3
            }, v8)
        });
    end);
end;
return v6;


local l_Parent_0 = script:FindFirstAncestor("AppChat").Parent;
local v1 = require(l_Parent_0.Roact);
local v2 = require(l_Parent_0.UIBlox);
local v3 = v1.PureComponent:extend("AssetCard_Co\207\128tent");
v3.defaultProps = {
    cardIcon = nil,
    cardBodyText = nil,
    bodyActivated = nil,
    contentLoadedCallback = nil
};
v3.init = function(v4)
    v4.iconRef = v1.createRef();
end;
v3.render = function(v5)
    return v2.Style.withStyle(function(v6)
        return v1.createElement("ImageButton", {
            Size = UDim2.new(1, 0, 0, 64),
            BackgroundTransparency = 1,
            [v1.Event.Activated] = v5.props.bodyActivated
        }, {
            layout = v1.createElement("UIListLayout", {
                Padding = UDim.new(0, 12),
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            Icon = v1.createElement(v2.App.Loading.LoadableImage, {
                BackgroundTransparency = 1,
                Size = UDim2.new(0, 64, 0, 64),
                LayoutOrder = 1,
                Image = v5.props.cardIcon,
                useShimmerAnimationWhileLoading = true,
                cornerRadius = UDim.new(0, 4)
            }),
            Details = not v5.props.isLoading and v1.createElement("TextLabel", {
                BackgroundTransparency = 1,
                Size = UDim2.new(1, -76, 0, 64),
                Text = v5.props.cardBodyText,
                TextColor3 = if not v5.props.shouldUseUnfilteredUI then v6.Theme.TextEmphasis.Color else Color3.new(1, 1, 1),
                Font = v6.Font.Body.Font,
                TextSize = 17,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextYAlignment = Enum.TextYAlignment.Top,
                TextWrapped = true,
                LayoutOrder = 2
            }, v5.props[v1.Children]) or v1.createElement(v2.App.Loading.ShimmerPanel, {
                Size = UDim2.new(1, -76, 0, 64),
                cornerRadius = UDim.new(0, 4),
                LayoutOrder = 2
            })
        });
    end);
end;
return v3;


local l_Parent_0 = script:FindFirstAncestor("AppChat").Parent;
local v1 = require(l_Parent_0.Roact);
local l_Immutable_0 = require(l_Parent_0.AppCommonLib).Immutable;
local v3 = v1.PureComponent:extend("FitFrameVertical");
v3.defaultProps = {
    AnchorPoint = Vector2.new(0, 0),
    Position = UDim2.new(0, 0, 0, 0),
    width = UDim.new(0, 0),
    contentPadding = UDim.new(0, 0),
    FillDirection = Enum.FillDirection.Vertical,
    HorizontalAlignment = Enum.HorizontalAlignment.Left,
    VerticalAlignment = Enum.VerticalAlignment.Top,
    marginTop = 0,
    marginBottom = 0,
    marginLeft = 0,
    marginRight = 0
};
v3.init = function(v4)
    v4.layoutRef = v1.createRef();
    v4.frameRef = v1.createRef();
    v4.onResize = function()
        local l_current_0 = v4.layoutRef.current;
        local l_current_1 = v4.frameRef.current;
        if l_current_1 and l_current_0 then
            l_current_1.Size = UDim2.new(v4.props.width, UDim.new(0, (l_current_0.AbsoluteContentSize.Y + v4.props.marginTop) + v4.props.marginBottom));
            return ;
        else
            return ;
        end;
    end;
end;
v3.render = function(v7)
    local l_BackgroundColor3_0 = v7.props.BackgroundColor3;
    local v9 = v7.props[v1.Children] or {};
    local l_width_0 = v7.props.width;
    local l_HorizontalAlignment_0 = v7.props.HorizontalAlignment;
    local l_BackgroundTransparency_0 = v7.props.BackgroundTransparency;
    local l_contentPadding_0 = v7.props.contentPadding;
    local l_LayoutOrder_0 = v7.props.LayoutOrder;
    local l_FillDirection_0 = v7.props.FillDirection;
    local l_VerticalAlignment_0 = v7.props.VerticalAlignment;
    local v17 = 0;
    if v7.layoutRef.current then
        v17 = v7.layoutRef.current.AbsoluteContentSize.Y;
    end;
    return v1.createElement("Frame", {
        AnchorPoint = v7.props.AnchorPoint,
        Position = v7.props.Position,
        BackgroundColor3 = l_BackgroundColor3_0,
        BackgroundTransparency = l_BackgroundTransparency_0,
        Size = UDim2.new(l_width_0.Scale, l_width_0.Offset, 0, v17),
        LayoutOrder = l_LayoutOrder_0,
        [v1.Ref] = v7.frameRef,
        Visible = v7.props.Visible,
        BorderSizePixel = 0
    }, l_Immutable_0.JoinDictionaries(v9, {
        layout = v1.createElement("UIListLayout", {
            Padding = l_contentPadding_0,
            FillDirection = l_FillDirection_0,
            SortOrder = Enum.SortOrder.LayoutOrder,
            HorizontalAlignment = l_HorizontalAlignment_0,
            VerticalAlignment = l_VerticalAlignment_0,
            [v1.Ref] = v7.layoutRef,
            [v1.Change.AbsoluteContentSize] = v7.onResize
        }),
        padding = v1.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, v7.props.marginLeft),
            PaddingRight = UDim.new(0, v7.props.marginRight),
            PaddingTop = UDim.new(0, v7.props.marginTop),
            PaddingBottom = UDim.new(0, v7.props.marginBottom)
        })
    }));
end;
v3.didMount = function(v18)
    v18.onResize();
end;
v3.didUpdate = function(v19)
    v19.onResize();
end;
return v3;


local l_Parent_0 = script:FindFirstAncestor("AppChat").Parent;
local v1 = require(l_Parent_0.Roact);
local v2 = require(l_Parent_0.UIBlox);
local v3 = v1.PureComponent:extend("AssetCard_Header");
v3.defaultProps = {
    cardTitle = nil
};
v3.render = function(v4)
    return v2.Style.withStyle(function(v5)
        return v1.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, 20),
            BackgroundTransparency = 1
        }, {
            padding = v1.createElement("UIPadding", {
                PaddingBottom = UDim.new(0, 2)
            }),
            title = v1.createElement("Frame", {
                Size = UDim2.new(1, -6, 1, 0),
                BackgroundTransparency = 1
            }, {
                layout = v1.createElement("UIListLayout", {
                    VerticalAlignment = Enum.VerticalAlignment.Center
                }),
                label = not v4.props.isLoading and v1.createElement("TextLabel", {
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    BackgroundTransparency = 1,
                    TextSize = 23,
                    Size = UDim2.new(1, 0, 1, 0),
                    Text = v4.props.cardTitle,
                    TextColor3 = if not v4.props.shouldUseUnfilteredUI then v5.Theme.TextEmphasis.Color else Color3.new(1, 1, 1),
                    Font = v5.Font.CaptionHeader.Font,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = Enum.TextYAlignment.Center
                }) or v1.createElement(v2.App.Loading.ShimmerPanel, {
                    Size = UDim2.fromScale(0.5, 1),
                    cornerRadius = UDim.new(0, 4)
                })
            })
        });
    end);
end;
return v3;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.Cryo);
local v3 = require(l_Parent_0.Roact);
local v4 = require(l_Parent_0.React);
local l_dependencyArray_0 = require(l_Parent_0.RoactUtils).Hooks.dependencyArray;
local l_useMemo_0 = v4.useMemo;
local v7 = require(l_script_FirstAncestor_0.Flags.getFFlagEnableUnfilteredThreadsUI);
local v8 = if not v7() then require(l_script_FirstAncestor_0.SocialLibraries).Components.ChatBubbleContainerAutomaticSize else require(script.Parent.ChatBubbleContainerAutomaticSize);
local v9 = require(l_script_FirstAncestor_0.Components.ChatConversation.GameCardComponents.PlaceIdContainer);
local v10 = require(l_script_FirstAncestor_0.Components.ChatConversation.GameCardComponents.GameCardContainer);
local v11 = {
    additionalProps = {
        placeId = nil,
        universeId = nil,
        senderUserId = nil,
        onDetailsOpened = function()
        end,
        openGameDetailsPage = function()
        end
    },
    hasTail = false,
    innerPadding = 0,
    isIncoming = false,
    isPending = true,
    isUnfiltered = false,
    maxWidth = 0,
    parentWidth = 0,
    wideMode = false
};
return function(v12)
    local v13 = v12.additionalProps or v11.additionalProps;
    local v14 = not not v13.placeId and v9 or v10;
    local v15 = v12.parentWidth or v11.parentWidth;
    local v16 = v12.wideMode or v11.wideMode;
    local v17 = if v12.isPending ~= nil then v12.isPending else v11.isPending;
    local v18 = ((v7() and v12.isUnfiltered) and not v12.isIncoming) and not v17;
    return v3.createElement(v8, {
        hasTail = v12.hasTail or v11.hasTail,
        isIncoming = v12.isIncoming or v11.isIncoming,
        isPending = v17,
        isUnfiltered = v12.isUnfiltered,
        LayoutOrder = v12.LayoutOrder,
        padding = v12.innerPadding or v11.innerPadding,
        [v3.Change.AbsoluteSize] = v12[v3.Change.AbsoluteSize]
    }, {
        AssetCard = v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, v15 - (not v16 and 108 or 224), 0, 0),
            AutomaticSize = Enum.AutomaticSize.XY
        }, {
            Card = v3.createElement(v14, if not v7() then v13 else l_useMemo_0(function()
                return v2.Dictionary.join(v13, {
                    shouldUseUnfilteredUI = v18
                });
            end, l_dependencyArray_0(v13, v18)))
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AppChat");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.UIBlox);
local l_Object_0 = require(l_Parent_0.LuauPolyfill).Object;
local l_useStyle_0 = v3.Core.Style.useStyle;
local v6 = require(l_Parent_0.Cryo);
local l_Constants_0 = v3.App.Style.Constants;
local l_useSelectedTheme_0 = require(l_Parent_0.RoactUtils).Hooks.useSelectedTheme;
local v9 = Rect.new(10, 10, 11, 11);
local v10 = require(l_script_FirstAncestor_0.Flags.getFFlagEnableUnfilteredThreadsUI);
local v11 = require(l_script_FirstAncestor_0.Flags.unfilteredMessageColorConfig);
local v13 = {
    isIncoming = false,
    hasTail = false,
    padding = 12,
    LayoutOrder = 0,
    isPending = false,
    [v2.Change.AbsoluteSize] = function(_)
    end
};
return function(v14)
    local v15 = v6.Dictionary.join(v13, v14);
    local v16, v17 = v2.useState(0);
    local v18 = v15[v2.Change.AbsoluteSize];
    local v19 = l_useStyle_0();
    local v20 = v15.children or {};
    local l_hasTail_0 = v15.hasTail;
    local l_isIncoming_0 = v15.isIncoming;
    local l_isPending_0 = v15.isPending;
    local l_isUnfiltered_0 = v15.isUnfiltered;
    local v25 = if not v10() then nil else l_useSelectedTheme_0();
    local v26 = nil;
    v26 = if not l_isIncoming_0 then if l_isPending_0 then v19.Theme.UIMuted else if v10() and l_isUnfiltered_0 then {
        Color = if v25 == l_Constants_0.ThemeName.Light then v11.UnfilteredMessageLightColor3 else v11.UnfilteredMessageDarkColor3,
        Transparency = v11.UnfilteredMessageTransparency
    } else v19.Theme.UIEmphasis else v19.Theme.UIDefault;
    local l_Color_0 = v26.Color;
    local l_Transparency_0 = v26.Transparency;
    local v29 = "rbxasset://textures/ui/LuaChat/9-slice/chat-bubble-self2.png";
    if l_hasTail_0 then
        v29 = 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;
    local v30 = not not l_isIncoming_0 and UDim2.new(0, 6, 0, 0) or UDim2.new(1, -6, 0, 0);
    local v31 = 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";
    local v32 = not not l_isIncoming_0 and UDim2.new(0, 0, 0, 0) or UDim2.new(1, 0, 0, 0);
    local v33 = UDim.new(0, v15.padding or v13.padding);
    return v2.createElement("Frame", {
        AutomaticSize = Enum.AutomaticSize.XY,
        Size = UDim2.new(0, v16 + 6, 0, 0),
        LayoutOrder = v15.LayoutOrder or v13.LayoutOrder,
        BackgroundTransparency = 1
    }, {
        bubble = v2.createElement("ImageLabel", {
            AutomaticSize = Enum.AutomaticSize.XY,
            Size = UDim2.new(0, v16, 0, 0),
            AnchorPoint = not not l_isIncoming_0 and Vector2.new(0, 0) or Vector2.new(1, 0),
            BackgroundTransparency = 1,
            ImageColor3 = l_Color_0,
            Image = v29,
            ScaleType = Enum.ScaleType.Slice,
            SliceCenter = v9,
            ImageTransparency = l_Transparency_0,
            Position = v30,
            [v2.Change.AbsoluteSize] = function(v34)
                v18(v34);
            end
        }, l_Object_0.assign(table.clone(v20), {
            ["$margin"] = v2.createElement("UIPadding", {
                PaddingBottom = v33,
                PaddingTop = v33,
                PaddingRight = v33,
                PaddingLeft = v33
            }),
            ["$layout"] = v2.createElement("UIListLayout", {
                [v2.Change.AbsoluteContentSize] = function(v35)
                    v17(v35.AbsoluteContentSize.X + v33.Offset * 2);
                end
            })
        })),
        tail = v2.createElement("ImageLabel", {
            AnchorPoint = not not l_isIncoming_0 and Vector2.new(0, 0) or Vector2.new(1, 0),
            Size = UDim2.new(0, 6, 0, 6),
            BackgroundTransparency = 1,
            ImageColor3 = l_Color_0,
            Position = v32,
            Image = v31,
            ImageTransparency = l_Transparency_0,
            Visible = l_hasTail_0
        })
    });
end;