local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_GuiService_0 = game:GetService("GuiService");
local l_Players_0 = game:GetService("Players");
local l_Parent_0 = script.Parent.Parent;
local v5 = require(l_CorePackages_0.Roact);
local v6 = require(l_CorePackages_0.RoactRodux);
local v7 = require(l_Parent_0.Constants);
local v8 = require(l_Parent_0.UtilityFunctions);
local v9 = require(l_Parent_0.Components.FavoritesButton);
local v10 = require(l_Parent_0.Components.TryOnButton);
local v11 = require(l_Parent_0.Components.BuyButton);
local v12 = require(l_Parent_0.Components.InspectAndBuyControllerBar);
local v13 = require(l_Parent_0.Selectors.GetIsFavorite);
local v14 = require(l_CoreGui_0.RobloxGui.Modules.RobloxTranslator);
local v15 = require(l_CorePackages_0.tutils);
local v16 = require(l_Parent_0.Flags.FFlagEnableFavoriteButtonForUgc);
local v17 = require(l_Parent_0.Flags.GetCollectibleItemInInspectAndBuyEnabled);
local v18 = require(l_Parent_0.Flags.FFlagAttributionInInspectAndBuy);
local v19 = require(l_Parent_0.Flags.GetFFlagIBGateUGC4ACollectibleAssetsBundles);
local v20 = require(l_Parent_0.Flags.GetFFlagIBEnableCollectiblesSystemSupport);
local v21 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v22 = require(l_Parent_0.Flags.GetFFlagIBEnableCollectiblePurchaseForUnlimited);
local v23 = game:DefineFastFlag("IBDisableBuyButtonForUnlimitedAsset", false);
local v24 = game:DefineFastFlag("IBDisableBuyButtonForUnlimitedBundle", false);
local v25 = game:DefineFastFlag("IBFixBundlePurchase", false);
local v26 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedBundle);
local v27 = game:DefineFastFlag("IBFixResaleAfterQuantityLimit", false);
local v28 = v5.PureComponent:extend("DetailsButtons");
local function _(v29)
    return v7.AnimationAssetTypes[v29] ~= nil;
end;
local function v37(v31, v32, v33, v34)
    local v35 = nil;
    local v36 = v31.isLimited or v20() and v31.isLimitedUnique;
    if not v34 then
        if not v33 or not v31.isForSale then
            if not (v31.price ~= nil and v31.productType == v7.ProductType.CollectibleItem) or not v31.isForSale then
                if not v31.owned then
                    if not v36 then
                        if v31.isForSale or v36 then
                            if v31.isForSale then
                                if v31.premiumPricing ~= nil then
                                    if l_Players_0.LocalPlayer.MembershipType == Enum.MembershipType.Premium then
                                        return v31.premiumPricing.premiumPriceInRobux;
                                    elseif v31.price == nil then
                                        return (v14:FormatByKeyForLocale("InGame.InspectMenu.Label.PremiumOnly", v32));
                                    else
                                        return v31.price;
                                    end;
                                else
                                    v35 = v31.price;
                                end;
                            end;
                            return v35;
                        else
                            return (v14:FormatByKeyForLocale("InGame.InspectMenu.Label.Offsale", v32));
                        end;
                    else
                        return (v14:FormatByKeyForLocale("InGame.InspectMenu.Label.Limited", v32));
                    end;
                else
                    return (v14:FormatByKeyForLocale("InGame.InspectMenu.Label.Owned", v32));
                end;
            else
                return v31.price;
            end;
        else
            return (v14:FormatByKeyForLocale("InGame.InspectMenu.Action.LimitReached", v32));
        end;
    else
        return (v14:FormatByKeyForLocale("InGame.InspectMenu.Action.FromResale", v32, {
            PRICE = tostring(v34)
        }));
    end;
end;
v28.init = function(v38)
    v38.tryOnButtonRef = v5.createRef();
    v38.buyButtonRef = v5.createRef();
    v38.favoriteButtonRef = v5.createRef();
end;
v28.didUpdate = function(v39, v40)
    local l_detailsInformation_0 = v39.props.detailsInformation;
    local l_gamepadEnabled_0 = v39.props.gamepadEnabled;
    local v43 = false;
    if v40.assetInfo.bundlesAssetIsIn == nil then
        v43 = false;
        if v39.props.assetInfo.bundlesAssetIsIn ~= nil then
            v43 = l_detailsInformation_0.viewingDetails;
        end;
    end;
    if v21() then
        v43 = l_detailsInformation_0.viewingDetails;
    end;
    if not v43 then
        if not ((not (v39.props.assetInfo.bundlesAssetIsIn == nil) or not l_detailsInformation_0.viewingDetails) or not l_gamepadEnabled_0) then
            l_GuiService_0.SelectedCoreObject = nil;
        end;
    else
        local l_assetInfo_0 = v39.props.assetInfo;
        local v45 = not (v7.AnimationAssetTypes[l_assetInfo_0.assetTypeId] ~= nil);
        local l_visible_0 = v39.props.visible;
        if not (not l_gamepadEnabled_0 or not l_visible_0) then
            local v47 = not not l_assetInfo_0 and l_assetInfo_0.creatorId or 0;
            if not v16 then
                if v47 == "1" then
                    l_GuiService_0.SelectedCoreObject = v39.favoriteButtonRef.current;
                elseif not v45 then
                    l_GuiService_0.SelectedCoreObject = v39.buyButtonRef.current;
                else
                    l_GuiService_0.SelectedCoreObject = v39.tryOnButtonRef.current;
                end;
            else
                l_GuiService_0.SelectedCoreObject = v39.favoriteButtonRef.current;
            end;
        end;
    end;
    if v18 then
        local l_overlay_0 = v39.props.overlay;
        local l_overlay_1 = v40.overlay;
        if not (not (not (not l_gamepadEnabled_0 or not l_overlay_0) and l_overlay_0.overlay == nil) or not l_overlay_1) and l_overlay_1.overlay ~= nil then
            l_GuiService_0.SelectedCoreObject = v39.tryOnButtonRef.current;
        end;
    end;
end;
v28.calculateBuyStatusForLimitedItem = function(v50, v51, v52, v53)
    local v54 = v8.isLimited2Point0_Or_LimitedCollectible(v51);
    local v55 = v8.isLimited1Point0(v51) or v8.isLimited1Point0_LimitedUnique(v51);
    local v56 = nil;
    local v57 = nil;
    local v58 = nil;
    local v59 = nil;
    local v60 = nil;
    if not v54 then
        v53 = (v51.isForSale and not v51.owned) and not v55;
    else
        v53 = v51.isForSale;
        local l_resellableInstances_0 = v50.props.resellableInstances;
        local v62 = (l_resellableInstances_0 and l_resellableInstances_0[v51.collectibleItemId]) and v15.fieldCount(l_resellableInstances_0[v51.collectibleItemId]);
        local l_v62_0 = v62;
        if l_v62_0 then
            l_v62_0 = false;
            if v51.collectibleQuantityLimitPerUser ~= nil then
                l_v62_0 = false;
                if v51.collectibleQuantityLimitPerUser > 0 then
                    l_v62_0 = v51.collectibleQuantityLimitPerUser <= v62;
                end;
            end;
        end;
        v56 = l_v62_0;
        l_v62_0 = v51.collectibleLowestAvailableResaleProductId and v51.collectibleLowestAvailableResaleProductId ~= "";
        local v64 = false;
        v64 = if not v27 then l_v62_0 and v51.collectibleLowestResalePrice < (v51.price or 0) else if not (v51.remaining > 0) then l_v62_0 and v51.collectibleLowestResalePrice else l_v62_0 and v51.collectibleLowestResalePrice < (v51.price or 0);
        if not l_v62_0 then
            if v56 then
                v53 = false;
            end;
        elseif not (not (not v53 or v56) and not v64) then
            v57 = v51.collectibleLowestResalePrice;
            v58 = v51.collectibleLowestAvailableResaleItemInstanceId;
            v59 = v51.collectibleLowestAvailableResaleProductId;
            v60 = v51.collectibleItemId;
            v53 = true;
        end;
    end;
    if (v53 and v51.price == nil) and v51.premiumPricing ~= nil then
        v53 = l_Players_0.LocalPlayer.MembershipType == Enum.MembershipType.Premium;
    end;
    local v65 = v37(v51, v52, v56, v57);
    local v66;
    if not (not (v51.price ~= nil) or v51.owned) then
        v66 = v53;
        if v66 then
            goto label0;
        end;
    end;
    v66 = true;
    if v57 == nil then
        v66 = false;
        if v51.price ~= nil then
            v66 = false;
            if v51.productType == v7.ProductType.CollectibleItem then
                v66 = v53;
            end;
        end;
    end;
    ::label0::;
    return {
        buyText = v65,
        showRobuxIcon = v66,
        forSale = v53,
        collectibleQuantityLimitReached = v56,
        collectibleLowestResalePrice = v57,
        collectibleLowestAvailableResaleItemInstanceId = v58,
        collectibleLowestAvailableResaleProductId = v59,
        collectibleItemId = v60
    };
