local a=game:GetService("\080\108\097\121\101\114\115")local f=game:GetService("\086\082\083\101\114\118\105\099\101")local B=require(script.Parent)local l=Vector3.new(0,1,0)local e=Vector3.new(1,0,1)local Q=Vector2.new(0,0)local o=.25 local d=Vector3.new local Z=CFrame.new local h=math.min local q=math.max local N=math.atan2 local u=math.rad local n=math.abs local function P(a,f,B)if B<f then B=f end return math.clamp(a,f,B)end local function j(a)return a==a and(a~=1/0 and a~=-1/0)end local function H(a)return j(a.x)and(j(a.y)and j(a.z))end

local PlayersService = game:GetService('Players')
local VRService = game:GetService("VRService")

local RootCameraCreator = require(script.Parent)

local UP_VECTOR = Vector3.new(0, 1, 0)
local XZ_VECTOR = Vector3.new(1, 0, 1)
local ZERO_VECTOR2 = Vector2.new(0, 0)

local VR_PITCH_FRACTION = 0.25

local Vector3_new = Vector3.new
local CFrame_new = CFrame.new
local math_min = math.min
local math_max = math.max
local math_atan2 = math.atan2
local math_rad = math.rad
local math_abs = math.abs

local function clamp(value, minValue, maxValue)
	if maxValue < minValue then
		maxValue = minValue
	end
	return math.clamp(value, minValue, maxValue)
end

local function IsFinite(num)
	return num == num and num ~= 1/0 and num ~= -1/0
end

local function IsFiniteVector3(vec3)
	return IsFinite(vec3.x) and IsFinite(vec3.y) and IsFinite(vec3.z)
end
