local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local v4 = require(l_CorePackages_0.UIBlox);
local l_FitTextLabel_0 = require(l_CorePackages_0.AvatarExperienceDeps).RoactFitComponents.FitTextLabel;
local l_ShimmerPanel_0 = v4.App.Loading.ShimmerPanel;
local l_withStyle_0 = v4.Style.withStyle;
local l_withLocalization_0 = require(l_CorePackages_0.Workspace.Packages.Localization).withLocalization;
local _ = require(l_CoreGui_0.RobloxGui.Modules.AvatarExperience.Common.AvatarExperienceState);
local v10 = v2.PureComponent:extend("ResultsHeader");
v10.renderWithStyle = function(v11, v12)
    local l_Font_0 = v12.Font;
    local l_Font_1 = l_Font_0.Body.Font;
    local v15 = l_Font_0.BaseSize * l_Font_0.Body.RelativeSize;
    local l_Font_2 = l_Font_0.Header2.Font;
    local v17 = l_Font_0.BaseSize * l_Font_0.Header2.RelativeSize;
    local l_Theme_0 = v12.Theme;
    local l_Color_0 = l_Theme_0.TextEmphasis.Color;
    local l_Transparency_0 = l_Theme_0.TextEmphasis.Transparency;
    local l_searchInCatalog_0 = v11.props.searchInCatalog;
    if l_searchInCatalog_0 then
        local l_keyword_0 = l_searchInCatalog_0.keyword;
        return l_withLocalization_0({
            showingResultsFor = "Feature.GamePage.LabelShowingResultsFor"
        })(function(v23)
            return v2.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.new(1, 0, 0, v15),
                LayoutOrder = 1
            }, {
                Layout = v2.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, 2)
                }),
                ShowingResultsText = v2.createElement(l_FitTextLabel_0, {
                    width = l_FitTextLabel_0.Width.FitToText,
                    Text = v23.showingResultsFor,
                    LayoutOrder = 1,
                    Size = UDim2.new(0, 0, 1, 0),
                    BackgroundTransparency = 1,
                    TextSize = v15,
                    TextColor3 = l_Color_0,
                    TextTransparency = l_Transparency_0,
                    Font = l_Font_1,
                    TextWrapped = true,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = Enum.TextYAlignment.Top
                }),
                Keyword = v2.createElement(l_FitTextLabel_0, {
                    width = l_FitTextLabel_0.Width.FitToText,
                    Text = l_keyword_0 or "",
                    LayoutOrder = 2,
                    Size = UDim2.new(0, 0, 1, 0),
                    BackgroundTransparency = 1,
                    TextSize = v17,
                    TextColor3 = l_Color_0,
                    TextTransparency = l_Transparency_0,
                    Font = l_Font_2,
                    TextWrapped = true,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = Enum.TextYAlignment.Top
                })
            });
        end);
    else
        return v2.createElement(l_ShimmerPanel_0, {
            Size = UDim2.new(1, 0, 0, v15)
        });
    end;
end;
v10.render = function(v24)
    return l_withStyle_0(function(v25)
        return v24:renderWithStyle(v25);
    end);
end;
return v3.connect(function(v26, v27)
    return {
        searchInCatalog = v26.Search.SearchesInCatalog[v27.searchUuid]
    };
end, nil)(v10);


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_CorePackages_0.Packages.React);
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local l_useSignal_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.useSignal;
local l_useThrottledCallback_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.useThrottledCallback;
local v7 = require(l_Modules_0.LuaApp.Hooks.useRoactService);
local v8 = require(l_CorePackages_0.Packages.Dash);
local _ = require(l_Modules_0.AvatarExperience.Common.AvatarExperienceState);
local v10 = require(l_Modules_0.AvatarExperience.Catalog.Services.Analytics);
local _ = require(l_Modules_0.AvatarExperience.Common.Types);
local v12 = game:DefineFastInt("AXSponsoredItemsImpressionsPeriod", 1);
local function v14(v13)
    return v13.ScreenSize;
end;
local function v16(v15)
    return v15.GlobalGuiInset;
end;
local function _(v17)
    if not (not v17 or not v17.id) and v17.type then
        return tostring(v17.type) .. "-" .. tostring(v17.id);
    else
        return "";
    end;
end;
return function(v19)
    local l_visibleItems_0 = v19.visibleItems;
    local l_scrollingFrameRef_0 = v19.scrollingFrameRef;
    local l_sponsoredGridRef_0 = v19.sponsoredGridRef;
    local l_requestImpressionsSignal_0 = v19.requestImpressionsSignal;
    local l_indexOffset_0 = v19.indexOffset;
    local v25 = v7(v10);
    local v26 = l_useSelector_0(v14);
    local v27 = l_useSelector_0(v16);
    local v28 = v3.useRef({});
    local function _()
        if l_sponsoredGridRef_0.current then
            local l_current_0 = l_sponsoredGridRef_0.current;
            return l_current_0.AbsolutePosition.Y + l_current_0.AbsoluteSize.Y / 2;
        else
            return nil;
        end;
    end;
    local function _()
        if l_scrollingFrameRef_0 and l_scrollingFrameRef_0.current then
            assert(l_scrollingFrameRef_0, "");
            local l_Y_0 = l_scrollingFrameRef_0.current.AbsolutePosition.Y;
            local v32 = v26.Y - v27.bottom;
            local v33;
            if l_sponsoredGridRef_0.current then
                local l_current_1 = l_sponsoredGridRef_0.current;
                v33 = l_current_1.AbsolutePosition.Y + l_current_1.AbsoluteSize.Y / 2;
            else
                v33 = nil;
            end;
            local v35;
            if v33 and l_Y_0 < v33 then
                v35 = true;
                if not (v33 >= v32) then
                    goto label0;
                end;
            end;
            v35 = false;
            ::label0::;
            return v35;
        else
            return false;
        end;
    end;
    local function v43()
        local v37 = {};
        local l_current_2 = v28.current;
        for v39, v40 in l_visibleItems_0, nil, nil do
            local l_v40_0 = v40;
            local v42 = if (not not l_v40_0 and l_v40_0.id) and l_v40_0.type then tostring(l_v40_0.type) .. "-" .. tostring(l_v40_0.id) else "";
            if not l_current_2[v42] then
                table.insert(v37, (v8.join(v40, {
                    index = v39
                })));
                l_current_2[v42] = true;
            end;
        end;
        v25.sendSponsoredItemsImpressions(v37, l_indexOffset_0);
    end;
    l_useSignal_0(l_requestImpressionsSignal_0, (l_useThrottledCallback_0(function()
        local v44;
        if l_scrollingFrameRef_0 and l_scrollingFrameRef_0.current then
            assert(l_scrollingFrameRef_0, "");
            local l_Y_1 = l_scrollingFrameRef_0.current.AbsolutePosition.Y;
            local v46 = v26.Y - v27.bottom;
            local v47;
            if l_sponsoredGridRef_0.current then
                local l_current_3 = l_sponsoredGridRef_0.current;
                v47 = l_current_3.AbsolutePosition.Y + l_current_3.AbsoluteSize.Y / 2;
            else
                v47 = nil;
            end;
            if v47 and l_Y_1 < v47 then
                v44 = true;
                if not (v47 >= v46) then
                    goto label1;
                end;
            end;
            v44 = false;
        else
            v44 = false;
        end;
        ::label1::;
        if v44 then
            v43();
        end;
    end, v12)));
    return nil;
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_CorePackages_0 = game:GetService("CorePackages");
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.RoactRodux);
local v5 = require(l_CorePackages_0.Packages.RoactGamepad);
local l_withNavigation_0 = require(l_CorePackages_0.RoactNavigation).withNavigation;
local v7 = require(l_CorePackages_0.UIBlox);
local v8 = require(l_CorePackages_0.Packages.t);
local v9 = require(l_CorePackages_0.Cryo);
local l_withLocalization_0 = require(l_CorePackages_0.Workspace.Packages.Localization).withLocalization;
local l_NumberLocalization_0 = require(l_CorePackages_0.Workspace.Packages.Localization).NumberLocalization;
local l_ExternalEventConnection_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).ExternalEventConnection;
local l_isGamepadInput_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).isGamepadInput;
local v14 = require(l_CorePackages_0.Workspace.Packages.SharedFlags);
local l_withStyle_0 = v7.Core.Style.withStyle;
local l_Images_0 = v7.App.ImageSet.Images;
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local _ = require(l_Modules_0.AvatarExperience.Common.AvatarExperienceState);
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local v20 = require(l_Modules_0.AvatarExperience.AvatarEditor.Constants);
local v21 = require(l_Modules_0.AvatarExperience.AvatarEditor.GetAvatarEditorCategories);
local v22 = require(l_Modules_0.AvatarExperience.Catalog.Services.Analytics);
local v23 = require(l_Modules_0.LuaApp.Services.RoactLocalization);
local v24 = require(l_Modules_0.LuaApp.Services.RoactNetworking);
local v25 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.AvatarScreen);
local v26 = require(l_Modules_0.AvatarExperience.Common.Thunks.NavigateWithLock);
local v27 = require(l_Modules_0.AvatarExperience.Catalog.CatalogConstants);
local v28 = require(l_Modules_0.AvatarExperience.Catalog.CatalogUtils);
local v29 = require(l_Modules_0.AvatarExperience.Catalog.Components.ActionBar.ActionBar);
local v30 = require(l_Modules_0.AvatarExperience.Catalog.Components.ActionBar.ActionButton);
local v31 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.Debug.logOnOverlayClosed);
local v32 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.withAvatarRoute);
local v33 = require(l_Modules_0.AvatarExperience.Catalog.Thunks.ReportLook);
local v34 = require(l_Modules_0.AvatarExperience.Common.ReducerUtils);
local v35 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.NavigationUtils);
local v36 = require(l_Modules_0.AvatarExperience.Common.Constants);
local v37 = require(l_Modules_0.AvatarExperience.Common.Constants);
local v38 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagEnableCounterLooksWidgetHome);
local v39 = require(l_Modules_0.AvatarExperience.Common.Models.ItemInfo);
local v40 = require(l_Modules_0.AvatarExperience.Flags.FFlagAXFixItemTypeHandling);
local v41 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagHideShowMoreButtonOnTryOnManager);
local v42 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXLimitedBundlesHandleNewData);
local v43 = require(l_Modules_0.AvatarExperience.Flags.FFlagEnableLeaveCatalogToAvatarPromptOverride);
local v44 = game:DefineFastFlag("EnableCustomizeButtonForSelectedLookItems", false);
local l_GetFFlagHideDraggerPeekView_0 = v14.GetFFlagHideDraggerPeekView;
local v46 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXRefactorTryOnItems);
local l_ActionBarHeight_0 = v27.ActionBar.ActionBarHeight;
local v48 = not l_GetFFlagHideDraggerPeekView_0() and 20 or 0;
local v49 = l_Images_0["icons/common/robux"];
local v50 = l_Images_0["icons/actions/block"];
local v51 = l_Images_0["icons/menu/avatar_on"];
local v52 = l_Images_0["icons/actions/feedback"];
local v53 = v3.PureComponent:extend("TryOnManagerBottomBar");
v53.validateProps = v8.strictInterface({
    tryOnItems = v8.optional(v8.table),
    lookId = v8.optional(v8.string),
    lookType = if not v46() then nil else v8.optional(v8.string),
    assetInfos = v8.optional(v8.table),
    bundleInfos = v8.optional(v8.table),
    playerMembership = v8.optional(v8.enum(Enum.MembershipType)),
    userRobux = v8.optional(v8.number),
    collectiblesItemInfo = v8.table,
    collectiblesResellersInstances = v8.table,
    resellableInstances = v8.table,
    showMoreButton = if not v41() then nil else v8.optional(v8.boolean),
    navigateWithLock = v8.callback,
    reportLook = v8.callback,
    catalogAnalytics = v8.table,
    localization = v8.table,
    networking = v8.callback,
    navigation = v8.table,
    avatarRoute = v8.table,
    focusController = v8.optional(v8.table)
});
v53.DEPRECATED_getPriceForItem = function(v54, v55)
    assert(not v40, "flag should be off");
    local l_playerMembership_0 = v54.props.playerMembership;
    local l_collectiblesItemInfo_0 = v54.props.collectiblesItemInfo;
    local l_collectiblesResellersInstances_0 = v54.props.collectiblesResellersInstances;
    local l_resellableInstances_0 = v54.props.resellableInstances;
    local v60 = v55.lowestPrice or v55.priceInRobux;
    if v28.DEPRECATED_HasPremiumBenefits(v55) then
        if not (l_playerMembership_0 == Enum.MembershipType.Premium) then
            if v28.DEPRECATED_IsPremiumExclusive(v55) then
                v60 = nil;
            end;
        else
            v60 = v55.premiumPricing.premiumPriceInRobux;
        end;
    end;
    local v61 = if not v42() then nil else v28.DEPRECATED_isLimitedCollectible(v55);
    if v55.collectibleItemId then
        local v62 = nil;
        v62 = if not v42() then v28.findCheapestCollectiblePurchaseInfo(v55.collectibleItemId, l_collectiblesItemInfo_0, l_collectiblesResellersInstances_0, l_resellableInstances_0) else v28.findCheapestCollectiblePurchaseInfoV2(v55.collectibleItemId, v61 or false, l_collectiblesItemInfo_0, l_collectiblesResellersInstances_0, l_resellableInstances_0);
        if v62.price then
            v60 = v62.price;
        end;
    end;
    return v60;
