Prompt: -- Public Methods

Response:
function TextMaskClass:GetValue()
	return self._MaskType:ToType(self.Frame.Text)
end

function TextMaskClass:GetMaskType()
	return self._MaskType.Name
end

function TextMaskClass:SetMaxLength(len)
	self._MaxLength = len
end

function TextMaskClass:SetMaskType(name)
	local mask = MASKS[name]
	if (not mask) then
		mask = MASKS.String
		warn(WARN_MSG:format(name))
	end
	self._MaskType = mask
	self.Frame.Text = mask:Process(self.Frame.Text):sub(1, self._MaxLength)

	-- Add increment/decrement buttons for numeric inputs
	if name == "Number" then
		-- Initialize text to 0, consumer can override
		self.Frame.Text = 0

		self.IncrementButton = INCREMENT_BUTTON:Clone()
		self.IncrementButton.AnchorPoint = Vector2.new(1, 0)
		self.IncrementButton.Position = UDim2.new(1, 0, 0, 0)
		self._Maid:Mark(self.IncrementButton.Activated:Connect(function()
			self.Frame.Text = tonumber(self.Frame.Text) + 1
		end))
		self.IncrementButton.Parent = self.Frame
		self._Maid:Mark(self.IncrementButton)

		self.DecrementButton = DECREMENT_BUTTON:Clone()
		self.DecrementButton.AnchorPoint = Vector2.new(1, 1)
		self.DecrementButton.Position = UDim2.new(1, 0, 1, 0)
		self._Maid:Mark(self.DecrementButton.Activated:Connect(function()
			self.Frame.Text = tonumber(self.Frame.Text) - 1
		end))
		self.DecrementButton.Parent = self.Frame
		self._Maid:Mark(self.DecrementButton)
	end
end

function TextMaskClass:Destroy()
	self._Maid:Sweep()
end


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 592		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16

	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)

	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)


Prompt:
--[[*
 * Quickly scans a glob pattern and returns an object with a handful of
 * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists),
 * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not
 * with `!(`) and `negatedExtglob` (true if the path starts with `!(`).
 *
 * ```js
 * const pm = require('picomatch');
 * console.log(pm.scan('foo/bar/*.js'));
 * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' }
 * ```
 * @param {String} `str`
 * @param {Object} `options`
 * @return {Object} Returns an object with tokens and regex source string.
 * @api public
 ]]

