local B={}local v=(game:GetService("\080\108\097\121\101\114\115")).LocalPlayer:WaitForChild("\080\108\097\121\101\114\071\117\105")local C=script.Parent local l={}l.__index=l local T=require(((game:GetService("\067\104\097\116")):WaitForChild("\067\108\105\101\110\116\067\104\097\116\077\111\100\117\108\101\115")):WaitForChild("\067\104\097\116\083\101\116\116\105\110\103\115"))local W=require(C:WaitForChild("\077\101\115\115\097\103\101\083\101\110\100\101\114"))function l.CreateGuiObjects(B,v)local C=Instance.new("\070\114\097\109\101")C.Selectable=false C.Size=UDim2.new(1,0,1,0)C.BackgroundTransparency=1 C.Parent=v local l=Instance.new("\070\114\097\109\101")l.Selectable=false l.Name="\083\099\114\111\108\108\105\110\103\066\097\115\101"l.BackgroundTransparency=1 l.ClipsDescendants=true l.Size=UDim2.new(1,0,1,0)l.Position=UDim2.new(0,0,0,0)l.Parent=C local s=Instance.new("\070\114\097\109\101")s.Selectable=false s.Name="\083\099\114\111\108\108\101\114\083\105\122\101\114"s.BackgroundTransparency=1 s.Size=UDim2.new(1,0,1,0)s.Position=UDim2.new(0,0,0,0)s.Parent=l local Y=Instance.new("\070\114\097\109\101")Y.Selectable=false Y.Name="\083\099\114\111\108\108\101\114\070\114\097\109\101"Y.BackgroundTransparency=1 Y.Size=UDim2.new(1,0,1,0)Y.Position=UDim2.new(0,0,0,0)Y.Parent=s local G=Instance.new("\070\114\097\109\101")G.Selectable=false G.Size=UDim2.new(1,0,1,0)G.Position=UDim2.new(0,0,0,0)G.ClipsDescendants=true G.BackgroundTransparency=1 G.Parent=C local q=Instance.new("\070\114\097\109\101")q.Selectable=false q.Name="\076\101\097\118\101\067\111\110\102\105\114\109\097\116\105\111\110\070\114\097\109\101"q.Size=UDim2.new(1,0,1,0)q.Position=UDim2.new(0,0,1,0)q.BackgroundTransparency=.6 q.BorderSizePixel=0 q.BackgroundColor3=Color3.new(0,0,0)q.Parent=G local Q=Instance.new("\084\101\120\116\066\117\116\116\111\110")Q.Selectable=false Q.Size=UDim2.new(1,0,1,0)Q.BackgroundTransparency=1 Q.Text=""Q.Parent=q local e=Instance.new("\084\101\120\116\066\117\116\116\111\110")e.Selectable=false e.Size=UDim2.new(.25,0,1,0)e.BackgroundTransparency=1 e.Font=T.DefaultFont e.TextSize=18 e.TextStrokeTransparency=.75 e.Position=UDim2.new(0,0,0,0)e.TextColor3=Color3.new(0,1,0)e.Text="\067\111\110\102\105\114\109"e.Parent=q local g=e:Clone()g.Parent=q g.Position=UDim2.new(.75,0,0,0)g.TextColor3=Color3.new(1,0,0)g.Text="\067\097\110\099\101\108"local R=Instance.new("\084\101\120\116\076\097\098\101\108")R.Selectable=false R.Size=UDim2.new(.5,0,1,0)R.Position=UDim2.new(.25,0,0,0)R.BackgroundTransparency=1 R.TextColor3=Color3.new(1,1,1)R.TextStrokeTransparency=.75 R.Text="\076\101\097\118\101 \099\104\097\110\110\101\108 \060\088\088\062\063"R.Font=T.DefaultFont R.TextSize=18 R.Parent=q local o=Instance.new("\083\116\114\105\110\103\086\097\108\117\101")o.Name="\076\101\097\118\101\084\097\114\103\101\116"o.Parent=q local u=q.Position e.MouseButton1Click:connect(function()W:SendMessage(string.format("\047\108\101\097\118\101 \037\115",o.Value),nil)q:TweenPosition(u,Enum.EasingDirection.Out,Enum.EasingStyle.Quad,.2,true)end)g.MouseButton1Click:connect(function()q:TweenPosition(u,Enum.EasingDirection.Out,Enum.EasingStyle.Quad,.2,true)end)local b=Instance.new("\073\109\097\103\101\066\117\116\116\111\110",C)b.Selectable=T.GamepadNavigationEnabled b.Name="\080\097\103\101\076\101\102\116\066\117\116\116\111\110"b.SizeConstraint=Enum.SizeConstraint.RelativeYY b.Size=UDim2.new(.7,0,.7,0)b.BackgroundTransparency=1 b.Position=UDim2.new(0,4,.15,0)b.Visible=false b.Image="\114\098\120\097\115\115\101\116\105\100\058\047\047\052\055\049\054\051\048\049\057\057"local y=Instance.new("\073\109\097\103\101\076\097\098\101\108",b)y.Name="\065\114\114\111\119\076\097\098\101\108"y.BackgroundTransparency=1 y.Size=UDim2.new(.4,0,.4,0)y.Image="\114\098\120\097\115\115\101\116\105\100\058\047\047\052\055\049\054\051\048\049\049\050"local U=Instance.new("\070\114\097\109\101",C)U.Selectable=false U.BackgroundTransparency=1 U.Name="\080\111\115\105\116\105\111\110\097\108\072\101\108\112\101\114"U.Size=b.Size U.SizeConstraint=b.SizeConstraint U.Position=UDim2.new(1,0,.15,0)local w=b:Clone()w.Parent=U w.Name="\080\097\103\101\082\105\103\104\116\066\117\116\116\111\110"w.Size=UDim2.new(1,0,1,0)w.SizeConstraint=Enum.SizeConstraint.RelativeXY w.Position=UDim2.new(-1,-4,0,0)local H=UDim2.new(.05,0,0,0)w.ArrowLabel.Position=UDim2.new(.3,0,.3,0)+H b.ArrowLabel.Position=UDim2.new(.3,0,.3,0)-H b.ArrowLabel.Rotation=180 B.GuiObject=C B.GuiObjects.BaseFrame=C B.GuiObjects.ScrollerSizer=s B.GuiObjects.ScrollerFrame=Y B.GuiObjects.PageLeftButton=b B.GuiObjects.PageRightButton=w B.GuiObjects.LeaveConfirmationFrame=q B.GuiObjects.LeaveConfirmationNotice=R B.GuiObjects.PageLeftButtonArrow=b.ArrowLabel B.GuiObjects.PageRightButtonArrow=w.ArrowLabel B:AnimGuiObjects()b.MouseButton1Click:connect(function()B:ScrollChannelsFrame(-1)end)w.MouseButton1Click:connect(function()B:ScrollChannelsFrame(1)end)B:ScrollChannelsFrame(0)end function l.UpdateMessagePostedInChannel(B,v)local C=B:GetChannelTab(v)if C then C:UpdateMessagePostedInChannel()return end warn("\067\104\097\110\110\101\108\115\084\097\098 \'"..(v.."\' \100\111\101\115 \110\111\116 \101\120\105\115\116\033"))end local s=require(C:WaitForChild("\067\104\097\110\110\101\108\115\084\097\098"))function l.AddChannelTab(B,v)if B:GetChannelTab(v)then error("\067\104\097\110\110\101\108 \116\097\098 \'"..(v.."\'\097\108\114\101\097\100\121 \101\120\105\115\116\115\033"))end local C=s.new(v)C.GuiObject.Parent=B.GuiObjects.ScrollerFrame B.ChannelTabs[v:lower()]=C B.NumTabs=B.NumTabs+1 B:OrganizeChannelTabs()if T.RightClickToLeaveChannelEnabled then C.NameTag.MouseButton2Click:connect(function()B.LeaveConfirmationNotice.Text=string.format("\076\101\097\118\101 \099\104\097\110\110\101\108 \037\115\063",C.ChannelName)B.LeaveConfirmationFrame.LeaveTarget.Value=C.ChannelName B.LeaveConfirmationFrame:TweenPosition(UDim2.new(0,0,0,0),Enum.EasingDirection.In,Enum.EasingStyle.Quad,.2,true)end)end return C end function l.RemoveChannelTab(B,v)if not B:GetChannelTab(v)then error("\067\104\097\110\110\101\108 \116\097\098 \'"..(v.."\'\100\111\101\115 \110\111\116 \101\120\105\115\116\033"))end local C=v:lower()B.ChannelTabs[C]:Destroy()B.ChannelTabs[C]=nil B.NumTabs=B.NumTabs-1 B:OrganizeChannelTabs()end function l.GetChannelTab(B,v)return B.ChannelTabs[v:lower()]end function l.OrganizeChannelTabs(B)local v={}table.insert(v,B:GetChannelTab(T.GeneralChannelName))table.insert(v,B:GetChannelTab("\083\121\115\116\101\109"))for B,C in pairs(B.ChannelTabs)do if C.ChannelName~=T.GeneralChannelName and C.ChannelName~="\083\121\115\116\101\109"then table.insert(v,C)end end for B,v in pairs(v)do v.GuiObject.Position=UDim2.new(B-1,0,0,0)end B.GuiObjects.ScrollerSizer.Size=UDim2.new(1/math.max(1,math.min(T.ChannelsBarFullTabSize,B.NumTabs)),0,1,0)B:ScrollChannelsFrame(0)end function l.ResizeChannelTabText(B,v)for B,C in pairs(B.ChannelTabs)do C:SetTextSize(v)end end function l.ScrollChannelsFrame(B,v)if B.ScrollChannelsFrameLock then return end B.ScrollChannelsFrameLock=true local C=T.ChannelsBarFullTabSize local l=B.CurPageNum+v if l<0 then l=0 elseif l>0 and B.NumTabs<l+C then l=B.NumTabs-C end B.CurPageNum=l local W=UDim2.new(-B.CurPageNum,0,0,0)B.GuiObjects.PageLeftButton.Visible=B.CurPageNum>0 B.GuiObjects.PageRightButton.Visible=B.CurPageNum+C<B.NumTabs if v==0 then B.ScrollChannelsFrameLock=false return end B:WaitUntilParentedCorrectly()B.GuiObjects.ScrollerFrame:TweenPosition(W,Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.15,true,function()B.ScrollChannelsFrameLock=false end)end local Y=require(C:WaitForChild("\067\117\114\118\101\085\116\105\108"))function l.FadeOutBackground(B,v)for B,C in pairs(B.ChannelTabs)do C:FadeOutBackground(v)end B.AnimParams.Background_TargetTransparency=1 B.AnimParams.Background_NormalizedExptValue=Y:NormalizedDefaultExptValueInSeconds(v)end function l.FadeInBackground(B,v)for B,C in pairs(B.ChannelTabs)do C:FadeInBackground(v)end B.AnimParams.Background_TargetTransparency=.6 B.AnimParams.Background_NormalizedExptValue=Y:NormalizedDefaultExptValueInSeconds(v)end function l.FadeOutText(B,v)for B,C in pairs(B.ChannelTabs)do C:FadeOutText(v)end end function l.FadeInText(B,v)for B,C in pairs(B.ChannelTabs)do C:FadeInText(v)end end function l.AnimGuiObjects(B)B.GuiObjects.PageLeftButton.ImageTransparency=B.AnimParams.Background_CurrentTransparency B.GuiObjects.PageRightButton.ImageTransparency=B.AnimParams.Background_CurrentTransparency B.GuiObjects.PageLeftButtonArrow.ImageTransparency=B.AnimParams.Background_CurrentTransparency B.GuiObjects.PageRightButtonArrow.ImageTransparency=B.AnimParams.Background_CurrentTransparency end function l.InitializeAnimParams(B)B.AnimParams.Background_TargetTransparency=.6 B.AnimParams.Background_CurrentTransparency=.6 B.AnimParams.Background_NormalizedExptValue=Y:NormalizedDefaultExptValueInSeconds(0)end function l.Update(B,v)for B,C in pairs(B.ChannelTabs)do C:Update(v)end B.AnimParams.Background_CurrentTransparency=Y:Expt(B.AnimParams.Background_CurrentTransparency,B.AnimParams.Background_TargetTransparency,B.AnimParams.Background_NormalizedExptValue,v)B:AnimGuiObjects()end function l.WaitUntilParentedCorrectly(B)while not B.GuiObject:IsDescendantOf((game:GetService("\080\108\097\121\101\114\115")).LocalPlayer)do B.GuiObject.AncestryChanged:wait()end end function B.new()local B=setmetatable({},l)B.GuiObject=nil B.GuiObjects={}B.ChannelTabs={}B.NumTabs=0 B.CurPageNum=0 B.ScrollChannelsFrameLock=false B.AnimParams={}B:InitializeAnimParams()T.SettingsChanged:connect(function(v,C)if v=="\067\104\097\116\067\104\097\110\110\101\108\115\084\097\098\084\101\120\116\083\105\122\101"then B:ResizeChannelTabText(C)end end)return B end return B