end;
v53.getPriceForItem = function(v63, v64)
    assert(v40, "flag should be on");
    local l_playerMembership_1 = v63.props.playerMembership;
    local l_collectiblesItemInfo_1 = v63.props.collectiblesItemInfo;
    local l_collectiblesResellersInstances_1 = v63.props.collectiblesResellersInstances;
    local l_resellableInstances_1 = v63.props.resellableInstances;
    local v69 = v64.lowestPrice or v64.priceInRobux;
    if v64.hasPremiumBenefits then
        if not (l_playerMembership_1 == Enum.MembershipType.Premium) or not v64.premiumPricing then
            if v64.isPremiumExclusive then
                v69 = nil;
            end;
        else
            v69 = v64.premiumPricing.premiumPriceInRobux;
        end;
    end;
    if v64.collectibleItemId then
        local v70 = nil;
        v70 = if not v42() then v28.findCheapestCollectiblePurchaseInfo(v64.collectibleItemId, l_collectiblesItemInfo_1, l_collectiblesResellersInstances_1, l_resellableInstances_1) else v28.findCheapestCollectiblePurchaseInfoV2(v64.collectibleItemId, v64.isLimitedCollectible, l_collectiblesItemInfo_1, l_collectiblesResellersInstances_1, l_resellableInstances_1);
        if v70.price then
            v69 = v70.price;
        end;
    end;
    return v69;
end;
v53.getItemInfo = function(v71, v72, v73)
    local v74 = nil;
    local v75 = nil;
    if not v40 then
        if v73 == v36.ItemType.Asset then
            return v74, v71.props.assetInfos[v72];
        else
            v75 = v71.props.bundleInfos[v72];
        end;
    elseif v73 == v36.ItemType.Asset then
        if v71.props.assetInfos[v72] then
            return v39.fromAssetInfo(v71.props.assetInfos[v72]), v75;
        end;
    elseif v71.props.bundleInfos[v72] then
        return v39.fromBundleInfo(v71.props.bundleInfos[v72]), v75;
    end;
    return v74, v75;
end;
v53.getBottomBarInfo = function(v76, _)
    local v78 = 0;
    local v79 = 0;
    local v80 = {};
    local v81 = false;
    for v82, v83 in v76.props.tryOnItems, nil, nil do
        if v83.selectedInTryOnManager then
            v78 = v78 + 1;
            local v84 = nil;
            local v85 = nil;
            local v86, v87 = v76:getItemInfo(if not v46() then v82 else v83.itemId, v83.itemType);
            v84 = v86;
            v85 = v87;
            v86 = nil;
            if not v40 then
                if v85 and v85.receivedCatalogData then
                    if not v85.isOwned then
                        v86 = v76:DEPRECATED_getPriceForItem(v85);
                    else
                        continue;
                    end;
                else
                    v81 = true;
                    continue;
                end;
            elseif v84 and v84.receivedCatalogData then
                if not v84.isOwned then
                    v86 = v76:getPriceForItem(v84);
                else
                    continue;
                end;
            else
                v81 = true;
                continue;
            end;
            if v86 ~= nil then
                v79 = v79 + v86;
                v80[v82] = v9.Dictionary.join(v83, {
                    expectedPrice = v86
                });
            end;
        end;
    end;
    return v79, v78, v80, v81;
end;
v53.areAllTryOnsOwned = function(v88)
    for v89, v90 in v88.props.tryOnItems, nil, nil do
        local v91 = nil;
        local v92 = nil;
        local v93, v94 = v88:getItemInfo(if not v46() then v89 else v90.itemId, v90.itemType);
        v91 = v93;
        v92 = v94;
        if not v40 then
            if v92 and v92.receivedCatalogData then
                if not v92.isOwned then
                    return false;
                end;
            else
                return false;
            end;
        elseif v91 and v91.receivedCatalogData then
            if not v91.isOwned then
                return false;
            end;
        else
            return false;
        end;
    end;
    return true;
end;
v53.areAllSelectedTryOnsOwned = function(v95)
    local v96 = 0;
    for v97, v98 in v95.props.tryOnItems, nil, nil do
        if v98.selectedInTryOnManager then
            local v99 = nil;
            local v100 = nil;
            local v101, v102 = v95:getItemInfo(if not v46() then v97 else v98.itemId, v98.itemType);
            v99 = v101;
            v100 = v102;
            if not v40 then
                if v100 and v100.receivedCatalogData then
                    if not v100.isOwned then
                        return false;
                    end;
                else
                    return false;
                end;
            elseif v99 and v99.receivedCatalogData then
                if not v99.isOwned then
                    return false;
                end;
            else
                return false;
            end;
            v96 = v96 + 1;
        end;
    end;
    return v96 > 0;
end;
v53.getAvatarEditorCategoryIndexesByName = function(_, v104, v105)
    local v106 = v21();
    local v107 = nil;
    local v108 = nil;
    for v109, v110 in v106, nil, nil do
        if v110.Name == v104 then
            v107 = v109;
            if not v105 or not v110.Subcategories then
                break;
            else
                for v111, v112 in v110.Subcategories, nil, nil do
                    if v112.Name == v105 then
                        return v107, v111;
                    end;
                end;
                return v107, v108;
            end;
        end;
    end;
    return v107, v108;
end;
v53.init = function(v113)
    v113:setState({
        lastInputIsGamepad = l_isGamepadInput_0((l_UserInputService_0:GetLastInputType()))
    });
    v113.lastInputTypeChangedCallback = function(v114)
        local v115 = l_isGamepadInput_0(v114);
        if v115 ~= v113.state.lastInputIsGamepad then
            v113:setState({
                lastInputIsGamepad = v115
            });
        end;
    end;
    v113.onOverlayClosed = function(v116)
        return function()
            if v113.state.lastInputIsGamepad and v113.props.avatarRoute.current.name == v25.TryOnManager then
                v31("TryOnManager");
                v116.captureFocus();
            end;
        end;
    end;
    v113.onButtonPress = function()
        local l_navigation_0 = v113.props.navigation;
        local l_catalogAnalytics_0 = v113.props.catalogAnalytics;
        local v119, v120, v121 = v113:getBottomBarInfo();
        local v122 = nil;
        local v123 = nil;
        if v113.props.userRobux < v119 then
            v122 = v25.InsufficientRobuxPrompt;
            v123 = {
                onOverlayClosed = v113.onOverlayClosed(v113.props.focusController)
            };
            l_catalogAnalytics_0.avatarShopBuyOutfit(v120, v119, true, "insufficientRobux");
        elseif not (not v43 or not v9.isEmpty(v121)) and v113.props.lookId ~= nil then
            local v124, v125 = v113:getAvatarEditorCategoryIndexesByName(v20.CharacterKey);
            v122 = v25.LeaveCatalogToAvatarPrompt;
            v123 = {
                onOverlayClosed = v113.onOverlayClosed(v113.props.focusController),
                categoryOverride = v124,
                subcategoryOverride = v125
            };
        else
            local v126 = {};
            for v127, v128 in v113.props.tryOnItems, nil, nil do
                if v128.selectedInTryOnManager then
                    local v129 = nil;
                    local v130 = nil;
                    local v131, v132 = v113:getItemInfo(if not v46() then v127 else v128.itemId, v128.itemType);
                    v129 = v131;
                    v130 = v132;
                    if not v40 then
                        if not (not v130 or not v130.isOwned) then
                            if not v46() then
                                v126[v127] = v128;
                            else
                                v126[v34.generateTryOnItemIdKey(v128.itemId, v128.itemType, v113.props.lookType)] = v128;
                            end;
                        end;
                    elseif not (not v129 or not v129.isOwned) then
                        v126[v127] = v128;
                    end;
                end;
            end;
            if v113.props.lookId ~= nil then
                v122 = v25.PurchaseLookPrompt;
                v123 = {
                    itemsToPurchase = v121,
                    lookId = v113.props.lookId,
                    ownedTryOnItems = v126,
                    priceInRobux = v119,
                    showSaveAsCharacter = true,
                    showWearAfterPurchase = true
                };
                if v38() then
                    if not v35.isWithinViewContext(v113.props.avatarRoute, v25.CatalogSearch) then
                        l_catalogAnalytics_0.sendAXCounter(v37.Counter.PopularLooksWidgetHomeBuyClicked);
                    else
                        l_catalogAnalytics_0.sendAXCounter(v37.Counter.PopularLooksWidgetSearchBuyClicked);
                    end;
                end;
            else
                v122 = v25.PurchaseOutfitPrompt;
                v123 = {
                    itemsToPurchase = v121,
                    ownedTryOnItems = v126,
                    totalOutfitPrice = v119,
                    onOverlayClosed = v113.onOverlayClosed(v113.props.focusController)
                };
            end;
        end;
        v113.props.navigateWithLock(function()
            l_navigation_0.navigate(v122, v123);
        end);
    end;
    v113.contextMenuClosedCallback = function(v133)
        return function()
            v113:setState({
                isMoreButtonSelected = false
            });
            v113.onOverlayClosed(v133);
        end;
    end;
    v113.openLooksContextMenu = function(v134, v135)
        local l_navigation_1 = v113.props.navigation;
        v113.props.navigateWithLock(function()
            l_navigation_1.navigate(v25.ContextMenu, {
                centered = false,
                contextButtons = {
                    {
                        icon = v52,
                        text = v135.reportText,
                        onActivated = function(v137)
                            v113.props.reportLook(v113.props.networking);
                            v35.closeOverlay(v137);
                        end
                    }
                },
                onOverlayClosed = v134
            });
        end);
    end;
