local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local l_Players_0 = game:GetService("Players");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local _ = require(l_script_FirstAncestor_0.Components.Types);
local v5 = require(l_script_FirstAncestor_0.MenuConfigs.getToastMessageFromAbuseReason);
local v6 = require(l_RobloxGui_0.Modules.VoiceChat.createVoiceAbuseReportRequest);
local l_default_0 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceChatServiceManager).default;
local v8 = require(l_script_FirstAncestor_0.ReportAnything.Utility.AbuseReportBuilder);
local v9 = require(l_script_FirstAncestor_0.Analytics.ReportAbuseAnalytics);
local v10 = require(l_script_FirstAncestor_0.Components.Constants);
local v11 = require(l_script_FirstAncestor_0.IXP.TnSIXPWrapper);
local v12 = require(l_Parent_0.Cryo);
isEligibleForVoiceSubmit = function(v13, v14)
    local v15 = false;
    if v13.allegedAbuser ~= nil then
        v15 = false;
        if v13.allegedAbuserId ~= nil then
            v15 = false;
            if v13.abuseReason ~= nil then
                v15 = false;
                if v13.methodOfAbuse ~= nil then
                    v15 = false;
                    if v14.analyticsState.menuOpenedUnixTimestampMilliseconds ~= nil then
                        v15 = l_Players_0.LocalPlayer ~= nil;
                    end;
                end;
            end;
        end;
    end;
    return v15;
end;
isEligibleForRAOtherSubmit = function(v16)
    local v17 = false;
    if v16.allegedAbuser ~= nil then
        v17 = false;
        if v16.allegedAbuserId ~= nil then
            v17 = false;
            if v16.abuseReason ~= nil then
                v17 = l_Players_0.LocalPlayer ~= nil;
            end;
        end;
    end;
    return v17;
end;
isEligibleForTextSubmit = function(v18)
    local v19 = false;
    if v18.allegedAbuser ~= nil then
        v19 = v18.abuseReason ~= nil;
    end;
    return v19;
end;
return {
    componentType = "button",
    getIsVisible = function(_)
        return true;
    end,
    variant = "primary",
    getIconSrc = function(_)
        return "";
    end,
    getButtonLabel = function(_)
        return "Submit";
    end,
    getIsDisabled = function(v23, v24)
        local l_methodOfAbuse_0 = v23.methodOfAbuse;
        if l_methodOfAbuse_0 == v10.AbuseMethods.VoiceChat then
            return not isEligibleForVoiceSubmit(v23, v24);
        elseif (l_methodOfAbuse_0 ~= v10.AbuseMethods.TextChat and l_methodOfAbuse_0 ~= nil) and (not (l_methodOfAbuse_0 == v10.AbuseMethods.Other) or v11.getReportAnythingAvatarEnabled()) then
            if not (l_methodOfAbuse_0 ~= v10.AbuseMethods.Other) or l_methodOfAbuse_0 == v10.AbuseMethods.Avatar then
                return not isEligibleForRAOtherSubmit(v23);
            else
                return false;
            end;
        else
            return not isEligibleForTextSubmit(v23);
        end;
    end,
    onClick = function(v26, _, v28)
        local l_allegedAbuser_0 = v26.allegedAbuser;
        local l_allegedAbuserId_0 = v26.allegedAbuserId;
        local l_abuseReason_0 = v26.abuseReason;
        local l_methodOfAbuse_1 = v26.methodOfAbuse;
        local l_menuOpenedUnixTimestampMilliseconds_0 = v28.analyticsState.menuOpenedUnixTimestampMilliseconds;
        if l_methodOfAbuse_1 == v10.AbuseMethods.VoiceChat then
            if isEligibleForVoiceSubmit(v26, v28) then
                pcall(function()
                    task.spawn(function()
                        l_Players_0:ReportAbuseV3(l_Players_0.LocalPlayer, (v6(l_Players_0, l_default_0, {
                            localUserId = l_Players_0.LocalPlayer.UserId,
                            abuserUserId = l_allegedAbuserId_0,
                            abuseComment = v26.comment,
                            abuseReason = l_abuseReason_0,
                            inExpMenuOpenedUnixMilli = l_menuOpenedUnixTimestampMilliseconds_0,
                            sortedPlayerListUserIds = v12.List.map(v26.playerObjects, function(v34)
                                return v34.UserId;
                            end),
                            abuseVector = v10.AbuseVector.Voice
                        })));
                        v28.analyticsDispatch({
                            type = v10.AnalyticsActions.SetSubmissionCompleted
                        });
                        v28.showReportSentPage(l_allegedAbuser_0);
                    end);
                end);
                return ;
            end;
        elseif (not (l_methodOfAbuse_1 ~= v10.AbuseMethods.TextChat) or l_methodOfAbuse_1 == v10.AbuseMethods.Other and not v11.getReportAnythingAvatarEnabled()) or l_methodOfAbuse_1 == nil then
            if isEligibleForTextSubmit(v26) then
                spawn(function()
                    l_Players_0:ReportAbuse(l_allegedAbuser_0, l_abuseReason_0, v26.comment);
                end);
                v28.analyticsDispatch({
                    type = v10.AnalyticsActions.SetSubmissionCompleted
                });
                v28.onReportComplete((v5(l_abuseReason_0)));
                return ;
            end;
        elseif not (not (not (l_methodOfAbuse_1 ~= v10.AbuseMethods.Other) or l_methodOfAbuse_1 == v10.AbuseMethods.Avatar) or not isEligibleForRAOtherSubmit(v26)) then
            pcall(function()
                task.spawn(function()
                    l_Players_0:ReportAbuseV3(l_Players_0.LocalPlayer, (v8.buildOtherReportRequest({
                        localUserId = l_Players_0.LocalPlayer.UserId,
                        formSelectedAbuserUserId = l_allegedAbuserId_0,
                        abuseComment = v26.comment,
                        abuseReason = l_abuseReason_0,
                        menuEntryPoint = v9:getAbuseReportSessionEntryPoint(),
                        variant = v8.Constants.Variant.NM
                    }, v28.reportAnythingState, v28.reportAnythingAnalytics.getAccumulatedParameters())));
                    v28.analyticsDispatch({
                        type = v10.AnalyticsActions.SetSubmissionCompleted
                    });
                    v28.onReportComplete((v5(l_abuseReason_0, true)));
                end);
            end);
        end;
    end,
    fieldLabel = "",
    componentName = "SubmitButton"
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.UIBlox);
local v4 = require(l_script_FirstAncestor_0.Components.MenuItems.DropdownReportMenuItem);
local v5 = require(l_script_FirstAncestor_0.Components.MenuItems.ButtonReportMenuItem);
local v6 = require(l_script_FirstAncestor_0.Components.MenuItems.FreeCommentsMenuItem);
local v7 = require(l_script_FirstAncestor_0.Components.MenuItems.ModalBasedSelectorMenuItem);
local _ = require(l_script_FirstAncestor_0.Components.Types);
local l_Button_0 = v3.App.Button.Button;
local l_ButtonType_0 = v3.App.Button.Enum.ButtonType;
local l_Images_0 = v3.App.ImageSet.Images;
return function(v12, v13, v14, v15)
    local v16 = {};
    for v17, v18 in v15, nil, nil do
        if v18.getIsVisible(v12) then
            local l_componentType_0 = v18.componentType;
            local l_componentName_0 = v18.componentName;
            if not (l_componentType_0 == "generic") then
                if l_componentType_0 == "freeComments" then
                    v16[l_componentName_0] = v2.createElement(v6, {
                        layoutOrder = v17,
                        comment = v12.comment,
                        menuContainerWidth = v14.menuWidth,
                        onUpdate = function(v21)
                            v18.onUpdate(v21, v12, v13, v14);
                        end
                    });
                elseif l_componentType_0 == "button" then
                    local v22 = v18.getIconSrc(v14);
                    v16[l_componentName_0] = v2.createElement(v5, {
                        label = v18.fieldLabel,
                        button = v2.createElement(l_Button_0, {
                            buttonType = if v18.variant == "primary" then l_ButtonType_0.PrimarySystem else l_ButtonType_0.Secondary,
                            text = v18.getButtonLabel(v14),
                            size = UDim2.new(1, 0, 0, 36),
                            icon = if v22 ~= "" then l_Images_0[v22] else nil,
                            isDisabled = if v18.getIsDisabled ~= nil then v18.getIsDisabled(v12, v14) else false,
                            onActivated = function()
                                v18.onClick(v12, v13, v14);
                            end
                        }),
                        menuContainerWidth = v14.menuWidth,
                        layoutOrder = v17
                    });
                elseif l_componentType_0 == "dropdown" then
                    v16[l_componentName_0] = v2.createElement(v4, {
                        label = v18.fieldLabel,
                        layoutOrder = v17,
                        onSelect = function(v23)
                            v18.onUpdateSelectedOption(v23, v12, v13, v14);
                        end,
                        menuContainerWidth = v14.menuWidth,
                        readonlyValue = v18.readonlyValue,
                        selections = v18.getMenuItems(v12)
                    });
                elseif l_componentType_0 == "modalSelector" then
                    v16[l_componentName_0] = v2.createElement(v7, {
                        label = v18.fieldLabel,
                        layoutOrder = v17,
                        onSelect = function(v24, v25, v26)
                            v18.onUpdateSelectedOption({
                                label = v24,
                                subLabel = v25,
                                identifier = v26
                            }, v12, v13, v14);
                        end,
                        menuContainerWidth = v14.menuWidth,
                        selectedValue = if not v18.getSelectedValue then nil else v18.getSelectedValue(v12) or nil,
                        selections = v18.getMenuItems(v12),
                        viewportHeight = v14.viewportDimension.height,
                        viewportWidth = v14.viewportDimension.width
                    });
                end;
            end;
        end;
    end;
    return v16;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local _ = require(l_script_FirstAncestor_0.Components.Types);