end;
v28.render = function(v67)
    local l_locale_0 = v67.props.locale;
    local l_assetInfo_1 = v67.props.assetInfo;
    local l_bundleInfo_0 = v67.props.bundleInfo;
    local v71 = (l_assetInfo_1.isLimited or v20() and l_assetInfo_1.isLimitedUnique) or false;
    local v72 = false;
    local v73 = false;
    local v74 = not not l_assetInfo_1 and l_assetInfo_1.creatorId or 0;
    local v75 = nil;
    local v76 = nil;
    local v77 = nil;
    local v78 = nil;
    local v79 = nil;
    local v80 = nil;
    local v81 = nil;
    local v82 = false;
    local v83 = nil;
    local v84 = nil;
    local v85 = nil;
    local v86 = nil;
    if l_assetInfo_1 then
        v77 = l_assetInfo_1.bundlesAssetIsIn and #l_assetInfo_1.bundlesAssetIsIn == 1;
        if v21() then
            v77 = l_assetInfo_1.parentBundleId ~= nil;
        end;
        v81 = v77 and not l_assetInfo_1.isForSale;
        local l_v81_0 = v81;
        if v25 then
            l_v81_0 = v77;
        end;
        if not l_v81_0 then
            v79 = v7.ItemType.Asset;
            if not ((not v21() or v26()) or not v77) then
                v79 = v7.ItemType.Bundle;
            end;
            v80 = l_assetInfo_1.assetId;
            if not v26() then
                local v88 = if not v20() then l_assetInfo_1.productType == v7.ProductType.CollectibleItem else v8.isLimitedCollectible(l_assetInfo_1);
                if v22() then
                    v88 = v8.isLimited2Point0_Or_LimitedCollectible(l_assetInfo_1);
                end;
                if not v17() or not v88 then
                    v76 = ((l_assetInfo_1.isForSale and not l_assetInfo_1.owned) and not v71) and l_assetInfo_1.owned ~= nil;
                    if v22() then
                        v76 = (l_assetInfo_1.isForSale and not l_assetInfo_1.owned) and not v71;
                    end;
                else
                    v76 = l_assetInfo_1.isForSale;
                    local l_resellableInstances_1 = v67.props.resellableInstances;
                    local v90 = (l_resellableInstances_1 and l_resellableInstances_1[l_assetInfo_1.collectibleItemId]) and v15.fieldCount(l_resellableInstances_1[l_assetInfo_1.collectibleItemId]);
                    local l_v90_0 = v90;
                    if l_v90_0 then
                        l_v90_0 = false;
                        if l_assetInfo_1.collectibleQuantityLimitPerUser ~= nil then
                            l_v90_0 = false;
                            if l_assetInfo_1.collectibleQuantityLimitPerUser > 0 then
                                l_v90_0 = l_assetInfo_1.collectibleQuantityLimitPerUser <= v90;
                            end;
                        end;
                    end;
                    v82 = l_v90_0;
                    l_v90_0 = l_assetInfo_1.collectibleLowestAvailableResaleProductId and l_assetInfo_1.collectibleLowestAvailableResaleProductId ~= "";
                    local v92 = false;
                    v92 = if not v27 then l_v90_0 and l_assetInfo_1.collectibleLowestResalePrice < (l_assetInfo_1.price or 0) else if not (l_assetInfo_1.remaining > 0) then l_v90_0 and l_assetInfo_1.collectibleLowestResalePrice else l_v90_0 and l_assetInfo_1.collectibleLowestResalePrice < (l_assetInfo_1.price or 0);
                    if not l_v90_0 then
                        if v82 then
                            v76 = false;
                        end;
                    elseif not (not (not v76 or v82) and not v92) then
                        v84 = l_assetInfo_1.collectibleLowestResalePrice;
                        v86 = l_assetInfo_1.collectibleLowestAvailableResaleItemInstanceId;
                        v85 = l_assetInfo_1.collectibleLowestAvailableResaleProductId;
                        v83 = l_assetInfo_1.collectibleItemId;
                        v76 = true;
                    end;
                end;
                if (v76 and l_assetInfo_1.price == nil) and l_assetInfo_1.premiumPricing ~= nil then
                    v76 = l_Players_0.LocalPlayer.MembershipType == Enum.MembershipType.Premium;
                end;
                v75 = v37(l_assetInfo_1, l_locale_0, v82, v84);
                local v93;
                if not (not (l_assetInfo_1.price ~= nil) or l_assetInfo_1.owned) then
                    v93 = v76;
                    if v93 then
                        goto label1;
                    end;
                end;
                v93 = true;
                if v84 == nil then
                    v93 = false;
                    if l_assetInfo_1.price ~= nil then
                        v93 = false;
                        if l_assetInfo_1.productType == v7.ProductType.CollectibleItem then
                            v93 = v76;
                        end;
                    end;
                end;
                ::label1::;
                v72 = v93;
            end;
        else
            v78 = v8.getBundleId(l_assetInfo_1);
            v79 = v7.ItemType.Bundle;
            v80 = v78;
            if not (v26() or not l_bundleInfo_0[v78]) then
                v75 = v37(l_bundleInfo_0[v78], l_locale_0, v82, v84);
                v76 = l_bundleInfo_0[v78].isForSale and not l_bundleInfo_0[v78].owned;
                local v94 = false;
                if l_bundleInfo_0[v78].price ~= nil then
                    v94 = not l_bundleInfo_0[v78].owned and v76;
                end;
                v72 = v94;
            end;
        end;
        if v26() then
            local v95 = v67:calculateBuyStatusForLimitedItem(l_assetInfo_1, l_locale_0, v76);
            v75 = v95.buyText;
            v72 = v95.showRobuxIcon;
            v76 = v95.forSale;
            v82 = v95.collectibleQuantityLimitReached;
            v84 = v95.collectibleLowestResalePrice;
            v85 = v95.collectibleLowestAvailableResaleProductId;
            v86 = v95.collectibleLowestAvailableResaleItemInstanceId;
            v83 = v95.collectibleItemId;
        end;
        v73 = not (v7.AnimationAssetTypes[l_assetInfo_1.assetTypeId] ~= nil);
        if v7.AssetTypeIdStringToHumanoidDescriptionProp[l_assetInfo_1.assetTypeId] == nil and v7.AssetTypeIdToAccessoryTypeEnum[l_assetInfo_1.assetTypeId] == nil then
            v73 = false;
        end;
    end;
    local v96 = nil;
    if v19() then
        v96 = (v8.isUnlimitedCollectibleAsset(v79, l_assetInfo_1) or v8.isLimitedBundle(v79, l_assetInfo_1)) or v8.isUnlimitedCollectibleBundle(v79, l_assetInfo_1);
    end;
    if not (not v22() or not l_assetInfo_1) then
        v83 = l_assetInfo_1.collectibleItemId;
        local v97 = v77 and #v67.props.assetBundles[l_assetInfo_1.assetId] > 1;
        v96 = v8.isLimitedBundle(v79, l_assetInfo_1) or v97;
        if v26() then
            v96 = v97;
        end;
    end;
    if not (not v23 and not v24) then
        if not v23 or not v24 then
            if not v23 then
                if v24 then
                    v96 = v96 or v8.isUnlimitedCollectibleBundle(v79, l_assetInfo_1);
                end;
            else
                v96 = v96 or v8.isUnlimitedCollectibleAsset(v79, l_assetInfo_1);
            end;
        else
            v96 = (v96 or v8.isUnlimitedCollectibleAsset(v79, l_assetInfo_1)) or v8.isUnlimitedCollectibleBundle(v79, l_assetInfo_1);
        end;
    end;
    return v5.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.new(1, 0, 0, 51),
        Position = UDim2.new(0, 0, 1, -51)
    }, {
        UIListLayout = v5.createElement("UIListLayout", {
            Padding = UDim.new(0, 10),
            FillDirection = Enum.FillDirection.Horizontal,
            SortOrder = Enum.SortOrder.LayoutOrder
        }),
        ControllerBar = (v67.props.detailsInformation.viewingDetails and v67.props.gamepadEnabled) and v5.createElement(v12, {
            showTryOn = v73,
            tryingOn = v67.props.tryingOn,
            showFavorite = not not v16 or v74 == "1",
            isFavorited = v67.props.isFavorited
        }),
        FavoriteButton = v5.createElement(v9, {
            favoriteButtonRef = v67.favoriteButtonRef
        }),
        TryOnButton = v5.createElement(v10, {
            showTryOn = v73,
            assetInfo = l_assetInfo_1,
            partOfBundleAndOffsale = v81,
            bundleId = v78,
            tryOnButtonRef = v67.tryOnButtonRef,
            localPlayerModel = v67.props.localPlayerModel
        }),
        TryOnFiller = v5.createElement("ImageLabel", {
            AnchorPoint = Vector2.new(0.5, 0),
            BackgroundTransparency = 1,
            Size = UDim2.new(0.5, -32, 0, 44),
            Visible = not v73,
            LayoutOrder = 2,
            Image = "",
            ScaleType = Enum.ScaleType.Slice,
            SliceCenter = Rect.new(5, 5, 120, 20)
        }),
        BuyButton = if not not v19() and v96 then nil else v5.createElement(v11, {
            itemType = v79,
            itemId = v80,
            showRobuxIcon = v72,
            forSale = v76,
            buyText = v75,
            buyButtonRef = v67.buyButtonRef,
            collectibleItemId = v83,
            collectibleLowestAvailableResaleProductId = v85,
            collectibleLowestAvailableResaleItemInstanceId = v86,
            collectibleLowestResalePrice = v84
        })
    });
end;
return v6.UNSTABLE_connect2(function(v98, _)
    return {
        visible = v98.visible,
        assetInfo = v98.assets[v98.detailsInformation.assetId] or {},
        assetBundles = if not v22() then nil else v98.assetBundles,
        detailsInformation = v98.detailsInformation,
        bundleInfo = v98.bundles,
        locale = v98.locale,
        gamepadEnabled = v98.gamepadEnabled,
        isFavorited = v13(v98),
        tryingOn = v98.tryingOnInfo.tryingOn,
        resellableInstances = v98.collectibleResellableInstances,
        overlay = if not v18 then nil else v98.overlay
    };
end)(v28);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_TextService_0 = game:GetService("TextService");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local l_Parent_0 = script.Parent.Parent;
local v6 = require(l_Parent_0.Colors);
local v7 = require(l_Parent_0.UtilityFunctions);
local v8 = require(l_Parent_0.Flags.FFlagAssetDetailsUseAutomaticCanvasSize);
local v9 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v10 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedBundle);
local v11 = v2.PureComponent:extend("DetailsDescription");
v11.setText = function(v12)
    local v13 = v12.props.assetInfo or {};
    local v14 = v13.bundlesAssetIsIn and #v13.bundlesAssetIsIn == 1;
    if v9() then
        v14 = v13.parentBundleId ~= nil;
    end;
    local v15 = v14 and not v13.isForSale;
    if v10() then
        v15 = v14;
    end;
    local v16 = v12.props.bundleInfo or {};
    if not v15 then
        if v13 then
            v12.description = v13.description or "";
        end;
    else
        local v17 = v7.getBundleId(v13);
        if v16[v17] then
            v12.description = v16[v17].description or "";
            return ;
        end;
    end;
end;
v11.init = function(v18)
    v18.description = "";
    v18.descriptionRef = v2.createRef();
end;
v11.render = function(v19)
    v19:setText();
    return v2.createElement("TextLabel", {
        BackgroundTransparency = 1,
        LayoutOrder = 4,
        Size = UDim2.new(1, -20, 0, (v19:calculateSize())),
        Text = v19.description or "",
        TextXAlignment = Enum.TextXAlignment.Left,
        TextYAlignment = Enum.TextYAlignment.Top,
        TextSize = 16,
        TextWrapped = true,
        Font = l_AppFonts_0.default:getDefault(),
        TextColor3 = v6.White,
        [v2.Ref] = v19.descriptionRef
    });
end;
v11.calculateSize = function(v20)
    if not v20.descriptionRef.current or not v20.props.assetInfo then
        return ;
    else
        local l_Y_0 = l_TextService_0:GetTextSize(v20.description, 16, l_AppFonts_0.default:getDefault(), Vector2.new(v20.descriptionRef.current.AbsoluteSize.X, 5000)).Y;
        if not v8 then
            v20.descriptionRef.current.Parent.CanvasSize = UDim2.new(1, 0, 0, 451 + l_Y_0);
        end;
        return l_Y_0;
    end;
end;
return v3.UNSTABLE_connect2(function(v22, _)
    return {
        view = v22.view,
        assetInfo = v22.assets[v22.detailsInformation.assetId],
        detailsInformation = v22.detailsInformation,
        bundleInfo = v22.bundles
    };
end)(v11);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_Parent_0 = script.Parent.Parent;
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.RoactRodux);
local v5 = require(l_CorePackages_0.Cryo);
local v6 = require(l_CorePackages_0.UIBlox);
local v7 = require(l_CorePackages_0.Workspace.Packages.VerifiedBadges);
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local l_Images_0 = v6.App.ImageSet.Images;
local l_IconSize_0 = v6.App.Constant.IconSize;
local v11 = require(l_Parent_0.Components.Notification);
local v12 = require(l_Parent_0.Components.Favorites);
local v13 = require(l_Parent_0.UtilityFunctions);
local v14 = require(l_Parent_0.Colors);
local v15 = require(l_Parent_0.Constants);
local v16 = require(l_CoreGui_0.RobloxGui.Modules.RobloxTranslator);
local v17 = require(l_Parent_0.getSelectionImageObjectRegular);
local v18 = require(l_Parent_0.Components.InspectAndBuyContext);
local v19 = require(l_Parent_0.Flags.FFlagAttributionInInspectAndBuy);
local v20 = require(l_Parent_0.Flags.GetFFlagIBEnableCollectiblesSystemSupport);
local v21 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedItemBugFixAndAlignment);
local v22 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v23 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedBundle);
local v24 = l_Images_0["icons/status/premium"];
local v25 = v3.PureComponent:extend("DetailsText");
v25.init = function(v26)
    v26.name = "";
    v26.creator = "";
    v26.selectedImage = v17();
end;
v25.setText = function(v27)
    local v28 = v27.props.assetInfo or {};
    local v29 = v28.bundlesAssetIsIn and #v28.bundlesAssetIsIn == 1;
    if v22() then
        v29 = v28.parentBundleId ~= nil;
    end;
    local v30 = v29 and not v28.isForSale;
    if v23() then
        v30 = v29;
    end;
    local v31 = v27.props.bundleInfo or {};
    if not v30 then
        if v28 then
            v27.name = v28.name or "";
            v27.creator = v28.creatorName or "";
        end;
    else
        local v32 = v13.getBundleId(v28);
        if v31[v32] then
            v27.name = v31[v32].name or "";
            v27.creator = v31[v32].creatorName or "";
            return ;
        end;
    end;