end;
v53.renderWithProviders = function(v138, v139, v140)
    local l_Theme_0 = v139.Theme;
    local l_Font_0 = v139.Font;
    local v143, v144, v145, v146 = v138:getBottomBarInfo(v140);
    local l_v49_0 = v49;
    local v148 = false;
    local v149 = nil;
    if not v9.isEmpty(v145) then
        if v143 == 0 then
            l_v49_0 = nil;
            v149 = v140.freeText;
        else
            v149 = l_NumberLocalization_0.localize(string.format("%.0f", v143), v138.props.localization:GetLocale());
        end;
    else
        v149 = "";
        if not (v43 and v138.props.lookId ~= nil) or not (not v44 and v138:areAllTryOnsOwned()) and (not v44 or not v138:areAllSelectedTryOnsOwned()) then
            l_v49_0 = v50;
            v148 = true;
        else
            l_v49_0 = v51;
        end;
    end;
    local v150 = {
        buttonText = v149,
        buttonIcon = l_v49_0,
        buttonIsLoading = v146,
        buttonIsDisabled = v148,
        buttonIconPadding = 5,
        buttonIconSize = 30,
        buttonColor = v139.Theme.ContextualPrimaryDefault.Color,
        buttonTextColor = v139.Theme.ContextualPrimaryContent.Color,
        onActivated = not v148 and v138.onButtonPress or nil
    };
    local v151 = v138.props.localization:Format("Feature.Avatar.Label.TryOnManagerDescriptor", {
        numItems = v144
    });
    if v138.props.lookId ~= nil then
        return v3.createElement(v29, {
            bottomPadding = v48,
            buttonProps = v150,
            hideGradient = true,
            isMoreButtonSelected = v138.state.isMoreButtonSelected,
            leftPadding = v48,
            onMoreButtonActivated = function()
                v138.openLooksContextMenu(v138.contextMenuClosedCallback(v138.props.focusController), v140);
                v138:setState({
                    isMoreButtonSelected = true
                });
            end,
            rightPadding = v48,
            showMoreButton = not v41() and true or (not (v138.props.showMoreButton ~= nil) or v138.props.showMoreButton),
            topComponent = if not l_GetFFlagHideDraggerPeekView_0() then v3.createElement("TextLabel", {
                LayoutOrder = 1,
                BackgroundTransparency = 1,
                Size = UDim2.new(1, 0, 0, 30),
                Text = v151,
                TextSize = l_Font_0.BaseSize * l_Font_0.Header2.RelativeSize,
                Font = l_Font_0.Header2.Font,
                TextColor3 = l_Theme_0.SecondaryContent.Color,
                TextTransparency = l_Theme_0.SecondaryContent.Transparency,
                TextTruncate = Enum.TextTruncate.AtEnd,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextYAlignment = Enum.TextYAlignment.Top
            }) else nil,
            topComponentHeight = not l_GetFFlagHideDraggerPeekView_0() and 30 or 0,
            ZIndex = 1
        });
    else
        return v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.fromScale(1, 1),
            Position = UDim2.fromOffset(0, -10)
        }, {
            UIListLayout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                SortOrder = Enum.SortOrder.LayoutOrder,
                VerticalAlignment = Enum.VerticalAlignment.Top,
                Padding = UDim.new(0, 12)
            }),
            TryOnDescriptor = v3.createElement("TextLabel", {
                LayoutOrder = 1,
                BackgroundTransparency = 1,
                Size = UDim2.new(1, 0, 0, 20),
                Text = v151,
                TextSize = l_Font_0.BaseSize * l_Font_0.Header2.RelativeSize,
                Font = l_Font_0.Header2.Font,
                TextColor3 = l_Theme_0.SecondaryContent.Color,
                TextTransparency = l_Theme_0.SecondaryContent.Transparency,
                TextTruncate = Enum.TextTruncate.AtEnd,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextYAlignment = Enum.TextYAlignment.Top
            }),
            ActionButton = v3.createElement(v30, {
                LayoutOrder = 2,
                Size = UDim2.new(1, 0, 0, l_ActionBarHeight_0),
                Font = l_Font_0,
                buttonProps = v150
            }),
            LastInputTypeChangedConnection = v3.createElement(l_ExternalEventConnection_0, {
                event = l_UserInputService_0.LastInputTypeChanged,
                callback = v138.lastInputTypeChangedCallback
            })
        });
    end;
end;
v53.render = function(v152)
    return l_withStyle_0(function(v153)
        return l_withLocalization_0({
            freeText = "Feature.Catalog.LabelFree",
            reportText = "Feature.Catalog.Action.Report"
        })(function(v154)
            return v152:renderWithProviders(v153, v154);
        end);
    end);
end;
v53 = v32((l_withNavigation_0(v4.connect(function(v155, _)
    local l_LocalUserId_0 = v155.LocalUserId;
    local v162 = if not v46() then nil else function()
        local v158 = nil;
        local l_Looks_0 = v155.AvatarExperience.AvatarScene.Looks;
        local l_LookId_0 = v155.AvatarExperience.AvatarScene.OutfitTryOn.LookId;
        if l_LookId_0 ~= nil and l_Looks_0 ~= nil then
            local v161 = l_Looks_0[l_LookId_0];
            if v161 then
                v158 = v161.lookType;
            end;
        end;
        return v158;
    end;
    return {
        tryOnItems = v155.AvatarExperience.AvatarScene.OutfitTryOn.TryOnItems,
        lookId = v155.AvatarExperience.AvatarScene.OutfitTryOn.LookId,
        lookType = if not not v46() and v162 then v162() else nil,
        assetInfos = v155.AvatarExperience.Common.AssetInfos,
        bundleInfos = v155.AvatarExperience.Common.BundleInfos,
        playerMembership = not not v155.Users[l_LocalUserId_0] and v155.Users[l_LocalUserId_0].membership or Enum.MembershipType.None,
        userRobux = v155.UserRobux[l_LocalUserId_0],
        collectiblesItemInfo = v155.AvatarExperience.Common.Collectibles.CollectiblesItemInfo,
        collectiblesResellersInstances = v155.AvatarExperience.Common.Collectibles.CollectiblesResellersInstances,
        resellableInstances = v155.AvatarExperience.Common.Collectibles.CollectiblesResellableInstances
    };
end, function(v163)
    return {
        navigateWithLock = function(v164)
            v163(v26(v164));
        end,
        reportLook = function(v165)
            v163(v33(v165));
        end
    };
end)((l_RoactServices_0.connect({
    catalogAnalytics = v22,
    localization = v23,
    networking = v24
})(v53))), nil)));
return function(v166)
    return v5.withFocusController(function(v167)
        return v3.createElement(v53, v9.Dictionary.join(v166, {
            focusController = v167
        }));
    end);
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local l_Focusable_0 = require(l_CorePackages_0.Packages.RoactGamepad).Focusable;
local v5 = require(l_CorePackages_0.UIBlox);
local l_withNavigation_0 = require(l_CorePackages_0.RoactNavigation).withNavigation;
local v7 = require(l_CorePackages_0.Packages.t);
local l_withLocalization_0 = require(l_CorePackages_0.Workspace.Packages.Localization).withLocalization;
local l_NumberLocalization_0 = require(l_CorePackages_0.Workspace.Packages.Localization).NumberLocalization;
local l_withStyle_0 = v5.Core.Style.withStyle;
local l_ItemTile_0 = v5.Tile.ItemTile;
local l_ItemTileEnums_0 = v5.Tile.ItemTileEnums;
local l_Images_0 = v5.App.ImageSet.Images;
local l_ImageSetLabel_0 = v5.Core.ImageSet.ImageSetLabel;
local l_ShimmerPanel_0 = v5.App.Loading.ShimmerPanel;
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local _ = require(l_Modules_0.AvatarExperience.Common.AvatarExperienceState);
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local v19 = require(l_Modules_0.LuaApp.Services.RoactNetworking);
local v20 = require(l_Modules_0.LuaApp.Services.RoactLocalization);
local v21 = require(l_Modules_0.LuaApp.Services.RoactAnalytics);
local v22 = require(l_Modules_0.AvatarExperience.Common.Constants);
local v23 = require(l_Modules_0.AvatarExperience.Catalog.CatalogUtils);
local v24 = require(l_Modules_0.AvatarExperience.Common.Selectors.DEPRECATED_ItemData);
local v25 = require(l_Modules_0.AvatarExperience.Common.Selectors.selectItemInfo);
local v26 = require(l_Modules_0.AvatarExperience.Catalog.Thunks.FetchAssetOrBundleInfo);
local v27 = require(l_Modules_0.AvatarExperience.Common.Thunks.SetEquippedInTryOnManagerThunk);
local v28 = require(l_Modules_0.AvatarExperience.Catalog.Actions.SetTryOnManagerPeekViewState);
local l_PeekViewState_0 = require(l_CorePackages_0.Workspace.Packages.PeekView).PeekViewState;
local v30 = require(l_Modules_0.AvatarExperience.Catalog.Services.Analytics);
local v31 = require(l_Modules_0.AvatarExperience.Catalog.Components.ActionBar.PremiumBar);
local v32 = require(l_Modules_0.AvatarExperience.Catalog.Components.ActionBar.ActionButton);
local v33 = require(l_Modules_0.AvatarExperience.Catalog.Thunks.OpenPremiumUpsellPrompt);
local l_getRbxthumbWithTypeSizeAndOptions_0 = require(l_CorePackages_0.Workspace.Packages.UserLib).Utils.getRbxthumbWithTypeSizeAndOptions;
local v35 = require(l_Modules_0.AvatarExperience.Flags.FFlagAXFixItemTypeHandling);
local v36 = require(l_Modules_0.AvatarExperience.Common.Models.ItemInfo);
local _ = require(l_Modules_0.AvatarExperience.Common.Reducers.OutfitTryOn);
local _ = require(l_Modules_0.AvatarExperience.Common.Types);
local v39 = require(l_Modules_0.AvatarExperience.Flags.FFlagAXAvatarWidgetData);
local v40 = require(l_Modules_0.AvatarExperience.Flags.GetAXDisableBundleIcon);
local v41 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXImproveTryOnManagerUI);
local v42 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXTryOnManagerVerticalCenterItemText);
local v43 = l_Images_0["icons/common/robux"];
local v44 = not v41() and 110 or 95;
local v45 = not v41() and 20 or 0;
local v46 = not v41() and 32 or 15;
local v47 = not v41() and 56 or 46;
local v48 = not v41() and 28 or 22;
local v49 = utf8.char(57345);
local v50 = v2.PureComponent:extend("TryOnManagerElement");
v50.validateProps = v7.strictInterface({
    tryOnItem = v7.optional(v7.table),
    layoutOrder = v7.optional(v7.number),
    elementRef = v7.optional(v7.table),
    updatePeekViewState = v7.optional(v7.callback),
    allowAutomaticPeekViewStateChanges = v7.optional(v7.boolean),
    NextSelectionDown = v7.optional(v7.table),
    NextSelectionUp = v7.optional(v7.table),
    NextSelectionLeft = v7.optional(v7.table),
    NextSelectionRight = v7.optional(v7.table),
    DEPRECATED_itemData = if not v35 then v7.optional(v7.table) else nil,
    itemInfo = if not v35 then nil else v7.optional(v36.Validator),
    playerMembership = v7.optional(v7.enum(Enum.MembershipType)),
    fetchItemData = v7.callback,
    setEquippedInTryOnManager = v7.callback,
    openPremiumUpsell = v7.callback,
    setTryOnManagerPeekViewState = v7.optional(v7.callback),
    networking = v7.callback,
    appAnalytics = v7.table,
    catalogAnalytics = v7.table,
    localization = v7.table,
    navigation = v7.table
});
v50.init = function(v51)
    v51.openPremiumUpsell = function()
        local l_networking_0 = v51.props.networking;
        local l_catalogAnalytics_0 = v51.props.catalogAnalytics;
        local l_tryOnItem_0 = v51.props.tryOnItem;
        v51.props.openPremiumUpsell(l_networking_0, l_catalogAnalytics_0, l_tryOnItem_0.itemId, l_tryOnItem_0.itemType == v22.ItemType.Bundle, v51.props.navigation);
    end;
    v51.onTileActivated = function()
        local l_tryOnItem_1 = v51.props.tryOnItem;
        if l_tryOnItem_1 then
            v51.props.setEquippedInTryOnManager(l_tryOnItem_1.itemId, not l_tryOnItem_1.selectedInTryOnManager, v51.props.catalogAnalytics, if not v39() then nil else l_tryOnItem_1.itemType);
            if v51.props.allowAutomaticPeekViewStateChanges then
                v51.props.setTryOnManagerPeekViewState(l_PeekViewState_0.Brief);
            end;
            return ;
        else
            return ;
        end;
    end;