Response:
local function scan(input: string, options: Object?)
	local opts: Object = options or {}

	local length = #input + 1
	local scanToEnd = opts.parts == true or opts.scanToEnd == true
	local slashes = {}
	local tokens = {}
	local parts = {}

	local str = input
	local index = 0
	local start = 1
	local lastIndex = 1
	local isBrace = false
	local isBracket = false
	local isGlob = false
	local isExtglob = false
	local isGlobstar = false
	local braceEscaped = false
	local backslashes = false
	local negated = false
	local negatedExtglob = false
	local finished = false
	local braces = 0
	local prev
	local code
	-- ROBLOX FIXME: specify type explicitely to avoid type narrowing
	local token: Token = { value = "", depth = 0, isGlob = false }

	local function eos()
		return index >= length
	end
	local function peek()
		return String.charCodeAt(str, index + 1)
	end
	local function advance()
		prev = code
		index += 1
		return String.charCodeAt(str, index)
	end
	while index < length do
		code = advance()
		local next

		if code == CHAR_BACKWARD_SLASH then
			token.backslashes = true
			backslashes = token.backslashes
			code = advance()

			if code == CHAR_LEFT_CURLY_BRACE then
				braceEscaped = true
			end
			continue
		end

		if braceEscaped == true or code == CHAR_LEFT_CURLY_BRACE then
			braces += 1
			while eos() ~= true and Boolean.toJSBoolean((function()
				code = advance()
				return code
			end)()) do
				if code == CHAR_BACKWARD_SLASH then
					token.backslashes = true
					backslashes = token.backslashes
					advance()
					continue
				end

				if code == CHAR_LEFT_CURLY_BRACE then
					braces += 1
					continue
				end

				if
					braceEscaped ~= true
					and code == CHAR_DOT
					and (function()
						code = advance()
						return code
					end)() == CHAR_DOT
				then
					token.isBrace = true
					isBrace = token.isBrace
					token.isGlob = true
					isGlob = token.isGlob
					finished = true

					if scanToEnd == true then
						continue
					end

					break
				end

				if braceEscaped ~= true and code == CHAR_COMMA then
					token.isBrace = true
					isBrace = token.isBrace
					token.isGlob = true
					isGlob = token.isGlob
					finished = true

					if scanToEnd == true then
						continue
					end

					break
				end

				if code == CHAR_RIGHT_CURLY_BRACE then
					braces -= 1

					if braces == 0 then
						braceEscaped = false
						token.isBrace = true
						isBrace = token.isBrace
						finished = true
						break
					end
				end
			end

			if scanToEnd == true then
				continue
			end

			break
		end

		if code == CHAR_FORWARD_SLASH then
			table.insert(slashes, index)
			table.insert(tokens, token)
			token = { value = "", depth = 0, isGlob = false }

			if finished == true then
				continue
			end
			if prev == CHAR_DOT and index == start + 1 then
				start += 2
				continue
			end

			lastIndex = index + 1
			continue
		end

		if opts.noext ~= true then
			local isExtglobChar = code == CHAR_PLUS
				or code == CHAR_AT
				or code == CHAR_ASTERISK
				or code == CHAR_QUESTION_MARK
				or code == CHAR_EXCLAMATION_MARK

			if isExtglobChar == true and peek() == CHAR_LEFT_PARENTHESES then
				token.isGlob = true
				isGlob = token.isGlob
				token.isExtglob = true
				isExtglob = token.isExtglob
				finished = true
				if code == CHAR_EXCLAMATION_MARK and index == start then
					negatedExtglob = true
				end

				if scanToEnd == true then
					while
						eos() ~= true
						and Boolean.toJSBoolean((function()
							code = advance()
							return code
						end)())
					do
						if code == CHAR_BACKWARD_SLASH then
							token.backslashes = true
							backslashes = token.backslashes
							code = advance()
							continue
						end

						if code == CHAR_RIGHT_PARENTHESES then
							token.isGlob = true
							isGlob = token.isGlob
							finished = true
							break
						end
					end
					continue
				end
				break
			end
		end

		if code == CHAR_ASTERISK then
			if prev == CHAR_ASTERISK then
				token.isGlobstar = true
				isGlobstar = token.isGlobstar
			end
			token.isGlob = true
			isGlob = token.isGlob
			finished = true

			if scanToEnd == true then
				continue
			end
			break
		end

		if code == CHAR_QUESTION_MARK then
			token.isGlob = true
			isGlob = token.isGlob
			finished = true

			if scanToEnd == true then
				continue
			end
			break
		end

		if code == CHAR_LEFT_SQUARE_BRACKET then
			while eos() ~= true and Boolean.toJSBoolean((function()
				next = advance()
				return next
			end)()) do
				if next == CHAR_BACKWARD_SLASH then
					token.backslashes = true
					backslashes = token.backslashes
					advance()
					continue
				end

				if next == CHAR_RIGHT_SQUARE_BRACKET then
					token.isBracket = true
					isBracket = token.isBracket
					token.isGlob = true
					isGlob = token.isGlob
					finished = true
					break
				end
			end

			if scanToEnd == true then
				continue
			end

			break
		end

		if opts.nonegate ~= true and code == CHAR_EXCLAMATION_MARK and index == start then
			token.negated = true
			negated = token.negated
			start += 1
			continue
		end

		if opts.noparen ~= true and code == CHAR_LEFT_PARENTHESES then
			token.isGlob = true
			isGlob = token.isGlob

			if scanToEnd == true then
				while
					eos() ~= true
					and Boolean.toJSBoolean((function()
						code = advance()
						return code
					end)())
				do
					if code == CHAR_LEFT_PARENTHESES then
						token.backslashes = true
						backslashes = token.backslashes
						code = advance()
						continue
					end

					if code == CHAR_RIGHT_PARENTHESES then
						finished = true
						break
					end
				end
				continue
			end
			break
		end

		if isGlob == true then
			finished = true

			if scanToEnd == true then
				continue
			end

			break
		end
	end

	if opts.noext == true then
		isExtglob = false
		isGlob = false
	end

	local base = str
	local prefix = ""
	local glob = ""

	if start > 1 then
		prefix = String.slice(str, 1, start)
		str = String.slice(str, start)
		lastIndex -= start
	end

	if Boolean.toJSBoolean(base) and isGlob == true and lastIndex > 1 then
		base = String.slice(str, 1, lastIndex)
		glob = String.slice(str, lastIndex)
	elseif isGlob == true then
		base = ""
		glob = str
	else
		base = str
	end

	if Boolean.toJSBoolean(base) and base ~= "" and base ~= "/" and base ~= str then
		if isPathSeparator(String.charCodeAt(base, #base)) then
			base = String.slice(base, 1, -1)
		end
	end

	if opts.unescape == true then
		if Boolean.toJSBoolean(glob) then
			glob = utils.removeBackslashes(glob)
		end

		if Boolean.toJSBoolean(base) and backslashes == true then
			base = utils.removeBackslashes(base)
		end
	end

	local state = {
		prefix = prefix,
		input = input,
		start = start,
		base = base,
		glob = glob,
		isBrace = isBrace,
		isBracket = isBracket,
		isGlob = isGlob,
		isExtglob = isExtglob,
		isGlobstar = isGlobstar,
		negated = negated,
		negatedExtglob = negatedExtglob,
	}

	if opts.tokens == true then
		state.maxDepth = 0
		if not isPathSeparator(code) then
			table.insert(tokens, token)
		end
		state.tokens = tokens
	end

	if opts.parts == true or opts.tokens == true then
		local prevIndex

		for idx = 1, #slashes do
			local n = if Boolean.toJSBoolean(prevIndex) then prevIndex + 1 else start
			local i = slashes[idx]
			local value = String.slice(input, n, i)
			if Boolean.toJSBoolean(opts.tokens) then
				if idx == 1 and start ~= 1 then
					tokens[idx].isPrefix = true
					tokens[idx].value = prefix
				else
					tokens[idx].value = value
				end
				depth(tokens[idx])
				state.maxDepth += tokens[idx].depth
			end
			if idx ~= 1 or value ~= "" then
				table.insert(parts, value)
			end
			prevIndex = i
		end

		if Boolean.toJSBoolean(prevIndex) and prevIndex + 1 < #input then
			local value = String.slice(input, prevIndex + 1)
			table.insert(parts, value)

			if Boolean.toJSBoolean(opts.tokens) then
				tokens[#tokens].value = value
				depth(tokens[#tokens])
				state.maxDepth += tokens[#tokens].depth
			end
		end

		state.slashes = slashes
		state.parts = parts
	end

	return state
end

return scan


Response:
end
wait(0.15)
if game.Workspace.DoorFlashing.Value == true then


Prompt: --LIGHTS BUTTONS

Response:
for _,i in pairs(lights:GetChildren()) do
	if i:IsA("ImageButton") and i.Name ~= "header" then
		if string.match(i.Name,"%l+") == "td" then
			i.MouseButton1Click:connect(function()
				script.Parent.lighty.Value = tonumber(string.match(i.Name,"%d"))
				if script.Parent.lighty.Value == 0 then
					lights.td0.Image = imgassets.sirenson
					lights.td1.Image = imgassets.hazardoff
					lights.td2.Image = imgassets.leftyoff
					lights.td3.Image = imgassets.rightyoff
					lights.td4.Image = imgassets.outoff
					seat.Parent.SSC.Beep:Play()
				elseif script.Parent.lighty.Value == 1 then
					lights.td0.Image = imgassets.sirensoff
					lights.td1.Image = imgassets.hazardon
					lights.td2.Image = imgassets.leftyoff
					lights.td3.Image = imgassets.rightyoff
					lights.td4.Image = imgassets.outoff
					seat.Parent.SSC.Beep:Play()
				elseif script.Parent.lighty.Value == 2 then
					lights.td0.Image = imgassets.sirensoff
					lights.td1.Image = imgassets.hazardoff
					lights.td2.Image = imgassets.leftyon
					lights.td3.Image = imgassets.rightyoff
					lights.td4.Image = imgassets.outoff
					seat.Parent.SSC.Beep:Play()
				elseif script.Parent.lighty.Value == 3 then
					lights.td0.Image = imgassets.sirensoff
					lights.td1.Image = imgassets.hazardoff
					lights.td2.Image = imgassets.leftyoff
					lights.td3.Image = imgassets.rightyon
					lights.td4.Image = imgassets.outoff
					seat.Parent.SSC.Beep:Play()
				elseif script.Parent.lighty.Value == 4 then
					lights.td0.Image = imgassets.sirensoff
					lights.td1.Image = imgassets.hazardoff
					lights.td2.Image = imgassets.leftyoff
					lights.td3.Image = imgassets.rightyoff
					lights.td4.Image = imgassets.outon
					seat.Parent.SSC.Beep:Play()
				end
			end)
		elseif string.match(i.Name,"%l+") == "fl" then
			i.MouseButton1Click:connect(function()
				script.Parent.flasher.Value = tonumber(string.match(i.Name,"%d"))
				if script.Parent.flasher.Value == 0 then
					lights.fl0.Image = imgassets.sirenson
					lights.fl1.Image = imgassets.slowoff
					lights.fl2.Image = imgassets.fastoff
					lights.fl3.Image = imgassets.x2off
					lights.fl4.Image = imgassets.x4off
					seat.Parent.SSC.Beep:Play()
				elseif script.Parent.flasher.Value == 1 then
					lights.fl0.Image = imgassets.sirensoff
					lights.fl1.Image = imgassets.slowon
					lights.fl2.Image = imgassets.fastoff
					lights.fl3.Image = imgassets.x2off
					lights.fl4.Image = imgassets.x4off
					seat.Parent.SSC.Beep:Play()
				elseif script.Parent.flasher.Value == 2 then
					lights.fl0.Image = imgassets.sirensoff
					lights.fl1.Image = imgassets.slowoff
					lights.fl2.Image = imgassets.faston
					lights.fl3.Image = imgassets.x2off
					lights.fl4.Image = imgassets.x4off
					seat.Parent.SSC.Beep:Play()
				elseif script.Parent.flasher.Value == 3 then
					lights.fl0.Image = imgassets.sirensoff
					lights.fl1.Image = imgassets.slowoff
					lights.fl2.Image = imgassets.fastoff
					lights.fl3.Image = imgassets.x2on
					lights.fl4.Image = imgassets.x4off
					seat.Parent.SSC.Beep:Play()
				elseif script.Parent.flasher.Value == 4 then
					lights.fl0.Image = imgassets.sirensoff
					lights.fl1.Image = imgassets.slowoff
					lights.fl2.Image = imgassets.fastoff
					lights.fl3.Image = imgassets.x2off
					lights.fl4.Image = imgassets.x4on
					seat.Parent.SSC.Beep:Play()
				end
			end)
		end
	end
end


Prompt: --Если отпущена

Response:
Mos.KeyUp:connect(function(key)
	if key:lower() == string.char(48) then --Если нажата
		game.Workspace.Camera.FieldOfView = game.Workspace.Camera.FieldOfView - 1.6
		local Player1 = game.Players.LocalPlayer.Character.Humanoid
		if Player1 then
			Player1.WalkSpeed = 16
		end
	end
end)


Prompt: --// Aim|Zoom|Sensitivity Customization

Response:
	ZoomSpeed = 0.23; -- The lower the number the slower and smoother the tween
	AimZoom = 60; -- Default zoom
	AimSpeed = 0.23;
	UnaimSpeed = 0.23;
	CycleAimZoom = 60; -- Cycled zoom
	MouseSensitivity = 0.5; -- Number between 0.1 and 1
	SensitivityIncrement = 0.05; -- No touchy


Prompt: -- PubTypes that can be expressed as vectors of numbers, and so can be animated.

Response:
export type Animatable =
	number |
	CFrame |
	Color3 |
	ColorSequenceKeypoint |
	DateTime |
	NumberRange |
	NumberSequenceKeypoint |
	PhysicalProperties |
	Ray |
	Rect |
	Region3 |
	Region3int16 |
	UDim |
	UDim2 |
	Vector2 |
	Vector2int16 |
	Vector3 |
	Vector3int16


Prompt: --	wait(7.5)

Response:
		leftTweenClose:Play()
		rightTweenClose:Play()
		model.Part.DoorStart:Play()
		wait(4)
		model.Part.DoorStart:Stop()
		model.Part.DoorStop:Play()
		model.Part.DoorHit:Play()
		wait(0.1)
		triggered=false
script.Enabled = false


Response:
local PlayerState = {} do
	local mouseBehavior
	local mouseIconEnabled
	local cameraType
	local cameraFocus
	local cameraCFrame
	local cameraFieldOfView
	local screenGuis = {}
	local coreGuis = {
		Backpack = true,
		Chat = true,
		Health = true,
		PlayerList = true,
	}
	local setCores = {
		BadgesNotificationsActive = true,
		PointsNotificationsActive = true,
	}

	-- Save state and set up for freecam
	function PlayerState.Push()
		for name in pairs(coreGuis) do
			coreGuis[name] = StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType[name])
			StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType[name], false)
		end
		for name in pairs(setCores) do
			setCores[name] = StarterGui:GetCore(name)
			StarterGui:SetCore(name, false)
		end
		local playergui = LocalPlayer:FindFirstChildOfClass("PlayerGui")
		if playergui then
			for _, gui in pairs(playergui:GetChildren()) do
				if gui:IsA("ScreenGui") and gui.Enabled then
					screenGuis[#screenGuis + 1] = gui
					gui.Enabled = false
				end
			end
		end

		cameraFieldOfView = Camera.FieldOfView
		Camera.FieldOfView = 70

		cameraType = Camera.CameraType
		Camera.CameraType = Enum.CameraType.Custom

		cameraCFrame = Camera.CFrame
		cameraFocus = Camera.Focus

		mouseIconEnabled = UserInputService.MouseIconEnabled
		UserInputService.MouseIconEnabled = false

		mouseBehavior = UserInputService.MouseBehavior
		UserInputService.MouseBehavior = Enum.MouseBehavior.Default
	end

	-- Restore state
	function PlayerState.Pop()
		for name, isEnabled in pairs(coreGuis) do
			StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType[name], isEnabled)
		end
		for name, isEnabled in pairs(setCores) do
			StarterGui:SetCore(name, isEnabled)
		end
		for _, gui in pairs(screenGuis) do
			if gui.Parent then
				gui.Enabled = true
			end
		end

		Camera.FieldOfView = cameraFieldOfView
		cameraFieldOfView = nil

		Camera.CameraType = cameraType
		cameraType = nil

		Camera.CFrame = cameraCFrame
		cameraCFrame = nil

		Camera.Focus = cameraFocus
		cameraFocus = nil

		UserInputService.MouseIconEnabled = mouseIconEnabled
		mouseIconEnabled = nil

		UserInputService.MouseBehavior = mouseBehavior
		mouseBehavior = nil
	end
end

local function StartFreecam()
	local cameraCFrame = Camera.CFrame
	cameraRot = Vector2.new(cameraCFrame:toEulerAnglesYXZ())
	cameraPos = cameraCFrame.p
	cameraFov = Camera.FieldOfView

	velSpring:Reset(Vector3.new())
	panSpring:Reset(Vector2.new())
	fovSpring:Reset(0)

	PlayerState.Push()
	RunService:BindToRenderStep("Freecam", Enum.RenderPriority.Camera.Value + 10, StepFreecam)
	Input.StartCapture()

	local charParts = LocalPlayer.Character:GetChildren()
	for i = 1, #charParts do
		local part = charParts[i]
		if part:IsA("BasePart") or part:IsA("MeshPart") then
			part.Transparency = 1
		end
	end
end

local function StopFreecam()
	Input.StopCapture()
	RunService:UnbindFromRenderStep("Freecam")
	PlayerState.Pop()

	local charParts = LocalPlayer.Character:GetChildren()
	for i = 1, #charParts do
		local part = charParts[i]
		if (part:IsA("BasePart") or part:IsA("MeshPart")) and part.Name ~= "HumanoidRootPart" then
			part.Transparency = 0
		end
	end
end


Prompt:
------------------------------------------------------------------------
--
-- * used in luaK:dischargejpc(), luaK:patchlist(), luaK:exp2reg()
------------------------------------------------------------------------

Response:
function luaK:patchlistaux(fs, list, vtarget, reg, dtarget)
  while list ~= self.NO_JUMP do
    local _next = self:getjump(fs, list)
    if self:patchtestreg(fs, list, reg) then
      self:fixjump(fs, list, vtarget)
    else
      self:fixjump(fs, list, dtarget)  -- jump to default target
    end
    list = _next
  end
end


Prompt: --[WEIGHT // Cubic stud : pounds ratio]

Response:
Tune.WeightScaling = 1/50	--Default = 1/50 (1 cubic stud = 50 lbs)
Tune.LegacyScaling = 1/10	--Default = 1/10 (1 cubic stud = 10 lbs) [PGS OFF]


Prompt: -- Create the spark effect for the bullet impact

Response:
function MakeParticleFX(position, normal)
	-- This is a trick I do with attachments all the time.
	-- Parent attachments to the Terrain - It counts as a part, and setting position/rotation/etc. of it will be in world space.
	-- UPD 11 JUNE 2019 - Attachments now have a "WorldPosition" value, but despite this, I still see it fit to parent attachments to terrain since its position never changes.
	local attachment = Instance.new("Attachment")
	attachment.CFrame = CFrame.new(position, position + normal)
	attachment.Parent = workspace.Terrain
	local particle = ImpactParticle:Clone()
	particle.Parent = attachment
	Debris:AddItem(attachment, particle.Lifetime.Max) -- Automatically delete the particle effect after its maximum lifetime.

	-- A potentially better option in favor of this would be to use the Emit method (Particle:Emit(numParticles)) though I prefer this since it adds some natural spacing between the particles.
	particle.Enabled = true
	wait(0.05)
	particle.Enabled = false
end


Prompt:
--!strict
--[=[
	@function copyDeep
	@within Array

	@param array {T} -- The array to copy.
	@return {T} -- The copied array.

	Copies an array, with deep copies of all nested arrays.

	```lua
	local array = { 1, 2, 3, { 4, 5 } }

	local result = CopyDeep(array) -- { 1, 2, 3, { 4, 5 } }

	print(result == array) -- false
	print(result[4] == array[4]) -- false
	```
]=]

Response:
local function copyDeep<T>(array: { T }): { T }
	local result = {}

	for _, value in ipairs(array) do
		if type(value) == "table" then
			table.insert(result, copyDeep(value))
		else
			table.insert(result, value)
		end
	end

	return result
end

return copyDeep


Prompt:
--[[
	For when the server is in postgame
]]

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

local SystemManager = require(ServerStorage.Source.Managers.SystemManager)

local ServerPostGame = {}


Prompt: --why is this not a library funciton?!

Response:
function randUniform(a, b)
	return a + math.random() * (b - a)
end

function randVector(a, b)
	return Vector3.new(randUniform(a.x, b.x), randUniform(a.y, b.y), randUniform(a.z, b.z))
end

TriggerEffect.Event:Connect(function()
	local liveBlox = CollectionService:GetTagged("blox")
	script.Parent.PointLight:SetAttribute("SpawnTime", workspace.DistributedGameTime)
	verticalBeamPS:SetAttribute("SpawnTime", workspace.DistributedGameTime)
	plasmaBeamA:SetAttribute("SpawnTime", workspace.DistributedGameTime)
	plasmaBeamB:SetAttribute("SpawnTime", workspace.DistributedGameTime)

	dustParticles:Emit(15)
	flashPS:Emit(1)
	shockwave:Emit(1)
	verticalBeamPS:Emit(8)
	verticalBeamPS.Enabled = true

	bloxParticles:Emit(100)

	plasmaBeamA.Enabled = true
	plasmaBeamB.Enabled = true

	if #liveBlox < maxBlox then
		for i = -1, 1, 1 do
			for j = -1, 1, 1 do
				for k = -1, 1, 1 do
					local bloxInstance = blox:Clone()
					bloxInstance.Transparency = 0
					bloxInstance.Parent = workspace

					bloxInstance.Position = bloxSpawnLoc.Position + Vector3.new(i * (blox.Size.x + spacing), j * (blox.Size.y + spacing), k * (blox.Size.z + spacing))

					bloxInstance.Anchored = false
					bloxInstance:ApplyImpulse(randVector(Vector3.new(-hSpeed, 0, -hSpeed), Vector3.new(hSpeed, vSpeed, hSpeed)))
					bloxInstance:ApplyAngularImpulse(randVector(Vector3.new(-0.0005, -0.0005, -0.0005), Vector3.new(0.0005, 0.0005, 0.0005)))

					bloxInstance:SetAttribute("ID", math.random())
					bloxInstance:SetAttribute("SpawnTime", workspace.DistributedGameTime)
					bloxInstance:SetAttribute("Lifetime", randUniform(2.0, 3.0))

					CollectionService:AddTag(bloxInstance, "blox")
				end
			end
		end
	end
end)


Prompt: --# selene: allow(divide_by_zero, multiple_statements)

Response:
local bit = bit32
local unpack = table.unpack or unpack

local stm_lua_bytecode
local wrap_lua_func
local stm_lua_func


Prompt: -- ONLY SUPPORTS ORDINAL TABLES (ARRAYS). Clears the array.

Response:
Table.clear = function (tbl)
	table.clear(tbl)
end

return setmetatable({}, {
	__index = function(tbl, index)
		if Table[index] ~= nil then
			return Table[index]
		else
			return RobloxTable[index]
		end
	end;

	__newindex = function(tbl, index, value)
		error("Add new table entries by editing the Module itself.")
	end;
})


Prompt: --<================================= DO NOT EDIT BELOW THIS LINE. MADE BY 404ERROR_060. =================================>--

Response:
wait()
script.Parent.Text=script.Parent.Parent.Parent.Parent.Configuration["Sign Text"].Value;
script.Parent.Parent.Parent.Parent.Frame.Neon1.BrickColor=script.Parent.Parent.Parent.Parent.Configuration["Bar Accent Color"].Value;
script.Parent.Parent.Parent.Parent.Frame.Neon2.BrickColor=script.Parent.Parent.Parent.Parent.Configuration["Bar Accent Color"].Value;
script.Parent.Parent.Parent.Parent.Frame.Neon3.BrickColor=script.Parent.Parent.Parent.Parent.Configuration["Bar Accent Color"].Value;
script.Parent.Parent.Parent.BrickColor=script.Parent.Parent.Parent.Parent.Configuration["Screen Color 1"].Value;
script.Parent.Parent.Parent.Parent.DoubledScreen.BrickColor=script.Parent.Parent.Parent.Parent.Configuration["Screen Color 2"].Value;
script.Parent.TextColor3=script.Parent.Parent.Parent.Parent.Configuration["Text Color"]
script.Parent.TextStrokeColor3=script.Parent.Parent.Parent.Parent.Configuration["Text Outline Color"]


Prompt:
--[[
	Create a new TestPlan from a list of specification functions.

	These functions should call a combination of `describe` and `it` (and their
	variants), which will be turned into a test plan to be executed.

	Parameters:
		- modulesList - list of tables describing test modules {
			method, -- specification function described above
			path, -- array of parent entires, first element is the leaf that owns `method`
			pathStringForSorting -- a string representation of `path`, used for sorting of the test plan
		}
		- planArgs - table of additional plan params {
			runTestsByPath - Runs only tests with these exact paths
			testNamePattern - Only tests matching this Lua pattern string will run. Pass empty or nil to run all tests
			testPathPattern - Only tests paths matching this pattern will run
			testPathIgnorePatterns - Only tests paths that do not match this pattern will run
			extraEnvironment - Lua table holding additional functions and variables to be injected into the specification
								function during execution
		}
]]

Response:
function TestPlanner.createPlan(modulesList, planArgs)
	local testPlanArgs
	if type(planArgs) == "string" then
		testPlanArgs = { testNamePattern = planArgs }
	else
		testPlanArgs = planArgs
	end

	local plan = TestPlan.new(testPlanArgs)

	table.sort(modulesList, function(a, b)
		return a.pathStringForSorting < b.pathStringForSorting
	end)

	for _, module in ipairs(modulesList) do
		plan:addRoot(module.path, module.method, module.instance)
	end

	return plan
end

return TestPlanner


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, shouldAutoLocalize)
	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
	bubbleText.AutoLocalize = shouldAutoLocalize

	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
			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 = 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, shouldAutoLocalize)
	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, shouldAutoLocalize)

		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, false)
	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)
	if UserShouldLocalizeGameChatBubble then
		this:CreateChatLineRender(origin, line, false, this.CharacterSortedMsg:Get(line.Origin).Fifo, true)
	else
		this:CreateChatLineRender(origin, line, false, this.CharacterSortedMsg:Get(line.Origin).Fifo, false)
	end
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)


