--// Input Connections
L_106_.InputBegan:connect(function(L_310_arg1, L_311_arg2)
	if not L_311_arg2 and L_15_ then
		if L_310_arg1.UserInputType == (Enum.UserInputType.MouseButton2 or L_310_arg1.KeyCode == Enum.KeyCode.ButtonL2) and not L_78_ and not L_77_ and not L_76_ and L_24_.CanAim and not L_73_ and L_15_ and not L_65_ and not L_66_ then
			if not L_63_ then
				if not L_64_ then
					L_3_.Humanoid.WalkSpeed = 10
					L_154_ = 10
					L_153_ = 0.008
				end
				
				if (L_3_.Head.Position - L_5_.CoordinateFrame.p).magnitude <= 2 then
					L_96_ = L_50_
				end
				L_132_.target = L_55_.CFrame:toObjectSpace(L_44_.CFrame).p
				L_114_:FireServer(true)				
				L_63_ = true
			end
		end;
		
		if L_310_arg1.KeyCode == Enum.KeyCode.E and L_15_ and not L_79_ and not L_80_ then
			L_79_ = true
			L_81_ = false
			L_80_ = true
			LeanRight()
		end
		
		if L_310_arg1.KeyCode == Enum.KeyCode.Q and L_15_ and not L_79_ and not L_81_ then
			L_79_ = true
			L_80_ = false
			L_81_ = true
			LeanLeft()
		end
		
		if L_310_arg1.KeyCode == L_24_.AlternateAimKey and not L_78_ and not L_77_ and not L_76_ and L_24_.CanAim and not L_73_ and L_15_ and not L_65_ and not L_66_ then
			if not L_63_ then
				if not L_64_ then
					L_3_.Humanoid.WalkSpeed = 10
					L_154_ = 10
					L_153_ = 0.008
				end
				L_96_ = L_50_
				L_132_.target = L_55_.CFrame:toObjectSpace(L_44_.CFrame).p
				L_114_:FireServer(true)
				L_63_ = true
			end
		end;
		
		if L_310_arg1.UserInputType == (Enum.UserInputType.MouseButton1 or L_310_arg1.KeyCode == Enum.KeyCode.ButtonR2) and not L_78_ and not L_76_ and L_68_ and L_15_ and not L_65_ and not L_66_ and not L_73_ then
			L_67_ = true
			if not Shooting and L_15_ and not L_82_ then
				if L_102_ > 0 then			
					Shoot()
				end
			elseif not Shooting and L_15_ and L_82_ then
				if L_104_ > 0 then
					Shoot()
				end
			end
		end;
		
		if L_310_arg1.KeyCode == (L_24_.LaserKey or L_310_arg1.KeyCode == Enum.KeyCode.DPadRight) and L_15_ and L_24_.LaserAttached then
			local L_312_ = L_1_:FindFirstChild("LaserLight")
			L_121_.KeyDown[1].Plugin()
		end;
		
		if L_310_arg1.KeyCode == (L_24_.LightKey or L_310_arg1.KeyCode == Enum.KeyCode.ButtonR3) and L_15_ and L_24_.LightAttached then
			local L_313_ = L_1_:FindFirstChild("FlashLight"):FindFirstChild('Light')
			local L_314_ = false
			L_313_.Enabled = not L_313_.Enabled
		end;
		
		if L_15_ and L_310_arg1.KeyCode == (L_24_.FireSelectKey or L_310_arg1.KeyCode == Enum.KeyCode.DPadUp) and not L_78_ and not L_69_ and not L_77_ then
			L_69_ = true
			if L_91_ == 1 then
				if Shooting then
					Shooting = false
				end
				if L_24_.AutoEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and L_24_.BoltAction then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.ExplosiveEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				end
			elseif L_91_ == 2 then
				if Shooting then
					Shooting = false
				end
				if L_24_.BurstEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BurstEnabled and L_24_.BoltAction then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.SemiEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				end
			elseif L_91_ == 3 then
				if Shooting then
					Shooting = false
				end
				if L_24_.BoltAction then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				elseif not L_24_.BoltAction and not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BoltAction and not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BoltAction and not L_24_.SemiEnabled and not L_24_.AutoEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				end
			elseif L_91_ == 4 then
				if Shooting then
					Shooting = false
				end
				if L_24_.ExplosiveEnabled then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				elseif not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				end
			elseif L_91_ == 6 then
				if Shooting then
					Shooting = false
				end
				L_84_ = L_68_
				if L_24_.SemiEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled and L_24_.BoltAction then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				end
			end
			UpdateAmmo()
			FireModeAnim()
			IdleAnim()
			L_69_ = false
		end;
		
		if L_310_arg1.KeyCode == (Enum.KeyCode.F or L_310_arg1.KeyCode == Enum.KeyCode.DPadDown) and not L_78_ and not L_76_ and not L_77_ and not L_66_ and not L_69_ and not L_63_ and not L_65_ and not Shooting and not L_75_ then			
			if not L_72_ and not L_73_ then
				L_73_ = true
				Shooting = false
				L_68_ = false
				L_134_ = time()
				delay(0.6, function()
					if L_102_ ~= L_24_.Ammo and L_102_ > 0 then
						CreateShell()
					end
				end)	
				BoltBackAnim()
				L_72_ = true
			elseif L_72_ and L_73_ then
				BoltForwardAnim()
				Shooting = false
				L_68_ = true
				if L_102_ ~= L_24_.Ammo and L_102_ > 0 then
					L_102_ = L_102_ - 1
				elseif L_102_ >= L_24_.Ammo then
					L_68_ = true
				end						
				L_72_ = false
				L_73_ = false
				IdleAnim()
				L_74_ = false
			end
			UpdateAmmo()
		end;
		
		if L_310_arg1.KeyCode == (Enum.KeyCode.LeftShift or L_310_arg1.KeyCode == Enum.KeyCode.ButtonL3) and not L_77_ and not L_76_ and L_145_ then
			L_70_ = true
			if L_15_ and not L_69_ and not L_66_ and L_70_ and not L_64_ and not L_73_ then
				Shooting = false
				L_63_ = false
				L_66_ = true
						
				delay(0, function()
					if L_66_ and not L_65_ then
						L_63_ = false
						L_71_ = true
					end
				end)
				L_96_ = 80
				L_3_.Humanoid.WalkSpeed = L_24_.SprintSpeed
				L_154_ = L_24_.SprintSpeed
				L_153_ = 0.4
			end
		end;
		
		if L_310_arg1.KeyCode == (Enum.KeyCode.R or L_310_arg1.KeyCode == Enum.KeyCode.ButtonX) and not L_78_ and not L_77_ and not L_76_ and L_15_ and not L_65_ and not L_63_ and not Shooting and not L_66_ and not L_73_ then		
			if not L_82_ then			
				if L_103_ > 0 and L_102_ < L_24_.Ammo then
					Shooting = false
					L_65_ = true
					
					for L_315_forvar1, L_316_forvar2 in pairs(game.Players:GetChildren()) do
						if L_316_forvar2 and L_316_forvar2:IsA('Player') and L_316_forvar2 ~= L_2_ and L_316_forvar2.TeamColor == L_2_.TeamColor then
							if (L_316_forvar2.Character.HumanoidRootPart.Position - L_3_.HumanoidRootPart.Position).magnitude  <= 150 then
								if L_7_:FindFirstChild('AHH') and not L_7_.AHH.IsPlaying then
									L_118_:FireServer(L_7_.AHH, L_99_[math.random(0, 23)])
								end
							end
						end
					end
					
					ReloadAnim()
					if L_102_ <= 0 then
						if not L_24_.CanSlideLock then
							BoltBackAnim()
							BoltForwardAnim()
						end
					end
					IdleAnim()
					L_68_ = true
					
					if L_102_ <= 0 then
						if (L_103_ - (L_24_.Ammo - L_102_)) < 0 then
							L_102_ = L_102_ + L_103_
							L_103_ = 0
						else
							L_103_ = L_103_ - (L_24_.Ammo - L_102_)
							L_102_ = L_24_.Ammo
						end
					elseif L_102_ > 0 then
						if (L_103_ - (L_24_.Ammo - L_102_)) < 0 then
							L_102_ = L_102_ + L_103_ + 1
							L_103_ = 0
						else
							L_103_ = L_103_ - (L_24_.Ammo - L_102_)
							L_102_ = L_24_.Ammo + 1
						end
					end
	
					L_65_ = false
					if not L_74_ then
						L_68_ = true
					end
				end;
			elseif L_82_ then
				if L_104_ > 0 then
					Shooting = false
					L_65_ = true
					nadeReload()
					IdleAnim()
					L_65_ = false
					L_68_ = true
				end
			end;
			UpdateAmmo()
		end;
		
		if L_310_arg1.KeyCode == Enum.KeyCode.RightBracket and L_63_ then
			if (L_51_ < 1) then
				L_51_ = L_51_ + L_24_.SensitivityIncrement
			end
		end
		
		if L_310_arg1.KeyCode == Enum.KeyCode.LeftBracket and L_63_ then
			if (L_51_ > 0.1) then
				L_51_ = L_51_ - L_24_.SensitivityIncrement
			end
		end
		
		if L_310_arg1.KeyCode == (Enum.KeyCode.T or L_310_arg1.KeyCode == Enum.KeyCode.DPadLeft) and L_1_:FindFirstChild("AimPart2") then
			if not L_85_ then
				L_55_ = L_1_:WaitForChild("AimPart2")
				L_50_ = L_24_.CycleAimZoom
				if L_63_ then
					L_96_ = L_24_.CycleAimZoom
				end
				L_85_ = true
			else
				L_55_ = L_1_:FindFirstChild("AimPart")
				L_50_ = L_24_.AimZoom
				if L_63_ then
					L_96_ = L_24_.AimZoom
				end
				L_85_ = false
			end;
		end;
		
		if L_310_arg1.KeyCode == L_24_.InspectionKey and not L_78_ and not L_77_ then
			if not L_76_ then
				L_76_ = true
				InspectAnim()
				IdleAnim()
				L_76_ = false
			end
		end;
		
		if L_310_arg1.KeyCode == L_24_.AttachmentKey and not L_78_ and not L_76_ then
			if L_15_ then
				if not L_77_ then
					L_66_ = false
					L_63_ = false
					L_68_ = false
					L_77_ = true
					
					AttachAnim()
				elseif L_77_ then
					L_66_ = false
					L_63_ = false
					L_68_ = true
					L_77_ = false
					
					IdleAnim()
				end
			end
		end;
			
		if L_310_arg1.KeyCode == Enum.KeyCode.P and not L_76_ and not L_77_ and not L_63_ and not L_66_ and not L_64_ and not L_65_ and not Recoiling and not L_66_ then
			if not L_78_ then
				L_78_ = true
				L_14_:Create(L_45_, TweenInfo.new(0.2), {
					C1 = L_24_.SprintPos
				}):Play()
				wait(0.2)
				L_111_:FireServer("Patrol", L_24_.SprintPos)
			else
				L_78_ = false
				L_14_:Create(L_45_, TweenInfo.new(0.2), {
					C1 = CFrame.new()
				}):Play()
				wait(0.2)
				L_111_:FireServer("Unpatrol")
			end
		end;
	end
end)