end;
v50.getItemIconType = function(v56)
    local l_tryOnItem_2 = v56.props.tryOnItem;
    if not (l_tryOnItem_2.itemType == v22.ItemType.Bundle) then
        return l_tryOnItem_2.itemType == v22.ItemType.Bundle and l_ItemTileEnums_0.ItemIconType.Bundle or nil;
    elseif not (l_tryOnItem_2.itemSubType == v22.BundleTypeIdStrings.DynamicHead) then
        if not v40() then
            return l_ItemTileEnums_0.ItemIconType.Bundle;
        else
            return nil;
        end;
    else
        return l_ItemTileEnums_0.ItemIconType.DynamicHead;
    end;
end;
v50.DEPRECATED_getElementTextAndIcon = function(v58, v59, v60, v61)
    local v62 = not not v59 and (v59.lowestPrice or v59.priceInRobux) or nil;
    if not (not v60 or not (v58.props.playerMembership == Enum.MembershipType.Premium)) then
        v62 = v59.premiumPricing.premiumPriceInRobux;
    end;
    local v63 = v59 and v59.isOwned;
    local v64 = false;
    local v65 = "";
    if not v63 then
        if v62 == 0 then
            v65 = v61.freeText;
        elseif v62 ~= nil then
            v65 = l_NumberLocalization_0.localize(string.format("%.0f", v62), v58.props.localization:GetLocale());
            v64 = true;
        elseif v59 ~= nil then
            v65 = v61.offSaleText;
        end;
    else
        v65 = v61.ownedText;
    end;
    return v65, v64;
end;
v50.getElementTextAndIcon = function(v66, v67, v68, v69)
    local v70 = not not v67 and (v67.lowestPrice or v67.priceInRobux) or nil;
    if not ((not v68 or not (v66.props.playerMembership == Enum.MembershipType.Premium)) or not v67.premiumPricing) then
        v70 = v67.premiumPricing.premiumPriceInRobux;
    end;
    local v71 = v67 and v67.isOwned;
    local v72 = false;
    local v73 = "";
    if not v71 then
        if v70 == 0 then
            v73 = v69.freeText;
        elseif v70 ~= nil then
            v73 = l_NumberLocalization_0.localize(string.format("%.0f", v70), v66.props.localization:GetLocale());
            v72 = true;
        elseif v67 ~= nil then
            v73 = v69.offSaleText;
        end;
    else
        v73 = v69.ownedText;
    end;
    return v73, v72;
end;
v50.renderElement = function(v74, v75, v76)
    local l_tryOnItem_3 = v74.props.tryOnItem;
    local l_Theme_0 = v75.Theme;
    local l_Font_0 = v75.Font;
    local v80 = l_Font_0.BaseSize * if not v41() then l_Font_0.Header1.RelativeSize else l_Font_0.Header2.RelativeSize;
    local v81 = v74.props.playerMembership == Enum.MembershipType.Premium;
    local v82 = nil;
    local v83 = nil;
    local v84 = nil;
    local v85 = nil;
    local v86 = nil;
    local v87 = nil;
    local v88 = nil;
    local v89 = nil;
    local v90 = nil;
    local v91 = nil;
    if not v35 then
        local l_DEPRECATED_itemData_0 = v74.props.DEPRECATED_itemData;
        v82 = v23.DEPRECATED_HasPremiumBenefits(l_DEPRECATED_itemData_0);
        v83 = if not l_DEPRECATED_itemData_0 then nil else l_DEPRECATED_itemData_0.name;
        local v93 = false;
        if l_DEPRECATED_itemData_0 ~= nil then
            v93 = l_DEPRECATED_itemData_0.receivedCatalogData;
        end;
        v84 = v93;
        local v94;
        v93, v94 = v74:DEPRECATED_getElementTextAndIcon(l_DEPRECATED_itemData_0, v82, v76);
        v85 = v93;
        v86 = v94;
        v91 = v23.DEPRECATED_IsPremiumExclusive(l_DEPRECATED_itemData_0);
        v87 = v91 and not v81;
        v88 = l_DEPRECATED_itemData_0 and l_DEPRECATED_itemData_0.tileRestrictionsMap;
        if not (not l_DEPRECATED_itemData_0 or not l_DEPRECATED_itemData_0.premiumPricing) then
            v89 = l_DEPRECATED_itemData_0.premiumPricing.premiumDiscountPercentage;
            v90 = l_DEPRECATED_itemData_0.premiumPricing.premiumPriceInRobux;
        end;
    else
        local l_itemInfo_0 = v74.props.itemInfo;
        if l_itemInfo_0 then
            v82 = not not l_itemInfo_0.hasPremiumBenefits or false;
            local v96, v97 = v74:getElementTextAndIcon(l_itemInfo_0, v82, v76);
            v85 = v96;
            v86 = v97;
            v83 = l_itemInfo_0.name;
            v84 = l_itemInfo_0.receivedCatalogData;
            v91 = l_itemInfo_0.isPremiumExclusive;
            v87 = v91 and not v81;
            v88 = l_itemInfo_0.tileRestrictionsMap;
            if l_itemInfo_0.premiumPricing then
                v89 = l_itemInfo_0.premiumPricing.premiumDiscountPercentage;
                v90 = l_itemInfo_0.premiumPricing.premiumPriceInRobux;
            end;
        end;
    end;
    local v98 = not not l_tryOnItem_3.itemType and v23.GetRbxThumbType(l_tryOnItem_3.itemType) or nil;
    local v99 = nil;
    if not (not l_tryOnItem_3.itemId or not v98) then
        v99 = l_getRbxthumbWithTypeSizeAndOptions_0(l_tryOnItem_3.itemId, v98, 150);
    end;
    return v2.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.new(1, 0, 0, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        LayoutOrder = 1
    }, {
        UIListLayout = v2.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Horizontal,
            HorizontalAlignment = Enum.HorizontalAlignment.Left,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Top,
            Padding = UDim.new(0, v46)
        }),
        TryOnManagerTileFrame = v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.fromOffset(v44, v44),
            LayoutOrder = 1
        }, {
            TryOnManagerTile = v2.createElement(l_ItemTile_0, {
                itemIconType = v74:getItemIconType(),
                restrictionTypes = v88,
                isSelected = l_tryOnItem_3.selectedInTryOnManager,
                isPremium = v82,
                onActivated = v74.onTileActivated,
                thumbnail = v99,
                titleTextLineCount = 0
            })
        }),
        TryOnInfoFrame = v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, ((-10 - v44) - v46) - v45, 0, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            LayoutOrder = 2
        }, {
            UIListLayout = v2.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                SortOrder = Enum.SortOrder.LayoutOrder,
                VerticalAlignment = Enum.VerticalAlignment.Top,
                Padding = UDim.new(0, not v41() and 10 or 3)
            }),
            ItemName = v2.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 0, v47),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                LayoutOrder = 1,
                TextSize = v80,
                Font = l_Font_0.Header1.Font,
                TextColor3 = l_Theme_0.IconEmphasis.Color,
                TextTransparency = l_Theme_0.IconEmphasis.Transparency,
                TextTruncate = Enum.TextTruncate.AtEnd,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextYAlignment = if not v42() then Enum.TextYAlignment.Top else Enum.TextYAlignment.Center,
                TextWrapped = true,
                Text = if not not v82 and v83 then v49 .. " " .. v83 else v83
            }),
            PremiumBar = v82 and v2.createElement(v31, {
                headerPadding = 0,
                isPlayerPremium = v74.props.playerMembership == Enum.MembershipType.Premium,
                isPremiumExclusive = v91,
                discountPercent = v89,
                premiumPrice = v90,
                onPremiumActivated = if v81 or v87 then nil else v74.openPremiumUpsell,
                LayoutOrder = 2,
                paddingLeft = 0,
                paddingTop = 0,
                smallerTextSize = not not v41() or nil
            }),
            GetPremiumButton = v87 and v2.createElement(v32, {
                LayoutOrder = 3,
                Size = UDim2.new(1, 0, 0, 44),
                Font = l_Font_0,
                buttonProps = {
                    buttonText = v76.getPremiumText,
                    buttonColor = v75.Theme.SystemPrimaryDefault.Color,
                    buttonTextColor = v75.Theme.SystemPrimaryContent.Color,
                    onActivated = v74.openPremiumUpsell
                }
            }),
            ItemPriceFrame = not v87 and v2.createElement("Frame", {
                Size = UDim2.new(1, 0, 0, (v44 - v47) - (not v41() and 10 or 20)),
                BackgroundTransparency = 1,
                LayoutOrder = not v82 and 2 or 3
            }, {
                UIListLayout = v2.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    VerticalAlignment = Enum.VerticalAlignment.Bottom,
                    Padding = UDim.new(0, 0)
                }),
                Shimmer = not v84 and v2.createElement(l_ShimmerPanel_0, {
                    Size = UDim2.new(0.8, 0, 0, v48)
                }) or nil,
                Icon = (not not v84 and v86) and v2.createElement(l_ImageSetLabel_0, {
                    Image = v43,
                    ImageTransparency = 0,
                    ImageColor3 = l_Theme_0.SecondaryContent.Color,
                    BackgroundTransparency = 1,
                    Size = UDim2.fromOffset(v48, v48),
                    LayoutOrder = 1
                }) or nil,
                Price = not not v84 and v2.createElement("TextLabel", {
                    Size = UDim2.new(1, -v48 - 10, 0, v48),
                    Text = v85,
                    TextSize = v80,
                    Font = l_Font_0.Header1.Font,
                    TextColor3 = l_Theme_0.SecondaryContent.Color,
                    TextTransparency = l_Theme_0.SecondaryContent.Transparency,
                    TextTruncate = Enum.TextTruncate.AtEnd,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = if not v42() then Enum.TextYAlignment.Bottom else Enum.TextYAlignment.Center,
                    BackgroundTransparency = 1,
                    LayoutOrder = 2
                }) or nil
            })
        })
    });
end;
v50.renderWithProviders = function(v100, v101, v102)
    return v2.createElement(l_Focusable_0.Frame, {
        BackgroundTransparency = 1,
        Size = UDim2.fromScale(1, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        LayoutOrder = v100.props.layoutOrder,
        ref = v100.props.elementRef,
        NextSelectionDown = v100.props.NextSelectionDown,
        NextSelectionUp = v100.props.NextSelectionUp
    }, {
        UIListLayout = v2.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            HorizontalAlignment = Enum.HorizontalAlignment.Left,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Top,
            Padding = UDim.new(0, 12)
        }),
        UIPadding = v2.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, 10)
        }),
        TryOnManagerElement = v100:renderElement(v101, v102),
        Divider = if not v41() then v2.createElement("Frame", {
            BackgroundTransparency = 0.8,
            BackgroundColor3 = v101.Theme.SystemPrimaryDefault.Color,
            Size = UDim2.new(1, -10, 0, 1),
            LayoutOrder = 2
        }) else nil
    });
