local l_Parent_0 = script:FindFirstAncestor("AuthCommon").Parent;
local v1 = require(l_Parent_0.Cryo);
local v2 = require(l_Parent_0.UIBlox);
local v3 = require(l_Parent_0.Roact);
local l_ImageSetLabel_0 = v2.Core.ImageSet.ImageSetLabel;
local l_GetImageData_0 = require(l_Parent_0.RobloxAppAssets).GetImageData;
local l_withStyle_0 = v2.Style.withStyle;
local v7 = v3.Component:extend("TextBoxStateWrapper");
v7.defaultProps = {
    IconSize = UDim2.new(1, 0, 1, 0),
    TextBoxLabelPadding = 12,
    InnerSidePadding = 0
};
v7.init = function(v8)
    v8:setState({
        Focused = false,
        Hover = false
    });
    v8.onMouseEnter = function()
        v8:setState({
            Hover = true
        });
    end;
    v8.onMouseLeave = function()
        v8:setState({
            Hover = false
        });
    end;
    v8.onFocused = function(...)
        v8:setState({
            Focused = true
        });
        if v8.props.ChildProps.onFocused then
            v8.props.ChildProps.onFocused(...);
        end;
    end;
    v8.onFocusLost = function(...)
        v8:setState({
            Focused = false
        });
        if v8.props.ChildProps.onFocusLost then
            v8.props.ChildProps.onFocusLost(...);
        end;
    end;
end;
v7.render = function(v9)
    local l_HelpComponent_0 = v9.props.HelpComponent;
    local l_ErrorText_0 = v9.props.ErrorText;
    local l_LabelText_0 = v9.props.LabelText;
    return l_withStyle_0(function(v13)
        local l_Color_0 = v13.Theme.UIDefault.Color;
        local l_Transparency_0 = v13.Theme.UIDefault.Transparency;
        if not v9.props.ErrorState then
            if not v9.state.Focused then
                if v9.state.Hover then
                    l_Color_0 = v13.Theme.IconDefault.Color;
                    l_Transparency_0 = v13.Theme.IconDefault.Transparency;
                end;
            else
                l_Color_0 = v13.Theme.IconEmphasis.Color;
                l_Transparency_0 = v13.Theme.IconEmphasis.Transparency;
            end;
        else
            l_Color_0 = v13.Theme.Alert.Color;
            l_Transparency_0 = v13.Theme.Alert.Transparency;
        end;
        local l_createElement_0 = v3.createElement;
        local v17 = "Frame";
        local v18 = {
            AnchorPoint = v9.props.AnchorPoint,
            AutomaticSize = Enum.AutomaticSize.Y,
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            LayoutOrder = v9.props.LayoutOrder,
            Position = v9.props.Position,
            Size = UDim2.fromScale(1, 0),
            [v3.Change.AbsolutePosition] = v9.props.onPositionChangedCallback
        };
        local v19 = {
            ListLayout = v3.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                Padding = UDim.new(0, v9.props.TextBoxLabelPadding)
            }),
            TextBoxLabel = l_LabelText_0 and v3.createElement("TextLabel", {
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                Font = v13.Font.CaptionHeader.Font,
                LayoutOrder = 1,
                Size = UDim2.fromScale(1, 0),
                Text = l_LabelText_0,
                TextColor3 = v13.Theme.TextEmphasis.Color,
                TextSize = v9.props.TextBoxLabelTextSize,
                TextTransparency = v13.Theme.TextEmphasis.Transparency,
                TextWrapped = true,
                TextXAlignment = Enum.TextXAlignment.Left
            }),
            TextBox = v3.createElement("Frame", {
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                LayoutOrder = 2,
                Size = v9.props.Size
            }, {
                Border = v3.createElement(l_ImageSetLabel_0, {
                    Size = UDim2.new(1, 0, 1, 0),
                    ZIndex = 2,
                    BackgroundTransparency = 1,
                    ScaleType = Enum.ScaleType.Slice,
                    SliceCenter = Rect.new(9, 9, 9, 9),
                    Image = l_GetImageData_0("LuaApp/buttons/buttonStroke") or "LuaApp/buttons/buttonStroke",
                    ImageColor3 = l_Color_0,
                    ImageTransparency = l_Transparency_0
                }),
                TextBox = v3.createElement(v9.props.ChildClass, v1.Dictionary.join(v9.props.ChildProps, {
                    Size = UDim2.new(1, 0, 1, 0),
                    onMouseEnter = v9.onMouseEnter,
                    onMouseLeave = v9.onMouseLeave,
                    onFocused = v9.onFocused,
                    onFocusLost = v9.onFocusLost
                })),
                IconWrapper = v9.props.Icon and v3.createElement("Frame", {
                    Size = UDim2.new(1, 0, 1, 0),
                    Position = UDim2.new(1, -2, 0, 0),
                    AnchorPoint = Vector2.new(1, 0),
                    BackgroundTransparency = 1,
                    ZIndex = 2
                }, {
                    AspectRatio = v3.createElement("UIAspectRatioConstraint", {
                        AspectRatio = 1
                    }),
                    Icon = v3.createElement(l_ImageSetLabel_0, {
                        Size = v9.props.IconSize,
                        Position = UDim2.new(0.5, 0, 0.5, 0),
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        BackgroundTransparency = 1,
                        Image = v9.props.Icon,
                        ImageColor3 = l_Color_0,
                        ImageTransparency = l_Transparency_0
                    })
                })
            })
        };
        local l_l_ErrorText_0_0 = l_ErrorText_0;
        if l_l_ErrorText_0_0 then
            l_l_ErrorText_0_0 = v3.createElement;
            local v21 = "TextLabel";
            local v22 = {
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                Font = v13.Font.CaptionBody.Font,
                LayoutOrder = 3,
                Size = UDim2.fromScale(1, 0),
                Text = l_ErrorText_0,
                TextColor3 = v13.Theme.Alert.Color,
                TextSize = v13.Font.CaptionBody.RelativeSize * v13.Font.BaseSize,
                TextWrapped = true,
                TextXAlignment = Enum.TextXAlignment.Left
            };
            local v23 = {};
            local v24 = false;
            if v9.props.InnerSidePadding ~= 0 then
                v24 = v3.createElement("UIPadding", {
                    PaddingRight = UDim.new(0, v9.props.InnerSidePadding),
                    PaddingLeft = UDim.new(0, v9.props.InnerSidePadding)
                });
            end;
            v23.Padding = v24;
            l_l_ErrorText_0_0 = l_l_ErrorText_0_0(v21, v22, v23);
        end;
        v19.ErrorText = l_l_ErrorText_0_0;
        l_l_ErrorText_0_0 = not l_ErrorText_0;
        if l_l_ErrorText_0_0 then
            l_l_ErrorText_0_0 = l_HelpComponent_0;
            if l_l_ErrorText_0_0 then
                l_l_ErrorText_0_0 = v3.createElement;
                local v25 = "Frame";
                local v26 = {
                    AutomaticSize = Enum.AutomaticSize.Y,
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0,
                    LayoutOrder = 4,
                    Size = UDim2.fromScale(1, 0)
                };
                local v27 = {};
                local v28 = false;
                if v9.props.InnerSidePadding ~= 0 then
                    v28 = v3.createElement("UIPadding", {
                        PaddingRight = UDim.new(0, v9.props.InnerSidePadding),
                        PaddingLeft = UDim.new(0, v9.props.InnerSidePadding)
                    });
                end;
                v27.Padding = v28;
                v27.HelpComponent = l_HelpComponent_0;
                l_l_ErrorText_0_0 = l_l_ErrorText_0_0(v25, v26, v27);
            end;
        end;
        v19.HelpComponentWrapper = l_l_ErrorText_0_0;
        return l_createElement_0(v17, v18, v19);
    end);
end;
return v7;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AuthCommon");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.Roact);
local l_withStyle_0 = require(l_Parent_0.UIBlox).Style.withStyle;
local v4 = require(l_script_FirstAncestor_0.Components.PasswordBox);
local v5 = require(l_script_FirstAncestor_0.Components.GenericTextBox);
local v6 = require(l_script_FirstAncestor_0.Components.AuthStatefulRoundCornerBorder);
local l_GetFFlagEnableAuthStatefulTextInputUpdates_0 = require(l_Parent_0.SharedFlags).GetFFlagEnableAuthStatefulTextInputUpdates;
local v8 = v2.PureComponent:extend(script.Name);
v8.defaultProps = {
    text = "",
    textInputType = Enum.TextInputType.NoSuggestions,
    textInputHeight = 30,
    textInputListPadding = 12,
    borderState = v6.BorderState.Default
};
v8.render = function(v9)
    local l_text_0 = v9.props.text;
    local l_textInputType_0 = v9.props.textInputType;
    local l_textInputHeight_0 = v9.props.textInputHeight;
    local v13 = not l_GetFFlagEnableAuthStatefulTextInputUpdates_0() and 12 or v9.props.textInputListPadding;
    local l_layoutOrder_0 = v9.props.layoutOrder;
    local l_borderState_0 = v9.props.borderState;
    local l_placeholderText_0 = v9.props.placeholderText;
    local l_onChangeTextCallback_0 = v9.props.onChangeTextCallback;
    local l_onFocused_0 = v9.props.onFocused;
    local l_onFocusLost_0 = v9.props.onFocusLost;
    local l_labelText_0 = v9.props.labelText;
    local l_errorText_0 = v9.props.errorText;
    local v22 = v9.props.textInputType == Enum.TextInputType.Password;
    return l_withStyle_0(function(v23)
        local l_Font_0 = v23.Font.Body.Font;
        local v25 = v23.Font.BaseSize * v23.Font.Body.RelativeSize;
        local l_Color_0 = v23.Theme.TextDefault.Color;
        local l_Transparency_0 = v23.Theme.TextDefault.Transparency;
        local l_Color_1 = v23.Theme.BackgroundUIContrast.Color;
        local l_Transparency_1 = v23.Theme.BackgroundUIContrast.Transparency;
        local l_Color_2 = v23.Theme.UIDefault.Color;
        return v2.createElement("Frame", {
            AutomaticSize = Enum.AutomaticSize.Y,
            BackgroundTransparency = 1,
            LayoutOrder = l_layoutOrder_0,
            Size = UDim2.new(1, 0, 0, 0)
        }, {
            ListLayout = v2.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                Padding = UDim.new(0, v13)
            }),
            TextBoxLabel = l_labelText_0 and v2.createElement("TextLabel", {
                LayoutOrder = 1,
                Size = UDim2.new(1, 0, 0, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                Text = l_labelText_0,
                TextWrapped = true,
                Font = v23.Font.CaptionHeader.Font,
                TextSize = v23.Font.BaseSize * v23.Font.CaptionHeader.RelativeSize,
                TextColor3 = v23.Theme.TextEmphasis.Color,
                TextTransparency = v23.Theme.TextEmphasis.Transparency,
                TextXAlignment = Enum.TextXAlignment.Left
            }),
            TextBox = v2.createElement(v6, {
                size = UDim2.new(1, 0, 0, l_textInputHeight_0),
                layoutOrder = if not l_GetFFlagEnableAuthStatefulTextInputUpdates_0() then l_layoutOrder_0 else 2,
                borderState = l_borderState_0
            }, {
                PasswordBox = v22 and v2.createElement(v4, {
                    LayoutOrder = if l_GetFFlagEnableAuthStatefulTextInputUpdates_0() then nil else 2,
                    Size = UDim2.new(1, 0, 1, 0),
                    Color = l_Color_1,
                    Transparency = l_Transparency_1,
                    TextSize = v25,
                    TextColor = l_Color_0,
                    TextTransparency = l_Transparency_0,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    Text = l_text_0,
                    PlaceholderText = l_placeholderText_0,
                    PlaceholderColor3 = l_Color_2,
                    ManualFocusRelease = false,
                    CaptureFocusOnTapStart = true,
                    onChangeText = l_onChangeTextCallback_0
                }),
                GenericTextBox = not v22 and v2.createElement(v5, {
                    LayoutOrder = if l_GetFFlagEnableAuthStatefulTextInputUpdates_0() then nil else 2,
                    Size = UDim2.new(1, 0, 1, 0),
                    Text = l_text_0,
                    Font = l_Font_0,
                    TextSize = v25,
                    TextColor = l_Color_0,
                    TextTransparency = l_Transparency_0,
                    TextXAlignment = Enum.TextXAlignment.Left,
                    ClearTextOnFocus = false,
                    Color = l_Color_1,
                    Transparency = l_Transparency_1,
                    TextInputType = l_textInputType_0,
                    onChangeText = l_onChangeTextCallback_0,
                    PlaceholderText = l_placeholderText_0,
                    PlaceholderColor = l_Color_2,
                    PaddingX = 12,
                    onFocused = l_onFocused_0,
                    onFocusLost = l_onFocusLost_0,
                    TextBoxRef = if not l_GetFFlagEnableAuthStatefulTextInputUpdates_0 then nil else v9.props.textBoxRef
                })
            }),
            ErrorText = l_errorText_0 and v2.createElement("TextLabel", {
                LayoutOrder = 3,
                BackgroundTransparency = 1,
                Text = l_errorText_0,
                TextSize = v23.Font.CaptionBody.RelativeSize * v23.Font.BaseSize,
                Font = v23.Font.SubHeader1.Font,
                TextColor3 = v23.Theme.Alert.Color,
                TextXAlignment = Enum.TextXAlignment.Left,
                AutomaticSize = Enum.AutomaticSize.Y,
                TextWrapped = true,
                Size = UDim2.new(1, 0, 0, 0)
            })
        });
    end);