local v3 = require(l_script_FirstAncestor_0.Components.Constants);
local v4 = require(l_Parent_0.Cryo);
local l_AnalyticsActions_0 = v3.AnalyticsActions;
local v6 = {
    typeofabuseSelection = v4.None,
    reasonSelection = v4.None
};
return function(v7, v8)
    local v9 = table.clone(v7);
    local l_type_0 = v8.type;
    if l_type_0 == l_AnalyticsActions_0.Reset then
        local l_menuEverShown_0 = v9.menuEverShown;
        v9 = v3.AnalyticsInitialState;
        v9.menuEverShown = l_menuEverShown_0;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.SetMenuOpenedTimestamp then
        v9.menuEverShown = true;
        v9.menuOpenedUnixTimestampMilliseconds = v8.timestamp;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.IncrementExperiencePersonChanged then
        v9.experiencePersonChangeCount = v9.experiencePersonChangeCount + 1;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.IncrementTypeofabuseChanged then
        v9.typeofabuseChangeCount = v9.typeofabuseChangeCount + 1;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.IncrementPersonChanged then
        v9.personChangeCount = v9.personChangeCount + 1;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.IncrementReasonChanged then
        v9.reasonChangeCount = v9.reasonChangeCount + 1;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.IncrementCaptureScene then
        v9.captureSceneCount = v9.captureSceneCount + 1;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.SetViewportInformation then
        v9.viewportSizeX = v8.viewportSizeX;
        v9.viewportSizeY = v8.viewportSizeY;
        v9.isPortraitMode = v8.viewportSizeX < v8.viewportSizeY;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.SetSubmissionCompleted then
        v9.isSubmissionCompleted = true;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.SetTypeOfAbuseSelection then
        v9.typeofabuseSelection = v8.selection;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.SetReasonSelection then
        v9.reasonSelection = v8.selection;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.SetCommentAdded then
        v9.commentAdded = v8.commentAdded;
        return v9;
    elseif l_type_0 == l_AnalyticsActions_0.SwitchToExperienceInitialSelections then
        return (v4.Dictionary.join(v9, v6, v3.AnalyticsExpeirenceInitialSelections));
    else
        if l_type_0 == l_AnalyticsActions_0.SwitchToPersonInitialSelections then
            v9 = v4.Dictionary.join(v9, v6, v3.AnalyticsPersonInitialSelections);
        end;
        return v9;
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local _ = require(l_script_FirstAncestor_0.Components.Types);
local v2 = require(l_script_FirstAncestor_0.Components.Constants);
local l_ReportAnythingActions_0 = v2.ReportAnythingActions;
return function(v4, v5)
    local v6 = table.clone(v4);
    local l_type_0 = v5.type;
    if l_type_0 == l_ReportAnythingActions_0.ClearAll then
        return v2.ReportAnythingInitialState;
    elseif l_type_0 == l_ReportAnythingActions_0.ClearAnnotationFlowProperties then
        v6.annotationPoints = {};
        v6.attachCompleted = false;
        v6.annotationPageSeen = false;
        v6.annotationOptionSeen = false;
        return v6;
    elseif l_type_0 == l_ReportAnythingActions_0.SetScreenshotId then
        v6.screenshotId = v5.screenshotId;
        return v6;
    elseif l_type_0 == l_ReportAnythingActions_0.SetScreenshotContentId then
        v6.screenshotContentId = v5.screenshotContentId;
        return v6;
    elseif l_type_0 == l_ReportAnythingActions_0.SetAnnotationPoints then
        v6.annotationPoints = v5.annotationPoints;
        v6.annotationPageSeen = true;
        v6.annotationOptionSeen = true;
        return v6;
    elseif l_type_0 == l_ReportAnythingActions_0.SetIdentificationResults then
        v6.identificationResults = v5.identificationResults;
        return v6;
    elseif l_type_0 == l_ReportAnythingActions_0.CompleteAttachment then
        v6.attachCompleted = true;
        return v6;
    elseif l_type_0 == l_ReportAnythingActions_0.SetAnnotationCircleRadius then
        v6.annotationCircleRadius = v5.radius;
        return v6;
    elseif l_type_0 == l_ReportAnythingActions_0.SetAnnotationAreaDimensions then
        v6.annotationAreaWidth = v5.width;
        v6.annotationAreaHeight = v5.height;
        return v6;
    else
        if l_type_0 == l_ReportAnythingActions_0.SetAnnotationOptionSeen then
            v6.annotationOptionSeen = true;
        end;
        return v6;
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local v1 = require(l_script_FirstAncestor_0.Components.Constants);
local _ = require(l_script_FirstAncestor_0.Components.Types);
local l_PlayerMenuActions_0 = v1.PlayerMenuActions;
return function(v4, v5)
    local v6 = table.clone(v4);
    if v5.type == l_PlayerMenuActions_0.UpdateComment then
        v6.comment = v5.comment;
    end;
    return v6;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local v1 = require(l_script_FirstAncestor_0.Components.Constants);
local _ = require(l_script_FirstAncestor_0.Components.Types);
local l_PlayerMenuActions_0 = v1.PlayerMenuActions;
return function(v4, v5)
    local v6 = table.clone(v4);
    local l_type_0 = v5.type;
    if l_type_0 == l_PlayerMenuActions_0.UpdateAbuseReason then
        v6.abuseReason = v5.abuseReason;
        return v6;
    elseif l_type_0 == l_PlayerMenuActions_0.UpdateComment then
        v6.comment = v5.comment;
        return v6;
    elseif l_type_0 == l_PlayerMenuActions_0.UpdateMethodOfAbuse then
        v6.playerObjects = {};
        v6.abuseReason = nil;
        v6.methodOfAbuse = v5.methodOfAbuse;
        return v6;
    elseif l_type_0 == l_PlayerMenuActions_0.UpdateAbuser then
        v6.allegedAbuserId = v5.abuseId;
        v6.allegedAbuser = v5.abuser;
        return v6;
    elseif l_type_0 == l_PlayerMenuActions_0.UpdatePlayerNameMap then
        v6.playerObjects = v5.playerObjects;
        return v6;
    elseif l_type_0 == l_PlayerMenuActions_0.SetVoiceEnabled then
        v6.isVoiceEnabled = v5.enabled;
        return v6;
    elseif l_type_0 == l_PlayerMenuActions_0.SetMenuOpenTimestamp then
        v6.menuOpenedUnixTimestampMilliseconds = v5.timestamp;
        return v6;
    elseif l_type_0 == l_PlayerMenuActions_0.ClearState then
        return (table.clone(v1.InitPersonUIState));
    elseif l_type_0 == l_PlayerMenuActions_0.SetShowModalSelector then
        v6.isModalSelectorShown = v5.isShown;
        v6.modalSelectorCellData = v5.cellData;
        return v6;
    else
        if l_type_0 == l_PlayerMenuActions_0.SetPreselectedPlayer then
            v6.preselectedPlayer = v5.player;
        end;
        return v6;
    end;
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_GuiService_0 = game:GetService("GuiService");
local v2 = require(game:GetService("CorePackages").Roact);
local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local _ = require(l_script_FirstAncestor_0.Components.Types);
local v5 = require(l_script_FirstAncestor_0.Components.Constants);
local v6 = require(l_script_FirstAncestor_0.ReportAnything.Components.ScreenshotFlowStepHandlerContainer);
local _ = require(l_script_FirstAncestor_0.ReportAnything.Utility.ReportAnythingAnalytics);
local v8 = {
    annotationPageHandle = nil,
    annotationPageFrame = nil,
    annotationPageScreenGui = nil
};
return {
    mountAnnotationPage = function(v9, v10, v11, v12, v13)
        local l_l_GuiService_0_GuiInset_0, _ = l_GuiService_0:GetGuiInset();
        if not v8.annotationPageScreenGui then
            local l_ScreenGui_0 = Instance.new("ScreenGui");
            l_ScreenGui_0.Name = "AnnotationPageContents";
            l_ScreenGui_0.DisplayOrder = 7;
            l_ScreenGui_0.Enabled = true;
            l_ScreenGui_0.ZIndexBehavior = Enum.ZIndexBehavior.Sibling;
            l_ScreenGui_0.Parent = l_CoreGui_0:FindFirstChild(v5.AbuseReportMenuRootName, true);
            v8.annotationPageScreenGui = l_ScreenGui_0;
            local l_Frame_0 = Instance.new("Frame");
            l_Frame_0.BackgroundTransparency = 1;
            l_Frame_0.Position = UDim2.new(0, 0, 0, -l_l_GuiService_0_GuiInset_0.Y);
            l_Frame_0.Size = UDim2.new(1, 0, 1, l_l_GuiService_0_GuiInset_0.Y);
            l_Frame_0.Parent = v8.annotationPageScreenGui;
            v8.annotationPageFrame = l_Frame_0;
        end;
        local v22 = v2.createElement(v6, {
            screenshot = v12.screenshotContentId,
            entryPoint = v9,
            backAction = function()
                if v8.annotationPageHandle ~= nil then
                    v2.unmount(v8.annotationPageHandle);
                    v8.annotationPageHandle = nil;
                end;
                if v8.annotationPageScreenGui ~= nil then
                    v8.annotationPageFrame.Parent = nil;
                    v8.annotationPageFrame = nil;
                    v8.annotationPageScreenGui = nil;
                end;
            end,
            dismissAction = function()
                if v8.annotationPageHandle ~= nil then
                    v2.unmount(v8.annotationPageHandle);
                    v8.annotationPageHandle = nil;
                end;
                if v8.annotationPageScreenGui ~= nil then
                    v8.annotationPageFrame.Parent = nil;
                    v8.annotationPageFrame = nil;
                    v8.annotationPageScreenGui = nil;
                end;
            end,
            finishAnnotationAction = function(v18)
                if v8.annotationPageHandle ~= nil then
                    v2.unmount(v8.annotationPageHandle);
                    v8.annotationPageHandle = nil;
                end;
                if v8.annotationPageScreenGui ~= nil then
                    v8.annotationPageFrame.Parent = nil;
                    v8.annotationPageFrame = nil;
                    v8.annotationPageScreenGui = nil;
                end;
                v13({
                    type = v5.ReportAnythingActions.SetAnnotationPoints,
                    annotationPoints = v18
                });
                v13({
                    type = v5.ReportAnythingActions.CompleteAttachment
                });
            end,
            restartAction = function()
                if v8.annotationPageHandle ~= nil then
                    v2.unmount(v8.annotationPageHandle);
                    v8.annotationPageHandle = nil;
                end;
                if v8.annotationPageScreenGui ~= nil then
                    v8.annotationPageFrame.Parent = nil;
                    v8.annotationPageFrame = nil;
                    v8.annotationPageScreenGui = nil;
                end;
                v13({
                    type = v5.ReportAnythingActions.ClearAll
                });
                v10();
            end,
            skipAnnotationAction = function()
                if v8.annotationPageHandle ~= nil then
                    v2.unmount(v8.annotationPageHandle);
                    v8.annotationPageHandle = nil;
                end;
                if v8.annotationPageScreenGui ~= nil then
                    v8.annotationPageFrame.Parent = nil;
                    v8.annotationPageFrame = nil;
                    v8.annotationPageScreenGui = nil;
                end;
                v13({
                    type = v5.ReportAnythingActions.CompleteAttachment
                });
            end,
            setAnnotationCircleRadius = function(v19)
                v13({
                    type = v5.ReportAnythingActions.SetAnnotationCircleRadius,
                    radius = v19
                });
            end,
            setAnnotationAreaDimensions = function(v20, v21)
                v13({
                    type = v5.ReportAnythingActions.SetAnnotationAreaDimensions,
                    width = v20,
                    height = v21
                });
            end,
            initialAnnotationPoints = {},
            initialPageNumber = 1,
            reportAnythingAnalytics = v11
        });
        v13({
            type = v5.ReportAnythingActions.SetAnnotationOptionSeen
        });
        v8.annotationPageHandle = v2.mount(v22, v8.annotationPageFrame, "AnnotationFlow");
    end,
    unmountAnnotationPage = function()
        if v8.annotationPageHandle ~= nil then
            v2.unmount(v8.annotationPageHandle);
            v8.annotationPageHandle = nil;
        end;
        if v8.annotationPageScreenGui ~= nil then
            v8.annotationPageFrame.Parent = nil;
            v8.annotationPageFrame = nil;
            v8.annotationPageScreenGui = nil;
        end;
    end
};


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.UIBlox);
local v2 = require(l_CorePackages_0.Packages.React);
local v3 = require(l_CorePackages_0.Cryo);
local l_withStyle_0 = v1.Core.Style.withStyle;
return function(v5)
    return l_withStyle_0(function(v6)
        return v2.createElement("Frame", v3.Dictionary.join({
            Size = UDim2.new(1, 0, 0, 1)
        }, v5, {
            BorderSizePixel = 0,
            BackgroundColor3 = v6.Theme.Divider.Color,
            BackgroundTransparency = v6.Theme.Divider.Transparency
        }));
    end);