end;
v50.render = function(v103)
    return l_withStyle_0(function(v104)
        return l_withLocalization_0({
            ownedText = "Feature.Catalog.Label.Owned",
            freeText = "Feature.Catalog.Label.FreeUpperCase",
            getPremiumText = "Feature.PremiumUpsell.Title.GetPremium",
            offSaleText = "Feature.Catalog.LabelOffSale"
        })(function(v105)
            return v103:renderWithProviders(v104, v105);
        end);
    end);
end;
v50.didMount = function(v106)
    local _ = nil;
    if if not v35 then not v106.props.DEPRECATED_itemData or not v106.props.DEPRECATED_itemData.receivedCatalogData else not v106.props.itemInfo or not v106.props.tryOnItem.receivedCatalogData then
        local l_tryOnItem_4 = v106.props.tryOnItem;
        v106.props.fetchItemData(v106.props.networking, v106.props.appAnalytics, l_tryOnItem_4.itemId, l_tryOnItem_4.itemType);
    end;
end;
return (v3.connect(function(v109, v110)
    local v111 = nil;
    local v112 = nil;
    if not v35 then
        v111 = v24(v109.AvatarExperience.Common, v110.tryOnItem.itemId, v110.tryOnItem.itemType);
    else
        v112 = v25(v109.AvatarExperience, v110.tryOnItem.itemId, v110.tryOnItem.itemType);
    end;
    local l_LocalUserId_0 = v109.LocalUserId;
    return {
        DEPRECATED_itemData = v111,
        itemInfo = v112,
        playerMembership = not not v109.Users[l_LocalUserId_0] and v109.Users[l_LocalUserId_0].membership or Enum.MembershipType.None
    };
end, function(v114)
    return {
        fetchItemData = function(v115, v116, v117, v118)
            return v114(v26(v115, v116, v117, v118));
        end,
        setEquippedInTryOnManager = function(v119, v120, v121, v122)
            return v114(v27(v119, v120, v121, v122));
        end,
        openPremiumUpsell = function(v123, v124, v125, v126, v127)
            v114(v33(v123, v124, nil, v127, {
                assetId = v125,
                isBundle = v126
            }));
        end,
        setTryOnManagerPeekViewState = function(v128)
            v114(v28(v128));
        end
    };
end)((l_withNavigation_0((l_RoactServices_0.connect({
    appAnalytics = v21,
    catalogAnalytics = v30,
    networking = v19,
    localization = v20
})(v50))))));


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_UserInputService_0 = game:GetService("UserInputService");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_GuiService_0 = game:GetService("GuiService");
local v4 = require(l_CorePackages_0.Roact);
local v5 = require(l_CorePackages_0.RoactRodux);
local v6 = require(l_CorePackages_0.Packages.RoactGamepad);
local l_Focusable_0 = v6.Focusable;
local v8 = require(l_CorePackages_0.Workspace.Packages.SharedFlags);
local v9 = require(l_CorePackages_0.Packages.t);
local v10 = require(l_CorePackages_0.UIBlox);
local v11 = require(l_CorePackages_0.Cryo);
local l_withLocalization_0 = require(l_CorePackages_0.Workspace.Packages.Localization).withLocalization;
local l_ExternalEventConnection_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).ExternalEventConnection;
local l_wasLastInputGamepad_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).wasLastInputGamepad;
local l_DeviceOrientationMode_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppEnums).DeviceOrientationMode;
local l_getSafeAreaSize_0 = require(l_CorePackages_0.Workspace.Packages.InputUi).getSafeAreaSize;
local _ = require(l_Modules_0.AvatarExperience.Common.AvatarExperienceState);
local l_PeekView_0 = require(l_CorePackages_0.Workspace.Packages.PeekView).PeekView;
local l_PeekViewState_0 = require(l_CorePackages_0.Workspace.Packages.PeekView).PeekViewState;
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local v21 = require(l_Modules_0.AvatarExperience.Catalog.Services.Analytics);
local v22 = require(l_Modules_0.AvatarExperience.Common.Constants);
local v23 = require(l_Modules_0.AvatarExperience.Catalog.CatalogConstants);
local v24 = require(l_Modules_0.LuaApp.Constants);
local v25 = require(l_Modules_0.AvatarExperience.Common.NamedRefConstants);
local v26 = require(l_Modules_0.AvatarExperience.Common.Actions.RemoveUnselectedItemsFromTryOn);
local v27 = require(l_Modules_0.AvatarExperience.Common.Actions.RemoveLookItemsFromTryOn);
local v28 = require(l_Modules_0.AvatarExperience.Catalog.Actions.SetTryOnManagerPeekViewState);
local v29 = require(l_Modules_0.AvatarExperience.Common.Components.GamepadFocusHandlerForPage);
local v30 = require(l_Modules_0.AvatarExperience.Catalog.Components.TryOnManager.TryOnManagerElement);
local v31 = require(l_Modules_0.AvatarExperience.Catalog.Components.TryOnManager.TryOnManagerBottomBar);
local v32 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.NavigationUtils);
local v33 = require(l_Modules_0.AvatarExperience.Common.Enum.FullView);
local v34 = require(l_Modules_0.AvatarExperience.Common.Context.withNamedRefs);
local v35 = require(l_Modules_0.AvatarExperience.Common.Components.withLastInputGroup);
local v36 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.AvatarScreen);
local v37 = require(l_Modules_0.AvatarExperience.Common.Selectors.selectIsFullView);
local v38 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXImproveTryOnManagerUI);
local l_GetFFlagHideDraggerPeekView_0 = v8.GetFFlagHideDraggerPeekView;
local l_GetFFlagPeekViewMinimizeToSuperBrief_0 = v8.GetFFlagPeekViewMinimizeToSuperBrief;
local l_withStyle_0 = v10.Style.withStyle;
local l_Images_0 = v10.App.ImageSet.Images;
local l_ImageSetButton_0 = v10.Core.ImageSet.ImageSetButton;
local l_withSelectionCursorProvider_0 = v10.App.SelectionImage.withSelectionCursorProvider;
local l_CursorKind_0 = v10.App.SelectionImage.CursorKind;
local v46 = game:DefineFastFlag("EnableFixForTryOnManagerGamepadHighlight", false);
local v47 = game:DefineFastFlag("DisableLookCleanupOnPeekviewUnmount", false);
local v48 = game:DefineFastFlag("EnableScrollingInTryOnManager", false);
local v49 = game:DefineFastFlag("AXCloseTryOnManagerWhenUnselectingLook", false);
local v50 = game:DefineFastFlag("AXFixClosingTryOnManagerPeekViewForLooks", false);
local v51 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagHideShowMoreButtonOnTryOnManager);
local v52 = require(l_Modules_0.AvatarExperience.Flags.FFlagAXAvatarWidgetData);
local v53 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXRefactorTryOnItems);
local l_ActionBarHeight_0 = v23.ActionBar.ActionBarHeight;
local l_ActionBarGradientHeight_0 = v23.ActionBar.ActionBarGradientHeight;
local v56 = l_Images_0["icons/navigation/close"];
local v57 = l_GuiService_0:IsTenFootInterface();
local v58 = v4.PureComponent:extend("TryOnManagerPeekView");
v58.validateProps = v9.strictInterface({
    navigation = v9.table,
    avatarRoute = v9.table,
    isPortrait = v9.boolean,
    topBarHeight = v9.number,
    tryOnItems = v9.optional(v9.table),
    lookId = v9.optional(v9.string),
    lookDetails = v9.optional(v9.table),
    globalGuiInset = v9.table,
    screenSize = v9.Vector2,
    fullView = v9.optional(v9.userdata),
    boundInputs = v9.optional(v9.table),
    peekViewState = v9.optional(v9.valueOf(l_PeekViewState_0)),
    removeUnselectedItemsFromTryOn = v9.callback,
    removeLookItemsFromTryOn = v9.callback,
    setTryOnManagerPeekViewState = v9.callback,
    catalogAnalytics = v9.table,
    namedRefs = v9.table,
    lastInputGroup = v9.string
});
local function _(v59)
    return v24.InputTypeMap[v59] == v24.InputType.MouseAndKeyboard;
end;
v58.init = function(v61)
    v61:setState({
        isMouseAndKeyboard = v24.InputTypeMap[l_UserInputService_0:GetLastInputType()] == v24.InputType.MouseAndKeyboard
    });
    v61.frameRef = v61.props.namedRefs[v36.TryOnManager];
    v61.actionBarRef = v4.createRef();
    v61.itemsListRef = v4.createRef();
    v61.closeButtonRef = v4.createRef();
    v61.tryOnElementRefCache = v6.createRefCache();
    v61.focusController = v6.createFocusController();
    v61.contentFrameRef = v4.createRef();
    v61.onPeekViewClosed = function()
        if v61.props.lookId ~= nil then
            v61.props.removeLookItemsFromTryOn(v61.props.lookId, v61.props.lookDetails);
            return ;
        else
            v61.props.removeUnselectedItemsFromTryOn();
            return ;
        end;
    end;
    v61.viewStateChanged = function(v62, v63)
        v61.props.setTryOnManagerPeekViewState(v62);
        local l_catalogAnalytics_0 = v61.props.catalogAnalytics;
        if v62 == l_PeekViewState_0.Closed then
            v61.onPeekViewClosed();
            if not v50 then
                v32.closeFocusedScreen(v61.props.navigation);
            end;
        end;
        if v62 == l_PeekViewState_0.Brief then
            if not (v63 ~= l_PeekViewState_0.Full) or v63 == l_PeekViewState_0.Extended then
                l_catalogAnalytics_0.resizeOutfitScreen("minimize");
                return ;
            end;
        elseif v62 == l_PeekViewState_0.Full and v63 == l_PeekViewState_0.Brief then
            l_catalogAnalytics_0.resizeOutfitScreen("expand");
        end;
    end;
    v61.onCloseButtonPressed = function()
        if not l_GetFFlagPeekViewMinimizeToSuperBrief_0() then
            v61.onPeekViewClosed();
            v61.props.setTryOnManagerPeekViewState(l_PeekViewState_0.Closed);
            return ;
        else
            v61.props.setTryOnManagerPeekViewState(l_PeekViewState_0.SuperBrief);
            return ;
        end;
    end;
end;
v58.getActionBarTotalHeight = function(v65, v66)
    local v67 = l_ActionBarHeight_0 + if not l_GetFFlagHideDraggerPeekView_0() then l_ActionBarGradientHeight_0 else 0;
    local v68 = 0;
    local v69 = 0;
    if not (v57 and v65.props.lastInputGroup == v24.InputType.Gamepad) or v11.isEmpty(v65.props.boundInputs) then
        if v65.props.lookId ~= nil then
            v69 = 20;
        end;
    else
        v68 = v24.GAMEPAD_BOTTOM_BAR_SIZE;
    end;
    return ((v67 + v68) + v69) - (not l_GetFFlagHideDraggerPeekView_0() and 0 or if if not l_GetFFlagHideDraggerPeekView_0() then nil else v65.props.peekViewState == l_PeekViewState_0.SuperBrief then v66.Tokens.Global.Space_200 else -v66.Tokens.Global.Space_100);
