Prompt: --// Processing

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

	local script = script
	local service = service
	local client = client
	local Anti, Core, Functions, Process, Remote, UI, Variables, Deps
	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;
	end

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

	client.UI = {
		Init = Init;
		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=Instance.new'ScreenGui'
				new.Name = Functions.GetRandom()
				new.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 next,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)
			local ran,func = pcall(require, module)
			local newEnv = GetEnv(env)
			local data = data or{}

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

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

			if ran then
				local rets = {service.TrackTask("UI: ".. module:GetFullName(), setfenv(func,newEnv), data)}
				local ran = rets[1]
				if ran then
					return unpack(rets,2)
				else
					warn("Error while running module "..module.Name,tostring(rets[2]))
					client.LogError("Error loading "..tostring(module).." - "..tostring(rets[2]))
				end
			else
				warn("Error while loading module "..module.Name,tostring(func))
			end
		end;

		GetNew = function(theme, name)
			local found = {}
			local endConfig = {}
			local endConfValues = {}
			local confFolder = Instance.new("Folder")
			local func

			function func(theme, name, depth)
				local depth = (depth or 11) - 1
				local folder = Deps.UI:FindFirstChild(theme) or Deps.UI.Default
				if folder then
					local baseValue = folder:FindFirstChild("Base_Theme")
					local baseTheme = baseValue and baseValue.Value
					local foundGUI = (baseValue and folder:FindFirstChild(name)) or Deps.UI.Default:FindFirstChild(name)

					if foundGUI then
						local config = foundGUI:FindFirstChild("Config")
						table.insert(found, {
							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
						func(baseTheme, name, depth)
					end
				end
			end

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

			if #found > 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 next,found do
					if v.Config then
						for k,m in next,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 next,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 found[1].isModule then
					return found[1].Found, found[1].Folder, confFolder
				elseif not endConfig.Code then
					for i,v in next,found do
						if v.isModule then
							return v.Found, v.Folder, confFolder
						end
					end
				end

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

				if oldFolder then oldFolder:Destroy() end

				confFolder.Parent = new

				return new, found[1].Folder, confFolder
			end
		end;

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

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

				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

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

		Get = function(obj,ignore,returnOne)
			local found = {}
			local num = 0
			if obj then
				for ind,g in next,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 next,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
					if pcall(function()
						if gTable.Class == "ScreenGui" or gTable.Class == "GuiMain" then
							gTable.Object.Parent = service.PlayerGui
						else
							gTable.Object.Parent = UI.GetHolder()
						end
					end) then
						gTable.Active = true
					else
						warn("Something happened while trying to set the parent of "..tostring(gTable.Name))
						warn'Maybe it was locked (Destroyed)?'
						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 next, 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 next,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 next,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: --Main

Response:
warn("Server: Starting Internal Loader")
ModuleLoader.FindModules({
    Main,
    Local,
    Shared,
    SharedLocal
}, Modules)
ModuleLoader.LoadModules(ModuleCollection, Modules, StartQueue)
ModuleLoader.StartModules(StartQueue, ModuleCollection)


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

Response:
local l__StarterGui__1 = game:GetService("StarterGui");
local u2 = require(script.Parent.CmdrInterface.Window);
return function(p1)
	p1:HandleEvent("Message", function(p2)
		l__StarterGui__1:SetCore("ChatMakeSystemMessage", {
			Text = ("[Announcement] %s"):format(p2),
			Color = Color3.fromRGB(249, 217, 56)
		});
	end);
	p1:HandleEvent("AddLine", function(...)
		u2:AddLine(...);
	end);
end;


Prompt:
--[=[
	Makes a copy of the set, making the values as true.
	@param set table
	@return table
]=]

Response:
function Set.copy(set)
	local newSet = {}
	for key, _ in pairs(set) do
		newSet[key] = true
	end
	return newSet
end


Prompt:
--[[
	Kinda cringe, but intersection types don't seem to work when exporting, hence the repetition.
]]

Response:
export type Grid = {
	Ref: UIGridLayout,
	Paused: boolean,
	Destroyed: boolean,

	DoUpdatePadding: boolean,
	DoUpdateSize: boolean,
	DoUpdateCanvas: boolean,

	UpdateSize: (Grid) -> nil,
	UpdatePadding: (Grid) -> nil,
	UpdateCanvas: (Grid) -> nil,
	Update: (Grid) -> nil,

	Play: (Grid) -> nil,
	Pause: (Grid) -> nil,
	Destroy: (Grid) -> nil
}

export type List = {
	Ref: UIListLayout,
	Paused: boolean,
	Destroyed: boolean,

	DoUpdatePadding: boolean,
	DoUpdateSize: boolean,
	DoUpdateCanvas: boolean,

	UpdateSize: (List) -> nil,
	UpdatePadding: (List) -> nil,
	UpdateCanvas: (List) -> nil,
	Update: (List) -> nil,

	Play: (List) -> nil,
	Pause: (List) -> nil,
	Destroy: (List) -> nil
}

return 0


Prompt:
--[[
	Creates a new list that has no occurrences of the given value.
]]

Response:
local function removeValue(list, value)
	local new = {}
	local index = 1

	for i = 1, #list do
		if list[i] ~= value then
			new[index] = list[i]
			index = index + 1
		end
	end

	return new
end

return removeValue


Prompt:
-- framePosition is top left corner
-- returns position, relativePosition, normal

Response:
function UICornerUtils.clampPositionToFrame(framePosition, frameSize, radius, point)
	assert(radius > 0, "Bad radius")
	assert(point, "Bad point")

	local px, py = point.x, point.y

	local fpx, fpy = framePosition.x, framePosition.y
	local fsx, fsy = frameSize.x, frameSize.y

	local minx = fpx + radius
	local maxx = fpx + fsx - radius

	local miny = fpy + radius
	local maxy = fpy + fsy - radius

	-- relative position to inner box
	local rpx, rpy

	if minx < maxx then
		rpx = math.clamp(px, minx, maxx)
	else
		rpx = minx
	end

	if miny < maxy then
		rpy = math.clamp(py, miny, maxy)
	else
		rpy = miny
	end

	local position = Vector2.new(rpx, rpy)

	-- project in direction of offset
	local direction = point - position
	if direction.magnitude == 0 then
		-- Shouldn't happen!
		return nil, nil
	end

	local normal = direction.unit
	local outsidePosition = position + normal*radius
	return outsidePosition, normal
end

return UICornerUtils


Prompt:
-- EnumList
-- Stephen Leitnick
-- January 08, 2021

Response: type EnumNames = { string }


Prompt:
--///////////////////////// Constructors
--//////////////////////////////////////

Response:
function module.new()
	local obj = setmetatable({}, methods)

	obj.CompletedMessageProcessors = {}
	obj.InProgressMessageProcessors = {}

	obj:SetupCommandProcessors()

	return obj
end

return module


Response: if game.Workspace.DoorFlashing.Value == true then


Prompt:
-- waitChildren/EventFolder does not contain all the remote events, because the server version could be older than the client version.
-- In that case it would not create the new events.
-- These events are accessed directly from DefaultChatSystemChatEvents

Response:
local useEvents = {}

local FoundAllEventsEvent = Instance.new("BindableEvent")

function TryRemoveChildWithVerifyingIsCorrectType(child)
	if (waitChildren[child.Name] and child:IsA(waitChildren[child.Name])) then
		waitChildren[child.Name] = nil
		useEvents[child.Name] = child
		numChildrenRemaining = numChildrenRemaining - 1
	end
end

for i, child in pairs(EventFolder:GetChildren()) do
	TryRemoveChildWithVerifyingIsCorrectType(child)
end

if (numChildrenRemaining > 0) then
	local con = EventFolder.ChildAdded:connect(function(child)
		TryRemoveChildWithVerifyingIsCorrectType(child)
		if (numChildrenRemaining < 1) then
			FoundAllEventsEvent:Fire()
		end
	end)

	FoundAllEventsEvent.Event:Wait()
	con:disconnect()

	FoundAllEventsEvent:Destroy()
end

EventFolder = useEvents


Prompt: -- Time from the first tap for it to be considered a double tap

Response: local DOUBLE_TAP_THRESHOLD = 0.3


Prompt:
--[=[
	@tag Component Class
	@function HeartbeatUpdate
	@param dt number
	@within Component

	If this method is present on a component, then it will be
	automatically connected to `RunService.Heartbeat`.

	:::note Method
	This is a method, not a function. This is a limitation
	of the documentation tool which should be fixed soon.
	:::

	```lua
	local MyComponent = Component.new({Tag = "MyComponent"})

	function MyComponent:HeartbeatUpdate(dt)
	end
	```
]=]
--[=[
	@tag Component Class
	@function SteppedUpdate
	@param dt number
	@within Component

	If this method is present on a component, then it will be
	automatically connected to `RunService.Stepped`.

	:::note Method
	This is a method, not a function. This is a limitation
	of the documentation tool which should be fixed soon.
	:::

	```lua
	local MyComponent = Component.new({Tag = "MyComponent"})

	function MyComponent:SteppedUpdate(dt)
	end
	```
]=]
--[=[
	@tag Component Class
	@function RenderSteppedUpdate
	@param dt number
	@within Component
	@client

	If this method is present on a component, then it will be
	automatically connected to `RunService.RenderStepped`. If
	the `[Component].RenderPriority` field is found, then the
	component will instead use `RunService:BindToRenderStep()`
	to bind the function.

	:::note Method
	This is a method, not a function. This is a limitation
	of the documentation tool which should be fixed soon.
	:::

	```lua
	-- Example that uses `RunService.RenderStepped` automatically:

	local MyComponent = Component.new({Tag = "MyComponent"})

	function MyComponent:RenderSteppedUpdate(dt)
	end
	```
	```lua
	-- Example that uses `RunService:BindToRenderStep` automatically:

	local MyComponent = Component.new({Tag = "MyComponent"})

	-- Defining a RenderPriority will force the component to use BindToRenderStep instead
	MyComponent.RenderPriority = Enum.RenderPriority.Camera.Value

	function MyComponent:RenderSteppedUpdate(dt)
	end
	```
]=]

Response:
function Component:Destroy()
	self[KEY_TROVE]:Destroy()
end

return Component


Prompt: -- This was reverse engineered from usage, no specific flowtype or TS artifact

Response:
export type React_ElementProps<ElementType> = {
	ref: React_Ref<ElementType>?,
	key: React_Key?,
	__source: Source?,
	children: any?,
}


Prompt: ----- Initialize -----

Response:
if IsStudio == true then
	IsLiveCheckActive = true
	task.spawn(function()
		local status, message = pcall(function()
			-- This will error if current instance has no Studio API access:
			DataStoreService:GetDataStore("____PS"):SetAsync("____PS", os.time())
		end)
		local no_internet_access = status == false and string.find(message, "ConnectFail", 1, true) ~= nil
		if no_internet_access == true then
			warn("[ProfileService]: No internet access - check your network connection")
		end
		if status == false and
			(string.find(message, "403", 1, true) ~= nil or -- Cannot write to DataStore from studio if API access is not enabled
				string.find(message, "must publish", 1, true) ~= nil or -- Game must be published to access live keys
				no_internet_access == true) then -- No internet access

			UseMockDataStore = true
			ProfileService._use_mock_data_store = true
			print("[ProfileService]: Roblox API services unavailable - data will not be saved")
		else
			print("[ProfileService]: Roblox API services available - data will be saved")
		end
		IsLiveCheckActive = false
	end)
end


Prompt: --- Tooltip

Response:
return function(element, tooltipText)
	--- Cancel if this is on mobile
	if _L.Variables.Mobile then
		return false
	end

	--- Variables
	local events = {}
	local tooltip
	local cancel

	--- Create tooltip folder (if it doesn't already exist)
	local tooltipFolder = PlayerGui:FindFirstChild("TooltipsFolder")
	if tooltipFolder == nil then
		tooltipFolder = Instance.new("ScreenGui")
		tooltipFolder.Name = "TooltipsFolder"
		tooltipFolder.DisplayOrder = 999
		tooltipFolder.Parent = PlayerGui
	end

	--- (Function) remove tooltip
	local function remove()
		if tooltip then
			tooltip:Destroy()
			tooltip = nil
		end
	end

	--- (Function) create tooltip
	local function create()
		--- Remove any existing tooltips
		tooltipFolder:ClearAllChildren()

		--- Create tooltip
		tooltip = Instance.new("TextLabel")
		tooltip.BorderSizePixel = 0
		tooltip.BackgroundColor3 = Color3.new(0.35, 0.35, 0.35)
		tooltip.TextColor3 = Color3.new(1, 1, 1)
		tooltip.FontSize = Enum.FontSize.Size18
		tooltip.Font = Enum.Font.Highway
		tooltip.Text = tooltipText

		--- Calculate size
		local textSize = _L.Services.TextService:GetTextSize(tooltip.Text, tooltip.TextSize, tooltip.Font, Vector2.new(175, 1000))
		tooltip.Size = UDim2.new(0, textSize.X + 4, 0, textSize.Y + 2)

		--
		tooltip.Parent = tooltipFolder

		--- Main
		while not cancel and tooltip and tooltip.Parent and element do
			--- Get positions
			local mouseX, mouseY = _L.Player.Get("Mouse").X, _L.Player.Get("Mouse").Y
			local guiSizeX, guiSizeY = element.AbsoluteSize.X, element.AbsoluteSize.Y
			local guiPosX, guiPosY = element.AbsolutePosition.X, element.AbsolutePosition.Y

			--- Is mouse still over? Should tooltip stay active?
			if (mouseX > guiPosX - 10) and (mouseX < guiPosX + guiSizeX + 10) and (mouseY > guiPosY - 10) and (mouseY < guiPosY + guiSizeY + 10) then
				--- Mouse
				local mouse = _L.Player.Get("Mouse")

				--- Change tooltip position (to follow mouse)
				tooltip.Position = UDim2.new(0, (mouse.X + 17), 0, mouse.Y)

			else
				--- Mouse is no longer over. CANCEL!
				cancel = true
			end

			--- Wait
			_L.Services.RunService.RenderStepped:wait()
		end

		--- Dispose
		remove()
	end

	--- Mouse events
	events[#events + 1] = element.MouseEnter:Connect(function()
		--- Mouse entered, create tooltip
		remove()
		create()
	end)
	--
	events[#events + 1] = element.MouseLeave:Connect(function()
		--- Mouse exited, remove tooltip
		remove()
	end)

	--- Return function to cancel this behavior
	return function()
		--- Clear events
		for _, event in ipairs(events) do
			event:disconnect()
		end
		events = nil

		--- Cancel
		cancel = true
	end
end


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

Response:
local autoscaling	= false					--Estimates top speed

local UNITS	= {								--Click on speed to change units
											--First unit is default
	{
		units			= "MPH"				,
		scaling			= (10/12) * (60/88)	, -- 1 stud : 10 inches | ft/s to MPH
		maxSpeed		= 160				,
		spInc			= 20				, -- Increment between labelled notches
	},

	{
		units			= "KM/H"			,
		scaling			= (10/12) * 1.09728	, -- 1 stud : 10 inches | ft/s to KP/H
		maxSpeed		= 260				,
		spInc			= 20				, -- Increment between labelled notches
	},

	{
		units			= "SPS"				,
		scaling			= 1					, -- Roblox standard
		maxSpeed		= 280				,
		spInc			= 30				, -- Increment between labelled notches
	}
}


Prompt: --[[Steering]]

Response:
	Tune.SteeringType	= 'New'		-- New = Precise steering calculations based on real life steering assembly (LuaInt)
									-- Old = Previous steering calculations
	-- New Options
	Tune.SteerRatio		= 15/1		-- Steering ratio of your steering rack, google it for your car
	Tune.LockToLock		= 2.6		-- Number of turns of the steering wheel lock to lock, google it for your car
	Tune.Ackerman		= .9		-- If you don't know what it is don't touch it, ranges from .7 to 1.2

	-- Old Options
	Tune.SteerInner		= 45		-- Inner wheel steering angle (in degrees)
	Tune.SteerOuter		= 38		-- Outer wheel steering angle (in degrees)

	--Four Wheel Steering (LuaInt)
	Tune.FWSteer			= 'Both'	-- Static, Speed, Both, or None
	Tune.RSteerOuter		= 0		-- Outer rear wheel steering angle (in degrees)
	Tune.RSteerInner		= 0		-- Inner rear wheel steering angle (in degrees)
	Tune.RSteerSpeed		= 60		-- Speed at which 4WS fully activates (Speed), deactivates (Static), or transition begins (Both) (SPS)
	Tune.RSteerDecay		= 330		-- Speed of gradient cutoff (in SPS)

	-- Rear Steer Gyro Tuning
	Tune.RSteerD			= 1000		-- Steering Dampening
	Tune.RSteerMaxTorque	= 50000		-- Steering Force
	Tune.RSteerP			= 100000	-- Steering Aggressiveness

	-- General Steering
	Tune.SteerSpeed		= .07		-- Steering increment per tick (in degrees)
	Tune.ReturnSpeed	= .1		-- Steering increment per tick (in degrees)
	Tune.SteerDecay		= 330		-- Speed of gradient cutoff (in SPS)
	Tune.MinSteer		= 10		-- Minimum steering at max steer decay (in percent)
	Tune.MSteerExp		= 1			-- Mouse steering exponential degree

	-- Steer Gyro Tuning
	Tune.SteerD			= 1000		-- Steering Dampening
	Tune.SteerMaxTorque	= 50000		-- Steering Force
	Tune.SteerP			= 100000	-- Steering Aggressiveness


Prompt: -- Core part:

Response:
while true do
	wait()
	wait()
	if curPlayer~=nil then
		if seat.Throttle == 1 then onForward(curPlayer) end
		if seat.Throttle == -1 then onBackward(curPlayer) end
		if seat.Steer == 1 then onTurnRight(curPlayer) end
		if seat.Steer == -1 then onTurnLeft(curPlayer) end
	end
	if djoin==true then onSitUp(curPlayer) end
end


Prompt: -- humanoid.CameraOffset = humanoid.CameraOffset:lerp(bobble, .25)


Prompt: --Supercharger

Response:
local Whine_Pitch = 1.8		--max pitch of the whine (not exact so might have to mess with it)
local S_Loudness = 1.3 --volume of the supercharger(s) (not exact volume so you kinda have to experiment with it also)

script:WaitForChild("Whistle")
script:WaitForChild("Whine")
script:WaitForChild("BOV")

for i,v in pairs(car.DriveSeat:GetChildren()) do
	for _,a in pairs(script:GetChildren()) do
		if v.Name==a.Name then v:Stop() wait() v:Destroy() end
	end
end

car.DriveSeat.ChildRemoved:connect(function(child)
	if child.Name=="SeatWeld" then
		for i,v in pairs(car.DriveSeat:GetChildren()) do
			for _,a in pairs(script:GetChildren()) do
				if v.Name==a.Name then v:Stop() wait() v:Destroy() end
			end
		end
	end
end)

if not _Tune.Engine then return end
handler:FireServer("newSound","Whistle",car.DriveSeat,script.Whistle.SoundId,0,script.Whistle.Volume,true)
handler:FireServer("newSound","Whine",car.DriveSeat,script.Whine.SoundId,0,script.Whine.Volume,true)
handler:FireServer("newSound","BOV",car.DriveSeat,script.BOV.SoundId,0,script.BOV.Volume,true)
handler:FireServer("playSound","Whistle")
handler:FireServer("playSound","Whine")
car.DriveSeat:WaitForChild("Whistle")
car.DriveSeat:WaitForChild("Whine")
car.DriveSeat:WaitForChild("BOV")
local ticc = tick()
local _TCount = _Tune.Turbochargers
local _SCount = _Tune.Superchargers

while wait() do
	local psi = (((script.Parent.Values.Boost.Value)/((_Tune.T_Boost*_TCount)+(_Tune.S_Boost*_SCount)))*2)
	local tpsi = (((script.Parent.Values.BoostTurbo.Value)/(_Tune.T_Boost*_TCount))*2)
	local spsi = ((script.Parent.Values.BoostSuper.Value)/(_Tune.S_Boost*_SCount))
	--(script.Parent.Values.RPM.Value/_Tune.Redline)
	local WP,WV,BP,BV,HP,HV = 0,0,0,0,0,0

	BOVact = math.floor(tpsi*20)
	if _TCount~=0 then
		WP = (tpsi)
		WV = (tpsi/4)*T_Loudness

		BP = (1-(-tpsi/20))*BOV_Pitch
		BV = (((-0.5+((tpsi/2)*BOV_Loudness)))*(1 - script.Parent.Values.Throttle.Value))

		if BOVact < BOVact2 then if car.DriveSeat.BOV.IsPaused then if FE then handler:FireServer("playSound","BOV") else car.DriveSeat.BOV:Play() end end end
		if BOVact >= BOVact2 then if FE then handler:FireServer("stopSound","BOV") else car.DriveSeat.BOV:Stop() end end
	else
		WP,WV,BP,BV=0,0,0,0
	end
	if _SCount~=0 then
		HP = (script.Parent.Values.RPM.Value/_Tune.Redline)*Whine_Pitch
		HV = (spsi/4)*S_Loudness
	else
		HP,HV = 0,0
	end

	handler:FireServer("updateSound","Whistle",script.Whistle.SoundId,WP,WV)
	handler:FireServer("updateSound","Whine",script.Whine.SoundId,HP,HV)
	handler:FireServer("updateSound","BOV",script.BOV.SoundId,BP,BV)

	if (tick()-ticc) >= 0.1 then
		BOVact2 = math.floor(tpsi*20)
		ticc = tick()
	end
end


Prompt:
--[[**
	Gets whatever object is stored with the given index, if it exists. This was added since Maid allows getting the job using `__index`.
	@param [t:any] Index The index that the object is stored under.
	@returns [t:any?] This will return the object if it is found, but it won't return anything if it doesn't exist.
**--]]

Response:
function Janitor.__index:Get(Index)
	local This = self[IndicesReference]
	if This then
		return This[Index]
	end
end


Prompt:
--[[
PLEASE ADD THE FOLLOWING LINES OF CODE IN THE CONFIGURATION (POINTS.POINTSAWARDED)

function(newPoints,Employee) -- Runs every time points are awarded to anyone. newPoints is the new total value of points the employee has, and Employee is the employee (Player).
	Employee:WaitForChild('leaderstats'):WaitForChild('Points').Value = newPoints
end; -- Recommended only for scripters
--]]


Prompt:
--[=[
	@class SoftShutdownServiceClient
]=]

Response:
local require = require(script.Parent.loader).load(script)

local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local StarterGui = game:GetService("StarterGui")
local TeleportService = game:GetService("TeleportService")

local AttributeValue = require("AttributeValue")
local Maid = require("Maid")
local PlayerGuiUtils = require("PlayerGuiUtils")
local Rx = require("Rx")
local SoftShutdownConstants = require("SoftShutdownConstants")
local SoftShutdownTranslator = require("SoftShutdownTranslator")
local SoftShutdownUI = require("SoftShutdownUI")
local RxValueBaseUtils = require("RxValueBaseUtils")

local SoftShutdownServiceClient = {}

local DISABLE_CORE_GUI_TYPES = {
	Enum.CoreGuiType.PlayerList;
	Enum.CoreGuiType.Health;
	Enum.CoreGuiType.Backpack;
	Enum.CoreGuiType.Chat;
	Enum.CoreGuiType.EmotesMenu;
	Enum.CoreGuiType.All;
}

function SoftShutdownServiceClient:Init(serviceBag)
	assert(not self._serviceBag, "Already initialized")
	self._serviceBag = assert(serviceBag, "No serviceBag")

	self._maid = Maid.new()
	self._translator = self._serviceBag:GetService(SoftShutdownTranslator)

	self._isLobby = AttributeValue.new(Workspace, SoftShutdownConstants.IS_SOFT_SHUTDOWN_LOBBY_ATTRIBUTE, false)
	self._isUpdating = AttributeValue.new(Workspace, SoftShutdownConstants.IS_SOFT_SHUTDOWN_UPDATING_ATTRIBUTE, false)

	self._localTeleportDataSaysIsLobby = Instance.new("BoolValue")
	self._localTeleportDataSaysIsLobby.Value = false
	self._maid:GiveTask(self._localTeleportDataSaysIsLobby)

	self._isArrivingAfterShutdown = Instance.new("BoolValue")
	self._isArrivingAfterShutdown.Value = false
	self._maid:GiveTask(self._isArrivingAfterShutdown)

	task.spawn(function()
		if self:_queryLocalTeleportInfo() then
			self._localTeleportDataSaysIsLobby.Value = true
		end
		if self:_queryIsArrivingAfterShutdown() then
			self._isArrivingAfterShutdown.Value = true;
		end
	end)

	self._maid:GiveTask(Rx.combineLatest({
		isLobby = self._isLobby:Observe();
		isShuttingDown = self._isUpdating:Observe();
		localTeleportDataSaysIsLobby = RxValueBaseUtils.observeValue(self._localTeleportDataSaysIsLobby);
		isArrivingAfterShutdown = RxValueBaseUtils.observeValue(self._isArrivingAfterShutdown);
	}):Subscribe(function(state)
		if state.isLobby or state.localTeleportDataSaysIsLobby then
			self._maid._shutdownUI = nil
			if not self._maid._lobbyUI then
				local screenGui
				self._maid._lobbyUI, screenGui = self:_showSoftShutdownUI("shutdown.lobby.title", "shutdown.lobby.subtitle", true)

				TeleportService:SetTeleportGui(screenGui)
			end
		elseif state.isShuttingDown then
			local screenGui
			self._maid._shutdownUI, screenGui = self:_showSoftShutdownUI("shutdown.restart.title", "shutdown.restart.subtitle")

			TeleportService:SetTeleportGui(screenGui)

			self._maid._lobbyUI = nil
		elseif state.isArrivingAfterShutdown then
			-- Construct
			local maid = self:_showSoftShutdownUI("shutdown.complete.title", "shutdown.complete.subtitle", true)
			self._maid._shutdownUI = maid
			self._maid._lobbyUI = nil

			-- Defer
			task.delay(1, function()
				if self._maid._shutdownUI == maid then
					self._maid._shutdownUI = nil
				end
			end)
		else
			self._maid._shutdownUI = nil
			self._maid._lobbyUI = nil
		end
	end))
end

function SoftShutdownServiceClient:_queryIsArrivingAfterShutdown()
	local data = TeleportService:GetLocalPlayerTeleportData()
	if type(data) == "table" and data.isSoftShutdownArrivingIntoUpdatedServer then
		return true
	else
		return false
	end
end

function SoftShutdownServiceClient:_queryLocalTeleportInfo()
	local data = TeleportService:GetLocalPlayerTeleportData()
	if type(data) == "table" and data.isSoftShutdownReserveServer then
		return true
	else
		return false
	end
end

function SoftShutdownServiceClient:_showSoftShutdownUI(titleKey, subtitleKey, doNotAnimateShow)
	local maid = Maid.new()

	local renderMaid = Maid.new()

	local screenGui = Instance.new("ScreenGui")
	screenGui.Name = "SoftShutdownScreenGui"
	screenGui.ResetOnSpawn = false
	screenGui.AutoLocalize = false
	screenGui.IgnoreGuiInset = true
	screenGui.DisplayOrder = 1e10
	screenGui.Parent = PlayerGuiUtils.getPlayerGui()
	screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
	renderMaid:GiveTask(screenGui)

	local softShutdownUI = SoftShutdownUI.new()
	renderMaid:GiveTask(softShutdownUI)

	maid:GiveTask(function()
		softShutdownUI:Hide()

		task.delay(1, function()
			renderMaid:Destroy()
		end)
	end)

	self:_hideCoreGuiUI(renderMaid, screenGui)

	maid:GivePromise(self._translator:PromiseFormatByKey(subtitleKey)):Then(function(subtitle)
		softShutdownUI:SetSubtitle(subtitle)
	end)

	maid:GivePromise(self._translator:PromiseFormatByKey(titleKey)):Then(function(title)
		softShutdownUI:SetTitle(title)
	end)

	softShutdownUI:Show(doNotAnimateShow)

	softShutdownUI.Gui.Parent = screenGui

	return maid, screenGui
end

function SoftShutdownServiceClient:_hideCoreGuiUI(maid, ignoreScreenGui)
	-- Hide all other ui
	if not UserInputService.ModalEnabled then
		UserInputService.ModalEnabled = true
		maid:GiveTask(function()
			UserInputService.ModalEnabled = false
		end)
	end

	local playerGui = PlayerGuiUtils.getPlayerGui()

	local enabledScreenGuis = {}

	local function handleChild(child)
		if child:IsA("ScreenGui") and child ~= ignoreScreenGui and child.Enabled then
			enabledScreenGuis[child] = child
			child.Enabled = false
		end
	end

	for _, child in pairs(playerGui:GetChildren()) do
		handleChild(child)
	end

	maid:GiveTask(playerGui.ChildAdded:Connect(function(child)
		handleChild(child)
	end))

	maid:GiveTask(playerGui.ChildRemoved:Connect(function(child)
		enabledScreenGuis[child] = nil
	end))

	maid:GiveTask(function()
		for screenGui, _ in pairs(enabledScreenGuis) do
			screenGui.Enabled = true
		end
	end)

	for _, coreGuiType in pairs(DISABLE_CORE_GUI_TYPES) do
		task.spawn(function()
			if StarterGui:GetCoreGuiEnabled(coreGuiType) then
				StarterGui:SetCoreGuiEnabled(coreGuiType, false)

				maid:GiveTask(function()
					StarterGui:SetCoreGuiEnabled(coreGuiType, true)
				end)
			end
		end)
	end
end

function SoftShutdownServiceClient:Destroy()
	self._maid:DoCleaning()
end

return SoftShutdownServiceClient


Prompt:
-- Objects with any dimension thinner than this will be ignored
-- by no-clip checks, which leaves some room for events like doors
-- that close right behind players.

Response: config.NoclipThicknessTolerance = 3.1


Prompt: -- constants

Response:
local CAMERA	= Workspace.CurrentCamera
local PLAYER	= Players.LocalPlayer

local REMOTES	= ReplicatedStorage:WaitForChild("Remotes")
local ITEMS		= ReplicatedStorage:WaitForChild("Items")
local DROPS		= Workspace:WaitForChild("Drops")
local EFFECTS	= Workspace:WaitForChild("Effects")

local OUTLINE_COLOR	= Color3.fromRGB(249, 142, 190)
local OUTLINE_WIDTH	= 0.3

local UPDATE_RANGE	= 400


Prompt: -- This function generates a random secret and stores it in the global variable

Response:
function generateSecret()
	 -- Generate a random number between 1 and 100
	 secret = math.random(100)
end


Prompt:
--!strict
--[[
	Original Author: TacoBellSaucePackets
	Original Source: https://devforum.roblox.com/t/adonis-g-api-usage/477194/4
	Description: This plugin will give a certain temporary permission level to private server owners
	Place this ModuleScript in Adonis_Loader > Config > Plugins and name it "Server-PrivateServerOwnerAdmin"
--]]


Prompt:
-- Version 3
-- Last updated: 31/07/2020

Response:
local Module = {}

DebugEnabled = false

Debris = game:GetService("Debris")

function Module.FracturePart(PartToFracture)
	if PartToFracture then return end -- UNUSED LOL

	local BreakingPointAttachment = PartToFracture:FindFirstChild("BreakingPoint")

	-- Settings
	local Configuration = require(script.Parent.Configuration)

	local DebrisDespawn = false
	local DebrisDespawnDelay = 0
	local WeldDebris = false
	local AnchorDebris = false

	if DebugEnabled then
		local DebugPart = Instance.new("Part")
		DebugPart.Shape = "Ball"
		DebugPart.CanCollide = false
		DebugPart.Anchored = true
		DebugPart.Size = Vector3.new(0.5, 0.5, 0.5)
		DebugPart.Color = Color3.fromRGB(255, 0, 0)
		DebugPart.Position = BreakingPointAttachment.WorldPosition
		DebugPart.Parent = workspace
	end

	local BreakSound = PartToFracture:FindFirstChild("BreakSound")

	if BreakSound then
		local SoundPart = Instance.new("Part")
		SoundPart.Size = Vector3.new(0.2, 0.2, 0.2)
		SoundPart.Position = PartToFracture.Position
		SoundPart.Name = "TemporarySoundEmitter"
		SoundPart.Anchored = true
		SoundPart.CanCollide = false
		SoundPart.Transparency = 1
		local Sound = BreakSound:Clone()
		Sound.Parent = SoundPart
		SoundPart.Parent = workspace
		Sound:Play()
		Debris:AddItem(SoundPart, Sound.PlaybackSpeed)
	end

	if Configuration then
		DebrisDespawn = Configuration.DebrisDespawn
		DebrisDespawnDelay = Configuration.DebrisDespawnDelay
		WeldDebris = Configuration.WeldDebris
		AnchorDebris = Configuration.AnchorDebris
	else
		warn("The 'Configuration' is not a valid member of " .. PartToFracture.Name .. ". Please insert a 'Configuration' with the following values; 'DebrisDespawn' (bool), 'WeldDebris' (bool), 'DebrisDespawnDelay' (number/int)")
	end

	if not BreakingPointAttachment then
		warn("The 'BreakingPoint' attachment is not a valid member of " .. PartToFracture.Name .. ". Please insert an attachment named 'BreakingPoint'")
	end

	local BreakingPointY = BreakingPointAttachment.Position.Y
	local BreakingPointZ = BreakingPointAttachment.Position.Z

	local ShardBottomLeft = Instance.new("WedgePart")
	local ShardBottomRight = Instance.new("WedgePart")
	local ShardTopLeft = Instance.new("WedgePart")
	local ShardTopRight = Instance.new("WedgePart")

	local BreakSound = PartToFracture:FindFirstChild("BreakSound")

	-- Bottom Left
	ShardBottomLeft.Material = PartToFracture.Material
	ShardBottomLeft.Color = PartToFracture.Color
	ShardBottomLeft.Transparency = PartToFracture.Transparency
	ShardBottomLeft.Size = PartToFracture.Size - Vector3.new(0, (PartToFracture.Size.Y / 2) - BreakingPointY, (PartToFracture.Size.Z / 2) + BreakingPointZ)
	local OldSizeY = ShardBottomLeft.Size.Y
	local OldSizeZ = ShardBottomLeft.Size.Z
	ShardBottomLeft.CFrame = PartToFracture.CFrame * CFrame.new(0, BreakingPointY - (ShardBottomLeft.Size.Y / 2), BreakingPointZ + (ShardBottomLeft.Size.Z / 2))
	ShardBottomLeft.CFrame = ShardBottomLeft.CFrame * CFrame.Angles(math.rad(90), 0, 0)
	ShardBottomLeft.Size = Vector3.new(ShardBottomLeft.Size.X, OldSizeZ, OldSizeY)
	local ShardBottomLeft2 = ShardBottomLeft:Clone()
	ShardBottomLeft2.CFrame = ShardBottomLeft2.CFrame * CFrame.Angles(math.rad(180), 0, 0)

	-- Bottom Right
	ShardBottomRight.Material = PartToFracture.Material
	ShardBottomRight.Color = PartToFracture.Color
	ShardBottomRight.Transparency = PartToFracture.Transparency
	ShardBottomRight.Size = PartToFracture.Size - Vector3.new(0, (PartToFracture.Size.Y / 2) + BreakingPointY, (PartToFracture.Size.Z / 2) + BreakingPointZ)
	ShardBottomRight.CFrame = PartToFracture.CFrame * CFrame.new(0, BreakingPointY + (ShardBottomRight.Size.Y / 2), BreakingPointZ + (ShardBottomRight.Size.Z / 2))
	local ShardBottomRight2 = ShardBottomRight:Clone()
	ShardBottomRight2.CFrame = ShardBottomRight2.CFrame * CFrame.Angles(math.rad(180), 0, 0)

	-- Top Left
	ShardTopLeft.Material = PartToFracture.Material
	ShardTopLeft.Color = PartToFracture.Color
	ShardTopLeft.Transparency = PartToFracture.Transparency
	ShardTopLeft.Size = PartToFracture.Size - Vector3.new(0, (PartToFracture.Size.Y / 2) + BreakingPointY, (PartToFracture.Size.Z / 2) - BreakingPointZ)
	local OldSizeY = ShardTopLeft.Size.Y
	local OldSizeZ = ShardTopLeft.Size.Z
	ShardTopLeft.CFrame = PartToFracture.CFrame * CFrame.new(0, BreakingPointY + (ShardTopLeft.Size.Y / 2), BreakingPointZ - (ShardTopLeft.Size.Z / 2))
	ShardTopLeft.CFrame = ShardTopLeft.CFrame * CFrame.Angles(math.rad(90), 0, 0)
	ShardTopLeft.Size = Vector3.new(ShardTopLeft.Size.X, OldSizeZ, OldSizeY)
	local ShardTopLeft2 = ShardTopLeft:Clone()
	ShardTopLeft2.CFrame = ShardTopLeft2.CFrame * CFrame.Angles(math.rad(180), 0, 0)

	-- Top Right
	ShardTopRight.Material = PartToFracture.Material
	ShardTopRight.Color = PartToFracture.Color
	ShardTopRight.Transparency = PartToFracture.Transparency
	ShardTopRight.Size = PartToFracture.Size - Vector3.new(0, (PartToFracture.Size.Y / 2) - BreakingPointY, (PartToFracture.Size.Z / 2) - BreakingPointZ)
	ShardTopRight.CFrame = PartToFracture.CFrame * CFrame.new(0, BreakingPointY - (ShardTopRight.Size.Y / 2), BreakingPointZ - (ShardTopRight.Size.Z / 2))
	local ShardTopRight2 = ShardTopRight:Clone()
	ShardTopRight2.CFrame = ShardTopRight2.CFrame * CFrame.Angles(math.rad(180), 0, 0)

	local ShardDictionary = {ShardBottomLeft, ShardBottomLeft2, ShardBottomRight, ShardBottomRight2, ShardTopLeft, ShardTopLeft2, ShardTopRight, ShardTopRight2}

	local FirstShard = nil
	for Index, Shard in ipairs(ShardDictionary) do
		if not FirstShard then
			FirstShard = Shard
		end
		Shard.Anchored = AnchorDebris
		if not AnchorDebris then
			Shard.Velocity = PartToFracture.Velocity
			Shard.RotVelocity = PartToFracture.RotVelocity
		end
		if WeldDebris and FirstShard then
			local Weld = Instance.new("WeldConstraint")
			Weld.Name = "ShardWeld"
			Weld.Part0 = FirstShard
			Weld.Part1 = Shard
			Weld.Parent = Shard
		end
		Shard.Name = "Shard"
		Shard.Parent = PartToFracture.Parent
		if DebrisDespawn then
			Debris:AddItem(Shard, DebrisDespawnDelay)
		end
	end
	PartToFracture:Destroy()

end

return Module


Prompt:
--[[
	Runs all test and reports the results using the given test reporter.

	If no reporter is specified, a reasonable default is provided.

	This function demonstrates the expected workflow with this testing system:
	1. Locate test modules
	2. Generate test plan
	3. Run test plan
	4. Report test results

	This means we could hypothetically present a GUI to the developer that shows
	the test plan before we execute it, allowing them to toggle specific tests
	before they're run, but after they've been identified!
]]

Response:
function TestBootstrap:run(roots, reporter, otherOptions)
	reporter = reporter or TextReporter

	otherOptions = otherOptions or {}
	local showTimingInfo = otherOptions["showTimingInfo"] or false
	local runTestsByPath = {}
	local testNamePattern = _G["TESTEZ_TEST_NAME_PATTERN"]
	local testPathPattern = _G["TESTEZ_TEST_PATH_PATTERN"]
	local testPathIgnorePatterns = _G["TESTEZ_TEST_PATH_IGNORE_PATTERNS"]
	local extraEnvironment = otherOptions["extraEnvironment"] or {}

	for testPath in string.gmatch(_G["TESTEZ_RUN_TESTS_PATH"] or "", "([^,]+)") do
		table.insert(runTestsByPath, testPath)
	end

	if type(roots) ~= "table" then
		error(("Bad argument #1 to TestBootstrap:run. Expected table, got %s"):format(typeof(roots)), 2)
	end

	local startTime = tick()

	local modules = {}
	for _, subRoot in ipairs(roots) do
		local newModules = self:getModules(subRoot)

		for _, newModule in ipairs(newModules) do
			table.insert(modules, newModule)
		end
	end

	local afterModules = tick()

	local planArgs = {
		runTestsByPath = runTestsByPath,
		testNamePattern = testNamePattern,
		testPathPattern = testPathPattern,
		testPathIgnorePatterns = testPathIgnorePatterns,
		extraEnvironment = extraEnvironment,
	}

	local plan = TestPlanner.createPlan(modules, planArgs)

	local afterPlan = tick()

	local results = TestRunner.runPlan(plan)
	local afterRun = tick()

	reporter.report(results)
	local afterReport = tick()

	if showTimingInfo then
		local timing = {
			("Took %f seconds to locate test modules"):format(afterModules - startTime),
			("Took %f seconds to create test plan"):format(afterPlan - afterModules),
			("Took %f seconds to run tests"):format(afterRun - afterPlan),
			("Took %f seconds to report tests"):format(afterReport - afterRun),
		}

		print(table.concat(timing, "\n"))
	end

	return results
end

return TestBootstrap


Prompt: -- Local Functions

Response:
local function FindAndSaveSpawns(object)
	for _, child in pairs(object:GetChildren()) do
		if child:IsA("SpawnLocation") then
			table.insert(Spawns, child)
		end
		FindAndSaveSpawns(child)
	end
end


Prompt:
--[[
	if time>nextsound then
		playsound(time)
	end
--]]

Response:
	if time>nextjump then
		nextjump=time+7+(math.random()*5)
		Humanoid.Jump=true
	end
	animate(time)
end

wait(4)
sp:Destroy() --Rest In Pizza


Prompt: -- Set the DisplayName to the player's display name

Response:
local displayNameLabel = displayName
displayNameLabel.Text = player.DisplayName
displaynameprofile.Text = player.DisplayName
usernameprofile.Text = "@"..player.Name

local TextLabel = script.Parent.Parent.Parent.AppManager["App Store"].Date
local TextLabelSht = script.Parent.Parent.Parent.ShutterFrame.Date

local function getCurrentDate()
	local currentDate = os.date("*t")
	local day = currentDate.day
	local month = os.date("%B")
	local formattedDate = string.format("%d %s", day, month)
	return formattedDate
end


Prompt: --sounds

Response:
soundsdisabledfromrefit = {""}
local boltpsound = Instance.new("Sound", handle)
boltpsound.SoundId = "rbxassetid://456267525"
boltpsound.Volume = 0.8
boltpsound.Name = "boltpsound"
boltpsound.RollOffMinDistance = 1
boltpsound.RollOffMaxDistance = 300
local shellsound = Instance.new("Sound", handle)
shellsound.SoundId = "rbxassetid://2712533735"
shellsound.Volume = 0.5
shellsound.Name = "shellsound"
shellsound.RollOffMinDistance = 1
shellsound.RollOffMaxDistance = 300
local magoutsound = Instance.new("Sound", handle)
magoutsound.SoundId = "rbxassetid://268445237"
magoutsound.Volume = 0.8
magoutsound.Name = "magoutsound"
magoutsound.RollOffMinDistance = 1
magoutsound.RollOffMaxDistance = 300
local maginsound = Instance.new("Sound", handle)
maginsound.SoundId = "rbxassetid://2546411966"
maginsound.Volume = 0.8
maginsound.Name = "magoutsound"
maginsound.RollOffMinDistance = 1
maginsound.RollOffMaxDistance = 300
local magreachsound = Instance.new("Sound", handle)
magreachsound.SoundId = "rbxassetid://7329457810"
magreachsound.Volume = 3
magreachsound.Name = "magreachsound"
magreachsound.RollOffMinDistance = 1
magreachsound.RollOffMaxDistance = 300
local shootsound = Instance.new("Sound", handle)
shootsound.SoundId = "rbxassetid://6530496628"
shootsound.Volume = 1.5
shootsound.Name = "shootsound"
shootsound.RollOffMinDistance = 1
shootsound.RollOffMaxDistance = 300
concretesoundtick = tick()
local hitconcrete = Instance.new("Sound", handle)
hitconcrete.SoundId = "rbxassetid://6962153997"
hitconcrete.Volume = 1
hitconcrete.Name = "hitcsound"
hitconcrete.RollOffMinDistance = 1
hitconcrete.RollOffMaxDistance = 200
hitcsounds = {"6962154328", "6962154691", "6962155378", "6962153997"}

function playsound(sound, timep, playbacks, volume)
	pcall(function() -- so the script wont die if someone renames sounds/attempts to play something that isnt a sound
		sound.TimePosition = timep
		sound.PlaybackSpeed = playbacks
		sound.Volume = volume
		sound:Play()
	end)
end


Prompt: --// Damage Settings

Response:
	Damage = 26;
	HeadDamage = 100;


Prompt: -- [[ Update ]]--

Response:
function OrbitalCamera:Update(dt)
	local now = tick()
	local timeDelta = (now - self.lastUpdate)
	local userPanningTheCamera = (self.UserPanningTheCamera == true)
	local camera = 	workspace.CurrentCamera
	local newCameraCFrame = camera.CFrame
	local newCameraFocus = camera.Focus
	local player = PlayersService.LocalPlayer
	local cameraSubject = camera and camera.CameraSubject
	local isInVehicle = cameraSubject and cameraSubject:IsA('VehicleSeat')
	local isOnASkateboard = cameraSubject and cameraSubject:IsA('SkateboardPlatform')

	if self.lastUpdate == nil or timeDelta > 1 then
		self.lastCameraTransform = nil
	end

	if self.lastUpdate then
		local gamepadRotation = self:UpdateGamepad()

		if self:ShouldUseVRRotation() then
			self.RotateInput = self.RotateInput + self:GetVRRotationInput()
		else
			-- Cap out the delta to 0.1 so we don't get some crazy things when we re-resume from
			local delta = math.min(0.1, timeDelta)

			if gamepadRotation ~= ZERO_VECTOR2 then
				userPanningTheCamera = true
				self.rotateInput = self.rotateInput + (gamepadRotation * delta)
			end

			local angle = 0
			if not (isInVehicle or isOnASkateboard) then
				angle = angle + (self.TurningLeft and -120 or 0)
				angle = angle + (self.TurningRight and 120 or 0)
			end

			if angle ~= 0 then
				self.rotateInput = self.rotateInput +  Vector2.new(math.rad(angle * delta), 0)
				userPanningTheCamera = true
			end
		end
	end

	-- Reset tween speed if user is panning
	if userPanningTheCamera then
		self.lastUserPanCamera = tick()
	end

	local subjectPosition = self:GetSubjectPosition()

	if subjectPosition and player and camera then

		-- Process any dollying being done by gamepad
		-- TODO: Move this
		if self.gamepadDollySpeedMultiplier ~= 1 then
			self:SetCameraToSubjectDistance(self.currentSubjectDistance * self.gamepadDollySpeedMultiplier)
		end

		local VREnabled = VRService.VREnabled
		newCameraFocus = VREnabled and self:GetVRFocus(subjectPosition, timeDelta) or CFrame.new(subjectPosition)

		local cameraFocusP = newCameraFocus.p
		if VREnabled and not self:IsInFirstPerson() then
			local cameraHeight = self:GetCameraHeight()
			local vecToSubject = (subjectPosition - camera.CFrame.p)
			local distToSubject = vecToSubject.magnitude

			-- Only move the camera if it exceeded a maximum distance to the subject in VR
			if distToSubject > self.currentSubjectDistance or self.rotateInput.x ~= 0 then
				local desiredDist = math.min(distToSubject, self.currentSubjectDistance)

				-- Note that CalculateNewLookVector is overridden from BaseCamera
				vecToSubject = self:CalculateNewLookVector(vecToSubject.unit * X1_Y0_Z1, Vector2.new(self.rotateInput.x, 0)) * desiredDist

				local newPos = cameraFocusP - vecToSubject
				local desiredLookDir = camera.CFrame.lookVector
				if self.rotateInput.x ~= 0 then
					desiredLookDir = vecToSubject
				end
				local lookAt = Vector3.new(newPos.x + desiredLookDir.x, newPos.y, newPos.z + desiredLookDir.z)
				self.RotateInput = ZERO_VECTOR2

				newCameraCFrame = CFrame.new(newPos, lookAt) + Vector3.new(0, cameraHeight, 0)
			end
		else
			-- self.RotateInput is a Vector2 of mouse movement deltas since last update
			self.curAzimuthRad = self.curAzimuthRad - self.rotateInput.x

			if self.useAzimuthLimits then
				self.curAzimuthRad = Util.Clamp(self.minAzimuthAbsoluteRad, self.maxAzimuthAbsoluteRad, self.curAzimuthRad)
			else
				self.curAzimuthRad = (self.curAzimuthRad ~= 0) and (math.sign(self.curAzimuthRad) * (math.abs(self.curAzimuthRad) % TAU)) or 0
			end

			self.curElevationRad = Util.Clamp(self.minElevationRad, self.maxElevationRad, self.curElevationRad + self.rotateInput.y)

			local cameraPosVector = self.currentSubjectDistance * ( CFrame.fromEulerAnglesYXZ( -self.curElevationRad, self.curAzimuthRad, 0 ) * UNIT_Z )
			local camPos = subjectPosition + cameraPosVector

			newCameraCFrame = CFrame.new(camPos, subjectPosition)

			self.rotateInput = ZERO_VECTOR2
		end

		self.lastCameraTransform = newCameraCFrame
		self.lastCameraFocus = newCameraFocus
		if (isInVehicle or isOnASkateboard) and cameraSubject:IsA('BasePart') then
			self.lastSubjectCFrame = cameraSubject.CFrame
		else
			self.lastSubjectCFrame = nil
		end
	end

	self.lastUpdate = now
	return newCameraCFrame, newCameraFocus
end

return OrbitalCamera


Prompt:
--[=[
	Gets an event that will fire off whenever something is stored at this level
	@return Signal
]=]

Response:
function DataStoreStage:GetTopLevelDataStoredSignal()
	if self._topLevelStoreSignal then
		return self._topLevelStoreSignal
	end

	self._topLevelStoreSignal = Signal.new()
	self._maid:GiveTask(self._topLevelStoreSignal)
	return self._topLevelStoreSignal
end


Prompt: -- Events to listen to any player inputs

Response:
Seat1.Changed:connect(OnSeatsChange)
Seat2.Changed:connect(OnSeatsChange)


Prompt: --Dont touch

Response:
local car = script.Parent.Bike.Value
local UserInputService = game:GetService("UserInputService")
local _InControls = false
local wheelie = false
local WheelieInput = 0
local KeyWhel = false

function DealWithInput(input)
	if (UserInputService:GetFocusedTextBox()==nil) and not _InControls then
		if (input.KeyCode == Enum.KeyCode[WheelieButton]) and input.UserInputState == Enum.UserInputState.Begin then
			KeyWhel = true
			WheelieInput = 1
		elseif (input.KeyCode == Enum.KeyCode[WheelieButton]) and input.UserInputState == Enum.UserInputState.End then
			KeyWhel = false
			WheelieInput = 0
		end

		if input.UserInputType.Name:find("Gamepad") then
			--Gamepad Wheelie
			if input.KeyCode == Enum.KeyCode.Thumbstick1 then
				if input.Position.Y>= 0 then
					local cDZone = math.min(.99,DeadZone/100)
					if math.abs(input.Position.Y)>cDZone then
						KeyWhel = false
						WheelieInput = (input.Position.Y-cDZone)/(1-cDZone)
					else
						KeyWhel = false
						WheelieInput = 0
					end
				else
					local cDZone = math.min(.99,DeadZone/100)
					if math.abs(input.Position.Y)>cDZone then
						KeyWhel = false
						WheelieInput = (input.Position.Y+cDZone)/(1-cDZone)
					else
						KeyWhel = false
						WheelieInput = 0
					end
				end
			end
		end
	end
end

UserInputService.InputBegan:connect(DealWithInput)
UserInputService.InputChanged:connect(DealWithInput)
UserInputService.InputEnded:connect(DealWithInput)

if not car.Body.Weight:FindFirstChild("wheelie") then
	gyro = Instance.new("BodyGyro")
	gyro.Name = "wheelie"
	gyro.Parent = car.Body.Weight
else
	gyro = car.Body.Weight.wheelie
end

car.Body.Weight:WaitForChild("wheelie")

car.DriveSeat.ChildRemoved:connect(function(child)
	gyro.D = 0
	gyro.MaxTorque = Vector3.new(0,0,0)
	gyro.P = 0
	gyro.cframe = CFrame.new(car.Body.Weight.CFrame.p,car.Body.Weight.CFrame.p+car.Body.Weight.CFrame.lookVector)*CFrame.Angles(0,0,0)
end)

WheelieDivider = math.max(1,WheelieDivider)

StoppieDivider = math.max(1,StoppieDivider)

while wait(clock) do
	_InControls = script.Parent.ControlsOpen.Value

	if KeyWhel then
		WheelieOutput = -WheelieInput*(script.Parent.Values.Throttle.Value-script.Parent.Values.Brake.Value)
	else
		WheelieOutput = WheelieInput
	end

	if script.Parent.Values.Throttle.Value > .1 then
		gyro.D = WheelieD*(-(math.min(WheelieOutput,0))*script.Parent.Values.Throttle.Value)
		gyro.MaxTorque = Vector3.new(WheelieTq*(-(math.min(WheelieOutput,0))*script.Parent.Values.Throttle.Value),0,0)
		gyro.P = WheelieP*(-(math.min(WheelieOutput,0))*script.Parent.Values.Throttle.Value)
		gyro.cframe = CFrame.new(car.Body.Weight.CFrame.p,car.Body.Weight.CFrame.p+car.Body.Weight.CFrame.lookVector)*CFrame.Angles((-(math.min(WheelieOutput,0)*WheelieMultiplier/WheelieDivider)*script.Parent.Values.Throttle.Value)-car.Body.Weight.CFrame.lookVector.Y,0,0)
	elseif script.Parent.Values.Brake.Value > .1 then
		gyro.D = StoppieD*((math.min(-WheelieOutput,0))*script.Parent.Values.Brake.Value)
		gyro.MaxTorque = Vector3.new(StoppieTq*((math.min(-WheelieOutput,0))*script.Parent.Values.Brake.Value),0,0)
		gyro.P = StoppieP*((math.min(-WheelieOutput,0))*script.Parent.Values.Brake.Value)
		gyro.cframe = CFrame.new(car.Body.Weight.CFrame.p,car.Body.Weight.CFrame.p+car.Body.Weight.CFrame.lookVector)*CFrame.Angles(((math.min(-WheelieOutput,0)*StoppieMultiplier/StoppieDivider)*script.Parent.Values.Brake.Value)-car.Body.Weight.CFrame.lookVector.Y,0,0)
	else
		gyro.D = 0
		gyro.MaxTorque = Vector3.new(0,0,0)
		gyro.P = 0
		gyro.cframe = CFrame.new(car.Body.Weight.CFrame.p,car.Body.Weight.CFrame.p+car.Body.Weight.CFrame.lookVector)*CFrame.Angles(0,0,0)
	end

end


Prompt:
--[=[
	Converts an arbitrary value to a LinearValue if Roblox has not defined this value
	for multiplication and addition.

	@param value T
	@return LinearValue<T> | T
]=]

Response:
function SpringUtils.toLinearIfNeeded(value)
	if typeof(value) == "Color3" then
		return LinearValue.new(Color3.new, {value.r, value.g, value.b})
	elseif typeof(value) == "UDim2" then
		return LinearValue.new(UDim2.new, {value.X.Scale, value.X.Offset, value.Y.Scale, value.Y.Offset})
	elseif typeof(value) == "UDim" then
		return LinearValue.new(UDim.new, {value.scale, value.offset})
	else
		return value
	end
end


Prompt: --// All global vars will be wiped/replaced except script

Response:
return function(data)
	local gui = script.Parent.Parent--client.UI.Prepare(script.Parent.Parent)
	local frame = gui.Frame
	local frame2 = frame.Frame
	local msg = frame2.Message
	local ttl = frame2.Title

	local gIndex = data.gIndex
	local gTable = data.gTable

	local title = data.Title
	local message = data.Message
	local scroll = data.Scroll
	local tim = data.Time

	local gone = false

	if not data.Message or not data.Title then gTable:Destroy() end

	ttl.Text = title
	msg.Text = message
	ttl.TextTransparency = 1
	msg.TextTransparency = 1
	ttl.TextStrokeTransparency = 1
	msg.TextStrokeTransparency = 1
	frame.BackgroundTransparency = 1

	local fadeSteps = 10
	local blurSize = 10
	local textFade = 0.1
	local strokeFade = 0.5
	local frameFade = 0.3

	local blurStep = blurSize/fadeSteps
	local frameStep = frameFade/fadeSteps
	local textStep = 0.1
	local strokeStep = 0.1

	local function fadeIn()
		gTable:Ready()
		for i = 1,fadeSteps do
			if msg.TextTransparency>textFade then
				msg.TextTransparency = msg.TextTransparency-textStep
				ttl.TextTransparency = ttl.TextTransparency-textStep
			end
			if msg.TextStrokeTransparency>strokeFade then
				msg.TextStrokeTransparency = msg.TextStrokeTransparency-strokeStep
				ttl.TextStrokeTransparency = ttl.TextStrokeTransparency-strokeStep
			end
			if frame.BackgroundTransparency>frameFade then
				frame.BackgroundTransparency = frame.BackgroundTransparency-frameStep
				frame2.BackgroundTransparency = frame.BackgroundTransparency
			end
			service.Wait("Stepped")
		end
	end

	local function fadeOut()
		if not gone then
			gone = true
			for i = 1,fadeSteps do
				if msg.TextTransparency<1 then
					msg.TextTransparency = msg.TextTransparency+textStep
					ttl.TextTransparency = ttl.TextTransparency+textStep
				end
				if msg.TextStrokeTransparency<1 then
					msg.TextStrokeTransparency = msg.TextStrokeTransparency+strokeStep
					ttl.TextStrokeTransparency = ttl.TextStrokeTransparency+strokeStep
				end
				if frame.BackgroundTransparency<1 then
					frame.BackgroundTransparency = frame.BackgroundTransparency+frameStep
					frame2.BackgroundTransparency = frame.BackgroundTransparency
				end
				service.Wait("Stepped")
			end
			service.UnWrap(gui):Destroy()
		end
	end

	gTable.CustomDestroy = function()
		fadeOut()
	end

	fadeIn()
	if not tim then
		local _,time = message:gsub(" ","")
		time = math.clamp(time/2,4,11)+1
		wait(time)
	else
		wait(tim)
	end
	if not gone then
		fadeOut()
	end
end


Prompt: -- Dont touch anything here

Response:
local PGui = game.Players.LocalPlayer:WaitForChild("PlayerGui")

local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("TopbarEnabled",false)

repeat wait() until script.Parent.Parent == game.Players.LocalPlayer:WaitForChild("PlayerGui")

while wait() do
	local Load = game:GetService("ContentProvider").RequestQueueSize
	print('Loading game ('..Load..')')
	if Load == 0 then
		wait(3)
		script.Parent.BackGround.LoadIcon.Visible = false
		script.Parent.BackGround.Text.LocalScript:Destroy()
		script.Parent.BackGround.Text.Text = "Game Loaded!"
		for i=1, 100 do
			script.Parent.BackGround.BackgroundTransparency = i/100
			script.Parent.BackGround.Text.TextTransparency = i/100
			script.Parent.TopBar.BackgroundTransparency = i/100
			wait(.01)
		end
		local StarterGui = game:GetService("StarterGui")
        StarterGui:SetCore("TopbarEnabled",true)
		script.Parent:Destroy()
		break
	end
end


Prompt: -- Function to handle key release

Response:
local function handleKeyRelease(input)
	if input.KeyCode == Enum.KeyCode.LeftShift then
		setWalkspeed(defaultWalkspeed)
	end
end


Prompt:
--made by Bertox
--lul

Response:
script.Parent.Parent.Parent.Parent.DriveSeat.Changed:connect(function()
	if script.Parent.Parent.Parent.Parent.DriveSeat.Occupant ~= nil then
		script.Parent.Transparency = 0
	elseif script.Parent.Parent.Parent.Parent.DriveSeat.Occupant == nil then
		script.Parent.Transparency = 1
	end
end)


Prompt:
--[=[
	Solving for angle across from c

	@param a number
	@param b number
	@param c number
	@return number? -- Returns nil if this cannot be solved for
]=]

Response:
function Math.lawOfCosines(a: number, b: number, c: number): number?
	local l = (a*a + b*b - c*c) / (2 * a * b)
	local angle = math.acos(l)
	if angle ~= angle then
		return nil
	end
	return angle
end


Response:
function DoorClose()
	if Shaft00.MetalDoor.CanCollide == false then
		Shaft00.MetalDoor.CanCollide = true
		while Shaft00.MetalDoor.Transparency > 0.0 do
			Shaft00.MetalDoor.Transparency = Shaft00.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft01.MetalDoor.CanCollide == false then
		Shaft01.MetalDoor.CanCollide = true
		while Shaft01.MetalDoor.Transparency > 0.0 do
			Shaft01.MetalDoor.Transparency = Shaft01.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft02.MetalDoor.CanCollide == false then
		Shaft02.MetalDoor.CanCollide = true
		while Shaft02.MetalDoor.Transparency > 0.0 do
			Shaft02.MetalDoor.Transparency = Shaft02.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft03.MetalDoor.CanCollide == false then
		Shaft03.MetalDoor.CanCollide = true
		while Shaft03.MetalDoor.Transparency > 0.0 do
			Shaft03.MetalDoor.Transparency = Shaft03.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft04.MetalDoor.CanCollide == false then
		Shaft04.MetalDoor.CanCollide = true
		while Shaft04.MetalDoor.Transparency > 0.0 do
			Shaft04.MetalDoor.Transparency = Shaft04.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft05.MetalDoor.CanCollide == false then
		Shaft05.MetalDoor.CanCollide = true
		while Shaft05.MetalDoor.Transparency > 0.0 do
			Shaft05.MetalDoor.Transparency = Shaft05.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft06.MetalDoor.CanCollide == false then
		Shaft06.MetalDoor.CanCollide = true
		while Shaft06.MetalDoor.Transparency > 0.0 do
			Shaft06.MetalDoor.Transparency = Shaft06.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft07.MetalDoor.CanCollide == false then
		Shaft07.MetalDoor.CanCollide = true
		while Shaft07.MetalDoor.Transparency > 0.0 do
			Shaft07.MetalDoor.Transparency = Shaft07.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft08.MetalDoor.CanCollide == false then
		Shaft08.MetalDoor.CanCollide = true
		while Shaft08.MetalDoor.Transparency > 0.0 do
			Shaft08.MetalDoor.Transparency = Shaft08.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft09.MetalDoor.CanCollide == false then
		Shaft09.MetalDoor.CanCollide = true
		while Shaft09.MetalDoor.Transparency > 0.0 do
			Shaft09.MetalDoor.Transparency = Shaft09.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft10.MetalDoor.CanCollide == false then
		Shaft10.MetalDoor.CanCollide = true
		while Shaft10.MetalDoor.Transparency > 0.0 do
			Shaft10.MetalDoor.Transparency = Shaft10.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft11.MetalDoor.CanCollide == false then
		Shaft11.MetalDoor.CanCollide = true
		while Shaft11.MetalDoor.Transparency > 0.0 do
			Shaft11.MetalDoor.Transparency = Shaft11.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft12.MetalDoor.CanCollide == false then
		Shaft12.MetalDoor.CanCollide = true
		while Shaft12.MetalDoor.Transparency > 0.0 do
			Shaft12.MetalDoor.Transparency = Shaft12.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
	if Shaft13.MetalDoor.CanCollide == false then
		Shaft13.MetalDoor.CanCollide = true
		while Shaft13.MetalDoor.Transparency > 0.0 do
			Shaft13.MetalDoor.Transparency = Shaft13.MetalDoor.Transparency - .1
			wait(0.000001)
		end
	end
end

function onClicked()
DoorClose()

Car.BodyVelocity.velocity = Vector3.new(0, 20, 0)	--Change 10 to change the speed.
end
script.Parent.MouseButton1Click:connect(onClicked)

script.Parent.MouseButton1Click:connect(function()
	if clicker == true
		then clicker = false
	else
		return

	end
end)

Car.Touched:connect(function(otherPart)
	if otherPart == Elevator.Floors.F14
		then StopE() DoorOpen()
	end
end)

function StopE()
 Car.BodyVelocity.velocity = Vector3.new(0, 0, 0)
 Car.BodyPosition.position = Elevator.Floors.F14.Position
	clicker = true
end

function DoorOpen()
	while Shaft13.MetalDoor.Transparency < 1.0 do
	Shaft13.MetalDoor.Transparency = Shaft13.MetalDoor.Transparency + .1
	wait(0.000001)
	end
	Shaft13.MetalDoor.CanCollide = false
end


Prompt: --[[Leaning]]

Response:
--
Tune.LeanSpeed				= .05 	-- How quickly the the bike will lean, .01 being slow, 1 being almost instantly
Tune.LeanProgressiveness	= 30 	-- How much steering is kept at higher speeds, a lower number is less steering, a higher number is more steering
Tune.MaxLean				= 55 	-- Maximum lean angle in degrees

Tune.LeanD			= 90 		-- Dampening of the lean
Tune.LeanMaxTorque	= 500 		-- Force of the lean
Tune.LeanP			= 300 		-- Aggressiveness of the lean


Prompt: --[[Wheel Alignment]]

Response:
	--[Don't physically apply alignment to wheels]
	--[Values are in degrees]
	Tune.FCamber		= -10
	Tune.RCamber		= -10
	Tune.FToe			= 0
	Tune.RToe			= 0


Prompt: -- Issue with play solo? (F6)

Response:
while not UserInputService.KeyboardEnabled and not UserInputService.TouchEnabled do
	wait()
end


Prompt:
--	lightOn(a)
--	wait(0.15)
--
--	lightOff(a)
--	wait(0.1)

Response:
	lightOn(b)
	wait(0.2)

	lightOff(b)
	wait(0.2)


Response:
game.Workspace.rightpalette.l13.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l23.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l14.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l24.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)

game.Workspace.post1.Light.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.post2.Light.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)

wait(0.15)


Prompt: --Tune

Response:
local _Select = "Slicks" --(AllSeason, Slicks, SemiSlicks, AllTerrain, DragRadials, Custom) Caps and space sensitive

local _Custom = {

	TireWearOn         = true    ,

    --Friction and Wear
    FWearSpeed        = 0    , --How fast your tires will degrade (Front)
    FTargetFriction    = .3   , --Friction in optimal conditions (Front)
    FMinFriction     = 0.3   , --Friction in worst conditions (Front)

    RWearSpeed        = 0    , --How fast your tires will degrade (Rear)
    RTargetFriction    = .3  ,  --Friction in optimal conditions (Rear)
    RMinFriction    = 0.3    , --Friction in worst conditions (Rear)

    --Tire Slip
    TCSOffRatio        = 1     , --How much optimal grip your car will lose with TCS off, set to 1 if you dont want any losses.
    WheelLockRatio    = 1/6    , --How much grip your car will lose when locking the wheels
    WheelspinRatio    = 1/1.2  , --How much grip your car will lose when spinning the wheels

    --Wheel Properties
    FFrictionWeight    = 2      , --Ratio of friction between wheel and terrain, the higher it is, the more true to target friction your grip wil be (Front) (PGS)
    RFrictionWeight    = 2      , --Ratio of friction between wheel and terrain, the higher it is, the more true to target friction your grip wil be (Rear) (PGS)
    FLgcyFrWeight    = 0        , --Ratio of friction between wheel and terrain, the higher it is, the more true to target friction your grip wil be (Front)
    RLgcyFrWeight    = 0        , --Ratio of friction between wheel and terrain, the higher it is, the more true to target friction your grip wil be (Rear)

    FElasticity        = 0     , --How much your wheel will bounce (Front) (PGS)
    RElasticity        = 0     , --How much your wheel will bounce (Rear) (PGS)
    FLgcyElasticity    = 0     , --How much your wheel will bounce (Front)
    RLgcyElasticity    = 0     , --How much your wheel will bounce (Rear)

    FElastWeight    = 1      , --Ratio of elasticity between wheel and terrain, the higher it is, the more true to the wheel elasticity it will be (Front) (PGS)
    RElastWeight    = 1      , --Ratio of elasticity between wheel and terrain, the higher it is, the more true to the wheel elasticity it will be (Rear) (PGS)
    FLgcyElWeight    = 10    , --Ratio of elasticity between wheel and terrain, the higher it is, the more true to the wheel elasticity it will be (Front)
    RLgcyElWeight    = 10    , --Ratio of elasticity between wheel and terrain, the higher it is, the more true to the wheel elasticity it will be (Rear)

    --Wear Regen
    RegenSpeed        = 0		, --Don't change this
}

local _AllSeason = {

	TireWearOn         = true    ,

    --Friction and Wear
    FWearSpeed        = .2    , --Don't change this
    FTargetFriction    = .6   , -- .58 to .63
    FMinFriction     = 0.35   , --Don't change this

    RWearSpeed        = .2    , --Don't change this
    RTargetFriction    = .6  , -- .58 to .63
    RMinFriction    = 0.35    , --Don't change this

    --Tire Slip
    TCSOffRatio        = 1     , --Don't change this
    WheelLockRatio    = 1/6    , --Don't change this
    WheelspinRatio    = 1/1.2  ,  --Don't change this

    --Wheel Properties
    FFrictionWeight    = 2      , --Don't change this
    RFrictionWeight    = 2      , --Don't change this
    FLgcyFrWeight    = 0        , --Don't change this
    RLgcyFrWeight    = 0        , --Don't change this

    FElasticity        = 0     , --Don't change this
    RElasticity        = 0     , --Don't change this
    FLgcyElasticity    = 0     , --Don't change this
    RLgcyElasticity    = 0     , --Don't change this

    FElastWeight    = 1      , --Don't change this
    RElastWeight    = 1      , --Don't change this
    FLgcyElWeight    = 10    , --Don't change this
    RLgcyElWeight    = 10    , --Don't change this

    --Wear Regen
    RegenSpeed        = 3.6		, --Don't change this
}

local _Slicks = {

	TireWearOn         = true    ,

    --Friction and Wear
    FWearSpeed        = .6    , --Don't change this
    FTargetFriction    = .93   , -- .88 to .93
    FMinFriction     = 0.35   , --Don't change this

    RWearSpeed        = .6    , --Don't change this
    RTargetFriction    = .93  , -- .88 to .93
    RMinFriction    = 0.35    , --Don't change this

    --Tire Slip
    TCSOffRatio        = 1     , --Don't change this
    WheelLockRatio    = 1/6    , --Don't change this
    WheelspinRatio    = 1/1.2  ,  --Don't change this

    --Wheel Properties
    FFrictionWeight    = 0.6      , --Don't change this
    RFrictionWeight    = 0.6      , --Don't change this
    FLgcyFrWeight    = 0        , --Don't change this
    RLgcyFrWeight    = 0        , --Don't change this

    FElasticity        = 0     , --Don't change this
    RElasticity        = 0     , --Don't change this
    FLgcyElasticity    = 0     , --Don't change this
    RLgcyElasticity    = 0     , --Don't change this

    FElastWeight    = 1      , --Don't change this
    RElastWeight    = 1      , --Don't change this
    FLgcyElWeight    = 10    , --Don't change this
    RLgcyElWeight    = 10    , --Don't change this

    --Wear Regen
    RegenSpeed        = 3.6		, --Don't change this
}

local _SemiSlicks = {

	TireWearOn         = true    ,

    --Friction and Wear
    FWearSpeed        = .5    , --Don't change this
    FTargetFriction    = .78   , -- .73 to .78
    FMinFriction     = 0.35   , --Don't change this

    RWearSpeed        = .5    , --Don't change this
    RTargetFriction    = .78  , -- .73 to .78
    RMinFriction    = 0.35    , --Don't change this

    --Tire Slip
    TCSOffRatio        = 1     , --Don't change this
    WheelLockRatio    = 1/6    , --Don't change this
    WheelspinRatio    = 1/1.2  ,  --Don't change this

    --Wheel Properties
    FFrictionWeight    = 0.6      , --Don't change this
    RFrictionWeight    = 0.6      , --Don't change this
    FLgcyFrWeight    = 0        , --Don't change this
    RLgcyFrWeight    = 0        , --Don't change this

    FElasticity        = 0     , --Don't change this
    RElasticity        = 0     , --Don't change this
    FLgcyElasticity    = 0     , --Don't change this
    RLgcyElasticity    = 0     , --Don't change this

    FElastWeight    = 1      , --Don't change this
    RElastWeight    = 1      , --Don't change this
    FLgcyElWeight    = 10    , --Don't change this
    RLgcyElWeight    = 10    , --Don't change this

    --Wear Regen
    RegenSpeed        = 3.6		, --Don't change this
}

local _AllTerrain = {

	TireWearOn         = true    ,

    --Friction and Wear
    FWearSpeed        = .3    , --Don't change this
    FTargetFriction    = .5   , -- .48 to .53
    FMinFriction     = 0.35   , --Don't change this

    RWearSpeed        = .3    , --Don't change this
    RTargetFriction    = .5  , -- .48 to .53
    RMinFriction    = 0.35    , --Don't change this

    --Tire Slip
    TCSOffRatio        = 1     , --Don't change this
    WheelLockRatio    = 1/6    , --Don't change this
    WheelspinRatio    = 1/1.2  ,  --Don't change this

    --Wheel Properties
    FFrictionWeight    = 10      , --Don't change this
    RFrictionWeight    = 10      , --Don't change this
    FLgcyFrWeight    = 0        , --Don't change this
    RLgcyFrWeight    = 0        , --Don't change this

    FElasticity        = 0     , --Don't change this
    RElasticity        = 0     , --Don't change this
    FLgcyElasticity    = 0     , --Don't change this
    RLgcyElasticity    = 0     , --Don't change this

    FElastWeight    = 1      , --Don't change this
    RElastWeight    = 1      , --Don't change this
    FLgcyElWeight    = 10    , --Don't change this
    RLgcyElWeight    = 10    , --Don't change this

    --Wear Regen
    RegenSpeed        = 3.6		, --Don't change this
}

local _DragRadials = {

	TireWearOn         = true    ,

    --Friction and Wear
    FWearSpeed        = 30    , --Don't change this
    FTargetFriction    = 1.2   , -- 1.18 to 1.23
    FMinFriction     = 0.35   , --Don't change this

    RWearSpeed        = 30    , --Don't change this
    RTargetFriction    = 1.2  , -- 1.18 to 1.23
    RMinFriction    = 0.35    , --Don't change this

    --Tire Slip
    TCSOffRatio        = 1     , --Don't change this
    WheelLockRatio    = 1/6    , --Don't change this
    WheelspinRatio    = 1/1.2  ,  --Don't change this

    --Wheel Properties
    FFrictionWeight    = 1      , --Don't change this
    RFrictionWeight    = 1      , --Don't change this
    FLgcyFrWeight    = 0        , --Don't change this
    RLgcyFrWeight    = 0        , --Don't change this

    FElasticity        = 0     , --Don't change this
    RElasticity        = 0     , --Don't change this
    FLgcyElasticity    = 0     , --Don't change this
    RLgcyElasticity    = 0     , --Don't change this

    FElastWeight    = 1      , --Don't change this
    RElastWeight    = 1      , --Don't change this
    FLgcyElWeight    = 10    , --Don't change this
    RLgcyElWeight    = 10    , --Don't change this

    --Wear Regen
    RegenSpeed        = 20		, --Don't change this
}

local car = script.Parent.Parent.Car.Value
local _Tune = require(car["A-Chassis Tune"])
local cValues = script.Parent.Parent:WaitForChild("Values")
local _WHEELTUNE = _AllSeason

if _Select == "DragRadials" then
	_WHEELTUNE = _DragRadials
elseif _Select == "Custom" then
	_WHEELTUNE = _Custom
elseif _Select == "AllTerrain" then
	_WHEELTUNE = _AllTerrain
elseif _Select == "Slicks" then
	_WHEELTUNE = _Slicks
elseif _Select == "SemiSlicks" then
	_WHEELTUNE = _SemiSlicks
else
	_WHEELTUNE = _AllSeason
end

car.DriveSeat.TireStats.Fwear.Value = _WHEELTUNE.FWearSpeed
car.DriveSeat.TireStats.Ffriction.Value = _WHEELTUNE.FTargetFriction
car.DriveSeat.TireStats.Fminfriction.Value = _WHEELTUNE.FMinFriction
car.DriveSeat.TireStats.Ffweight.Value = _WHEELTUNE.FFrictionWeight

car.DriveSeat.TireStats.Rwear.Value = _WHEELTUNE.RWearSpeed
car.DriveSeat.TireStats.Rfriction.Value = _WHEELTUNE.RTargetFriction
car.DriveSeat.TireStats.Rminfriction.Value = _WHEELTUNE.RMinFriction
car.DriveSeat.TireStats.Rfweight.Value = _WHEELTUNE.RFrictionWeight

car.DriveSeat.TireStats.TCS.Value = _WHEELTUNE.TCSOffRatio
car.DriveSeat.TireStats.Lock.Value = _WHEELTUNE.WheelLockRatio
car.DriveSeat.TireStats.Spin.Value = _WHEELTUNE.WheelspinRatio
car.DriveSeat.TireStats.Reg.Value = _WHEELTUNE.RegenSpeed


Prompt: -- Create the player join event handler

Response:
Players.PlayerAdded:Connect(function(player)
	-- Add the player to the game state
	gameState.players[player.Name] = player

	-- Load the first level
	loadLevel(1)
end)


Prompt: --DO NOT CHANGE ANYTHING INSIDE OF THIS SCRIPT BESIDES WHAT YOU ARE TOLD TO UNLESS YOU KNOW WHAT YOU'RE DOING OR THE SCRIPT WILL NOT WORK!!

Response:
local hitPart = script.Parent
local debounce = true
local tool = game.ServerStorage.ChickWings-- Change "Sword" to the name of your tool, make sure your tool is in ServerStorage

hitPart.Touched:Connect(function(hit)
	if debounce == true then
		if hit.Parent:FindFirstChild("Humanoid") then
			local plr = game.Players:FindFirstChild(hit.Parent.Name)
			if plr then
				debounce = false
				hitPart.BrickColor = BrickColor.new("Bright red")
				tool:Clone().Parent = plr.Backpack
				wait(3) -- Change "3" to however long you want the player to have to wait before they can get the tool again
				debounce = true
				hitPart.BrickColor = BrickColor.new("Bright green")
			end
		end
	end
end)


Prompt: --[[Steering]]

Response:
	Tune.SteerInner		= 34		-- Inner wheel steering angle (in degrees)
	Tune.SteerOuter		= 28		-- Outer wheel steering angle (in degrees)
	Tune.SteerSpeed		= .18		-- Steering increment per tick (in degrees)
	Tune.ReturnSpeed	= .2		-- Steering increment per tick (in degrees)
	Tune.SteerDecay		= 330		-- Speed of gradient cutoff (in SPS)
	Tune.MinSteer		= 10		-- Minimum steering at max steer decay (in percent)
	Tune.MSteerExp		= 1			-- Mouse steering exponential degree

	--Steer Gyro Tuning
	Tune.SteerD			= 1000		-- Steering Dampening
	Tune.SteerMaxTorque	= 50000		-- Steering Force
	Tune.SteerP			= 100000	-- Steering Aggressiveness


Prompt:
--[[
	Package link auto-generated by Rotriever
]]

Response:
local PackageIndex = script.Parent._Index

local Package = require(PackageIndex["GoodSignal"]["GoodSignal"])

return Package


Prompt:
-- << WARNINGS >>
--CloseX

Response:
local function showLoading(warningFrame, status)
	if status then
		warningFrame.LoadingButton.Visible = true
		warningFrame.MainButton.Visible = false
	else
		warningFrame.LoadingButton.Visible = false
		warningFrame.MainButton.Visible = true
	end
end
for _, warningFrame in pairs(main.warnings:GetChildren()) do
	warningFrame.CloseX.MouseButton1Down:Connect(function()
		main.warnings.Visible = false
	end)
	local button = warningFrame:FindFirstChild("MainButton")
	if button then
		local buttonDe = true
		button.MouseButton1Down:Connect(function()
			if buttonDe then
				buttonDe = false
				if warningFrame.Name == "BuyFrame" then
					local productId = button.ProductId.Value
					local productType = button.ProductType.Value
					if productType == "Gamepass" then
						main.marketplaceService:PromptGamePassPurchase(main.player, productId)
					else
						main.marketplaceService:PromptPurchase(main.player, productId)
					end
				elseif warningFrame.Name == "UnBan" then
					showLoading(warningFrame, true)
					main.signals.RequestCommand:InvokeServer(main.pdata.Prefix.."undirectban "..warningFrame.PlrName.Text)
					main:GetModule("PageAdmin"):CreateBanland()
					showLoading(warningFrame, false)
					main.warnings.Visible = false
				elseif warningFrame.Name == "PermRank" then
					showLoading(warningFrame, true)
					local userName = warningFrame.PlrName.Text
					local id = main:GetModule("cf"):GetUserId(userName)
					main.signals.RemovePermRank:InvokeServer{id, userName}
					main:GetModule("PageAdmin"):CreateRanks()
					showLoading(warningFrame, false)
					main.warnings.Visible = false
				elseif warningFrame.Name == "Teleport" then
					showLoading(warningFrame, true)
					local placeId = warningFrame.MainButton.PlaceId.Value
					main.teleportService:Teleport(placeId)
					main.teleportService.TeleportInitFailed:Wait()
					showLoading(warningFrame, false)
				end
				buttonDe = true
			end
		end)
	end
end
main.warnings.Visible = false


Response:
function Sword:Connect()
	Handle.Touched:connect(function(hit)
		local myPlayer = GLib.GetPlayerFromPart(Tool)
		local character, player, humanoid = GLib.GetCharacterFromPart(hit)

		if myPlayer~=nil and character~=nil and humanoid~=nil and myPlayer~=player then
			local isTeammate = GLib.IsTeammate(myPlayer, player)
			local myCharacter = myPlayer.Character
			local myHumanoid = myCharacter and myCharacter:FindFirstChild'Humanoid'
			if player.StarterGear:findFirstChild("Sword") then
				if (Config.CanTeamkill.Value==true or isTeammate~=true) and (myHumanoid and myHumanoid:IsA'Humanoid' and myHumanoid.Health > 0) and (Config.CanKillWithForceField.Value or myCharacter:FindFirstChild'ForceField'==nil) then
					local doDamage = Config.IdleDamage.Value
					if Sword.State == 'Slashing' then
						doDamage = Config.SlashDamage.Value
					elseif Sword.State == 'Lunging' then
						doDamage = Config.LungeDamage.Value
					end

					GLib.TagHumanoid(humanoid, myPlayer, 1)
					humanoid:TakeDamage(doDamage)
				end
			end
		end
	end)
end

function Sword:Attack()
	local myCharacter, myPlayer, myHumanoid = GLib.GetCharacterFromPart(Tool)

	if myHumanoid~=nil and myHumanoid.Health > 0 then
		if Config.CanKillWithForceField.Value or myCharacter:FindFirstChild'ForceField'==nil then
			local now = tick()

			if Sword.State == 'Slashing' and now-Sword.SlashingStartedAt < Sword.DoubleClickMaxTime then
				Sword.AttackTicket = Sword.AttackTicket+1

				Sword:Lunge(Sword.AttackTicket)
			elseif Sword.State == 'Idle' then
				Sword.AttackTicket = Sword.AttackTicket+1
				Sword.SlashingStartedAt = now

				Sword:Slash(Sword.AttackTicket)
			end
		end
	end
end

function Sword:LocalAttack()
	local myCharacter, myPlayer, myHumanoid = GLib.GetCharacterFromPart(Tool)

	if myHumanoid~=nil and myHumanoid.Health > 0 then
		if Config.CanKillWithForceField.Value or myCharacter:FindFirstChild'ForceField'==nil then
			local now = tick()

			if Sword.LocalState == 'Slashing' and now-Sword.LocalSlashingStartedAt < Sword.LocalDoubleClickMaxTime then
				Sword.LocalAttackTicket = Sword.LocalAttackTicket+1

				Sword:LocalLunge(Sword.LocalAttackTicket)
			elseif Sword.LocalState == 'Idle' then
				Sword.LocalAttackTicket = Sword.LocalAttackTicket+1
				Sword.LocalSlashingStartedAt = now

				Sword:LocalSlash(Sword.LocalAttackTicket)
			end
		end
	end
end

function Sword:Slash(ticket)
	Sword.State = 'Slashing'

	Handle.SlashSound:Play()
	Sword:Animate'Slash'

	wait(0.5)

	if Sword.AttackTicket == ticket then
		Sword.State = 'Idle'
	end
end

function Sword:LocalSlash(ticket)
	Sword.LocalState = 'Slashing'

	wait(0.5)

	if Sword.LocalAttackTicket == ticket then
		Sword.LocalState = 'Idle'
	end
end

function Sword:Lunge(ticket)
	Sword.State = 'Lunging'

	Handle.LungeSound:Play()
	Sword:Animate'Lunge'

	local force = Instance.new'BodyVelocity'
	force.velocity = Vector3.new(0, 10, 0)
	force.maxForce = Vector3.new(0, 4000, 0)
	force.Parent = Tool.Parent:findFirstChild'Torso' or Tool.Parent:findFirstChild'UpperTorso'
	Sword.DestroyOnUnequip[force] = true

	wait(0.25)
	Tool.Grip = CFrame.new(0, 0, -1.5, 0, -1, -0, -1, 0, -0, 0, 0, -1)
	wait(0.25)
	force:Destroy()
	Sword.DestroyOnUnequip[force] = nil
	wait(0.5)
	Tool.Grip = CFrame.new(0, 0, -1.5, 0, 0, 1, 1, 0, 0, 0, 1, 0)

	Sword.State = 'Idle'
end

function Sword:LocalLunge(ticket)
	Sword.LocalState = 'Lunging'

	wait(0.25)
	wait(0.25)
	wait(0.5)

	Sword.LocalState = 'Idle'
end

function Sword:Animate(name)
	local tag = Instance.new'StringValue'
	tag.Name = 'toolanim'
	tag.Value = name
	tag.Parent = Tool -- Tag gets removed by the animation script
end

function Sword:Unequip()
	for obj in next, Sword.DestroyOnUnequip do
		obj:Destroy()
	end

	Sword.DestroyOnUnequip = {}

	Tool.Grip = CFrame.new(0, 0, -1.5, 0, 0, 1, 1, 0, 0, 0, 1, 0)
	Sword.State = 'Idle'
	Sword.LocalState = 'Idle'
end


Prompt: -- tween engine sound volume when we start driving

Response:
local engineStartTween = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.In, 0, false, 0)

local Remotes = Vehicle:WaitForChild("Remotes")
local SetThrottleRemote = Remotes:WaitForChild("SetThrottle")
local SetThrottleConnection = nil

local EngineSoundEnabled = true
local TireTrailEnabled = true

local ignitionTime = 1.75 -- seconds

local lastAvgAngularVelocity = 0
local throttleEnabled = true
local lastThrottleUpdate = 0

local enginePower = 0 -- current rpm of the engine
local gainModifier = 1 -- modifier to engine rpm gain (lower if approaching max speed)


Prompt: -- Modules / Directories --

Response: local LegController = require(ReplicatedStorage.LegController)


Prompt: --mobile support

Response:
local Buttons = script.Parent:WaitForChild("Buttons")
local Left = Buttons:WaitForChild("Left")
local Right = Buttons:WaitForChild("Right")
local Brake = Buttons:WaitForChild("Brake")
local Gas = Buttons:WaitForChild("Gas")
local Handbrake = Buttons:WaitForChild("Handbrake")

if UserInputService.TouchEnabled and not UserInputService.MouseEnabled then
	Buttons.Visible = true
end
local function LeftTurn(Touch, GPE)
	if Touch.UserInputState == Enum.UserInputState.Begin then
		_GSteerT = -1
		_SteerL = true
	else
		if _SteerR then
			_GSteerT = 1
		else
			_GSteerT = 0
		end
		_SteerL = false
	end
end
Left.InputBegan:Connect(LeftTurn)
Left.InputEnded:Connect(LeftTurn)


Prompt: -- RANK, RANK NAMES & SPECIFIC USERS

Response:
Ranks = {
	{5,	"Owner",		};
		{4.7,	"Owner admin",	{"",0},	};
		{4.6,	"Youtuber Admin",	{"",0},	};
	{4.5,	"Legendary Admin",		{"",0},	};
	{4,	"Super Admin",			{"",0},	};
	{3,	"level 2 Admin",			{"",0},	};
	{2,	"Free Admin",		};
};


Response:
shuriken = script.Parent
local sparkle = Instance.new("Sparkles")
sparkle.Color = Color3.new(10,10,255)

function onTouched(part)
	connection:disconnect()
	--local h = part.Parent:findFirstChild("Humanoid")
	--if h then
		sparkle.Parent = shuriken
		shuriken.Anchored = true
		wait(0.7)
		local e = Instance.new("Explosion")
		e.BlastPressure = 500000
		e.BlastRadius = 3
		e.Position = shuriken.Position
		e.Parent = game.Workspace
	--end
	shuriken.Parent = nil
end

connection = shuriken.Touched:connect(onTouched)

wait(30)
shuriken.Parent = nil


Prompt:
----------------------------------------------
--- 			Scroll down for settings  			 ---
--- Do not alter the three variables below ---
----------------------------------------------

Response:
local settings = {};		--// The settings table which contains all settings
local Settings = settings; 	--// For custom commands that use 'Settings' rather than the lowercase 'settings'
local descs = {};			--// Contains settings descriptions


Prompt: -- KEY IS UP --

Response:
UIS.InputEnded:Connect(function(Input, isTyping)
	if isTyping then return end

	if Input.KeyCode == Enum.KeyCode.R then
		if Holding.Value == "R" then
			isHolding = false
			SkillsHandler:FireServer("R", Mouse:GetHit().Position)
			Animations.R:AdjustSpeed(1)
		end
	end
end)

Holding:GetPropertyChangedSignal("Value"):Connect(function()
	if Holding.Value ~= "None" then
		HumRP.Anchored = true
		isHolding = true
		if Holding.Value == "R" then
			Animations.R:Play()
			Animations.R:GetMarkerReachedSignal("Idle"):Connect(function()
				if isHolding == true then
					Animations.R:AdjustSpeed(0)
				end
			end)

			repeat
				HumRP.CFrame = CFrame.lookAt(HumRP.Position, Mouse:GetHit().Position)
				task.wait()
			until Holding.Value ~= "R"
		end
	else
		HumRP.Anchored = false
	end
end)


Prompt:
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- STATE CHANGE HANDLERS

Response:
function onRunning(speed)
	if speed > 0.5 then
		local scale = 16.0
		playAnimation("walk", 0.2, zombie)
		setAnimationSpeed(speed / scale)
		pose = "Running"
	else
		if emoteNames[currentAnim] == nil then
			playAnimation("idle", 0.2, zombie)
			pose = "Standing"
		end
	end
end

function onDied()
	pose = "Dead"
end

function onJumping()
	playAnimation("jump", 0.1, zombie)
	jumpAnimTime = jumpAnimDuration
	pose = "Jumping"
end

function onClimbing(speed)
	local scale = 5.0
	playAnimation("climb", 0.1, zombie)
	setAnimationSpeed(speed / scale)
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	if (jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, zombie)
	end
	pose = "FreeFall"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end


Prompt: --[[Transmission]]

Response:
	Tune.TransModes		= {"Auto", "Semi", "Manual"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch

		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}
		>First mode is default mode													]]

	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)

	--Gear Ratios
	Tune.FinalDrive		= 3.8			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	.1		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		.328		,	-- Reverse, Neutral, and 1st gear are required

	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt: --Click to Open/Close Drawer--