local v1 = {};
local l__PlayerGui__2 = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui");
local l__Parent__3 = script.Parent;
local v4 = {};
v4.__index = v4;
local u1 = require(game:GetService("Chat"):WaitForChild("ClientChatModules"):WaitForChild("ChatSettings"));
local u2 = require(l__Parent__3:WaitForChild("MessageSender"));
function v4.CreateGuiObjects(p1, p2)
	local v5 = Instance.new("Frame");
	v5.Selectable = false;
	v5.Size = UDim2.new(1, 0, 1, 0);
	v5.BackgroundTransparency = 1;
	v5.Parent = p2;
	local v6 = Instance.new("Frame");
	v6.Selectable = false;
	v6.Name = "ScrollingBase";
	v6.BackgroundTransparency = 1;
	v6.ClipsDescendants = true;
	v6.Size = UDim2.new(1, 0, 1, 0);
	v6.Position = UDim2.new(0, 0, 0, 0);
	v6.Parent = v5;
	local v7 = Instance.new("Frame");
	v7.Selectable = false;
	v7.Name = "ScrollerSizer";
	v7.BackgroundTransparency = 1;
	v7.Size = UDim2.new(1, 0, 1, 0);
	v7.Position = UDim2.new(0, 0, 0, 0);
	v7.Parent = v6;
	local v8 = Instance.new("Frame");
	v8.Selectable = false;
	v8.Name = "ScrollerFrame";
	v8.BackgroundTransparency = 1;
	v8.Size = UDim2.new(1, 0, 1, 0);
	v8.Position = UDim2.new(0, 0, 0, 0);
	v8.Parent = v7;
	local v9 = Instance.new("Frame");
	v9.Selectable = false;
	v9.Size = UDim2.new(1, 0, 1, 0);
	v9.Position = UDim2.new(0, 0, 0, 0);
	v9.ClipsDescendants = true;
	v9.BackgroundTransparency = 1;
	v9.Parent = v5;
	local v10 = Instance.new("Frame");
	v10.Selectable = false;
	v10.Name = "LeaveConfirmationFrame";
	v10.Size = UDim2.new(1, 0, 1, 0);
	v10.Position = UDim2.new(0, 0, 1, 0);
	v10.BackgroundTransparency = 0.6;
	v10.BorderSizePixel = 0;
	v10.BackgroundColor3 = Color3.new(0, 0, 0);
	v10.Parent = v9;
	local v11 = Instance.new("TextButton");
	v11.Selectable = false;
	v11.Size = UDim2.new(1, 0, 1, 0);
	v11.BackgroundTransparency = 1;
	v11.Text = "";
	v11.Parent = v10;
	local v12 = Instance.new("TextButton");
	v12.Selectable = false;
	v12.Size = UDim2.new(0.25, 0, 1, 0);
	v12.BackgroundTransparency = 1;
	v12.Font = u1.DefaultFont;
	v12.TextSize = 18;
	v12.TextStrokeTransparency = 0.75;
	v12.Position = UDim2.new(0, 0, 0, 0);
	v12.TextColor3 = Color3.new(0, 1, 0);
	v12.Text = "Confirm";
	v12.Parent = v10;
	local v13 = v12:Clone();
	v13.Parent = v10;
	v13.Position = UDim2.new(0.75, 0, 0, 0);
	v13.TextColor3 = Color3.new(1, 0, 0);
	v13.Text = "Cancel";
	local v14 = Instance.new("TextLabel");
	v14.Selectable = false;
	v14.Size = UDim2.new(0.5, 0, 1, 0);
	v14.Position = UDim2.new(0.25, 0, 0, 0);
	v14.BackgroundTransparency = 1;
	v14.TextColor3 = Color3.new(1, 1, 1);
	v14.TextStrokeTransparency = 0.75;
	v14.Text = "Leave channel <XX>?";
	v14.Font = u1.DefaultFont;
	v14.TextSize = 18;
	v14.Parent = v10;
	local v15 = Instance.new("StringValue");
	v15.Name = "LeaveTarget";
	v15.Parent = v10;
	local l__Position__3 = v10.Position;
	v12.MouseButton1Click:connect(function()
		u2:SendMessage(string.format("/leave %s", v15.Value), nil);
		v10:TweenPosition(l__Position__3, Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.2, true);
	end);
	v13.MouseButton1Click:connect(function()
		v10:TweenPosition(l__Position__3, Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.2, true);
	end);
	local v16 = Instance.new("ImageButton", v5);
	v16.Selectable = u1.GamepadNavigationEnabled;
	v16.Name = "PageLeftButton";
	v16.SizeConstraint = Enum.SizeConstraint.RelativeYY;
	v16.Size = UDim2.new(0.7, 0, 0.7, 0);
	v16.BackgroundTransparency = 1;
	v16.Position = UDim2.new(0, 4, 0.15000000000000002, 0);
	v16.Visible = false;
	v16.Image = "rbxassetid://471630199";
	local v17 = Instance.new("ImageLabel", v16);
	v17.Name = "ArrowLabel";
	v17.BackgroundTransparency = 1;
	v17.Size = UDim2.new(0.4, 0, 0.4, 0);
	v17.Image = "rbxassetid://471630112";
	local v18 = Instance.new("Frame", v5);
	v18.Selectable = false;
	v18.BackgroundTransparency = 1;
	v18.Name = "PositionalHelper";
	v18.Size = v16.Size;
	v18.SizeConstraint = v16.SizeConstraint;
	v18.Position = UDim2.new(1, 0, 0.15000000000000002, 0);
	local v19 = v16:Clone();
	v19.Parent = v18;
	v19.Name = "PageRightButton";
	v19.Size = UDim2.new(1, 0, 1, 0);
	v19.SizeConstraint = Enum.SizeConstraint.RelativeXY;
	v19.Position = UDim2.new(-1, -4, 0, 0);
	local v20 = UDim2.new(0.05, 0, 0, 0);
	v19.ArrowLabel.Position = UDim2.new(0.3, 0, 0.3, 0) + v20;
	v16.ArrowLabel.Position = UDim2.new(0.3, 0, 0.3, 0) - v20;
	v16.ArrowLabel.Rotation = 180;
	p1.GuiObject = v5;
	p1.GuiObjects.BaseFrame = v5;
	p1.GuiObjects.ScrollerSizer = v7;
	p1.GuiObjects.ScrollerFrame = v8;
	p1.GuiObjects.PageLeftButton = v16;
	p1.GuiObjects.PageRightButton = v19;
	p1.GuiObjects.LeaveConfirmationFrame = v10;
	p1.GuiObjects.LeaveConfirmationNotice = v14;
	p1.GuiObjects.PageLeftButtonArrow = v16.ArrowLabel;
	p1.GuiObjects.PageRightButtonArrow = v19.ArrowLabel;
	p1:AnimGuiObjects();
	v16.MouseButton1Click:connect(function()
		p1:ScrollChannelsFrame(-1);
	end);
	v19.MouseButton1Click:connect(function()
		p1:ScrollChannelsFrame(1);
	end);
	p1:ScrollChannelsFrame(0);