end;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.React);
local l_ButtonStack_0 = v2.App.Button.ButtonStack;
local l_ButtonType_0 = v2.App.Button.Enum.ButtonType;
local l_HeaderBar_0 = v2.App.Bar.HeaderBar;
local l_useStyle_0 = v2.Core.Style.useStyle;
local l_Parent_0 = script.Parent.Parent;
local v9 = nil;
local l_RobloxTranslator_0 = l_RobloxGui_0.Modules:FindFirstChild("RobloxTranslator");
if l_RobloxTranslator_0 then
    v9 = require(l_RobloxTranslator_0);
end;
local v11 = require(l_Parent_0.Components.Divider);
return function(v12)
    if v9 then
        local v13 = l_useStyle_0();
        local l_Theme_0 = v13.Theme;
        local l_Font_0 = v13.Font;
        local v16 = 48;
        local v17 = 180;
        local v18 = 50;
        if v12.isSmallPortraitMode then
            v16 = 84;
            v17 = 260;
            v18 = 100;
        end;
        return v3.createElement("Frame", {
            Size = UDim2.new(0, not v12.isSmallPortraitMode and 480 or 343, 0, v17),
            AnchorPoint = Vector2.new(0.5, 0.5),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            BackgroundColor3 = Color3.fromHex("#4F545F"),
            ZIndex = 5
        }, {
            Corner = v3.createElement("UICorner", {
                CornerRadius = UDim.new(0, 8)
            }),
            HeaderAndContent = v3.createElement("Frame", {
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1
            }, {
                Layout = v3.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                Header = v3.createElement(l_HeaderBar_0, {
                    backgroundTransparency = 1,
                    barHeight = 48,
                    renderLeft = function()
                    end,
                    renderRight = function()
                    end,
                    title = v9:FormatByKey("Feature.ReportAbuse.Action.RetakeScene"),
                    LayoutOrder = 1
                }),
                Divider = v3.createElement(v11, {
                    LayoutOrder = 2
                }),
                Description = v3.createElement("Frame", {
                    Size = UDim2.new(1, 0, 1, -v16 - 1),
                    BackgroundTransparency = 1,
                    LayoutOrder = 3
                }, {
                    Padding = v3.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, 8),
                        PaddingBottom = UDim.new(0, 8),
                        PaddingLeft = UDim.new(0, 16),
                        PaddingRight = UDim.new(0, 16)
                    }),
                    TextBody = v3.createElement("TextLabel", {
                        Text = v9:FormatByKey("Feature.ReportAbuse.Message.RetakeScene"),
                        Font = l_Font_0.Body.Font,
                        LayoutOrder = 3,
                        TextColor3 = l_Theme_0.TextEmphasis.Color,
                        TextTransparency = l_Theme_0.TextEmphasis.Transparency,
                        TextSize = 16,
                        TextWrapped = true,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextYAlignment = Enum.TextYAlignment.Top,
                        Size = UDim2.new(1, 0, 0, v18),
                        BackgroundTransparency = 1
                    })
                })
            }),
            Footer = v3.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.new(1, 0, 0, v16),
                Position = UDim2.new(0, 0, 1, -v16),
                BorderSizePixel = 0,
                LayoutOrder = 4
            }, {
                Padding = v3.createElement("UIPadding", {
                    PaddingTop = UDim.new(0, 6),
                    PaddingBottom = UDim.new(0, 6),
                    PaddingLeft = UDim.new(0, 16),
                    PaddingRight = UDim.new(0, 16)
                }),
                ActionButtons = v3.createElement(l_ButtonStack_0, {
                    forcedFillDirection = if not v12.isSmallPortraitMode then Enum.FillDirection.Horizontal else Enum.FillDirection.Vertical,
                    buttons = {
                        {
                            buttonType = l_ButtonType_0.Secondary,
                            props = if not v12.isSmallPortraitMode then {
                                onActivated = v12.onCancel,
                                text = v9:FormatByKey("InGame.InspectMenu.Action.Cancel")
                            } else {
                                onActivated = v12.onCancel,
                                text = v9:FormatByKey("InGame.InspectMenu.Action.Cancel"),
                                size = UDim2.new(1, 0, 0, 28),
                                fontStyle = l_Font_0.Body2
                            }
                        },
                        {
                            buttonType = l_ButtonType_0.PrimarySystem,
                            props = if not v12.isSmallPortraitMode then {
                                onActivated = v12.onRestart,
                                text = v9:FormatByKey("Feature.ReportAbuse.Action.BackToExperience")
                            } else {
                                onActivated = v12.onRestart,
                                text = v9:FormatByKey("Feature.ReportAbuse.Action.BackToExperience"),
                                size = UDim2.new(1, 0, 0, 28),
                                fontStyle = l_Font_0.Body2
                            }
                        }
                    }
                })
            })
        });
    else
        return nil;
    end;
end;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_CorePackages_0.Cryo);
local l_ImageSetButton_0 = v2.Core.ImageSet.ImageSetButton;
local l_useStyle_0 = v2.Core.Style.useStyle;
local l_ButtonStack_0 = v2.App.Button.ButtonStack;
local l_ButtonType_0 = v2.App.Button.Enum.ButtonType;
local l_Parent_0 = script.Parent.Parent;
local v10 = require(l_Parent_0.Resources.Assets);
local v11 = require(l_Parent_0.Components.Divider);
local v12 = require(l_Parent_0.Components.ScreenshotHighlighter);
local v13 = require(l_Parent_0.Utility.VirtualKeyboardMonitor);
local v14 = require(l_Parent_0.Components.ScreenshotDialogPortraitModeHeader);
local v15 = require(l_Parent_0.Components.ScreenshotDialogLandscapeModeHeader);
local _ = require(l_Parent_0.Utility.ReportAnythingAnalytics);
local v17 = nil;
local l_RobloxTranslator_0 = l_RobloxGui_0.Modules:FindFirstChild("RobloxTranslator");
if l_RobloxTranslator_0 then
    v17 = require(l_RobloxTranslator_0);
end;
local function v20(v19)
    if v17 then
        return v3.createElement("Frame", {
            BackgroundTransparency = 0,
            Size = UDim2.new(1, 0, 0, 60),
            BackgroundColor3 = Color3.fromHex("#4F545F"),
            AnchorPoint = Vector2.new(0, 1),
            Position = UDim2.fromScale(0, 1),
            LayoutOrder = 4
        }, {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Center
            }),
            Container = v3.createElement("Frame", {
                Size = UDim2.new(0, 400, 1, 0),
                BackgroundTransparency = 1
            }, {
                Padding = v3.createElement("UIPadding", {
                    PaddingTop = UDim.new(0, 12),
                    PaddingBottom = UDim.new(0, 12),
                    PaddingLeft = UDim.new(0, 32),
                    PaddingRight = UDim.new(0, 32)
                }),
                ActionButtons = v3.createElement(l_ButtonStack_0, {
                    marginBetween = 8,
                    buttons = {
                        {
                            buttonType = l_ButtonType_0.PrimarySystem,
                            props = {
                                onActivated = function()
                                    v19.finishAnnotationAction(v19.annotationPoints);
                                end,
                                text = v17:FormatByKey("Feature.ReportAbuse.Action.Next")
                            }
                        }
                    }
                })
            })
        });
    else
        return nil;
    end;