end;
v25.render = function(v33)
    v33:setText();
    local l_view_0 = v33.props.view;
    local l_locale_0 = v33.props.locale;
    local l_showFavoritesCount_0 = v33.props.showFavoritesCount;
    local v37 = v33.props.assetInfo or {};
    local v38 = v37.bundlesAssetIsIn and #v37.bundlesAssetIsIn == 1;
    local v39 = v37.bundlesAssetIsIn and #v37.bundlesAssetIsIn > 1;
    if v22() then
        v38 = v37.parentBundleId ~= nil;
        v39 = v38 and #v33.props.assetBundles[v37.assetId] > 1;
    end;
    local v40 = v37.premiumPricing ~= nil;
    local v41 = v37.creatorHasVerifiedBadge or false;
    local v42 = not not v40 and l_IconSize_0.Regular + 5 or 0;
    local v43 = false;
    if v15.LayeredAssetTypes[v37.assetTypeId] ~= nil then
        v43 = v33.props.localPlayerModel and v33.props.localPlayerModel.Humanoid.RigType == Enum.HumanoidRigType.R6;
    end;
    local v44 = v37.isLimited or v20() and v37.isLimitedUnique;
    if v21() then
        v44 = v13.isLimited1Point0(v37);
    end;
    local v45 = nil;
    if not v39 then
        if not v38 then
            if not v44 then
                if v43 then
                    v45 = v15.NotificationKeys.LayeredClothingOnR6Key;
                end;
            else
                v45 = v15.NotificationKeys.LimitedItemNoticeKey;
            end;
        else
            v45 = v15.NotificationKeys.SingleBundleNoticeKey;
        end;
    else
        v45 = v15.NotificationKeys.MultipleBundleNoticeKey;
    end;
    return v3.createElement(v18.Consumer, {
        render = function(v46)
            return v3.createElement("Frame", {
                Position = v46[l_view_0].DetailsFramePosition,
                Size = UDim2.new(1, 0, 0, 131),
                BackgroundTransparency = 1,
                LayoutOrder = 1
            }, {
                Layout = v3.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    VerticalAlignment = Enum.VerticalAlignment.Top,
                    FillDirection = Enum.FillDirection.Vertical
                }),
                Notification = v45 and v3.createElement(v11, {
                    noticeKey = v45
                }),
                AssetName = v3.createElement("Frame", {
                    BackgroundTransparency = 1,
                    Size = UDim2.new(1, -10, 0, 50),
                    LayoutOrder = 1
                }, {
                    PremiumIcon = not not v40 and v3.createElement("ImageLabel", v5.Dictionary.join(v24, {
                        AnchorPoint = Vector2.new(0, 0.5),
                        Position = UDim2.new(0, 0, 0.5, 0),
                        BackgroundTransparency = 1,
                        Size = UDim2.new(0, l_IconSize_0.Regular, 0, l_IconSize_0.Regular),
                        ImageColor3 = Color3.new(1, 1, 1)
                    })) or nil,
                    PlayerName = v3.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Position = UDim2.new(0, v42, 0, 0),
                        Size = UDim2.new(1, v42, 0, 50),
                        LayoutOrder = 1,
                        Text = v33.name or "",
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextYAlignment = Enum.TextYAlignment.Center,
                        TextScaled = true,
                        TextSize = 20,
                        Font = l_AppFonts_0.default:getBold(),
                        TextColor3 = v14.White
                    }, {
                        UITextSizeConstraint = v3.createElement("UITextSizeConstraint", {
                            MaxTextSize = 32
                        })
                    })
                }) or v3.createElement("TextLabel", {
                    BackgroundTransparency = 1,
                    Size = UDim2.new(1, -10, 0, 50),
                    LayoutOrder = 1,
                    Text = v33.name or "",
                    TextXAlignment = Enum.TextXAlignment.Left,
                    TextYAlignment = Enum.TextYAlignment.Center,
                    TextScaled = true,
                    TextSize = 20,
                    Font = l_AppFonts_0.default:getBold(),
                    TextColor3 = v14.White
                }, {
                    UITextSizeConstraint = v3.createElement("UITextSizeConstraint", {
                        MaxTextSize = 32
                    })
                }),
                CreatorLabelContainer = if not v19 then v3.createElement("Frame", {
                    BackgroundTransparency = 1,
                    LayoutOrder = 2,
                    Size = UDim2.new(1, 0, 0, 20)
                }, {
                    CreatorLabelWrapper = v3.createElement(v7.EmojiWrapper, {
                        emoji = not v41 and "" or v7.emoji.verified
                    }, {
                        CreatorLabel = v3.createElement("TextLabel", {
                            AutomaticSize = Enum.AutomaticSize.XY,
                            BackgroundTransparency = 1,
                            Text = v16:FormatByKeyForLocale("InGame.InspectMenu.Label.By", l_locale_0, {
                                CREATOR = v33.creator
                            }),
                            Font = l_AppFonts_0.default:getDefault(),
                            TextScaled = false,
                            TextSize = 12,
                            TextColor3 = v14.White,
                            TextXAlignment = Enum.TextXAlignment.Left,
                            TextYAlignment = Enum.TextYAlignment.Center
                        })
                    })
                }) else nil,
                FavoriteContainer = l_showFavoritesCount_0 and v3.createElement(v12)
            });
        end
    });
end;
return v4.connect(function(v47, _)
    return {
        view = v47.view,
        locale = v47.locale,
        assetInfo = v47.assets[v47.detailsInformation.assetId],
        bundleInfo = v47.bundles,
        assetBundles = if not v22() then nil else v47.assetBundles,
        showFavoritesCount = not v47.isSubjectToChinaPolicies
    };
end)(v25);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_Images_0 = require(l_CorePackages_0.UIBlox).App.ImageSet.Images;
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_Parent_0.Components.LimitedLabel);
local v5 = require(l_Parent_0.Constants);
local v6 = require(l_CorePackages_0.Roact);
local v7 = require(l_CorePackages_0.RoactRodux);
local v8 = require(l_Parent_0.UtilityFunctions);
local v9 = require(l_CoreGui_0.RobloxGui.Modules.RobloxTranslator);
local v10 = require(l_Parent_0.Components.InspectAndBuyContext);
local v11 = require(l_Parent_0.Flags.GetFFlagDisplayCollectiblesIcon);
local v12 = require(l_Parent_0.Flags.GetFFlagIBEnableCollectiblesSystemSupport);
local v13 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedItemBugFixAndAlignment);
local v14 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v15 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedBundle);
local v16 = v6.PureComponent:extend("DetailsThumbnail");
local function _(v17)
    if not v15() then
        if not v17 or not v17.isForSale then
            if not v14() then
                local v18;
                if not (not v17 or not v17.bundlesAssetIsIn) then
                    v18 = true;
                    if not (#v17.bundlesAssetIsIn ~= 1) then
                        goto label0;
                    end;
                end;
                v18 = false;
                ::label0::;
                return v18;
            else
                local v19;
                if v17 then
                    v19 = true;
                    if not (v17.parentBundleId == nil) then
                        goto label1;
                    end;
                end;
                v19 = false;
                ::label1::;
                return v19;
            end;
        else
            return false;
        end;
    else
        local v20;
        if v17 then
            v20 = true;
            if not (v17.parentBundleId == nil) then
                goto label2;
            end;
        end;
        v20 = false;
        ::label2::;
        return v20;
    end;
end;
v16.getUrl = function(v22)
    local l_assetInfo_0 = v22.props.assetInfo;
    local l_detailsInformation_0 = v22.props.detailsInformation;
    local l_bundles_0 = v22.props.bundles;
    local v26 = v8.getBundleId(l_assetInfo_0);
    local v27;
    if not v15() then
        if not l_assetInfo_0 or not l_assetInfo_0.isForSale then
            if not v14() then
                if not (not l_assetInfo_0 or not l_assetInfo_0.bundlesAssetIsIn) then
                    v27 = true;
                    if not (#l_assetInfo_0.bundlesAssetIsIn ~= 1) then
                        goto label3;
                    end;
                end;
                v27 = false;
            else
                if l_assetInfo_0 then
                    v27 = true;
                    if not (l_assetInfo_0.parentBundleId == nil) then
                        goto label3;
                    end;
                end;
                v27 = false;
            end;
        else
            v27 = false;
        end;
    else
        if l_assetInfo_0 then
            v27 = true;
            if not (l_assetInfo_0.parentBundleId == nil) then
                goto label3;
            end;
        end;
        v27 = false;
    end;
    ::label3::;
    local _ = "";
    if (not v27 or not l_bundles_0[v26]) or not l_bundles_0[v26].costumeId then
        return "rbxthumb://type=Asset&id=" .. l_detailsInformation_0.assetId .. "&w=420&h=420";
    else
        return "rbxthumb://type=Outfit&id=" .. l_bundles_0[v26].costumeId .. "&w=420&h=420";
    end;
end;
v16.render = function(v29)
    local l_view_0 = v29.props.view;
    local l_detailsInformation_1 = v29.props.detailsInformation;
    local l_tryingOnInfo_0 = v29.props.tryingOnInfo;
    local l_locale_0 = v29.props.locale;
    local l_assetInfo_1 = v29.props.assetInfo;
    local v35 = l_Images_0["icons/status/item/limited"];
    local v36 = not not v35 and v35.ImageRectSize / l_Images_0.ImagesResolutionScale or Vector2.new(0, 0);
    return v6.createElement(v10.Consumer, {
        render = function(v37)
            local v38 = v37[l_view_0];
            local v39 = v11() and v8.isCollectibles(l_assetInfo_1);
            local v40 = nil;
            local v41 = nil;
            local v42 = nil;
            local v43 = nil;
            if not (not v12() or not l_assetInfo_1) then
                v40 = v8.hasLimitedQuantity(l_assetInfo_1);
                v41 = l_assetInfo_1.isLimitedUnique or l_assetInfo_1.collectibleIsLimited;
                if v13() then
                    v41 = v8.isLimited1Point0_LimitedUnique(l_assetInfo_1) or v8.isLimited2Point0_Or_LimitedCollectible(l_assetInfo_1);
                end;
                v42 = UDim2.new(0, v36.X + if not v41 then v5.LimitedIconFrameSizeXOffset else v5.LimitedIconFrameSizeXOffset * 2, 0, v36.Y + v5.LimitedIconFrameSizeYOffset);
                v43 = if not v41 then "    " .. v9:FormatByKeyForLocale("InGame.InspectMenu.Label.LimitedItems", l_locale_0) else "#" .. "    " .. v9:FormatByKeyForLocale("InGame.InspectMenu.Label.LimitedItems", l_locale_0);
            end;
            return v6.createElement("Frame", {
                Position = v38.DetailsThumbnailFramePosition,
                Size = UDim2.new(1, 0, 0, not not v11() and v5.DetailsThumbnailFrameHeight or 300),
                BackgroundTransparency = 1,
                LayoutOrder = 2,
                Visible = not l_tryingOnInfo_0.tryingOn
            }, {
                Thumbnail = l_detailsInformation_1.viewingDetails and v6.createElement("ImageLabel", {
                    Position = v38.DetailsThumbnailPosition,
                    AnchorPoint = v38.DetailsThumbnailAnchorPoint,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = 1,
                    Image = v29:getUrl()
                }, {
                    AspectRatioConstraint = v6.createElement("UIAspectRatioConstraint", {
                        AspectRatio = 1,
                        AspectType = Enum.AspectType.FitWithinMaxSize,
                        DominantAxis = v38.DetailsThumbnailARDominantAxis
                    })
                }),
                LimitedLabel = if not v12() then v39 else v40 and v6.createElement(v4, {
                    frameSize = if not v12() then UDim2.new(0, v36.X + 18, 0, v36.Y + 6) else v42,
                    framePosition = UDim2.new(0, 0, 0, (v5.DetailsThumbnailFrameHeight - v36.Y) - 8),
                    imageSize = UDim2.new(0, v36.X, 0, v36.Y),
                    imagePosition = UDim2.new(0, 4, 0, 3),
                    textSize = UDim2.new(0, 4 + v36.X, 0, v36.Y),
                    textPosition = UDim2.new(0, 5 + v36.X, 0, 3),
                    text = if not v12() then "#" .. "    " .. v9:FormatByKeyForLocale("InGame.InspectMenu.Label.LimitedItems", l_locale_0) else v43
                })
            });
        end
    });
end;
return v7.UNSTABLE_connect2(function(v44, _)
    return {
        view = v44.view,
        tryingOnInfo = v44.tryingOnInfo,
        detailsInformation = v44.detailsInformation,
        assetInfo = v44.assets[v44.detailsInformation.assetId],
        locale = v44.locale,
        bundles = v44.bundles
    };
end)(v16);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local v5 = require(l_Parent_0.UtilityFunctions);
local v6 = require(l_Parent_0.Thunks.GetAssetFavoriteCount);
local v7 = require(l_Parent_0.Thunks.GetBundleFavoriteCount);
local v8 = require(l_Parent_0.Selectors.GotCurrentFavoriteCount);
local v9 = require(l_Parent_0.getSelectionImageObjectRegular);
local v10 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v11 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedBundle);
local v12 = v2.PureComponent:extend("Favorites");
v12.setText = function(v13)
    local v14 = v13.props.assetInfo or {};
    local v15 = v14.bundlesAssetIsIn and #v14.bundlesAssetIsIn > 0;
    if v10() then
        v15 = v14.parentBundleId ~= nil;
    end;
    local v16 = v15 and not v14.isForSale;
    if v11() then
        v16 = v15;
    end;
    local l_bundleInfo_0 = v13.props.bundleInfo;
    if not v16 then
        if v14 then
            v13.numFavorites = v14.numFavorites;
        end;
    else
        local v18 = v5.getBundleId(v14);
        if l_bundleInfo_0[v18] then
            v13.numFavorites = l_bundleInfo_0[v18].numFavorites;
            return ;
        end;
    end;
end;
v12.init = function(v19)
    v19.numFavorites = "";
    v19.selectionImageObject = v9();
end;
v12.willUpdate = function(v20, v21)
    local l_getAssetFavoriteCount_0 = v20.props.getAssetFavoriteCount;
    local l_getBundleFavoriteCount_0 = v20.props.getBundleFavoriteCount;
    local v24 = v21.assetInfo and v21.assetInfo.bundlesAssetIsIn;
    if v10() then
        v24 = v21.assetInfo;
    end;
    if v24 then
        local l_assetInfo_0 = v21.assetInfo;
        local v26 = nil;
        v26 = if not v10() then #l_assetInfo_0.bundlesAssetIsIn > 0 else l_assetInfo_0.parentBundleId ~= nil;
        local v27 = v26 and not l_assetInfo_0.isForSale;
        if v11() then
            v27 = v26;
        end;
        do
            local l_v27_0 = v27;
            if not v21.gotCurrentFavoriteCount then
                coroutine.wrap(function()
                    if l_v27_0 then
                        l_getBundleFavoriteCount_0((v5.getBundleId(l_assetInfo_0)));
                        return ;
                    else
                        l_getAssetFavoriteCount_0(l_assetInfo_0.assetId);
                        return ;
                    end;
                end)();
            end;
        end;
    end;
end;
v12.render = function(v29)
    v29:setText();
    return v2.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, 16),
        BackgroundTransparency = 1,
        LayoutOrder = 3
    }, {
        FavoriteIcon = v2.createElement("ImageButton", {
            Selectable = false,
            Size = UDim2.new(0, 16, 0, 16),
            BackgroundTransparency = 1,
            Image = "rbxasset://textures/ui/InspectMenu/ico_favorite.png",
            SelectionImageObject = v29.selectionImageObject
        }),
        FavoriteText = v2.createElement("TextLabel", {
            Size = UDim2.new(1, -16, 1, 0),
            Position = UDim2.new(0, 21, 0, 0),
            BackgroundTransparency = 1,
            Text = v29.numFavorites or "",
            Font = l_AppFonts_0.default:getDefault(),
            TextXAlignment = Enum.TextXAlignment.Left,
            TextSize = 12,
            TextColor3 = Color3.new(1, 1, 1)
        })
    });