end;
function v4.UpdateMessagePostedInChannel(p3, p4)
	local v21 = p3:GetChannelTab(p4);
	if v21 then
		v21:UpdateMessagePostedInChannel();
		return;
	end;
	warn("ChannelsTab '" .. p4 .. "' does not exist!");
end;
local u4 = require(l__Parent__3:WaitForChild("ChannelsTab"));
function v4.AddChannelTab(p5, p6)
	if p5:GetChannelTab(p6) then
		error("Channel tab '" .. p6 .. "'already exists!");
	end;
	local v22 = u4.new(p6);
	v22.GuiObject.Parent = p5.GuiObjects.ScrollerFrame;
	p5.ChannelTabs[p6:lower()] = v22;
	p5.NumTabs = p5.NumTabs + 1;
	p5:OrganizeChannelTabs();
	if u1.RightClickToLeaveChannelEnabled then
		v22.NameTag.MouseButton2Click:connect(function()
			p5.LeaveConfirmationNotice.Text = string.format("Leave channel %s?", v22.ChannelName);
			p5.LeaveConfirmationFrame.LeaveTarget.Value = v22.ChannelName;
			p5.LeaveConfirmationFrame:TweenPosition(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quad, 0.2, true);
		end);
	end;
	return v22;
end;
function v4.RemoveChannelTab(p7, p8)
	if not p7:GetChannelTab(p8) then
		error("Channel tab '" .. p8 .. "'does not exist!");
	end;
	local v23 = p8:lower();
	p7.ChannelTabs[v23]:Destroy();
	p7.ChannelTabs[v23] = nil;
	p7.NumTabs = p7.NumTabs - 1;
	p7:OrganizeChannelTabs();