end;
return v8;


local l_Parent_0 = script:FindFirstAncestor("AuthCommon").Parent;
local v1 = require(l_Parent_0.Roact);
local v2 = require(l_Parent_0.ArgCheck);
local l_Graphite_0 = require(l_Parent_0.Style).Colors.Graphite;
local v4 = v1.PureComponent:extend("WindowedListFrame");
v4.init = function(v5)
    v5.state = {
        windowStart = 1,
        windowSize = 5,
        topPadding = 0
    };
    v5.updateWindow = function(v6)
        local v7 = v5.props.ButtonSizeY + 1;
        local l_Y_0 = v6.AbsoluteSize.Y;
        local l_Y_1 = v6.CanvasPosition.Y;
        if l_Y_0 > 0 then
            local v10 = math.max(1, math.floor(l_Y_1 / v7) + 1);
            local v11 = math.floor(l_Y_0 / v7) + 2;
            if not (v10 == v5.state.windowStart) or v11 ~= v5.state.windowSize then
                v5:setState({
                    windowStart = v10,
                    windowSize = v11,
                    topPadding = v7 * (v10 - 1)
                });
            end;
        end;
    end;
end;
v4.defaultProps = {
    List = {},
    ButtonSizeY = 20,
    ScrollingFrameOffset = 0,
    ListButtonProps = {}
};
v4.render = function(v12)
    local l_ListButton_0 = v12.props.ListButton;
    local l_ListButtonProps_0 = v12.props.ListButtonProps;
    local l_List_0 = v12.props.List;
    local v16 = #l_List_0;
    local v17 = {
        v1.createElement("UIListLayout", {
            SortOrder = Enum.SortOrder.LayoutOrder,
            FillDirection = Enum.FillDirection.Vertical
        })
    };
    v2.isInTypes(l_ListButton_0, {
        "function",
        "table"
    }, "ListButton prop in WindowedListFrame");
    if l_ListButton_0 then
        local l_windowStart_0 = v12.state.windowStart;
        for v19 = l_windowStart_0, math.min(#l_List_0, l_windowStart_0 + v12.state.windowSize) do
            local v20 = l_List_0[v19];
            local v21 = v19 + v19;
            v17[v21] = v1.createElement(l_ListButton_0, {
                Size = UDim2.new(1, 0, 0, v12.props.ButtonSizeY),
                LayoutOrder = v21,
                Data = v20,
                ListButtonProps = l_ListButtonProps_0
            });
            v21 = v21 + 1;
            v17[v21] = v1.createElement("Frame", {
                Size = UDim2.new(1, 0, 0, 1),
                BackgroundColor3 = l_Graphite_0,
                LayoutOrder = v21,
                BorderSizePixel = 0
            });
        end;
    end;
    return v1.createElement("ScrollingFrame", {
        Position = UDim2.new(0, 0, 0, v12.props.ScrollingFrameOffset),
        Size = UDim2.new(1, 8, 1, -v12.props.ScrollingFrameOffset),
        ScrollBarThickness = 4,
        ScrollBarImageColor3 = l_Graphite_0,
        ScrollingDirection = Enum.ScrollingDirection.Y,
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        CanvasSize = UDim2.new(0, 0, 0, v16 * (v12.props.ButtonSizeY + 1)),
        [v1.Change.CanvasPosition] = v12.updateWindow,
        [v1.Change.AbsoluteSize] = v12.updateWindow
    }, {
        ListHolder = v1.createElement("Frame", {
            Size = UDim2.new(1, -8, 0, 1),
            Position = UDim2.new(0, 0, 0, v12.state.topPadding),
            BackgroundTransparency = 1
        }, v17)
    });
end;
return v4;


return {
    CountryCodeSelector = require(script.CountryCodeSelector),
    CountryCodeSelectorButton = require(script.CountryCodeSelectorButton),
    ListSearchWidget = require(script.ListSearchWidget),
    PhoneNumberTextBox = require(script.PhoneNumberTextBox),
    SearchBar = require(script.SearchBar),
    TextBoxStateWrapper = require(script.TextBoxStateWrapper),
    WindowedListFrame = require(script.WindowedListFrame),
    AuthStatefulRoundCornerBorder = require(script.AuthStatefulRoundCornerBorder),
    GenericTextBox = require(script.GenericTextBox),
    PasswordBox = require(script.PasswordBox),
    TextInputBoxWithBorder = require(script.TextInputBoxWithBorder)
};


local l_Parent_0 = script:FindFirstAncestor("AuthCommon").Parent;
local v1 = require(l_Parent_0.UrlBuilder).UrlBuilder.new({
    base = require(l_Parent_0.Http).Url.APIS_URL,
    path = "phone-number-api/v1/phone-prefix-list"
});
return function(v2)
    return v2(v1(), "GET");
end;


local l_Parent_0 = script:FindFirstAncestor("AuthCommon").Parent;
local l_HttpService_0 = game:GetService("HttpService");
local l_UrlBuilder_0 = require(l_Parent_0.UrlBuilder).UrlBuilder;
return function(v3, v4)
    assert(type(v4) == "string", "invalid login code");
    return v3(l_UrlBuilder_0.fromString("apis:auth-token-service/v1/login/cancel")(), "POST", {
        postBody = l_HttpService_0:JSONEncode({
            code = v4
        })
    });
end;


local l_Parent_0 = script:FindFirstAncestor("AuthCommon").Parent;
local l_HttpService_0 = game:GetService("HttpService");
local l_UrlBuilder_0 = require(l_Parent_0.UrlBuilder).UrlBuilder;
return function(v3, v4)
    assert(type(v4) == "string", "invalid login code");
    return v3(l_UrlBuilder_0.fromString("apis:auth-token-service/v1/login/validateCode")(), "POST", {
        postBody = l_HttpService_0:JSONEncode({
            code = v4
        })
    });
end;


local l_UrlBuilder_0 = require(script:FindFirstAncestor("AuthCommon").Parent.UrlBuilder).UrlBuilder;
return function(v1)
    return v1(l_UrlBuilder_0.fromString("apis:auth-token-service/v1/login/create")(), "POST", {
        postBody = ""
    });
end;


local l_Parent_0 = script:FindFirstAncestor("AuthCommon").Parent;
local l_HttpService_0 = game:GetService("HttpService");
local l_UrlBuilder_0 = require(l_Parent_0.UrlBuilder).UrlBuilder;
return function(v3, v4)
    assert(type(v4) == "string", "invalid login code");
    return v3(l_UrlBuilder_0.fromString("apis:auth-token-service/v1/login/entercode")(), "POST", {
        postBody = l_HttpService_0:JSONEncode({
            code = v4
        })
    });
end;


local l_Parent_0 = script:FindFirstAncestor("AuthCommon").Parent;
local l_HttpService_0 = game:GetService("HttpService");
local l_UrlBuilder_0 = require(l_Parent_0.UrlBuilder).UrlBuilder;
local v3 = require(l_Parent_0.Promise);
return function(v4, v5, v6)
    if type(v5) == "string" and type(v6) == "string" then
        return v4(l_UrlBuilder_0.fromString("apis:auth-token-service/v1/login/status")(), "POST", {
            postBody = l_HttpService_0:JSONEncode({
                code = v5,
                privateKey = v6
            })
        });
    elseif type(v5) ~= "string" then
        return v3.reject("invalid login code");
    else
        return v3.reject("invalid private key");
    end;
end;


local v0 = {
    new = function()
        return {};
    end
};
v0.fromJSON = function(v1)
    local v2 = v0.new();
    v2.name = v1.name;
    v2.code = v1.code;
    v2.prefix = v1.prefix;
    v2.localizedName = v1.localizedName;
    v2.isDefault = v1.isDefault;
    return v2;
end;
return v0;


local v0 = require(script:FindFirstAncestor("AuthCommon").Actions.SetCountryCodeList);
return function(v1, v2)
    v1 = v1 or {};
    assert(v1, "");
    if v2.type == v0.name then
        v1 = v2.countryCodeList;
    end;
    return v1;
end;


return {
    installReducer = require(script.installReducer),
    CountryCodeList = require(script.CountryCodeList)
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AuthCommon");
local v1 = require(l_script_FirstAncestor_0.Parent.Rodux);
local v2 = require(l_script_FirstAncestor_0.Reducers.CountryCodeList);
return function()
    return v1.combineReducers({
        CountryCodeList = v2
    });
end;


return {
    ApiFetchCountryCodes = require(script.ApiFetchCountryCodes),
    CrossDeviceLogin = require(script.CrossDeviceLogin)
};


return {
    mockServices = require(script.mockServices),
    AreaTest = require(script.AreaTest),
    isStringPhone = require(script.isStringPhone),
    isStringEmail = require(script.isStringEmail)
};


return function(v0)
    if not v0 or v0 == "" then
        return false;
    else
        assert(v0, "");
        return string.find(v0, "^.+@.+%..+$") ~= nil;
    end;
end;


return function(v0)
    if not v0 or v0 == "" then
        return false;
    else
        assert(v0, "");
        return string.find(v0, "^%+*[%d%-%s%.%(%)]+$") ~= nil and #v0:gsub("[^%d]", "") >= 6;
    end;
end;


return {
    ["jest.config"] = script["jest.config"],
    Components = require(script.Components),
    Actions = require(script.Actions),
    Http = require(script.Http),
    Models = require(script.Models),
    Thunks = require(script.Thunks),
    Utils = require(script.Utils),
    Reducers = require(script.Reducers),
    installReducer = require(script.Reducers.installReducer),
    RoduxKey = require(script.Common.Constants).RODUX_KEY
};


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


local l_Parent_0 = script.Parent.Parent;
local v1 = require(l_Parent_0.dependencies);
local l_Parent_1 = l_Parent_0.Parent;
local l_React_0 = v1.React;
local l_UIBlox_0 = v1.UIBlox;
local l_RoactRodux_0 = v1.RoactRodux;
local l_useLocalization_0 = v1.Localization.Hooks.useLocalization;
local l_FormFactor_0 = require(l_Parent_1.FormFactor).Enums.FormFactor;
local l_FitFrame_0 = v1.FitFrame;
local l_useDesignTokens_0 = v1.Style.useDesignTokens;
local l_CloseCentralOverlay_0 = v1.CentralOverlay.Thunks.CloseCentralOverlay;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_useState_0 = l_React_0.useState;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local l_Button_0 = l_UIBlox_0.App.Button.Button;
local l_ButtonType_0 = l_UIBlox_0.App.Button.Enum.ButtonType;
local l_Checkbox_0 = l_UIBlox_0.App.InputButton.Checkbox;
local l_IconButton_0 = l_UIBlox_0.App.Button.IconButton;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_StyledTextLabel_0 = l_UIBlox_0.App.Text.StyledTextLabel;
local l_UserAgreementsList_0 = v1.UserAgreements.UserAgreementsList;
local v21 = require(l_Parent_0.KISAComplianceUtils);
local v22 = Rect.new(8, 8, 9, 9);
return (l_RoactRodux_0.connect(function(v23)
    return {
        screenSize = v23.ScreenSize,
        formFactor = v23.FormFactor
    };
end, function(v24)
    return {
        closeCentralOverlay = function()
            return v24(l_CloseCentralOverlay_0());
        end
    };
end)(function(v25)
    v25.isUnderAgeFlow = v25.isUnderAgeFlow or false;
    local l_screenSize_0 = v25.screenSize;
    local v27 = l_useStyle_0();
    local l_Theme_0 = v27.Theme;
    local l_Font_0 = v27.Font;
    local v30 = tostring(v25.formFactor) == tostring(l_FormFactor_0.WIDE);
    local v31 = l_useDesignTokens_0();
    local l_AuthCompliance_0 = v31.LuaApps.AuthCompliance;
    local v33 = l_useLocalization_0({
        title = "Authentication.OneTimePasscode.Label.ConsentNeeded",
        message = "CommonUI.UserAgreements.Popup.KISAMessage",
        agreeButton = "CommonUI.UserAgreements.Popup.Agree2",
        checkbox = "CommonUI.UserAgreements.Popup.CheckboxMessage",
        errorMessage = "CommonUI.UserAgreements.Popup.FailAndRetryMessage",
        underAgeFlowTitle = "Authentication.OneTimePasscode.Label.ParentConsentNeeded",
        underAgeFlowMessage = "Authentication.OneTimePasscode.Description.ReviewAndConsentToTerms"
    });
    local v34, v35 = l_useState_0({});
    local v36, v37 = l_useState_0({});
    if v25.agreements ~= v36 then
        v37(v25.agreements);
        local v38 = {};
        for _, v40 in pairs(v25.agreements) do
            v38[v40.id] = false;
        end;
        v35(v38);
    end;
    local v41, v42, v43 = v21.getCheckBoxStatusVariables(v34, v25.agreements);
    local v44 = not v41;
    local v47, v48 = (function(v45, v46)
        if not v45 then
            return "Frame", {
                Size = UDim2.new(1, 0, 1, 0),
                Position = UDim2.new(0.5, 0, 0.5, 0),
                AnchorPoint = Vector2.new(0.5, 0.5),
                BorderSizePixel = 0,
                BackgroundColor3 = v46.BackgroundUIDefault.Color
            };
        else
            return l_ImageSetLabel_0, {
                Size = UDim2.new(0, 540, 0, 0),
                Position = UDim2.new(0.5, 0, 0.5, 0),
                AnchorPoint = Vector2.new(0.5, 0.5),
                BackgroundColor3 = v46.BackgroundUIDefault.Color,
                Image = "LuaApp/buttons/buttonFill",
                ImageColor3 = v46.BackgroundUIDefault.Color,
                BorderSizePixel = 0,
                ScaleType = Enum.ScaleType.Slice,
                SliceCenter = v22,
                AutomaticSize = Enum.AutomaticSize.Y
            };
        end;
    end)(v30, l_Theme_0);
    local _ = function(v49)
        local v50 = {};
        for v51, _ in pairs(v34) do
            v50[v51] = v49;
        end;
        v35(v50);
    end;
    local function _(v54)
        v25.onAgreeFunction(v54);
        v25.closeCentralOverlay();
    end;
    return l_React_0.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, l_screenSize_0.Y),
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, {
        Layout = l_React_0.createElement(v47, v48, {
            ListLayout = v30 and l_React_0.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            Padding = l_React_0.createElement("UIPadding", {
                PaddingTop = UDim.new(0, l_AuthCompliance_0.paddingTop),
                PaddingBottom = UDim.new(0, l_AuthCompliance_0.paddingBottom)
            }),
            Content = l_React_0.createElement("Frame", {
                Size = UDim2.new(1, 0, 0, l_screenSize_0.Y - 150),
                LayoutOrder = 1,
                BackgroundTransparency = 1
            }, {
                Layout = l_React_0.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                Title = l_React_0.createElement("Frame", {
                    LayoutOrder = 1,
                    Size = UDim2.new(1, 0, 0, 0),
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0
                }, {
                    AreaAboveFirstDivider = l_React_0.createElement("Frame", {
                        LayoutOrder = 1,
                        AutomaticSize = Enum.AutomaticSize.Y,
                        Size = UDim2.new(1, 0, 0, 0),
                        BorderSizePixel = 0,
                        BackgroundTransparency = 1
                    }, {
                        ListLayout = l_React_0.createElement("UIListLayout", {
                            FillDirection = Enum.FillDirection.Horizontal,
                            VerticalAlignment = Enum.VerticalAlignment.Center,
                            SortOrder = Enum.SortOrder.LayoutOrder
                        }),
                        Padding = l_React_0.createElement("UIPadding", {
                            PaddingLeft = UDim.new(0, l_AuthCompliance_0.paddingLeft)
                        }),
                        CrossXButton = l_React_0.createElement(l_IconButton_0, {
                            layoutOrder = 1,
                            anchorPoint = Vector2.new(0.5, 0.5),
                            size = UDim2.new(0, tonumber(l_AuthCompliance_0.xButtonSize), 0, (tonumber(l_AuthCompliance_0.xButtonSize))),
                            position = UDim2.new(0, 0, 0, 0),
                            icon = l_Images_0["icons/navigation/close"],
                            onActivated = function()
                                if v25.onAbandonFunction then
                                    v25.onAbandonFunction();
                                end;
                                v25.closeCentralOverlay();
                            end
                        }),
                        TitleText = l_React_0.createElement(l_StyledTextLabel_0, {
                            layoutOrder = 2,
                            size = UDim2.new(0.75, 0, 0, l_AuthCompliance_0.xButtonSize),
                            text = if not v25.isUnderAgeFlow then v33.title else v33.underAgeFlowTitle,
                            fontStyle = l_Font_0.Header1,
                            colorStyle = l_Theme_0.TextEmphasis,
                            textXAlignment = Enum.TextXAlignment.Center,
                            textYAlignment = Enum.TextYAlignment.Center,
                            textTruncate = Enum.TextTruncate.AtEnd
                        })
                    }),
                    FirstDivider = l_React_0.createElement("Frame", {
                        LayoutOrder = 2,
                        AutomaticSize = Enum.AutomaticSize.Y,
                        Size = UDim2.new(1, 0, 0, 0),
                        BorderSizePixel = 0,
                        BackgroundTransparency = 1
                    }, {
                        Padding = l_React_0.createElement("UIPadding", {
                            PaddingTop = UDim.new(0, l_AuthCompliance_0.dividerPaddingTop),
                            PaddingRight = UDim.new(0, l_AuthCompliance_0.paddingRight),
                            PaddingLeft = UDim.new(0, l_AuthCompliance_0.paddingLeft)
                        }),
                        Divider = l_React_0.createElement("Frame", {
                            Size = UDim2.new(1, 0, 0, 1),
                            AnchorPoint = Vector2.new(0, 0),
                            BackgroundColor3 = v31.Semantic.Color.Ui.Default.Color3,
                            BorderSizePixel = 0
                        })
                    })
                }),
                Message = l_React_0.createElement("Frame", {
                    LayoutOrder = 2,
                    AutomaticSize = Enum.AutomaticSize.Y,
                    Size = UDim2.new(1, 0, 0, 0),
                    BorderSizePixel = 0,
                    BackgroundTransparency = 1
                }, {
                    Padding = l_React_0.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, if not v30 then l_AuthCompliance_0.messagePaddingTopExtended else l_AuthCompliance_0.messagePaddingTopWideViewExtended),
                        PaddingRight = UDim.new(0, l_AuthCompliance_0.paddingRight),
                        PaddingBottom = UDim.new(0, if not v30 then l_AuthCompliance_0.messagePaddingBottomReduced else l_AuthCompliance_0.messagePaddingBottomWideView),
                        PaddingLeft = UDim.new(0, l_AuthCompliance_0.paddingLeft)
                    }),
                    MessageText = l_React_0.createElement("TextLabel", {
                        BackgroundTransparency = 1,
                        Text = if not v25.isUnderAgeFlow then v33.message else v33.underAgeFlowMessage,
                        TextSize = l_AuthCompliance_0.messageSize,
                        TextColor3 = v31.Semantic.Color.Text.Emphasis.Color3,
                        TextTransparency = v27.Theme.TextDefault.Transparency,
                        Font = v27.Font.Body.Font,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        AutomaticSize = Enum.AutomaticSize.Y,
                        TextWrapped = true,
                        Size = UDim2.new(1, 0, 0, 0)
                    })
                }),
                AgreementsContainer = l_React_0.createElement("Frame", {
                    LayoutOrder = 3,
                    AutomaticSize = Enum.AutomaticSize.Y,
                    Size = UDim2.new(1, 0, 0, 0),
                    BorderSizePixel = 0,
                    BackgroundTransparency = 1
                }, {
                    Padding = l_React_0.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, 0),
                        PaddingRight = UDim.new(0, l_AuthCompliance_0.paddingRight),
                        PaddingBottom = UDim.new(0, l_AuthCompliance_0.checkboxPaddingBottom),
                        PaddingLeft = UDim.new(0, l_AuthCompliance_0.paddingLeft)
                    }),
                    CheckBox = l_React_0.createElement(l_Checkbox_0, {
                        text = "",
                        isSelected = v43,
                        onActivated = function()
                            local v56 = not v43;
                            local v57 = {};
                            for v58, _ in pairs(v34) do
                                v57[v58] = v56;
                            end;
                            v35(v57);
                        end
                    }),
                    MessageButton = l_React_0.createElement("TextButton", {
                        Size = UDim2.new(1, -((tonumber(l_AuthCompliance_0.checkboxSize) or 0) + (tonumber(l_AuthCompliance_0.checkboxPadding) or 0)), 1, 0),
                        Position = UDim2.new(0, (tonumber(l_AuthCompliance_0.checkboxSize) or 0) + (tonumber(l_AuthCompliance_0.checkboxPadding) or 0), 0, 0),
                        AutomaticSize = Enum.AutomaticSize.Y,
                        BackgroundTransparency = 1,
                        Text = v33.checkbox,
                        Font = l_Font_0.Body.Font,
                        TextSize = l_AuthCompliance_0.messageSize,
                        TextColor3 = l_Theme_0.TextMuted.Color,
                        TextTransparency = l_Theme_0.TextMuted.Transparency,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextWrapped = true,
                        [l_React_0.Event.Activated] = nil
                    })
                }),
                SecondDivider = l_React_0.createElement("Frame", {
                    LayoutOrder = 4,
                    AutomaticSize = Enum.AutomaticSize.Y,
                    Size = UDim2.new(1, 0, 0, 0),
                    BorderSizePixel = 0,
                    BackgroundTransparency = 1
                }, {
                    Padding = l_React_0.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, 0),
                        PaddingRight = UDim.new(0, l_AuthCompliance_0.paddingRight),
                        PaddingBottom = UDim.new(0, 0),
                        PaddingLeft = UDim.new(0, l_AuthCompliance_0.paddingLeft)
                    }),
                    Divider = l_React_0.createElement("Frame", {
                        Size = UDim2.new(1, 0, 0, 1),
                        AnchorPoint = Vector2.new(0, 0),
                        BackgroundColor3 = v31.Semantic.Color.Ui.Default.Color3,
                        BorderSizePixel = 0
                    })
                }),
                AgreementsList = l_React_0.createElement(l_UserAgreementsList_0, {
                    LayoutOrder = 5,
                    agreements = v25.agreements,
                    checkBoxStates = v34,
                    setCheckBoxStates = v35,
                    separateRequiredOptional = v42,
                    margin = l_FitFrame_0.Rect.quad(l_AuthCompliance_0.paddingTop, l_AuthCompliance_0.paddingRight, l_AuthCompliance_0.listPaddingBottom, l_AuthCompliance_0.paddingLeft),
                    verticalSpaceOffset = 300,
                    isAgreeAllChecked = v43,
                    useScrollableFrame = true
                })
            }),
            AgreeZone = l_React_0.createElement("Frame", {
                LayoutOrder = 2,
                AutomaticSize = Enum.AutomaticSize.Y,
                Size = UDim2.new(1, 0, 0, 0),
                BorderSizePixel = 0,
                BackgroundTransparency = 1,
                Position = UDim2.new(0.5, 0, 1, -l_AuthCompliance_0.agreeButtonPaddingBottom),
                AnchorPoint = Vector2.new(0.5, 1)
            }, {
                Padding = l_React_0.createElement("UIPadding", {
                    PaddingTop = UDim.new(0, 0),
                    PaddingRight = UDim.new(0, l_AuthCompliance_0.paddingRight),
                    PaddingBottom = UDim.new(0, l_AuthCompliance_0.agreeButtonPaddingBottom),
                    PaddingLeft = UDim.new(0, l_AuthCompliance_0.paddingLeft)
                });
                l_React_0.createElement(l_FitFrame_0.FitFrameVertical, {
                    width = UDim.new(1, 0),
                    BackgroundTransparency = 1
                }, {
                    ErrorLabel = nil,
                    AgreeButton = l_React_0.createElement(l_Button_0, {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        size = UDim2.new(1, 0, 0, l_AuthCompliance_0.agreeButtonHeight),
                        anchorPoint = Vector2.new(0, 0),
                        isDisabled = v44,
                        layoutOrder = 2,
                        text = v33.agreeButton,
                        fontStyle = l_Font_0.SubHeader1,
                        onActivated = function()
                            v25.onAgreeFunction(v34);
                            v25.closeCentralOverlay();
                        end
                    })
                })
            })
        })
    });