end;
v12.shouldUpdate = function(_, v31)
    if v31.detailsInformation.viewingDetails then
        return true;
    else
        return false;
    end;
end;
return v3.UNSTABLE_connect2(function(v32, _)
    return {
        detailsInformation = v32.detailsInformation,
        assetInfo = v32.assets[v32.detailsInformation.assetId],
        bundleInfo = v32.bundles,
        gotCurrentFavoriteCount = v8(v32)
    };
end, function(v34)
    return {
        getAssetFavoriteCount = function(v35)
            v34(v6(v35));
        end,
        getBundleFavoriteCount = function(v36)
            v34(v7(v36));
        end
    };
end)(v12);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local l_Parent_0 = script.Parent.Parent;
local v5 = require(l_Parent_0.Colors);
local v6 = require(l_Parent_0.Thunks.CreateFavoriteForAsset);
local v7 = require(l_Parent_0.Thunks.DeleteFavoriteForAsset);
local v8 = require(l_Parent_0.Thunks.CreateFavoriteForBundle);
local v9 = require(l_Parent_0.Thunks.DeleteFavoriteForBundle);
local v10 = require(l_Parent_0.Thunks.GetFavoriteForAsset);
local v11 = require(l_Parent_0.Thunks.GetFavoriteForBundle);
local v12 = require(l_Parent_0.Selectors.GotFavoriteForDetailsItem);
local v13 = require(l_Parent_0.Selectors.IsDetailsItemPartOfBundleAndOffsale);
local v14 = require(l_Parent_0.Selectors.GetIsFavorite);
local v15 = require(l_Parent_0.UtilityFunctions);
local v16 = require(l_Parent_0.getSelectionImageObjectRounded);
local v17 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v18 = require(l_Parent_0.Flags.FFlagEnableFavoriteButtonForUgc);
local l_Favorite_0 = require(script.Parent.Common.ControllerShortcutKeycodes).Favorite;
local v20 = require(l_Parent_0.Flags.GetFFlagIBEnableCollectiblePurchaseForUnlimited);
local v21 = require(l_Parent_0.Flags.GetFFlagIBEnableLimitedBundle);
local v22 = v2.PureComponent:extend("FavoritesButton");
v22.init = function(v23)
    v23.selectedImage = v16();
    if v20() then
        v23.fetchFavoriteRetries = 0;
    end;
    l_ContextActionService_0:BindCoreAction("FavoriteGamepadShortcut", function(_, v25, _)
        if v25 == Enum.UserInputState.End then
            v23:activateButton();
            return Enum.ContextActionResult.Sink;
        else
            return Enum.ContextActionResult.Pass;
        end;
    end, false, l_Favorite_0);
end;
v22.willUpdate = function(v27, v28)
    local l_gotFavoriteForDetailsItem_0 = v28.gotFavoriteForDetailsItem;
    local l_getFavoriteForAsset_0 = v27.props.getFavoriteForAsset;
    local l_getFavoriteForBundle_0 = v27.props.getFavoriteForBundle;
    local v32 = (v28.assetInfo and v28.assetInfo.bundlesAssetIsIn) and not l_gotFavoriteForDetailsItem_0;
    if v17() then
        v32 = v28.assetInfo and not l_gotFavoriteForDetailsItem_0;
    end;
    if v20() then
        v32 = v32 and v27.fetchFavoriteRetries < 10;
    end;
    if v32 then
        local l_assetInfo_0 = v28.assetInfo;
        local v34 = nil;
        v34 = if not v17() then #l_assetInfo_0.bundlesAssetIsIn > 0 else l_assetInfo_0.parentBundleId ~= nil;
        local v35 = v34 and not l_assetInfo_0.isForSale;
        if v21() then
            v35 = v34;
        end;
        do
            local l_v35_0 = v35;
            coroutine.wrap(function()
                if l_v35_0 then
                    l_getFavoriteForBundle_0((v15.getBundleId(l_assetInfo_0)));
                    return ;
                else
                    l_getFavoriteForAsset_0(l_assetInfo_0.assetId);
                    return ;
                end;
            end)();
            if v20() then
                v27.fetchFavoriteRetries = v27.fetchFavoriteRetries + 1;
            end;
        end;
    end;
end;
v22.activateButton = function(v37)
    local l_isFavorited_0 = v37.props.isFavorited;
    local l_IsDetailsItemPartOfBundleAndOffsale_0 = v37.props.IsDetailsItemPartOfBundleAndOffsale;
    local l_createFavoriteForAsset_0 = v37.props.createFavoriteForAsset;
    local l_deleteFavoriteForAsset_0 = v37.props.deleteFavoriteForAsset;
    local l_createFavoriteForBundle_0 = v37.props.createFavoriteForBundle;
    local l_deleteFavoriteForBundle_0 = v37.props.deleteFavoriteForBundle;
    local l_assetInfo_1 = v37.props.assetInfo;
    local v45 = not not l_assetInfo_1 and l_assetInfo_1.creatorId or 0;
    if not v18 and v45 ~= "1" then
        return ;
    elseif not l_isFavorited_0 then
        if not l_IsDetailsItemPartOfBundleAndOffsale_0 then
            l_createFavoriteForAsset_0(l_assetInfo_1.assetId);
            return ;
        else
            l_createFavoriteForBundle_0((v15.getBundleId(l_assetInfo_1)));
            return ;
        end;
    elseif not l_IsDetailsItemPartOfBundleAndOffsale_0 then
        l_deleteFavoriteForAsset_0(l_assetInfo_1.assetId);
        return ;
    else
        l_deleteFavoriteForBundle_0((v15.getBundleId(l_assetInfo_1)));
        return ;
    end;
end;
v22.willUnmount = function(_)
    l_ContextActionService_0:UnbindCoreAction("FavoriteGamepadShortcut");
end;
v22.render = function(v47)
    local l_isFavorited_1 = v47.props.isFavorited;
    local l_favoriteButtonRef_0 = v47.props.favoriteButtonRef;
    local l_assetInfo_2 = v47.props.assetInfo;
    return v2.createElement("ImageButton", {
        AnchorPoint = Vector2.new(0.5, 0),
        BackgroundTransparency = 1,
        Size = UDim2.new(0, 44, 0, 44),
        LayoutOrder = 1,
        Image = "rbxasset://textures/ui/InspectMenu/Button_outline.png",
        ImageColor3 = v5.White,
        ScaleType = Enum.ScaleType.Slice,
        SliceCenter = Rect.new(5, 5, 120, 20),
        SelectionImageObject = v47.selectedImage,
        Visible = not not v18 or (not not l_assetInfo_2 and l_assetInfo_2.creatorId or 0) == "1",
        [v2.Ref] = l_favoriteButtonRef_0,
        [v2.Event.Activated] = function()
            v47:activateButton();
        end
    }, {
        FavoriteIcon = v2.createElement("ImageLabel", {
            AnchorPoint = Vector2.new(0.5, 0.5),
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 26, 0, 26),
            Position = UDim2.new(0, 22, 0, 22),
            Image = not l_isFavorited_1 and "rbxasset://textures/ui/InspectMenu/ico_favorite_off.png" or "rbxasset://textures/ui/InspectMenu/ico_favorite.png",
            ImageColor3 = v5.White
        })
    });