Response:
local proximityPrompt = script.Parent.Parent.ClickBox.ProximityPrompt
local clicker = script.Parent.Parent.ClickBox

game:GetService("SoundService")

local Phone = script.Parent.PhoneSound

local isPlaying = false

proximityPrompt.Triggered:Connect(function()
	print("Phone Clicked")

	if not isPlaying then
		isPlaying = true
		proximityPrompt.Enabled = false

		print("SoundPlayed")
		local copysound = Phone:Clone()
		copysound.Parent = clicker
		copysound.Ended:Connect(function()
			isPlaying = false
			proximityPrompt.Enabled = true
			copysound:Destroy()
			print("SoundKilled")
		end)
		copysound:Play()
	end
end)


Prompt: -- Runners

Response:
function Sound.Init()
	for _,v in pairs(game.ReplicatedStorage.Assets.Sounds:GetDescendants()) do
		if v:IsA("Sound") then
			local Name = v.Name:lower()

			if Map[Name] then warn("Two sound with the same name '" .. Name .. "'.") end
			Map[Name] = v

			if v.Parent:IsA("Folder") then
				local Name = v.Parent.Name:lower()

				if not Groups[Name] then Groups[Name] = {} end

				table.insert(Groups[Name], v)
			end
		end
	end
end

Sound.ClientInit = Sound.Init