Response:
runService.RenderStepped:connect(function()

	if running then
		if freemouse == true then
			game:GetService("UserInputService").MouseBehavior = Enum.MouseBehavior.Default
		else
			game:GetService("UserInputService").MouseBehavior = Enum.MouseBehavior.LockCenter
		end
	end

	if not CanToggleMouse.allowed then
		freemouse = false
	end

end)


Prompt: -- Table setup containing product IDs and functions for handling purchases

Response:
local productFunctions = {
	[1527684360] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 5
			return true
		end
	end;

	[1527684736] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 10
			return true
		end
	end;

	[1527684772] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 15
			return true
		end
	end;

	[1527684906] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 25
			return true
		end
	end;

	[1527684963] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 50
			return true
		end
	end;

	[1527685101] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 75
			return true
		end
	end;

	[1527685172] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 100
			return true
		end
	end;

	[1527685229] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 250
			return true
		end
	end;

	[1527685281] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 500
			return true
		end
	end;

	[1527685476] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 1000
			return true
		end
	end;

	[1527685554] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 2500
			return true
		end
	end;

	[1527685603] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 5000
			return true
		end
	end;

	[1527685835] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 10000
			return true
		end
	end;

	[1527685970] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 25000
			return true
		end
	end;

	[1527689815] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 50000
			return true
		end
	end;

	[1527686109] = function(receipt, player)
		local stats = player:FindFirstChild("DonationValue")
		local donation = stats
		if donation then
			donation.Value = donation.Value + 100000
			return true
		end
	end;

}

MarketplaceService.ProcessReceipt = function(receiptInfo)
	local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
	local purchased = false
	local success, errorMessage = pcall(function()
		purchased = purchaseHistoryStore:GetAsync(playerProductKey)
	end)

	if success and purchased then
		return Enum.ProductPurchaseDecision.PurchaseGranted
	elseif not success then
		error("Data store error:" .. errorMessage)
	end

	local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
	if not player then
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end

	local handler = productFunctions[receiptInfo.ProductId]

	local success, result = pcall(handler, receiptInfo, player)
	if not success or not result then
		warn("Error occurred while processing a product purchase")
		print("\nProductId:", receiptInfo.ProductId)
		print("\nPlayer:", player)
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end

	local success, errorMessage = pcall(function()
		purchaseHistoryStore:SetAsync(playerProductKey, true)
	end)
	if not success then
		error("Cannot save purchase data: " .. errorMessage)
	end

	return Enum.ProductPurchaseDecision.PurchaseGranted
end


Prompt: --[[ Constants ]]

Response:
--
local RECALCULATE_PATH_THRESHOLD = 4
local NO_PATH_THRESHOLD = 12
local MAX_PATHING_DISTANCE = 200
local POINT_REACHED_THRESHOLD = 1
local OFFTRACK_TIME_THRESHOLD = 2
local THUMBSTICK_DEADZONE = 0.22

local ZERO_VECTOR3 = Vector3.new(0,0,0)
local XZ_VECTOR3 = Vector3.new(1,0,1)


Prompt: --Grenade variables

Response: local grenade = script.Parent.Grenade


Prompt:
--[[
	ROBLOX deviation START: some strings require escaped version
	depending where they are used
]]

Response:
local SUPPORTED_PLACEHOLDERS = RegExp("%[sdifjoOp]")
local SUPPORTED_PLACEHOLDERS_PATTERN = "%%[sdifjoOp]"
local PRETTY_PLACEHOLDER = "%p"
local PRETTY_PLACEHOLDER_PATTERN = "%%p"
local INDEX_PLACEHOLDER = "%%#"
local PLACEHOLDER_PREFIX = "%%"
local ESCAPED_PLACEHOLDER_PREFIX = "%%"
local ESCAPED_PLACEHOLDER_PREFIX_PATTERN = "%%%%"
local JEST_EACH_PLACEHOLDER_ESCAPE = "@@__JEST_EACH_PLACEHOLDER_ESCAPE__@@"


Prompt: --- Trims whitespace from both sides of a string.

Response:
function Util.TrimString(s)
	return s:match "^%s*(.-)%s*$"
end


Prompt: -- Check if shift key, mobile sprint button, or Xbox gamepad button is being held down