end;
return function(v21)
    if v17 then
        local l_Theme_0 = l_useStyle_0().Theme;
        local v23 = v13.getInstance();
        local function v24()
            warn("OverlayActivated");
            if not v23:isKeyboardJustOff() then
                if v21.dismissAction then
                    warn("Menu dismissed");
                    v21.dismissAction();
                end;
                return ;
            else
                return ;
            end;
        end;
        local v25, v26 = v3.useState(v4.Dictionary.join({}, v21.initialAnnotationPoints or {}));
        local v27, v28 = v3.useState({});
        local v29 = v3.useCallback(function()
            v26(table.clone(v25));
        end, {
            v26,
            v25
        });
        local v30 = v3.useCallback(function()
            v21.reportAnythingAnalytics.incrementAnnotationBack();
            v21.backAction();
        end, {
            v21.backAction,
            v21.reportAnythingAnalytics
        });
        local v32 = v3.useCallback(function(_)
            v21.reportAnythingAnalytics.incrementAnnotationPlace();
            v29();
            v28({});
        end, {
            v28,
            v29,
            v21.reportAnythingAnalytics
        });
        local v33 = v3.useCallback(function()
            if #v25 > 0 then
                v21.reportAnythingAnalytics.incrementAnnotationUndo();
                table.insert(v27, 1, v25[#v25]);
                table.remove(v25, #v25);
                v29();
            end;
        end, {
            v29,
            v25,
            v27,
            v21.reportAnythingAnalytics
        });
        local v34 = v3.useCallback(function()
            if #v27 > 0 then
                v21.reportAnythingAnalytics.incrementAnnotationRedo();
                table.insert(v25, v27[1]);
                table.remove(v27, 1);
                v29();
            end;
        end, {
            v29,
            v25,
            v27,
            v21.reportAnythingAnalytics
        });
        local v36 = v3.useCallback(function(v35)
            v21.reportAnythingAnalytics.setAnnotationNext();
            v21.finishAnnotationAction(v35);
        end, {
            v21.finishAnnotationAction,
            v21.reportAnythingAnalytics
        });
        local v37 = #v25 > 0;
        local v38 = #v27 > 0;
        return v3.createElement("TextButton", {
            AutoButtonColor = false,
            BorderSizePixel = 0,
            BackgroundColor3 = l_Theme_0.Overlay.Color,
            BackgroundTransparency = l_Theme_0.Overlay.Transparency,
            Size = UDim2.new(1, 0, 1, 0),
            Position = UDim2.fromScale(0.5, 0.5),
            AnchorPoint = Vector2.new(0.5, 0.5),
            ZIndex = 10,
            Text = "",
            [v3.Event.Activated] = v24
        }, {
            ScreenshotDialog = v3.createElement(l_ImageSetButton_0, {
                Active = true,
                Size = UDim2.fromScale(1, 1),
                BackgroundTransparency = 1,
                Image = v10.Images.RoundedRect.Image,
                ImageColor3 = l_Theme_0.BackgroundUIDefault.Color,
                ImageTransparency = l_Theme_0.BackgroundUIDefault.Transparency,
                ScaleType = v10.Images.RoundedRect.ScaleType,
                SliceCenter = v10.Images.RoundedRect.SliceCenter
            }, {
                HeaderAndContent = v3.createElement("Frame", {
                    Size = UDim2.new(1, 0, 1, not v21.isSmallPortraitMode and 0 or -60),
                    BackgroundTransparency = 1
                }, {
                    Layout = v3.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Vertical,
                        HorizontalAlignment = Enum.HorizontalAlignment.Center,
                        SortOrder = Enum.SortOrder.LayoutOrder
                    }),
                    Header = if not v21.isSmallPortraitMode then v3.createElement(v15, {
                        titleText = v21.titleText,
                        backAction = v30,
                        finishAnnotationAction = v36,
                        undoAnnotationPoints = v33,
                        redoAnnotationPoints = v34,
                        isRedoEnabled = v38,
                        isUndoEnabled = v37,
                        annotationPoints = v25
                    }) else v3.createElement(v14, {
                        titleText = v21.titleText,
                        backAction = v30,
                        undoAnnotationPoints = v33,
                        redoAnnotationPoints = v34,
                        isRedoEnabled = v38,
                        isUndoEnabled = v37,
                        annotationPoints = v25
                    }),
                    Divider = v3.createElement(v11, {
                        LayoutOrder = 2
                    }),
                    ScreenshotAnnotation = v3.createElement("Frame", {
                        BackgroundTransparency = 1,
                        LayoutOrder = 3,
                        Size = UDim2.new(1, 0, 1, -49),
                        ZIndex = 1
                    }, {
                        Container = v3.createElement("Frame", {
                            Size = UDim2.fromScale(1, 1),
                            AnchorPoint = Vector2.new(0.5, 0.5),
                            Position = UDim2.fromScale(0.5, 0.5),
                            BackgroundTransparency = 1
                        }, {
                            UIAspectRatioConstraint = v3.createElement("UIAspectRatioConstraint", {
                                AspectRatio = v21.imageAspectRatio
                            }),
                            Padding = v3.createElement("UIPadding", {
                                PaddingTop = UDim.new(0, 16),
                                PaddingBottom = UDim.new(0, 16),
                                PaddingLeft = UDim.new(0, 16),
                                PaddingRight = UDim.new(0, 16)
                            }),
                            AnnotationLayer = v3.createElement("Frame", {
                                Size = UDim2.new(1, 0, 1, 0),
                                BorderSizePixel = 2,
                                BorderMode = Enum.BorderMode.Inset,
                                BorderColor3 = Color3.fromRGB(255, 255, 255)
                            }, {
                                ScreenshotImage = v3.createElement("ImageLabel", {
                                    Size = UDim2.fromScale(1, 1),
                                    Image = v21.screenshot,
                                    ZIndex = 1
                                }, {}),
                                Highlighter = v3.createElement(v12, {
                                    annotationPoints = v25,
                                    handleAnnotationPoints = v32,
                                    setAnnotationCircleRadius = v21.setAnnotationCircleRadius,
                                    setAnnotationAreaDimensions = v21.setAnnotationAreaDimensions,
                                    ZIndex = 3
                                }, {})
                            })
                        })
                    })
                }),
                Footer = if not v21.isSmallPortraitMode then nil else v3.createElement(v20, {
                    finishAnnotationAction = v36,
                    annotationPoints = v25
                })
            })
        });
    else
        return nil;
    end;
end;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = nil;
local l_RobloxTranslator_0 = l_RobloxGui_0.Modules:FindFirstChild("RobloxTranslator");
if l_RobloxTranslator_0 then
    v4 = require(l_RobloxTranslator_0);
end;
local l_ButtonStack_0 = v2.App.Button.ButtonStack;
local l_ButtonType_0 = v2.App.Button.Enum.ButtonType;
local l_HeaderBar_0 = v2.App.Bar.HeaderBar;
local l_IconButton_0 = v2.App.Button.IconButton;
local l_IconSize_0 = v2.App.ImageSet.Enum.IconSize;
local l_Images_0 = v2.App.ImageSet.Images;
local l_withStyle_0 = v2.Style.withStyle;
local function _(v13)
    return function()
        return l_withStyle_0(function(v14)
            local l_Theme_0 = v14.Theme;
            return v3.createElement("TextLabel", {
                Text = v13,
                Font = v14.Font.Header2.Font,
                TextColor3 = l_Theme_0.TextEmphasis.Color,
                TextTransparency = l_Theme_0.TextEmphasis.Transparency,
                TextSize = 20,
                TextWrapped = true,
                TextXAlignment = Enum.TextXAlignment.Center,
                TextYAlignment = Enum.TextYAlignment.Center,
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1
            });
        end);
    end;
end;
local function _(v17, v18, v19, v20, v21)
    local v22 = v20 or v21;
    return function()
        return v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 120, 1, 0)
        }, {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            BackButton = v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/navigation/pushBack"],
                layoutOrder = 1,
                onActivated = v17
            }),
            UndoButton = v22 and v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/undo"],
                isDisabled = not v21,
                layoutOrder = 2,
                onActivated = v18
            }),
            RedoButton = v22 and v3.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/redo"],
                isDisabled = not v20,
                layoutOrder = 3,
                onActivated = v19
            })
        });
    end;
end;
local function _(v24, v25)
    return function()
        return v3.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 144, 1, 0)
        }, {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            Buttons = v3.createElement(l_ButtonStack_0, {
                buttons = {
                    {
                        buttonType = l_ButtonType_0.PrimarySystem,
                        props = {
                            onActivated = function()
                                v24(v25);
                            end,
                            text = v4:FormatByKey("Feature.ReportAbuse.Action.Next")
                        }
                    }
                }
            })
        });
    end;
end;
return function(v27)
    if v4 then
        local l_createElement_0 = v3.createElement;
        local v29 = "Frame";
        local v30 = {
            BackgroundTransparency = 0,
            BackgroundColor3 = Color3.fromHex("#4F545F"),
            LayoutOrder = 1,
            Size = UDim2.new(1, 0, 0, 47),
            ZIndex = 2
        };
        local v31 = {};
        local l_createElement_1 = v3.createElement;
        local l_l_HeaderBar_0_0 = l_HeaderBar_0;
        local v34 = {
            backgroundTransparency = 1,
            barHeight = 48
        };
        local l_backAction_0 = v27.backAction;
        local l_undoAnnotationPoints_0 = v27.undoAnnotationPoints;
        local l_redoAnnotationPoints_0 = v27.redoAnnotationPoints;
        local l_isRedoEnabled_0 = v27.isRedoEnabled;
        local l_isUndoEnabled_0 = v27.isUndoEnabled;
        local v40 = l_isRedoEnabled_0 or l_isUndoEnabled_0;
        local l_l_backAction_0_0 = l_backAction_0 --[[ copy: 9 -> 15 ]];
        local l_l_undoAnnotationPoints_0_0 = l_undoAnnotationPoints_0 --[[ copy: 10 -> 16 ]];
        v34.renderLeft = function()
            return v3.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.new(0, 120, 1, 0)
            }, {
                Layout = v3.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                BackButton = v3.createElement(l_IconButton_0, {
                    iconSize = l_IconSize_0.Medium,
                    icon = l_Images_0["icons/navigation/pushBack"],
                    layoutOrder = 1,
                    onActivated = l_l_backAction_0_0
                }),
                UndoButton = v40 and v3.createElement(l_IconButton_0, {
                    iconSize = l_IconSize_0.Medium,
                    icon = l_Images_0["icons/actions/edit/undo"],
                    isDisabled = not l_isUndoEnabled_0,
                    layoutOrder = 2,
                    onActivated = l_l_undoAnnotationPoints_0_0
                }),
                RedoButton = v40 and v3.createElement(l_IconButton_0, {
                    iconSize = l_IconSize_0.Medium,
                    icon = l_Images_0["icons/actions/edit/redo"],
                    isDisabled = not l_isRedoEnabled_0,
                    layoutOrder = 3,
                    onActivated = l_redoAnnotationPoints_0
                })
            });
        end;
        l_backAction_0 = v27.finishAnnotationAction;
        l_undoAnnotationPoints_0 = v27.annotationPoints;
        local l_l_backAction_0_1 = l_backAction_0 --[[ copy: 9 -> 17 ]];
        v34.renderRight = function()
            return v3.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.new(0, 144, 1, 0)
            }, {
                Layout = v3.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    VerticalAlignment = Enum.VerticalAlignment.Center
                }),
                Buttons = v3.createElement(l_ButtonStack_0, {
                    buttons = {
                        {
                            buttonType = l_ButtonType_0.PrimarySystem,
                            props = {
                                onActivated = function()
                                    l_l_backAction_0_1(l_undoAnnotationPoints_0);
                                end,
                                text = v4:FormatByKey("Feature.ReportAbuse.Action.Next")
                            }
                        }
                    }
                })
            });
        end;
        l_backAction_0 = v27.titleText;
        v34.renderCenter = function()
            return l_withStyle_0(function(v44)
                local l_Theme_1 = v44.Theme;
                return v3.createElement("TextLabel", {
                    Text = l_backAction_0,
                    Font = v44.Font.Header2.Font,
                    TextColor3 = l_Theme_1.TextEmphasis.Color,
                    TextTransparency = l_Theme_1.TextEmphasis.Transparency,
                    TextSize = 20,
                    TextWrapped = true,
                    TextXAlignment = Enum.TextXAlignment.Center,
                    TextYAlignment = Enum.TextYAlignment.Center,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = 1
                });
            end);
        end;
        v31.Bar = l_createElement_1(l_l_HeaderBar_0_0, v34);
        return l_createElement_0(v29, v30, v31);
    else
        return nil;
    end;
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.UIBlox);
local v2 = require(l_CorePackages_0.Packages.React);
local l_HeaderBar_0 = v1.App.Bar.HeaderBar;
local l_IconButton_0 = v1.App.Button.IconButton;
local l_IconSize_0 = v1.App.ImageSet.Enum.IconSize;
local l_Images_0 = v1.App.ImageSet.Images;
local l_withStyle_0 = v1.Style.withStyle;
local _ = function(v8, _, _)
    return function()
        return v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 30, 1, 0)
        }, {
            Layout = v2.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            BackButton = v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/navigation/pushBack"],
                layoutOrder = 1,
                onActivated = v8
            })
        });
    end;