end;
v58.getBriefViewHeight = function(v70)
    local l_Offset_0 = l_getSafeAreaSize_0(v70.props.screenSize, v70.props.globalGuiInset).Y.Offset;
    if not v70.props.isPortrait then
        return ((l_Offset_0 - v70.props.topBarHeight) - 25) * 0.5;
    else
        return ((v70.props.screenSize.Y - l_Offset_0 * v22.PortraitSceneHeight) - v70.props.topBarHeight) - 25;
    end;
end;
v58.renderActionBar = function(v72, v73)
    local l_Theme_0 = v73.Theme;
    local v75 = v72:getActionBarTotalHeight(if not l_GetFFlagHideDraggerPeekView_0() then nil else v73);
    local v76 = if not l_GetFFlagHideDraggerPeekView_0() then nil else v72.props.peekViewState == l_PeekViewState_0.SuperBrief;
    return v4.createFragment({
        BottomContainer = v4.createElement(l_Focusable_0.Frame, {
            BackgroundColor3 = l_Theme_0.BackgroundDefault.Color,
            BorderSizePixel = 0,
            BackgroundTransparency = 0,
            Size = UDim2.new(1, 0, 0, v75),
            Position = UDim2.fromScale(0, 0),
            AnchorPoint = Vector2.new(0, 0),
            ZIndex = 2,
            ref = v72.actionBarRef,
            NextSelectionUp = v72.itemsListRef
        }, {
            Padding = v4.createElement("UIPadding", {
                PaddingLeft = UDim.new(0, 10),
                PaddingRight = UDim.new(0, 10),
                PaddingTop = if not not l_GetFFlagHideDraggerPeekView_0() and v76 then UDim.new(0, -v73.Tokens.Global.Space_175) else UDim.new(0, v73.Tokens.Global.Space_125)
            }),
            TryOnManagerBottomBar = v4.createElement(v31, {
                lookId = v72.props.lookId,
                showMoreButton = if not v51() then nil else v51() and v76
            })
        }),
        TopFrame = if not l_GetFFlagHideDraggerPeekView_0() then nil else v4.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, 3),
            Position = UDim2.new(0, 0, 1, -v75),
            AnchorPoint = Vector2.new(0, 1),
            BackgroundColor3 = l_Theme_0.BackgroundDefault.Color,
            BorderSizePixel = 0
        }),
        Gradient = if not not l_GetFFlagHideDraggerPeekView_0() and v76 then nil else v4.createElement("ImageLabel", {
            Size = UDim2.new(1, 0, 0, l_ActionBarGradientHeight_0),
            Position = UDim2.new(0, 0, 1, -v75 - (not l_GetFFlagHideDraggerPeekView_0() and 0 or 3)),
            AnchorPoint = Vector2.new(0, 1),
            BackgroundTransparency = 1,
            Image = "rbxasset://textures/ui/LuaApp/graphic/gradient_0_100.png",
            ImageColor3 = l_Theme_0.BackgroundDefault.Color
        })
    });
end;
v58.renderTopContent = function(v77, v78, v79, v80)
    local l_Theme_1 = v78.Theme;
    local l_Font_0 = v78.Font;
    return v4.createFragment({
        UIPadding = v4.createElement("UIPadding", {
            PaddingTop = UDim.new(0, 25)
        }),
        CloseButton = v4.createElement(l_Focusable_0[l_ImageSetButton_0], {
            BackgroundTransparency = 1,
            AnchorPoint = Vector2.new(0, 0.5),
            Position = UDim2.new(0, 15, 0.5, 0),
            Size = UDim2.fromOffset(40, 40),
            Image = v56,
            ImageColor3 = l_Theme_1.SystemPrimaryDefault.Color,
            ImageTransparency = l_Theme_1.SystemPrimaryDefault.Transparency,
            [v4.Event.Activated] = v77.onCloseButtonPressed,
            ref = v77.closeButtonRef,
            NextSelectionDown = v77.itemsListRef,
            SelectionImageObject = v80(l_CursorKind_0.RoundedRectNoInset)
        }),
        Title = v4.createElement("TextLabel", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, 0, 0, 36),
            AnchorPoint = Vector2.new(0.5, 0.5),
            Position = UDim2.fromScale(0.5, 0.5),
            Text = v79.yourTryOns,
            TextSize = l_Font_0.BaseSize * l_Font_0.Header1.RelativeSize,
            Font = l_Font_0.Header1.Font,
            TextColor3 = l_Theme_1.IconEmphasis.Color,
            TextTransparency = l_Theme_1.IconEmphasis.Transparency,
            TextTruncate = Enum.TextTruncate.AtEnd,
            TextXAlignment = Enum.TextXAlignment.Center,
            TextYAlignment = Enum.TextYAlignment.Center
        })
    });
end;
v58.orderTryOns = function(v83, v84)
    local v85 = {};
    for _, v87 in v84, nil, nil do
        table.insert(v85, v87);
    end;
    if (not v53() or not v83.props.lookId) or not v83.props.lookDetails then
        table.sort(v85, function(v88, v89)
            return v84[v89.itemId].itemRecency < v84[v88.itemId].itemRecency;
        end);
    else
        local v90 = v83.props.lookDetails[v83.props.lookId];
        if v90 and v90.lookType == v22.LookType.Avatar then
            table.sort(v85, function(v91, v92)
                return v91.itemRecency < v92.itemRecency;
            end);
            return v85;
        end;
    end;
    return v85;
end;
v58.renderTryOnItemContents = function(v93, _, _, v96)
    local v97 = {
        ListLayout = v4.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            HorizontalAlignment = Enum.HorizontalAlignment.Left,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Top,
            Padding = UDim.new(0, 20)
        })
    };
    local v98 = 1;
    local v99 = v93:orderTryOns(v93.props.tryOnItems);
    for v100, v101 in v99, nil, nil do
        local v102 = nil;
        local _ = nil;
        if v98 > 1 then
            v102 = v93.tryOnElementRefCache[v99[v100 - 1].itemId];
        elseif v96 then
            v102 = v93.closeButtonRef;
        end;
        v97[v101.itemId] = v4.createElement(v30, {
            tryOnItem = v101,
            layoutOrder = v98,
            allowAutomaticPeekViewStateChanges = v93.props.lookId == nil,
            elementRef = v93.tryOnElementRefCache[v101.itemId],
            NextSelectionUp = v102,
            NextSelectionDown = if v98 < #v99 then v93.tryOnElementRefCache[v99[v100 + 1].itemId] else v93.actionBarRef
        });
        v98 = v98 + 1;
    end;
    return v97;
end;
v58.renderWithProviders = function(v104, v105, v106, v107)
    local l_Theme_2 = v105.Theme;
    local v109 = UDim2.fromOffset(0, v104.props.topBarHeight);
    local v110 = UDim2.new(1, 0, 1, -v104.props.topBarHeight);
    if not v104.props.isPortrait then
        v109 = UDim2.new(v22.LandscapeNavWidth, 0, 0, v104.props.topBarHeight);
        v110 = UDim2.new(v22.LandscapeSceneWidth, 0, 1, -v104.props.topBarHeight);
    end;
    local v111 = v104:getBriefViewHeight();
    local v112 = if v104.props.lookId ~= nil then v104:getActionBarTotalHeight(if not l_GetFFlagHideDraggerPeekView_0() then nil else v105) else nil;
    local v113 = v104:getActionBarTotalHeight(if not l_GetFFlagHideDraggerPeekView_0() then nil else v105);
    local v114 = (v104.props.screenSize.Y - v104.props.topBarHeight) - v104.props.globalGuiInset.bottom;
    local v115 = true;
    if v104.props.peekViewState ~= l_PeekViewState_0.Full then
        v115 = v104.props.peekViewState == l_PeekViewState_0.Extended;
    end;
    local v116 = v104.state.isMouseAndKeyboard and v104.props.peekViewState == l_PeekViewState_0.Brief;
    local v117 = not not v48 or not v116;
    local v118 = if not l_GetFFlagHideDraggerPeekView_0() then nil else v104.props.peekViewState == l_PeekViewState_0.SuperBrief;
    if not (not l_GetFFlagHideDraggerPeekView_0() or not v117) then
        v117 = not v118;
    end;
    return v4.createElement(l_Focusable_0.Frame, {
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        Size = v110,
        Position = v109,
        Visible = v104.props.fullView ~= v33.SceneFullView,
        ref = v104.frameRef,
        focusController = v104.focusController,
        defaultChild = v104.actionBarRef,
        restorePreviousChildFocus = true,
        NextSelectionLeft = v104.props.namedRefs[v104.props.avatarRoute.opaque.name .. v25.ItemsList],
        inputBindings = {
            NavigateBack = v6.Input.onBegin(Enum.KeyCode.ButtonB, function()
                v104.onPeekViewClosed();
                v32.closeFocusedScreen(v104.props.navigation);
            end),
            OpenCloseTryOnManager = v6.Input.onBegin(Enum.KeyCode.ButtonY, function()
                local l_peekViewState_0 = v104.props.peekViewState;
                if not (l_peekViewState_0 ~= l_PeekViewState_0.Full) or l_peekViewState_0 == l_PeekViewState_0.Extended then
                    v104.props.setTryOnManagerPeekViewState(l_PeekViewState_0.Brief);
                    return ;
                else
                    v104.props.setTryOnManagerPeekViewState(l_PeekViewState_0.Full);
                    return ;
                end;
            end, {
                key = "Feature.Catalog.Label.TryOns"
            })
        }
    }, {
        GamepadFocusHandlerForPage = v4.createElement(v29, {
            focusController = v104.focusController,
            captureFocusOnMount = true
        }),
        TryOnManagerTopBar = v115 and v4.createElement("Frame", {
            ZIndex = 3,
            BackgroundTransparency = 0,
            BackgroundColor3 = l_Theme_2.BackgroundDefault.Color,
            Size = UDim2.new(1, 0, 0, v104.props.topBarHeight),
            Position = UDim2.fromOffset(0, -v104.props.topBarHeight),
            BorderSizePixel = 0,
            Active = true
        }, {
            TopContent = v104:renderTopContent(v105, v106, v107)
        }),
        CloseButton = v116 and v4.createElement(l_ImageSetButton_0, {
            AnchorPoint = Vector2.new(0, 1),
            BackgroundTransparency = 1,
            Position = UDim2.new(0, 15, 1, -v104:getBriefViewHeight() - 36),
            Size = UDim2.new(0, 36, 0, 36),
            Image = v56,
            ImageColor3 = l_Theme_2.SystemPrimaryDefault.Color,
            [v4.Event.Activated] = v104.onCloseButtonPressed
        }),
        PeekViewContainer = v4.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.fromScale(1, 1),
            ZIndex = 3,
            ClipsDescendants = true
        }, {
            PeekView = v4.createElement(l_PeekView_0, {
                briefViewContentHeight = UDim.new(0, v111),
                mountAnimation = true,
                mountAsFullView = false,
                canDragFullViewToBrief = true,
                showDraggerInClosedState = false,
                returnToFullView = true,
                thumbstickScrollEnabled = true,
                viewStateChanged = v104.viewStateChanged,
                showDropShadow = (not l_GetFFlagHideDraggerPeekView_0() or not v118) and nil,
                superBriefViewContentHeight = if v104.props.lookId ~= nil then UDim.new(0, v112) else nil,
                stateOnMount = if not v104.props.lookId then nil else v104.props.peekViewState,
                bottomDockedContainerHeight = v113,
                bottomDockedContainerContent = v104:renderActionBar(v105),
                backgroundColor3 = l_Theme_2.BackgroundDefault.Color,
                backgroundTransparency = l_Theme_2.BackgroundUIDefault.Transparency,
                peekHeaderClose = false,
                isScrollingEnabled = v117,
                peekViewState = v104.props.peekViewState,
                hideDraggerInSuperBrief = not not l_GetFFlagHideDraggerPeekView_0() or nil,
                minimizeToSuperBrief = not not l_GetFFlagPeekViewMinimizeToSuperBrief_0() or nil
            }, {
                Padding = if not v38() then nil else v4.createElement("UIPadding", {
                    PaddingTop = UDim.new(0, 8)
                }),
                TryOnManagerContainer = v4.createElement(l_Focusable_0.Frame, {
                    BackgroundTransparency = 1,
                    Size = UDim2.new(1, 0, 0, v114),
                    AutomaticSize = Enum.AutomaticSize.Y,
                    ref = v104.itemsListRef,
                    restorePreviousChildFocus = true
                }, v104:renderTryOnItemContents(v105, v106, v115))
            })
        }),
        LastInputTypeChangedConnection = v4.createElement(l_ExternalEventConnection_0, {
            event = l_UserInputService_0.LastInputTypeChanged,
            callback = function(v120)
                if v120 then
                    local v121 = v24.InputTypeMap[v120] == v24.InputType.MouseAndKeyboard;
                    if v121 ~= v104.state.isMouseAndKeyboard then
                        v104:setState({
                            isMouseAndKeyboard = v121
                        });
                    end;
                end;
            end
        })
    });
