New Macros:\nhookeq(id, val) - Same as hookexpr but for == and ~=\n\nBot Changes:\n> Big Changes:\n    Removed the timeout errors completely, every file that can be recovered is now fully recovered! (So that means, no more stupid syntax files!)\n    Fixed bot being unable to send requests to roblox endpoints (e.g: https://thumbnails.roblox.com)\n    You can now do .l (https://scriptblox.com/script/...) instead of having to get the raw link\n    Tier 2 users' gift cooldown is now 4 hours instead of 8 hours like normal premium\n\n+ Fixed bot stats' premium users being inaccurate\n+ Changed the roblox-id header to be numbers (which is what roblox does)\n+ Updated the User-Agent to the latest roblox version\n+ Added the 'traceparent' header\n+ Made the bot's output file after a .l something like: `abcdefAB.lua`\n+ Added back the iconic 'syntax error' message instead of --err\nUnveilR Changes:\n> Biggest / Most Important Changes:\n    Added an amazing variable renamer naming stuff like game.Players.LocalPlayer \"LocalPlayer\", stuff like Instance.new(\"BodyVelocity\") BodyVelocity and so on\n    Optimized hookOp & constant collection by at least 10x (If constant collection used to take 5 seconds on a medium script, it now takes 0.8).\n    Fixed a bug in signals which caused code to output incorrectly & duplicated like 4 times.\n    Added a working greatly optimized minifier\n    Removed ALOT of junk in luraph\n    Fixed code repeatedly duplicating and causing massive outputs\n    Made stuff like ScreenGui.Name = \"hi\" make the variable name also hi\n    Bypassed alot of sanity checks\n    Workspace & Game can sometimes not error when indexed with nil instances, for example: Workspace.Map no longer errors, but stuff like Workspace.gwigwgiowg still do.\n    Added a working task.defer\n    If you don't want tables, indexes & strings to be logged: turn off constant_collection\n    Added duplicate code ignorer! (When code starts repeating, the bot ignores it and just adds a comment instead.)\n> Minor Changes:\n    Fixed getgenv being a Lua closure\n    Fixed rawget returning tbl[key]\n    Fixed setfenv(1, {}) erroring\n    Fixed iscclosure returning true when called with 1\n    Made require error on string paths\n    Made the minifier always minify constants that are used more than once (Thanks 25ms!)\n    Added support for things like export type = \n+ Fixed math.random() erroring\n+ Fixed string functions on .Text not returning a spied variable (For example, string.sub(TextBox.Text, 1, 1) == \"h\" bypassed the whole spy previously.)\n+ Fixed task.wait() erroring\n+ Fixed 'a and #a > 2000' breaking when a was nil\n+ Added Signal:Wait() which just calls task.wait()\n+ Added a working syn.request, http_request, httprequest, http.request & request\n- Removed getconnections as it was really annoying.\n+ Fixed constant collection including base64 strings (Prometheus thing)\n+ Bypassed the 25ms antitamper yet again\n+ Fixed unsupported expression a :: string breaking hookOp\n+ Added 'eq id' in comments under == which you can hook with hookeq()\n+ Optimized the Spy() function used internally, so metamethods that don't work are not implemented anymore to save memory & run scripts faster.\n+ Made stuff like local var1 = Color3.fromRGB local var2 = var1() local var3 = Color3.fromRGB get compressed to 1 Color3.fromRGB function\n+ Fixed stuff like x:lower(), x:match(...) not being spied.\n+ Fixed interpolated strings breaking hookop sometimes\n+ Fixed pcall on variables directly returning error messages (For example, pcall(setfenv, getmetatable, {}) returning :1: ...)\n+ Added LPH_CRASH() detection.\n+ Fixed memory category funcs not logging\n+ Fixed loadstring args not showing (for example, loadstring(\"print(...)\")(1, 2, 3))\n+ Fixed task.delay\n+ Fixed tables being logged more than once if the indexed key was used more than once (for example, local tbl = { } local x = tbl.shakespeare would keep doing that forever if the table keeps getting re-defined!)\n- Task library no longer functions as it should, however it makes outputs alot more accurate.\n+ Fixed queueonteleport() showing true sometimes\n+ Fixed operations involving parameters having wrong tabbing\n+ Fixed typeof(workspace.ChildAdded) == \"RBXScriptSignal\" being false\n+ Fixed Instance properties (like workspace.CurrentCamera) not being of type 'Instance'\n+ Added a working BindableEvent\n+ Fixed Instance related issues\n+ Fixed :SetAttribute & :GetAttribute\n+ Patched enum detections\n+ Used lune's Enum library for bypassing detections\n+ Fixed debug library\n+ Made stuff like:\nfor i, v in game:GetChildren() do\n    print(typeof(i), typeof(v))\nend\n+ actually function! UnveilR now iterates through game's Children and grabs the first type of i and the first type of v and sets them.\n+ Made stuff like (actual_string_spied_value):split() work without needing constant collection.\n+ Fixed if checks for prometheus\n+ Fixed getfenv(rconsoleprint) erroring\n+ Fixed the 'attempt to yield across metamethod/C-call boundary' error.\n+ HttpService:GetAsync() now works the same as game:HttpGet