return Sound


Prompt:
--[[

if script.Parent.Parent.hc.Value == false then
	repeat
		spin()
	until
		script.Parent.Parent.Parent["cutscene."]["finished."].Value == true
else
	local startTime = tick()

	repeat
		spin()
	until
		tick() - startTime > 8
end

]]

Response:
while true do
	spin()
end


Prompt: --!strict

Response:
type Array<T> = { [number]: T }
type callbackFn<T, U> = (element: T, index: number, array: Array<T>) -> U
type callbackFnWithThisArg<T, U, V> = (thisArg: V, element: T, index: number, array: Array<T>) -> U
type Object = { [string]: any }


Prompt: --bullet data

Response:
local settingsfolder = tool:WaitForChild("settings")
local bchambered = settingsfolder:WaitForChild("bchambered")
local binmag = settingsfolder:WaitForChild("inmag")
local gunspeed = settingsfolder:WaitForChild("speed")
local magleft = settingsfolder:WaitForChild("magleft")
local bspeed = settingsfolder:WaitForChild("bspeed")
local maxpen = settingsfolder:WaitForChild("maxwpenetration")
local maxmagcap = settingsfolder:WaitForChild("maxmagcapacity")
local bulletholetime = 10
local shellflytime = 0.5
local shellfallspeed = 80