end;
local function _(v12)
    return function()
        return l_withStyle_0(function(v13)
            local l_CurrentCamera_0 = game.Workspace.CurrentCamera;
            local v15 = 300;
            if l_CurrentCamera_0 ~= nil then
                v15 = l_CurrentCamera_0.ViewportSize.X - 150;
            end;
            local l_Theme_0 = v13.Theme;
            return v2.createElement("TextLabel", {
                Text = v12,
                Font = v13.Font.Header2.Font,
                TextColor3 = l_Theme_0.TextEmphasis.Color,
                TextTransparency = l_Theme_0.TextEmphasis.Transparency,
                TextSize = 20,
                TextWrapped = true,
                TextXAlignment = Enum.TextXAlignment.Center,
                TextYAlignment = Enum.TextYAlignment.Center,
                Size = UDim2.new(0, v15, 1, 0),
                BackgroundTransparency = 1
            });
        end);
    end;
end;
local _ = function(_, v19, v20, v21, v22)
    return function()
        return v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 60, 1, 0)
        }, {
            Layout = v2.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            UndoButton = v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/undo"],
                isDisabled = not v21,
                layoutOrder = 1,
                onActivated = v19
            }),
            RedoButton = v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/actions/edit/redo"],
                isDisabled = not v22,
                layoutOrder = 2,
                onActivated = v20
            })
        });
    end;
end;
return function(v24)
    local v25 = v24.isRedoEnabled or v24.isUndoEnabled;
    local l_createElement_0 = v2.createElement;
    local v27 = "Frame";
    local v28 = {
        BackgroundTransparency = 0,
        BackgroundColor3 = Color3.fromHex("#4F545F"),
        LayoutOrder = 1,
        Size = UDim2.new(1, 0, 0, 48),
        ZIndex = 2
    };
    local v29 = {};
    local l_createElement_1 = v2.createElement;
    local l_l_HeaderBar_0_0 = l_HeaderBar_0;
    local v32 = {
        backgroundTransparency = 1,
        barHeight = 48,
        margin = 12
    };
    local l_backAction_0 = v24.backAction;
    local l_isRedoEnabled_0 = v24.isRedoEnabled;
    local l_isUndoEnabled_0 = v24.isUndoEnabled;
    local l_l_backAction_0_0 = l_backAction_0 --[[ copy: 10 -> 15 ]];
    v32.renderLeft = function()
        return v2.createElement("Frame", {
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 30, 1, 0)
        }, {
            Layout = v2.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            BackButton = v2.createElement(l_IconButton_0, {
                iconSize = l_IconSize_0.Medium,
                icon = l_Images_0["icons/navigation/pushBack"],
                layoutOrder = 1,
                onActivated = l_l_backAction_0_0
            })
        });
    end;
    local v37;
    if not v25 then
        v37 = function()
        end;
    else
        l_backAction_0 = v24.annotationPoints;
        l_isRedoEnabled_0 = v24.undoAnnotationPoints;
        l_isUndoEnabled_0 = v24.redoAnnotationPoints;
        local l_isUndoEnabled_1 = v24.isUndoEnabled;
        local l_isRedoEnabled_1 = v24.isRedoEnabled;
        v37 = function()
            return v2.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.new(0, 60, 1, 0)
            }, {
                Layout = v2.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                UndoButton = v2.createElement(l_IconButton_0, {
                    iconSize = l_IconSize_0.Medium,
                    icon = l_Images_0["icons/actions/edit/undo"],
                    isDisabled = not l_isUndoEnabled_1,
                    layoutOrder = 1,
                    onActivated = l_isRedoEnabled_0
                }),
                RedoButton = v2.createElement(l_IconButton_0, {
                    iconSize = l_IconSize_0.Medium,
                    icon = l_Images_0["icons/actions/edit/redo"],
                    isDisabled = not l_isRedoEnabled_1,
                    layoutOrder = 2,
                    onActivated = l_isUndoEnabled_0
                })
            });
        end;
    end;
    v32.renderRight = v37;
    l_backAction_0 = v24.titleText;
    v32.renderCenter = function()
        return l_withStyle_0(function(v40)
            local l_CurrentCamera_1 = game.Workspace.CurrentCamera;
            local v42 = 300;
            if l_CurrentCamera_1 ~= nil then
                v42 = l_CurrentCamera_1.ViewportSize.X - 150;
            end;
            local l_Theme_1 = v40.Theme;
            return v2.createElement("TextLabel", {
                Text = l_backAction_0,
                Font = v40.Font.Header2.Font,
                TextColor3 = l_Theme_1.TextEmphasis.Color,
                TextTransparency = l_Theme_1.TextEmphasis.Transparency,
                TextSize = 20,
                TextWrapped = true,
                TextXAlignment = Enum.TextXAlignment.Center,
                TextYAlignment = Enum.TextYAlignment.Center,
                Size = UDim2.new(0, v42, 1, 0),
                BackgroundTransparency = 1
            });
        end);
    end;
    v32.isSecondary = true;
    v29.Bar = l_createElement_1(l_l_HeaderBar_0_0, v32);
    return l_createElement_0(v27, v28, v29);
end;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local v1 = require(game:GetService("CorePackages").Packages.React);
local v2 = nil;
local l_RobloxTranslator_0 = l_RobloxGui_0.Modules:FindFirstChild("RobloxTranslator");
if l_RobloxTranslator_0 then
    v2 = require(l_RobloxTranslator_0);
end;
local l_Parent_0 = script.Parent.Parent;
local v5 = require(l_Parent_0.Components.ScreenshotDialog);
local v6 = require(l_Parent_0.Components.ScreenshotReviewDialog);
return function(v7)
    if v2 then
        local v8, v9 = v1.useState(v7.initialPageNumber == nil and 1 or v7.initialPageNumber);
        local v10, v11 = v1.useState(1.7777777777777777);
        local v12, v13 = v1.useState(800);
        local v14, v15 = v1.useState(800);
        local v16, v17 = v1.useState(true);
        local v18 = v1.useCallback(function()
            v9(2);
        end, {
            v9
        });
        local v19 = v1.useCallback(function()
            v9(1);
        end, {
            v9
        });
        v1.useEffect(function()
            local l_CurrentCamera_0 = game.Workspace.CurrentCamera;
            if l_CurrentCamera_0 ~= nil then
                local l_ViewportSize_0 = l_CurrentCamera_0.ViewportSize;
                v11(l_ViewportSize_0.X / l_ViewportSize_0.Y);
                v13(l_ViewportSize_0.Y);
                v15(l_ViewportSize_0.X);
                local l_v17_0 = v17;
                local v23 = false;
                if l_ViewportSize_0.X < l_ViewportSize_0.Y then
                    v23 = l_ViewportSize_0.X < 800;
                end;
                l_v17_0(v23);
            end;
        end, {});
        local _ = nil;
        if v8 == 1 then
            return (v1.createElement(v6, {
                imageAspectRatio = v10,
                isSmallPortraitMode = v16,
                viewportHeight = v12,
                viewportWidth = v14,
                onNextPage = v18,
                onBack = v7.dismissAction,
                onSkip = v7.skipAnnotationAction,
                onRestart = v7.restartAction,
                screenshot = v7.screenshot,
                reportAnythingAnalytics = v7.reportAnythingAnalytics
            }, {}));
        else
            return (v1.createElement(v5, {
                titleText = if v7.entryPoint == "player" then v2:FormatByKey("Feature.ReportAbuse.Label.SelectPerson") else v2:FormatByKey("Feature.ReportAbuse.Label.SelectProblem"),
                backAction = v19,
                dismissAction = v7.dismissAction,
                finishAnnotationAction = v7.finishAnnotationAction,
                initialAnnotationPoints = v7.initialAnnotationPoints,
                isSmallPortraitMode = v16,
                screenshot = v7.screenshot,
                imageAspectRatio = v10,
                setAnnotationCircleRadius = v7.setAnnotationCircleRadius,
                setAnnotationAreaDimensions = v7.setAnnotationAreaDimensions,
                reportAnythingAnalytics = v7.reportAnythingAnalytics
            }));
        end;
    else
        return nil;
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v3 = require(l_CorePackages_0.Packages.React);
local v4 = require(l_script_FirstAncestor_0.ReportAnything.Resources.Constants);
local v5 = require(script.Parent.ScreenshotFlowStepHandler);
local v6 = v3.PureComponent:extend("ScreenshotFlowStepHandlerContainer");
local v7 = require(l_RobloxGui_0.Modules.Common.CoreScriptsRootProvider);
local v8 = require(l_RobloxGui_0.Modules.Common.FocusNavigationEffectsWrapper);
local l_FocusNavigableSurfaceIdentifierEnum_0 = require(l_CorePackages_0.Workspace.Packages.FocusNavigationUtils).FocusNavigableSurfaceIdentifierEnum;
v6.render = function(v10)
    return v3.createElement(v7, {}, {
        FocusNavigationEffects = v3.createElement(v8, {
            selectionGroupName = v4.ScreenshotFlowStepHandlerRootName,
            focusNavigableSurfaceIdentifier = l_FocusNavigableSurfaceIdentifierEnum_0.CentralOverlay
        }, {
            ScreenshotFlowStepHandlerContainer = v3.createElement(v5, v10.props)
        })
    });
