local l=false do local u,V=pcall(function()return(UserSettings()):IsUserFeatureEnabled("\085\115\101\114\072\097\110\100\108\101\067\104\097\116\072\111\116\075\101\121\087\105\116\104\067\111\110\116\101\120\116\065\099\116\105\111\110\083\101\114\118\105\099\101")end)if u then l=V end end local u=false do local l,V=pcall(function()return(UserSettings()):IsUserFeatureEnabled("\085\115\101\114\072\097\110\100\108\101\070\114\105\101\110\100\074\111\105\110\078\111\116\105\102\105\101\114\079\110\067\108\105\101\110\116")end)if l then u=V end end local V=60 local p=game:GetService("\082\117\110\083\101\114\118\105\099\101")local n=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local h=game:GetService("\067\104\097\116")local T=game:GetService("\083\116\097\114\116\101\114\071\117\105")local N=game:GetService("\067\111\110\116\101\120\116\065\099\116\105\111\110\083\101\114\118\105\099\101")local Y=n:WaitForChild("\068\101\102\097\117\108\116\067\104\097\116\083\121\115\116\101\109\067\104\097\116\069\118\101\110\116\115")local d=n:WaitForChild("\068\101\102\097\117\108\116\067\104\097\116\083\121\115\116\101\109\067\104\097\116\069\118\101\110\116\115")local J=h:WaitForChild("\067\108\105\101\110\116\067\104\097\116\077\111\100\117\108\101\115")local F=require(J:WaitForChild("\067\104\097\116\067\111\110\115\116\097\110\116\115"))local o=require(J:WaitForChild("\067\104\097\116\083\101\116\116\105\110\103\115"))local A=J:WaitForChild("\077\101\115\115\097\103\101\067\114\101\097\116\111\114\077\111\100\117\108\101\115")local S=require(A:WaitForChild("\085\116\105\108"))local t=nil
--// This section of code waits until all of the necessary RemoteEvents are found in EventFolder.
--// I have to do some weird stuff since people could potentially already have pre-existing
--// things in a folder with the same name, and they may have different class types.
--// I do the useEvents thing and set EventFolder to useEvents so I can have a pseudo folder that
--// the rest of the code can interface with and have the guarantee that the RemoteEvents they want
--// exist with their desired names.

local FFlagUserHandleChatHotKeyWithContextActionService = false
do
	local ok, value = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserHandleChatHotKeyWithContextActionService")
	end)
	if ok then
		FFlagUserHandleChatHotKeyWithContextActionService = value
	end
end

local FFlagUserHandleFriendJoinNotifierOnClient = false
do
	local success, value = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserHandleFriendJoinNotifierOnClient")
	end)
	if success then
		FFlagUserHandleFriendJoinNotifierOnClient = value
	end
end

local FILTER_MESSAGE_TIMEOUT = 60

local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Chat = game:GetService("Chat")
local StarterGui = game:GetService("StarterGui")
local ContextActionService = game:GetService("ContextActionService")

local DefaultChatSystemChatEvents = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents")
local EventFolder = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents")
local clientChatModules = Chat:WaitForChild("ClientChatModules")
local ChatConstants = require(clientChatModules:WaitForChild("ChatConstants"))
local ChatSettings = require(clientChatModules:WaitForChild("ChatSettings"))
local messageCreatorModules = clientChatModules:WaitForChild("MessageCreatorModules")
local MessageCreatorUtil = require(messageCreatorModules:WaitForChild("Util"))

local ChatLocalization = nil