end));


local l_llama_0 = require(script.Parent.dependencies).llama;
local v5 = {
    createIdToAgreementMap = function(v1)
        local v2 = {};
        for _, v4 in v1, nil, nil do
            v2[v4.id] = v4.agreementType;
        end;
        return v2;
    end
};
v5.getCheckBoxStatusVariables = function(v6, v7)
    local v8 = true;
    local v9 = false;
    local v10 = true;
    local v11 = v5.createIdToAgreementMap(v7);
    for v12, v13 in v6, nil, nil do
        local v14 = string.find(v11[v12]:lower(), "optional");
        if v14 then
            v9 = true;
        end;
        if not v13 then
            v10 = false;
            if not v14 then
                v8 = false;
            end;
        end;
    end;
    return v8, v9, v10;
end;
v5.getAgreedUserAgreements = function(v15)
    return (l_llama_0.Dictionary.keys((l_llama_0.Dictionary.filter(v15, function(v16)
        return v16 == true;
    end))));
end;
return v5;


local l_Parent_0 = script.Parent.Parent;
return {
    Analytics = require(l_Parent_0.Analytics),
    CentralOverlay = require(l_Parent_0.CentralOverlay),
    Cryo = require(l_Parent_0.Cryo),
    Dash = require(l_Parent_0.Dash),
    FitFrame = require(l_Parent_0.FitFrame),
    FormFactor = require(l_Parent_0.FormFactor),
    Localization = require(l_Parent_0.Localization),
    React = require(l_Parent_0.React),
    RoactNavigation = require(l_Parent_0.RoactNavigation),
    Style = require(l_Parent_0.Style),
    UIBlox = require(l_Parent_0.UIBlox),
    UserLib = require(l_Parent_0.UserLib),
    PeekView = require(l_Parent_0.PeekView),
    Hooks = {
        useNavigation = require(l_Parent_0.RoactUtils).Hooks.useNavigation,
        useDispatch = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useDispatch
    },
    RoactRodux = require(l_Parent_0.RoactRodux),
    RoactUtils = require(l_Parent_0.RoactUtils),
    RobloxAppEnums = require(l_Parent_0.RobloxAppEnums),
    NavigationRodux = require(l_Parent_0.NavigationRodux),
    UserAgreements = require(l_Parent_0.UserAgreements),
    llama = require(l_Parent_0.llama)
};