end;
v58.render = function(v122)
    return l_withStyle_0(function(v123)
        return l_withLocalization_0({
            yourTryOns = "Feature.Avatar.Title.YourTryOns"
        })(function(v124)
            return l_withSelectionCursorProvider_0(function(v125)
                return v122:renderWithProviders(v123, v124, v125);
            end);
        end);
    end);
end;
if not v49 then
    v58.didUpdate = function(v126, v127)
        if not v46 or l_wasLastInputGamepad_0() then
            if v126.props.peekViewState ~= v127.peekViewState and v126.props.peekViewState ~= l_PeekViewState_0.Closed then
                v126.focusController.captureFocus();
                if v126.props.peekViewState == l_PeekViewState_0.Brief then
                    v126.focusController.moveFocusTo(v126.actionBarRef);
                end;
            end;
            return ;
        else
            return ;
        end;
    end;
else
    v58.didUpdate = function(v128, v129, v130)
        if not (not v129.lookId or v128.props.lookId) then
            v128.onPeekViewClosed();
            v128.props.setTryOnManagerPeekViewState(l_PeekViewState_0.Closed);
        end;
        if not v46 or l_wasLastInputGamepad_0() then
            if v128.props.peekViewState ~= v130.peekViewState and v128.props.peekViewState ~= l_PeekViewState_0.Closed then
                v128.focusController.captureFocus();
                if v128.props.peekViewState == l_PeekViewState_0.Brief then
                    v128.focusController.moveFocusTo(v128.actionBarRef);
                end;
            end;
            return ;
        else
            return ;
        end;
    end;
end;
v58.willUnmount = function(v131)
    if not v47 and v131.props.lookId ~= nil then
        v131.props.removeLookItemsFromTryOn(v131.props.lookId, v131.props.lookDetails);
    end;