end;
return v6;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.React);
local l_ImageSetButton_0 = v2.Core.ImageSet.ImageSetButton;
local l_Images_0 = v2.App.ImageSet.Images;
return function(v6)
    local l_AbsoluteSize_0 = l_RobloxGui_0.AbsoluteSize;
    local v8 = (l_AbsoluteSize_0.X < l_AbsoluteSize_0.Y and l_AbsoluteSize_0.X or l_AbsoluteSize_0.Y) / 5;
    local v9, v10 = v3.useState(false);
    local function v13(v11, v12)
        table.insert(v6.annotationPoints, (Vector2.new(v12.X, v12.Y) - v11.AbsolutePosition) / v11.AbsoluteSize);
        v6.setAnnotationCircleRadius((v8 * 0.5) / if v11.AbsoluteSize.Y < v11.AbsoluteSize.X then v11.AbsoluteSize.X else v11.AbsoluteSize.Y);
        v6.setAnnotationAreaDimensions(v11.AbsoluteSize.X, v11.AbsoluteSize.Y);
        v6.handleAnnotationPoints(v6.annotationPoints);
    end;
    local function v19(v14, v15)
        local v16 = v15.UserInputState == Enum.UserInputState.Begin;
        local v17 = v15.UserInputType == Enum.UserInputType.Touch;
        local v18 = v15.UserInputType == Enum.UserInputType.MouseButton1;
        if not (not v16 or not v17 and not v18) and #v6.annotationPoints < 25 then
            v10(true);
            v13(v14, v15.Position);
        end;
    end;
    local function v22(_, _)
    end;
    local function v25(_, _)
        if v9 then
            v10(false);
        end;
    end;
    local v26 = {};
    for v27, v28 in ipairs(v6.annotationPoints) do
        v26["point" .. v27] = v3.createElement("Frame", {
            Position = UDim2.fromScale(v28.X, v28.Y),
            BackgroundTransparency = 1,
            Size = UDim2.fromOffset(v8, v8)
        }, {
            Border = v3.createElement(l_ImageSetButton_0, {
                Size = UDim2.fromOffset(v8, v8),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = l_Images_0["component_assets/circle_49_stroke_1"],
                ImageColor3 = Color3.fromHex("#3CF3E9"),
                ImageTransparency = 0,
                BackgroundTransparency = 1
            }),
            Background = v3.createElement(l_ImageSetButton_0, {
                Size = UDim2.fromOffset(v8, v8),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Image = l_Images_0["component_assets/circle_49"],
                ImageColor3 = Color3.fromHex("#3CF3E9"),
                ImageTransparency = 0.6,
                BackgroundTransparency = 1
            })
        });
    end;
    return v3.createElement("Frame", {
        BackgroundTransparency = 1,
        Size = UDim2.fromScale(1, 1),
        [v3.Event.InputBegan] = v19,
        [v3.Event.InputChanged] = v22,
        [v3.Event.InputEnded] = v25,
        ZIndex = 3
    }, v26);
end;


return {
    ScreenshotFlowStepHandlerRootName = "ScreenshotFlowStepHandler",
    RestartScreenshotDialogRootName = "RestartScreenshotDialog",
    EnableCategoryListing = true,
    InputType = {
        MouseAndKeyboard = "MouseAndKeyboard",
        Touch = "Touch",
        Gamepad = "Gamepad"
    },
    ReportType = {
        Any = "Any",
        Place = "Place",
        Player = "Player"
    },
    Category = {
        None = "",
        Voice = "Voice",
        Text = "Text",
        Other = "Other",
        Experience = "Experience"
    },
    Page = {
        None = "",
        Category = "Category",
        Listing = "Listing",
        ReportForm = "ReportForm",
        ReportSent = "ReportSent",
        ScreenshotDialog = "ScreenshotDialog"
    },
    Analytics = {
        ReportSubmittedName = "ingame_menu_report_submitted",
        ReportSourceInGame = "ingame",
        ReportFlowOpened = "report_flow_opened",
        ReportType = "ReportType",
        ReportTypeUser = "user",
        ReportTypeGame = "game",
        ReportFlowAbandoned = "ingame_menu_report_abandoned",
        ReportFlowBack = "ingame_menu_report_navigate_back",
        ReportFlowAdvance = "ingame_menu_report_advance_to_form"
    },
    Session = {
        StructuralIdentifier = {
            Level1 = "level1",
            AbuseReport = "AbuseReport"
        },
        Metadata = {
            EntryPoint = "entryPoint",
            DeleteOnGameLeave = "_deleteOnGameLeave"
        }
    }
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.AvatarIdentification);
local v3 = require(l_Parent_0.AdIdentification);
local l_HttpService_0 = game:GetService("HttpService");
local l_getAvatarsForPoint_0 = v2.AvatarIdentification.getAvatarsForPoint;
local l_getAvatarsForRegion_0 = v2.AvatarIdentification.getAvatarsForRegion;
local l_getAdsForPoint_0 = v3.AdIdentification.getAdsForPoint;
local l_GetFFlagReportAnythingEnableAdReport_0 = require(l_Parent_0.SharedFlags).GetFFlagReportAnythingEnableAdReport;
local l_GetFFlagGetHumanoidDescription_0 = require(l_Parent_0.SharedFlags).GetFFlagGetHumanoidDescription;
local l_GetFFlagRAEnableCircleRegion_0 = require(l_Parent_0.SharedFlags).GetFFlagRAEnableCircleRegion;
local l_GetFFlagReportAnythingAbuseVectorRenameEnabled_0 = require(l_Parent_0.SharedFlags).GetFFlagReportAnythingAbuseVectorRenameEnabled;
local l_GetFFlagReportAnythingIncludeDiscardStatsInReport_0 = require(l_Parent_0.SharedFlags).GetFFlagReportAnythingIncludeDiscardStatsInReport;
local l_getHumanoidDescription_0 = require(l_script_FirstAncestor_0.ReportAnything.Utility.GetHumanoidDescription).getHumanoidDescription;
local _ = require(l_script_FirstAncestor_0.Components.Types);
local _ = require(l_script_FirstAncestor_0.ReportAnything.Utility.ReportAnythingAnalytics);
local v16 = {
    Variant = {
        CS = "ra/cs",
        Sampling = "ra/sampling",
        E1 = "ra/e1",
        E2 = "ra/e2",
        E3 = "ra/e3",
        NM = "ra/nm",
        Unknown = "ra/unknown"
    }
};
local function v21(v17)
    local v18 = {};
    for _, v20 in ipairs(v17) do
        v18[#v18 + 1] = {
            v20.X,
            v20.Y
        };
    end;
    return v18;
end;
local function v26(v22)
    local v23 = {};
    for _, v25 in pairs(v22) do
        v23[#v23 + 1] = {
            assetId = v25.assetId,
            distance = v25.distance,
            boundingBox = {
                minX = v25.boundingBox.min.X,
                minY = v25.boundingBox.min.Y,
                maxX = v25.boundingBox.max.X,
                maxY = v25.boundingBox.max.Y
            },
            adUnitName = v25.adUnitName,
            encryptedAdTrackingData = v25.encryptedAdTrackingData,
            encryptionMetadata = v25.encryptionMetadata
        };
    end;
    return v23;
end;
local function v31(v27)
    local v28 = {};
    for v29, v30 in pairs(v27) do
        v28[#v28 + 1] = {
            userId = tostring(v29),
            distance = v30.distance,
            boundingBox = {
                minX = v30.boundingBox.min.X,
                minY = v30.boundingBox.min.Y,
                maxX = v30.boundingBox.max.X,
                maxY = v30.boundingBox.max.Y
            },
            hitRate = v30.hitRate,
            convexHull = v21(v30.convexHull)
        };
        if l_GetFFlagReportAnythingIncludeDiscardStatsInReport_0() and v30.pointProcessingStats ~= nil then
            v28[#v28].pointProcessingStats = {
                not v30.pointProcessingStats.wasSkipped and 0 or 1,
                v30.pointProcessingStats.total,
                v30.pointProcessingStats.offScreenDiscardCount,
                v30.pointProcessingStats.tooCloseDiscardCount
            };
        end;
    end;
    return v28;