return {
    KISAComplianceUtils = require(script.KISAComplianceUtils),
    KISAPopUpAgreements = require(script.Components.KISAPopUpAgreements),
    dependencies = require(script.dependencies),
    ["jest.config"] = script["jest.config"]
};


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


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


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


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AuthenticationStatus");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local l_LoginStatus_0 = require(l_Parent_0.RobloxAppEnums).LoginStatus;
local v3 = require(l_script_FirstAncestor_0.Actions.SetAuthenticationStatus);
local v4 = require(l_Parent_0.Cryo);
return function(v5, v6)
    v5 = v5 or {
        status = l_LoginStatus_0.UNKNOWN
    };
    if v6.type == v3.name then
        v5 = v4.Dictionary.join(v5, {
            status = v6.status
        });
    end;
    return v5;
end;


return {
    ["jest.config"] = script["jest.config"],
    Actions = {
        SetAuthenticationStatus = require(script.Actions.SetAuthenticationStatus)
    },
    Reducers = {
        AuthenticationStatusReducer = require(script.Reducers.AuthenticationStatusReducer)
    }
};


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


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


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AvatarExperienceSearch");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.ReactRoblox);
local v4 = require(l_Parent_0.UIBlox);
local l_DesignTokenProvider_0 = require(l_Parent_0.Style).DesignTokenProvider;
local l_LocalizationProvider_0 = require(l_Parent_0.Localization).LocalizationProvider;
local l_Localization_0 = require(l_Parent_0.AppLocales).Localization;
local v8 = require(l_Parent_0.RoactRodux);
local v9 = require(l_Parent_0.Rodux);
v4.init(require(l_Parent_0.Dev.RobloxAppUIBloxConfig));
local l_AppStyleProvider_0 = v4.App.Style.AppStyleProvider;
local function v11()
    return v9.Store.new(v9.createReducer({}, {}), nil, {
        v9.makeThunkMiddleware({})
    });
end;
local v12 = {
    Default = {
        themeName = "Dark",
        fontName = "Gotham"
    },
    Light = {
        themeName = "Light",
        fontName = "Gotham"
    },
    Dark = {
        themeName = "Dark",
        fontName = "Gotham"
    }
};
return {
    name = "AvatarExperienceSearch",
    storyRoot = l_script_FirstAncestor_0,
    roact = v2,
    reactRoblox = v3,
    mapStory = function(v13)
        return function(v14)
            return v2.createElement(l_LocalizationProvider_0, {
                localization = l_Localization_0.new("en-us")
            }, {
                AppStyleProvider = v2.createElement(l_AppStyleProvider_0, {
                    style = not not v14 and v12[v14.theme] or v12.Default
                }, {
                    StoreProvider = v2.createElement(v8.StoreProvider, {
                        store = v11()
                    }, {
                        DesignTokenProvider = v2.createElement(l_DesignTokenProvider_0, {
                            tokenMappers = {}
                        }, {
                            Child = v2.createElement(v13, v14)
                        })
                    })
                })
            });
        end;
    end
};


local l_Parent_0 = script:FindFirstAncestor("AvatarExperienceSearch").Parent;
local v1 = require(l_Parent_0.React);
local v2 = require(l_Parent_0.Dash);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
return function(v4)
    local v5 = l_useDesignTokens_0();
    local v6, v7 = v1.useBinding(Vector2.new(0, 0));
    local v8 = if not not v4.flexSlot and v4.rigidSlot then v4.margin or v5.Global.Space_200 else 0;
    local v9 = table.clone(v4);
    v9.rigidSlot = nil;
    v9.flexSlot = nil;
    v9.margin = nil;
    v9.padding = nil;
    return v1.createElement("Frame", v2.join({
        Size = UDim2.fromScale(0, 1),
        AutomaticSize = Enum.AutomaticSize.X,
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, v9), {
        Padding = if not v4.padding then nil else v1.createElement("UIPadding", {
            PaddingTop = UDim.new(0, v4.padding.top or 0),
            PaddingRight = UDim.new(0, v4.padding.right or 0),
            PaddingBottom = UDim.new(0, v4.padding.bottom or 0),
            PaddingLeft = UDim.new(0, v4.padding.left or 0)
        }),
        Rigid = v1.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = UDim2.new(1, 0, 0, 0),
            Position = UDim2.new(0, 0, 0, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            [v1.Change.AbsoluteSize] = function(v10)
                v7(v10.AbsoluteSize);
            end
        }, v4.rigidSlot),
        Flex = v1.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Position = v6:map(function(v11)
                return UDim2.new(0, 0, 0, v11.Y + v8);
            end),
            Size = v6:map(function(v12)
                return UDim2.new(1, 0, 1, -(v12.Y + v8));
            end)
        }, v4.flexSlot)
    });
end;


local l_Parent_0 = script:FindFirstAncestor("AvatarExperienceSearch").Parent;
local v1 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
return function(v3)
    local v4 = l_useDesignTokens_0();
    return v1.createElement("Frame", {
        BorderSizePixel = 0,
        Size = UDim2.new(1, 0, 0, 1),
        BackgroundColor3 = v4.Semantic.Color.Common.Divider.Color3,
        BackgroundTransparency = v4.Semantic.Color.Common.Divider.Transparency,
        LayoutOrder = v3.layoutOrder,
        [v1.Tag] = "data-testid=AvatarExperienceSearch_Divider"
    });
end;