end;
return v3.UNSTABLE_connect2(function(v51, _)
    return {
        view = v51.view,
        assetInfo = v51.assets[v51.detailsInformation.assetId],
        bundleInfo = v51.bundles,
        gotFavoriteForDetailsItem = v12(v51),
        isFavorited = v14(v51),
        IsDetailsItemPartOfBundleAndOffsale = v13(v51)
    };
end, function(v53)
    return {
        createFavoriteForAsset = function(v54)
            v53(v6(v54));
        end,
        deleteFavoriteForAsset = function(v55)
            v53(v7(v55));
        end,
        createFavoriteForBundle = function(v56)
            v53(v8(v56));
        end,
        deleteFavoriteForBundle = function(v57)
            v53(v9(v57));
        end,
        getFavoriteForAsset = function(v58)
            v53(v10(v58));
        end,
        getFavoriteForBundle = function(v59)
            v53(v11(v59));
        end
    };
end)(v22);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Parent_0 = script.Parent.Parent;
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local v4 = require(l_Parent_0.Components.PlayerNameLabel);
local v5 = require(l_Parent_0.Components.AvatarHeadShot);
local v6 = require(l_Parent_0.Components.AssetList);
local v7 = require(l_Parent_0.Components.InspectAndBuyContext);
local v8 = v2.PureComponent:extend("InitialView");
v8.render = function(v9)
    local l_view_0 = v9.props.view;
    local l_detailsInformation_0 = v9.props.detailsInformation;
    return v2.createElement(v7.Consumer, {
        render = function(v12)
            local v13 = v12[l_view_0];
            return v2.createElement("ScrollingFrame", {
                BackgroundTransparency = 1,
                Position = UDim2.new(0, v13.BorderPaddingSize, 0, 10),
                Size = UDim2.new(1, -(2 * v13.BorderPaddingSize), 1, -36),
                ScrollBarThickness = 0,
                ScrollingDirection = Enum.ScrollingDirection.Y,
                Visible = not l_detailsInformation_0.viewingDetails,
                Selectable = false
            }, {
                UIListLayout = v2.createElement("UIListLayout", {
                    Padding = UDim.new(0, 15),
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                Top = v2.createElement("Frame", {
                    Size = UDim2.new(1, 0, 0, v13.TopSizeY),
                    BackgroundTransparency = 1,
                    LayoutOrder = 2
                }, {
                    UIListLayout = v2.createElement("UIListLayout", {
                        Padding = UDim.new(0, 10),
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        FillDirection = Enum.FillDirection.Horizontal
                    }),
                    AvatarHeadShot = v2.createElement(v5),
                    PlayerNameLabel = v2.createElement(v4)
                }),
                AssetList = v2.createElement(v6)
            });
        end
    });
end;
return v3.UNSTABLE_connect2(function(v14, _)
    return {
        view = v14.view,
        detailsInformation = v14.detailsInformation
    };
end)(v8);


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_LocalizationService_0 = game:GetService("LocalizationService");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_GuiService_0 = game:GetService("GuiService");
local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local l_Players_0 = game:GetService("Players");
local v8 = require(l_CorePackages_0.InGameServices.MouseIconOverrideService);
local v9 = require(l_CorePackages_0.Roact);
local v10 = require(l_CorePackages_0.Rodux);
local v11 = require(l_CorePackages_0.RoactRodux);
local v12 = require(l_CorePackages_0.Symbol);
local v13 = require(l_CoreGui_0.RobloxGui.Modules.Common.renderWithCoreScriptsStyleProvider);
local l_SelectionCursorProvider_0 = require(l_CorePackages_0.UIBlox).App.SelectionImage.SelectionCursorProvider;
local l_Parent_0 = script.Parent.Parent;
local v16 = require(l_Parent_0.Actions.SetDetailsInformation);
local v17 = require(l_Parent_0.Actions.SetTryingOnInfo);
local v18 = require(l_Parent_0.Thunk);
local v19 = require(l_Parent_0.Services.Network);
local v20 = require(l_Parent_0.Services.Analytics);
local v21 = require(l_Parent_0.Reducers.InspectAndBuyReducer);
local v22 = require(l_Parent_0.Components.Container);
local v23 = require(l_Parent_0.Constants);
local v24 = require(l_Parent_0.CompactView);
local v25 = require(l_Parent_0.WideView);
local v26 = require(l_Parent_0.WideLandscapeView);
local v27 = require(l_Parent_0.Actions.SetGamepadEnabled);
local v28 = require(l_Parent_0.Actions.SetView);
local v29 = require(l_Parent_0.Actions.SetPlayerId);
local v30 = require(l_Parent_0.Actions.SetPlayerName);
local v31 = require(l_Parent_0.Actions.SetLocale);
local v32 = require(l_Parent_0.Actions.SetItemBeingPurchased);
local v33 = require(l_Parent_0.Actions.SetIsSubjectToChinaPolicies);
local v34 = require(l_Parent_0.Actions.UpdateStoreId);
local v35 = require(l_Parent_0.Thunks.GetAssetsFromHumanoidDescription);
local v36 = require(l_Parent_0.Thunks.UpdateOwnedStatus);
local v37 = require(l_Parent_0.Thunks.GetCharacterModelFromUserId);
local v38 = require(l_Parent_0.Thunks.GetPlayerName);
local v39 = require(l_Parent_0.Components.InspectAndBuyContext);
local v40 = require(l_Parent_0.Actions.CloseOverlay);
local v41 = require(l_Parent_0.Flags.FFlagAttributionInInspectAndBuy);
local v42 = require(l_Parent_0.Flags.GetFFlagIBFixl20HasQuantityPurchase);
local v43 = require(l_CoreGui_0.RobloxGui.Modules.Common.PolicyService);
local v44 = v12.named("OverrideCursorInspectMenu");
local v45 = v9.PureComponent:extend("InspectAndBuy");
v45.pushMouseIconOverride = function(_)
    if not l_UserInputService_0:GetLastInputType().Name:find("Gamepad") then
        v8.push(v44, Enum.OverrideMouseIconBehavior.ForceShow);
        return ;
    else
        v8.push(v44, Enum.OverrideMouseIconBehavior.ForceHide);
        return ;
    end;
end;
v45.popMouseIconOverride = function(_)
    v8.pop(v44);
end;
v45.configureInputType = function(v48, v49)
    if not (v49 or l_UserInputService_0:GetLastInputType()).Name:find("Gamepad") then
        v48.state.store:dispatch(v27(false));
        return ;
    else
        v48.state.store:dispatch(v27(true));
        return ;
    end;
end;
v45.updateView = function(v50)
    local l_ViewportSize_0 = workspace.CurrentCamera.ViewportSize;
    local l_Wide_0 = v23.View.Wide;
    if l_ViewportSize_0.X < 600 then
        l_Wide_0 = v23.View.Compact;
    elseif l_ViewportSize_0.Y < l_ViewportSize_0.X and l_ViewportSize_0.X < 800 then
        l_Wide_0 = v23.View.WideLandscape;
    end;
    v50.state.store:dispatch(v28(l_Wide_0));
end;
v45.init = function(v53)
    local l_playerId_0 = v53.props.playerId;
    local l_playerName_0 = v53.props.playerName;
    local l_ctx_0 = v53.props.ctx;
    v53.connections = {};
    v53.network = v53.props.network or v19.new();
    v53.analytics = v20.new(l_playerId_0, l_ctx_0);
    v53.humanoidDescription = v53.props.humanoidDescription;
    v53.analytics.reportOpenInspectMenu();
    v53.state = {
        store = v10.Store.new(v21, {}, {
            v18.middleware({
                [v19] = v53.network,
                [v20] = v53.analytics
            })
        }),
        views = {
            [v23.View.Compact] = v24,
            [v23.View.Wide] = v25,
            [v23.View.WideLandscape] = v26
        }
    };
    v53.state.store:dispatch(v34());
    v53.state.store:dispatch(v30(l_playerName_0));
    v53.state.store:dispatch(v31(l_LocalizationService_0.RobloxLocaleId));
    if l_playerId_0 then
        v53.state.store:dispatch(v29(l_playerId_0));
    end;
    if v53.humanoidDescription then
        v53.state.store:dispatch(v35(v53.humanoidDescription, false));
    end;
    v53.onPromptPurchaseFinished = function(_, v58, v59)
        local l_itemBeingPurchased_0 = v53.state.store:getState().itemBeingPurchased;
        if v42() then
            v53.analytics.sendCounter(v23.Counters.PurchaseFinished);
        end;
        if v59 and tostring(v58) == l_itemBeingPurchased_0.itemId then
            v53.analytics.reportPurchaseSuccess(l_itemBeingPurchased_0.itemType, l_itemBeingPurchased_0.itemId);
            v53.state.store:dispatch(v36(l_itemBeingPurchased_0.itemId, l_itemBeingPurchased_0.itemType));
            if v42() then
                if l_itemBeingPurchased_0.itemType == v23.ItemType.Asset then
                    v53.analytics.sendCounter(v23.Counters.PurchaseSucceededAsset);
                elseif l_itemBeingPurchased_0.itemType == v23.ItemType.Bundle then
                    v53.analytics.sendCounter(v23.Counters.PurchaseSucceededBundle);
                else
                    v53.analytics.sendCounter(v23.Counters.PurchaseSucceededOther);
                end;
            end;
        end;
        v53.state.store:dispatch(v32(nil, nil));
    end;
end;
v45.didMount = function(v61)
    local l_playerId_1 = v61.props.playerId;
    v61.isMounted = true;
    v61:updateView();
    v61:bindButtonB();
    v61:configureInputType();
    v61:pushMouseIconOverride();
    local v64 = l_UserInputService_0.LastInputTypeChanged:Connect(function(v63)
        v61:configureInputType(v63);
    end);
    local v65 = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(function()
        v61:updateView();
    end);
    local v66 = l_LocalizationService_0:GetPropertyChangedSignal("RobloxLocaleId"):Connect(function()
        v61.state.store:dispatch(v31(l_LocalizationService_0.RobloxLocaleId));
    end);
    local v67 = l_GuiService_0.MenuOpened:Connect(function()
        v61:popMouseIconOverride();
        l_GuiService_0.SelectedCoreObject = nil;
    end);
    local v68 = l_GuiService_0.MenuClosed:Connect(function()
        v61:pushMouseIconOverride();
    end);
    coroutine.wrap(function()
        v61.state.store:dispatch(v33((v43:IsSubjectToChinaPolicies())));
    end)();
    local v69 = l_MarketplaceService_0.PromptPurchaseFinished:Connect(v61.onPromptPurchaseFinished);
    local v70 = l_MarketplaceService_0.PromptBundlePurchaseFinished:Connect(v61.onPromptPurchaseFinished);
    local v73 = v61.state.store.changed:connect(function(v71, v72)
        v61:update(v71, v72);
    end);
    table.insert(v61.connections, v65);
    table.insert(v61.connections, v66);
    table.insert(v61.connections, v67);
    table.insert(v61.connections, v68);
    table.insert(v61.connections, v64);
    table.insert(v61.connections, v69);
    table.insert(v61.connections, v70);
    table.insert(v61.connections, v73);
    v61.state.store:dispatch(v37(l_Players_0.LocalPlayer.UserId, true, function(v74)
        if not (not v61 or not v61.isMounted) then
            v61.localPlayerModel = v74;
            local l_HumanoidDescription_0 = v74.Humanoid.HumanoidDescription;
            if l_HumanoidDescription_0 then
                v61.state.store:dispatch(v35(l_HumanoidDescription_0, true));
            end;
            v61:setState({
                obtainedLocalPlayerModel = true
            });
        end;
    end));
    if l_playerId_1 then
        v61.state.store:dispatch(v37(l_playerId_1, false, function(v76)
            if not (not v61 or not v61.isMounted) then
                v61.playerModel = v76;
                local l_HumanoidDescription_1 = v61.playerModel.Humanoid.HumanoidDescription;
                if l_HumanoidDescription_1 then
                    v61.state.store:dispatch(v35(l_HumanoidDescription_1, false));
                end;
                v61:setState({
                    obtainedPlayerModel = true
                });
            end;
        end));
        v61.state.store:dispatch(v38(l_playerId_1));
    end;
end;
v45.update = function(v78, v79, v80)
    if v79.visible or not v80.visible then
        if not (not v79.visible or v80.visible) then
            v78:bindButtonB();
        end;
        return ;
    else
        l_ContextActionService_0:UnbindCoreAction("BackButtonInspectMenu");
        return ;
    end;
end;
v45.willUnmount = function(v81)
    v81.isMounted = false;
    for _, v83 in pairs(v81.connections) do
        v83:disconnect();
    end;
    l_ContextActionService_0:UnbindCoreAction("BackButtonInspectMenu");
    v81:popMouseIconOverride();
end;
v45.render = function(v84)
    local l_localPlayerModel_0 = v84.localPlayerModel;
    if not v41 then
        return v9.createElement(v39.Provider, {
            value = v84.state.views
        }, {
            v9.createElement(v11.StoreProvider, {
                store = v84.state.store
            }, {
                ThemeProvider = v13({
                    Container = v9.createElement(v22, {
                        localPlayerModel = l_localPlayerModel_0
                    })
                })
            })
        });
    else
        return v9.createElement(v39.Provider, {
            value = v84.state.views
        }, {
            StoreProvider = v9.createElement(v11.StoreProvider, {
                store = v84.state.store
            }, {
                ThemeProvider = v13({
                    CursorProvider = v9.createElement(l_SelectionCursorProvider_0, {}, {
                        Container = v9.createElement(v22, {
                            localPlayerModel = l_localPlayerModel_0
                        })
                    })
                })
            })
        });
    end;
end;
v45.bindButtonB = function(v86)
    l_ContextActionService_0:BindCoreAction("BackButtonInspectMenu", function(_, v88, v89)
        if v88 == Enum.UserInputState.End and v89.KeyCode == Enum.KeyCode.ButtonB then
            local v90 = v86.state.store:getState();
            local l_viewingDetails_0 = v90.detailsInformation.viewingDetails;
            if not (not v41 or not v90.overlay) and v90.overlay.overlay ~= nil then
                v86.state.store:dispatch(v40());
            elseif not l_viewingDetails_0 then
                l_GuiService_0:CloseInspectMenu();
            else
                v86.state.store:dispatch(v16(false, nil));
                v86.state.store:dispatch(v17(false, nil));
            end;
        elseif not (not (v88 == Enum.UserInputState.Begin) or v89.KeyCode ~= Enum.KeyCode.Escape) or v89.KeyCode == Enum.KeyCode.ButtonStart then
            l_GuiService_0:CloseInspectMenu();
            return Enum.ContextActionResult.Pass;
        end;
        return Enum.ContextActionResult.Sink;
    end, false, Enum.KeyCode.ButtonB, Enum.KeyCode.Escape, Enum.KeyCode.ButtonStart);
end;
return v45;


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.UIBlox);
local v4 = require(l_CoreGui_0.RobloxGui.Modules.RobloxTranslator);
local l_ControllerBar_0 = v3.App.Bar.ControllerBar;
local v6 = require(script.Parent.Common.ControllerShortcutKeycodes);
local l_Favorite_0 = v6.Favorite;
local l_TryOn_0 = v6.TryOn;
local v9 = require(l_CorePackages_0.Packages.t);
local v10 = {
    back = "CoreScripts.TopBar.Back",
    confirm = "InGame.InspectMenu.Action.Confirm",
    favorite = "InGame.InspectMenu.Action.Favorite",
    unfavorite = "InGame.InspectMenu.Action.Unfavorite",
    tryOn = "InGame.InspectMenu.Action.TryOn",
    takeOff = "InGame.InspectMenu.Action.TakeOff"
};
local v11 = v2.PureComponent:extend("InspectAndBuyControllerBar");
v11.validateProps = v9.strictInterface({
    showTryOn = v9.boolean,
    showFavorite = v9.boolean,
    isFavorited = v9.boolean
});
v11.render = function(v12)
    local v13 = {
        {
            text = v4:FormatByKey(v10.confirm),
            keyCode = Enum.KeyCode.ButtonA
        }
    };
    if v12.props.showTryOn then
        table.insert(v13, 1, {
            text = not not v12.props.tryingOn and v4:FormatByKey(v10.takeOff) or v4:FormatByKey(v10.tryOn),
            keyCode = l_TryOn_0
        });
    end;
    if v12.props.showFavorite then
        table.insert(v13, 1, {
            text = not not v12.props.isFavorited and v4:FormatByKey(v10.unfavorite) or v4:FormatByKey(v10.favorite),
            keyCode = l_Favorite_0
        });
    end;
    return v2.createElement(v2.Portal, {
        target = l_CoreGui_0
    }, {
        InspectAndBuyControllerBar = v2.createElement("ScreenGui", {
            DisplayOrder = 1,
            ZIndexBehavior = Enum.ZIndexBehavior.Sibling
        }, {
            ControllerBar = v2.createElement(l_ControllerBar_0, {
                leftHint = {
                    text = v4:FormatByKey(v10.back),
                    keyCode = Enum.KeyCode.ButtonB
                },
                rightHints = v13
            })
        })
    });
end;
return v11;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Parent_0 = script.Parent.Parent;
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local v3 = require(l_CorePackages_0.UIBlox);
local l_Images_0 = v3.App.ImageSet.Images;
local l_ImageSetLabel_0 = v3.Core.ImageSet.ImageSetLabel;
local v6 = require(l_CorePackages_0.Roact);
local v7 = v6.PureComponent:extend("LimitedLabel");
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableCollectiblesSystemSupport);
v7.render = function(v9)
    local l_frameSize_0 = v9.props.frameSize;
    local l_framePosition_0 = v9.props.framePosition;
    local l_imageSize_0 = v9.props.imageSize;
    local l_imagePosition_0 = v9.props.imagePosition;
    local l_textSize_0 = v9.props.textSize;
    local l_textPosition_0 = v9.props.textPosition;
    local l_text_0 = v9.props.text;
    return v6.createElement("Frame", {
        Size = l_frameSize_0,
        BorderSizePixel = 0,
        LayoutOrder = 3,
        Position = l_framePosition_0,
        BackgroundColor3 = Color3.fromRGB(120, 120, 120)
    }, {
        Corner = v6.createElement("UICorner", {
            CornerRadius = UDim.new(0, 8)
        }),
        CollectiblesIcon = v6.createElement(l_ImageSetLabel_0, {
            Position = l_imagePosition_0,
            Size = l_imageSize_0,
            BackgroundTransparency = 1,
            ZIndex = 2,
            Visible = true,
            Image = l_Images_0["icons/status/item/limited"]
        }),
        CollectiblesText = if not v8() or l_text_0 then v6.createElement("TextLabel", {
            Position = l_textPosition_0,
            Size = l_textSize_0,
            BackgroundTransparency = 1,
            Text = l_text_0,
            Font = l_AppFonts_0.default:getDefault(),
            TextXAlignment = Enum.TextXAlignment.Left,
            TextSize = 12,
            TextColor3 = Color3.new(1, 1, 1)
        }) else nil
    });