Response:
local function checkSprintKeyDown()
	if UserInputService.TouchEnabled then
		return true
	elseif UserInputService.GamepadEnabled then
		return UserInputService:IsGamepadButtonDown(Enum.UserInputType.Gamepad1, Enum.KeyCode.ButtonL2)
	else
		return UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) or UserInputService:IsKeyDown(Enum.KeyCode.RightShift)
	end
end


Prompt: --!strict

Response:
type Object = { [string]: any }
type Array<T> = { [number]: T }

local function isfrozen(t: Object | Array<any>): boolean
	return table.isfrozen(t)
end

return isfrozen


Prompt: --the reason for this script being 2 instead of 1 is MAGIC

Response: WheelSize = 3.4--diameter of the wheel


Prompt: -- Roblox NPC sound script

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

local SOUND_DATA = {
	Climbing = {
		SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3",
		Looped = true,
	},
	Died = {
		SoundId = "rbxassetid://3361342315",
	},
	FreeFalling = {
		SoundId = "rbxasset://sounds/action_falling.mp3",
		Looped = true,
	},
	GettingUp = {
		SoundId = "rbxasset://sounds/action_get_up.mp3",
	},
	Jumping = {
		SoundId = "rbxasset://sounds/action_jump.mp3",
	},
	Landing = {
		SoundId = "rbxasset://sounds/action_jump_land.mp3",
	},
	Running = {
		SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3",
		Looped = true,
		Pitch = 1.85,
	},
	Splash = {
		SoundId = "rbxasset://sounds/impact_water.mp3",
	},
	Swimming = {
		SoundId = "rbxasset://sounds/action_swim.mp3",
		Looped = true,
		Pitch = 1.6,
	},
}


Prompt: --// Probabilities

Response:
	JamChance = 0,1; -- This is percent scaled. For 100% Chance of jamming, put 100, for 0%, 0; and everything inbetween
	TracerChance = 100; -- This is the percen scaled. For 100% Chance of showing tracer, put 100, for 0%, 0; and everything inbetween


Prompt:
-----------------
--| Constants |--
-----------------

Response:
local GRAVITY_ACCELERATION = workspace.Gravity

local RELOAD_TIME = 0.0000000000000000001 -- Seconds until tool can be used again
local ROCKET_SPEED = 1200 -- Speed of the projectile
local ROCKET_TRAIL = true -- Whether rockets will create a smoke trail

local MISSILE_MESH_ID = 'http://www.roblox.com/asset/?id=2251534'
local MISSILE_MESH_SCALE = Vector3.new(0.35, 0.35, 0.25)
local ROCKET_PART_SIZE = Vector3.new(1.2, 1.2, 3.27)


Prompt: -- local TeleportService = game:GetService("TeleportService")			-- подключение телепортаций

Response:
local Players = game:GetService("Players")							-- подключение сервиса игроков

local teleporter = script.Parent	-- что должны коснуться
local showPrompt = true				-- показывать сообщение


Prompt: --Running with animation and field of view--

Response:
Humanoid.Running:connect(function(Speed)
	if Speed >= 10 and Running and not RAnimation.IsPlaying then
		RAnimation:Play()
		Humanoid.WalkSpeed = RunningSpeed
		T:Play()
	elseif Speed >= 10 and not Running and RAnimation.IsPlaying then
		RAnimation:Stop()
		Humanoid.WalkSpeed = NormalSpeed
		rT:Play()
	elseif Speed < 10 and RAnimation.IsPlaying then
		RAnimation:Stop()
		Humanoid.WalkSpeed = NormalSpeed
		rT:Play()
	end
end)

game:GetService('ContextActionService'):BindAction('RunBind', Handler, true, Enum.KeyCode[key])


Prompt: --print("Motion blur disabled")

Response:
script.Disabled = true
end


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