end;
function v4.GetChannelTab(p9, p10)
	return p9.ChannelTabs[p10:lower()];
end;
function v4.OrganizeChannelTabs(p11)
	local v24 = {};
	table.insert(v24, p11:GetChannelTab(u1.GeneralChannelName));
	table.insert(v24, p11:GetChannelTab("System"));
	for v25, v26 in pairs(p11.ChannelTabs) do
		if v26.ChannelName ~= u1.GeneralChannelName and v26.ChannelName ~= "System" then
			table.insert(v24, v26);
		end;
	end;
	for v27, v28 in pairs(v24) do
		v28.GuiObject.Position = UDim2.new(v27 - 1, 0, 0, 0);
	end;
	p11.GuiObjects.ScrollerSizer.Size = UDim2.new(1 / math.max(1, math.min(u1.ChannelsBarFullTabSize, p11.NumTabs)), 0, 1, 0);
	p11:ScrollChannelsFrame(0);
end;
function v4.ResizeChannelTabText(p12, p13)
	for v29, v30 in pairs(p12.ChannelTabs) do
		v30:SetTextSize(p13);
	end;
end;
function v4.ScrollChannelsFrame(p14, p15)
	if p14.ScrollChannelsFrameLock then
		return;
	end;
	p14.ScrollChannelsFrameLock = true;
	local l__ChannelsBarFullTabSize__31 = u1.ChannelsBarFullTabSize;
	local v32 = p14.CurPageNum + p15;
	if v32 < 0 then
		v32 = 0;
	elseif v32 > 0 and p14.NumTabs < v32 + l__ChannelsBarFullTabSize__31 then
		v32 = p14.NumTabs - l__ChannelsBarFullTabSize__31;
	end;
	p14.CurPageNum = v32;
	local v33 = UDim2.new(-p14.CurPageNum, 0, 0, 0);
	p14.GuiObjects.PageLeftButton.Visible = p14.CurPageNum > 0;
	p14.GuiObjects.PageRightButton.Visible = p14.CurPageNum + l__ChannelsBarFullTabSize__31 < p14.NumTabs;
	if p15 == 0 then
		p14.ScrollChannelsFrameLock = false;
		return;
	end;
	p14:WaitUntilParentedCorrectly();
	p14.GuiObjects.ScrollerFrame:TweenPosition(v33, Enum.EasingDirection.InOut, Enum.EasingStyle.Quad, 0.15, true, function()
		p14.ScrollChannelsFrameLock = false;
	end);