end;
local function v50(v32)
    local v33 = {};
    local v34 = {};
    local v35 = {};
    local v36 = {};
    for _, v38 in ipairs(v32.annotationPoints) do
        local l_huge_0 = math.huge;
        local v40 = nil;
        local v41 = {};
        v41 = if not l_GetFFlagRAEnableCircleRegion_0() then l_getAvatarsForPoint_0(v32.identificationResults.identifiedAvatars, v38) else l_getAvatarsForRegion_0(v32.identificationResults.identifiedAvatars, v38, v32.annotationCircleRadius, v32.annotationAreaWidth, v32.annotationAreaHeight);
        for v42, _ in pairs(v41) do
            local l_distance_0 = v32.identificationResults.identifiedAvatars[v42].distance;
            if l_distance_0 < l_huge_0 then
                l_huge_0 = l_distance_0;
                v40 = v42;
            end;
        end;
        local v45 = nil;
        if l_GetFFlagReportAnythingEnableAdReport_0() then
            local v46 = l_getAdsForPoint_0(v32.identificationResults.identifiedAds, v38);
            l_huge_0 = math.huge;
            for v47, _ in pairs(v46) do
                local l_distance_1 = v32.identificationResults.identifiedAds[v47].distance;
                if l_distance_1 < l_huge_0 then
                    l_huge_0 = l_distance_1;
                    v45 = v47;
                end;
            end;
        end;
        if not (v40 ~= nil) or v33[v40] then
            if not (not (l_GetFFlagReportAnythingEnableAdReport_0() and v45 ~= nil) or v34[v45]) then
                v34[v45] = true;
                v36[#v36 + 1] = v32.identificationResults.identifiedAds[v45];
            end;
        else
            v33[v40] = true;
            v35[#v35 + 1] = v32.identificationResults.identifiedAvatars[v40].player;
        end;
    end;
    return v35, v36;
end;
local function v60(v51, _, v53)
    local v54 = false;
    for _, _ in pairs(v51.identificationResults.identifiedAvatars) do
        v54 = true;
        break;
    end;
    local v57 = false;
    if l_GetFFlagReportAnythingEnableAdReport_0() then
        for _, _ in pairs(v51.identificationResults.identifiedAds) do
            v57 = true;
            break;
        end;
    end;
    if v54 then
        v53.tags.IDENTIFIED_AVATARS = {
            valueList = {
                {
                    data = l_HttpService_0:JSONEncode((v31(v51.identificationResults.identifiedAvatars)))
                }
            }
        };
    end;
    if v51.identificationResults.avatarIDStats then
        v53.tags.AVATAR_ID_STATS = {
            valueList = {
                {
                    data = l_HttpService_0:JSONEncode(v51.identificationResults.avatarIDStats)
                }
            }
        };
    end;
    if not (not v57 or not l_GetFFlagReportAnythingEnableAdReport_0()) then
        v53.tags.IDENTIFIED_ADS = {
            valueList = {
                {
                    data = l_HttpService_0:JSONEncode((v26(v51.identificationResults.identifiedAds)))
                }
            }
        };
    end;
    if not (not v51.identificationResults.adIDStats or not l_GetFFlagReportAnythingEnableAdReport_0()) then
        v53.tags.AD_ID_STATS = {
            valueList = {
                {
                    data = l_HttpService_0:JSONEncode(v51.identificationResults.adIDStats)
                }
            }
        };
    end;
    if #v51.screenshotId > 0 then
        v53.tags.SCREENSHOT_ID = {
            valueList = {
                {
                    data = v51.screenshotId
                }
            }
        };
    end;
    if #v51.annotationPoints > 0 then
        v53.tags.RA_ANNOTATION_POINTS = {
            valueList = {
                {
                    data = l_HttpService_0:JSONEncode((v21(v51.annotationPoints)))
                }
            }
        };
    end;
    v53.tags.RA_ANNOTATION_OPTION_SEEN = {
        valueList = {
            {
                data = tostring(v51.annotationOptionSeen)
            }
        }
    };
    v53.tags.RA_ANNOTATION_PAGE_SEEN = {
        valueList = {
            {
                data = tostring(v51.annotationPageSeen)
            }
        }
    };
end;
return {
    buildExperienceReportRequest = function(v61, v62, v63)
        local v64 = {
            tags = {
                ENTRY_POINT = {
                    valueList = {
                        {
                            data = "in-experience"
                        }
                    }
                },
                SUBMITTER_USER_ID = {
                    valueList = {
                        {
                            data = tostring(v61.localUserId)
                        }
                    }
                },
                REPORTED_ABUSE_CATEGORY = {
                    valueList = {
                        {
                            data = v61.abuseReason
                        }
                    }
                },
                PLACE_ID = {
                    valueList = {
                        {
                            data = tostring(v61.placeId)
                        }
                    }
                },
                REPORTER_COMMENT = {
                    valueList = {
                        {
                            data = v61.abuseComment
                        }
                    }
                },
                REPORTED_ABUSE_VECTOR = {
                    valueList = {
                        {
                            data = "place"
                        }
                    }
                },
                IN_EXP_MENU_ENTRY_POINT = {
                    valueList = {
                        {
                            data = v61.menuEntryPoint
                        }
                    }
                },
                VARIANT = {
                    valueList = {
                        {
                            data = v61.variant or v16.Variant.CS
                        }
                    }
                }
            }
        };
        local _, v66 = v50(v62);
        v60(v62, v63, v64);
        if not (not (#v66 > 0) or not l_GetFFlagReportAnythingEnableAdReport_0()) then
            v64.tags.REPORT_TARGET_ADS = {
                valueList = {
                    {
                        data = l_HttpService_0:JSONEncode((v26(v66)))
                    }
                }
            };
        end;
        return l_HttpService_0:JSONEncode(v64);
    end,
    buildOtherReportRequest = function(v67, v68, v69)
        local v70 = {
            tags = {
                ENTRY_POINT = {
                    valueList = {
                        {
                            data = "in-experience"
                        }
                    }
                },
                SUBMITTER_USER_ID = {
                    valueList = {
                        {
                            data = tostring(v67.localUserId)
                        }
                    }
                },
                REPORTED_ABUSE_CATEGORY = {
                    valueList = {
                        {
                            data = v67.abuseReason
                        }
                    }
                },
                REPORTER_COMMENT = {
                    valueList = {
                        {
                            data = v67.abuseComment
                        }
                    }
                },
                REPORTED_ABUSE_VECTOR = {
                    valueList = {
                        {
                            data = not l_GetFFlagReportAnythingAbuseVectorRenameEnabled_0() and "other" or "avatar"
                        }
                    }
                },
                IN_EXP_MENU_ENTRY_POINT = {
                    valueList = {
                        {
                            data = v67.menuEntryPoint
                        }
                    }
                },
                VARIANT = {
                    valueList = {
                        {
                            data = v67.variant or v16.Variant.Unknown
                        }
                    }
                }
            }
        };
        local v71, _ = v50(v68);
        v60(v68, v69, v70);
        if #v71 > 0 then
            local v73 = tostring(v71[1].UserId);
            local v74 = {};
            for _, v76 in ipairs(v71) do
                v74[#v74 + 1] = tostring(v76.UserId);
            end;
            if l_GetFFlagGetHumanoidDescription_0() then
                local v77, v78 = l_getHumanoidDescription_0(v71[1].UserId);
                v70.tags.REPORT_TARGET_HUMANOID_DESCRIPTION = {
                    valueList = {
                        {
                            data = l_HttpService_0:JSONEncode(v77)
                        }
                    }
                };
                v70.tags.REPORT_TARGET_HUMANOID_DESCRIPTION_STATUS = {
                    valueList = {
                        {
                            data = v78
                        }
                    }
                };
                local v79 = {};
                for _, v81 in ipairs(v71) do
                    local v82, v83 = l_getHumanoidDescription_0(v81.UserId);
                    v79[#v79 + 1] = {
                        humanoidDescription = v82,
                        outputMessage = v83
                    };
                end;
                v70.tags.RA_ALL_ANNOTATED_HUMANOID_DESCRIPTIONS = {
                    valueList = {
                        {
                            data = l_HttpService_0:JSONEncode(v79)
                        }
                    }
                };
            end;
            v70.tags.REPORT_TARGET_USER_ID = {
                valueList = {
                    {
                        data = tostring(v73)
                    }
                }
            };
            v70.tags.RA_ALL_ANNOTATED_USER_IDS = {
                valueList = {
                    {
                        data = l_HttpService_0:JSONEncode(v74)
                    }
                }
            };
        elseif v67.formSelectedAbuserUserId then
            if l_GetFFlagGetHumanoidDescription_0() then
                local v84, v85 = l_getHumanoidDescription_0(v67.formSelectedAbuserUserId);
                v70.tags.REPORT_TARGET_HUMANOID_DESCRIPTION = {
                    valueList = {
                        {
                            data = l_HttpService_0:JSONEncode(v84)
                        }
                    }
                };
                v70.tags.REPORT_TARGET_HUMANOID_DESCRIPTION_STATUS = {
                    valueList = {
                        {
                            data = v85
                        }
                    }
                };
            end;
            v70.tags.REPORT_TARGET_USER_ID = {
                valueList = {
                    {
                        data = tostring(v67.formSelectedAbuserUserId)
                    }
                }
            };
        end;
        return l_HttpService_0:JSONEncode(v70);
    end,
    interpretAnnotations = v50,
    Constants = v16
};


local v0 = require(script:FindFirstAncestor("AbuseReportMenu").Flags.GetFFlagGetHumanoidDescriptionUpdates);
local l_Players_0 = game:GetService("Players");
local v2 = {
    ERR_RA_CHARACTER = "ERR_RA_CHARACTER",
    ERR_RA_HUMPLAYER = "ERR_RA_HUMPLAYER",
    ERR_RA_HUMOBJ = "ERR_RA_HUMOBJ",
    ERR_RA_HUMDESC = "ERR_RA_HUMDESC",
    OK = "OK"
};
local function v7(v3)
    local v4 = {};
    for _, v6 in ipairs(v3) do
        table.insert(v4, {
            AccessoryType = v6.AccessoryType.Value,
            AssetId = v6.AssetId,
            IsLayered = v6.IsLayered,
            Order = v6.Order,
            Puffiness = v6.Puffiness
        });
    end;
    return v4;
end;
return {
    getHumanoidDescription = function(v8)
        local l_l_Players_0_PlayerByUserId_0 = l_Players_0:GetPlayerByUserId(v8);
        local v10 = {
            BackAccessory = "",
            BodyTypeScale = 0,
            ClimbAnimation = 0,
            DepthScale = 0,
            Face = 0,
            FaceAccessory = "",
            FallAnimation = 0,
            FrontAccessory = "",
            GraphicTShirt = 0,
            HairAccessory = "",
            HatAccessory = "",
            Head = 0,
            HeadColor = {
                0,
                0,
                0
            },
            HeadScale = 0,
            HeightScale = 0,
            IdleAnimation = 0,
            JumpAnimation = 0,
            LeftArm = 0,
            LeftArmColor = {
                0,
                0,
                0
            },
            LeftLeg = 0,
            LeftLegColor = {
                0,
                0,
                0
            },
            MoodAnimation = 0,
            NeckAccessory = "",
            Pants = 0,
            ProportionScale = 0,
            RightArm = 0,
            RightArmColor = {
                0,
                0,
                0
            },
            RightLeg = 0,
            RightLegColor = {
                0,
                0,
                0
            },
            RunAnimation = 0,
            Shirt = 0,
            ShouldersAccessory = "",
            SwimAnimation = 0,
            Torso = 0,
            TorsoColor = {
                0,
                0,
                0
            },
            WaistAccessory = "",
            WalkAnimation = 0,
            WidthScale = 0
        };
        if l_l_Players_0_PlayerByUserId_0 then
            local l_Character_0 = l_l_Players_0_PlayerByUserId_0.Character;
            if not l_Character_0 then
                return v10, v2.ERR_RA_CHARACTER;
            else
                local v12 = l_Character_0:WaitForChild("Humanoid", 1);
                if v12 then
                    local v13 = nil;
                    if not v0() then
                        v13 = v12:GetAppliedDescription();
                    else
                        local v14 = nil;
                        local l_status_0, l_result_0 = pcall(function()
                            return (v12:GetAppliedDescription());
                        end);
                        v14 = l_status_0;
                        v13 = l_result_0;
                        if not v14 then
                            return v10, v2.ERR_RA_HUMOBJ;
                        end;
                    end;
                    if v13 then
                        local v17 = 0;
                        do
                            local l_v13_0 = v13;
                            if not v0() then
                                pcall(function()
                                    for v19, _ in pairs(v10) do
                                        if typeof(l_v13_0[v19]) == "Color3" then
                                            v10[v19] = {
                                                l_v13_0[v19].R,
                                                l_v13_0[v19].G,
                                                l_v13_0[v19].B
                                            };
                                        else
                                            v10[v19] = l_v13_0[v19];
                                        end;
                                    end;
                                end);
                            else
                                local function v22(v21)
                                    if typeof(l_v13_0[v21]) == "Color3" then
                                        v10[v21] = {
                                            l_v13_0[v21].R,
                                            l_v13_0[v21].G,
                                            l_v13_0[v21].B
                                        };
                                        return ;
                                    else
                                        v10[v21] = l_v13_0[v21];
                                        return ;
                                    end;
                                end;
                                for v23, _ in pairs(v10) do
                                    if not pcall(v22, v23) then
                                        v17 = v17 + 1;
                                    end;
                                end;
                                local l_status_1, l_result_1 = pcall(l_v13_0.GetAccessories, l_v13_0, false);
                                if not l_status_1 then
                                    v17 = v17 + 1;
                                else
                                    local l_status_2, l_result_2 = pcall(v7, l_result_1);
                                    if not l_status_2 then
                                        v17 = v17 + 1;
                                    else
                                        v10.AccessoryBlob = l_result_2;
                                    end;
                                end;
                                v10.FieldErrorCount = v17;
                            end;
                        end;
                        return v10, v2.OK;
                    else
                        return v10, v2.ERR_RA_HUMDESC;
                    end;
                else
                    return v10, v2.ERR_RA_HUMOBJ;
                end;
            end;
        else
            return v10, v2.ERR_RA_HUMPLAYER;
        end;
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local l_EventIngestService_0 = game:GetService("EventIngestService");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_Parent_0.Cryo);
local _ = require(l_Parent_0.AvatarIdentification);
local l_EventIngest_0 = require(l_Parent_0.Analytics).AnalyticsReporters.EventIngest;
local v6 = {
    EventType = {
        AvatarsIdentified = "ReportAnythingAvatarsIdentified"
    },
    Context = {
        LegacyMenu = "ReportAbuseLegacyMenu"
    }
};
local function _()
    return {
        previewBackCount = 0,
        previewAttachCount = 0,
        retakeCount = 0,
        retakeAbandon = false,
        highlightSceneCount = 0,
        annotationBackCount = 0,
        annotationPlaceCount = 0,
        annotationUndoCount = 0,
        annotationRedoCount = 0,
        annotationNext = false
    };
end;
local v8 = {
    previewBackCount = 0,
    previewAttachCount = 0,
    retakeCount = 0,
    retakeAbandon = false,
    highlightSceneCount = 0,
    annotationBackCount = 0,
    annotationPlaceCount = 0,
    annotationUndoCount = 0,
    annotationRedoCount = 0,
    annotationNext = false
};
local v9 = nil;
local function _()
    if not v9 then
        v9 = l_EventIngest_0.new(l_EventIngestService_0);
    end;
    return v9;
end;
return {
    incrementPreviewBack = function()
        local l_v8_0 = v8;
        l_v8_0.previewBackCount = l_v8_0.previewBackCount + 1;
    end,
    incrementPreviewAttach = function()
        local l_v8_1 = v8;
        l_v8_1.previewAttachCount = l_v8_1.previewAttachCount + 1;
    end,
    incrementRetake = function()
        local l_v8_2 = v8;
        l_v8_2.retakeCount = l_v8_2.retakeCount + 1;
    end,
    setRetakeAbandon = function()
        v8.retakeAbandon = true;
    end,
    incrementHighlightScene = function()
        local l_v8_3 = v8;
        l_v8_3.highlightSceneCount = l_v8_3.highlightSceneCount + 1;
    end,
    incrementAnnotationBack = function()
        local l_v8_4 = v8;
        l_v8_4.annotationBackCount = l_v8_4.annotationBackCount + 1;
    end,
    incrementAnnotationPlace = function()
        local l_v8_5 = v8;
        l_v8_5.annotationPlaceCount = l_v8_5.annotationPlaceCount + 1;
    end,
    incrementAnnotationUndo = function()
        local l_v8_6 = v8;
        l_v8_6.annotationUndoCount = l_v8_6.annotationUndoCount + 1;
    end,
    incrementAnnotationRedo = function()
        local l_v8_7 = v8;
        l_v8_7.annotationRedoCount = l_v8_7.annotationRedoCount + 1;
    end,
    setAnnotationNext = function()
        v8.annotationNext = true;
    end,
    getAccumulatedParameters = function()
        return v8;
    end,
    emitAvatarsIdentifiedStats = function(v19)
        local v20 = v3.Dictionary.join(v19, {
            duration = v19.duration * 1000000
        });
        if not v9 then
            v9 = l_EventIngest_0.new(l_EventIngestService_0);
        end;
        v9:sendEventDeferred(v6.Context.LegacyMenu, v6.EventType.AvatarsIdentified, v20);
    end,
    clear = function()
        v8 = {
            previewBackCount = 0,
            previewAttachCount = 0,
            retakeCount = 0,
            retakeAbandon = false,
            highlightSceneCount = 0,
            annotationBackCount = 0,
            annotationPlaceCount = 0,
            annotationUndoCount = 0,
            annotationRedoCount = 0,
            annotationNext = false
        };
    end
};


local l_UserInputService_0 = game:GetService("UserInputService");
local v5 = {
    _initialized = false,
    _isKeyboardJustOff = false,
    getInstance = function(v1)
        if not v1._initialized then
            v1:initialize();
            v1._initialized = true;
        end;
        return v1;
    end,
    initialize = function(v2)
        v2._isKeyboardJustOff = false;
        l_UserInputService_0:GetPropertyChangedSignal("OnScreenKeyboardVisible"):Connect(function()
            if not l_UserInputService_0.OnScreenKeyboardVisible then
                v2._isKeyboardJustOff = true;
            end;
        end);
        l_UserInputService_0.InputEnded:Connect(function(_)
            if v2._isKeyboardJustOff then
                v2._isKeyboardJustOff = false;
            end;
        end);
    end,
    isKeyboardJustOff = function(v4)
        return v4._isKeyboardJustOff;
    end
};
return {
    getInstance = function()
        return v5:getInstance();
    end
};


local v0 = require(script:FindFirstAncestor("AbuseReportMenu").Components.Constants);
getAvailableMethodsOfAbuse = function(v1, v2)
    local v3 = {
        {
            label = v0.AbuseMethods.TextChat,
            subLabel = v0.AbuseMethodSublabel.TextChat
        }
    };
    if not v2 then
        v3[#v3 + 1] = {
            label = v0.AbuseMethods.Other,
            subLabel = v0.AbuseMethodSublabel.Other
        };
    else
        v3[#v3 + 1] = {
            label = v0.AbuseMethods.Avatar,
            subLabel = v0.AbuseMethodSublabel.Avatar
        };
    end;
    if v1 then
        table.insert(v3, 1, {
            label = v0.AbuseMethods.VoiceChat,
            subLabel = v0.AbuseMethodSublabel.VoiceChat
        });
    end;
    return v3;
end;
return getAvailableMethodsOfAbuse;


local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReportMenu");
local v2 = require(l_script_FirstAncestor_0.Components.Constants);
local v3 = require(l_script_FirstAncestor_0.IXP.TnSIXPWrapper);
local l_default_0 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceChatServiceManager).default;
local function _(v5)
    return l_default_0:getRecentUsersInteractionData()[tostring(v5.UserId)] ~= nil;
end;
handlePreselectedPlayer = function(v7, v8, v9, v10)
    if not v8 or not (l_default_0:getRecentUsersInteractionData()[tostring(v7.UserId)] ~= nil) then
        if v3.getReportAnythingAvatarEnabled() then
            v9({
                type = v2.PlayerMenuActions.UpdateMethodOfAbuse,
                methodOfAbuse = v2.AbuseMethods.TextChat
            });
            v10({
                type = v2.AnalyticsActions.SetTypeOfAbuseSelection,
                selection = v2.AbuseMethods.TextChat
            });
        end;
    else
        v9({
            type = v2.PlayerMenuActions.UpdateMethodOfAbuse,
            methodOfAbuse = v2.AbuseMethods.VoiceChat
        });
        v10({
            type = v2.AnalyticsActions.SetTypeOfAbuseSelection,
            selection = v2.AbuseMethods.VoiceChat
        });
    end;
    v9({
        type = v2.PlayerMenuActions.SetPreselectedPlayer,
        player = v7
    });
end;
return handlePreselectedPlayer;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_ExperienceStateCaptureService_0 = game:GetService("ExperienceStateCaptureService");
local l_GetFFlagSelectInSceneReportMenu_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagSelectInSceneReportMenu;
return function()
    if l_GetFFlagSelectInSceneReportMenu_0() then
        if game:GetEngineFeature("SafetyServiceCaptureModeReportProp") then
            if game:GetEngineFeature("CaptureModeEnabled") then
                if not game:GetEngineFeature("ExperienceStateCaptureMinMemEnabled") or l_ExperienceStateCaptureService_0:CanEnterCaptureMode() then
                    return true;
                else
                    return false;
                end;
            else
                return false;
            end;
        else
            return false;
        end;
    else
        return false;
    end;
end;


return {
    AbuseReportMenu = require(script.Components.AbuseReportMenuNew),
    ReportAbuseAnalytics = require(script.Analytics.ReportAbuseAnalytics),
    ["jest.config"] = script["jest.config"]
};


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


local l_RbxAnalyticsService_0 = game:GetService("RbxAnalyticsService");
local v1 = require(game:GetService("CorePackages").Cryo);
local v2 = {};
v2.__index = v2;
local v3 = {
    selectItemCount = 0,
    backButtonClickCount = 0,
    isSeenSummaryPage = false
};
local v4 = {
    ABANDONED_TREE_BASED_REPORT = "TreeBasedAbuseReportAbandoned",
    SUBMIT_TREE_BASED_REPORT = "TreeBasedAbuseReportSubmitted"
};
v2.new = function(v5, v6)
    return (setmetatable({
        _target = v5,
        _context = v6,
        _state = table.clone(v3)
    }, v2));
end;
v2._sendEvent = function(v7, v8, v9)
    if not (not v7._target or not v7._context) then
        l_RbxAnalyticsService_0:SendEventDeferred(v7._target, v7._context, v8, (v1.Dictionary.join({
            platform = v7._target,
            dialogEntryPoint = v7._context
        }, v7._state, v9 or {})));
    end;
end;
v2.onBackButtonPressed = function(v10)
    local l__state_0 = v10._state;
    l__state_0.backButtonClickCount = l__state_0.backButtonClickCount + 1;
end;
v2.onSingleListItemSelected = function(v12)
    local l__state_1 = v12._state;
    l__state_1.selectItemCount = l__state_1.selectItemCount + 1;
end;
v2.onSubmissionPageMount = function(v14)
    v14._state.isSeenSummaryPage = true;
end;
v2.onReportSubmitted = function(v15)
    v15:_sendEvent(v4.SUBMIT_TREE_BASED_REPORT);
end;
v2.onReportAbandoned = function(v16)
    v16:_sendEvent(v4.ABANDONED_TREE_BASED_REPORT);
end;
return v2;


return {
    BEDUI_VERSIONS = {
        V1 = "v1",
        DEV = "v_dev"
    }
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("AbuseReporting");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.UIBlox);
local _ = require(l_script_FirstAncestor_0.Common.Types);
local v5 = require(l_script_FirstAncestor_0.Hooks.useAbuseReportingDesignTokens);
local l_ButtonStack_0 = v3.App.Button.ButtonStack;
local l_ButtonType_0 = v3.App.Button.Enum.ButtonType;
local v8 = UDim2.new(1, 0, 0, 200);
return function(v9)
    local l_ReportActionBar_0 = v5().ReportActionBar;
    local v11 = l_ReportActionBar_0.size or v8;
    local v12 = l_ReportActionBar_0.buttonHeight or 48;
    local v13 = UDim2.fromOffset(l_ReportActionBar_0.buttonWidth or 500, v12);
    local v14 = {};
    for _, v16 in v9.buttons, nil, nil do
        table.insert(v14, {
            buttonType = v16.buttonType or l_ButtonType_0.Secondary,
            props = {
                onActivated = v16.onActivated,
                size = v13,
                text = v16.text
            }
        });
    end;
    return v2.createElement("Frame", {
        LayoutOrder = v9.layoutOrder,
        Size = v11,
        BackgroundTransparency = 1
    }, {
        Layout = v2.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            VerticalAlignment = Enum.VerticalAlignment.Center
        }),
        ActionButtons = v2.createElement(l_ButtonStack_0, {
            marginBetween = l_ReportActionBar_0.buttonListHorizontalPadding,
            buttonHeight = v12,
            buttons = v14
        })
    });
end;