end;
return v7;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_CorePackages_0.Roact);
local v5 = require(l_CorePackages_0.RoactRodux);
local v6 = require(l_Parent_0.Colors);
local v7 = require(l_CoreGui_0.RobloxGui.Modules.RobloxTranslator);
local v8 = v4.PureComponent:extend("NoInventoryNotice");
v8.render = function(v9)
    local l_locale_0 = v9.props.locale;
    local l_assets_0 = v9.props.assets;
    local l_isLoaded_0 = v9.props.isLoaded;
    local l_createElement_0 = v4.createElement;
    local v14 = "Frame";
    local v15 = {
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1
    };
    local v16 = false;
    if next(l_assets_0) == nil then
        v16 = l_isLoaded_0;
    end;
    v15.Visible = v16;
    return l_createElement_0(v14, v15, {
        UIListLayout = v4.createElement("UIListLayout", {
            Padding = UDim.new(0, 15),
            FillDirection = Enum.FillDirection.Vertical,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center
        }),
        NotWearingImage = v4.createElement("ImageLabel", {
            AnchorPoint = Vector2.new(0.5, 0),
            BackgroundTransparency = 1,
            Size = UDim2.new(0.25, 0, 0.25, 0),
            LayoutOrder = 1,
            Image = "rbxasset://textures/ui/InspectMenu/ico_isnt-wearing.png",
            ImageColor3 = v6.White
        }, {
            UIAspectRatioConstraint = v4.createElement("UIAspectRatioConstraint", {
                AspectRatio = 1
            })
        }),
        NotWearingText = v4.createElement("TextLabel", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0.8, 0, 0.3, 0),
            LayoutOrder = 2,
            Font = l_AppFonts_0.default:getDefault(),
            Text = v7:FormatByKeyForLocale("InGame.InspectMenu.Description.NoInventoryNotice", l_locale_0),
            TextScaled = true,
            TextColor3 = v6.White,
            TextSize = 20,
            TextXAlignment = Enum.TextXAlignment.Center,
            TextYAlignment = Enum.TextYAlignment.Top,
            TextWrapped = true
        }, {
            UITextSizeConstraint = v4.createElement("UITextSizeConstraint", {
                MaxTextSize = 20
            })
        })
    });
end;
return v5.UNSTABLE_connect2(function(v17, _)
    return {
        assets = v17.assets,
        locale = v17.locale,
        isLoaded = v17.isLoaded
    };
end)(v8);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_Parent_0 = script.Parent.Parent;
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.RoactRodux);
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local v6 = require(l_Parent_0.Colors);
local v7 = require(l_CoreGui_0.RobloxGui.Modules.RobloxTranslator);
local v8 = v3.PureComponent:extend("Notification");
v8.render = function(v9)
    return v3.createElement("Frame", {
        Size = UDim2.new(1, -10, 0, 45),
        LayoutOrder = 0,
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, {
        UIListLayout = v3.createElement("UIListLayout", {
            Padding = UDim.new(0, 10),
            FillDirection = Enum.FillDirection.Horizontal,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Center
        }),
        ExclamationPoint = v3.createElement("ImageLabel", {
            Size = UDim2.new(0, 16, 0, 16),
            BackgroundTransparency = 1,
            Image = "rbxasset://textures/ui/InspectMenu/ico_alert_tilt.png",
            ImageColor3 = v6.White,
            LayoutOrder = 1
        }),
        PartOfBundleText = v3.createElement("TextLabel", {
            Size = UDim2.new(1, -30, 1, 0),
            TextColor3 = v6.White,
            BorderSizePixel = 0,
            BackgroundTransparency = 1,
            LayoutOrder = 2,
            TextWrapped = true,
            TextScaled = true,
            TextSize = 12,
            TextXAlignment = Enum.TextXAlignment.Left,
            Font = l_AppFonts_0.default:getDefault(),
            Text = v7:FormatByKeyForLocale(v9.props.noticeKey, v9.props.locale)
        }, {
            UITextSizeConstraint = v3.createElement("UITextSizeConstraint", {
                MaxTextSize = 16
            })
        })
    });
end;
return v4.UNSTABLE_connect2(function(v10, _)
    return {
        locale = v10.locale
    };
end)(v8);


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
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 l_useStyle_0 = require(l_CorePackages_0.Packages.UIBlox).Core.Style.useStyle;
local v5 = require(l_CorePackages_0.Packages.ReactFocusNavigation);
local v6 = v5.FocusNavigationService.new(v5.EngineInterface.CoreGui);
local v7 = require(l_CorePackages_0.Workspace.Packages.FocusNavigationUtils);
local l_Provider_0 = v7.FocusNavigableSurfaceRegistry.Provider;
local v9 = require(l_RobloxGui_0.Modules.Common.FocusNavigationEffectsWrapper);
local l_FocusNavigableSurfaceIdentifierEnum_0 = v7.FocusNavigableSurfaceIdentifierEnum;
local l_Parent_0 = script.Parent.Parent;
local v12 = require(l_Parent_0.Colors);
local v13 = require(l_Parent_0.Components.OverlayComponents);
local function v15(v14)
    return v13[v14.overlay.overlay];
end;
local function v17(v16)
    return v16.overlay.overlayProps;
end;
return function(_)
    local v19 = l_useSelector_0(v15);
    return v2.createElement(v5.FocusNavigationContext.Provider, {
        value = v6
    }, {
        FocusNavigationRegistryProvider = v2.createElement(l_Provider_0, nil, {
            FocusNavigationEffects = v2.createElement(v9, {
                selectionGroupName = "InspectAndBuyOverlay",
                focusNavigableSurfaceIdentifier = l_FocusNavigableSurfaceIdentifierEnum_0.CentralOverlay
            }, {
                OverlayContainer = v2.createElement("Frame", {
                    BackgroundTransparency = l_useStyle_0().Tokens.Semantic.Color.Common.Overlay.Transparency,
                    BackgroundColor3 = v12.Black,
                    BorderSizePixel = 0,
                    Size = UDim2.fromScale(1, 1),
                    Visible = v19 ~= nil
                }, {
                    Overlay = not not v19 and v2.createElement(v19, (l_useSelector_0(v17))) or nil
                })
            })
        })
    });
end;


local l_Parent_0 = script.Parent.Parent;
return {
    [require(l_Parent_0.Enums.Overlay).AttributionTraversal] = require(l_Parent_0.Components.AttributionTraversal)
};


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_Players_0 = game:GetService("Players");
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_CorePackages_0.Roact);
local v5 = require(l_CorePackages_0.RoactRodux);
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local v7 = require(l_Parent_0.Colors);
local v8 = require(l_CoreGui_0.RobloxGui.Modules.RobloxTranslator);
local v9 = require(l_CorePackages_0.Workspace.Packages.VerifiedBadges);
local v10 = require(l_Parent_0.Components.InspectAndBuyContext);
local v11 = v4.PureComponent:extend("PlayerNameLabel");
local l_verified_0 = v9.emoji.verified;
v11.render = function(v13)
    local l_locale_0 = v13.props.locale;
    local l_view_0 = v13.props.view;
    local l_playerName_0 = v13.props.playerName;
    local v17 = tonumber(v13.props.playerId);
    local v18 = v17 and l_Players_0:GetPlayerByUserId(v17);
    local v19 = not not v18 and v9.isPlayerVerified(v18);
    local v20 = nil;
    v20 = l_playerName_0 == "" and "" or if v19 then v8:FormatByKeyForLocale("InGame.InspectMenu.Label.VerifiedAvatar", l_locale_0, {
        PLAYER_NAME = l_playerName_0,
        VERIFIED_BADGE = l_verified_0
    }) else v8:FormatByKeyForLocale("InGame.InspectMenu.Label.Avatar", l_locale_0, {
        PLAYER_NAME = l_playerName_0
    });
    return v4.createElement(v10.Consumer, {
        render = function(v21)
            local v22 = v21[l_view_0];
            return v4.createElement("TextLabel", {
                Size = UDim2.new(1, -((v22.AvatarHeadShotSize + v22.BorderPaddingSize * 2) + 10), 0, v22.TopSizeY),
                BackgroundTransparency = 1,
                TextColor3 = v7.White,
                TextScaled = true,
                Text = v20,
                TextSize = 36,
                Font = l_AppFonts_0.default:getBlack(),
                TextXAlignment = Enum.TextXAlignment.Left,
                LayoutOrder = 2
            }, {
                TextSizeConstraint = v4.createElement("UITextSizeConstraint", {
                    MaxTextSize = 36
                })
            });
        end
    });