L_106_.InputEnded:connect(function(L_317_arg1, L_318_arg2)
	if not L_318_arg2 and L_15_ then
		if L_317_arg1.UserInputType == (Enum.UserInputType.MouseButton2 or L_317_arg1.KeyCode == Enum.KeyCode.ButtonL2) and not L_76_ and L_24_.CanAim and not L_77_ then
			if L_63_ then
				if not L_64_ then
					L_3_.Humanoid.WalkSpeed = 16
					L_154_ = 17
					L_153_ = .25
				end	
				L_96_ = 70
				L_132_.target = Vector3.new()
				L_114_:FireServer(false)
				L_63_ = false
			end
		end;
		
		if L_317_arg1.KeyCode == Enum.KeyCode.E and L_15_ and L_79_ then
			Unlean()		
			L_79_ = false
			L_81_ = false
			L_80_ = false
		end
		
		if L_317_arg1.KeyCode == Enum.KeyCode.Q and L_15_ and L_79_ then
			Unlean()		
			L_79_ = false
			L_81_ = false
			L_80_ = false
		end
		
		if L_317_arg1.KeyCode == L_24_.AlternateAimKey and not L_76_ and L_24_.CanAim then
			if L_63_ then
				if not L_64_ then
					L_3_.Humanoid.WalkSpeed = 16
					L_154_ = 17
					L_153_ = .25
				end	
				L_96_ = 70
				L_132_.target = Vector3.new()
				L_114_:FireServer(false)
				L_63_ = false
			end
		end;
		
		if L_317_arg1.UserInputType == (Enum.UserInputType.MouseButton1 or L_317_arg1.KeyCode == Enum.KeyCode.ButtonR2) and not L_76_ then
			L_67_ = false				
			if Shooting then
				Shooting = false
			end
		end;
		
		if L_317_arg1.KeyCode == Enum.KeyCode.E and L_15_ then
			local L_319_ = L_42_:WaitForChild('GameGui')
			if L_16_ then
				L_319_:WaitForChild('AmmoFrame').Visible = false
				L_16_ = false
			end
		end;
		
		if L_317_arg1.KeyCode == (Enum.KeyCode.LeftShift or L_317_arg1.KeyCode == Enum.KeyCode.ButtonL3) and not L_76_ and not L_69_ and not L_64_ then -- SPRINT
			L_70_ = false
			if L_66_ and not L_63_ and not Shooting and not L_70_ then
				L_66_ = false
				L_71_ = false
				L_96_ = 70
			
				L_3_.Humanoid.WalkSpeed = 16	
				L_154_ = 17
				L_153_ = .25			
			end
		end;
	end
end)

L_106_.InputChanged:connect(function(L_320_arg1, L_321_arg2)
	if not L_321_arg2 and L_15_ and L_24_.FirstPersonOnly and L_63_ then
		if L_320_arg1.UserInputType == Enum.UserInputType.MouseWheel then
			if L_320_arg1.Position.Z == 1 and (L_51_ < 1) then
				L_51_ = L_51_ + L_24_.SensitivityIncrement
			elseif L_320_arg1.Position.Z == -1 and (L_51_ > 0.1) then
				L_51_ = L_51_ - L_24_.SensitivityIncrement
			end
		end
	end
end)

L_106_.InputChanged:connect(function(L_322_arg1, L_323_arg2)
	if not L_323_arg2 and L_15_ then
		local L_324_, L_325_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_55_.CFrame.p, (L_55_.CFrame.lookVector).unit * 10000), IgnoreList);
		if L_324_ then
			local L_326_ = (L_325_ - L_6_.Position).magnitude
			L_33_.Text = math.ceil(L_326_) .. ' m'
		end
	end
end)