Response:
local l__Boards__1 = game.Workspace:WaitForChild("Boards");
local l__Retriever__2 = l__Boards__1:WaitForChild("SettingsHandler"):WaitForChild("Retriever");
local v3 = l__Retriever__2:InvokeServer("Authenticate");
local v4 = v3 == true and l__Retriever__2:InvokeServer("GetData") or nil;
local v5 = nil;
for v6, v7 in pairs(l__Boards__1:GetChildren()) do
	if v7.Name == "Buttons" then
		local l__SurfaceGui__8 = v7:WaitForChild("SurfaceGui");
		for v9, v10 in pairs(l__SurfaceGui__8.MainFrame.ScrollingFrame:GetChildren()) do
			v10.TextButton.MouseButton1Click:connect(function()
				game:GetService("MarketplaceService"):PromptProductPurchase(game.Players.LocalPlayer, v10.Id.Value, true);
			end);
			v10.MouseEnter:connect(function()
				v10.Title.BackgroundTransparency = 0;
			end);
			v10.MouseLeave:connect(function()
				v10.Title.BackgroundTransparency = 0.25;
			end);
		end;
		l__SurfaceGui__8.MainFrame.ScrollingFrame.ChildAdded:connect(function(p1)
			p1.TextButton.MouseButton1Click:connect(function()
				game:GetService("MarketplaceService"):PromptProductPurchase(game.Players.LocalPlayer, p1.Id.Value, true);
			end);
			p1.MouseEnter:connect(function()
				p1.Title.BackgroundTransparency = 0;
			end);
			p1.MouseLeave:connect(function()
				p1.Title.BackgroundTransparency = 0.25;
			end);
		end);
	elseif v7.Name == "Screen" then
		local l__SurfaceGui__11 = v7:WaitForChild("SurfaceGui");
		l__SurfaceGui__11.MainFrame.Information.Take.MouseButton1Click:connect(function()
			game:GetService("MarketplaceService"):PromptPurchase(game.Players.LocalPlayer, 391248083);
		end);
		local u1 = true;
		l__SurfaceGui__11.MainFrame.Footer.Title.ImageButton.MouseButton1Click:connect(function()
			if u1 then
				u1 = false;
				l__SurfaceGui__11.MainFrame.Title:TweenPosition(UDim2.new(1, 0, 0, 5), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.ScrollingFrame:TweenPosition(UDim2.new(1, 0, 0, 35), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Footer:TweenPosition(UDim2.new(1, 0, 1, -25), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Title:TweenPosition(UDim2.new(0, 5, 0, 5), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Message1:TweenPosition(UDim2.new(0, 10, 0, 35), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Message2:TweenPosition(UDim2.new(0, 10, 0, 140), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Close:TweenPosition(UDim2.new(0.5, 5, 0, 245), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Take:TweenPosition(UDim2.new(0, 10, 0, 245), "InOut", "Quart", 0.5, true);
				wait(0.5);
				u1 = true;
			end;
		end);
		l__SurfaceGui__11.MainFrame.Information.Close.MouseButton1Click:connect(function()
			if u1 then
				u1 = false;
				l__SurfaceGui__11.MainFrame.Information.Title:TweenPosition(UDim2.new(-1, 5, 0, 5), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Message1:TweenPosition(UDim2.new(-1, 10, 0, 35), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Message2:TweenPosition(UDim2.new(-1, 10, 0, 140), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Take:TweenPosition(UDim2.new(-1, 10, 0, 245), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Information.Close:TweenPosition(UDim2.new(-1, 5, 0, 245), "InOut", "Quart", 0.5, true);
				wait();
				delay(0.5, function()
					l__SurfaceGui__11.MainFrame.Information.Position = UDim2.new(-1, 0, 0, 0);
				end);
				wait();
				l__SurfaceGui__11.MainFrame.Title:TweenPosition(UDim2.new(0, 5, 0, 5), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.ScrollingFrame:TweenPosition(UDim2.new(0, 5, 0, 35), "InOut", "Quart", 0.5, true);
				wait();
				l__SurfaceGui__11.MainFrame.Footer:TweenPosition(UDim2.new(0, 5, 1, -25), "InOut", "Quart", 0.5, true);
				wait(0.5);
				u1 = true;
			end;
		end);
		if v3 == true then
			l__SurfaceGui__11.MainFrame.Footer.Title.Settings.Visible = true;
			local u2 = v4;
			local u3 = v5;
			l__SurfaceGui__11.MainFrame.Footer.Title.Settings.MouseButton1Click:connect(function()
				if u1 then
					u1 = false;
					local v12, v13 = l__Retriever__2:InvokeServer("GetData");
					u2 = v12;
					u3 = v13;
					l__SurfaceGui__11.MainFrame.Settings.Message2.ListSize.TextBox.Text = u2.ListSize;
					l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Text = u2.Datastore;
					l__SurfaceGui__11.MainFrame.Settings.Message2.Refresh.TextBox.Text = u2.Refresh;
					if u3 == true then
						l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Min.Visible = false;
						l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Plus.Visible = false;
						l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Text = "Disabled because AbortCustomPurchases";
					end;
					l__SurfaceGui__11.MainFrame.Title:TweenPosition(UDim2.new(1, 0, 0, 5), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.ScrollingFrame:TweenPosition(UDim2.new(1, 0, 0, 35), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Footer:TweenPosition(UDim2.new(1, 0, 1, -25), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Message1:TweenPosition(UDim2.new(0, 10, 0, 5), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Message2:TweenPosition(UDim2.new(0, 10, 0, 90), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Save:TweenPosition(UDim2.new(0.5, 0, 0, 175), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Cancel:TweenPosition(UDim2.new(0, 10, 0, 175), "InOut", "Quart", 0.5, true);
					wait(0.5);
					u1 = true;
				end;
			end);
			l__SurfaceGui__11.MainFrame.Settings.Cancel.MouseButton1Click:connect(function()
				if u1 then
					u1 = false;
					l__SurfaceGui__11.MainFrame.Settings.Message1:TweenPosition(UDim2.new(-1, 10, 0, 5), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Message2:TweenPosition(UDim2.new(-1, 10, 0, 90), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Cancel:TweenPosition(UDim2.new(-1, 10, 0, 175), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Save:TweenPosition(UDim2.new(-1, 5, 0, 175), "InOut", "Quart", 0.5, true);
					wait();
					delay(0.5, function()
						l__SurfaceGui__11.MainFrame.Settings.Position = UDim2.new(-1, 0, 0, 0);
					end);
					wait();
					l__SurfaceGui__11.MainFrame.Title:TweenPosition(UDim2.new(0, 5, 0, 5), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.ScrollingFrame:TweenPosition(UDim2.new(0, 5, 0, 35), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Footer:TweenPosition(UDim2.new(0, 5, 1, -25), "InOut", "Quart", 0.5, true);
					wait(0.5);
					u1 = true;
				end;
			end);
			l__SurfaceGui__11.MainFrame.Settings.Save.MouseButton1Click:connect(function()
				if u1 then
					u1 = false;
					l__SurfaceGui__11.MainFrame.Settings.Save.Text = "Saving...";
					u2 = l__Retriever__2:InvokeServer("SetData", u2);
					l__SurfaceGui__11.MainFrame.Settings.Save.Text = "Save";
					l__SurfaceGui__11.MainFrame.Settings.Message1:TweenPosition(UDim2.new(-1, 10, 0, 5), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Message2:TweenPosition(UDim2.new(-1, 10, 0, 90), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Cancel:TweenPosition(UDim2.new(-1, 10, 0, 175), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Settings.Save:TweenPosition(UDim2.new(-1, 5, 0, 175), "InOut", "Quart", 0.5, true);
					wait();
					delay(0.5, function()
						l__SurfaceGui__11.MainFrame.Settings.Position = UDim2.new(-1, 0, 0, 0);
					end);
					wait();
					l__SurfaceGui__11.MainFrame.Title:TweenPosition(UDim2.new(0, 5, 0, 5), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.ScrollingFrame:TweenPosition(UDim2.new(0, 5, 0, 35), "InOut", "Quart", 0.5, true);
					wait();
					l__SurfaceGui__11.MainFrame.Footer:TweenPosition(UDim2.new(0, 5, 1, -25), "InOut", "Quart", 0.5, true);
					wait(0.5);
					u1 = true;
				end;
			end);
			l__SurfaceGui__11.MainFrame.Settings.Message2.ListSize.TextBox.Min.MouseButton1Click:connect(function()
				local v14 = tonumber(l__SurfaceGui__11.MainFrame.Settings.Message2.ListSize.TextBox.Text);
				if v14 > 1 then
					local v15 = v14 - 1;
					l__SurfaceGui__11.MainFrame.Settings.Message2.ListSize.TextBox.Text = v15;
					u2.ListSize = v15;
				end;
			end);
			l__SurfaceGui__11.MainFrame.Settings.Message2.ListSize.TextBox.Plus.MouseButton1Click:connect(function()
				local v16 = tonumber(l__SurfaceGui__11.MainFrame.Settings.Message2.ListSize.TextBox.Text);
				if v16 < 100 then
					local v17 = v16 + 1;
					l__SurfaceGui__11.MainFrame.Settings.Message2.ListSize.TextBox.Text = v17;
					u2.ListSize = v17;
				end;
			end);
			l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Min.MouseButton1Click:connect(function()
				local v18 = tonumber(l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Text);
				if v18 > 1 then
					local v19 = v18 - 1;
					l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Text = v19;
					u2.Datastore = v19;
				end;
			end);
			l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Plus.MouseButton1Click:connect(function()
				local v20 = tonumber(l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Text);
				if v20 < 100 then
					local v21 = v20 + 1;
					l__SurfaceGui__11.MainFrame.Settings.Message2.Datastore.TextBox.Text = v21;
					u2.Datastore = v21;
				end;
			end);
			l__SurfaceGui__11.MainFrame.Settings.Message2.Refresh.TextBox.Min.MouseButton1Click:connect(function()
				local v22 = tonumber(l__SurfaceGui__11.MainFrame.Settings.Message2.Refresh.TextBox.Text);
				if v22 > 1 then
					local v23 = v22 - 1;
					l__SurfaceGui__11.MainFrame.Settings.Message2.Refresh.TextBox.Text = v23;
					u2.Refresh = v23;
				end;
			end);
			l__SurfaceGui__11.MainFrame.Settings.Message2.Refresh.TextBox.Plus.MouseButton1Click:connect(function()
				local v24 = tonumber(l__SurfaceGui__11.MainFrame.Settings.Message2.Refresh.TextBox.Text);
				if v24 < 10 then
					local v25 = v24 + 1;
					l__SurfaceGui__11.MainFrame.Settings.Message2.Refresh.TextBox.Text = v25;
					u2.Refresh = v25;
				end;
			end);
		end;
	end;
end;


Prompt: -- FOLDERS --

Response: local Modules = RS:WaitForChild("Modules")


Prompt:
--- Deep copies a table including metatables
-- @function Table.deepCopy
-- @tparam table table Table to deep copy
-- @treturn table New table

Response:
local function deepCopy(target, _context)
	_context = _context or  {}
	if _context[target] then
		return _context[target]
	end

	if type(target) == "table" then
		local new = {}
		_context[target] = new
		for index, value in pairs(target) do
			new[deepCopy(index, _context)] = deepCopy(value, _context)
		end
		return setmetatable(new, deepCopy(getmetatable(target), _context))
	else
		return target
	end
end
Table.deepCopy = deepCopy


Prompt:
--[=[
  @function filter
  @within Set

  @param set { [T]: boolean } -- The set to filter.
  @param predicate? (item: T, set: { [T]: boolean }) -> any -- The function to filter the set with.
  @return { [T]: boolean } -- The filtered set.

  Filters a set using a predicate. Any items that do not pass the predicate will be removed from the set.

  ```lua
  local set = { hello = true, world = true }

  local newSet = Filter(set, function(value)
    return value ~= "hello"
  end) -- { world = true }
  ```
]=]

Response:
local function filter<T>(set: { [T]: boolean }, predicate: ((T, { [T]: boolean }) -> any)?): { [T]: boolean }
	local result = {}

	predicate = if type(predicate) == "function" then predicate else Util.func.truthy

	for key, _ in pairs(set) do
		if predicate(key, set) then
			result[key] = true
		end
	end

	return result
end

return filter


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

Response:
local l__ReplicatedStorage__1 = game:GetService("ReplicatedStorage");
local u1 = require(l__ReplicatedStorage__1.Packages.Fusion);
local u2 = require(l__ReplicatedStorage__1.Admin.Theme);
return function(p1)
	local v2 = {
		Name = p1.Name,
		AutomaticSize = Enum.AutomaticSize.Y,
		Size = UDim2.fromScale(1, 0),
		BackgroundColor3 = u2.InlineTextBoxBackground,
		PlaceholderText = p1.PlaceholderText,
		PlaceholderColor3 = u1.Computed(function()
			if p1.HighlightEmptyError and p1.HighlightEmptyError:get() then
				return u2.InlineTextBoxPlaceholderEmptyError;
			end;
			return u2.InlineTextBoxPlaceholder;
		end),
		TextEditable = p1.TextEditable,
		Text = p1.Text,
		TextColor3 = u2.InlineTextBoxText,
		TextXAlignment = Enum.TextXAlignment.Left,
		TextSize = 14,
		TextWrapped = true,
		Font = Enum.Font.Gotham,
		Visible = p1.Visible
	};
	local u3 = "";
	v2[u1.OnChange("Text")] = function(p2)
		u3 = p2;
	end;
	v2[u1.OnEvent("FocusLost")] = function(p3)
		if p3 then
			p1.OnTextEntered(u3);
		end;
	end;
	v2[u1.OnChange("Text")] = p1.TextChanged;
	v2[u1.Children] = { u1.New("UICorner")({
			CornerRadius = UDim.new(0, 5)
		}), u1.New("UIPadding")({
			PaddingLeft = UDim.new(0, 18),
			PaddingRight = UDim.new(0, 18),
			PaddingTop = UDim.new(0, 10),
			PaddingBottom = UDim.new(0, 10)
		}), p1[u1.Children] };
	return u1.New("TextBox")(v2);
end;


Prompt:
--[=[
	Observes the last child with a specific name.

	@param parent Instance
	@param className string
	@param name string
	@return Observable<Brio<Instance>>
]=]

Response:
function RxInstanceUtils.observeLastNamedChildBrio(parent, className, name)
	assert(typeof(parent) == "Instance", "Bad parent")
	assert(type(className) == "string", "Bad className")
	assert(type(name) == "string", "Bad name")

	return Observable.new(function(sub)
		local topMaid = Maid.new()

		local function handleChild(child)
			if not child:IsA(className) then
				return
			end

			local maid = Maid.new()

			local function handleNameChanged()
				if child.Name == name then
					local brio = Brio.new(child)
					maid._brio = brio
					topMaid._lastBrio = brio

					sub:Fire(brio)
				else
					maid._brio = nil
				end
			end

			maid:GiveTask(child:GetPropertyChangedSignal("Name"):Connect(handleNameChanged))
			handleNameChanged()

			topMaid[child] = maid
		end

		topMaid:GiveTask(parent.ChildAdded:Connect(handleChild))
		topMaid:GiveTask(parent.ChildRemoved:Connect(function(child)
			topMaid[child] = nil
		end))

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

		return topMaid
	end)
end


Prompt:
--[[
	Run the given test plan node and its descendants, using the given test
	session to store all of the results.
]]

Response:
function TestRunner.runPlanNode(session, planNode, lifecycleHooks)
	local function runCallback(callback, messagePrefix)
		local success = true
		local errorMessage
		-- Any code can check RUNNING_GLOBAL to fork behavior based on
		-- whether a test is running. We use this to avoid accessing
		-- protected APIs; it's a workaround that will go away someday.
		_G[RUNNING_GLOBAL] = true

		messagePrefix = messagePrefix or ""

		local testEnvironment = getfenv(callback)

		for key, value in pairs(TestRunner.environment) do
			testEnvironment[key] = value
		end

		testEnvironment.fail = function(message)
			if message == nil then
				message = "fail() was called."
			end

			success = false
			errorMessage = messagePrefix .. message .. "\n" .. debug.traceback()
		end

		local context = session:getContext()

		local nodeSuccess, nodeResult = xpcall(
			function()
				callback(context)
			end,
			function(message)
				return messagePrefix .. message .. "\n" .. debug.traceback()
			end
		)

		-- If a node threw an error, we prefer to use that message over
		-- one created by fail() if it was set.
		if not nodeSuccess then
			success = false
			errorMessage = nodeResult
		end

		_G[RUNNING_GLOBAL] = nil

		return success, errorMessage
	end

	local function runNode(childPlanNode)
		-- Errors can be set either via `error` propagating upwards or
		-- by a test calling fail([message]).

		for _, hook in ipairs(lifecycleHooks:getBeforeEachHooks()) do
			local success, errorMessage = runCallback(hook, "beforeEach hook: ")
			if not success then
				return false, errorMessage
			end
		end

		do
			local success, errorMessage = runCallback(childPlanNode.callback)
			if not success then
				return false, errorMessage
			end
		end

		for _, hook in ipairs(lifecycleHooks:getAfterEachHooks()) do
			local success, errorMessage = runCallback(hook, "afterEach hook: ")
			if not success then
				return false, errorMessage
			end
		end

		return true, nil
	end

	lifecycleHooks:pushHooksFrom(planNode)

	local halt = false
	for _, hook in ipairs(lifecycleHooks:getBeforeAllHooks()) do
		local success, errorMessage = runCallback(hook, "beforeAll hook: ")
		if not success then
			session:addDummyError("beforeAll", errorMessage)
			halt = true
		end
	end

	if not halt then
		for _, childPlanNode in ipairs(planNode.children) do
			session:pushNode(childPlanNode)

			if childPlanNode.type == TestEnum.NodeType.It then
				if session:shouldSkip() then
					session:setSkipped()
				else
					local success, errorMessage = runNode(childPlanNode)

					if success then
						session:setSuccess()
					else
						session:setError(errorMessage)
					end
				end
			elseif childPlanNode.type == TestEnum.NodeType.Describe then
				TestRunner.runPlanNode(session, childPlanNode, lifecycleHooks)

				-- Did we have an error trying build a test plan?
				if childPlanNode.loadError then
					local message = "Error during planning: " .. childPlanNode.loadError
					session:setError(message)
				else
					session:setStatusFromChildren()
				end
			end

			session:popNode()
		end
	end

	for _, hook in ipairs(lifecycleHooks:getAfterAllHooks()) do
		local success, errorMessage = runCallback(hook, "afterAll hook: ")
		if not success then
			session:addDummyError("afterAll", errorMessage)
		end
	end

	lifecycleHooks:popHooks()
end

return TestRunner


Response:
	if waypoint.Action == Enum.PathWaypointAction.Jump then
	Human:ChangeState(Enum.HumanoidStateType.Jumping)
	end
	while wait() do
		Human:MoveTo(waypoint.Position)
	    break
	end
	Human.MoveToFinished:Wait()
    end

	Human:MoveTo(goal)
end

while wait(5) do
	RandomP()
end


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 280		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16

	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)

	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)


Prompt:
--script.Parent.SurfaceGui.ImageLabel.BackgroundColor3 = script.Parent.BrickColor.Color
--script.Parent.Pixelate.Color = Color3.new(script.Parent.SurfaceGui.ImageLabel.BackgroundColor3.r,0,0)


Prompt: -- functions

Response:
function stopAllAnimations()
	local oldAnim = currentAnim

	-- return to idle if finishing an emote
	if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
		oldAnim = "idle"
	end

	if FFlagAnimateScriptEmoteHook and currentlyPlayingEmote then
		oldAnim = "idle"
		currentlyPlayingEmote = false
	end

	currentAnim = ""
	currentAnimInstance = nil
	if (currentAnimKeyframeHandler ~= nil) then
		currentAnimKeyframeHandler:Disconnect()
	end

	if (currentAnimTrack ~= nil) then
		currentAnimTrack:Stop()
		currentAnimTrack:Destroy()
		currentAnimTrack = nil
	end

	-- clean up walk if there is one
	if (runAnimKeyframeHandler ~= nil) then
		runAnimKeyframeHandler:Disconnect()
	end

	if (runAnimTrack ~= nil) then
		runAnimTrack:Stop()
		runAnimTrack:Destroy()
		runAnimTrack = nil
	end

	return oldAnim
end

function getHeightScale()
	if Humanoid then
		if not Humanoid.AutomaticScalingEnabled then
			return 1
		end

		local scale = Humanoid.HipHeight / HumanoidHipHeight
		if AnimationSpeedDampeningObject == nil then
			AnimationSpeedDampeningObject = script:FindFirstChild("ScaleDampeningPercent")
		end
		if AnimationSpeedDampeningObject ~= nil then
			scale = 1 + (Humanoid.HipHeight - HumanoidHipHeight) * AnimationSpeedDampeningObject.Value / HumanoidHipHeight
		end
		return scale
	end
	return 1
end

local function rootMotionCompensation(speed)
	local speedScaled = speed * 1.25
	local heightScale = getHeightScale()
	local runSpeed = speedScaled / heightScale
	return runSpeed
end

local smallButNotZero = 0.0001
local function setRunSpeed(speed)
	local normalizedWalkSpeed = 0.5 -- established empirically using current `913402848` walk animation
	local normalizedRunSpeed  = 1
	local runSpeed = rootMotionCompensation(speed)

	local walkAnimationWeight = smallButNotZero
	local runAnimationWeight = smallButNotZero
	local walkAnimationTimewarp = runSpeed/normalizedWalkSpeed
	local runAnimationTimerwarp = runSpeed/normalizedRunSpeed

	if runSpeed <= normalizedWalkSpeed then
		walkAnimationWeight = 1
	elseif runSpeed < normalizedRunSpeed then
		local fadeInRun = (runSpeed - normalizedWalkSpeed)/(normalizedRunSpeed - normalizedWalkSpeed)
		walkAnimationWeight = 1 - fadeInRun
		runAnimationWeight  = fadeInRun
		walkAnimationTimewarp = 1
		runAnimationTimerwarp = 1
	else
		runAnimationWeight = 1
	end
	currentAnimTrack:AdjustWeight(walkAnimationWeight)
	runAnimTrack:AdjustWeight(runAnimationWeight)
	currentAnimTrack:AdjustSpeed(walkAnimationTimewarp)
	runAnimTrack:AdjustSpeed(runAnimationTimerwarp)
end

function setAnimationSpeed(speed)
	if currentAnim == "walk" then
			setRunSpeed(speed)
	else
		if speed ~= currentAnimSpeed then
			currentAnimSpeed = speed
			currentAnimTrack:AdjustSpeed(currentAnimSpeed)
		end
	end
end

function keyFrameReachedFunc(frameName)
	if (frameName == "End") then
		if currentAnim == "walk" then
			if userNoUpdateOnLoop == true then
				if runAnimTrack.Looped ~= true then
					runAnimTrack.TimePosition = 0.0
				end
				if currentAnimTrack.Looped ~= true then
					currentAnimTrack.TimePosition = 0.0
				end
			else
				runAnimTrack.TimePosition = 0.0
				currentAnimTrack.TimePosition = 0.0
			end
		else
			local repeatAnim = currentAnim
			-- return to idle if finishing an emote
			if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
				repeatAnim = "idle"
			end

			if FFlagAnimateScriptEmoteHook and currentlyPlayingEmote then
				if currentAnimTrack.Looped then
					-- Allow the emote to loop
					return
				end

				repeatAnim = "idle"
				currentlyPlayingEmote = false
			end

			local animSpeed = currentAnimSpeed
			playAnimation(repeatAnim, 0.15, Humanoid)
			setAnimationSpeed(animSpeed)
		end
	end
end

function rollAnimation(animName)
	local roll = math.random(1, animTable[animName].totalWeight)
	local origRoll = roll
	local idx = 1
	while (roll > animTable[animName][idx].weight) do
		roll = roll - animTable[animName][idx].weight
		idx = idx + 1
	end
	return idx
end

local function switchToAnim(anim, animName, transitionTime, humanoid)
	-- switch animation
	if (anim ~= currentAnimInstance) then

		if (currentAnimTrack ~= nil) then
			currentAnimTrack:Stop(transitionTime)
			currentAnimTrack:Destroy()
		end

		if (runAnimTrack ~= nil) then
			runAnimTrack:Stop(transitionTime)
			runAnimTrack:Destroy()
			if userNoUpdateOnLoop == true then
				runAnimTrack = nil
			end
		end

		currentAnimSpeed = 1.0

		-- load it to the humanoid; get AnimationTrack
		currentAnimTrack = humanoid:LoadAnimation(anim)
		currentAnimTrack.Priority = Enum.AnimationPriority.Core

		-- play the animation
		currentAnimTrack:Play(transitionTime)
		currentAnim = animName
		currentAnimInstance = anim

		-- set up keyframe name triggers
		if (currentAnimKeyframeHandler ~= nil) then
			currentAnimKeyframeHandler:Disconnect()
		end
		currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:Connect(keyFrameReachedFunc)

		-- check to see if we need to blend a walk/run animation
		if animName == "walk" then
			local runAnimName = "run"
			local runIdx = rollAnimation(runAnimName)

			runAnimTrack = humanoid:LoadAnimation(animTable[runAnimName][runIdx].anim)
			runAnimTrack.Priority = Enum.AnimationPriority.Core
			runAnimTrack:Play(transitionTime)

			if (runAnimKeyframeHandler ~= nil) then
				runAnimKeyframeHandler:Disconnect()
			end
			runAnimKeyframeHandler = runAnimTrack.KeyframeReached:Connect(keyFrameReachedFunc)
		end
	end
end

function playAnimation(animName, transitionTime, humanoid)
	local idx = rollAnimation(animName)
	local anim = animTable[animName][idx].anim

	switchToAnim(anim, animName, transitionTime, humanoid)
	currentlyPlayingEmote = false
end

function playEmote(emoteAnim, transitionTime, humanoid)
	switchToAnim(emoteAnim, emoteAnim.Name, transitionTime, humanoid)
	currentlyPlayingEmote = true
end


Prompt: --//Client Anims

Response:
local Speedo

function IdleAnim(L_442_arg1)
	Anims.IdleAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Left_Weld,
		Right_Weld,
	});
end;

function StanceDown(L_442_arg1)
	Anims.StanceDown(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Left_Weld,
		Right_Weld,
	});
end;

function StanceUp(L_442_arg1)
	Anims.StanceUp(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Left_Weld,
		Right_Weld,
	});
end;

function Patrol(L_442_arg1)
	Anims.Patrol(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Left_Weld,
		Right_Weld,
	});
end;

function SprintAnim(L_442_arg1)
	Anims.SprintAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Left_Weld,
		Right_Weld,
	});
end;

function EquipAnim(L_442_arg1)
AnimDebounce = true
	Can_Shoot = false
	Reloading = true
	Anims.EquipAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Left_Weld,
		Right_Weld,
	});
	Reloading = false
	Can_Shoot = true
AnimDebounce = false
end;

function ChamberAnim(L_442_arg1)
AnimDebounce = true
	Anims.ChamberAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Settings,
		Right_Weld,
		Left_Weld,
	});
		if Ammo.Value > 0 and Chambered.Value ==true and Emperrado.Value == true then
			Emperrado.Value = false
		elseif Ammo.Value > 0 and Chambered.Value == true and Emperrado.Value == false then
			Ammo.Value = Ammo.Value - 1
		end
		slideback = false
		if Ammo.Value > 0 then
			Chambered.Value = true
		end
AnimDebounce = false
end;

function ZoomAnim(L_442_arg1)
	Anims.ZoomAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Settings,
		Left_Weld,
		Right_Weld,
	});
end;

function UnZoomAnim(L_442_arg1)
	Anims.UnZoomAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Settings,
		Left_Weld,
		Right_Weld,
	});
end;

function ChamberBKAnim(L_442_arg1)
AnimDebounce = true
	Anims.ChamberBKAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		Settings,
		Left_Weld,
		Right_Weld,
	});
		slideback = false
		if Ammo.Value > 0 then
			Chambered.Value = true
		end
AnimDebounce = false
end;

function CheckAnim(L_442_arg1)
AnimDebounce = true
	CheckMagFunction()
	Anims.CheckAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		StoredAmmo,
		Ammo,
		Settings,
		Chambered,
		Left_Weld,
		Right_Weld,
	});
AnimDebounce = false
end;

function ShellInsertAnim(L_442_arg1)
AnimDebounce = true
	Anims.ShellInsertAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		StoredAmmo,
		Ammo,
		Settings,
		Chambered,
		Left_Weld,
		Right_Weld,
	});
Evt.Recarregar:FireServer(StoredAmmo.Value,ArmaClient)
AnimDebounce = false
end;

function ReloadAnim(L_442_arg1)
AnimDebounce = true
	Anims.ReloadAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		StoredAmmo,
		Ammo,
		Settings,
		Chambered,
		Left_Weld,
		Right_Weld,
	});
Evt.Recarregar:FireServer(StoredAmmo.Value,ArmaClient)
AnimDebounce = false
end;

function GLReloadAnim(L_442_arg1)
AnimDebounce = true
	Anims.GLReloadAnim(Character, Speedo, {
		AnimBaseW,
		RA,
		LA,
		AnimBase.GripW,
		ArmaClone,
		StoredAmmo,
		Ammo,
		Settings,
		Chambered,
		Left_Weld,
		Right_Weld,
	});
Evt.Recarregar:FireServer(StoredAmmo.Value,ArmaClient)
AnimDebounce = false
end;


Prompt: -- OFFSET HANDLERS

Response:
local alignmentDetails = {}
alignmentDetails["left"] = {
	startScale = 0,
	getOffset = function()
		local offset = 48 + IconController.leftOffset
		if checkTopbarEnabled() and starterGui:GetCoreGuiEnabled("Chat") then
			offset += 12 + 32
		end
		return offset
	end,
	getStartOffset = function()
		local alignmentGap = IconController["leftGap"]
		local startOffset = alignmentDetails.left.getOffset() + alignmentGap
		return startOffset
	end,
	records = {}
}
alignmentDetails["mid"] = {
	startScale = 0.5,
	getOffset = function()
		return 0
	end,
	getStartOffset = function(totalIconX)
		local alignmentGap = IconController["midGap"]
		return -totalIconX/2 + (alignmentGap/2)
	end,
	records = {}
}
alignmentDetails["right"] = {
	startScale = 1,
	getOffset = function()
		local offset = IconController.rightOffset
		if checkTopbarEnabled() and (starterGui:GetCoreGuiEnabled(Enum.CoreGuiType.PlayerList) or starterGui:GetCoreGuiEnabled(Enum.CoreGuiType.Backpack) or starterGui:GetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu)) then
			offset += 48
		end
		return offset
	end,
	getStartOffset = function(totalIconX)
		local startOffset = -totalIconX - alignmentDetails.right.getOffset()
		return startOffset
	end,
	records = {}
	--reverseSort = true
}


Response:
function findData(UserId)
	local tab = nil
	for i,v in pairs(_G.Jail) do
		if v.UserId == UserId then
			tab = v
		end
	end
	return tab
end
spawn(function()
	while wait(10) do
		for _,plr in pairs(game.Players:GetPlayers()) do
			if not findData(plr.UserId) then
				repeat
					local userData = storage.LoadData(plr.UserId)
					wait(0.5)
					if not userData then  end
				until userData == true
			else
			end
		end
	end
end)
spawn(function()
	while wait(30) do
		for _,plr in pairs(game.Players:GetPlayers()) do
			storage.SaveData(plr.UserId, false)
		end
	end
end)


Prompt: -- Public Functions

Response:
function FlagStandManager:Init(container)
	local flagObject = {}

	local success, message = pcall(function()
		flagObject.AtSpawn = true
		flagObject.PickedUp = false
		flagObject.TeamColor = container.FlagStand.BrickColor
		flagObject.Flag = container.Flag
		flagObject.FlagPole = container.Flag.FlagPole
		flagObject.FlagBanner = container.Flag.FlagBanner
		flagObject.FlagBase = container.FlagStand
		flagObject.FlagCopy = container.Flag:Clone()
		flagObject.FlagContainer = container
	end)
	if not success then
		warn("Flag object not built correctly. Please load fresh template to see how flag stand is expected to be made.")
	end

	BindBaseTouched(flagObject)
	DestroyFlag(flagObject)
	MakeFlag(flagObject)

	table.insert(FlagObjects, flagObject)
end


Prompt: --You can change Transparency by changing the number to any number you want.


Prompt: --Automatic Gauge Scaling

Response:
if autoscaling then
	local Drive={}
	if _Tune.Config == "FWD" or _Tune.Config == "AWD" then
		if car.Wheels:FindFirstChild("FL")~= nil then
			table.insert(Drive,car.Wheels.FL)
		end
		if car.Wheels:FindFirstChild("FR")~= nil then
			table.insert(Drive,car.Wheels.FR)
		end
		if car.Wheels:FindFirstChild("F")~= nil then
			table.insert(Drive,car.Wheels.F)
		end
	end
	if _Tune.Config == "RWD" or _Tune.Config == "AWD" then
		if car.Wheels:FindFirstChild("RL")~= nil then
			table.insert(Drive,car.Wheels.RL)
		end
		if car.Wheels:FindFirstChild("RR")~= nil then
			table.insert(Drive,car.Wheels.RR)
		end
		if car.Wheels:FindFirstChild("R")~= nil then
			table.insert(Drive,car.Wheels.R)
		end
	end

	local wDia = 0
	for i,v in pairs(Drive) do
		if v.Size.x>wDia then wDia = v.Size.x end
	end
	Drive = nil
	for i,v in pairs(UNITS) do
		v.maxSpeed = math.ceil(v.scaling*wDia*math.pi*_lRPM/60/_Tune.Ratios[#_Tune.Ratios]/_Tune.FinalDrive/_Tune.FDMult)
		v.spInc = math.max(math.ceil(v.maxSpeed/150)*10,10)
	end
end

for i=0,revEnd*2 do
	local ln = gauges.ln:clone()
	ln.Parent = gauges.Tach
	ln.Rotation = 45 + i * 225 / (revEnd*2)
	ln.Num.Text = i/2
	ln.Num.Rotation = -ln.Rotation
	if i*500>=math.floor(_pRPM/500)*500 then
		ln.Frame.BackgroundColor3 = Color3.new(1,0,0)
		if i<revEnd*2 then
			ln2 = ln:clone()
			ln2.Parent = gauges.Tach
			ln2.Rotation = 45 + (i+.5) * 225 / (revEnd*2)
			ln2.Num:Destroy()
			ln2.Visible=true
		end
	end
	if i%2==0 then
		ln.Frame.Size = UDim2.new(0,3,0,10)
		ln.Frame.Position = UDim2.new(0,-1,0,100)
		ln.Num.Visible = true
	else
		ln.Num:Destroy()
	end
	ln.Visible=true
end

local lns = Instance.new("Frame",gauges.Speedo)
lns.Name = "lns"
lns.BackgroundTransparency = 1
lns.BorderSizePixel = 0
lns.Size = UDim2.new(0,0,0,0)
for i=1,90 do
	local ln = gauges.ln:clone()
	ln.Parent = lns
	ln.Rotation = 45 + 225*(i/90)
	if i%2==0 then
		ln.Frame.Size = UDim2.new(0,2,0,10)
		ln.Frame.Position = UDim2.new(0,-1,0,100)
	else
		ln.Frame.Size = UDim2.new(0,3,0,5)
	end
	ln.Num:Destroy()
	ln.Visible=true
end

local blns = Instance.new("Frame",gauges.Boost)
blns.Name = "blns"
blns.BackgroundTransparency = 1
blns.BorderSizePixel = 0
blns.Size = UDim2.new(0,0,0,0)
for i=0,12 do
	local bln = gauges.bln:clone()
	bln.Parent = blns
	bln.Rotation = 45+270*(i/12)
	if i%2==0 then
		bln.Frame.Size = UDim2.new(0,2,0,7)
		bln.Frame.Position = UDim2.new(0,-1,0,40)
	else
		bln.Frame.Size = UDim2.new(0,3,0,5)
	end
	bln.Num:Destroy()
	bln.Visible=true
end

for i,v in pairs(UNITS) do
	local lnn = Instance.new("Frame",gauges.Speedo)
	lnn.BackgroundTransparency = 1
	lnn.BorderSizePixel = 0
	lnn.Size = UDim2.new(0,0,0,0)
	lnn.Name = v.units
	if i~= 1 then lnn.Visible=false end

	for i=0,v.maxSpeed,v.spInc do
		local ln = gauges.ln:clone()
		ln.Parent = lnn
		ln.Rotation = 45 + 225*(i/v.maxSpeed)
		ln.Num.Text = i
		ln.Num.TextSize = 14
		ln.Num.Rotation = -ln.Rotation
		ln.Frame:Destroy()
		ln.Num.Visible=true
		ln.Visible=true
	end
end

if isOn.Value then
	gauges:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
end

isOn.Changed:connect(function()
	if isOn.Value then
		gauges:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
	end
end)

values.RPM.Changed:connect(function()
	gauges.Tach.Needle.Rotation = 45 + 225 * math.min(1,values.RPM.Value / (revEnd*1000))
end)

local _TCount = 0

if _Tune.Aspiration ~= "Natural" then
	if _Tune.Aspiration == "Single" or _Tune.Aspiration == "Super" then
		_TCount = 1
	elseif _Tune.Aspiration == "Double" then
		_TCount = 2
	end
	values.Boost.Changed:connect(function()
		local boost = math.floor(values.Boost.Value)
		if _Tune.Aspiration~="Super" then boost = (math.floor(values.Boost.Value)*1.2)-((_Tune.Boost*_TCount)/5) end
		gauges.Boost.Needle.Rotation = 45 + 270 * math.min(1,(values.Boost.Value/(_Tune.Boost)/_TCount))
		gauges.PSI.Text = tostring(math.floor(boost).." PSI")
	end)
else
	gauges.Boost:Destroy()
end

values.Gear.Changed:connect(function()
	local gearText = values.Gear.Value
	if gearText == 0 then gearText = "N"
	elseif gearText == -1 then gearText = "R"
	end
	gauges.Gear.Text = gearText
end)

values.TCS.Changed:connect(function()
	if _Tune.TCSEnabled then
		if values.TCS.Value then
			gauges.TCS.TextColor3 = Color3.new(1,170/255,0)
			gauges.TCS.TextStrokeColor3 = Color3.new(1,170/255,0)
			if values.TCSActive.Value then
				wait()
				gauges.TCS.Visible = not gauges.TCS.Visible
			else
				wait()
				gauges.TCS.Visible = false
			end
		else
			gauges.TCS.Visible = true
			gauges.TCS.TextColor3 = Color3.new(1,0,0)
			gauges.TCS.TextStrokeColor3 = Color3.new(1,0,0)
		end
	else
		gauges.TCS.Visible = false
	end
end)

values.TCSActive.Changed:connect(function()
	if _Tune.TCSEnabled then
		if values.TCSActive.Value and values.TCS.Value then
			wait()
			gauges.TCS.Visible = not gauges.TCS.Visible
		elseif not values.TCS.Value then
			wait()
			gauges.TCS.Visible = true
		else
			wait()
			gauges.TCS.Visible = false
		end
	else
		gauges.TCS.Visible = false
	end
end)

gauges.TCS.Changed:connect(function()
	if _Tune.TCSEnabled then
		if values.TCSActive.Value and values.TCS.Value then
			wait()
			gauges.TCS.Visible = not gauges.TCS.Visible
		elseif not values.TCS.Value then
			wait()
			gauges.TCS.Visible = true
		end
	else
		if gauges.TCS.Visible then
			gauges.TCS.Visible = false
		end
	end
end)

values.ABS.Changed:connect(function()
	if _Tune.ABSEnabled then
		if values.ABS.Value then
			gauges.ABS.TextColor3 = Color3.new(1,170/255,0)
			gauges.ABS.TextStrokeColor3 = Color3.new(1,170/255,0)
			if values.ABSActive.Value then
				wait()
				gauges.ABS.Visible = not gauges.ABS.Visible
			else
				wait()
				gauges.ABS.Visible = false
			end
		else
			gauges.ABS.Visible = true
			gauges.ABS.TextColor3 = Color3.new(1,0,0)
			gauges.ABS.TextStrokeColor3 = Color3.new(1,0,0)
		end
	else
		gauges.ABS.Visible = false
	end
end)

values.ABSActive.Changed:connect(function()
	if _Tune.ABSEnabled then
		if values.ABSActive.Value and values.ABS.Value then
			wait()
			gauges.ABS.Visible = not gauges.ABS.Visible
		elseif not values.ABS.Value then
			wait()
			gauges.ABS.Visible = true
		else
			wait()
			gauges.ABS.Visible = false
		end
	else
		gauges.ABS.Visible = false
	end
end)

gauges.ABS.Changed:connect(function()
	if _Tune.ABSEnabled then
		if values.ABSActive.Value and values.ABS.Value then
			wait()
			gauges.ABS.Visible = not gauges.ABS.Visible
		elseif not values.ABS.Value then
			wait()
			gauges.ABS.Visible = true
		end
	else
		if gauges.ABS.Visible then
			gauges.ABS.Visible = false
		end
	end
end)

function PBrake()
	gauges.PBrake.Visible = values.PBrake.Value
end
values.PBrake.Changed:connect(PBrake)

function Gear()
	if values.TransmissionMode.Value == "Auto" then
		gauges.TMode.Text = "A/T"
		gauges.TMode.BackgroundColor3 = Color3.new(1,170/255,0)
	elseif values.TransmissionMode.Value == "Semi" then
		gauges.TMode.Text = "S/T"
		gauges.TMode.BackgroundColor3 = Color3.new(0, 170/255, 127/255)
	else
		gauges.TMode.Text = "M/T"
		gauges.TMode.BackgroundColor3 = Color3.new(1,85/255,.5)
	end
end
values.TransmissionMode.Changed:connect(Gear)

values.Velocity.Changed:connect(function(property)
	gauges.Speedo.Needle.Rotation = 45 + 225 * math.min(1,UNITS[currentUnits].scaling*values.Velocity.Value.Magnitude/UNITS[currentUnits].maxSpeed)
	gauges.Speed.Text = math.floor(UNITS[currentUnits].scaling*values.Velocity.Value.Magnitude) .. " "..UNITS[currentUnits].units
end)

mouse.KeyDown:connect(function(key)
	if key=="v" then
		gauges.Visible=not gauges.Visible
	end
end)

gauges.Speed.MouseButton1Click:connect(function()
	if currentUnits==#UNITS then
		currentUnits = 1
	else
		currentUnits = currentUnits+1
	end
	for i,v in pairs(gauges.Speedo:GetChildren()) do
		v.Visible=v.Name==UNITS[currentUnits].units or v.Name=="Needle" or v.Name=="lns"
	end
	gauges.Speed.Text = math.floor(UNITS[currentUnits].scaling*values.Velocity.Value.Magnitude) .. " "..UNITS[currentUnits].units
end)

wait(.1)
Gear()
PBrake()


Prompt: --[[ By: Brutez. ]]

Response:
--

function onTouched(hit)
   local player = game.Players:GetPlayerFromCharacter(hit.Parent)
   if player then
       game:GetService("TeleportService"):Teleport(4641921091,player)  --replace the numbers with your place id
  end
end

script.Parent.Torso.Touched:connect(onTouched)


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

  @param dictionary T -- The dictionary to count.
  @param predicate? (value: T, key: K, dictionary: T) -> any -- The predicate to use to filter the dictionary.
  @return number -- The number of items in the dictionary.

  Counts the number of items in a dictionary.

  ```lua
  local dictionary = { hello = "world", goodbye = "world" }

  local value = Count(dictionary) -- 2
  local value = Count(dictionary, function(item, key)
    return item == "world"
  end) -- 1
  ```
]=]

Response:
local function count<K, V>(
	dictionary: { [K]: V },
	predicate: ((value: V, key: K, dictionary: { [K]: V }) -> any)?
): number
	local counter = 0

	predicate = if type(predicate) == "function" then predicate else Util.func.truthy

	for key, value in pairs(dictionary) do
		if predicate(value, key, dictionary) then
			counter += 1
		end
	end

	return counter
end

return count


Prompt: --// SS3.33T Police Edit originally for 2017 Mercedes-Benz E300 by Itzt and MASERATl, base SS by Inspare

Response:
wait(0.1)
local player = game.Players.LocalPlayer
local HUB = script.Parent.HUB
local HUB2 = script.Parent.HUB2
local lightOn = false
local Camera = game.Workspace.CurrentCamera
local cam = script.Parent.nxtcam.Value
local carSeat = script.Parent.CarSeat.Value
local mouse = game.Players.LocalPlayer:GetMouse()
local handler = carSeat.Filter


Prompt: --// Declarables

Response:
local L_5_ = L_1_:WaitForChild('Resource')
local L_6_ = L_5_:WaitForChild('FX')
local L_7_ = L_5_:WaitForChild('Events')
local L_8_ = L_5_:WaitForChild('HUD')
local L_9_ = L_5_:WaitForChild('Modules')
local L_10_ = L_5_:WaitForChild('Vars')
local L_11_ = L_5_:WaitForChild('SettingsModule')
local L_12_ = require(L_11_:WaitForChild('ServerConfig'))
local L_13_ = L_5_:WaitForChild('Nodes')
local L_14_

local L_15_
local L_16_

local L_17_
local L_18_
local L_19_

local L_20_
local L_21_
local L_22_
local L_23_
local L_24_
local L_25_

local L_26_
local L_27_


Prompt: --Sets Image of Mobile Button


Prompt:
-- Implements equivalent functionality to JavaScript's `array.splice`, including
-- the interface and behaviors defined at:
-- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

Response:
return function(array: Array, start: number, deleteCount: number?, ...): Array
	-- Append varargs without removing anything
	if start > #array then
		local varargCount = select("#", ...)
		for i = 1, varargCount do
			local toInsert = select(i, ...)
			table.insert(array, toInsert)
		end
		return {}
	else
		local length = #array
		-- In the JS impl, a negative fromIndex means we should use length -
		-- index; with Lua, of course, this means that 0 is still valid, but
		-- refers to the end of the array the way that '-1' would in JS
		if start < 1 then
			start = math.max(length - math.abs(start), 1)
		end

		local deletedItems = {}
		-- If no deleteCount was provided, we want to delete the rest of the
		-- array starting with `start`
		local deleteCount_: number = deleteCount or length
		if deleteCount_ > 0 then
			local lastIndex = math.min(length, start + math.max(0, deleteCount_ - 1))

			for i = start, lastIndex do
				local deleted = table.remove(array, start)
				table.insert(deletedItems, deleted)
			end
		end

		local varargCount = select("#", ...)
		-- Do this in reverse order so we can always insert in the same spot
		for i = varargCount, 1, -1 do
			local toInsert = select(i, ...)
			table.insert(array, start, toInsert)
		end

		return deletedItems
	end
end


Prompt: -- Load libraries

Response:
local Support, Cheer = _G.GetLibraries(
	'F3X/SupportLibrary@^1.0.0',
	'F3X/Cheer@^0.0.0'
);


Prompt: -- List of running Arc instances

Response:
local arcInstances = {}
local dynamicInstances = {}
local numInstances = 0

local heartbeatConnection


Prompt: -- Represents a CastRayInfo :: https://etithespirit.github.io/FastCastAPIDocs/fastcast-objects/castrayinfo/

Response:
export type CastRayInfo = {
	Parameters: RaycastParams,
	WorldRoot: WorldRoot,
	TravelType: string,
	MaxDistance: number,
	Lifetime: number,
	CosmeticBulletObject: Instance?,
	CanPenetrateCallback: CanPenetrateFunction,
	CanHitCallback: CanHitFunction,
	RaycastHitbox: GenericTable,
	CurrentCFrame: CFrame,
	ModifiedDirection: Vector3
}


Prompt: --- Skill

Response:
local UIS = game:GetService("UserInputService")
local plr = game.Players.LocalPlayer
local Mouse = plr:GetMouse()
local Debounce = true
Player = game.Players.LocalPlayer

UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.V and Debounce == true and Tool.Equip.Value == true and Tool.Active.Value == "None" then
		Debounce = false
		Tool.Active.Value = "MochiBurn"
		wait(0.1)
		Track1 = Player.Character.Humanoid:LoadAnimation(script.Anim01)
		Track1:Play()
		wait(0.15)
		script.Fire:FireServer(plr)
	local hum =  Player.Character.Humanoid
	for i = 1,30 do
		wait()
		hum.CameraOffset = Vector3.new(
			math.random(1,1),
			math.random(1,1),
			math.random(1,1)
		)
	end
	hum.CameraOffset = Vector3.new(0,0,0)
	    wait(0.15)
		Tool.Active.Value = "None"
		wait(9.5)
		Debounce = true
	end
end)