end;
return v5.UNSTABLE_connect2(function(v23, _)
    return {
        view = v23.view,
        playerName = v23.playerName,
        playerId = v23.playerId,
        locale = v23.locale
    };
end)(v11);


local l_CorePackages_0 = game:GetService("CorePackages");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local v3 = require(l_CoreGui_0.RobloxGui.Modules.RobloxTranslator);
local v4 = require(l_CorePackages_0.Roact);
local v5 = require(l_CorePackages_0.RoactRodux);
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local l_Parent_0 = script.Parent.Parent;
local v8 = require(l_Parent_0.Colors);
local v9 = require(l_Parent_0.Constants);
local v10 = require(l_Parent_0.Actions.SetTryingOnInfo);
local v11 = require(l_Parent_0.Thunks.TryOnItem);
local v12 = require(l_Parent_0.getSelectionImageObjectRounded);
local v13 = require(l_Parent_0.Flags.FFlagEnableFavoriteButtonForUgc);
local l_TryOn_0 = require(script.Parent.Common.ControllerShortcutKeycodes).TryOn;
local v15 = v4.PureComponent:extend("TryOnButton");
v15.init = function(v16)
    v16.selectedImage = v12();
    l_ContextActionService_0:BindCoreAction("TryOnGamepadShortcut", function(_, v18, _)
        if v18 == Enum.UserInputState.End then
            v16:activateButton();
            return Enum.ContextActionResult.Sink;
        else
            return Enum.ContextActionResult.Pass;
        end;
    end, false, l_TryOn_0);
end;
v15.activateButton = function(v20)
    if v20.props.showTryOn then
        local l_assetInfo_0 = v20.props.assetInfo;
        local l_tryOnItem_0 = v20.props.tryOnItem;
        local l_takeOffItem_0 = v20.props.takeOffItem;
        local l_tryingOn_0 = v20.props.tryingOnInfo.tryingOn;
        local l_partOfBundleAndOffsale_0 = v20.props.partOfBundleAndOffsale;
        local l_bundleId_0 = v20.props.bundleId;
        local l_l_assetInfo_0_0 = l_assetInfo_0;
        if l_l_assetInfo_0_0 then
            l_l_assetInfo_0_0 = v20.props.localPlayerModel;
            if l_l_assetInfo_0_0 then
                l_l_assetInfo_0_0 = false;
                if v9.LayeredAssetTypes[l_assetInfo_0.assetTypeId] ~= nil then
                    l_l_assetInfo_0_0 = v20.props.localPlayerModel.Humanoid.RigType == Enum.HumanoidRigType.R6;
                end;
            end;
        end;
        if not l_l_assetInfo_0_0 then
            if not l_tryingOn_0 then
                l_tryOnItem_0(true, l_assetInfo_0.assetId, l_assetInfo_0.assetTypeId, l_partOfBundleAndOffsale_0, l_bundleId_0);
            else
                l_takeOffItem_0();
                return ;
            end;
        end;
        return ;
    else
        return ;
    end;
end;
v15.willUnmount = function(_)
    l_ContextActionService_0:UnbindCoreAction("TryOnGamepadShortcut");
end;
v15.render = function(v29)
    local l_tryingOn_1 = v29.props.tryingOnInfo.tryingOn;
    local l_showTryOn_0 = v29.props.showTryOn;
    local l_locale_0 = v29.props.locale;
    local l_assetInfo_1 = v29.props.assetInfo;
    local v34 = not not l_assetInfo_1 and l_assetInfo_1.creatorId or 0;
    local l_tryOnButtonRef_0 = v29.props.tryOnButtonRef;
    local v36 = if not v13 then v34 == "1" and -32 or -5 else -32;
    local v37 = nil;
    v37 = not l_tryingOn_1 and "InGame.InspectMenu.Action.TryOn" or "InGame.InspectMenu.Action.TakeOff";
    local l_l_assetInfo_1_0 = l_assetInfo_1;
    if l_l_assetInfo_1_0 then
        l_l_assetInfo_1_0 = v29.props.localPlayerModel;
        if l_l_assetInfo_1_0 then
            l_l_assetInfo_1_0 = false;
            if v9.LayeredAssetTypes[l_assetInfo_1.assetTypeId] ~= nil then
                l_l_assetInfo_1_0 = v29.props.localPlayerModel.Humanoid.RigType == Enum.HumanoidRigType.R6;
            end;
        end;
    end;
    return v4.createElement("ImageLabel", {
        AnchorPoint = Vector2.new(0.5, 0),
        BackgroundTransparency = 1,
        Size = UDim2.new(0.5, v36, 0, 44),
        Visible = l_showTryOn_0,
        LayoutOrder = 2,
        Image = "rbxasset://textures/ui/InspectMenu/Button_outline.png",
        ImageTransparency = not l_l_assetInfo_1_0 and 0 or 0.5,
        ScaleType = Enum.ScaleType.Slice,
        SliceCenter = Rect.new(5, 5, 120, 20)
    }, {
        SelectionGainedImage = v4.createElement("ImageLabel", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, 0, 1, 0),
            Visible = false,
            Image = "rbxasset://textures/ui/InspectMenu/Button_white.png",
            ImageColor3 = v8.Pumice
        }),
        TryOnTextKey = v4.createElement("TextButton", {
            BackgroundTransparency = 1,
            Size = UDim2.new(1, 0, 1, 0),
            Text = v3:FormatByKeyForLocale(v37, l_locale_0),
            Font = l_AppFonts_0.default:getDefault(),
            TextSize = 16,
            TextColor3 = v8.White,
            TextTransparency = not l_l_assetInfo_1_0 and 0 or 0.5,
            SelectionImageObject = v29.selectedImage,
            ZIndex = 2,
            [v4.Event.SelectionGained] = function(v39)
                v39.Parent.SelectionGainedImage.Visible = true;
                v39.TextColor3 = v8.Carbon;
            end,
            [v4.Event.SelectionLost] = function(v40)
                v40.Parent.SelectionGainedImage.Visible = false;
                v40.TextColor3 = v8.White;
            end,
            [v4.Ref] = l_tryOnButtonRef_0,
            [v4.Event.Activated] = function()
                v29:activateButton();
            end
        })
    });
end;
return v5.UNSTABLE_connect2(function(v41, _)
    return {
        locale = v41.locale,
        view = v41.view,
        assetInfo = v41.assets[v41.detailsInformation.assetId],
        bundleInfo = v41.bundles,
        tryingOnInfo = v41.tryingOnInfo
    };
end, function(v43)
    return {
        tryOnItem = function(v44, v45, v46, v47, v48)
            v43(v11(v44, v45, v46, v47, v48));
        end,
        takeOffItem = function()
            v43(v10(false, nil, nil));
        end
    };
end)(v15);


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
local l_Parent_0 = script.Parent.Parent;
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.RoactRodux);
local v5 = require(l_Parent_0.Constants);
local v6 = require(l_Parent_0.Components.AvatarViewport);
local v7 = require(l_Parent_0.Thunks.GetHumanoidDescriptionFromCostumeId);
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v9 = require(l_Parent_0.Flags.GetFFlagDisplayCollectiblesIcon);
local v10 = v3.PureComponent:extend("TryOnViewport");
local function _(v11)
    if not v8() then
        local l_v11_0 = v11;
        if l_v11_0 then
            l_v11_0 = v11.bundlesAssetIsIn;
            if l_v11_0 then
                l_v11_0 = false;
                if #v11.bundlesAssetIsIn == 1 then
                    l_v11_0 = not v11.isForSale;
                end;
            end;
        end;
        return l_v11_0;
    else
        return (not not v11 and v11.parentBundleId ~= nil) and (not v11.isForSale or false);
    end;
end;
local function _(v14, v15)
    return {
        AssetId = tonumber(v15),
        Order = v5.LayeredClothingOrder[v14],
        AccessoryType = v5.AssetTypeIdToAccessoryTypeEnum[v14],
        IsLayered = v5.LayeredAssetTypes[v14] ~= nil
    };
end;
v10.init = function(v17)
    v17.model = v17.props.localPlayerModel;
    v17.model.HumanoidRootPart.Anchored = true;
    v17.humanoidDescriptions = {};
    v17.humanoidDescriptionForLocalPlayer = v17.model.Humanoid.HumanoidDescription;
    v17.state = {
        obtainedHumanoidDescriptions = {}
    };
end;
v10.didMount = function(v18)
    v18.isMounted = true;
end;
v10.didUpdate = function(v19, v20)
    local l_assetInfo_0 = v19.props.assetInfo;
    local l_bundles_0 = v19.props.bundles;
    local l_tryingOnInfo_0 = v19.props.tryingOnInfo;
    if not (not (l_tryingOnInfo_0 ~= v20.tryingOnInfo) or not l_tryingOnInfo_0.tryingOn) then
        local v24;
        if not v8() then
            v24 = l_assetInfo_0;
            if v24 then
                v24 = l_assetInfo_0.bundlesAssetIsIn;
                if v24 then
                    v24 = false;
                    if #l_assetInfo_0.bundlesAssetIsIn == 1 then
                        v24 = not l_assetInfo_0.isForSale;
                    end;
                end;
            end;
        else
            v24 = (not not l_assetInfo_0 and l_assetInfo_0.parentBundleId ~= nil) and (not l_assetInfo_0.isForSale or false);
        end;
        if v24 then
            v24 = nil;
            local l_costumeId_0 = l_bundles_0[if not v8() then l_assetInfo_0.bundlesAssetIsIn[1] else l_assetInfo_0.parentBundleId].costumeId;
            if l_costumeId_0 then
                v19.props.getHumanoidDescriptionFromCostumeId(l_costumeId_0, function(v26)
                    if not (not v19 or not v19.isMounted) then
                        v19.humanoidDescriptions[l_costumeId_0] = v26;
                        v19:setState({
                            obtainedHumanoidDescriptions = v1.Dictionary.join(v19.state.obtainedHumanoidDescriptions, {
                                [l_costumeId_0] = true
                            })
                        });
                    end;
                end);
            end;
        end;
    end;
