local y,P,X,C,D,U,m,A,c,V,q,L,N,T,Z,O,x,I,d,h,v,e,S,a,i,R,l,J,r,M,t,u,K,E,o,w,p,b,g,f,n,G,s,z,j,Q,F,H,B,Y,W,k,yD,PD,XD,CD,DD,UD,mD,AD,cD,VD=_G,game,script,getfenv,setfenv,workspace,getmetatable,setmetatable,loadstring,coroutine,rawequal,typeof,print,math,warn,error,pcall,xpcall,select,rawset,rawget,ipairs,pairs,next,Rect,Axes,os,time,Faces,table.unpack,string,Color3,newproxy,tostring,tonumber,Instance,TweenInfo,BrickColor,NumberRange,ColorSequence,NumberSequence,ColorSequenceKeypoint,NumberSequenceKeypoint,PhysicalProperties,Region3int16,Vector3int16,require,table,type,task.wait,Enum,UDim,UDim2,Vector2,Vector3,Region3,CFrame,Ray,task.defer,task.delay,task,function(y,P)return y or error(P or"\097\115\115\101\114\116\105\111\110 \102\097\105\108\101\100\033",2)end local qD={"\087\111\114\107\115\112\097\099\101","\080\108\097\121\101\114\115";"\076\105\103\104\116\105\110\103","\083\101\114\118\101\114\083\116\111\114\097\103\101","\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101";"\074\111\105\110\116\115\083\101\114\118\105\099\101","\082\101\112\108\105\099\097\116\101\100\070\105\114\115\116","\083\099\114\105\112\116\067\111\110\116\101\120\116";"\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101";"\076\111\103\083\101\114\118\105\099\101";"\084\101\097\109\115","\083\111\117\110\100\083\101\114\118\105\099\101","\083\116\097\114\116\101\114\071\117\105";"\083\116\097\114\116\101\114\080\097\099\107";"\083\116\097\114\116\101\114\080\108\097\121\101\114","\071\114\111\117\112\083\101\114\118\105\099\101";"\077\097\114\107\101\116\112\108\097\099\101\083\101\114\118\105\099\101";"\077\097\114\107\101\116\112\108\097\099\101\083\101\114\118\105\099\101","\084\101\115\116\083\101\114\118\105\099\101";"\072\116\116\112\083\101\114\118\105\099\101";"\082\117\110\083\101\114\118\105\099\101";"\073\110\115\101\114\116\083\101\114\118\105\099\101";"\078\101\116\119\111\114\107\083\101\114\118\101\114"}local LD={}local ND=C()D(1,A({},{__metatable=LD}))local TD={}local ZD={}local OD={}local xD={}local ID={}local dD={}local hD={}local vD=F local eD=X.Parent local SD=w.new local aD=function(y)for P,X in S(ZD.Modules)do if y==X then return true end end end local iD=function(y,P)if B(y)=="\115\116\114\105\110\103"and not P then P=y y=nil end if ZD.Core and ZD.Core.DebugMode then Z("\058\058\065\100\111\110\105\115\058\058 \069\114\114\111\114\058 "..(E(y)..("\058 "..E(P))))end if ZD and ZD.Logs then ZD.Logs.AddLog(ZD.Logs.Errors,{Text=(P and(y and E(y).."\058")or"")..E(P),Desc=P;Player=y})end end

local _G, game, script, getfenv, setfenv, workspace,
getmetatable, setmetatable, loadstring, coroutine,
rawequal, typeof, print, math, warn, error,  pcall,
xpcall, select, rawset, rawget, ipairs, pairs,
next, Rect, Axes, os, time, Faces, unpack, string, Color3,
newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor,
NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint,
NumberSequenceKeypoint, PhysicalProperties, Region3int16,
Vector3int16, require, table, type, wait,
Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, spawn, delay, task, assert =
	_G, game, script, getfenv, setfenv, workspace,
	getmetatable, setmetatable, loadstring, coroutine,
	rawequal, typeof, print, math, warn, error,  pcall,
	xpcall, select, rawset, rawget, ipairs, pairs,
	next, Rect, Axes, os, time, Faces, table.unpack, string, Color3,
	newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor,
	NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint,
	NumberSequenceKeypoint, PhysicalProperties, Region3int16,
	Vector3int16, require, table, type, task.wait,
	Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, task.defer, task.delay, task, function(cond, errMsg) return cond or error(errMsg or "assertion failed!", 2) end;

local ServicesWeUse = {
	"Workspace";
	"Players";
	"Lighting";
	"ServerStorage";
	"ReplicatedStorage";
	"JointsService";
	"ReplicatedFirst";
	"ScriptContext";
	"ServerScriptService";
	"LogService";
	"Teams";
	"SoundService";
	"StarterGui";
	"StarterPack";
	"StarterPlayer"; 
        "GroupService";
        "MarketplaceService";
        "MarketplaceService";
	"TestService";
	"HttpService";
        "RunService";
	"InsertService";
	"NetworkServer";
}

local unique = {}
local origEnv = getfenv(); setfenv(1,setmetatable({}, {__metatable = unique}))
local locals = {}
local server = {}
local service = {}
local RbxEvents = {}
local ErrorLogs = {}
local HookedEvents = {}
local ServiceSpecific = {}
local oldReq = require
local Folder = script.Parent
local oldInstNew = Instance.new
local isModule = function(module)
	for ind, modu in pairs(server.Modules) do
		if module == modu then
			return true
		end
	end
end

local logError = function(plr, err)
	if type(plr) == "string" and not err then
		err = plr;
		plr = nil;
	end

	if server.Core and server.Core.DebugMode then
		warn("::Adonis:: Error: "..tostring(plr)..": "..tostring(err))
	end

	if server and server.Logs then
		server.Logs.AddLog(server.Logs.Errors, {
			Text = ((err and plr and tostring(plr) ..":") or "").. tostring(err),
			Desc = err,
			Player = plr
		})
	end
end
