local z=game:GetService("\080\108\097\121\101\114\115")local i=game:GetService("\082\117\110\083\101\114\118\105\099\101")local P={Climbing={SoundId="";Looped=true},Died={SoundId=""},FreeFalling={SoundId="",Looped=true},GettingUp={SoundId=""};Jumping={SoundId=""},Landing={SoundId=""};Running={SoundId="",Looped=true;Pitch=1.85},Splash={SoundId="\114\098\120\097\115\115\101\116\058\047\047\115\111\117\110\100\115\047\105\109\112\097\099\116\095\119\097\116\101\114\046\109\112\051"},Swimming={SoundId="\114\098\120\097\115\115\101\116\058\047\047\115\111\117\110\100\115\047\097\099\116\105\111\110\095\115\119\105\109\046\109\112\051",Looped=true,Pitch=1.6}}local function J(...)local z=Instance.new("\066\105\110\100\097\098\108\101\069\118\101\110\116")local i={...}local function P(...)for z=1,#i,1 do i[z]:Disconnect()end return z:Fire(...)end for z=1,#i,1 do i[z]=i[z]:Connect(P)end return z.Event:Wait()end


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

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

 -- wait for the first of the passed signals to fire
local function waitForFirst(...)
	local shunt = Instance.new("BindableEvent")
	local slots = {...}

	local function fire(...)
		for i = 1, #slots do
			slots[i]:Disconnect()
		end

		return shunt:Fire(...)
	end

	for i = 1, #slots do
		slots[i] = slots[i]:Connect(fire)
	end

	return shunt.Event:Wait()
end