end;
v10.tryOnBundleWithoutCostumeId = function(v27, v28, v29)
    local v30 = {};
    local v31 = {};
    local v32 = false;
    for _, v34 in pairs(v27.props.bundles[v28].assetIds) do
        local v35 = v27.props.assets[v34];
        local v36 = v5.AssetTypeIdToAccessoryTypeEnum[v35.assetTypeId];
        if v36 then
            v30[v36] = true;
            local v37 = v5.AssetTypeToAssetCategory[v35.assetTypeId];
            if v37 then
                v31[v37] = true;
            end;
            v32 = true;
        end;
    end;
    local l_v29_Accessories_0 = v29:GetAccessories(true);
    local v39 = {};
    if v32 then
        for _, v41 in pairs(l_v29_Accessories_0) do
            local v42 = v5.AssetTypeToAssetCategory[v5.AccessoryTypeEnumToAssetTypeId[v41.AccessoryType]];
            local v43 = not v42 or not v31[v42];
            if not (v30[v41.AccessoryType] or not v43) then
                table.insert(v39, v41);
            end;
        end;
    end;
    for _, v45 in pairs(v27.props.bundles[v28].assetIds) do
        local v46 = v27.props.assets[v45];
        if not v5.AssetTypeIdToAccessoryTypeEnum[v46.assetTypeId] then
            v29[v5.AssetTypeIdStringToHumanoidDescriptionProp[v46.assetTypeId]] = v45;
        else
            local l_assetTypeId_0 = v46.assetTypeId;
            table.insert(v39, {
                AssetId = tonumber(v45),
                Order = v5.LayeredClothingOrder[l_assetTypeId_0],
                AccessoryType = v5.AssetTypeIdToAccessoryTypeEnum[l_assetTypeId_0],
                IsLayered = v5.LayeredAssetTypes[l_assetTypeId_0] ~= nil
            });
        end;
    end;
    if v32 then
        v29:SetAccessories(v39, true);
    end;
    return v29;
end;
v10.render = function(v48)
    local l_assetInfo_1 = v48.props.assetInfo;
    local l_bundles_1 = v48.props.bundles;
    local l_tryingOnInfo_1 = v48.props.tryingOnInfo;
    local v52 = v48.humanoidDescriptionForLocalPlayer:Clone();
    local l_tryingOn_0 = l_tryingOnInfo_1.tryingOn;
    local l_setScrollingEnabled_0 = v48.props.setScrollingEnabled;
    if not (not l_tryingOnInfo_1 or not l_tryingOnInfo_1.tryingOn) then
        local v55;
        if not v8() then
            v55 = l_assetInfo_1;
            if v55 then
                v55 = l_assetInfo_1.bundlesAssetIsIn;
                if v55 then
                    v55 = false;
                    if #l_assetInfo_1.bundlesAssetIsIn == 1 then
                        v55 = not l_assetInfo_1.isForSale;
                    end;
                end;
            end;
        else
            v55 = (not not l_assetInfo_1 and l_assetInfo_1.parentBundleId ~= nil) and (not l_assetInfo_1.isForSale or false);
        end;
        if not v55 then
            if not v5.AssetTypeIdToAccessoryTypeEnum[l_tryingOnInfo_1.assetTypeId] then
                v52[v5.AssetTypeIdStringToHumanoidDescriptionProp[l_tryingOnInfo_1.assetTypeId]] = l_tryingOnInfo_1.assetId;
            else
                v55 = v5.AssetTypeIdToAccessoryTypeEnum[l_tryingOnInfo_1.assetTypeId];
                local l_v52_Accessories_0 = v52:GetAccessories(true);
                local v57 = {};
                for _, v59 in pairs(l_v52_Accessories_0) do
                    local v60 = v5.AccessoryTypeEnumToAssetTypeId[v59.AccessoryType];
                    local v61 = v5.AssetTypeToAssetCategory[l_tryingOnInfo_1.assetTypeId];
                    local v62 = not v61 or v5.AssetTypeToAssetCategory[v60] ~= v61;
                    if not (not (v59.AccessoryType ~= v55) or not v62) then
                        table.insert(v57, v59);
                    end;
                end;
                local l_assetTypeId_1 = l_tryingOnInfo_1.assetTypeId;
                table.insert(v57, {
                    AssetId = tonumber(l_tryingOnInfo_1.assetId),
                    Order = v5.LayeredClothingOrder[l_assetTypeId_1],
                    AccessoryType = v5.AssetTypeIdToAccessoryTypeEnum[l_assetTypeId_1],
                    IsLayered = v5.LayeredAssetTypes[l_assetTypeId_1] ~= nil
                });
                v52:SetAccessories(v57, true);
            end;
        else
            v55 = nil;
            v55 = if not v8() then l_assetInfo_1.bundlesAssetIsIn[1] else l_assetInfo_1.parentBundleId;
            local l_costumeId_1 = l_bundles_1[v55].costumeId;
            if not l_costumeId_1 then
                v52 = v48:tryOnBundleWithoutCostumeId(v55, v52);
            else
                local v65 = v48.humanoidDescriptions[l_costumeId_1];
                l_tryingOn_0 = v48.state.obtainedHumanoidDescriptions[l_costumeId_1] == true;
                if v65 then
                    for v66, v67 in pairs(v5.AssetTypeIdStringToHumanoidDescriptionProp) do
                        if not (not (v5.AssetTypeIdToAccessoryTypeEnum[v66] == nil) or not tonumber(v65[v67])) and tostring(v65[v67]) ~= "0" then
                            v52[v67] = v65[v67];
                        end;
                    end;
                    v52:SetAccessories(v65:GetAccessories(true), true);
                end;
            end;
        end;
    end;
    return v3.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.new(1, 0, 0, not not v9() and v5.DetailsThumbnailFrameHeight or 300),
        LayoutOrder = 2,
        Visible = l_tryingOn_0
    }, {
        AvatarViewport = v3.createElement(v6, {
            size = UDim2.new(0.75, 0, 1, 0),
            position = UDim2.new(0.5, 0, 0.5, 0),
            humanoidDescription = v52,
            model = v48.model,
            visible = true,
            backgroundTransparency = 1,
            setScrollingEnabled = l_setScrollingEnabled_0
        })
    });
end;
v10.willUnmount = function(v68)
    v68.isMounted = false;
end;
return v4.UNSTABLE_connect2(function(v69, _)
    return {
        assets = v69.assets,
        assetInfo = v69.assets[v69.detailsInformation.assetId],
        bundles = v69.bundles,
        tryingOnInfo = v69.tryingOnInfo
    };
end, function(v71)
    return {
        getHumanoidDescriptionFromCostumeId = function(v72, v73)
            return v71(v7(v72, v73));
        end
    };
end)(v10);


return function()
    return game:GetEngineFeature("CollectibleItemInInspectAndBuyEnabled");
end;


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


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


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


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


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


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


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


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


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


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


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


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


local v0 = 0;
return function()
    v0 = v0 + 1;
    return ("MOCK-%d"):format(v0);
end;


return {
    new = function()
        return {};
    end,
    fromGetCollectibleItemInstances = function(v0)
        return {
            collectibleInstanceId = v0.collectibleInstanceId,
            collectibleItemId = v0.collectibleItemId,
            collectibleProductId = v0.collectibleProductId,
            serialNumber = v0.serialNumber,
            instanceState = v0.instanceState,
            saleState = v0.saleState,
            price = v0.price
        };
    end
};


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(script.Parent.Parent.MockId);
local l_PlayabilityStatusEnum_0 = require(l_CorePackages_0.Workspace.Packages.PlayabilityRodux).Enums.PlayabilityStatusEnum;
return {
    mock = function()
        return {
            universeId = v1(),
            name = "",
            rootPlaceId = v1(),
            isPlayable = true,
            playabilityStatus = l_PlayabilityStatusEnum_0.Playable
        };
    end,
    fromGetPlayabilityStatus = function(v3)
        return {
            universeId = tostring(v3.universeId),
            isPlayable = v3.isPlayable,
            playabilityStatus = v3.playabilityStatus
        };
    end,
    fromGetExperienceInfo = function(v4)
        return {
            universeId = tostring(v4.id),
            rootPlaceId = tostring(v4.rootPlaceId),
            name = v4.name
        };
    end
};


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
return require(l_CorePackages_0.Rodux).createReducer({}, {
    [require(script.Parent.Parent.Actions.SetAssetToBundlesMapping).name] = function(v2, v3)
        return v1.Dictionary.join(v2, {
            [tostring(v3.assetId)] = v3.bundleIds
        });
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
local v2 = require(l_CorePackages_0.Rodux);
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_Parent_0.Models.AssetInfo);
local v5 = require(l_Parent_0.Actions.SetAssets);
local v6 = require(l_Parent_0.Actions.SetBundlesAssetIsPartOf);
local v7 = require(l_Parent_0.Actions.SetAssetFromBundleInfo);
local v8 = require(l_Parent_0.Flags.GetFFlagIBEnableNewDataCollectionForCollectibleSystem);
local v9 = require(l_Parent_0.Flags.GetFFlagIBFixBuyingFromResellers);
return v2.createReducer({}, {
    [v5.name] = function(v10, v11)
        local v12 = {};
        for _, v14 in ipairs(v11.assets) do
            assert(v14.assetId ~= nil, "Expected an asset id when setting an asset's information.");
            v12[v14.assetId] = v1.Dictionary.join(v10[v14.assetId] or {}, v14);
            if v9() then
                local v15 = v12[v14.assetId];
                if v15 then
                    v12[v14.assetId] = v4.getSaleDetailsForCollectibles(v15);
                end;
            end;
        end;
        return (v1.Dictionary.join(v10, v12));
    end,
    [v6.name] = function(v16, v17)
        local v18 = tostring(v17.assetId);
        return v1.Dictionary.join(v16, {
            [v18] = v1.Dictionary.join(v16[v18] or {}, (v4.fromGetAssetBundles(v18, v17.bundleIds)))
        });
    end,
    [v7.name] = if not v8() then nil else function(v19, v20)
        local l_bundleInfo_0 = v20.bundleInfo;
        local v22 = tostring(v20.assetId);
        return v1.Dictionary.join(v19, {
            [v22] = v1.Dictionary.join(v19[v22] or {}, (v4.fromBundleInfo(v22, l_bundleInfo_0)))
        });
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
local v2 = require(l_CorePackages_0.Rodux);
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_Parent_0.Actions.SetBundles);
local v5 = require(l_Parent_0.Models.BundleInfo);
local v6 = require(l_Parent_0.Flags.GetFFlagIBFixBuyingFromResellers);
return v2.createReducer({}, {
    [v4.name] = function(v7, v8)
        local v9 = {};
        for _, v11 in ipairs(v8.bundles) do
            assert(v11.bundleId ~= nil, "Expected a bundle id when setting a bundle's information.");
            v9[v11.bundleId] = v1.Dictionary.join(v7[v11.bundleId] or {}, v11);
            if v6() then
                local v12 = v9[v11.bundleId];
                if v12 then
                    v9[v11.bundleId] = v5.getSaleDetailsForCollectibles(v12);
                end;
            end;
        end;
        return v1.Dictionary.join(v7, v9);
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Rodux);
local v2 = require(l_CorePackages_0.Cryo);
local l_Parent_0 = script.Parent.Parent;
local v4 = require(l_Parent_0.Actions.SetCollectibleResellableInstances);
local v5 = require(l_Parent_0.Models.CollectibleInstance);
return v1.createReducer({}, {
    [v4.name] = function(v6, v7)
        local l_collectibleItemId_0 = v7.collectibleItemId;
        local v9 = {};
        for _, v11 in v7.collectibleItemInstances, nil, nil do
            local v12 = v5.fromGetCollectibleItemInstances(v11);
            v9[v12.collectibleInstanceId] = v12;
        end;
        return v2.Dictionary.join(v6, {
            [l_collectibleItemId_0] = v9
        });
    end
});


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Cryo);
return require(l_CorePackages_0.Rodux).createReducer({}, {
    [require(script.Parent.Parent.Actions.SetExperienceInfo).name] = function(v2, v3)
        local l_experienceInfo_0 = v3.experienceInfo;
        local l_universeId_0 = l_experienceInfo_0.universeId;
        assert(l_universeId_0 ~= nil, "Expected a universe id when setting an experiences's information.");
        return {
            [l_universeId_0] = v1.Dictionary.join(v2[l_universeId_0] or {}, l_experienceInfo_0)
        };
    end
});


return require(game:GetService("CorePackages").Rodux).createReducer({
    viewingDetails = false,
    assetId = nil
}, {
    [require(script.Parent.Parent.Actions.SetDetailsInformation).name] = function(_, v1)
        return {
            viewingDetails = v1.viewingDetails,
            assetId = v1.assetId
        };
    end
});


return require(game:GetService("CorePackages").Rodux).createReducer({}, {
    [require(script.Parent.Parent.Actions.SetEquippedAssets).name] = function(_, v1)
        local v2 = {};
        for _, v4 in ipairs(v1.equippedAssets) do
            v2[tostring(v4.assetId)] = true;
        end;
        return v2;
    end
});