Prompt:
--[=[
	@return boolean
	@param opt Option
	Metamethod to check equality between two options. Returns `true` if both
	options hold the same value _or_ both options are None.
	```lua
	local o1 = Option.Some(32)
	local o2 = Option.Some(32)
	local o3 = Option.Some(64)
	local o4 = Option.None
	local o5 = Option.None

	print(o1 == o2) --> true
	print(o1 == o3) --> false
	print(o1 == o4) --> false
	print(o4 == o5) --> true
	```
]=]

Response:
function Option:__eq(opt)
	if Option.Is(opt) then
		if self:IsSome() and opt:IsSome() then
			return (self:Unwrap() == opt:Unwrap())
		elseif self:IsNone() and opt:IsNone() then
			return true
		end
	end
	return false
end


Prompt:
--[=[
	Private queue class for loading system.

	@private
	@class Queue
]=]

Response:
local Queue = {}
Queue.ClassName = "Queue"
Queue.__index = Queue


Prompt:
-- Create a wrapper around a function to capture what arguments it was called
-- with.

Response:
local symbols = require(script.Parent.symbols)
local isAMagicMock = require(script.Parent.isAMagicMock)

local Spy = {}
Spy.__index = Spy
Spy.__call = function(self, ...)
	return self.inner(...)