end;
return (v5.connect(function(v132, v133)
    return {
        isPortrait = v132.DeviceOrientation == l_DeviceOrientationMode_0.Portrait,
        topBarHeight = v132.TopBar.topBarHeight,
        tryOnItems = v132.AvatarExperience.AvatarScene.OutfitTryOn.TryOnItems,
        lookId = v132.AvatarExperience.AvatarScene.OutfitTryOn.LookId,
        lookDetails = v132.AvatarExperience.AvatarScene.Looks,
        globalGuiInset = v132.GlobalGuiInset,
        screenSize = v132.ScreenSize,
        fullView = v37(v132, v133.avatarRoute.opaque.name),
        boundInputs = v132.GamepadBottomBar.boundInputs,
        peekViewState = v132.AvatarExperience.Common.ItemDetailsPeekView.tryOnManagerViewState
    };
end, function(v134)
    return {
        removeUnselectedItemsFromTryOn = function()
            return v134(v26());
        end,
        removeLookItemsFromTryOn = function(v135, v136)
            if (not v135 or not v136) or not v136[v135] then
                return ;
            else
                local v137 = {};
                for v138 in v136[v135].lookAssetInfos, nil, nil do
                    table.insert(v137, v138);
                end;
                local v139 = nil;
                if v52() then
                    v139 = {};
                    for v140 in v136[v135].lookBundleInfos, nil, nil do
                        table.insert(v139, v140);
                    end;
                end;
                return v134(v27(v135, v137, v139));
            end;
        end,
        setTryOnManagerPeekViewState = function(v141)
            v134(v28(v141));
        end
    };
end)((v35((v34((l_RoactServices_0.connect({
    catalogAnalytics = v21
})(v58))))))));


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_Modules_0.AvatarExperience.Common.Constants);
local v4 = require(l_Modules_0.AvatarExperience.Catalog.CatalogConstants);
local v5 = require(l_Modules_0.LuaApp.SearchUuid);
local v6 = require(l_Modules_0.AvatarExperience.Common.getClothingCategories);
local v7 = require(l_CorePackages_0.Workspace.Packages.ArgCheck);
local v8 = require(l_Modules_0.AvatarExperience.Common.Enum.CatalogCategories);
local v9 = require(l_Modules_0.AvatarExperience.Common.Enum.CatalogSubcategories);
local _ = require(l_Modules_0.AvatarExperience.Common.CategoryTypes);
local v11 = require(l_Modules_0.AvatarExperience.Common.Util.IXPUtils);
local v12 = require(l_Modules_0.AvatarExperience.Flags.AXCatalogRefreshIXPTest);
local v13 = require(l_Modules_0.AvatarExperience.Flags.GetFIntMinSecsToRefreshRecommendedCatalogPage);
local v14 = not not v12.isEnabled() and v11.readTestVariable(v12.EnabledForUser);
local function v15()
    return {
        {
            Name = "All",
            NavigationKey = v8.Recommended,
            IconOn = "icons/menu/clothing/recommended_on",
            IconOff = "icons/menu/clothing/recommended_off",
            Title = "Feature.Avatar.Heading.All",
            CategoryFilter = "Recommended",
            DisableFilters = true,
            ShowSponsored = true,
            ShowWidgets = true,
            ShowTopics = true,
            CanAnimateCameraBasedMood = true,
            SearchUuid = v5(),
            TimeToRefresh = if not v14 then v4.MinSecsToRefreshRecommendedCatalogPage else v13()
        },
        {
            Name = "Characters",
            NavigationKey = v8.Characters,
            Title = "Feature.Catalog.Label.Characters",
            IconOn = "icons/menu/clothing/characters_on",
            IconOff = "icons/menu/clothing/characters_off",
            BundleTypes = {
                v3.BundleTypeIdStrings.BodyParts
            },
            CanAnimateCameraBasedMood = true,
            SearchUuid = v5(),
            TimeToRefresh = if not v14 then nil else v13()
        },
        v6().catalogCategories,
        {
            Name = "Accessories",
            NavigationKey = v8.Accessories,
            Title = "Feature.Catalog.LabelAccessories",
            IconOn = "icons/menu/clothing/accessories_on",
            IconOff = "icons/menu/clothing/accessories_off",
            TimeToRefresh = if not v14 then nil else v13(),
            AssetTypeIdStrings = {
                v3.AssetTypeIdStrings.Hat,
                v3.AssetTypeIdStrings.FaceAccessory,
                v3.AssetTypeIdStrings.NeckAccessory,
                v3.AssetTypeIdStrings.ShoulderAccessory,
                v3.AssetTypeIdStrings.FrontAccessory,
                v3.AssetTypeIdStrings.BackAccessory,
                v3.AssetTypeIdStrings.WaistAccessory,
                v3.AssetTypeIdStrings.Gear
            },
            CanAnimateCameraBasedMood = true,
            SearchUuid = v5(),
            Subcategories = {
                [1] = {
                    Name = "Hats",
                    NavigationKey = v9.Hats,
                    Title = "Feature.Avatar.Label.Head",
                    IconOn = "icons/menu/clothing/hats_on",
                    IconOff = "icons/menu/clothing/hats_off",
                    CameraFocus = v3.FocusType.Head,
                    CameraZoomRadius = 11,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.Hat
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [2] = {
                    Name = "Face",
                    NavigationKey = v9.Face,
                    Title = "Feature.Avatar.Label.Face",
                    IconOn = "icons/menu/clothing/face_on",
                    IconOff = "icons/menu/clothing/face_off",
                    CameraFocus = v3.FocusType.Face,
                    CameraZoomRadius = 4.5,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.FaceAccessory
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [3] = {
                    Name = "Neck",
                    NavigationKey = v9.Neck,
                    Title = "Feature.Avatar.Label.Neck",
                    IconOn = "icons/menu/clothing/neck_on",
                    IconOff = "icons/menu/clothing/neck_off",
                    CameraFocus = v3.FocusType.Neck,
                    CameraZoomRadius = 9,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.NeckAccessory
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [4] = {
                    Name = "Shoulder",
                    NavigationKey = v9.Shoulder,
                    Title = "Feature.Avatar.Label.Shoulder",
                    IconOn = "icons/menu/clothing/shoulder_on",
                    IconOff = "icons/menu/clothing/shoulder_off",
                    CameraFocus = v3.FocusType.Shoulders,
                    CameraZoomRadius = 11,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.ShoulderAccessory
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [5] = {
                    Name = "Front",
                    NavigationKey = v9.Front,
                    Title = "Feature.Avatar.Label.Front",
                    IconOn = "icons/menu/clothing/front_on",
                    IconOff = "icons/menu/clothing/front_off",
                    CameraFocus = v3.FocusType.Arms,
                    CameraZoomRadius = 9.5,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.FrontAccessory
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [6] = {
                    Name = "Back",
                    NavigationKey = v9.Back,
                    Title = "Feature.Avatar.Label.Back",
                    IconOn = "icons/menu/clothing/back_on",
                    IconOff = "icons/menu/clothing/back_off",
                    CameraFocus = v3.FocusType.Arms,
                    CameraZoomRadius = 21,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.BackAccessory
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [7] = {
                    Name = "Waist",
                    NavigationKey = v9.Waist,
                    Title = "Feature.Avatar.Label.Waist",
                    IconOn = "icons/menu/clothing/waist_on",
                    IconOff = "icons/menu/clothing/waist_off",
                    CameraFocus = v3.FocusType.Waist,
                    CameraZoomRadius = 17,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.WaistAccessory
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [8] = {
                    Name = "Gear",
                    NavigationKey = v9.Gear,
                    Title = "Feature.Catalog.Label.Gear",
                    IconOn = "icons/menu/clothing/gear_on",
                    IconOff = "icons/menu/clothing/gear_off",
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.Gear
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                }
            }
        },
        {
            Name = "Heads",
            NavigationKey = v8.Head,
            Title = "Feature.Avatar.Label.Heads",
            IconOn = "icons/menu/clothing/classicHead_on",
            IconOff = "icons/menu/clothing/classicHead_off",
            AssetTypeIdStrings = {
                v3.AssetTypeIdStrings.HairAccessory,
                v3.AssetTypeIdStrings.Head,
                v3.AssetTypeIdStrings.Face,
                v3.AssetTypeIdStrings.DynamicHead
            },
            BundleTypes = {
                v3.BundleTypeIdStrings.DynamicHead
            },
            CanAnimateCameraBasedMood = true,
            SearchUuid = v5(),
            TimeToRefresh = if not v14 then nil else v13(),
            Subcategories = {
                [1] = {
                    Name = "Heads",
                    NavigationKey = v9.Heads,
                    Title = "Feature.Avatar.Label.Heads",
                    IconOn = "icons/menu/clothing/type_on",
                    IconOff = "icons/menu/clothing/type_off",
                    CameraFocus = v3.FocusType.Head,
                    CameraZoomRadius = 8.5,
                    BundleTypes = {
                        v3.BundleTypeIdStrings.DynamicHead
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [2] = {
                    Name = "Hair",
                    NavigationKey = v9.Hair,
                    Title = "Feature.Catalog.Label.Hair",
                    IconOn = "icons/menu/clothing/hair_on",
                    IconOff = "icons/menu/clothing/hair_off",
                    CameraFocus = v3.FocusType.Head,
                    CameraZoomRadius = 8.5,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.HairAccessory
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [3] = {
                    Name = "Classic Heads",
                    NavigationKey = v9.ClassicHeads,
                    Title = "Feature.Avatar.Label.ClassicHeads",
                    IconOn = "icons/menu/clothing/classicHead_on",
                    IconOff = "icons/menu/clothing/classicHead_off",
                    CameraFocus = v3.FocusType.Head,
                    CameraZoomRadius = 6.5,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.Head
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [4] = {
                    Name = "Classic Faces",
                    NavigationKey = v9.ClassicFaces,
                    Title = "Feature.Avatar.Label.ClassicFaces",
                    IconOn = "icons/menu/clothing/faces_on",
                    IconOff = "icons/menu/clothing/faces_off",
                    CameraFocus = v3.FocusType.Face,
                    CameraZoomRadius = 7,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.Face
                    },
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                }
            }
        },
        {
            Name = "AllAnimations",
            NavigationKey = v8.AllAnimations,
            Title = "Feature.Avatar.Heading.Animations",
            IconOn = "icons/menu/clothing/animation_on",
            IconOff = "icons/menu/clothing/animation_off",
            CameraZoomRadius = v3.AnimationCategoryCameraZoomRadius,
            AssetTypeIdStrings = {
                v3.AssetTypeIdStrings.EmoteAnimation
            },
            BundleTypes = {
                v3.BundleTypeIdStrings.Animations
            },
            PageType = v3.PageType.AllAnimation,
            CanAnimateCameraBasedMood = true,
            SearchUuid = v5(),
            TimeToRefresh = if not v14 then nil else v13(),
            Subcategories = {
                [1] = {
                    Name = "AnimationBundles",
                    NavigationKey = v9.AnimationBundles,
                    Title = "Feature.Catalog.Label.Bundles",
                    IconOn = "icons/menu/clothing/animation_on",
                    IconOff = "icons/menu/clothing/animation_off",
                    CameraZoomRadius = v3.AnimationCategoryCameraZoomRadius,
                    CanAnimateCameraBasedMood = true,
                    BundleTypes = {
                        v3.BundleTypeIdStrings.Animations
                    },
                    PageType = v3.PageType.Animation,
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                },
                [2] = {
                    Name = "Emotes",
                    NavigationKey = v9.Emotes,
                    Title = "Feature.Catalog.Label.Emotes",
                    IconOn = "icons/menu/clothing/emotes_on",
                    IconOff = "icons/menu/clothing/emotes_off",
                    CameraZoomRadius = v3.AnimationCategoryCameraZoomRadius,
                    CanAnimateCameraBasedMood = false,
                    AssetTypeIdStrings = {
                        v3.AssetTypeIdStrings.EmoteAnimation
                    },
                    PageType = v3.PageType.Emotes,
                    SearchUuid = v5(),
                    TimeToRefresh = if not v14 then nil else v13()
                }
            }
        }
    };
end;
local v16 = nil;
local function _(v17)
    v7.isNotNil(v17.IconOn, "category " .. v17.Name .. " is missing iconOn");
    v7.isNotNil(v17.IconOff, "category  " .. v17.Name .. " is missing IconOff");
    v7.isNotNil(v17.SearchUuid, "category  " .. v17.Name .. " is missing SearchUuid");
end;
local function v24(v19)
    for _, v21 in v19, nil, nil do
        v7.isNotNil(v21.IconOn, "category " .. v21.Name .. " is missing iconOn");
        v7.isNotNil(v21.IconOff, "category  " .. v21.Name .. " is missing IconOff");
        v7.isNotNil(v21.SearchUuid, "category  " .. v21.Name .. " is missing SearchUuid");
        if v21.Subcategories then
            for _, v23 in v21.Subcategories, nil, nil do
                v7.isNotNil(v23.IconOn, "category " .. v23.Name .. " is missing iconOn");
                v7.isNotNil(v23.IconOff, "category  " .. v23.Name .. " is missing IconOff");
                v7.isNotNil(v23.SearchUuid, "category  " .. v23.Name .. " is missing SearchUuid");
            end;
        end;
    end;
end;
return function(v25)
    if not v25 then
        if not v16 then
            v16 = v15();
            v24(v16);
        end;
        return v16;
    else
        local v26 = v15();
        v24(v26);
        return v26;
    end;
end;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Packages.React);
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local v4 = require(l_Modules_0.AvatarExperience.Common.Selectors.DEPRECATED_ItemData);
local v5 = require(l_Modules_0.AvatarExperience.Catalog.CatalogUtils);
local _ = require(l_Modules_0.AvatarExperience.Common.Models.CollectibleInfo);
local v7 = require(l_Modules_0.AvatarExperience.Catalog.CatalogConstants);
local _ = require(l_Modules_0.AvatarExperience.Common.Types);
local v9 = require(l_Modules_0.AvatarExperience.Flags.FFlagEnableAttributionItemRow);
local v10 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagEnableCollectiblesSaleLocationCheck);
local v11 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXLimitedBundlesHandleNewData);
return function(v12, v13)
    local v15 = l_useSelector_0(function(v14)
        return v4(v14.AvatarExperience.Common, v12, v13);
    end);
    local v16 = if not v15 then nil else v15.collectibleItemId;
    local v17 = if not v11() then nil else v5.DEPRECATED_isLimitedCollectible(v15);
    local v19 = l_useSelector_0((v2.useCallback(function(v18)
        if not v16 then
            return nil;
        else
            return v18.AvatarExperience.Common.Collectibles.CollectiblesItemInfo[v16];
        end;
    end, {
        v16
    })));
    local v21 = l_useSelector_0((v2.useCallback(function(v20)
        if not v11() or v17 then
            if not v16 then
                return nil;
            else
                return v20.AvatarExperience.Common.Collectibles.CollectiblesResellableInstances[v16];
            end;
        else
            return nil;
        end;
    end, {
        v16,
        if not v11() then nil else v17
    })));
    local v22 = v5.DEPRECATED_IsResellable(v15) or false;
    local v23 = v5.DEPRECATED_getIsTradable(v15);
    local v24 = if not v9 then nil else v5.DEPRECATED_HasAttribution(v15);
    local v25 = 0;
    local v26 = false;
    local v27 = false;
    local v28 = not not v15 and if v15.resellerUserAssetIds then #v15.resellerUserAssetIds > 0 else false;
    local v29 = if not not v15 and v15.soldCount then v15.soldCount else 0;
    local v30 = if not not v15 and v15.totalQuantity then v15.totalQuantity else 0;
    local v31 = if not not v15 and v15.originalPrice then v15.originalPrice else 0;
    local v32 = if not not v15 and v15.averagePrice then v15.averagePrice else 0;
    local l_None_0 = v7.ResaleRestriction.None;
    if v19 then
        l_None_0 = if not v19.resaleRestriction then v7.ResaleRestriction.None else v19.resaleRestriction;
        v28 = not not v19.hasResellers and v19.hasResellers;
        local v34 = v19.assetStock or 0;
        local v35 = v19.unitsAvailableForConsumption or 0;
        v29 = if not not v34 and v35 then v34 - v35 else 0;
        v31 = v19.price or 0;
        v32 = v19.recentAveragePrice or 0;
        v30 = v19.assetStock or 0;
        v25 = v19.quantityLimitPerUser or 0;
        v27 = v5.reachQuantityLimit(v19, v21);
        v26 = v5.shouldShowQuantityLimit(v25);
    end;
    local v36 = v29 < v30;
    if v10() then
        v36 = v36 and v5.isOriginalStockSellableInShop(v19);
    end;
    return {
        averagePrice = v32,
        hasResellers = v28,
        isResellable = v22,
        hasAttribution = v24,
        isStockAvailable = v36,
        isTradable = v23,
        itemStock = v30,
        originalPrice = v31,
        collectiblesResaleRestriction = l_None_0,
        quantityLimit = v25,
        reachedQuantityLimit = v27,
        shouldShowQuantityLimit = v26,
        soldCount = v29
    };
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local v3 = require(l_CorePackages_0.Packages.React);
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local l_useDispatch_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useDispatch;
local l_dependencyArray_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.dependencyArray;
local v7 = require(l_Modules_0.AvatarExperience.Catalog.CatalogUtils);
local v8 = require(l_Modules_0.AvatarExperience.Catalog.Thunks.FetchTopics);
local v9 = require(l_Modules_0.LuaApp.Hooks.useRoactService);
local v10 = require(l_Modules_0.LuaApp.Services.RoactNetworking);
local _ = require(l_CorePackages_0.Workspace.Packages.Http);
local v12 = require(l_Modules_0.AvatarExperience.Flags.GetFFlagAXFixTopicNoResultsShimmer);
local v13 = game:DefineFastInt("AXGetTopicsExpirationSeconds", 600);
local v14 = {
    "____",
    "______",
    "_____",
    "___",
    "_________"
};
local function v20(v15, v16, v17)
    local v18 = v7.getTopicRequestKey(v15, v16, v17);
    return l_useSelector_0((v3.useCallback(function(v19)
        if (v19.AvatarExperience.Catalog.TopicsFetchTimes[v18] or 0) + v13 <= tick() then
            return nil;
        else
            return v19.AvatarExperience.Catalog.Topics[v18];
        end;
    end, {
        v18
    })));
end;
local function _(v21)
    return v21 and #v21 > 0;
end;
return function(v23, v24, v25)
    local v26 = v9(v10);
    local v27 = l_useDispatch_0();
    local v28, v29 = v3.useState(v14);
    local v30 = v20(v23, v24, v25);
    local v31 = v30 == nil;
    if v30 ~= nil and v30 ~= v28 then
        v29(v30);
    end;
    v3.useEffect(function()
        local v32 = false;
        if v30 == nil then
            local l_v23_0 = v23;
            v32 = l_v23_0 and #l_v23_0 > 0;
            if not v32 then
                l_v23_0 = v24;
                v32 = l_v23_0 and #l_v23_0 > 0;
            end;
        end;
        if v12() then
            v32 = v30 == nil;
        end;
        if v32 then
            v27(v8(v26, v23, v24, v25));
        end;
    end, l_dependencyArray_0(v30, v23, v24, v25));
    return v30 or v28, v31;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(l_Modules_0.AvatarExperience.Common.Components.RoactNavigation.AvatarScreen);
local v4 = require(l_Modules_0.AvatarExperience.Common.Context.NamedRefsContext);
local l_Signal_0 = require(l_CorePackages_0.Workspace.Packages.AppCommonLib).Signal;
return function()
    local v6 = v2.useContext(v4)[v3.SortAndFilters .. "-closeSignal"];
    if v6.current == nil then
        v6.current = l_Signal_0.new();
    end;
    return v6.current;
end;