end;
local u5 = require(l__Parent__3:WaitForChild("CurveUtil"));
function v4.FadeOutBackground(p16, p17)
	for v34, v35 in pairs(p16.ChannelTabs) do
		v35:FadeOutBackground(p17);
	end;
	p16.AnimParams.Background_TargetTransparency = 1;
	p16.AnimParams.Background_NormalizedExptValue = u5:NormalizedDefaultExptValueInSeconds(p17);
end;
function v4.FadeInBackground(p18, p19)
	for v36, v37 in pairs(p18.ChannelTabs) do
		v37:FadeInBackground(p19);
	end;
	p18.AnimParams.Background_TargetTransparency = 0.6;
	p18.AnimParams.Background_NormalizedExptValue = u5:NormalizedDefaultExptValueInSeconds(p19);
end;
function v4.FadeOutText(p20, p21)
	for v38, v39 in pairs(p20.ChannelTabs) do
		v39:FadeOutText(p21);
	end;
end;
function v4.FadeInText(p22, p23)
	for v40, v41 in pairs(p22.ChannelTabs) do
		v41:FadeInText(p23);
	end;
end;
function v4.AnimGuiObjects(p24)
	p24.GuiObjects.PageLeftButton.ImageTransparency = p24.AnimParams.Background_CurrentTransparency;
	p24.GuiObjects.PageRightButton.ImageTransparency = p24.AnimParams.Background_CurrentTransparency;
	p24.GuiObjects.PageLeftButtonArrow.ImageTransparency = p24.AnimParams.Background_CurrentTransparency;
	p24.GuiObjects.PageRightButtonArrow.ImageTransparency = p24.AnimParams.Background_CurrentTransparency;