local l_Parent_0 = script:FindFirstAncestor("AvatarExperienceSearch").Parent;
local v1 = require(l_Parent_0.React);
local v2 = require(l_Parent_0.Dash);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
return function(v4)
    local v5 = l_useDesignTokens_0();
    local v6, v7 = v1.useBinding(Vector2.new(0, 0));
    local v8 = if not not v4.rigidSlot and v4.flexSlot then v4.margin or v5.Global.Space_200 else 0;
    local v9 = table.clone(v4);
    v9.flexSlot = nil;
    v9.rigidSlot = nil;
    v9.margin = nil;
    v9.padding = nil;
    return v1.createElement("Frame", v2.join({
        Size = UDim2.fromScale(1, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, v9), {
        Padding = if not v4.padding then nil else v1.createElement("UIPadding", {
            PaddingTop = UDim.new(0, v4.padding.top or 0),
            PaddingRight = UDim.new(0, v4.padding.right or 0),
            PaddingBottom = UDim.new(0, v4.padding.bottom or 0),
            PaddingLeft = UDim.new(0, v4.padding.left or 0)
        }),
        Flex = v1.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = v6:map(function(v10)
                return UDim2.new(1, -(v10.X + v8), 1, 0);
            end)
        }, v4.flexSlot),
        Rigid = v1.createElement("Frame", {
            AnchorPoint = Vector2.new(1, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = UDim2.new(0, 0, 1, 0),
            Position = UDim2.new(1, 0, 0, 0),
            AutomaticSize = Enum.AutomaticSize.X,
            [v1.Change.AbsoluteSize] = function(v11)
                v7(v11.AbsoluteSize);
            end
        }, v4.rigidSlot)
    });
end;


local l_Parent_0 = script:FindFirstAncestor("AvatarExperienceSearch").Parent;
local v1 = require(l_Parent_0.React);
local v2 = require(l_Parent_0.Dash);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
return function(v4)
    local v5 = l_useDesignTokens_0();
    local v6, v7 = v1.useBinding(Vector2.new(0, 0));
    local v8 = if not not v4.flexSlot and v4.rigidSlot then v4.margin or v5.Global.Space_200 else 0;
    local v9 = table.clone(v4);
    v9.rigidSlot = nil;
    v9.flexSlot = nil;
    v9.margin = nil;
    v9.padding = nil;
    return v1.createElement("Frame", v2.join({
        Size = UDim2.fromScale(1, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, v9), {
        Padding = if not v4.padding then nil else v1.createElement("UIPadding", {
            PaddingTop = UDim.new(0, v4.padding.top or 0),
            PaddingRight = UDim.new(0, v4.padding.right or 0),
            PaddingBottom = UDim.new(0, v4.padding.bottom or 0),
            PaddingLeft = UDim.new(0, v4.padding.left or 0)
        }),
        Rigid = v1.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = UDim2.new(0, 0, 1, 0),
            Position = UDim2.new(0, 0, 0, 0),
            AutomaticSize = Enum.AutomaticSize.X,
            [v1.Change.AbsoluteSize] = function(v10)
                v7(v10.AbsoluteSize);
            end
        }, v4.rigidSlot),
        Flex = v1.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Position = v6:map(function(v11)
                return UDim2.new(0, v11.X + v8, 0, 0);
            end),
            Size = v6:map(function(v12)
                return UDim2.new(1, -(v12.X + v8), 1, 0);
            end)
        }, v4.flexSlot)
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AvatarExperienceSearch");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local l_IsVRAppBuild_0 = require(l_Parent_0.AppCommonLib).IsVRAppBuild;
local v4 = require(l_Parent_0.React);
local v5 = require(l_Parent_0.UIBlox);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local l_useUiModeInfo_0 = require(l_Parent_0.RobloxAppHooks).useUiModeInfo;
local l_UiMode_0 = require(l_Parent_0.RobloxAppEnums).UiMode;
local l_l_UserInputService_0_Platform_0 = l_UserInputService_0:GetPlatform();
local v11 = require(l_script_FirstAncestor_0.Components.LeftFlexRowLayout);
local v12 = l_l_UserInputService_0_Platform_0 == Enum.Platform.Android;
local l_Images_0 = v5.App.ImageSet.Images;
local l_ImageSetLabel_0 = v5.Core.ImageSet.ImageSetLabel;
local l_ImageSetButton_0 = v5.Core.ImageSet.ImageSetButton;
local v16 = {
    clear = l_Images_0["icons/actions/edit/clear_small"],
    search = l_Images_0["icons/common/search_small"]
};
local v17 = {
    cancelButtonText = "Feature.Catalog.Action.Cancel",
    placeholder = "Feature.Catalog.Search.Placeholder"
};
local function v19(v18)
    return {
        borderRadius = v18.Semantic.Radius.Medium,
        cancelButtonPadding = v18.Global.Space_100,
        defaultHeight = v18.Global.Size_450,
        font = v18.Semantic.Typography.Body.Font,
        iconAndTextInputMargin = v18.Global.Space_200,
        iconOffsetX = v18.Global.Size_150,
        iconSize = v18.Global.Size_200,
        inputAndCancelButtonMargin = v18.Global.Space_100,
        inputBackgroundColor = v18.Semantic.Color.Background.Contrast.Color3,
        placeholderColor = v18.Semantic.Color.Common.Placeholder.Color3,
        textIconColor = v18.Semantic.Color.Text.Emphasis.Color3,
        textIconTransparency = v18.Semantic.Color.Text.Emphasis.Transparency,
        textSize = v18.Semantic.Typography.Body.FontSize
    };
end;
return function(v20)
    local v21 = l_useLocalization_0(v17);
    local v22 = l_useDesignTokens_0(v19);
    local v23 = l_useUiModeInfo_0().uiMode == l_UiMode_0.TenFoot;
    local v24, v25 = v4.useState(false);
    local v26 = v4.useRef(nil);
    local v27 = v20.height or v22.defaultHeight;
    local v28 = v20.placeholder or v21.placeholder;
    local v29 = v22.iconSize + 2 * v22.iconOffsetX;
    local v30 = -v29 + (not v24 and 0 or -v29);
    local v31 = -(v22.iconSize + v22.iconOffsetX);
    v4.useEffect(function()
        if not ((not v20.autofocus or not v26.current) or v26.current:IsFocused()) then
            v26.current:CaptureFocus();
        end;
    end, {
        v20.autofocus
    });
    return v4.createElement(v11, {
        margin = v22.inputAndCancelButtonMargin,
        flexSlot = v4.createElement("Frame", {
            BackgroundColor3 = v22.inputBackgroundColor,
            BackgroundTransparency = 0,
            BorderSizePixel = 0,
            LayoutOrder = 1,
            Size = UDim2.new(1, 0, 0, v27)
        }, {
            UICorner = v4.createElement("UICorner", {
                CornerRadius = UDim.new(0, v22.borderRadius)
            }),
            SearchIcon = v4.createElement(l_ImageSetLabel_0, {
                AnchorPoint = Vector2.new(0, 0.5),
                BackgroundTransparency = 1,
                Image = v16.search,
                ImageColor3 = v22.textIconColor,
                ImageTransparency = v22.textIconTransparency,
                Position = UDim2.new(0, v22.iconOffsetX, 0.5, 0),
                Size = UDim2.fromOffset(v22.iconSize, v22.iconSize)
            }),
            SearchBox = v4.createElement("TextBox", {
                AnchorPoint = Vector2.new(0, 0.5),
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                ClearTextOnFocus = false,
                ClipsDescendants = true,
                Font = v22.font,
                OverlayNativeInput = true,
                PlaceholderColor3 = v22.placeholderColor,
                PlaceholderText = v28,
                Position = UDim2.new(0, v29, 0.5, 0),
                ReturnKeyType = Enum.ReturnKeyType.Search,
                Size = UDim2.new(1, v30, 1, 0),
                Text = v20.text or "",
                TextColor3 = v22.textIconColor,
                TextInputType = Enum.TextInputType.NoSuggestions,
                TextSize = v22.textSize,
                TextTransparency = v22.textIconTransparency,
                TextWrapped = false,
                TextXAlignment = Enum.TextXAlignment.Left,
                [v4.Change.Text] = function(v32)
                    if v20.onChange then
                        v20.onChange(v32.Text or "");
                    end;
                    v25(v32.Text ~= "");
                end,
                [v4.Event.FocusLost] = function(v33, v34, v35)
                    if (not (v35 == nil) or not v12 and not v23) or l_IsVRAppBuild_0() then
                        if not (not v34 or not v20.onSubmit) then
                            v20.onSubmit(v33.Text or "");
                        end;
                    elseif v20.onCancel then
                        v20.onCancel();
                        return ;
                    end;
                end,
                [v4.Event.ReturnPressedFromOnScreenKeyboard] = function(v36)
                    if v20.onSubmit then
                        v20.onSubmit(v36.Text or "");
                    end;
                end,
                [v4.Tag] = "data-testid=AvatarExperienceSearch_SearchBar_TextBox",
                ref = v26
            }),
            ClearSearchButton = v24 and v4.createElement(l_ImageSetButton_0, {
                AnchorPoint = Vector2.new(0, 0.5),
                BackgroundTransparency = 1,
                Image = v16.clear,
                ImageColor3 = v22.textIconColor,
                ImageTransparency = v22.textIconTransparency,
                Position = UDim2.new(1, v31, 0.5, 0),
                Size = UDim2.fromOffset(v22.iconSize, v22.iconSize),
                [v4.Event.Activated] = function()
                    if v26.current then
                        v26.current.Text = "";
                        if not v26.current:IsFocused() then
                            v26.current:CaptureFocus();
                        end;
                    end;
                end,
                [v4.Tag] = "data-testid=AvatarExperienceSearch_SearchBar_ClearButton"
            })
        }),
        rigidSlot = if not v20.showCancelButton then nil else v4.createElement("TextButton", {
            AutomaticSize = Enum.AutomaticSize.X,
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Font = v22.font,
            LayoutOrder = 2,
            Size = UDim2.new(0, 0, 0, v27),
            Text = v21.cancelButtonText,
            TextColor3 = v22.textIconColor,
            TextSize = v22.textSize,
            TextTransparency = v22.textIconTransparency,
            TextXAlignment = Enum.TextXAlignment.Center,
            [v4.Event.Activated] = v20.onCancel,
            [v4.Tag] = "data-testid=AvatarExperienceSearch_SearchBar_CancelButton"
        }, {
            Padding = v4.createElement("UIPadding", {
                PaddingRight = UDim.new(0, v22.cancelButtonPadding),
                PaddingLeft = UDim.new(0, v22.cancelButtonPadding)
            })
        })
    });
end;


local l_Parent_0 = script:FindFirstAncestor("AvatarExperienceSearch").Parent;
local v1 = require(l_Parent_0.React);
local v2 = require(l_Parent_0.UIBlox);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local l_StyledTextLabel_0 = v2.App.Text.StyledTextLabel;
local v6 = {
    emptyStateText = "Feature.Catalog.Search.LandingPage.Empty"
};
local function v8(v7)
    return {
        backgroundColor = v7.Semantic.Color.Background.Default.Color3,
        backgroundTransparency = v7.Semantic.Color.Background.Default.Transparency,
        textColorGroup = v7.Semantic.Color.Text.Emphasis,
        textFontGroup = v7.Semantic.Typography.Body
    };
end;
return function(v9)
    local v10 = l_useLocalization_0(v6);
    local v11 = l_useDesignTokens_0(v8);
    return v1.createElement(l_StyledTextLabel_0, {
        fontStyle = v11.textFontGroup,
        colorStyle = v11.textColorGroup,
        text = v9.text or v10.emptyStateText,
        textTruncate = Enum.TextTruncate.AtEnd,
        textXAlignment = Enum.TextXAlignment.Center,
        textYAlignment = Enum.TextYAlignment.Center,
        automaticSize = Enum.AutomaticSize.XY,
        size = UDim2.fromScale(1, 1)
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AvatarExperienceSearch");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.UIBlox);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local v5 = require(l_script_FirstAncestor_0.Components.RightFlexRowLayout);
local v6 = require(l_script_FirstAncestor_0.Components.LeftFlexRowLayout);
local v7 = require(l_script_FirstAncestor_0.Enums.SuggestedItemTypeEnum);
local l_StyledTextLabel_0 = v3.App.Text.StyledTextLabel;
local l_Images_0 = v3.App.ImageSet.Images;
local l_ImageSetLabel_0 = v3.Core.ImageSet.ImageSetLabel;
local l_ImageSetButton_0 = v3.Core.ImageSet.ImageSetButton;
local function v13(v12)
    return {
        barBackgroundColor = v12.Semantic.Color.Background.Default.Color3,
        barBackgroundTransparency = v12.Semantic.Color.Background.Default.Transparency,
        barHeight = v12.Global.Size_700,
        iconAndTextInputMargin = v12.Global.Space_200,
        iconOffsetX = v12.Global.Space_50,
        iconContainerSize = v12.Global.Size_400,
        textColorGroup = v12.Semantic.Color.Text.Emphasis,
        textFontGroup = v12.Semantic.Typography.Body,
        textIconColor = v12.Semantic.Color.Text.Emphasis.Color3,
        textIconTransparency = v12.Semantic.Color.Text.Emphasis.Transparency,
        textSize = v12.Semantic.Typography.Body.FontSize,
        trailingIconSize = v12.Global.Size_200,
        autocompleteIconSize = v12.Global.Size_300,
        recentIconSize = v12.Global.Size_400
    };
end;
local function v15(v14)
    return {
        recent = {
            icon = l_Images_0["icons/menu/recent"],
            size = v14.recentIconSize
        },
        autocomplete = {
            icon = l_Images_0["icons/common/search"],
            size = v14.autocompleteIconSize
        }
    };
end;
local function _(v16, v17)
    local v18 = v15(v17);
    local v19 = nil;
    local v20 = nil;
    local v21 = false;
    if v16 == v7.Recent then
        return v18.recent.icon, v18.recent.size, true;
    else
        if v16 == v7.Autocomplete then
            v19 = v18.autocomplete.icon;
            v20 = v18.autocomplete.size;
        end;
        return v19, v20, v21;
    end;
end;
return function(v23)
    local v24 = l_useDesignTokens_0(v13);
    local v25 = v23.height or v24.barHeight;
    local l_text_0 = v23.text;
    local l_type_0 = v23.type;
    local v28 = v15(v24);
    local v29 = nil;
    local v30 = nil;
    local v31 = false;
    if l_type_0 == v7.Recent then
        v29 = v28.recent.icon;
        v30 = v28.recent.size;
        v31 = true;
    elseif l_type_0 == v7.Autocomplete then
        v29 = v28.autocomplete.icon;
        v30 = v28.autocomplete.size;
    end;
    local l_v29_0 = v29;
    local l_v30_0 = v30;
    return v2.createElement("ImageButton", {
        Size = UDim2.new(1, 0, 0, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        AnchorPoint = Vector2.new(0, 0),
        Position = UDim2.new(0, 0, 0, 0),
        BackgroundColor3 = v24.barBackgroundColor,
        BackgroundTransparency = v24.barBackgroundTransparency,
        BorderSizePixel = 0,
        AutoButtonColor = false,
        LayoutOrder = v23.layoutOrder,
        [v2.Event.Activated] = function()
            v23.onActivate();
        end
    }, {
        SuggestedItemInnerFrame = v2.createElement(v6, {
            Size = UDim2.new(1, 0, 0, v25),
            AnchorPoint = Vector2.new(0, 0),
            Position = UDim2.new(0, 0, 0, 0),
            margin = v24.iconOffsetX,
            flexSlot = v2.createElement(v5, {
                margin = v24.iconOffsetX,
                rigidSlot = v2.createElement("Frame", {
                    AnchorPoint = Vector2.new(0, 0.5),
                    Size = UDim2.fromOffset(v24.iconContainerSize, v24.iconContainerSize),
                    BackgroundTransparency = 1,
                    Position = UDim2.new(0, 0, 0.5, 0)
                }, {
                    SuggestedItemLeadingIcon = v2.createElement(l_ImageSetLabel_0, {
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        Image = l_v29_0,
                        ImageColor3 = v24.textIconColor,
                        ImageTransparency = v24.textIconTransparency,
                        BackgroundTransparency = 1,
                        Position = UDim2.new(0.5, 0, 0.5, 0),
                        Size = UDim2.fromOffset(l_v30_0, l_v30_0)
                    })
                }),
                flexSlot = v2.createElement(l_StyledTextLabel_0, {
                    fontStyle = v24.textFontGroup,
                    colorStyle = v24.textColorGroup,
                    text = l_text_0 or "",
                    textWrapped = false,
                    textTruncate = Enum.TextTruncate.AtEnd,
                    textXAlignment = Enum.TextXAlignment.Left,
                    textYAlignment = Enum.TextYAlignment.Center,
                    automaticSize = Enum.AutomaticSize.X,
                    size = UDim2.new(1, 0, 0, v25)
                })
            }),
            rigidSlot = if not v31 then nil else v2.createElement(l_ImageSetButton_0, {
                AnchorPoint = Vector2.new(0, 0.5),
                Image = l_Images_0["icons/navigation/close_small"],
                ImageColor3 = v24.textIconColor,
                ImageTransparency = v24.textIconTransparency,
                BackgroundTransparency = 1,
                Position = UDim2.new(0, 0, 0.5, 0),
                Size = UDim2.fromOffset(v24.trailingIconSize, v24.trailingIconSize),
                [v2.Event.Activated] = function()
                    if v23.onTrailingButtonActivate then
                        v23.onTrailingButtonActivate();
                    end;
                end,
                [v2.Tag] = "data-testid=AvatarExperienceSearch_SuggestedItem_TrailingButton"
            })
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AvatarExperienceSearch");
local v1 = require(l_script_FirstAncestor_0.Parent.React);
local v2 = require(l_script_FirstAncestor_0.Components.SuggestedItem);
local v3 = require(l_script_FirstAncestor_0.Components.Divider);
return function(v4)
    return v1.createElement("ScrollingFrame", {
        BorderSizePixel = 0,
        AutomaticCanvasSize = Enum.AutomaticSize.XY,
        BackgroundTransparency = 1,
        CanvasSize = UDim2.fromScale(1, 1),
        ScrollBarThickness = 0,
        ScrollingDirection = Enum.ScrollingDirection.Y,
        Size = UDim2.fromScale(1, 1)
    }, (v1.useMemo(function()
        local v5 = {
            Layout = v1.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                FillDirection = Enum.FillDirection.Vertical
            })
        };
        for v6, v7 in ipairs(v4.items) do
            v5[("SuggestedItem%*"):format(v6)] = v1.createElement("Frame", {
                Size = UDim2.new(1, 0, 0, 0),
                AutomaticSize = Enum.AutomaticSize.XY,
                AnchorPoint = Vector2.new(0, 0),
                Position = UDim2.new(0, 0, 0, 0),
                BorderSizePixel = 0,
                BackgroundTransparency = 1,
                LayoutOrder = v6
            }, {
                ItemLayout = v1.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    FillDirection = Enum.FillDirection.Vertical
                }),
                Item = v1.createElement(v2, {
                    text = v7.text,
                    type = v7.type,
                    onActivate = v7.onActivate,
                    onTrailingButtonActivate = v7.onRemove,
                    layoutOrder = 0
                }),
                Divider = if v6 < #v4.items then v1.createElement(v3, {
                    layoutOrder = 1
                }) else nil
            });
        end;
        return v5;
    end, {
        v4.items
    })));
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AvatarExperienceSearch");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local v4 = require(l_script_FirstAncestor_0.Components.BottomFlexColumnLayout);
local v5 = require(l_script_FirstAncestor_0.Components.SearchBar);
local v6 = require(l_script_FirstAncestor_0.Components.SuggestedItemList);
local v7 = require(l_script_FirstAncestor_0.Components.SearchEmptyState);
local function v9(v8)
    return {
        backgroundColor = v8.Semantic.Color.Background.Default.Color3,
        backgroundTransparency = v8.Semantic.Color.Background.Default.Transparency,
        itemListPadding = v8.Global.Space_200,
        searchBarPadding = v8.Global.Space_150,
        emptyStatePadding = v8.Global.Space_500,
        spaceBetweenSearchAndList = v8.Global.Space_100
    };
end;
return function(v10)
    local v11 = l_useDesignTokens_0(v9);
    local v12 = #v10.items > 0;
    return v2.createElement(v4, {
        BorderSizePixel = 0,
        BackgroundColor3 = v11.backgroundColor,
        BackgroundTransparency = v11.backgroundTransparency,
        Size = UDim2.fromScale(1, 1),
        AutomaticSize = Enum.AutomaticSize.XY,
        margin = 0,
        rigidSlot = v2.createElement("Frame", {
            Size = UDim2.fromScale(1, 0),
            BorderSizePixel = 0,
            BackgroundTransparency = 1,
            AutomaticSize = Enum.AutomaticSize.XY,
            LayoutOrder = 0
        }, {
            SearchBarFramePadding = v2.createElement("UIPadding", {
                PaddingTop = UDim.new(0, v11.searchBarPadding),
                PaddingBottom = UDim.new(0, v11.searchBarPadding),
                PaddingLeft = UDim.new(0, v11.searchBarPadding),
                PaddingRight = UDim.new(0, v11.searchBarPadding)
            }),
            SearchBar = v2.createElement(v5, {
                showCancelButton = true,
                autofocus = true,
                onCancel = v10.onCancelSearch,
                onChange = v10.onChangeSearchQuery,
                onSubmit = v10.onSubmitSearch
            })
        }),
        flexSlot = if not v12 then if not v12 and v10.query == "" then v2.createElement("Frame", {
            BorderSizePixel = 0,
            BackgroundTransparency = 1,
            AutomaticSize = Enum.AutomaticSize.XY,
            Size = UDim2.fromScale(1, 0)
        }, {
            EmptyStatePadding = v2.createElement("UIPadding", {
                PaddingTop = UDim.new(0, v11.emptyStatePadding),
                PaddingLeft = UDim.new(0, v11.emptyStatePadding),
                PaddingRight = UDim.new(0, v11.emptyStatePadding)
            }),
            SearchEmptyState = v2.createElement(v7)
        }) else nil else v2.createElement("Frame", {
            BorderSizePixel = 0,
            BackgroundTransparency = 1,
            AutomaticSize = Enum.AutomaticSize.XY,
            Size = UDim2.fromScale(1, 1),
            LayoutOrder = 1
        }, {
            Padding = v2.createElement("UIPadding", {
                PaddingLeft = UDim.new(0, v11.itemListPadding),
                PaddingRight = UDim.new(0, v11.itemListPadding)
            }),
            SuggestedItemList = v2.createElement(v6, {
                items = v10.items
            })
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AvatarExperienceSearch");
local v1 = require(l_script_FirstAncestor_0.Parent.React);
local v2 = require(l_script_FirstAncestor_0.Utils.debounce);
local v3 = require(l_script_FirstAncestor_0.Utils.RecentSearchTermsAppStorage);
local v4 = require(l_script_FirstAncestor_0.Enums.SuggestedItemTypeEnum);
local _ = require(l_script_FirstAncestor_0.Components.SuggestedItemList);
local _ = require(l_script_FirstAncestor_0.Components.SuggestedItem);
local v7 = require(l_script_FirstAncestor_0.Flags.GetFIntAXMaxRecentSearchTerms);
local _ = require(script.Parent.SearchLandingPage);
local function v16(v9, v10, v11)
    local v12 = v3.findTermsForQuery(v9);
    local v13 = {};
    for _, v15 in v12, nil, nil do
        table.insert(v13, {
            text = v15,
            type = v4.Recent,
            onActivate = function()
                v10(v15);
            end,
            onRemove = function()
                v11(v15);
            end
        });
    end;
    return v13;
end;
local function v23(v17, v18)
    local v19 = v18[v17];
    if v19 and v19.entries then
        local v20 = {};
        for _, v22 in v19.entries, nil, nil do
            table.insert(v20, v22.searchQuery);
        end;
        return v20;
    else
        return {};
    end;
end;
local function v31(v24, v25, v26)
    local v27 = v23(v24, v25);
    local v28 = {};
    for _, v30 in v27, nil, nil do
        table.insert(v28, {
            text = v30,
            type = v4.Autocomplete,
            onActivate = function()
                v26(v30);
            end
        });
    end;
    return v28;
end;
local v34 = v2(function(v32, v33)
    if v33 then
        v33(v32);
    end;
end);
return function(v35)
    local v36, v37 = v1.useState(v3.getTerms());
    local v38, v39 = v1.useState("");
    local v41 = v1.useCallback(function(v40)
        v37(v3.removeTerm(v40));
    end, {});
    local v43 = v1.useCallback(function(v42)
        v39(v42);
        v34(v42, v35.fetchAutocompleteSuggestions);
    end, {
        v35.fetchAutocompleteSuggestions
    });
    local v45 = v1.useCallback(function(v44)
        v3.addTerm(v44);
        v35.navigateToSearch(v44);
    end, {
        v35.navigateToSearch
    });
    return {
        items = v1.useMemo(function()
            local v46 = v16(v38, v45, v41);
            local v47 = if not v35.autocompleteState then {} else v31(v38, v35.autocompleteState, v45);
            local v48 = {};
            for _, v50 in v46, nil, nil do
                table.insert(v48, v50);
            end;
            for _, v52 in v47, nil, nil do
                if v7() > #v48 then
                    table.insert(v48, v52);
                else
                    break;
                end;
            end;
            return v48;
        end, {
            v38,
            v36,
            v35.autocompleteState,
            v45,
            v41
        }),
        query = v38,
        onCancelSearch = v35.onCancelSearch,
        onChangeSearchQuery = v43,
        onSubmitSearch = v45
    };
end;


game:DefineFastInt("AXMaxRecentSearchTerms", 10);
return function()
    return game:GetFastInt("AXMaxRecentSearchTerms");
end;


local l_Parent_0 = script:FindFirstAncestor("AvatarExperienceSearch").Parent;
local v1 = require(l_Parent_0.RoactRodux);
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.Rodux);
local l_DesignTokenProvider_0 = require(l_Parent_0.Style).DesignTokenProvider;
local l_AppStyleProvider_0 = require(l_Parent_0.Style).AppStyleProvider;
local l_LocalizationProvider_0 = require(l_Parent_0.Localization).LocalizationProvider;
local v7 = {
    themeName = "dark",
    fontName = "gotham"
};
local function v10()
    return {
        Format = function(_, v9)
            return v9 .. "-translated";
        end,
        GetLocale = function()
            return "locale";
        end
    };
end;
local function v11()
    return v3.Store.new(v3.createReducer({}, {}));
end;
return function(v12)
    local v13 = v12.store or v11();
    local v14 = v12.localization or v10();
    return function(v15)
        return v2.createElement(l_LocalizationProvider_0, {
            localization = v14
        }, {
            StyleProvider = v2.createElement(l_AppStyleProvider_0, {
                style = v7
            }, {
                StoreProvider = v2.createElement(v1.StoreProvider, {
                    store = v13
                }, {
                    DesignTokenProvider = v2.createElement(l_DesignTokenProvider_0, {
                        tokenMappers = {}
                    }, {
                        TestSubject = v15.children
                    })
                })
            })
        });
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AvatarExperienceSearch");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.ReactRoblox);
local l_act_0 = v3.act;
local v5 = require(l_script_FirstAncestor_0.TestUtils.makeTestRoot);
return function(v6, v7)
    local v8 = nil;
    local function v9()
        v8 = v6(v7);
        return nil;
    end;
    local function v10()
        return v2.createElement(v5({}), {}, v2.createElement(v9, {}));
    end;
    local v11 = v3.createRoot((Instance.new("Frame")));
    l_act_0(function()
        v11:render(v10());
    end);
    return {
        getResult = function()
            return v8;
        end,
        cleanup = function()
            v11:unmount();
        end
    };
end;


local l_game_EngineFeature_0 = game:GetEngineFeature("AXMarketplaceRecentSearchesStorageKey");
local l_AppStorageService_0 = game:GetService("AppStorageService");
local l_HttpService_0 = game:GetService("HttpService");
local v3 = require(script:FindFirstAncestor("AvatarExperienceSearch").Flags.GetFIntAXMaxRecentSearchTerms);
local l_l_AppStorageService_0_0 = l_AppStorageService_0;
local function v11()
    return {
        storage = {},
        GetItem = function(v5, v6)
            return v5.storage[v6];
        end,
        SetItem = function(v7, v8, v9)
            v7.storage[v8] = v9;
        end,
        Flush = function(_)
        end
    };
end;
if not l_game_EngineFeature_0 then
    l_l_AppStorageService_0_0 = v11();
end;
local function v14()
    local v12 = l_l_AppStorageService_0_0:GetItem("AXMarketplaceRecentSearches") or "{}";
    local v13 = {};
    pcall(function()
        v13 = l_HttpService_0:JSONDecode(v12);
    end);
    return v13;
end;
local function v19(v15)
    local v16 = v14();
    for v17, v18 in v16, nil, nil do
        if string.lower(v18) == string.lower(v15) then
            table.remove(v16, v17);
            return v16;
        end;
    end;
    return v16;
end;
local function _(v20)
    l_l_AppStorageService_0_0:SetItem("AXMarketplaceRecentSearches", (l_HttpService_0:JSONEncode(v20)));
    l_l_AppStorageService_0_0:Flush();
end;
return {
    __mockAppStorageService = function(v22)
        l_l_AppStorageService_0_0 = v22 or v11();
    end,
    clearTerms = function()
        l_l_AppStorageService_0_0:SetItem("AXMarketplaceRecentSearches", "{}");
        l_l_AppStorageService_0_0:Flush();
    end,
    getTerms = function()
        return (v14());
    end,
    removeTerm = function(v23)
        if not (v23 ~= nil) or v23 == "" then
            return (v14());
        else
            local v24 = v19(v23);
            l_l_AppStorageService_0_0:SetItem("AXMarketplaceRecentSearches", (l_HttpService_0:JSONEncode(v24)));
            l_l_AppStorageService_0_0:Flush();
            return v24;
        end;
    end,
    addTerm = function(v25)
        if not (v25 ~= nil) or v25 == "" then
            return (v14());
        else
            local v26 = v19(v25);
            table.insert(v26, 1, v25);
            if v3() < #v26 then
                table.remove(v26);
            end;
            l_l_AppStorageService_0_0:SetItem("AXMarketplaceRecentSearches", (l_HttpService_0:JSONEncode(v26)));
            l_l_AppStorageService_0_0:Flush();
            return v26;
        end;
    end,
    findTermsForQuery = function(v27)
        local v28 = v14();
        if not (v27 ~= nil) or v27 == "" then
            return v28;
        else
            local v29 = {};
            for _, v31 in v28, nil, nil do
                if string.lower((string.sub(v31, 1, (string.len(v27))))) == string.lower(v27) then
                    table.insert(v29, v31);
                end;
            end;
            return v29;
        end;
    end
};


return function(v0, v1)
    local v2 = nil;
    local v3 = v1 or 0.5;
    return function(...)
        local v4 = {
            ...
        };
        if v2 then
            task.cancel(v2);
        end;
        v2 = task.delay(v3, function()
            v0(unpack(v4));
            v2 = nil;
        end);
    end;
end;


return {
    Features = {
        SearchLandingPage = require(script.Features.SearchLandingPage.SearchLandingPage),
        useSearchLandingPageProps = require(script.Features.SearchLandingPage.useSearchLandingPageProps)
    },
    Utils = {
        RecentSearchTermsAppStorage = require(script.Utils.RecentSearchTermsAppStorage)
    },
    ["jest.config"] = script["jest.config"]
};


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


return function(v0)
    return {
        getAvatarHeaderIcon = function()
            return v0.AvatarHeaderIcon or "LuaApp/icons/ic-back";
        end,
        getAvatarEditorShowBuyRobuxOnTopBar = function()
            return v0.AvatarEditorShowBuyRobuxOnTopBar or false;
        end,
        getCustomOutfitNames = function()
            if v0.CustomCostumeNames ~= nil then
                return v0.CustomCostumeNames;
            else
                return true;
            end;
        end
    };
end;


local l_MessageBusService_0 = game:GetService("MessageBusService");
local l_Parent_0 = script.Parent;
local v2 = require(l_Parent_0.Parent.Promise);
local v3 = require(l_Parent_0.AwardProtocolConstants);
local _ = require(l_Parent_0.AwardProtocolTypes);
local v5 = {};
v5.__index = v5;
v5.new = function()
    return (setmetatable({}, v5));
end;
v5.isAvailable = function(_)
    return (v2.new(function(v7, _)
        l_MessageBusService_0:MakeRequest(v3.NAME, v3.METHOD_IS_AVAILABLE, {}, function(v9)
            v7(v9.isAvailable);
        end, {});
    end));
end;
v5.hasAchievedAward = function(_, v11)
    return (v2.new(function(v12, _)
        l_MessageBusService_0:MakeRequest(v3.NAME, v3.METHOD_HAS_ACHIEVED_AWARD, {
            awardName = v11
        }, function(v14)
            v12(v14.hasAward);
        end, {});
    end));
end;
v5.hasAchievedAllAwards = function(_)
    return (v2.new(function(v16, _)
        l_MessageBusService_0:MakeRequest(v3.NAME, v3.METHOD_HAS_ACHIEVED_ALL_AWARDS, {}, function(v18)
            v16(v18.hasAchievedAllAwards);
        end, {});
    end));
end;
v5.hasAchievedAnyAwards = function(_)
    return (v2.new(function(v20, _)
        l_MessageBusService_0:MakeRequest(v3.NAME, v3.METHOD_HAS_ACHIEVED_ANY_AWARDS, {}, function(v22)
            v20(v22.hasAchievedAnyAwards);
        end, {});
    end));
end;
v5.grantAward = function(_, v24)
    return (v2.new(function(v25, _)
        l_MessageBusService_0:MakeRequest(v3.NAME, v3.METHOD_GRANT_AWARD, {
            awardName = v24
        }, function(v27)
            v25(v27.wasAwardGranted);
        end, {});
    end));
end;
v5.default = v5.new();
return v5;


return {
    NAME = "Award",
    AWARD_NAMES = {
        AWARD_3_DAY_ROLL = "Award3DayRoll",
        AWARD_10_DAY_ROLL = "Award10DayRoll",
        AWARD_20_DAY_ROLL = "Award20DayRoll",
        AWARD_DEEP_DIVER = "AwardDeepDiver",
        AWARD_FOURS_COMPANY = "AwardFoursCompany",
        AWARD_ONE_NAME_MANY_FACES = "AwardOneNameManyFaces",
        AWARD_POLLSTER = "AwardPollster",
        AWARD_SAMPLER = "AwardSampler",
        AWARD_STRENGTH_IN_NUMBERS = "AwardStrengthInNumbers",
        AWARD_WORLD_TRAVELER = "AwardWorldTraveler",
        AWARD_YOU_DID_IT = "AwardYouDidIt"
    },
    METHOD_IS_AVAILABLE = "isAvailable",
    METHOD_HAS_ACHIEVED_AWARD = "hasAward",
    METHOD_HAS_ACHIEVED_ALL_AWARDS = "hasAchievedAllAwards",
    METHOD_HAS_ACHIEVED_ANY_AWARDS = "hasAchievedAnyAwards",
    METHOD_GRANT_AWARD = "grantAward"
};


local v0 = require(script.AwardProtocol);
local _ = require(script.AwardProtocolTypes);
return {
    AwardProtocol = v0,
    AWARD_NAMES = require(script.AwardProtocolConstants).AWARD_NAMES
};


return {
    testTimeout = 10000,
    projects = {
        game.CoreGui.RobloxGui.Modules.LuaAppRhodiumTest.Benchmarks["jest.config"]
    }
};


local l_GuiService_0 = game:GetService("GuiService");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_Parent_0.React);
local l_useSelector_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useSelector;
local l_FocusNavigableSurfaceIdentifierEnum_0 = require(l_Parent_0.FocusNavigationUtils).FocusNavigableSurfaceIdentifierEnum;
local v6 = require(l_script_FirstAncestor_0.Enums.BulkPurchasePromptStateEnum);
local v7 = require(l_script_FirstAncestor_0.Features.BulkPurchaseError.BulkPurchaseErrorContainer);
local v8 = require(l_script_FirstAncestor_0.Features.BulkPurchaseSuccess.BulkPurchaseSuccessContainer);
local v9 = require(l_script_FirstAncestor_0.Features.BulkPurchasePartialSuccess.BulkPurchasePartialSuccessContainer);
local v10 = require(l_script_FirstAncestor_0.Features.BulkPurchaseRequest.BulkPurchaseRequestContainer);
local v11 = require(l_script_FirstAncestor_0.Hooks.ScreenSizeContext);
local v12 = require(l_script_FirstAncestor_0.Hooks.useBulkPurchaseRequestListenerEffect);
local v13 = require(l_script_FirstAncestor_0.Hooks.useFocusNavigationSurface);
local v14 = require(l_script_FirstAncestor_0.Store.Selectors.selectPromptState);
local v15 = require(l_script_FirstAncestor_0.Flags.FFlagFixBulkPurchaseFocusRelease);
return function()
    local v16, v17 = v3.useState(Vector2.new(0, 0));
    local v18 = l_useSelector_0(v14);
    local v19 = v13({
        selectionGroupName = "BulkPurchaseApp",
        focusNavigableSurfaceIdentifier = l_FocusNavigableSurfaceIdentifierEnum_0.CentralOverlay
    });
    v12();
    if v15 then
        v3.useEffect(function()
            if v18 == v6.None then
                l_GuiService_0.SelectedCoreObject = nil;
            end;
        end, {
            v18
        });
    end;
    return v3.createElement(v11.Provider, {
        value = v16
    }, v3.createElement("ScreenGui", {
        [v3.Change.AbsoluteSize] = function(v20)
            v17(v20.AbsoluteSize);
        end,
        ScreenInsets = Enum.ScreenInsets.None
    }, {
        FocusNavigationEffects = v3.createElement("Frame", {
            ref = if not not v15 and v18 == v6.None then nil else v19,
            Size = UDim2.fromScale(1, 1),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            SelectionBehaviorDown = Enum.SelectionBehavior.Stop,
            SelectionBehaviorLeft = Enum.SelectionBehavior.Stop,
            SelectionBehaviorRight = Enum.SelectionBehavior.Stop,
            SelectionBehaviorUp = Enum.SelectionBehavior.Stop
        }, {
            Error = if v18 == v6.Error then v3.createElement(v7) else nil,
            Success = if v18 == v6.Success then v3.createElement(v8) else nil,
            Request = if v18 == v6.Request then v3.createElement(v10) else nil,
            PartialSuccess = if v18 == v6.PartialSuccess then v3.createElement(v9) else nil
        })
    }));
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.ReactRoblox);
local v4 = require(l_Parent_0.UIBlox);
local l_DesignTokenProvider_0 = require(l_Parent_0.Style).DesignTokenProvider;
local l_LocalizationProvider_0 = require(l_Parent_0.Localization).LocalizationProvider;
local l_Localization_0 = require(l_Parent_0.InExperienceLocales).Localization;
local v8 = require(l_Parent_0.RoactRodux);
local v9 = require(l_Parent_0.Rodux);
v4.init(require(l_Parent_0.Dev.RobloxAppUIBloxConfig));
local l_AppStyleProvider_0 = v4.App.Style.AppStyleProvider;
local function v11()
    return v9.Store.new(v9.createReducer({}, {}), nil, {
        v9.makeThunkMiddleware({})
    });
end;
local v12 = {
    Default = {
        themeName = "Dark",
        fontName = "Gotham"
    },
    Light = {
        themeName = "Light",
        fontName = "Gotham"
    },
    Dark = {
        themeName = "Dark",
        fontName = "Gotham"
    }
};
return {
    name = "BulkPurchaseApp",
    storyRoot = l_script_FirstAncestor_0,
    roact = v2,
    reactRoblox = v3,
    mapStory = function(v13)
        return function(v14)
            return v2.createElement(l_LocalizationProvider_0, {
                localization = l_Localization_0.new("en-us")
            }, {
                AppStyleProvider = v2.createElement(l_AppStyleProvider_0, {
                    style = not not v14 and v12[v14.theme] or v12.Default
                }, {
                    StoreProvider = v2.createElement(v8.StoreProvider, {
                        store = v11()
                    }, {
                        DesignTokenProvider = v2.createElement(l_DesignTokenProvider_0, {
                            tokenMappers = {}
                        }, {
                            Child = v2.createElement(v13, v14)
                        })
                    })
                })
            });
        end;
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_InteractiveAlert_0 = require(l_Parent_0.UIBlox).App.Dialog.Alert.InteractiveAlert;
local v4 = require(l_script_FirstAncestor_0.Hooks.useScreenSize);
local v5 = require(script.Parent.Scrim);
return function(v6)
    return v2.createElement(v5, {}, v2.createElement(l_InteractiveAlert_0, {
        title = v6.title,
        bodyText = v6.bodyText,
        buttonStackInfo = {
            buttons = {
                {
                    props = {
                        onActivated = v6.onDismiss,
                        text = v6.dismissCTA
                    },
                    isDefaultChild = true
                }
            }
        },
        position = UDim2.fromScale(0.5, 0.5),
        screenSize = v4(),
        middleContent = v6.middleContent
    }));
end;


local v0 = require(script:FindFirstAncestor("BulkPurchaseApp").Parent.React);
return function(v1)
    local v2 = if not v1.children then {} else table.clone(v1.children);
    local v3 = table.clone(v1);
    v3.cornerRadius = nil;
    v3.padding = nil;
    v3.children = nil;
    local v4 = if typeof(v1.padding) == "number" then {
        PaddingBottom = UDim.new(0, v1.padding),
        PaddingLeft = UDim.new(0, v1.padding),
        PaddingRight = UDim.new(0, v1.padding),
        PaddingTop = UDim.new(0, v1.padding)
    } else if typeof(v1.padding) == "table" then {
        PaddingTop = UDim.new(0, if not not v1.padding and v1.padding[1] then v1.padding[1] else 0),
        PaddingRight = UDim.new(0, if not not v1.padding and v1.padding[2] then v1.padding[2] else 0),
        PaddingBottom = UDim.new(0, if not not v1.padding and v1.padding[3] then v1.padding[3] else 0),
        PaddingLeft = UDim.new(0, if not not v1.padding and v1.padding[4] then v1.padding[4] else 0)
    } else nil;
    if v4 then
        v2.Padding = v0.createElement("UIPadding", v4);
    end;
    if v1.cornerRadius then
        v2.Radius = v0.createElement("UICorner", {
            CornerRadius = v1.cornerRadius
        });
    end;
    return v0.createElement("Frame", v3, v2);
end;


local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v1 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
return function(v3)
    local v4 = l_useDesignTokens_0();
    return v1.createElement("Frame", {
        BorderSizePixel = 0,
        Size = UDim2.new(1, 0, 0, 1),
        BackgroundColor3 = v4.Semantic.Color.Common.Divider.Color3,
        BackgroundTransparency = v4.Semantic.Color.Common.Divider.Transparency,
        LayoutOrder = v3.LayoutOrder,
        [v1.Tag] = "data-testid=BulkPurchaseApp_Divider"
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_useUiModeInfo_0 = require(l_Parent_0.RobloxAppHooks).useUiModeInfo;
local l_UiMode_0 = require(l_Parent_0.RobloxAppEnums).UiMode;
local v6 = require(l_Parent_0.UIBlox);
local l_StyledTextLabel_0 = v6.App.Text.StyledTextLabel;
local l_ImageSetLabel_0 = v6.Core.ImageSet.ImageSetLabel;
local l_Images_0 = v6.App.ImageSet.Images;
local l_useCursor_0 = v6.App.SelectionCursor.useCursor;
local v11 = require(l_script_FirstAncestor_0.Hooks.useScreenSize);
local v12 = require(l_script_FirstAncestor_0.constants);
local v13 = require(script.Parent.Scrim);
local v14 = require(script.Parent.Box);
local function v17(v15)
    local v16 = l_useDesignTokens_0();
    return v2.createElement("TextButton", {
        Size = UDim2.fromOffset(v16.Global.Size_450, v16.Global.Size_450),
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        [v2.Event.Activated] = v15.onActivated,
        Text = "",
        [v2.Tag] = "data-testid=BulkPurchaseApp_FullPagePromptCloseButton",
        SelectionImageObject = l_useCursor_0(UDim.new(0, v16.Semantic.Radius.Medium), 0)
    }, v2.createElement(l_ImageSetLabel_0, {
        Size = UDim2.fromOffset(v16.Global.Size_350, v16.Global.Size_350),
        BackgroundTransparency = 1,
        Image = l_Images_0["icons/navigation/close"],
        ImageColor3 = v16.Semantic.Color.Text.Emphasis.Color3,
        ImageTransparency = v16.Semantic.Color.Text.Emphasis.Transparency,
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.fromScale(0.5, 0.5)
    }));
end;
local function v19(v18)
    return {
        background = v18.Semantic.Color.Background.Default.Color3,
        padding = v18.Global.Space_300,
        cornerRadius = v18.Semantic.Radius.Medium,
        headerFontStyle = v18.Semantic.Typography.Header,
        headerColorStyle = v18.Semantic.Color.Text.Emphasis,
        headerMarginBottom = v18.Global.Space_400,
        headerHeight = v18.Global.Size_350
    };
end;
return (v2.forwardRef(function(v20, v21)
    local v22 = v11();
    local v23 = l_useDesignTokens_0(v19);
    local v24 = l_useUiModeInfo_0();
    local v25 = if v24.uiMode == l_UiMode_0.TenFoot then v12.MAX_WIDTH * v12.TEN_FOOT_MULTIPLIER else v12.MAX_WIDTH;
    local v26 = if v24.uiMode == l_UiMode_0.TenFoot then v12.MAX_HEIGHT * v12.TEN_FOOT_MULTIPLIER else v12.MAX_HEIGHT;
    local v27 = false;
    if v22.X < v12.MOBILE_BREAKPOINT then
        v27 = v22.X < v22.Y;
    end;
    return v2.createElement(v13, {
        ref = v21
    }, v2.createElement(v14, {
        padding = {
            v23.padding,
            v23.padding,
            v23.padding,
            v23.padding
        },
        cornerRadius = UDim.new(0, v23.cornerRadius),
        Size = UDim2.new(not v27 and 0 or 1, if not v27 then math.min(v25, v22.X) else 0, 0, (math.min(v26, v22.Y))),
        BackgroundColor3 = v23.background,
        BorderSizePixel = 0,
        Position = UDim2.fromScale(0.5, not v27 and 0.5 or 1),
        AnchorPoint = Vector2.new(0.5, not v27 and 0.5 or 1)
    }, {
        Header = v2.createElement("Frame", {
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = UDim2.new(1, 0, 0, v23.headerHeight)
        }, v2.createElement(l_StyledTextLabel_0, {
            fontStyle = v23.headerFontStyle,
            colorStyle = v23.headerColorStyle,
            textXAlignment = Enum.TextXAlignment.Center,
            textYAlignment = Enum.TextYAlignment.Center,
            text = v20.title,
            size = UDim2.new(1, 0, 1, 0)
        }), v2.createElement(v17, {
            onActivated = v20.onClose
        })),
        Content = v2.createElement("Frame", {
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = UDim2.new(1, 0, 1, -v23.headerHeight - v23.headerMarginBottom),
            Position = UDim2.fromOffset(0, v23.headerHeight + v23.headerMarginBottom)
        }, v20.children)
    }));
end));


local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v1 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_useCursor_0 = require(l_Parent_0.UIBlox).App.SelectionCursor.useCursor;
return function(v4)
    local v5 = l_useDesignTokens_0();
    local v6 = l_useCursor_0(UDim.new(0, v5.Semantic.Radius.Small), v5.Global.Space_100);
    local l_Space_175_0 = v5.Global.Space_175;
    local v8, v9 = v1.useBinding(false);
    return v1.createElement("ScrollingFrame", {
        LayoutOrder = v4.LayoutOrder,
        BorderSizePixel = 0,
        BackgroundTransparency = 1,
        Size = v4.size,
        ScrollBarThickness = v5.Global.Size_50,
        ScrollBarImageColor3 = v5.Semantic.Color.Ui.Emphasis.Color3,
        ScrollBarImageTransparency = v5.Semantic.Color.Ui.Emphasis.Transparency,
        AutomaticCanvasSize = Enum.AutomaticSize.Y,
        CanvasSize = UDim2.new(1, -l_Space_175_0, 0, 0),
        SelectionImageObject = v6,
        Selectable = v8,
        [v1.Change.AbsoluteCanvasSize] = function(v10)
            v9(v10.AbsoluteWindowSize.Y < v10.AbsoluteCanvasSize.Y);
        end
    }, v1.createElement("UIPadding", {
        PaddingRight = UDim.new(0, l_Space_175_0)
    }), v1.createElement("UIListLayout", {
        SortOrder = Enum.SortOrder.LayoutOrder,
        HorizontalAlignment = Enum.HorizontalAlignment.Center,
        VerticalAlignment = Enum.VerticalAlignment.Top,
        Padding = UDim.new(0, v5.Global.Space_300)
    }), v4.children);
end;