end

local spyLookup = {}
setmetatable(spyLookup, {__mode = "kv"})

function Spy.new(inner)
	local spy = {
		[symbols.isSpy] = true,
		[symbols.Calls] = {}
	}
	setmetatable(spy, Spy)

	local wrapper = function(...)
		local call = {
			args = table.pack(...),
			result = table.pack(inner(...)),
		}
		table.insert(spy[symbols.Calls], call)
		return table.unpack(call.result)
	end

	spy.inner = wrapper
	spyLookup[wrapper] = spy

	return spy, wrapper
end

function Spy.lookup(wrapper)
	return spyLookup[wrapper]
end

function Spy.is(object)
	if not isAMagicMock(object) then
		return type(object) == "table" and object[symbols.isSpy] ~= nil
	end

	return false
end

return Spy


Prompt: -- This function isn't supported in a testing environment

Response:
ServerSceneFramework.GetServerTimeNow = function()
	return workspace:GetServerTimeNow()
end

local hasBeenCalled = false

return function(stubs)
	if hasBeenCalled then
		error("Server Scene Framework has already been called")
		return
	end

	-- Used for testing only
	if stubs then
		for i, v in pairs(stubs) do
			ServerSceneFramework[i] = v
		end
	end

	-- Load Character Remote Event: Load a player's character if primary part isn't detected for new scene
	ServerSceneFramework.handleLoadCharacterRemoteEvent = ServerSceneFramework.LoadCharacterRemoteEventModule
	ServerSceneFramework.LoadCharacterRemoteEvent.OnServerEvent:Connect(
		ServerSceneFramework.handleLoadCharacterRemoteEvent
	)

	-- Load Scene: Loads a scene: Core functionality
	ServerSceneFramework.LoadScene = ServerSceneFramework.LoadSceneModule(ServerSceneFramework)

	-- Orchestrate Scene
	ServerSceneFramework.OrchestrateSceneConnection = ServerSceneFramework.OrchestrateSceneEvent.OnServerEvent:Connect(
		ServerSceneFramework.HandleOrchestrateEvent
	)

	-- Finished Loading Remote Event: Send Configs over for the current scene per player when they finish loading
	ServerSceneFramework.handleFinishedLoadingRemoteEvent = ServerSceneFramework.FinishedLoadingClientModule(
		ServerSceneFramework.SendSceneConfigForPlayer
	)
	ServerSceneFramework.FinishedLoadingRemoteEvent.OnServerEvent:Connect(
		ServerSceneFramework.handleFinishedLoadingRemoteEvent
	)

	-- Get Current Scene Environment: Returns the folder containing respective scene's workspace assets
	ServerSceneFramework.handleGetCurrentSceneEnvironment = ServerSceneFramework.GetCurrentSceneEnvironmentModule
	ServerSceneFramework.GetCurrentSceneEnvironment.OnInvoke = ServerSceneFramework.handleGetCurrentSceneEnvironment
	ServerSceneFramework.GetCurrentServerEnvironmentFromClient.OnServerInvoke =
		ServerSceneFramework.handleGetCurrentSceneEnvironment

	-- Is Loading Scene: Lets people know if SSF is loading a scene
	ServerSceneFramework.handleIsLoadingScene = ServerSceneFramework.IsLoadingSceneModule
	ServerSceneFramework.IsLoadingScene.OnInvoke = ServerSceneFramework.handleIsLoadingScene

	-- Load Scene From List Event: LoadScene, but from the UI when user has permissions
	ServerSceneFramework.handleLoadSceneFromListEvent = ServerSceneFramework.LoadSceneFromListEventModule(
		ServerSceneFramework
	)
	ServerSceneFramework.LoadSceneFromListEvent.OnServerEvent:Connect(ServerSceneFramework.handleLoadSceneFromListEvent)

	-- Load Scene Server: LoadScene programmatically from a server script
	ServerSceneFramework.handleLoadSceneServer = ServerSceneFramework.LoadSceneServerModule(ServerSceneFramework)
	ServerSceneFramework.LoadSceneServer.Event:Connect(ServerSceneFramework.handleLoadSceneServer)

	-- On Player Added: Loads the current scene, if any, for a new player
	ServerSceneFramework.OnPlayerAddedModule(ServerSceneFramework)

	-- Check Folder For Loaded Scenes: Checks the workspace folders for a potentially loaded scene from plugin
	ServerSceneFramework.CheckFolderForLoadedScenes = ServerSceneFramework.CheckFolderForLoadedScenesModule

	-- Find Client Folder: checks for a possibly loaded scene's client folder
	ServerSceneFramework.FindClientFolder = ServerSceneFramework.FindClientFolderModule

	-- Find Server Folder: checks for a possibly loaded scene's server folder
	ServerSceneFramework.FindServerFolder = ServerSceneFramework.FindServerFolderModule

	-- Similar to running on require
	ServerSceneFramework.InitModule(ServerSceneFramework)

	hasBeenCalled = true

	return ServerSceneFramework
end


Prompt: -- Holding Services

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