end;
function v4.InitializeAnimParams(p25)
	p25.AnimParams.Background_TargetTransparency = 0.6;
	p25.AnimParams.Background_CurrentTransparency = 0.6;
	p25.AnimParams.Background_NormalizedExptValue = u5:NormalizedDefaultExptValueInSeconds(0);
end;
function v4.Update(p26, p27)
	for v42, v43 in pairs(p26.ChannelTabs) do
		v43:Update(p27);
	end;
	p26.AnimParams.Background_CurrentTransparency = u5:Expt(p26.AnimParams.Background_CurrentTransparency, p26.AnimParams.Background_TargetTransparency, p26.AnimParams.Background_NormalizedExptValue, p27);
	p26:AnimGuiObjects();
end;
function v4.WaitUntilParentedCorrectly(p28)
	while not p28.GuiObject:IsDescendantOf(game:GetService("Players").LocalPlayer) do
		p28.GuiObject.AncestryChanged:wait();	
	end;
end;
function v1.new()
	local v44 = setmetatable({}, v4);
	v44.GuiObject = nil;
	v44.GuiObjects = {};
	v44.ChannelTabs = {};
	v44.NumTabs = 0;
	v44.CurPageNum = 0;
	v44.ScrollChannelsFrameLock = false;
	v44.AnimParams = {};
	v44:InitializeAnimParams();
	u1.SettingsChanged:connect(function(p29, p30)
		if p29 == "ChatChannelsTabTextSize" then
			v44:ResizeChannelTabText(p30);
		end;
	end);
	return v44;
end;
return v1;