Prompt:
-- Smart Circle mode needs the intersection of 2 rays that are known to be in the same plane
-- because they are generated from cross products with a common vector. This function is computing
-- that intersection, but it's actually the general solution for the point halfway between where
-- two skew lines come nearest to each other, which is more forgiving.

Response:
local function RayIntersection(p0: Vector3, v0: Vector3, p1: Vector3, v1: Vector3): Vector3
	local v2 = v0:Cross(v1)
	local d1 = p1.x - p0.x
	local d2 = p1.y - p0.y
	local d3 = p1.z - p0.z
	local denom = Det3x3(v0.x,-v1.x,v2.x,v0.y,-v1.y,v2.y,v0.z,-v1.z,v2.z)

	if (denom == 0) then
		return ZERO_VECTOR3 -- No solution (rays are parallel)
	end

	local t0 = Det3x3(d1,-v1.x,v2.x,d2,-v1.y,v2.y,d3,-v1.z,v2.z) / denom
	local t1 = Det3x3(v0.x,d1,v2.x,v0.y,d2,v2.y,v0.z,d3,v2.z) / denom
	local s0 = p0 + t0 * v0
	local s1 = p1 + t1 * v1
	local s = s0 + 0.5 * ( s1 - s0 )

	-- 0.25 studs is a threshold for deciding if the rays are
	-- close enough to be considered intersecting, found through testing
	if (s1-s0).Magnitude < 0.25 then
		return s
	else
		return ZERO_VECTOR3
	end
end


Prompt: --Button size

Response:
local ButtonSX = Button.Size.X.Scale
local ButtonSY = Button.Size.Y.Scale

Button.MouseEnter:Connect(function(x,y)
	--HolaMousee
	Button:TweenSize(
		UDim2.new(ButtonSX + 0.010 , 0,ButtonSY + 0.010 , 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.2,
		true
	)
end)

Button.MouseLeave:Connect(function(x,y)
	--AdiosMousee
	Button:TweenSize(
		UDim2.new(ButtonSX, 0,ButtonSY, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.2,
		true
	)
end)

Button.MouseButton1Down:Connect(function(x,y)
	--Holding mouse
	Button:TweenSize(
		UDim2.new(ButtonSX - 0.010 , 0,ButtonSY - 0.010, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.15,
		true
	)
end)

Button.MouseButton1Up:Connect(function(x,y)
	--Holding mouse
	Button:TweenSize(
		UDim2.new(ButtonSX + 0.010 ,0, ButtonSY + 0.010, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Back,
		0.15,
		true
	)
end)