0% found this document useful (0 votes)
34 views

Message

Uploaded by

zsombigamer15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Message

Uploaded by

zsombigamer15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 599

--[[

!!!SOURCE CODE LEAK!!!

_nnnn_
dGGGGMMb ,"""""""""""""""""".
@p~qp~~qMb | Get Doxxed Nigga |
M|@||@) M| _;..................'
@,----.JM| -'
JS^\__/ qKL
dZP qKRb
dZP qKKb
fZP SMMb
HZM MMMM
FqM MMMM
__| ". |\dS"qML
| `. | `' \Zq
_) \.___.,| .'
\____ )MMMMMM| .'
`-' `--'

[ CREDITS ]
╔═════════════════════════════════════════════════════╗
║ Main: Derek Lippe ║
║ Skid: UrMama ║
╚═════════════════════════════════════════════════════╝

Cleaned version of the script. All telementry has been removed.


Archived links incase of deletion.

https://raw.githubusercontent.com/Ethereal58/Ethereal/main/Fonts/Proggy
> https://archive.is/aWR8K
>
https://web.archive.org/web/20240922012649/https://raw.githubusercontent.com/
Ethereal58/Ethereal/main/Fonts/Proggy

https://raw.githubusercontent.com/Ethereal58/Ethereal/main/Fonts/smallest_pixel
> https://archive.ph/zF1k2
>
https://web.archive.org/web/20240922012812/https://raw.githubusercontent.com/
Ethereal58/Ethereal/main/Fonts/smallest_pixel

"The only thing I wish I had was better tint. I just want a nice truck, get
some nice tint on it too so no one can see in, and bring my girlfriend for 'rides.'
That's like the dream. You'll get it, bro, when you find a girl you like.
Trust me, you'll get it. Yeah, it is weird, but you're not thinking of it in
that moment," stated Derek Lippe.

~~ your friend, panicspace & spetsnazcall ❤️❤️


]]

--[[
for Index, Value in next, getgc(true) do
local RandomEntity = workspace.charColliders:GetChildren()[1]
if type(Value) == "table" and type(rawget(Value, RandomEntity.Name)) == "table"
then
local Player = rawget(Value, RandomEntity.Name)
if rawget(Player, "colliderModel") then
-- entity list
end
end
end
]]
local IsStudio = false
local GameName = "Universal";
local GameId = game.GameId;

--// For studio / limited compatibility executors


cloneref = cloneref ~= nil and cloneref or function(f) return f end; getgenv =
getgenv ~= nil and getgenv or function() return _G end;

local Games = {
["Eastern War"] = 5753515186;
["Scorched Earth"] = 4785126950;
["Frontlines"] = 2132866904;
["Games Unite"] = 992334288;
["State Of Anarchy"] = 595270616;
["Aftermath"] = 5286749994;
["Project Delta"] = 2862098693;
["Blackout"] = 3326279937;
["Criminality"] = 1494262959;
["Fallen"] = 3747388906;
["Blood and Iron"] = 16876831;
["Gunfight Arena"] = 5012222382;
--["Apocalypse Rising 2"] = 358276974;
["The Streets"] = 174268353;
["Counter Blox"] = 115797356;
["Arsenal"] = 111958650;
["Korrupt Zombies"] = 3956073837;
["Lone Survival"] = 4712109542;
["Combat Warriors"] = 1390601379;
};

for Index, Value in next, Games do


if Value == GameId then
GameName = Index;
end;
end;

if GameId == 41210807 then


GameName = "Aftermath"
end

do --// Obfuscated check


if not LPH_OBFUSCATED then
LPH_JIT = function(...) return ... end
LPH_JIT_MAX = function(...) return ... end
LPH_NO_VIRTUALIZE = function(...) return ... end
LPH_NO_UPVALUES = function(f) return(function(...) return f(...) end) end
LPH_ENCSTR = function(...) return ... end
LPH_ENCNUM = function(...) return ... end
LPH_CRASH = function() return print(debug.traceback()) end

LRM_IsUserPremium = false
LRM_LinkedDiscordID = "Developer"
LRM_ScriptName = "dev"
LRM_TotalExecutions = 0
LRM_SecondsLeft = 999999
LRM_UserNote = "hello";

if not gethui then


gethui = function() return game.Players.LocalPlayer.PlayerGui end;
IsStudio = true
end
end;
end;

do --// Directories
if not IsStudio then --// im only checking it because i did a lot of this work
in studio
if not isfolder("Ethereal") then
makefolder("Ethereal");
end;

if not isfolder("Ethereal/Configs") then


makefolder("Ethereal/Configs");
end;

if not isfolder("Ethereal/Plugins") then


makefolder("Ethereal/Plugins");
end;

if not isfile("Ethereal/Hitmarkers") then


makefolder("Ethereal/Hitmarkers");
end;
end;
end;

do --// Adonis Bypass (Eastern War, Criminality)


do --// Eastern
if GameName == "Eastern War" then
local DTC
local Killed
for Index, Value in next, getgc(true) do
if type(Value) == "table" then
local Detected = rawget(Value, "Detected")
local Kill = rawget(Value, "Kill")

if type(Detected) == "function" and not DTC then


DTC = Detected

local Old; Old = hookfunction(Detected, function(...)


return true
end)
end

if rawget(Value, "Variables") and rawget(Value, "Process") and


typeof(Kill) == "function" then
Killed = Kill

local Old; Old = hookfunction(Kill, function(...)

end)
end
end
end

local Old; Old = hookfunction(getrenv().debug.info,


newcclosure(function(...)
local LevelOrFunc, Info = ...
if DTC and LevelOrFunc == DTC then

return coroutine.yield(coroutine.running())
end
return Old(...)
end))
end;
end
end

--// This variable is used to track time since execution; I use it to check load
times typically;
local Init = tick();

--// Services
local ReplicatedFirst = cloneref(game:GetService("ReplicatedFirst"));
local ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage"));
local Lighting = cloneref(game:GetService("Lighting"));
local RunService = cloneref(game:GetService("RunService"));
local TweenService = cloneref(game:GetService("TweenService"));
local TextService = cloneref(game:GetService("TextService"));
local UserInputService = cloneref(game:GetService("UserInputService"));
local Players = cloneref(game:GetService("Players"));
local HttpService = cloneref(game:GetService("HttpService"));
local LogService = cloneref(game:GetService("LogService"));
local ScriptContext = cloneref(game:GetService("ScriptContext"));
local TeleportService = cloneref(game:GetService("TeleportService"));
local SoundService = cloneref(game:GetService("SoundService"));
local ProxPromptService = cloneref(game:GetService("ProximityPromptService"));
local CoreGui = cloneref(game:GetService("CoreGui"));
local Stats = cloneref(game:GetService("Stats"));
local ContentProvider = cloneref(game:GetService("ContentProvider"));
local Workspace = cloneref(game:GetService("Workspace"));

--// Client Variables


local Client = Players.LocalPlayer;
local Mouse = Client:GetMouse();
local Camera = Workspace.CurrentCamera;
local OriginalTransitionDuration = 0; --// Used for returning to original
transition duration; Visuals:UpdateFOVColor()
local OldFieldOfView = Camera.FieldOfView;

local RayParams = RaycastParams.new(); do


RayParams.FilterType = Enum.RaycastFilterType.Blacklist;
RayParams.FilterDescendantsInstances = {Camera, Client.Character};
RayParams.IgnoreWater = true;

if GameName == "Blackout" then


RayParams.FilterDescendantsInstances = {Camera, Client.Character,
Workspace.Debris};
end;

if GameName == "State Of Anarchy" then


RayParams.FilterDescendantsInstances = {Camera, Client.Character,
Workspace.Ignore};
end

if GameName == "Scorched Earth" then


for Index, Value in next,
getconnections(game:GetService("ScriptContext").Error) do
Value:Disable()
end

RayParams.FilterDescendantsInstances = {Camera, Client.Character,


Workspace.ignore, Workspace.charColliders};
end
end;

local Headshot, Bodyshot; do


if GameName ~= "Fallen" and GameName ~= "Universal" and GameName ~= "Deadline"
then
Headshot, Bodyshot = Instance.new("Sound", gethui()), Instance.new("Sound",
gethui());
end;
end;

do --// Font
if not IsStudio then
do --// Deleting files
if isfile and isfile("proggy_font.font") then
delfile("proggy_font.font")
end;

if isfile and isfile("proggy-bold-font.ttf") then


delfile("proggy-bold-font.ttf");
end;

if isfile and isfile("proggy_bold_font.font") then


delfile("proggy_bold_font.font")
end;

if isfile and isfile("proggy-font.ttf") then


delfile("proggy-font.ttf");
end;

if isfile and isfile("monaco_font.font") then


delfile("monaco_font.font")
end;

if isfile and isfile("monaco-font.ttf") then


delfile("monaco-font.ttf");
end;

if isfile and isfile("verdana_font.font") then


delfile("verdana_font.font")
end;

if isfile and isfile("verdana-font.ttf") then


delfile("verdana-font.ttf");
end;

if isfile and isfile("courier_font.font") then


delfile("courier_font.font")
end;

if isfile and isfile("courier-font.ttf") then


delfile("courier-font.ttf");
end;

if isfile and isfile("terminus_font.font") then


delfile("terminus_font.font")
end;

if isfile and isfile("terminus-font.ttf") then


delfile("terminus-font.ttf");
end;

if isfile and isfile("small_font.font") then


delfile("small_font.font");
end;

if isfile and isfile("smallest-pixel.ttf") then


delfile("smallest-pixel.ttf")
end;

if isfile and isfile("pixel_font.font") then


delfile("pixel_font.font")
end;

if isfile and isfile("pixel-font.ttf") then


delfile("pixel-font.ttf");
end;

end;

do --// Font Register/Get

do --// Functions
local assetloader = getcustomasset;
Font = setreadonly(Font, false);
function Font:Register(Name, Weight, Style, Asset)
if not isfile(Asset.Id) then
writefile(Asset.Id, Asset.Font);
end;

local Data = {
name = Name,
faces = {{
name = "Regular",
weight = Weight,
style = Style,
assetId = getcustomasset(Asset.Id);
}}
};

writefile(Name .. ".font", HttpService:JSONEncode(Data));


return getcustomasset(Name .. ".font");
end;

function Font:GetRegistry(Name)
if isfile(Name .. ".font") then
return assetloader(Name .. ".font");
end;
end;
Font = setreadonly(Font, true)
end;
do --// Fonts Registration
Font:Register("pixel_font", 200, "normal", {Id = "pixel-font.ttf",
Font = crypt.base64.decode(

"AAEAAAANAIAAAwBQRFNJRwAAAAEAAQX0AAAACEdERUYDBAAkAAEF/AAAAChPUy8y1NZFSAAAANwAAABgY2
1hcNZo3swAAQp8AAAIOGdhc3AAAAADAAEF7AAAAAhnbHlmEGqBuwAAGjgAANTQaGVhZAZHGCYAAPpgAAAAN
mhoZWERQQ7WAAAZ9AAAACRobXR4Ywj7gAAA+pgAAAtUbG9jYQEl1TwAAO8IAAALWG1heHAC4wA8AAAaGAAA
ACBuYW1lomnC7QABBiQAAARWcG9zdN5ON9IAAAE8AAAYuAADBGEBkAAFAAQDAAMAAAABgAMAAwAAAAMAAEw
BMgAAAAAEAAAAAAAAAKAAAL9AAGB7AAAAAAAAAABGU1RSAEAAIPsCCQADAAAACoD9wAAAAf8AAAAAB4AJAA
AAACAAAQACAAAAAAAAAJgATAAAAAAAAAAAAAAAAAAAAAAAAAAAAtUAAAABAAIAAwAEAAUABgAHAAgACQAKA
AsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkA
KgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASAB
JAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAKMAhACFAL0AlgDoAI
YAjgCLAJ0AqQCkAIoA2gCDAJMA8gDzAI0AlwCIAMMA3gDxAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZ
ADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCg
AG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoBAgEDAQQBBQEGAQc
A/QD+AQgBCQEKAQsA/
wEAAQwBDQEOAQEBDwEQAREBEgETARQBFQEWARcBGAEZARoA+AD5ARsBHAEdAR4BHwEgASEBIgEjASQBJQEm
AScBKAEpASoA+gDXASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AOIA4wE6ATsBPAE9AT4BPwFAAUE
BQgFDAUQBRQFGAUcBSACwALEBSQFKAUsBTAFNAU4BTwFQAVEBUgD7APwA5ADlAVMBVAFVAVYBVwFYAVkBWg
FbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgAuwFpAWoBawFsAOYA5wFtAW4BbwFwAKYBcQFyAXMBdAF1A
XYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKANgA4QGLAYwBjQDbANwA3QDgANkA
3wGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwG
sAa0BrgGvAbABsQGyAJ8BswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByACbAc
kBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6
AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/
QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIc
Ah0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AjgCOQI6Ajs
CPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWg
JbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5A
noCewJ8An0CfgJ/
AoACgQKCAoMChAKFAoYChwKIAokCigC2ALcAxAKLALQAtQDFAowAggDCAIcCjQCrAMYCjgKPApACkQC+AL8
AvAKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4Crw
KwAIwCsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssAqAClA
JIAnALMAKcAjwCUAJUCzQLOAs8C0ALRAtIC0wLUAtUC1gLXAtgC2QLaAtsC3ALdAt4AwADBB0FtYWNyb24H
YW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleAR
DZG90BGNkb3QGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUERW
RvdARlZG90B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4B
Edkb3QEZ2RvdAhHY2VkaWxsYQhnY2VkaWxsYQtIY2lyY3VtZmxleAtoY2lyY3VtZmxleARIYmFyBGhiYXIG
SXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsCSUo
CaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgIS2NlZGlsbGEIa2NlZGlsbGEMa2dyZWVubGFuZGljBkxhY3
V0ZQZsYWN1dGUITGNlZGlsbGEIbGNlZGlsbGEGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY
3V0ZQhOY2VkaWxsYQhuY2VkaWxsYQZOY2Fyb24GbmNhcm9uC25hcG9zdHJvcGhlA0VuZwNlbmcHT21hY3Jv
bgdvbWFjcm9uBk9icmV2ZQZvYnJldmUJT2RibGFjdXRlCW9kYmxhY3V0ZQZSYWN1dGUGcmFjdXRlCFJjZWR
pbGxhCHJjZWRpbGxhBlJjYXJvbgZyY2Fyb24GU2FjdXRlBnNhY3V0ZQtTY2lyY3VtZmxleAtzY2lyY3VtZm
xleAhUY2VkaWxsYQh0Y2VkaWxsYQZUY2Fyb24GdGNhcm9uBFRiYXIEdGJhcgZVdGlsZGUGdXRpbGRlB1VtY
WNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nCVVkYmxhY3V0ZQl1ZGJsYWN1dGUHVW9n
b25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4Blp
hY3V0ZQZ6YWN1dGUEWmRvdAR6ZG90BWxvbmdzB0J0b3BiYXIHYnRvcGJhcgVTY2h3YQdac3Ryb2tlB3pzdH
Jva2UDRXpoB0dzdHJva2UHZ3N0cm9rZQZHY2Fyb24GZ2Nhcm9uBktjYXJvbgZrY2Fyb24HT29nb25lawdvb
2dvbmVrCEV6aGNhcm9uCGV6aGNhcm9uCkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBRWFjdXRlB2FlYWN1dGUL
T3NsYXNoYWN1dGULb3NsYXNoYWN1dGUMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAtUY29tbWFiZWxvdwt
0Y29tbWFiZWxvdwhkb3RsZXNzagVzY2h3YQNlemgQZmlyc3R0b25lY2hpbmVzZRFzZWNvbmR0b25lY2hpbm
VzZRFmb3VydGh0b25lY2hpbmVzZRBudW1lcmFsc2lnbmdyZWVrFW51bWVyYWxzaWdubG93ZXJncmVlaw1xd
WVzdGlvbmdyZWVrBXRvbm9zDmRpYWx5dGlrYXRvbm9zCkFscGhhdG9ub3MJYW5vdGVsZWlhDEVwc2lsb250
b25vcwhFdGF0b25vcwlJb3RhdG9ub3MMT21pY3JvbnRvbm9zDFVwc2lsb250b25vcwpPbWVnYXRvbm9zEWl
vdGFkaWVyZXNpc3Rvbm9zBUFscGhhBEJldGEFR2FtbWEKRGVsdGFncmVlawdFcHNpbG9uBFpldGEDRXRhBV
RoZXRhBElvdGEFS2FwcGEGTGFtYmRhAk11Ak51AlhpB09taWNyb24CUGkDUmhvBVNpZ21hA1RhdQdVcHNpb
G9uA1BoaQNDaGkDUHNpDElvdGFkaWVyZXNpcw9VcHNpbG9uZGllcmVzaXMKYWxwaGF0b25vcwxlcHNpbG9u
dG9ub3MIZXRhdG9ub3MJaW90YXRvbm9zFHVwc2lsb25kaWVyZXNpc3Rvbm9zBWFscGhhBGJldGEFZ2FtbWE
FZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBWthcHBhBmxhbWJkYQdtdWdyZWVrAm51AnhpB2
9taWNyb24DcmhvBnNpZ21hMQVzaWdtYQN0YXUHdXBzaWxvbgNwaGkDY2hpA3BzaQVvbWVnYQxpb3RhZGllc
mVzaXMPdXBzaWxvbmRpZXJlc2lzDG9taWNyb250b25vcwx1cHNpbG9udG9ub3MKb21lZ2F0b25vcwd1bmkw
M0Q3B3VuaTA0MDAJYWZpaTEwMDIzCWFmaWkxMDA1MQlhZmlpMTAwNTIJYWZpaTEwMDUzCWFmaWkxMDA1NAl
hZmlpMTAwNTUJYWZpaTEwMDU2CWFmaWkxMDA1NwlhZmlpMTAwNTgJYWZpaTEwMDU5CWFmaWkxMDA2MAlhZm
lpMTAwNjEHdW5pMDQwRAlhZmlpMTAwNjIJYWZpaTEwMTQ1CUFjeXJpbGxpYwlhZmlpMTAwMTgJYWZpaTEwM
DE5CWFmaWkxMDAyMAlhZmlpMTAwMjEJYWZpaTEwMDIyCWFmaWkxMDAyNAlhZmlpMTAwMjUJYWZpaTEwMDI2
CWFmaWkxMDAyNwlhZmlpMTAwMjgJYWZpaTEwMDI5CWFmaWkxMDAzMAlhZmlpMTAwMzEJYWZpaTEwMDMyCWF
maWkxMDAzMwlhZmlpMTAwMzQJYWZpaTEwMDM1CWFmaWkxMDAzNglhZmlpMTAwMzcJYWZpaTEwMDM4CWFmaW
kxMDAzOQlhZmlpMTAwNDAJYWZpaTEwMDQxCWFmaWkxMDA0MglhZmlpMTAwNDMJYWZpaTEwMDQ0CWFmaWkxM
DA0NQlhZmlpMTAwNDYJYWZpaTEwMDQ3CWFmaWkxMDA0OAlhZmlpMTAwNDkJYWN5cmlsbGljCWFmaWkxMDA2
NglhZmlpMTAwNjcJYWZpaTEwMDY4CWFmaWkxMDA2OQlhZmlpMTAwNzAJYWZpaTEwMDcyCWFmaWkxMDA3Mwl
hZmlpMTAwNzQJYWZpaTEwMDc1CWFmaWkxMDA3NglhZmlpMTAwNzcJYWZpaTEwMDc4CWFmaWkxMDA3OQlhZm
lpMTAwODAJYWZpaTEwMDgxCWFmaWkxMDA4MglhZmlpMTAwODMJYWZpaTEwMDg0CWFmaWkxMDA4NQlhZmlpM
TAwODYJYWZpaTEwMDg3CWFmaWkxMDA4OAlhZmlpMTAwODkJYWZpaTEwMDkwCWFmaWkxMDA5MQlhZmlpMTAw
OTIJYWZpaTEwMDkzCWFmaWkxMDA5NAlhZmlpMTAwOTUJYWZpaTEwMDk2CWFmaWkxMDA5Nwd1bmkwNDUwCWF
maWkxMDA3MQlhZmlpMTAwOTkJYWZpaTEwMTAwCWFmaWkxMDEwMQlhZmlpMTAxMDIJYWZpaTEwMTAzCWFmaW
kxMDEwNAlhZmlpMTAxMDUJYWZpaTEwMTA2CWFmaWkxMDEwNwlhZmlpMTAxMDgJYWZpaTEwMTA5B3VuaTA0N
UQJYWZpaTEwMTEwCWFmaWkxMDE5MwlhZmlpMTAxNDYJYWZpaTEwMTk0CWFmaWkxMDE0NwlhZmlpMTAxOTUJ
YWZpaTEwMTQ4CWFmaWkxMDE5Ngd1bmkwNDhBB3VuaTA0OEIHdW5pMDQ4Qwd1bmkwNDhEB3VuaTA0OEUHdW5
pMDQ4RglhZmlpMTAwNTAJYWZpaTEwMDk4EUdoZXN0cm9rZWN5cmlsbGljEWdoZXN0cm9rZWN5cmlsbGljFF
poZWRlc2NlbmRlcmN5cmlsbGljFHpoZWRlc2NlbmRlcmN5cmlsbGljE1plZGVzY2VuZGVyY3lyaWxsaWMTe
mVkZXNjZW5kZXJjeXJpbGxpYxNLYWRlc2NlbmRlcmN5cmlsbGljE2thZGVzY2VuZGVyY3lyaWxsaWMYS2F2
ZXJ0aWNhbHN0cm9rZWN5cmlsbGljGGthdmVydGljYWxzdHJva2VjeXJpbGxpYxFLYWJhc2hraXJjeXJpbGx
pYxFrYWJhc2hraXJjeXJpbGxpYxNFbmRlc2NlbmRlcmN5cmlsbGljE2VuZGVzY2VuZGVyY3lyaWxsaWMTRX
NkZXNjZW5kZXJjeXJpbGxpYxNlc2Rlc2NlbmRlcmN5cmlsbGljEVVzdHJhaWdodGN5cmlsbGljEXVzdHJha
WdodGN5cmlsbGljF1VzdHJhaWdodHN0cm9rZWN5cmlsbGljF3VzdHJhaWdodHN0cm9rZWN5cmlsbGljE0hh
ZGVzY2VuZGVyY3lyaWxsaWMTaGFkZXNjZW5kZXJjeXJpbGxpYxRDaGVkZXNjZW5kZXJjeXJpbGxpYxRjaGV
kZXNjZW5kZXJjeXJpbGxpYxlDaGV2ZXJ0aWNhbHN0cm9rZWN5cmlsbGljGWNoZXZlcnRpY2Fsc3Ryb2tlY3
lyaWxsaWMMU2hoYWN5cmlsbGljDHNoaGFjeXJpbGxpYxBwYWxvY2hrYWN5cmlsbGljEFpoZWJyZXZlY3lya
WxsaWMQemhlYnJldmVjeXJpbGxpYwd1bmkwNEM1B3VuaTA0QzYORW5ob29rY3lyaWxsaWMOZW5ob29rY3ly
aWxsaWMHdW5pMDRDOQd1bmkwNENBB3VuaTA0Q0QHdW5pMDRDRQd1bmkwNENGEUFkaWVyZXNpc2N5cmlsbGl
jEWFkaWVyZXNpc2N5cmlsbGljC0FpZWN5cmlsbGljC2FpZWN5cmlsbGljDVNjaHdhY3lyaWxsaWMJYWZpaT
EwODQ2D0ltYWNyb25jeXJpbGxpYw9pbWFjcm9uY3lyaWxsaWMRSWRpZXJlc2lzY3lyaWxsaWMRaWRpZXJlc
2lzY3lyaWxsaWMRT2RpZXJlc2lzY3lyaWxsaWMRb2RpZXJlc2lzY3lyaWxsaWMPT2JhcnJlZGN5cmlsbGlj
D29iYXJyZWRjeXJpbGxpYwd1bmkwNEVDB3VuaTA0RUQPVW1hY3JvbmN5cmlsbGljD3VtYWNyb25jeXJpbGx
pYxFVZGllcmVzaXNjeXJpbGxpYxF1ZGllcmVzaXNjeXJpbGxpYwZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YW
N1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwd1bmkxRTlFBllncmF2ZQZ5Z3JhdmURcXVvdGVsZWZ0cmV2ZXJzZ
WQHdW5pMjAxRgd1bmkyMDIzBm1pbnV0ZQZzZWNvbmQNcHJpbWVyZXZlcnNlZAd1bmkyMDM2DHplcm9zdXBl
cmlvcgd1bmkyMDcxDGZvdXJzdXBlcmlvcgxmaXZlc3VwZXJpb3ILc2l4c3VwZXJpb3INc2V2ZW5zdXBlcml
vcg1laWdodHN1cGVyaW9yDG5pbmVzdXBlcmlvcgx6ZXJvaW5mZXJpb3ILb25laW5mZXJpb3ILdHdvaW5mZX
Jpb3INdGhyZWVpbmZlcmlvcgxmb3VyaW5mZXJpb3IMZml2ZWluZmVyaW9yC3NpeGluZmVyaW9yDXNldmVua
W5mZXJpb3INZWlnaHRpbmZlcmlvcgxuaW5laW5mZXJpb3IDd29uBEV1cm8HdW5pMjBBRQd1bmkyMEIxB3Vu
aTIwQjQHdW5pMjBCOAd1bmkyMEI5B3VuaTIwQkEJYWZpaTYxMjQ4CWFmaWk2MTI4OQlhZmlpNjEzNTIHdW5
pMjExNwd1bmkyMTIwCWVzdGltYXRlZAd1bmkyMTUwB3VuaTIxNTEHdW5pMjE1MghvbmV0aGlyZAl0d290aG
lyZHMHdW5pMjE1NQd1bmkyMTU2B3VuaTIxNTcHdW5pMjE1OAd1bmkyMTU5B3VuaTIxNUEJb25lZWlnaHRoD
HRocmVlZWlnaHRocwtmaXZlZWlnaHRocwxzZXZlbmVpZ2h0aHMJYXJyb3dsZWZ0B2Fycm93dXAKYXJyb3dy
aWdodAlhcnJvd2Rvd24JYXJyb3dib3RoCWFycm93dXBkbgthcnJvd3VwbGVmdAxhcnJvd3VwcmlnaHQOYXJ
yb3dkb3ducmlnaHQNYXJyb3dkb3dubGVmdAhlbXB0eXNldAl0aGVyZWZvcmULYmxhY2tzcXVhcmUGSDIyMD
czF2JsYWNrdXBwb2ludGluZ3RyaWFuZ2xlF3doaXRldXBwb2ludGluZ3RyaWFuZ2xlGmJsYWNrcmlnaHRwb
2ludGluZ3RyaWFuZ2xlGndoaXRlcmlnaHRwb2ludGluZ3RyaWFuZ2xlBmNpcmNsZQtibGFja2NpcmNsZQZm
ZW1hbGUEbWFsZQtxdWFydGVybm90ZQttdXNpY2Fsbm90ZRBlaWdodGhub3RlYmVhbWVkDW11c2ljZmxhdHN
pZ24HdW5pMjY2RQ5tdXNpY3NoYXJwc2lnbgd1bmkyN0U4B3VuaTI3RTkAAQAACoACQAAACQD+gADACEAAAQ
AAAAAAAAAAAAAAAAAAAtUAAQAAAtUAPAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAADwADACQAAAwAHA
AARNTMVAxEzEcDAwAPAwMABgAPA/EAAAAAAAgAAB4ACQAkAAAMABwAAEREzETMRMxHAwMAHgAGA/
oABgP6AAAAAAAIAAAPAA8AJAAADAB8AAAE1IxUDESM1MzUjNTMRMxEzETMRMxUjFTMVIxEjESMRAkDAwMDA
wMDAwMDAwMDAwMAGAMDA/cABgMDAwAGA/oABgP6AwMDA/
oABgP6AAAAAAAUAAAPAA8AJAAAHAAsADwATABsAAAE1ITUhFSMVEzUzFSU1IRUlNTMVNTUzNTMVIRUBgP6A
AwDAwMD9AAJA/
QDAwMABgAPAwMDAwAGAwMDAwMDAwMDAwMDAwAAABwAAA8ADwAkAAAMABwALAA8AEwAXABsAABE1MxUhETMR
JREzERE1MxU1ETMRJREzESU1MxXAAkDA/QDAwMD9AMACQMADwMDAAYD+gMABgP6AAYDAwMABgP6AwAGA/
oDAwMAAAAgAAAPAA8AJAAADAAcACwAPABsAHwAjACcAABM1IRUzNTMVJREzEQE1MxUBNSM1IzUzNTMRMxEB
NTMVMzUzFSU1MxXAAYDAwPxAwAJAwP6AwMDAwMD9wMDAwP6AwAPAwMDAwMABgP6AAYDAwP6AwMDAwP6A/
oADAMDAwMDAwMAAAQAAB4AAwAkAAAMAABERMxHAB4ABgP6AAAAAAAUAAAPAAwAJAAADAAcACwAPABMAAAE1
IRUlNTMVJREzERE1MxU1NSEVAYABgP3AwP6AwMABgAPAwMDAwMDAAkD9wAJAwMDAwMAAAAAFAAADwAMACQA
AAwAHAAsADwATAAARNSEVNTUzFTURMxEBNTMVJTUhFQGAwMD+gMD9wAGAA8DAwMDAwMACQP3AAkDAwMDAwA
AFAAAGwAMACQAAAwAHAAsADwATAAARNTMVITUzFSU1IRUlNTMVITUzFcABgMD9wAGA/
cDAAYDABsDAwMDAwMDAwMDAwMAAAAABAAADwAPAB4AACwAAAREhNSERMxEhFSERAY
D+gAGAwAGA/oADwAGAwAGA/oDA/
oAAAAAAAQAAAwAAwAVAAAMAABERMxHAAwACQP3AAAAAAAEAAAVAA8AGAAADAAARNSEVA8AFQMDAAAEAAAPA
AMAFQAADAAARETMRwAPAAYD+gAAAAAAFAAADwAPACQAAAwAHAAsADwATAAARNTMVNREzERE1MxU1ETMRETU
zFcDAwMDAA8DAwMABgP6AAYDAwMABgP6AAYDAwAAAAAAFAAADwAPACQAAAwAHAA8AFwAbAAATNSEVATUzFQ
ERMxEzFSMVIREjNTM1MxEBNSEVwAJA/oDA/
cDAwMACQMDAwP0AAkADwMDAAkDAwP6AA8D9wMDAAkDAwPxAA8DAwAABAAADwAPACQAACwAAETUhESM1MzUz
ESEVAYDAwMABgAPAwAMAwMD7gMAAAAYAAAPAA8AJAAAFAAkADQARABUAGQAAEREzFSEVATUzFTU1IRUBNTM
VBREzEQE1IRXAAwD9AMABgP0AwAJAwP0AAkADwAGAwMABgMDAwMDAAYDAwMABgP6AAYDAwAAAAAcAAAPAA8
AJAAADAAcACwAPABMAFwAbAAATNSEVJTUzFSERMxEBNSEVATUzFQURMxEBNSEVwAJA/QDAAkDA/
cABgP0AwAJAwP0AAkADwMDAwMDAAYD+gAGAwMABgMDAwAGA/
oABgMDAAAAAAAMAAAPAA8AJAAADAAcAEwAAEzUzFTU1MxUTESERMxUhESM1IRHAwMDA/
QDAAkDAAYAGwMDAwMDA/
EABgAGAwAJAwPrAAAAAAAQAAAPAA8AJAAADAAcACwATAAATNSEVJTUzFSERMxEBESEVIRUhFcACQP0AwAJA
wPxAA8D9AAJAA8DAwMDAwAJA/
cACQAJAwMDAAAAFAAADwAPACQAAAwAHAA8AEwAXAAATNSEVNREzESERMxUhFSERETUzFTU1IRXAAkDA/
EDAAkD9wMABgAPAwMDAAYD+gAMAwMD+gAMAwMDAwMAAAAADAAADwAPACQAAAwAHAA8AAAERMxERNTMVNREh
FSMRIREBgMDA/cDAA8ADwAJA/cACQMDAwAGAwAGA/
cAAAAAABwAAA8ADwAkAAAMABwALAA8AEwAXABsAABM1IRUlETMRIREzEQE1IRUlETMRIREzEQE1IRXAAkD9
AMACQMD9AAJA/QDAAkDA/QACQAPAwMDAAYD+gAGA/oABgMDAwAGA/
oABgP6AAYDAwAAABQAAA8ADwAkAAAMABwALABMAFwAAEzUhFTU1MxUBETMRATUhNSERMxEBNSEVwAGAwP0A
wAJA/
cACQMD9AAJAA8DAwMDAwAJAAYD+gP6AwMABgP0AAwDAwAAAAAACAAADwADACEAAAwAHAAARETMRAxEzEcDA
wAPAAYD+gAMAAYD+gAAAAgAAAwAAwAhAAAMABwAAEREzEQMRMxHAwMADAAJA/cADwAGA/
oAAAAcAAAPAAwAJAAADAAcACwAPABMAFwAbAAABNTMVJTUzFSU1MxUlNTMVNTUzFTU1MxU1NTMVAkDA/
oDA/oDA/
oDAwMDAA8DAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAgAABIADwAeAAAMABwAAETUhFQE1IRUDwPxAA8AEgMDA
AkDAwAAAAAcAAAPAAwAJAAADAAcACwAPABMAFwAbAAARNTMVNTUzFTU1MxU1NTMVJTUzFSU1MxUlNTMVwMD
AwP6AwP6AwP6AwAPAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAABgAAA8ADwAkAAAMABwALAA8AEwAXAAABNT
MVAzUzFTU1MxUBNTMVBREzEQE1IRUBgMDAwMD9AMACQMD9AAJAA8DAwAGAwMDAwMABgMDAwAGA/
oABgMDAAAQAAAPABIAJAAADAAcADwATAAATNSEVJREzETcRIREzETMRATUhFcADwPuAwMABgMDA/
EADAAPAwMDAA8D8QMACQP6AAkD9AAMAwMAAAAAAAgAAA8ADwAkAAAsADwAAEREzFSE1MxEjESERETUhFcAC
QMDA/
cACQAPABIDAwPuAAwD9AASAwMAAAAAAAwAAA8ADwAkAAAMABwATAAABETMRAzUzFQERIRUhFSEVIREhFQMA
wMDA/
EADAP3AAkD9wAJABIACQP3AAwDAwPxABUDAwMD9wMAAAAUAAAPAA8AJAAADAAcACwAPABMAABM1IRU1NTMV
IREzEQE1MxUlNSEVwAJAwPxAwAJAwP0AAkADwMDAwMDAA8D8QAMAwMDAwMAAAAACAAADwAPACQAAAwALAAA
BETMRBREhFSERIRUDAMD8QAMA/
cACQASAA8D8QMAFQMD8QMAAAQAAA8ADwAkAAAsAABERIRUhFSEVIREhFQPA/QABgP6AAwADwAVAwMDA/
cDAAAAAAQAAA8ADwAkAAAkAABERIRUhFSEVIREDwP0AAYD+gAPABUDAwMD9AAAAAAAEAAADwAPACQAAAwAJ
AA0AEQAAEzUhFTURITUhESERMxERNSEVwAJA/oACQPxAwAMAA8DAwMACQMD9AAPA/
EADwMDAAAEAAAPAA8AJAAALAAARETMRIREzESMRIRHAAkDAwP3AA8AFQP6AAYD6wAMA/
QAAAAEAAAPAAkAJAAALAAARNTMRIzUhFSMRMxXAwAJAwMADwMADwMDA/
EDAAAAAAwAAA8ADwAkAAAMABwALAAATNSEVJTUzFSERMxHAAkD9AMACQMADwMDAwMDABID7gAAAAAUAAAPA
A8AJAAADAAcACwATABcAAAERMxEBNTMVAzUzFQERMxEhFSERATUzFQMAwP6AwMDA/
QDAAYD+gAJAwAPAAkD9wAJAwMABgMDA/
EAFQP6AwP0ABIDAwAAAAQAAA8ADwAkAAAUAABERMxEhFcADAAPABUD7gMAAAAADAAADwAPACQAAAwALABMA
AAE1MxUBETMVMxUjESERIzUzNTMRAYDA/
cDAwMACQMDAwAbAwMD9AAVAwMD8QAPAwMD6wAAAAAADAAADwAPACQAAAwALABMAAAE1MxUBETMVMxUjESER
IzUzETMRAYDA/
cDAwMACQMDAwAbAwMD9AAVAwMD8QAJAwAJA+sAAAAAEAAADwAPACQAAAwAHAAsADwAAEzUhFSURMxEhETMR
ATUhFcACQP0AwAJAwP0AAkADwMDAwAPA/
EADwPxAA8DAwAAAAAIAAAPAA8AJAAADAA0AAAE1MxUBESEVIRUhFSERAwDA/
EADAP3AAkD9wAeAwMD8QAVAwMDA/
QAABgAAA8ADwAkAAAMABwALAA8AEwAXAAATNSEVMzUzFSU1MxUhETMRJREzEQE1IRXAAYDAwP6AwP0AwAJA
wP0AAkADwMDAwMDAwMADwPxAwAMA/
QADAMDAAAMAAAPAA8AJAAADAAcAEQAAAREzEQM1MxUBESEVIRUhFSERAwDAwMD8QAMA/
cACQP3AA8ADAP0AA8DAwPxABUDAwMD9AAAAAAYAAAPAA8AJAAADAAcACwAPABMAFwAAEzUhFSU1MxUhETMR
ATUhFSU1MxU1NSEVwAJA/QDAAkDA/QACQP0AwAMAA8DAwMDAwAJA/
cACQMDAwMDAwMDAAAABAAADwAPACQAABwAAAREhNSEVIREBgP6AA8D+gAPABIDAwPuAAAAAAwAAA8ADwAkA
AAMABwALAAATNSEVJREzESERMxHAAkD9AMACQMADwMDAwASA+4AEgPuAAAUAAAPAA8AJAAADAAcACwAPABM
AAAE1MxUlETMRMxEzEQERMxEhETMRAYDA/oDAwMD9AMACQMADwMDAwAGA/
oABgP6AAYADAP0AAwD9AAAAAwAAA8ADwAkAAAMACwATAAABNTMVAREzETMVIxUhNSM1MxEzEQGAwP3AwMDA
AkDAwMAFQMDA/
oAFQPxAwMDAwAPA+sAAAAAACQAAA8ADwAkAAAMABwALAA8AEwAXABsAHwAjAAARETMRIREzEQE1MxUzNTMV
JTUzFSU1MxUzNTMVJTUzFSE1MxXAAkDA/QDAwMD+gMD+gMDAwP0AwAJAwAPAAkD9wAJA/
cACQMDAwMDAwMDAwMDAwMDAwMDAAAAABQAAA8ADwAkAAAMABwALAA8AEwAAAREzEQE1MxUzNTMVJTUzFSE1
MxUBgMD+gMDAwP0AwAJAwAPAA8D8QAPAwMDAwMDAwMDAAAAAAAUAAAPAA8AJAAAFAAkADQARABcAABERMxU
hFQE1MxU1NTMVNTUzFTU1ITUhEcADAP0AwMDA/
QADwAPAAYDAwAGAwMDAwMDAwMDAwMD+gAAAAQAAA8ACQAkAAAcAABERIRUhESEVAkD+gAGAA8AFQMD8QMAA
BQAAA8ADwAkAAAMABwALAA8AEwAAATUzFSURMxEBNTMVJREzEQE1MxUDAMD+gMD+gMD+gMD+gMADwMDAwAG
A/oABgMDAwAGA/
oABgMDAAAABAAADwAJACQAABwAAETUhESE1IREBgP6AAkADwMADwMD6wAAFAAAGwAPACQAAAwAHAAsADwAT
AAARNTMVITUzFSU1MxUzNTMVJTUzFcACQMD9AMDAwP6AwAbAwMDAwMDAwMDAwMDAAAEAAAMAA8ADwAADAAA
RNSEVA8ADAMDAAAIAAAhAAYAJwAADAAcAABM1MxUlNTMVwMD+gMAIQMDAwMDAAAMAAAPAA8AHgAADAA0AEQ
AAETUzFRU1ITUhNSE1MxEBNSEVwAJA/cACQMD9AAJABIDAwMDAwMDA/
QADAMDAAAADAAADwAPACQAAAwAHABEAAAERMxEBNSEVAREzETMVIxEhFQMAwP3AAYD9AMDAwAJABIACQP3A
AkDAwP0ABUD9wMD+gMAAAAAFAAADwAPAB4AAAwAHAAsADwATAAATNSEVNTUzFSERMxEBNTMVJTUhFcACQMD
8QMACQMD9AAJAA8DAwMDAwAJA/
cABgMDAwMDAAAAAAwAAA8ADwAkAAAMABwARAAARETMRETUhFQE1IREjNTMRMxHAAYD+gAJAwMDABIACQP3A
AkDAwP0AwAGAwAJA+sAAAAADAAADwAPAB4AAAwANABEAABM1IRUlETMVITUzESEVETUhFcADAPxAwAJAwP0
AAkADwMDAwAJAwMD+gMACQMDAAAAAAAIAAAPAAwAJAAALAA8AABMRIzUzNTMVIRUhERE1IRXAwMDAAYD+gA
GAA8ADAMDAwMD9AASAwMAAAwAAAwADwAeAAAMABwARAAARNSEVAREzEQE1ITUhESE1IREDAP0AwAJA/
cACQP3AAwADAMDAAkABgP6A/
oDAwAGAwPxAAAAAAwAAA8ADwAkAAAMABwAPAAABETMRATUhFQERMxEzFSMRAwDA/
cABgP0AwMDAA8ADAP0AAwDAwP0ABUD9wMD9wAAAAAACAAADwADACQAAAwAHAAARETMRAzUzFcDAwAPAA8D8
QASAwMAAAAAABAAAAwADwAkAAAMABwALAA8AABM1IRUlETMRIREzEQM1MxXAAkD9AMACQMDAwAMAwMDAAYD
+gAPA/
EAEgMDAAAUAAAPAAwAJAAADAAcACwAPABcAAAE1MxUlNTMVAzUzFTU1MxUBETMRMxUjEQJAwP6AwMDAwP0A
wMDAA8DAwMDAwAGAwMDAwMD9AAVA/QDA/
oAAAAIAAAPAAYAJAAADAAcAABM1MxUlETMRwMD+gMADwMDAwASA+4AAAAAEAAADwAPAB4AAAwAHAA0AEQAA
AREzERMRMxEhESEVIxEBNTMVAYDAwMD8QAGAwAGAwAVAAYD+gP6AAwD9AAPAwP0AAwDAwAACAAADwAPAB4A
AAwAJAAABETMRIREhFSERAwDA/EADAP3AA8ADAP0AA8DA/
QAAAAAEAAADwAPAB4AAAwAHAAsADwAAEzUhFSURMxEhETMRATUhFcACQP0AwAJAwP0AAkADwMDAwAJA/
cACQP3AAkDAwAAAAAMAAAMAA8AHgAADAA8AEwAAAREzEQERMxUzFSMVIRUhERM1IRUDAMD8QMDAwAJA/
cDAAYAFQAGA/
oD9wASAwMDAwP6AA8DAwAAAAAADAAADAAPAB4AAAwAHABMAABERMxERNSEVExEhNSE1IzUzNTMRwAGAwP3A
AkDAwMAFQAGA/oABgMDA/
EABgMDAwMD7gAAAAAADAAADwAPAB4AAAwALAA8AAAE1MxUBETMVMxUjERM1IRUDAMD8QMDAwMABgAYAwMD9
wAPAwMD9wAMAwMAAAAAABQAAA8ADwAeAAAMABwALAA8AEwAAETUhFTU1MxUlNSEVJTUzFTU1IRUDAMD9AAJ
A/
QDAAwADwMDAwMDAwMDAwMDAwMDAAAAAAgAAA8ACQAkAAAMADwAAATUzFSURIzUzNTMVMxUjEQGAwP6AwMDA
wMADwMDAwAMAwMDAwP0AAAACAAADwAPAB4AAAwAJAAARETMRFTUhETMRwAJAwASAAwD9AMDAAwD8QAAAAAU
AAAPAA8AHgAADAAcACwAPABMAAAE1MxUlNTMVMzUzFSURMxEhETMRAYDA/
oDAwMD9AMACQMADwMDAwMDAwMDAAkD9wAJA/
cAAAAACAAADwAPAB4AAAwANAAARETMRFTUzETMRMxEzEcDAwMDABIADAP0AwMABgP6AAwD8QAAACQAAA8AD
wAeAAAMABwALAA8AEwAXABsAHwAjAAARNTMVITUzFSU1MxUzNTMVJTUzFSU1MxUzNTMVJTUzFSE1MxXAAkD
A/
QDAwMD+gMD+gMDAwP0AwAJAwAPAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAADAAADAAPAB4AAAwAHAA8A
ABE1IRUBETMRATUhNSERMxEDAP0AwAJA/cACQMADAMDAAkACQP3A/oDAwAJA/
EAAAwAAA8ADwAeAAAcACwATAAARNTM1MxUhFQE1MxU1NSE1IRUjFcDAAkD9wMD9wAPAwAPAwMDAwAGAwMDA
wMDAwAAAAAAFAAADwAMACQAAAwAHAAsADwATAAABNSEVJREzEQE1MxU1ETMRETUhFQGAAYD9wMD+gMDAAYA
DwMDAwAGA/oABgMDAwAGA/
oABgMDAAAAAAAEAAAMAAMAJAAADAAARETMRwAMABgD6AAAAAAAFAAADwAMACQAAAwAHAAsADwATAAARNSEV
NREzERE1MxUlETMRATUhFQGAwMD+gMD9wAGAA8DAwMABgP6AAYDAwMABgP6AAYDAwAAABAAAB4AEgAkAAAM
ABwALAA8AABE1MxUhNSEVJTUhFSE1MxXAAYABgP0AAYABgMAHgMDAwMDAwMDAwAAAAgAAA8AAwAkAAAMABw
AAEREzEQM1MxXAwMADwAPA/
EAEgMDAAAAAAAMAAAPAAwAHgAAHAAsAEwAAATUjNSEVIxUBNTMVNTUzNTMVMxUBgMACQMD9wMDAwMADwMDA
wMABgMDAwMDAwMAAAAAAAgAAA8ADwAkAAA8AEwAAETUzESM1MxEzESEVIREhFQE1IRXAwMDAAYD+gAJA/
cACQAPAwAGAwAGA/oDA/
oDABIDAwAAGAAAEgAPACEAAAwAHAAsADwATABcAABE1MxUhNTMVATUjFQcRIREBNTMVITUzFcACQMD+gMDA
AkD9AMACQMAEgMDAwMABgMDAwAJA/
cACQMDAwMAAAAAABQAAA8ADwAkAABMAFwAbAB8AIwAAATUjNTM1IzUzNTMVMxUjFTMVIxUBNTMVMzUzFSU1
MxUhNTMVAYDAwMDAwMDAwMD+gMDAwP0AwAJAwAPAwMDAwMDAwMDAwAPAwMDAwMDAwMDAAAACAAADwADACQA
AAwAHAAARETMRAxEzEcDAwAPAAkD9wAMAAkD9wAAACAAAA8ADwAkAAAMABwALAA8AEwAXABsAHwAAETUhFT
U1MxUlNSEVJTUzFSE1MxUlNSEVJTUzFTU1IRUDAMD9AAJA/QDAAkDA/
QACQP0AwAMAA8DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAgDACEADAAkAAAMABwAAEzUzFTM1MxXAwMDA
CEDAwMDAAAAABwAAA8AFQAkAAAMABwALAA8AEwAXABsAABM1IRUBNSEVJTUzFTU1IRUBETMRIREzEQE1IRX
AA8D9wAGA/cDAAYD8QMADwMD7gAPAA8DAwAGAwMDAwMDAwMD9wAPA/
EADwPxAA8DAwAADAAAEgAJACQAAAwAHABMAABE1IRUBNTMVFTUzNSM1IzUhFTMRAkD9wMDAwMABgMAEgMDA
AkDAwMDAwMDAwP3AAAAAAAYAAAPAAwAGwAADAAcACwAPABMAFwAAEzUzFTM1MxUlETMRMxEzEQE1MxUzNTM
VwMDAwP0AwMDA/oDAwMADwMDAwMDAAYD+gAGA/
oABgMDAwMAAAAEAAAVAAwAHgAAFAAABESE1IRECQP3AAwAFQAGAwP3AAAAAAAYAAAPABUAJAAADAAcADwAT
ABcAGwAAEzUhFQE1MxUhESEVIxUjFQURMxEhETMRATUhFcADwP6AwP3AAkDAwP3AwAPAwPuAA8ADwMDAAYD
AwAJAwMDAwAPA/
EADwPxAA8DAwAABAAAIQAPACQAAAwAAETUhFQPACEDAwAAEAAAGwAJACQAAAwAHAAsADwAAEzUzFSU1MxUz
NTMVJTUzFcDA/
oDAwMD+gMAGwMDAwMDAwMDAwMAAAAACAAADwAPACQAAAwAPAAARNSEVAREhNSERMxEhFSERA8D9wP6AAYDA
AYD+gAPAwMABgAGAwAGA/oDA/
oAAAAAAAwAABgACQAkAAAcACwAPAAARNTM1MxUzFQM1MxUlNSEVwMDAwMD9wAGABgDAwMDAAYDAwMDAwAAC
AAAGAAJACQAAAwANAAARNSEVNTUjNSM1IRUzEQGAwMABgMAGAMDAwMDAwMD+gAACAAAIQAGACcAAAwAHAAA
RNTMVNTUzFcDACEDAwMDAwAAAAAACAAADAAPAB4AABwAPAAARETMRIRUhFSU1IzUzETMRwAGA/
oACQMDAwAMABID9AMDAwMDAAkD8QAAAAAABAAADwAPACQAACwAAAREjESE1IxEzNSERAwDA/
oDAwAMAA8AEgP3AwAGAwPrAAAABAAAFQADABgAAAwAAETUzFcAFQMDAAAABAMACQAJAA8AABQAAEzUzNTMR
wMDAAkDAwP6AAAAAAAEAAAYAAkAJAAALAAARNTM1IzUzNTMRMxXAwMDAwAYAwMDAwP3AwAAFAAAEgAJACQA
AAwAHAAsADwATAAARNSEVATUzFSURMxEzETMRATUzFQJA/oDA/
oDAwMD+gMAEgMDAAYDAwMABgP6AAYD+gAGAwMAABgAAA8ADAAbAAAMABwALAA8AEwAXAAARNTMVMzUzFSUR
MxEzETMRATUzFTM1MxXAwMD+gMDAwP0AwMDAA8DAwMDAwAGA/
oABgP6AAYDAwMDAAAAABwAAA8AGAAkAAAMABwALABcAGwAnACsAAAE1MxU1ETMRETUzFQE1IREzFTM1IzUh
EQERMxEFNTM1IzUzNTMRMxUBNTMVAYDAwMABgP6AwMDAAYD9wMD7gMDAwMDAAkDAA8DAwMABgP6AAYDAwP3
AwAGAwMDA/QADAAGA/
oDAwMDAwP3AwAJAwMAAAAAHAAADwAYACQAAAwALAA8AEwAbACcAKwAAATUzFSE1MzUzFTMVJREzESU1MxUl
NTMRMxEzFSE1MzUjNTM1MxEzFQE1MxUBgMABgMDAwPxAwAJAwP0AwMDA+sDAwMDAwAJAwAPAwMDAwMDAwAG
A/oDAwMDAwAGA/
oDAwMDAwP3AwAJAwMAAAAAACAAAA8AGAAkAAAMABwALAA8AGwAfACkALQAAATUzFTURMxEBNSEVITUzFQE1
IREzFTM1IzUhEQERMxEhNSM1IzUhFTMRATUzFQGAwMD9AAGAAYDAAYD+gMDAwAGA/cDA/
QDAwAGAwAJAwAPAwMDAAYD+gAGAwMDAwP3AwAGAwMDA/QADAAGA/oDAwMDA/
oABgMDAAAYAAAPAA8AJAAADAAcACwAPA
BMAFwAAEzUhFTU1MxUhETMRETUzFTU1MxUDNTMVwAJAwPxAwMDAwMADwMDAwMDAAYD+gAGAwMDAwMABgMDA
AAAAAAMAAAPAA8AKgAALABMAFwAAEREzFSE1MxEjESERETUzNTMVMxUBNTMVwAJAwMD9wMDAwP3AwAPABID
AwPuAAwD9AASAwMDAwAGAwMAAAAAAAwAAA8ADwAqAAAsAEwAXAAARETMVITUzESMRIRERNTM1MxUzFQM1Mx
XAAkDAwP3AwMDAwMADwASAwMD7gAMA/
QAEgMDAwMABgMDAAAMAAAPAA8AKgAALABMAFwAAEREzFSE1MxEjESEREREzFTM1MxEBNTMVwAJAwMD9wMDA
wP6AwAPABIDAwPuAAwD9AASAAYDAwP6AAYDAwAAABAAAA8ADwAqAAAsADwAZAB0AABERMxUhNTMRIxEhEQM
1MxUVNTM1IzUhFTMRETUzFcACQMDA/
cDAwMDAAYDAwAPABIDAwPuAAwD9AAVAwMDAwMDAwP6AAYDAwAAEAAADwAPACoAACwAPABMAFwAAEREzFSE1
MxEjESERETUhFQE1MxUzNTMVwAJAwMD9wAJA/cDAwMADwASAwMD7gAMA/
QAEgMDAAYDAwMDAAAMAAAPAA8AKgAALAA8AEwAAEREzFSE1MxEjESERATUjFQcRIRHAAkDAwP3AAYDAwAJA
A8AEgMDA+4ADAP0ABUDAwMACQP3AAAEAAAPABsAJAAAVAAARETMVITUhNSEVIRUhFSERIRUhESERwAJA/
cAGAP0AAYD+gAMA/
ED9wAPABIDAwMDAwMD9wMADAP0AAAUAAAJAA8AJAAAJAA0AEQAVABkAABM1MzUjNSEVIxETNTMVIREzEQE1
MxUlNSEVwMDAAkDAwMD8QMACQMD9AAJAAkDAwMDA/
oACQMDAA8D8QAMAwMDAwMAAAAAAAgAAA8ADwAqAAA8AEwAAEREhNTMVIRUhFSEVIREhFQE1MxUBgMABgP0A
AYD+gAMA/QDAA8AFQMDAwMDA/
cDABgDAwAACAAADwAPACoAADwATAAARESE1MxUhFSEVIRUhESEVATUzFQGAwAGA/
QABgP6AAwD+gMADwAVAwMDAwMD9wMAGAMDAAAIAAAPAA8AKgAATABcAABERMzUzFTM1MxUzFSEVIRUhESEV
ATUzFcDAwMDA/
QABgP6AAwD9wMADwAVAwMDAwMDAwP3AwAYAwMAAAAADAAADwAPACoAACwAPABMAABERIRUhFSEVIREhFQE1
MxUzNTMVA8D9AAGA/
oADAP0AwMDAA8AFQMDAwP3AwAYAwMDAwAAAAAACAAADwAJACoAADwATAAARNTMRIzUzNTMVMxUjETMVATUz
FcDAwMDAwMD9wMADwMADwMDAwMD8QMAGAMDAAAAAAgAAA8ACQAqAAA8AEwAAETUzESM1MzUzFTMVIxEzFQM
1MxXAwMDAwMDAwMADwMADwMDAwMD8QMAGAMDAAAAAAAIAAAPAAkAKgAAPABMAABE1MxEjETMVMzUzESMRMx
UBNTMVwMDAwMDAwP6AwAPAwAPAAYDAwP6A/
EDABgDAwAADAAADwAJACoAACwAPABMAABE1MxEjNSEVIxEzFQE1MxUzNTMVwMACQMDA/
cDAwMADwMADwMDA/
EDABgDAwMDAAAAAAAIAAAPABIAJAAADABMAAAERMxEFESM1MxEhFSEVMxUjESEVA8DA/EDAwAMA/
cDAwAJABIADwPxAwAMAwAGAwMDA/
cDAAAAAAAUAAAPAA8AKgAADAAsAEwAbAB8AAAE1MxUTESM1MxEzESERMxEzFSMREzUjNSEVMxU1NTMVAYDA
wMDAwPxAwMDAwMABgMDABsDAwP0AAkDAAkD6wAYA/oDA/
EAFQMDAwMDAwMAAAAAABQAAA8ADwAqAAAMABwALABMAFwAAEzUhFSURMxEhETMRATUzNTMVMxUBNTMVwAJA
/QDAAkDA/QDAwMD9wMADwMDAwAPA/
EADwPxAA8DAwMDAAYDAwAAAAAUAAAPAA8AKgAADAAcACwATABcAABM1IRUlETMRIREzEQE1MzUzFTMVAzUz
FcACQP0AwAJAwP0AwMDAwMADwMDAwAPA/
EADwPxAA8DAwMDAAYDAwAAAAAAFAAADwAPACoAAAwAHAAsAEwAXAAATNSEVJREzESERMxEBETMVMzUzEQE1
MxXAAkD9AMACQMD9AMDAwP6AwAPAwMDAA8D8QAPA/
EADwAGAwMD+gAGAwMAABgAAA8ADwAqAAAMABwALAA8AGQAdAAATNSEVJREzESERMxEBNTMVFTUzNSM1IRUz
ERE1MxXAAkD9AMACQMD8QMDAwAGAwMADwMDAwAPA/EADwPxABIDAwMDAwMDA/
oABgMDAAAYAAAPAA8AKgAADAAcACwAPABMAFwAAEzUhFSURMxEhETMRATUhFQE1MxUzNTMVwAJA/
QDAAkDA/
QACQP3AwMDAA8DAwMADwPxAA8D8QAPAwMABgMDAwMAAAAAABQAAA8ADAAbAAAMABwALAA8AEwAAETUzFSE1
MxUlESERATUzFSE1MxXAAYDA/
cABgP3AwAGAwAPAwMDAwMABgP6AAYDAwMDAAAAAAAcAAAPAA8AJAAADAAcACwATABsAHwAjAAARNTMVMzUh
FQE1MxUBNSMRMxEzESERIxEzFTMRATUhFTM1MxXAwAGA/oDA/
oDAwMABgMDAwP0AAYDAwAPAwMDAwAJAwMD+gMADAP3A/
oACQAGAwP0AA8DAwMDAAAAAAAUAAAPAA8AKgAADAAcACwAPABMAABM1IRUlETMRIREzEQE1MxUlNTMVwAJA
/QDAAkDA/cDA/
oDAA8DAwMAEgPuABID7gASAwMDAwMAAAAAABQAAA8ADwAqAAAMABwALAA8AEwAAEzUhFSURMxEhETMRATUz
FTU1MxXAAkD9AMACQMD9wMDAA8DAwMAEgPuABID7gASAwMDAwMAAAAYAAAPAA8AKgAADAAcACwAPABMAFwA
AEzUhFSURMxEhETMRATUzFTM1MxUlNTMVwAJA/QDAAkDA/
QDAwMD+gMADwMDAwASA+4AEgPuABIDAwMDAwMDAAAAFAAADwAPACoAAAwAHAAsADwATAAATNSEVJREzESER
MxEBNTMVMzUzFcACQP0AwAJAwP0AwMDAA8DAwMAEgPuABID7gAVAwMDAwAAABwAAA8ADwAqAAAMABwALAA8
AEwAXABsAAAERMxEBNTMVMzUzFSU1MxUhNTMVJTUzFTU1MxUBgMD+gMDAwP0AwAJAwP3AwMADwAPA/
EADwMDAwMDAwMDAwMDAwMDAwAAAAgAAA8ADwAkAAAMADwAAATUzFQERMxUhFSEVIRUhEQMAwPxAwAJA/
cACQP3ABsDAwP0ABUDAwMDA/
cAABQAAA8ADwAkAAAMABwALABEAFQAAATUhFTURMxEFETMREzUzNTMRATUhFQGAAYDA/EDAwMDA/
cABgAPAwMDAAkD9wMAEgPuAAwDAwP6AAYDAwAAABQAAA8ADwAnAAAMADQARABUAGQAAETUzFRU1ITUhNSE1
MxEBNSEVATUzFSU1MxXAAkD9wAJAwP0AAkD+gMD+gMAEgMDAwMDAwMD9AAMAwMABgMDAwMDAAAUAAAPAA8A
JwAADAA0AEQAVABkAABE1MxUVNSE1ITUhNTMRATUhFQE1MxU1NTMVwAJA/cACQMD9AAJA/
oDAwASAwMDAwMDAwP0AAwDAwAGAwMDAwMAAAAAGAAADwAPACcAAAwANABEAFQAZAB0AABE1MxUVNSE1ITUh
NTMRATUhFQE1MxUzNTMVJTUzFcACQP3AAkDA/QACQP3AwMDA/oDABIDAwMDAwMDA/
QADAMDAAYDAwMDAwMDAAAAABgAAA8ADwAnAAAMADQARABUAHQAhAAARNTMVFTUhNSE1ITUzEQE1IRUBNTMV
MzUjNSEVMxU1NTMVwAJA/cACQMD9AAJA/QDAwMABgMDABIDAwMDAwMDA/
QADAMDAAYDAwMDAwMDAwMAAAAAABQAAA8ADwAkAAAMADQARABUAGQAAETUzFRU1ITUhNSE1MxEBNSEVATUz
FTM1MxXAAkD9wAJAwP0AAkD9wMDAwASAwMDAwMDAwP0AAwDAwAGAwMDAwAAAAAUAAAPAA8AKgAADAA0AEQA
VABkAABE1MxUVNSE1ITUhNTMRATUhFQM1IxUHESERwAJA/
cACQMD9AAJAwMDAAkAEgMDAwMDAwMD9AAMAwMACQMDAwAJA/
cAAAAAABgAAA8AGwAeAAAMABwALABkAHQAhAAATNSEVMzUhFSU1MxUhNSE1ITUzFSE1MxEhFQE1IRUzNSEV
wAJAwAJA+gDAAkD9wAJAwAJAwP0A/QACQMACQAPAwMDAwMDAwMDAwMDA/
oDAAkDAwMDAAAAAAAUAAAJAA8AHgAAJAA0AEQAVABkAABM1MzUjNSEVIxETNTMVIREzEQE1MxUlNSEVwMDA
AkDAwMD8QMACQMD9AAJAAkDAwMDA/
oACQMDAAkD9wAGAwMDAwMAAAAAABQAAA8ADwAnAAAMADQARABUAGQAAEzUhFSURMxUhNTMRIRURNSEVATUz
FSU1MxXAAwD8QMACQMD9AAJA/oDA/oDAA8DAwMACQMDA/
oDAAkDAwAGAwMDAwMAAAAAFAAADwAPACcAAAwANABEAFQAZAAATNSEVJREzFSE1MxEhFRE1IRUBNTMVNTUz
FcADAPxAwAJAwP0AAkD+gMDAA8DAwMACQMDA/
oDAAkDAwAGAwMDAwMAABgAAA8ADwAnAAAMADQARABUAGQAdAAATNSEVJREzFSE1MxEhFRE1IRUBNTMVMzUz
FSU1MxXAAwD8QMACQMD9AAJA/
cDAwMD+gMADwMDAwAJAwMD+gMACQMDAAYDAwMDAwMDAAAUAAAPAA8AJAAADAA0AEQAVABkAABM1IRUlETMV
ITUzESEVETUhFQE1MxUzNTMVwAMA/EDAAkDA/QACQP3AwMDAA8DAwMACQMDA/oDAAkDAwAGAwMDAwAAD/
0ADwADACcAAAwAHAAsAABERMxEDNTMVJTUzFcDAwP6AwAPAA8D8QASAwMDAwMAAAAAAAwAAA8ABgAnAAAMA
BwALAAARETMRAzUzFTU1MxXAwMDAA8ADwPxABIDAwMDAwAAABP9AA8ABgAnAAAMABwALAA8AABERMxEBNTM
VMzUzFSU1MxXA/oDAwMD+gMADwAPA/EAEgMDAwMDAwMAAA/
9AA8ABgAkAAAMABwALAAARETMRATUzFTM1MxXA/oDAwMADwAPA/
EAEgMDAwMAABwAAA8ADwAkAAAMABwALABMAFwAbAB8AABM1IRUlNTMVEzUzFRM1ITUhETMRATUzFSU1MxUz
NTMVwAJA/QDAwMDA/cACQMD+gMD+gMDAwAPAwMDAwMACQMDA/cDAwAGA/
QADAMDAwMDAwMAABQAAA8ADwAnAAAMACQANABUAGQAAAREzESERIRUhEQM1MxUzNSM1IRUzFTU1MxUDAMD8
QAMA/
cDAwMDAAYDAwAPAAwD9AAPAwP0ABIDAwMDAwMDAwMAAAAYAAAPAA8AJwAADAAcACwAPABMAFwAAEzUhFSUR
MxEhETMRATUhFQE1MxUlNTMVwAJA/QDAAkDA/QACQP6AwP6AwAPAwMDAAkD9wAJA/
cACQMDAAYDAwMDAwAAABgAAA8ADwAnAAAMABwALAA8AEwAXAAATNSEVJREzESERMxEBNSEVATUzFTU1MxXA
AkD9AMACQMD9AAJA/oDAwAPAwMDAAkD9wAJA/
cACQMDAAYDAwMDAwAAAAAAHAAADwAPACcAAAwAHAAsADwATABcAGwAAEzUhFSURMxEhETMRATUhFQE1MxUz
NTMVJTUzFcACQP0AwAJAwP0AAkD9wMDAwP6AwAPAwMDAAkD9wAJA/
cACQMDAAYDAwMDAwMDAAAAAAAcAAAPAA8AJwAADAAcACwAPABMAGwAfAAATNSEVJREzESERMxEBNSEVATUz
FTM1IzUhFTMVNTUzFcACQP0AwAJAwP0AAkD9AMDAwAGAwMADwMDAwAJA/
cACQP3AAkDAwAGAwMDAwMDAwMDAAAYAAAPAA8AJAAADAAcACwAPABMAFwAAEzUhFSURMxEhETMRATUhFQE1
MxUzNTMVwAJA/QDAAkDA/
QACQP3AwMDAA8DAwMACQP3AAkD9wAJAwMABgMDAwMAAAAAAAwAAA8ADwAeAAAMABwALAAABNTMVATUhFQE1
MxUBgMD9wAPA/
cDAA8DAwAGAwMABgMDAAAkAAAPAA8AHgAADAAcACwAPABMAFwAbAB8AIwAAETUzFTM1IRUlNTMVNTUzFRcR
MxElETMRJTUzFSU1IRUzNTMVwMABgP3AwMDAwPxAwAGAwP3AAYDAwAPAwMDAwMDAwMDAwMABgP6AwAGA/
oDAwMDAwMDAwAAAAAQAAAPAA8AJwAADAAkADQARAAARETMRFTUhETMRATUzFSU1MxXAAkDA/cDA/
oDABIADAP0AwMADAPxABIDAwMDAwAAABAAAA8ADwAnAAAMACQANABEAABERMxEVNSERMxEBNTMVNTUzFcAC
QMD9wMDABIADAP0AwMADAPxABIDAwMDAwAAAAAAFAAADwAPACcAAAwAJAA0AEQAVAAARETMRFTUhETMRATU
zFTM1MxUlNTMVwAJAwP0AwMDA/
oDABIADAP0AwMADAPxABIDAwMDAwMDAAAAAAAQAAAPAA8AJAAADAAkADQARAAARETMRFTUhETMRATUzFTM1
MxXAAkDA/QDAwMAEgAMA/QDAwAMA/
EAEgMDAwMAAAAAABQAAAwADwAnAAAMABwAPABMAFwAAETUhFQERMxEBNSE1IREzEQE1MxU1NTMVAwD9AMAC
QP3AAkDA/cDAwAMAwMACQAJA/
cD+gMDAAkD8QASAwMDAwMAAAAMAAAMAA8AJAAADAAcAEwAAAREzEQE1IRUBETMRMxUjFSEVIREDAMD9wAGA
/
QDAwMACQP3ABUABgP6AAYDAwPxABgD9wMDAwP6AAAADAAADAAPAB4AAAwAHAA8AABE1IRUBETMRATUhNSER
MxEDAP0AwAJA/cACQMADAMDAAkACQP3A/oDAwAJA/
EAAAwAAA8ADwAqAAAsADwATAAARETMVITUzESMRIRERNSEVATUhFcACQMDA/
cACQP3AAkADwASAwMD7gAMA/
QAEgMDAAYDAwAAABAAAA8ADwAkAAAMADQARABUAABE1MxUVNSE1ITUhNTMRATUhFQE1IRXAAkD9wAJAwP0A
AkD9wAJABIDAwMDAwMDA/
QADAMDAAYDAwAAAAAACAAADwAPACoAACwATAAARETMVITUzESMRIRERETMVMzUzEcACQMDA/
cDAwMADwASAwMD7gAMA/
QAEgAJAwMD9wAAAAAQAAAPAA8AJwAADAA0AEQAZAAARNTMVFTUhNSE1ITUzEQE1IRUBETMVMzUzEcACQP3A
AkDA/QACQP3AwMDABIDAwMDAwMDA/QADAMDAAYABgMDA/
oAAAAADAAACQAPACQAABQARABUAAAERMxUzFQERMxUhNTMRIxEhERE1IRUCQMDA/
EDAAkDAwP3AAkACQAGAwMABgASAwMD7gAMA/
QAEgMDAAAAAAAMAAAJAA8AHgAADABMAFwAAETUzFQERITUhNSE1ITUzESMVMxUBNSEVwAGA/
oACQP3AAkDAwMD9AAJABIDAwP3AAYDAwMDA/
QDAwASAwMAABgAAA8ADwAqAAAMABwALAA8AFwAbAAATNSEVNTUzFSERMxEBNTMVJTUzNTMVMxUDNTMVwAJA
wPxAwAJAwP0AwMDAwMADwMDAwMDAA8D8QAMAwMDAwMDAwAGAwMAAAAAABwAAA8ADwAnAAAMABwALAA8AEwA
XABsAABM1IRU1NTMVIREzEQE1MxUlNSEVATUzFTU1MxXAAkDA/EDAAkDA/
QACQP6AwMADwMDAwMDAAkD9wAGAwMDAwMABgMDAwMDAAAAAAAYAAAPAA8AKgAADAAcACwAPABcAGwAAEzUh
FTU1MxUhETMRATUzFSURMxUzNTMRATUzFcACQMD8QMACQMD9AMDAwP6AwAPAwMDAwMADwPxAAwDAwMABgMD
A/
oABgMDAAAgAAAPAA8AJwAADAAcACwAPABMAFwAbAB8AABM1IRU1NTMVIREzEQE1MxUlNSEVATUzFTM1MxUl
NTMVwAJAwPxAwAJAwP0AAkD9wMDAwP6AwAPAwMDAwMACQP3AAYDAwMDAwAGAwMDAwMDAwAAAAAAGAAADwAP
ACoAAAwAHAAsADwATABcAABM1IRU1NTMVIREzEQE1MxUlNSEVATUzFcACQMD8QMACQMD9AAJA/
oDAA8DAwMDAwAPA/
EADAMDAwMDAAYDAwAAABgAAA8ADwAkAAAMABwALAA8AEwAXAAATNSEVNTUzFSERMxEBNTMVJTUhFQE1MxXA
AkDA/EDAAkDA/
QACQP6AwAPAwMDAwMACQP3AAYDAwMDAwAGAwMAAAAcAAAPAA8AKgAADAAcACwAPABcAGwAfAAATNSEVNTUz
FSERMxEBNTMVJTUzNTMVMxUBNTMVMzUzFcACQMD8QMACQMD9AMDAwP3AwMDAA8DAwMDAwAPA/
EADAMDAwMDAwMABgMDAwMAACAAAA8ADwAnAAAMABwALAA8AEwAXABsAHwAAEzUhFTU1MxUhETMRATUzFSU1
IRUBNTMVJTUzFTM1MxXAAkDA/EDAAkDA/QACQP6AwP6AwMDAA8DAwMDAwAJA/
cABgMDAwMDAAYDAwMDAwMDAAAAAAAQAAAPAA8AKgAADAA8AEwAXAAABETMRBREhNTMVMxUhESEVATUzFTM1
MxUDAMD8QAGAwMD9wAJA/cDAwMAEgAPA/
EDABUDAwMD8QMAGAMDAwMAAAAQAAAPABUAJwAADAAcAEQAVAAARETMRETUhFQE1IREjNTMRMxETETMRwAGA
/oACQMDAwMDABIACQP3AAkDAwP0AwAGAwAJA+sAEgAGA/
oAAAgAAA8AEgAkAAAMAEwAAAREzEQURIzUzESEVIRUzFSMRIRUDwMD8QMDAAwD9wMDAAkAEgAPA/
EDAAwDAAYDAwMD9wMAAAAAAAwAAA8AEgAkAAAMABwAZAAARETMRETUhFQE1IREjNTM1IzUzNTMVMxUjEcAB
gP6AAkDAwMDAwMDABIACQP3AAkDAwP0AwAGAwMDAwMDA/
EAAAAAAAgAAA8ADwAqAAAsADwAAEREhFSEVIRUhESEVATUhFQPA/
QABgP6AAwD9AAJAA8AFQMDAwP3AwAYAwMAABAAAA8ADwAkAAAMADQARABUAABM1IRUlETMVITUzESEVETUh
FQE1IRXAAwD8QMACQMD9AAJA/
cACQAPAwMDAAkDAwP6AwAJAwMABgMDAAAABAAADwAPACoAAEwAAEREzETMVMzUzETMVIRUhFSERIRXAwMDA
wP0AAYD+gAMAA8AFQAGAwMD+gMDAwP3AwAAABAAAA8ADwAnAAAMADQARABkAABM1IRUlETMVITUzESEVETU
hFQERMxUzNTMRwAMA/EDAAkDA/QACQP3AwMDAA8DAwMACQMDA/
oDAAkDAwAGAAYDAwP6AAAIAAAPAA8AKgAALAA8AABERIRUhFSEVIREhFQE1MxUDwP0AAYD+gAMA/
cDAA8AFQMDAwP3AwAYAwMAAAAQAAAPAA8AJAAADAA0AEQAVAAATNSEVJREzFSE1MxEhFRE1IRUBNTMVwAMA
/EDAAkDA/
QACQP6AwAPAwMDAAkDAwP6AwAJAwMABgMDAAAAAAQAAAkADwAkAABEAAAERIREhFSEVIRUhESEVIxUzFQJA
/
cADwP0AAYD+gAMAwMACQAGABUDAwMD9wMDAwAAAAAMAAAJAA8AHgAAJABMAFwAAAREhNSEVIxUzFQERMxUh
NTMRIRURNSEVAkD+gAMAwMD8QMACQMD9AAJAAkABgMDA
wMACQAJAwMD+gMACQMDAAAAAAAMAAAPAA8AKgAAPABMAFwAAEREhNTMVIRUhFSEVIREhFQE1MxUzNTMVAYD
AAYD9AAGA/oADAP0AwMDAA8AFQMDAwMDA/
cDABgDAwMDAAAAABgAAA8ADwAnAAAMADQARABUAGQAdAAATNSEVJREzFSE1MxEhFRE1IRUBNTMVJTUzFTM1
MxXAAwD8QMACQMD9AAJA/oDA/
oDAwMADwMDAwAJAwMD+gMACQMDAAYDAwMDAwMDAAAUAAAPAA8AKgAADAAkADQAXABsAABM1IRU1ESM1IREh
ETMREREzFTM1MxUzFQE1MxXAAkDAAYD8QMDAwMDA/cDAA8DAwMACQMD9AAPA/
EADwAGAwMDAwAGAwMAABgAAAwADwAnAAAMABwARABUAGQAdAAARNSEVAREzEQE1ITUhESE1IREBNTMVMzUz
FSU1MxUDAP0AwAJA/cACQP3AAwD9AMDAwP6AwAMAwMACQAGA/oD+gMDAAYDA/
EAEgMDAwMDAwMAAAAAABAAAA8ADwAqAAAMACQANABcAABM1IRU1ESM1IREhETMREREzFTM1MxEzFcACQMAB
gPxAwMDAwMADwMDAwAJAwP0AA8D8QAPAAkDAwP6AwAAEAAADAAPACcAAAwAHABEAGQAAETUhFQERMxEBNSE
1IREhNSERAREzFTM1MxEDAP0AwAJA/cACQP3AAwD9AMDAwAMAwMACQAGA/oD+gMDAAYDA/
EAEgAGAwMD+gAAAAAAFAAADwAPACoAAAwAJAA0AEQAVAAATNSEVNREjNSERIREzERE1IRUBNTMVwAJAwAGA
/
EDAAwD9wMADwMDAwAJAwP0AA8D8QAPAwMABgMDAAAQAAAMAA8AJAAADAAcAEQAVAAARNSEVAREzEQE1ITUh
ESE1IREBNTMVAwD9AMACQP3AAkD9wAMA/
cDAAwDAwAJAAYD+gP6AwMABgMD8QASAwMAAAAQAAAJAA8AJAAAHAA0AEQAVAAABESM1IRUjERMRIzUhESER
MxERNSEVAYDAAkDAwMABgPxAwAMAAkABgMDA/
oACQAJAwP0AA8D8QAPAwMAABAAAAwADwAnAAAMABwARABUAABE1IRUBETMRATUhNSERITUhEQERMxEDAP0A
wAJA/cACQP3AAwD9wMADAMDAAkABgP6A/
oDAwAGAwPxABIABgP6AAAAAAAQAAAPAA8AKgAALAA8AEwAXAAARETMRIREzESMRIRERNTMVMzUzFSU1MxXA
AkDAwP3AwMDA/oDAA8AFQP6AAYD6wAMA/
QAFQMDAwMDAwMAABgAAA8ADwAqAAAMABwAPABMAFwAbAAABETMRATUhFQERMxEzFSMRETUzFTM1MxUlNTMV
AwDA/cABgP0AwMDAwMDA/
oDAA8ADAP0AAwDAwP0ABUD9wMD9wAVAwMDAwMDAwAAAAAIAAAPAA8AJAAADAAsAAAE1IRUDESERIxEhEQMA
/cDAA8DA/cAHgMDA/
EAFQPrAAwD9AAADAAADwASACQAAAwAHABcAAAERMxEBNSEVAREjNTM1MxUzFSMVMxUjEQPAwP3AAYD9AMDA
wMDAwMADwAMA/QADAMDA/QADwMDAwMDAwP3AAAP/
QAPAAwAKgAADABUAGQAAAzUzFRE1MxEjNTM1IzUhFTMRIxEzFRE1MxXAwMDAwMABgMDAwMAJAMDA+sDAA8D
AwMDA/
oD8QMAGAMDAAAAABP9AA8ADAAnAAAMABwAPABMAABMRMxEBNTMVMzUjNSEVMxU1NTMVwMD9wMDAwAGAwMAD
wAPA/EAEgMDAwMDAwMDAwAACAAADwAJACoAACwAPAAARNTMRIzUhFSMRMxUBNSEVwMACQMDA/
cACQAPAwAPAwMD8QMAGAMDAAAL/QAPAAYAJAAADAAcAABERMxEBNSEVwP6AAkADwAPA/
EAEgMDAAAABAAADwAJACoAADwAAETUzESMRMxUzNTMRIxEzFcDAwMDAwMADwMADwAJAwMD9wPxAwAAAAv9A
A8ABgAnAAAMACwAAEREzEQERMxUzNTMRwP6AwMDAA8ADwPxABIABgMDA/
oAAAQAAAkACQAkAABEAABMRIzUzESM1IRUjETMVIxUzFcDAwMACQMDAwMACQAGAwAPAwMD8QMDAwAACAAAC
QAGACQAABQAJAAARETMRMxUBNTMVwMD+gMACQAVA+4DABgDAwAAAAAIAAAPAAkAKgAALAA8AABE1MxEjNSE
VIxEzFQE1MxXAwAJAwMD+gMADwMADwMDA/
EDABgDAwAAAAQAAA8AAwAeAAAMAABERMxHAA8ADwPxAAAAAAAQAAAPABsAJAAADAAcAEwAXAAABNSEVJTUz
FQU1MxEjNSEVIxEzFSURMxEDwAJA/QDA/EDAwAJAwMADwMADwMDAwMDAwMADwMDA/
EDAwASA+4AAAAYAAAJABUAJAAADAAcACwAPABMAFwAAATUhFSU1MxUlETMRBREzEQE1MxUhNTMVAkACQP0A
wP3AwAPAwPrAwAPAwAJAwMDAwMDAA8D8QMAEgPuABUDAwMDAAAAABgAAA8ADwAqAAAMABwALAA8AEwAXAAA
TNSEVJTUzFSERMxEBNTMVMzUzFSU1MxXAAkD9AMACQMD9AMDAwP6AwAPAwMDAwMAEgPuABIDAwMDAwMDAAA
AAAAYAAAMABIAJwAADAAcACwAPABMAFwAAEzUhFSU1MxUhETMRATUzFTM1MxUlNTMVwAJA/QDAAkDA/
oDAwMD+gMADAMDAwMDAA8D8QASAwMDAwMDAwAAAAAAGAAACQAPACQAAAwAHAAsADwAXABsAAAERMxETETMR
ATUzFQM1MxUBETMRIRUhEQE1MxUBgMDAwP6AwMDA/QDAAYD+gAJAwAJAAYD+gAGAAkD9wAJAwMABgMDA/
EAFQP6AwP0ABIDAwAAAAAAGAAACQAMACQAAAwAHAAsADwATABsAAAERMxERNTMVJTUzFQM1MxU1NTMVAREz
ETMVIxEBgMDA/oDAwMDA/QDAwMACQAGA/
oABgMDAwMDAAYDAwMDAwP0ABUD9AMD+gAAFAAADwAMAB4AAAwAHAAsAEwAXAAABNTMVJTUzFQM1MxUBETMR
MxUjEQE1MxUCQMD+gMDAwP3AwMDAAYDAA8DAwMDAwAGAwMD9wAPA/oDA/
oADAMDAAAAAAwAAA8ADwAqAAAUACQANAAARETMRIRUBNTMVNTUzFcADAP3AwMADwAVA+4DABUDAwMDAwAAA
AAADAAADwAGACoAAAwAHAAsAABM1MxUlETMRETUzFcDA/
oDAwAPAwMDABUD6wAVAwMAAAAAAAQAAAkADwAkAAAkAAAERIREzESEVIREBgP6AwAMA/
oACQAGABUD7gMD+gAADAAACQAGACQAAAwAHAAsAABERMxERNTMVJREzEcDA/
oDAAkABgP6AAYDAwMAEgPuAAAAAAgAAA8ADwAnAAAUACQAAEREzESEVAREzEcADAP3AwAPABUD7gMAEgAGA
/
oAAAAAAAwAAA8ACQAnAAAMABwALAAATNTMVJREzERMRMxHAwP6AwMDAA8DAwMAEgPuAA8ABgP6AAAIAAAPA
A8AJAAADAAkAAAE1MxUBETMRIRUBgMD9wMADAAYAwMD9wAVA+4DAAAAAAAMAAAPAAkAJAAADAAcACwAAEzU
zFRE1MxUBETMRwMDA/
cDAA8DAwAJAwMD+gASA+4AAAAACAAADwASACQAAAwARAAABNTMVAREjNTMRMxEzFSMRIRUCQMD9wMDAwMDA
AwAGwMDA/
QABgMADAP3AwP6AwAAAAgAAA8ACQAkAAAMADwAAATUzFSU1IzUzETMRMxUjEQGAwP6AwMDAwMADwMDAwMDA
AwD+gMD9wAAFAAADwAPACoAAAwALABMAFwAbAAABNTMVAREzFTMVIxEhESM1MxEzEQE1MxU1NTMVAYDA/
cDAwMACQMDAwP3AwMAGwMDA/QAFQMDA/
EACQMACQPrABUDAwMDAwAAAAAAEAAADwAPACcAAAwAJAA0AEQAAAREzESERIRUhERM1MxU1NTMVAwDA/
EADAP3AwMDAA8ADAP0AA8DA/
QAEgMDAwMDAAAQAAAJAA8AJAAADAAcADwAXAAABETMRAzUzFQERMxUzFSMRIREjNTMRMxEBgMDAwP3AwMDA
AkDAwMACQAGA/oAEgMDA/QAFQMDA/
EACQMACQPrAAAMAAAJAA8AHgAADAAcADQAAAREzERMRMxEhESEVIREBgMDAwPxAAwD9wAJAAYD+gAGAAwD9
AAPAwP0AAAYAAAPAA8AKgAADAAsAEwAXABsAHwAAATUzFQERMxUzFSMRIREjNTMRMxEBNTMVJTUzFTM1MxU
BgMD9wMDAwAJAwMDA/cDA/oDAwMAGwMDA/QAFQMDA/
EACQMACQPrABUDAwMDAwMDAAAAAAAUAAAPAA8AJwAADAAkADQARABUAAAERMxEhESEVIRETNTMVJTUzFTM1
MxUDAMD8QAMA/cDAwP6AwMDAA8ADAP0AA8DA/
QAEgMDAwMDAwMAAAwAAA8AFQAkAAAMACQANAAABETMRIREhFSERAREzEQSAwPxAAwD9wP3AwAPAAwD9AAPA
wP0AA8ABgP6AAAAAAAQAAAMAA8AJAAADAAcADwAXAAABNSEVATUzFQERMxUzFSMRIREjNTMRMxEBgAGA/
oDA/cDAwMACQMDAwAMAwMADwMDA/QAFQMDA/
EACQMACQPrAAAMAAAMAA8AHgAADAAcADQAAATUhFTURMxEhESEVIREBgAGAwPxAAwD9wAMAwMDAAwD9AAPA
wP0AAAAAAAUAAAPAA8AKgAADAAcACwAPABMAABM1IRUlETMRIREzEQE1IRUBNSEVwAJA/QDAAkDA/
QACQP3AAkADwMDAwAPA/
EADwPxAA8DAwAGAwMAABQAAA8ADwAkAAAMABwALAA8AEwAAEzUhFSURMxEhETMRATUhFQE1IRXAAkD9AMAC
QMD9AAJA/cACQAPAwMDAAkD9wAJA/
cACQMDAAYDAwAAEAAADwAPACoAAAwAHAAsAEwAAEzUhFSURMxEhETMRAREzFTM1MxHAAkD9AMACQMD9AMDA
wAPAwMDAA8D8QAPA/
EADwAJAwMD9wAAABQAAA8ADwAnAAAMABwALAA8AFwAAEzUhFSURMxEhETMRATUhFQERMxUzNTMRwAJA/
QDAAkDA/
QACQP3AwMDAA8DAwMACQP3AAkD9wAJAwMABgAGAwMD+gAAAAAAGAAADwAPACoAAAwAHAAsAEwAXABsAABM1
IRUlETMRIREzEQERMxUzNTMRATUzFTM1MxXAAkD9AMACQMD9AMDAwP6AwMDAA8DAwMADwPxAA8D8QAPAAYD
AwP6AAYDAwMDAAAAACAAAA8ADwAnAAAMABwALAA8AEwAXABsAHwAAEzUhFSURMxEhETMRATUhFQE1MxUzNT
MVJTUzFTM1MxXAAkD9AMACQMD9AAJA/cDAwMD+gMDAwAPAwMDAAkD9wAJA/
cACQMDAAYDAwMDAwMDAwMAAAAIAAAPABsAJAAADABMAABERMxEVNSERITUhFSEVIRUhESEVwAJA/
cAGAP0AAYD+gAMABIADwPxAwMADwMDAwMD9wMAABgAAA8AGwAeAAAMABwALABUAGQAdAAATNSEVMzUhFSUR
MxEhETMVITUzESEVATUhFTM1IRXAAkDAAwD5QMACQMACQMD9AP0AAkDAAkADwMDAwMDAAkD9wAJAwMD+gMA
CQMDAwMAAAAAEAAADwAPACoAAAwAHABUAGQAAAREzEQM1MxUBESE1MxUzFSEVIRUhEQE1MxUDAMDAwPxAAY
DAwP3AAkD9wAGAwAPAAwD9AAPAwMD8QAVAwMDAwMD9AAYAwMAAAAUAAAPAA8AJwAADAAsADwATABcAAAE1M
xUBETMVMxUjERM1IRUBNTMVNTUzFQMAwPxAwMDAwAGA/
oDAwAYAwMD9wAPAwMD9wAMAwMABgMDAwMDAAAQAAAJAA8AJAAADAAcACwAVAAABETMRExEzEQM1MxUBESEV
IRUhFSERAYDAwMDAwPxAAwD9wAJA/cACQAGA/oABgAMA/QADwMDA/
EAFQMDAwP0AAAQAAAJAA8AHgAADAAcADwATAAABETMREzUzFQERMxUzFSMREzUhFQGAwMDA/
EDAwMDAAYACQAGA/oADwMDA/cADwMDA/
cADAMDAAAAFAAADwAPACoAAAwAHABUAGQAdAAABETMRAzUzFQERITUzFTMVIRUhFSERETUzFTM1MxUDAMDA
wPxAAYDAwP3AAkD9wMDAwAPAAwD9AAPAwMD8QAVAwMDAwMD9AAYAwMDAwAAABgAAA8ADwAnAAAMACwAPABM
AFwAbAAABNTMVAREzFTMVIxETNSEVATUzFSU1MxUzNTMVAwDA/
EDAwMDAAYD+gMD+gMDAwAYAwMD9wAPAwMD9wAMAwMABgMDAwMDAwMAABwAAA8ADwAqAAAMABwALAA8AEwAb
AB8AABM1IRUlNTMVIREzEQE1IRUlNTMVNTUzNTMVIRUBNTMVwAJA/QDAAkDA/
QACQP0AwMDAAYD+gMADwMDAwMDAAkD9wAJAwMDAwMDAwMDAwAGAwMAABwAAA8ADwAnAAAMABwALAA8AEwAX
ABsAABE1IRU1NTMVJTUhFSU1MxU1NSEVATUzFTU1MxUDAMD9AAJA/
QDAAwD9wMDAA8DAwMDAwMDAwMDAwMDAwAGAwMDAwMAAAAAABwAAA8ADwAqAAAMABwALAA8AEwAdACEAABM1
IRUlNTMVIREzEQE1IRUlNTMVNREzFTM1MxUzFQE1MxXAAkD9AMACQMD9AAJA/
QDAwMDAwP3AwAPAwMDAwMACQP3AAkDAwMDAwMABgMDAwMABgMDAAAgAAAPAA8AJwAADAAcACwAPABMAFwAb
AB8AABE1IRU1NTMVJTUhFSU1MxU1NSEVATUzFTM1MxUlNTMVAwDA/QACQP0AwAMA/
QDAwMD+gMADwMDAwMDAwMDAwMDAwMDAAYDAwMDAwMDAAAAAAAYAAAJAA8AJAAAJAA0AEQAVABkAHQAAEzUz
NSM1IRUjEQE1MxUhETMRATUhFSU1MxU1NSEVwMDAAkDA/cDAAkDA/QACQP0AwAMAAkDAwMDA/
oACQMDAAkD9wAJAwMDAwMDAwMAAAAAABQAAAkADwAeAAAkADQARABUAGQAAEzUzNSE1IRUjERM1MxUlNSEV
JTUzFTU1IRXAwP6AAwDAwMD9AAJA/
QDAAwACQMDAwMD+gAJAwMDAwMDAwMDAwMAAAAgAAAPAA8AKgAADAAcACwAPABMAGwAfACMAABM1IRUlNTMV
IREzEQE1IRUlNTMVNTUzNTMVIRUBNTMVMzUzFcACQP0AwAJAwP0AAkD9AMDAwAGA/
QDAwMADwMDAwMDAAkD9wAJAwMDAwMDAwMDAwAGAwMDAwAAAAAgAAAPAA8AJwAADAAcACwAPABMAFwAbAB8A
ABE1IRU1NTMVJTUhFSU1MxU1NSEVATUzFSU1MxUzNTMVAwDA/QACQP0AwAMA/cDA/
oDAwMADwMDAwMDAwMDAwMDAwMDAAYDAwMDAwMDAAAAAAAIAAAJAA8AJAAAFAA0AAAE1MzUzEQERITUhFSER
AYDAwP6A/
oADwP6AAkDAwP6AAYAEgMDA+4AAAgAAAkACQAkAAAUAEQAAEzUzETMRAREjNTM1MxUzFSMRwMDA/
oDAwMDAwAJAwAGA/
cACQAMAwMDAwP0AAAAAAAMAAAPAA8AKgAALAA8AEwAAAREhNSE1MxUhFSERATUzFTM1MxUBgP6AAYDAAYD+
gP6AwMDAA8AEgMDAwMD7gAYAwMDAwAAAAAMAAAPAA8AJwAADAA8AEwAAATUzFSURIzUzNTMVMxUjEQERMxE
BgMD+gMDAwMDAAYDAA8DAwMADAMDAwMD9AAPAAYD+gAAAAAEAAAPAA8AJAAAPAAABESM1MxEhNSEVIREzFS
MRAYDAwP6AA8D+gMDAA8ACQMABgMDA/oDA/
cAAAgAAA8ACQAkAAAMAFwAAATUzFSURIzUzNSM1MzUzFTMVIxUzFSMRAYDA/
oDAwMDAwMDAwMADwMDAwAGAwMDAwMDAwMD+gAAABQAAA8ADwAqAAAMABwALABMAFwAAEzUhFTURMxEhETMR
EzUjNSEVMxU1NTMVwAJAwPxAwMDAAYDAwAPAwMDABID7gAVA+sAEgMDAwMDAwMAAAAAABQAAA8ADwAnAAAM
ACQANABUAGQAAEREzERU1IREzEQE1MxUzNSM1IRUzFTU1MxXAAkDA/
EDAwMABgMDABIADAP0AwMADAPxABIDAwMDAwMDAwMAABAAAA8ADwAqAAAMABwALAA8AABM1IRUlETMRIREz
EQE1IRXAAkD9AMACQMD9AAJAA8DAwMAEgPuABID7gAVAwMAAAAADAAADwAPACQAAAwAJAA0AABERMxEVNSE
RMxEBNSEVwAJAwP0AAkAEgAMA/QDAwAMA/
EAEgMDAAAQAAAPAA8AKgAADAAcACwATAAATNSEVJREzESERMxEBETMVMzUzEcACQP0AwAJAwP0AwMDAA8DA
wMAEgPuABID7gASAAYDAwP6AAAADAAADwAPACcAAAwAJABEAABERMxEVNSERMxEBETMVMzUzEcACQMD9AMD
AwASAAwD9AMDAAwD8QASAAYDAwP6AAAAAAAMAAAPAA8AKgAADAAcAEwAAEzUhFQM1IxUBETMRIREzESMRIR
HAAkDAwP6AwAJAwMD9wAPAwMAFQMDA+4AEgAGA/oD7gAPA/
EAAAAAEAAADwAPACoAAAwAJAA0AEQAAEREzERU1IREzEQE1IxUHESERwAJAwP6AwMACQASAAwD9AMDAAwD8
QAVAwMDAAkD9wAAAAAAHAAADwAPACoAAAwAHAAsADwATABcAGwAAEzUhFSURMxEhETMRATUzFTM1MxUlNTM
VMzUzFcACQP0AwAJAwP0AwMDA/
oDAwMADwMDAwASA+4AEgPuABIDAwMDAwMDAwMAAAAAABgAAA8ADwAnAAAMACQANABEAFQAZAAARETMRFTUh
ETMRATUzFTM1MxUlNTMVMzUzFcACQMD9AMDAwP6AwMDABIADAP0AwMADAPxABIDAwMDAwMDAwMAAAAMAAAJ
AA8AJAAAJAA0AEQAAAREjNSEVIxUzFQERMxEhETMRAYDAAkDAwP0AwAJAwAJAAYDAwMDAAkAEgPuABID7gA
AAAgAAAkADwAeAAAMADwAAEREzEQERITUhETMRIxUzFcABgP6AAkDAwMAEgAMA/QD9wAGAwAMA/
EDAwAAABgAAA8ADwAqAAAMACwATABcAGwAfAAABNTMVAREzETMVIxUhNSM1MxEzEQE1MxUzNTMVJTUzFQGA
wP3AwMDAAkDAwMD9AMDAwP6AwAVAwMD+gAVA/
EDAwMDAA8D6wAVAwMDAwMDAwAAFAAADwAPACcAAAwANABEAFQAZAAARETMRFTUzETMRMxEzEQE1MxUzNTMV
JTUzFcDAwMDA/QDAwMD+gMAEgAMA/QDAwAGA/
oADAPxABIDAwMDAwMDAAAAACAAAA8ADwAqAAAMABwALAA8AEwAXABsAHwAAAREzEQE1MxUzNTMVJTUzFSE1
MxUlNTMVMzUzFSU1MxUBgMD+gMDAwP0AwAJAwP0AwMDA/
oDAA8ADwPxAA8DAwMDAwMDAwMDAwMDAwMDAwAAABgAAAwADwAnAAAMABwAPABMAFwAbAAARNSEVAREzEQE1
ITUhETMRATUzFTM1MxUlNTMVAwD9AMACQP3AAkDA/QDAwMD+gMADAMDAAkACQP3A/oDAwAJA/
EAEgMDAwMDAwMAAAAcAAAPAA8AKgAADAAcACwAPABMAFwAbAAABETMRATUzFTM1MxUlNTMVITUzFQE1MxUz
NTMVAYDA/oDAwMD9AMACQMD9AMDAwAPAA8D8QAPAwMDAwMDAwMDAAYDAwMDAAAYAAAP
AA8AKgAAFAAkADQARABsAHwAAEREzFSEVATUzFTU1MxU1NTMVNTUhNSE1MxUhEQE1MxXAAwD9AMDAwP0AAY
DAAYD+gMADwAGAwMABgMDAwMDAwMDAwMDAwMD+gAJAwMAAAAAABQAAA8ADwAnAAAcACwATABcAGwAAETUzN
TMVIRUBNTMVNTUhNSEVIxUBNTMVNTUzFcDAAkD9wMD9wAPAwP6AwMADwMDAwMABgMDAwMDAwMACQMDAwMDA
AAYAAAPAA8AKgAAFAAkADQARABcAGwAAEREzFSEVATUzFTU1MxU1NTMVNTUhNSERATUzFcADAP0AwMDA/
QADwP3AwAPAAYDAwAGAwMDAwMDAwMDAwMD+gAJAwMAABAAAA8ADwAkAAAcACwATABcAABE1MzUzFSEVATUz
FTU1ITUhFSMVATUzFcDAAkD9wMD9wAPAwP6AwAPAwMDAwAGAwMDAwMDAwAJAwMAAAAAHAAADwAPACoAABQA
JAA0AEQAbAB8AIwAAEREzFSEVATUzFTU1MxU1NTMVNTUhNSE1MxUhEQE1MxUzNTMVwAMA/
QDAwMD9AAGAwAGA/
QDAwMADwAGAwMABgMDAwMDAwMDAwMDAwMD+gAJAwMDAwAAABgAAA8ADwAnAAAcACwATABcAGwAfAAARNTM1
MxUhFQE1MxU1NSE1IRUjFQE1MxUlNTMVMzUzFcDAAkD9wMD9wAPAwP6AwP6AwMDAA8DAwMDAAYDAwMDAwMD
AAkDAwMDAwMDAAAIAAAPAAwAJAAAHAAsAABMRIzUzNTMRETUhFcDAwMABgAPAAwDAwPuABIDAwAAAAAEAAA
PAA8AJAAANAAARESEVIREhFSERIREzEQPA/QACQP3AAkDAA8AFQMD+gMD+gAGA/
cAAAAAAAgAAA8ADAAkAAAMADwAAAREzEQURIRUhESEVIREhFQJAwP0AAwD9wAGA/
oABgASAAYD+gMAFQMD+gMD+gMAAAAMAAAPAA8AJAAADAA0AEQAAEzUhFSURITUzESMRIRERNSEVwAJA/
QADAMDA/cACQAPAwMDAAwDA/
EACQP3AA8DAwAAAAwAAAwADwAkAAAMADwATAAARNSEVNREjNTM1MxUhFSERETUhFQGAwMDAAYD+gAGAAwDA
wMADAMDAwMD9AASAwMAAAAADAAADwAPACQAABQARABcAABERMxUhFQE1IzUhNTMVMxUhFQE1ITUhEcADAP0
AwAJAwMD9wAGA/
QADwAPAAYDAwAGAwMDAwMDAAkDAwP6AAAEAAAPAA8AHgAATAAARNTM1IzUhNSE1IRUjFTMVIRUhFcDAAkD9
wAPAwMD9wAJAA8DAwMDAwMDAwMDAAAQAAAPAA8AJAAADAAcACwAVAAATNSEVJTUzFSERMxEBNTM1ITUhFSM
RwAJA/QDAAkDA/cDA/
cADwMADwMDAwMDAAkD9wAJAwMDAwP6AAAAABAAAA8AEgAkAAAMAEQAVABkAABM1IRU1NSE1ITUjNSERMxUj
FSERMxERNSEVwAJA/oABgMABgMDA/
EDAAwADwMDAwMDAwMD+gMDAA8D8QAPAwMAAAwAAAwAEgAeAAAMABwAXAAATNSEVAREzEQE1ITUhNSE1IzUh
FTMVIxHAAkD9AMACQP3AAkD+gMADAMDAAwDAwAJAAYD+gP6AwMDAwMDAwP3AAAAABgAAA8ADwAqAAAMACQA
NABUAGQAdAAATNSEVNREjNSERIREzERE1MzUzFSEVATUzFTM1MxXAAkDAAYD8QMDAwAGA/
QDAwMADwMDAwAJAwP0AA8D8QAPAwMDAwAGAwMDAwAAAAAYAAAMAA8AJwAADAAcAEQAVABkAHQAAETUhFQER
MxEBNSE1IREhNSERATUzFSU1MxUzNTMVAwD9AMACQP3AAkD9wAMA/cDA/oDAwMADAMDAAkABgP6A/
oDAwAGAwPxABIDAwMDAwMDAAAAAAAgAAAPAA8AKgAADAAcACwATABcAGwAfACMAAAERMxEBNTMVAzUzFQER
MxEhFSERATUzFSU1MxUlNTMVMzUzFQMAwP6AwMDA/
QDAAYD+gAJAwP3AwP6AwMDAA8ACQP3AAkDAwAGAwMD8QAVA/oDA/
QAEgMDAwMDAwMDAwMAAAAAACAAAA8ADAAqAAAMABwALAA8AFwAbAB8AIwAAATUzFSU1MxUDNTMVNTUzFQER
MxEzFSMREzUzFSU1MxUzNTMVAkDA/oDAwMDA/QDAwMDAwP6AwMDAA8DAwMDAwAGAwMDAwMD9AAVA/QDA/
oAFQMDAwMDAwMAAAAAABAAAAkADwAkAAAkADQARABUAAAERIzUhFSMVMxUBETMRIREzEQE1IRUBgMACQMDA
/QDAAkDA/
QACQAJAAYDAwMDAAkADwPxAA8D8QAPAwMAAAAAABAAAAkADwAeAAAkADQARABUAAAERIzUhFSMVMxUBETMR
IREzEQE1IRUBgMACQMDA/QDAAkDA/
QACQAJAAYDAwMDAAkACQP3AAkD9wAJAwMAAAAAABgAAA8ADwAqAAAMABwALABkAHQAhAAATNSEVJTUzFSER
MxEBNTM1ITUhNTMVIRUjEQE1MxUzNTMVwAJA/QDAAkDA/cDA/
cABgMABgMD9wMDAwAPAwMDAwMACQP3AAkDAwMDAwMD+gAMAwMDAwAAAAAYAAAMAA8AJwAADAAcAEQAVABkA
HQAAETUhFTURMxEBNTM1ITUhFSMRATUzFSU1MxUzNTMVAwDA/cDA/
cADwMD+gMD+gMDAwAMAwMDAAYD+gAGAwMDAwP6AAwDAwMDAwMDAAAADAAADwAPACoAAAwATABcAAAE1IxUD
ESEVMxEhFSE1MxEjESERATUzFQGAwMACQMD9wAJAwMD9wAJAwAkAwMD6wAbAwP6AwMD7gAMA/
QAGAMDAAAAFAAADwAPACoAAAwANABEAGQAdAAARNTMVFTUhNSE1ITUzEQE1IxUHETM1MxUzEQM1MxXAAkD9
wAJAwP6AwMDAwMDAwASAwMDAwMDAwP0AA8DAwMACQMDA/
cADAMDAAAACAAADwAbACoAAGQAdAAARETMVITUhNSE1MxUhFSEVIRUhESEVIREhEQE1MxXAAkD9wAJAwAMA
/QABgP6AAwD8QP3AAwDAA8AEgMDAwMDAwMDA/
cDAAwD9AAYAwMAAAAAIAAADwAbACcAAAwAHAAsAGQAdACEAJQApAAATNSEVMzUhFSU1MxUhNSE1ITUzFSE1
MxEhFQE1IRUzNSEVATUzFTU1MxXAAkDAAwD5QMACQP3AAkDAAkDA/QD9AAJAwAJA/
QDAwAPAwMDAwMDAwMDAwMDA/
oDAAkDAwMDAAYDAwMDAwAAKAAADwAPACoAAAwAHAAsADwATABcAGwAfACUAKQAAETUzFTM1IRUlNTMVNREz
ERcRMxElETMRATUzFTU1MxUhNTM1MxERNTMVwMABgP3AwMDAwPxAwAGAwMD9AMDAwAPAwMDAwMDAwMACQP3
AwAMA/
QDAAwD9AAJAwMDAwMDAwP6AAYDAwAAACwAAA8ADwAnAAAMABwALAA8AEwAXABsAHwAjACcAKwAAETUzFTM1
IRUlNTMVNTUzFRcRMxElETMRJTUzFSU1IRUzNTMVATUzFTU1MxXAwAGA/cDAwMDA/EDAAYDA/cABgMDA/
cDAwAPAwMDAwMDAwMDAwMABgP6AwAGA/
oDAwMDAwMDAwAGAwMDAwMAAAAAABgAAAkADwAkAAAcACwAPABMAFwAbAAABESM1IRUjEQE1MxUhETMRATUh
FSU1MxU1NSEVAYDAAkDA/cDAAkDA/QACQP0AwAMAAkABgMDA/
oACQMDAAkD9wAJAwMDAwMDAwMAAAAUAAAJAA8AHgAAHAAsADwATABcAAAERITUhFSMREzUzFSU1IRUlNTMV
NTUhFQGA/
oADAMDAwP0AAkD9AMADAAJAAYDAwP6AAkDAwMDAwMDAwMDAwAAAAAACAAACQAPACQAAAwALAAABETMRAREh
NSEVIRECQMD+gP6AA8D+gAJAAYD+gAGABIDAwPuAAAAAAAMAAAJAAkAJAAADAAcAEwAAExEzERE1MxUlESM
1MzUzFTMVIxHAwMD+gMDAwMDAAkABgP6AAYDAwMADAMDAwMD9AAAAAwAAAwADwAeAAAMABwALAAATNSEVJT
UzFSERMxHAAkD9AMACQMADAMDAwMDAA8D8QAAAAAMAAAPAA8AHgAADAA0AEQAAEzUhFSURITUzESM1IRUDN
SEVwAJA/QADAMDA/
cDAAwADwMDAwAGAwP3AwMACQMDAAAAAAwAAAwADwAeAAAMABwARAAARNSEVNREzEQE1MzUhNSEVIxEDAMD9
wMD9wAPAwAMAwMDAAYD+gAGAwMDAwP6AAAMAAAhAAkAJwAADAAcACwAAETUzFTM1MxUlNTMVwMDA/
oDACEDAwMDAwMDAAAAAAAMAAAhAAkAJwAADAAcACwAAEzUzFSU1MxUzNTMVwMD+gMDAwAhAwMDAwMDAwAAA
AAEAAAhAAkAJAAADAAARNSEVAkAIQMDAAAIAAAhAAYAJwAADAAcAABE1MxU1NTMVwMAIQMDAwMDAAAAAAAI
AAAhAAYAJwAADAAcAABM1MxUlNTMVwMD+gMAIQMDAwMDAAAEAAAhAAkAJwAAHAAARETMVMzUzEcDAwAhAAY
DAwP6AAAAAAAEAwAhAAYAJAAADAAATNTMVwMAIQMDAAAIAAAhAAkAKgAADAAcAAAE1IxUHESERAYDAwAJAC
QDAwMACQP3AAAABAAACQAGAA8AABQAAEREzFTMVwMACQAGAwMAAAwAACEADwAnAAAMACwAPAAARNTMVMzUj
NSEVMxU1NTMVwMDAAYDAwAhAwMDAwMDAwMDAAAQAAAhAAwAJwAADAAcACwAPAAARNTMVMzUzFSU1MxUzNTM
VwMDA/
oDAwMAIQMDAwMDAwMDAwAAAAgAABsABgAkAAAMABwAAETUzFTURMxHAwAbAwMDAAYD+gAAAAgAAAwABgAVA
AAMABwAAETUzFTURMxHAwAMAwMDAAYD+gAAAAgAAAwAAwAeAAAMABwAAEREzEQMRMxHAwMADAAJA/
cADAAGA/
oAAAAEAAAhAAMAJwAADAAARETMRwAhAAYD+gAAAAAADAAAIQAPACcAAAwAHAAsAABE1MxUhNTMVIREzEcAC
QMD9wMAIQMDAwMABgP6AAAADAAADwAVACQAACwAPABMAAAERMxUhNTMRIxEhEQERMxElNSEVAYDAAkDAwP3
A/
cDAAYACQAPABIDAwPuAAwD9AAPAAYD+gMDAwAAAAQAABUAAwAYAAAMAABE1MxXABUDAwAAAAgAAA8AFQAkA
AAMADwAAEREzERMRIRUhFSEVIREhFcDAA8D9AAGA/
oADAAeAAYD+gPxABUDAwMD9wMAAAgAAA8AFQAkAAAMADwAAEREzERMRMxEhETMRIxEhEcDAwAJAwMD9wAeA
AYD+gPxABUD+gAGA+sADAP0AAAAAAAIAAAPAA8AJAAADAA8AABERMxETNTMRIzUhFSMRMxXAwMDAAkDAwAe
AAYD+gPxAwAPAwMD8QMAABQAAA8AFQAkAAAMABwALAA8AEwAAATUhFSURMxEhETMRAREzESU1IRUCQAJA/
QDAAkDA+sDAAYACQAPAwMDAA8D8QAPA/EADAAGA/
oDAwMAAAAAABgAAA8AFQAkAAAMABwALAA8AEwAXAAABETMRATUzFTM1MxUhETMRNzUzFSE1MxUDAMD+gMDA
wPuAwMDAAkDAA8ADwPxAA8DAwMDAAYD+gMDAwMDAAAAAAAYAAAPABUAJAAAFAAsADwATABcAGwAAATUzNTM
RMxEzFTMVAREzESERMxEBETMRJTUhFQGAwMDAwMD8QMACQMD6wMABgAJAA8DAwP6AAYDAwAGAAwD9AAMA/
QACQAGA/
oDAwMAAAAAABP9AA8ADAAnAAAMABwALAA8AABMRMxEBNTMVITUzFSERMxHAwP3AwAJAwP3AwAPAA8D8QASA
wMDAwAGA/oAAAAIAAAPAA8AJAAALAA8AABERMxUhNTMRIxEhERE1IRXAAkDAwP3AAkADwASAwMD7gAMA/
QAEgMDAAAAAAAMAAAPAA8AJAAADAAcAEwAAAREzEQM1MxUBESEVIRUhFSERIRUDAMDAwPxAAwD9wAJA/
cACQASAAkD9wAMAwMD8QAVAwMDA/
cDAAAABAAADwAPACQAABQAAEREhFSERA8D9AAPABUDA+4AAAAQAAAPAA8AJAAAHAAsADwATAAARETMRIREz
EQERMxEzETMRATUzFcACQMD9AMDAwP6AwAPAAwD9wAJA/QADAAGA/
oABgP6AAYDAwAABAAADwAPACQAACwAAEREhFSEVIRUhESEVA8D9AAGA/
oADAAPABUDAwMD9wMAAAAAFAAADwAPACQAABQAJAA0AEQAXAAARETMVIRUBNTMVNTUzFTU1MxU1NSE1IRHA
AwD9AMDAwP0AA8ADwAGAwMABgMDAwMDAwMDAwMDA/
oAAAAEAAAPAA8AJAAALAAARETMRIREzESMRIRHAAkDAwP3AA8AFQP6AAYD6wAMA/
QAAAAUAAAPAA8AJAAADAAcACwAPABMAABM1IRUBNTMVAREzESERMxEBNSEVwAJA/oDA/cDAAkDA/
QACQAPAwMACQMDA/
oADwPxAA8D8QAPAwMAAAQAAA8ACQAkAAAsAABE1MxEjNSEVIxEzFcDAAkDAwAPAwAPAwMD8QMAAAAAFAAAD
wAPACQAAAwAHAAsAEwAXAAABETMRATUzFQM1MxUBETMRIRUhEQE1MxUDAMD+gMDAwP0AwAGA/
oACQMADwAJA/
cACQMDAAYDAwPxABUD+gMD9AASAwMAAAAUAAAPAA8AJAAADAAcACwAPABMAABERMxEhETMRAREzETMRMxEB
NTMVwAJAwP0AwMDA/oDAA8ADAP0AAwD9AAMAAYD+gAGA/
oABgMDAAAAAAwAAA8ADwAkAAAMACwATAAABNTMVAREzFTMVIxEhESM1MzUzEQGAwP3AwMDAAkDAwMAGwMDA
/QAFQMDA/
EADwMDA+sAAAAAAAwAAA8ADwAkAAAMACwATAAABNTMVAREzFTMVIxEhESM1MxEzEQGAwP3AwMDAAkDAwMAG
wMDA/QAFQMDA/
EACQMACQPrAAAAAAQAAA8ADwAkAABMAABE1IREjNTM1ITUhFSEVMxUjESEVAYDAwP6AA8D+gMDAAYADwMAC
QMDAwMDAwP3AwAAAAAQAAAPAA8AJAAADAAcACwAPAAATNSEVJREzESERMxEBNSEVwAJA/QDAAkDA/
QACQAPAwMDAA8D8QAPA/EADwMDAAAAAAQAAA8ADwAkAAAcAABERIREjESERA8DA/
cADwAVA+sAEgPuAAAAAAAIAAAPAA8AJAAADAA0AAAE1MxUBESEVIRUhFSERAwDA/
EADAP3AAkD9wAeAwMD8QAVAwMDA/
QAABQAAA8ADwAkAAAUACQANABEAFwAAEREzFSEVATUzFTU1MxUlNTMVJREhFSEVwAMA/
QDAwP6AwP6AA8D9AAPAAYDAwAGAwMDAwMDAwMDAAYDAwAAAAQAAA8ADwAkAAAcAAAERITUhFSERAYD+gAPA
/oADwASAwMD7gAAAAAUAAAPAA8AJAAADAAcACwAPABMAAAERMxEBNTMVMzUzFSU1MxUhNTMVAYDA/
oDAwMD9AMACQMADwAPA/
EADwMDAwMDAwMDAwAAAAAADAAADwAPACQAAAwAHABsAABERMxEhETMRAREjNTMRIzUzNTMVMxUjETMVIxHA
AkDA/cDAwMDAwMDAwMAGAAGA/oABgP6A/
cABgMABgMDAwMD+gMD+gAAACQAAA8ADwAkAAAMABwALAA8AEwAXABsAHwAjAAARETMRIREzEQE1MxUzNTMV
JTUzFSU1MxUzNTMVJTUzFSE1MxXAAkDA/QDAwMD+gMD+gMDAwP0AwAJAwAPAAkD9wAJA/
cACQMDAwMDAwMDAwMDAwMDAwMDAAAAAAwAAA8ADwAkAAAMADwATAAARETMRExEjNTMRMxEzFSMRExEzEcDA
wMDAwMDAwAeAAYD+gPxAAwDAAYD+gMD9AAPAAYD+gAAABQAAA8ADwAkAAAUACwAPABMAFwAAETUzNTMRMxE
zFTMVAREzESERMxEBNSEVwMDAwMD8QMACQMD9AAJAA8DAwP6AAYDAwAGAAwD9AAMA/
QADAMDAAAAAAAMAAAPAAkAKgAALAA8AEwAAETUzESM1IRUjETMVATUzFTM1MxXAwAJAwMD9wMDAwAPAwAPA
wMD8QMAGAMDAwMAAAAAABwAAA8ADwAqAAAMABwALAA8AEwAXABsAAAERMxEBNTMVMzUzFSU1MxUhNTMVATU
zFTM1MxUBgMD+gMDAwP0AwAJAwP0AwMDAA8ADwPxAA8DAwMDAwMDAwMABgMDAwMAABAAAA8ADwAnAAAMABw
ARABUAABM1IRUlETMRBTUjNTMRITUhEQERMxHAAYD9wMACQMDA/
cADAP3AwAPAwMDAAkD9wMDAwAGAwPxABIABgP6AAAAABgAAA8ADwAnAAAMABwALAA8AEwAXAAATNSEVJTUz
FTU1IRUlNTMVNTUhFQERMxHAAwD8QMABgP3AwAMA/
cDAA8DAwMDAwMDAwMDAwMDAwAGAAYD+gAAAAAMAAAPAA8AJwAADAAkADQAAAREzESERIRUhERMRMxEDAMD8
QAMA/
cDAwAPAAwD9AAPAwP0ABIABgP6AAAIAAAPAAMAJwAADAAcAABERMxEDETMRwMDAA8ADwPxABIABgP6AAAAG
AAADwAPACcAAAwAHAAsADwATABcAABM1IRUlETMRIREzEQE1MxUhNTMVIREzEcACQP0AwAJAwPxAwAJAwP3
AwAPAwMDAAwD9AAMA/
QADwMDAwMABgP6AAAAAAAMAAAPAA8AHgAADAAcAEQAAEzUhFSURMxEFNSM1MxEhNSERwAGA/
cDAAkDAwP3AAwADwMDAwAJA/
cDAwMABgMD8QAAABQAAAwADwAkAAAMABwALABEAFQAAATUhFTURMxEBETMREzUzNTMRATUhFQGAAYDA/
EDAwMDA/
cABgAPAwMDAAkD9wP6ABUD6wAPAwMD+gAGAwMAABQAAAwADwAeAAAMABwALAA8AEwAAAREzEQE1MxUzNTMV
JREzESERMxEBgMD+gMDAwP0AwAJAwAMAAkD9wAJAwMDAwMABgP6AAYD+gAAAAAAEAAADwAPACQAAAwAHAAs
AFwAAEzUhFSURMxEhETMRATUzNSM1IRUhFTMVwAJA/QDAAkDA/QDAwAMA/
oDAA8DAwMACQP3AAkD9wAJAwMDAwMDAAAAFAAADwAPAB4AAAwAHAAsADwATAAATNSEVJTUzFTU1IRUlNTMV
NTUhFcADAPxAwAGA/
cDAAwADwMDAwMDAwMDAwMDAwMDAAAAFAAADAAPACQAAAwAHAAsADwAXAAABETMRATUhFSURMxERNSEVNTUh
NSEVIxUDAMD9AAJA/
QDAAYD9wAPAwAMAAYD+gAGAwMDAAYD+gAGAwMDAwMDAwAAAAgAAA8ADwAeAAAMACQAAAREzESERIRUhEQMA
wPxAAwD9wAPAAwD9AAPAwP0AAAAAAwAAA8ADAAkAAAMADwATAAATNSEVJREzESERMxEjESERETUhFcABgP3
AwAGAwMD+gAGAA8DAwMADwP6AAYD8QAGA/
oADwMDAAAAAAAEAAAPAAMAHgAADAAARETMRwAPAA8D8QAAAAAAFAAADwAMAB4AAAwAHAAsAEwAXAAABNTMV
JTUzFQM1MxUBETMRMxUjEQE1MxUCQMD+gMDAwP3AwMDAAYDAA8DAwMDAwAGAwMD9wAPA/oDA/
oADAMDAAAAAAwAAA8ADwAkAAAMACwAPAAARETMRIREhNSE1MxEBNSEVwAJA/
cACQMD8QAMAA8ADAP0AAwDAwPuABIDAwAAAAAIAAAMAA8AHgAAHAA8AAB
ERMxEhFSEVJTUjNTMRMxHAAYD+gAJAwMDAAwAEgP0AwMDAwMACQPxAAAAAAAUAAAPAA8AHgAADAAcACwAPA
BMAAAE1MxU1NTMVIREzEQERMxEFETMRAYDAwP3AwP6AwAJAwAPAwMDAwMABgP6AAYABgP6AwAJA/
cAAAAAABgAAAwADwAkAAAMABwALAA8AEwAXAAABETMRATUhFSURMxERNSEVJTUzFTU1IRUDAMD9AAJA/
QDAAkD9AMADAAMAAYD+gAGAwMDAAYD+gAGAwMDAwMDAwMAAAAAEAAADwAPAB4AAAwAHAAsADwAAEzUhFSUR
MxEhETMRATUhFcACQP0AwAJAwP0AAkADwMDAwAJA/
cACQP3AAkDAwAAAAAEAAAPAA8AHgAAHAAARESERIxEhEQPAwP3AA8ADwPxAAwD9AAAAAAADAAADAAPAB4AA
BwALAA8AABERMxEhFSERAREzEQE1IRXAAkD9wAJAwP0AAkADAAPA/oDA/oACQAGA/
oABgMDAAAAAAAQAAAMAA8AHgAADAAcACwAPAAABETMRATUhFSURMxERNSEVAwDA/
QACQP0AwAMAAwABgP6AAYDAwMABgP6AAYDAwAAAAwAAA8ADwAeAAAMABwAPAAATNSEVJREzESERITUhFSMR
wAGA/cDAAYD+gAMAwAPAwMDAAkD9wAJAwMD9wAAAAAEAAAPAA8AHgAAHAAABESE1IRUhEQGA/
oADwP6AA8ADAMDA/
QAAAAADAAADwAPAB4AAAwAHAAsAABM1IRUlETMRIREzEcACQP0AwAJAwAPAwMDAAwD9AAMA/
QAAAwAAAwADwAeAAAMABwAVAAABETMRIREzERMRIzUzESEVIxEzFSMRAwDA/EDAwMDAAYDAwMAFQAGA/
oACQP3A/
cABgMACQMD+gMD+gAAAAAAJAAADAAPAB4AAAwAHAAsADwATABcAGwAfACMAABERMxEhETMRATUzFTM1MxUl
NTMVJTUzFTM1MxUlNTMVITUzFcACQMD9AMDAwP6AwP6AwMDA/
QDAAkDAAwABgP6AAYD+gAGAwMDAwMDAwMDAwMDAwMDAwMAAAAADAAADAAPAB4AAAwAPABMAABERMxETESM1
MxEzETMVIxETETMRwMDAwMDAwMDABUACQP3A/
cABgMACQP3AwP6AAkACQP3AAAAFAAADwAPAB4AAAwAHAAsADwATAAATNTMVMzUzFSURMxEhETMRIREzEcDA
wMD+gMD9wMACQMADwMDAwMDAAYD+gAMA/
QADAP0AAAAAAwAAA8ACQAkAAAMABwALAAATETMRATUzFTM1MxXAwP6AwMDAA8ADwPxABIDAwMDAAAAAAAUA
AAPAA8AJAAADAAcACwAPABMAABM1IRUlETMRIREzEQE1MxUzNTMVwAJA/QDAAkDA/QDAwMADwMDAwAMA/
QADAP0AA8DAwMDAAAAEAAADwAPAB4AAAwAHAAsADwAAEzUhFSURMxEhETMRATUhFcACQP0AwAJAwP0AAkAD
wMDAwAJA/cACQP3AAkDAwAAAAAQAAAPAA8AJwAADAAcACwAPAAATNSEVJREzESERMxEBETMRwAJA/
QDAAkDA/
cDAA8DAwMADAP0AAwD9AAPAAYD+gAAABgAAA8ADwAnAAAMABwALAA8AEwAXAAATNTMVMzUzFSURMxEhETMR
IREzEQERMxHAwMDA/oDA/cDAAkDA/cDAA8DAwMDAwAGA/
oADAP0AAwD9AAPAAYD+gAAAAAAEAAADAAPAB4AAAwAHABMAFwAAATUhFTURMxEhETMRMzUzFTMVIREBNTMV
AYABgMD8QMDAwMD9wAGAwAMAwMDAAYD+gAPA/
oDAwMD+gAMAwMAAAAACAAADwAPACoAADwATAAARESE1MxUhFSEVIRUhESEVATUzFQGAwAGA/
QABgP6AAwD9AMADwAVAwMDAwMD9wMAGAMDAAAMAAAPAA8AKgAALAA8AEwAAEREhFSEVIRUhESEVATUzFTM1
MxUDwP0AAYD+gAMA/QDAwMADwAVAwMDA/
cDABgDAwMDAAAAAAAMAAAMABIAJAAADAAcAEwAAATUhFTURMxEhESM1IRUhFSEVIRECQAGAwPxAwAPA/
cACQP3AAwDAwMADAP0ABIDAwMDA/
QAAAAIAAAPAA8AKgAAJAA0AABERITUzFSEVIREBNTMVAYDAAYD9AAGAwAPABUDAwMD7gAYAwMAAAAAABQAA
A8ADwAkAAAMABwAPABMAFwAAEzUhFTU1MxUhETMVIRUhEQE1MxUlNSEVwAJAwPxAwAGA/
oACQMD9AAJAA8DAwMDAwAPAwMD9wAMAwMDAwMAABgAAA8ADwAkAAAMABwALAA8AEwAXAAATNSEVJTUzFSER
MxEBNSEVJTUzFTU1IRXAAkD9AMACQMD9AAJA/
QDAAwADwMDAwMDAAkD9wAJAwMDAwMDAwMAAAAEAAAPAAkAJAAALAAARNTMRIzUhFSMRMxXAwAJAwMADwMAD
wMDA/
EDAAAAAAwAAA8ACQAqAAAsADwATAAARNTMRIzUhFSMRMxUBNTMVMzUzFcDAAkDAwP3AwMDAA8DAA8DAwPxA
wAYAwMDAwAAAAAADAAADwAPACQAAAwAHAAsAABM1IRUlNTMVIREzEcACQP0AwAJAwAPAwMDAwMAEgPuAAAA
AAgAAA8AGwAkAAAMAEwAAAREzEQU1MxEhESEVIREhFSERIREGAMD5QMADAAJA/cACQP0A/oAEgAJA/
cDAwASA/oDA/
cDABID7gAAAAAIAAAPABsAJAAADABUAAAERMxEFETMRIREzESEVIREhFSERIREGAMD5QMACQMACQP3AAkD9
AP3ABIACQP3AwAVA/oABgP6AwP3AwAMA/
QAAAgAAA8AEgAkAAAMADwAAAREzESERIzUhFSEVIRUhEQPAwPxAwAPA/cACQP3AA8ADAP0ABIDAwMDA/
QAABwAAA8ADwAqAAAMABwALABMAFwAbAB8AAAERMxEBNTMVAzUzFQERMxEhFSERATUzFSU1MxU1NTMVAwDA
/oDAwMD9AMABgP6AAkDA/cDAwAPAAkD9wAJAwMABgMDA/
EAFQP6AwP0ABIDAwMDAwMDAwAAAAAAFAAADwAPACoAAAwALABMAFwAbAAABNTMVAREzETMVIxEhESM1MzUz
EQE1MxUlNTMVAYDA/cDAwMACQMDAwP3AwP6AwAbAwMD9AAVA/cDA/
cADwMDA+sAFQMDAwMDAAAAEAAADwAPACQAAAwAHAAsAEwAAETUhFTU1MxUBETMRAREhNSERMxECQMD9AMAC
QP3AAkDAA8DAwMDAwAMAAYD+gP3AAYDAAYD8QAAAAQAAAwADwAkAAAsAAAE1IREzESERMxEhFQGA/
oDAAkDA/oADAMAFQPuABID6wMAAAgAAA8ADwAkAAAsADwAAEREzFSE1MxEjESERETUhFcACQMDA/
cACQAPABIDAwPuAAwD9AASAwMAAAAAAAgAAA8ADwAkAAAMADwAAAREzEQURIRUhFSEVIREhFQMAwPxAA8D9
AAJA/
cACQASAAkD9wMAFQMDAwP3AwAAAAAMAAAPAA8AJAAADAAcAEwAAAREzEQM1MxUBESEVIRUhFSERIRUDAMDA
wPxAAwD9wAJA/cACQASAAkD9wAMAwMD8QAVAwMDA/
cDAAAABAAADwAPACQAABQAAEREhFSERA8D9AAPABUDA+4AAAAQAAAMAA8AJAAALAA8AEwAXAAARETMRIREz
ESM1IRURETMRMxEzEQE1MxXAAkDAwP3AwMDA/
oDAAwADwP3AAkD8QMDAA8ABgP6AAYD+gAGAwMAAAAEAAAPAA8AJAAALAAARESEVIRUhFSERIRUDwP0AAYD+
gAMAA8AFQMDAwP3AwAAAAAUAAAPAA8AJAAADAAcACwAXABsAABERMxEhETMRAREzERMRIzUzETMRMxUjERM
RMxHAAkDA/EDAwMDAwMDAwMADwAMA/QADAP0AA8ABgP6A/
EADAMABgP6AwP0AA8ABgP6AAAAGAAADwAPACQAAAwAHAAsADwATABcAABM1IRUlNTMVIREzEQE1IRU1NTMV
JTUhFcACQP0AwAJAwP3AAYDA/
EADAAPAwMDAwMACQP3AAkDAwMDAwMDAwAAAAwAAA8ADwAkAAAMACwATAAABNTMVAREzETMVIxEhESM1MzUz
EQGAwP3AwMDAAkDAwMAGwMDA/
QAFQP3AwP3AA8DAwPrAAAAABAAAA8ADwAqAAAMACwATABsAAAE1MxUBETMRMxUjESERIzUzNTMRAREzFTM1
MxEBgMD9wMDAwAJAwMDA/QDAwMAGwMDA/QAFQP3AwP3AA8DAwPrABUABgMDA/
oAAAAAABQAAA8ADwAkAAAMABwALABMAFwAAAREzEQE1MxUDNTMVAREzESEVIREBNTMVAwDA/
oDAwMD9AMABgP6AAkDAA8ACQP3AAkDAwAGAwMD8QAVA/oDA/
QAEgMDAAAABAAADwAPACQAACQAAETUzESERIxEhEcADAMD+gAPAwASA+sAEgPuAAAAAAAMAAAPAA8AJAAAD
AAsAEwAAATUzFQERMxUzFSMRIREjNTM1MxEBgMD9wMDAwAJAwMDABsDAwP0ABUDAwPxAA8DAwPrAAAAAAAE
AAAPAA8AJAAALAAARETMRIREzESMRIRHAAkDAwP3AA8AFQP6AAYD6wAMA/
QAAAAQAAAPAA8AJAAADAAcACwAPAAATNSEVJREzESERMxEBNSEVwAJA/QDAAkDA/
QACQAPAwMDAA8D8QAPA/EADwMDAAAAAAQAAA8ADwAkAAAcAABERIREjESERA8DA/
cADwAVA+sAEgPuAAAAAAAIAAAPAA8AJAAADAA0AAAE1MxUBESEVIRUhFSERAwDA/
EADAP3AAkD9wAeAwMD8QAVAwMDA/
QAABQAAA8ADwAkAAAMABwALAA8AEwAAEzUhFTU1MxUhETMRATUzFSU1IRXAAkDA/EDAAkDA/
QACQAPAwMDAwMADwPxAAwDAwMDAwAAAAAEAAAPAA8AJAAAHAAABESE1IRUhEQGA/
oADwP6AA8AEgMDA+4AAAAAEAAADwAPACQAAAwAHAAsAEwAAETUhFTU1MxUBETMRAREhNSERMxECQMD9AMAC
QP3AAkDAA8DAwMDAwAMAAYD+gP3AAYDAAYD8QAAAAwAAA8ADwAkAAAMABwAbAAARETMRIREzEQERIzUzESM
1MzUzFTMVIxEzFSMRwAJAwP3AwMDAwMDAwMDABgABgP6AAYD+gP3AAYDAAYDAwMDA/oDA/
oAAAAkAAAPAA8AJAAADAAcACwAPABMAFwAbAB8AIwAAEREzESERMxEBNTMVMzUzFSU1MxUlNTMVMzUzFSU1
MxUhNTMVwAJAwP0AwMDA/oDA/oDAwMD9AMACQMADwAJA/
cACQP3AAkDAwMDAwMDAwMDAwMDAwMDAwAAAAAEAAAMABIAJAAALAAABNSERMxEhETMRMxEDwPxAwAJAwMAD
AMAFQPuABID7gP6AAAIAAAPAA8AJAAADAAsAABERMxEBESE1IREzEcACQP3AAkDAB4ABgP6A/
EADAMABgPrAAAABAAADwAPACQAACwAAEREzETMRMxEzETMRwMDAwMADwAVA+4AEgPuABID6wAAAAAABAAAD
AASACQAADwAAATUhETMRMxEzETMRMxEzEQPA/
EDAwMDAwMADAMAFQPuABID7gASA+4D+gAAAAAACAAADwASACQAAAwAPAAABETMRBREjNSERIRUhESEVA8DA
/EDAAYACQP3AAkAEgAJA/cDABIDA/oDA/
cDAAAAAAwAAA8AFQAkAAAMADQARAAABETMRBREzESEVIREhFSERMxEDAMD8QMACQP3AAkABgMAEgAJA/
cDABUD+gMD9wMAFQPrAAAAAAgAAA8ADwAkAAAMADQAAAREzEQURMxEhFSERIRUDAMD8QMACQP3AAkAEgAJA
/
cDABUD+gMD9wMAAAAAABQAAA8ADwAkAAAMABwALABMAFwAAEzUhFSU1MxUDNTMVAREhNSE1MxEBNSEVwAJA
/QDAwMACQP6AAYDA/QACQAPAwMDAwMADAMDA/QACQMDA/
EADwMDAAAQAAAPAA8AJAAADAAcAEwAXAAABNTMVNREzEQURMxEzNTMRIxEjEQE1MxUCQMDA/
EDAwMDAwAGAwAPAwMDAA8D8QMAFQP6AwPxAAkD9AASAwMAAAAMAAAPAA8AJAAADAAcAEQAAEREzEQM1MxUB
ESE1ITUhNSERwMDAAkD9wAJA/
cADAAPAAwD9AAPAwMD8QAMAwMDA+sAAAwAAA8ADwAeAAAMADQARAAARNTMVFTUhNSE1ITUzEQE1IRXAAkD9
wAJAwP0AAkAEgMDAwMDAwMD9AAMAwMAAAAUAAAPAA8AJAAADAAcACwATABcAABM1IRU1ETMRATUhFQERMxE
zFSMRETUhFcACQMD9wAGA/QDAwMADAAPAwMDAAkD9wAJAwMD9wAPA/oDA/
oADwMDAAAADAAADwAPAB4AAAwAHABMAAAE1MxUDNTMVAREhFSEVIRUhFSEVAwDAwMD8QAMA/
cACQP3AAkAEgMDAAYDAwP3AA8DAwMDAwAABAAADwAPAB4AABQAAEREhFSERA8D9AAPAA8DA/
QAAAAQAAAMAA8AHgAALAA8AEwAXAAARETMVITUzESM1IRURETMRMxEzEQE1MxXAAkDAwP3AwMDA/
oDAAwACQMDA/cDAwAJAAYD+gAGA/
oABgMDAAAAAAAMAAAPAA8AHgAADAA0AEQAAEzUhFSURMxUhNTMRIRURNSEVwAMA/EDAAkDA/
QACQAPAwMDAAkDAwP6AwAJAwMAAAAAABQAAA8ADwAeAAAMABwALABcAGwAAEREzESERMxEBETMRExEjNTMR
MxEzFSMRExEzEcACQMD8QMDAwMDAwMDAwAPAAYD+gAGA/oACQAGA/oD9wAGAwAGA/oDA/oACQAGA/
oAAAAUAAAPAA8AHgAADAAcACwAPABMAABE1IRU1NTMVJTUhFTU1MxUlNSEVAwDA/
cABgMD8QAMAA8DAwMDAwMDAwMDAwMDAwAAAAAMAAAPAA8AHgAADAAsAEwAAATUzFQERMxEzFSMVIREjNTM1
MxEBgMD9wMDAwAJAwMDABUDAwP6AA8D9wMDAAkDAwPxAAAAAAAQAAAPAA8AJwAADAAsAEwAbAAABNTMVARE
zETMVIxUhESM1MzUzEQERMxUzNTMRAYDA/
cDAwMACQMDAwP0AwMDABUDAwP6AA8D9wMDAAkDAwPxABIABgMDA/
oAABQAAA8ADAAeAAAMABwALABMAFwAAATUzFSU1MxUDNTMVAREzETMVIxEBNTMVAkDA/
oDAwMD9wMDAwAGAwAPAwMDAwMABgMDA/
cADwP6AwP6AAwDAwAAAAAEAAAPAA8AHgAAJAAARNTMRIREjESERwAMAwP6AA8DAAwD8QAMA/
QAAAAAAAwAAA8ADwAeAAAMACwATAAABNTMVAREzFTMVIxEhESM1MzUzEQGAwP3AwMDAAkDAwMAFQMDA/
oADwMDA/cACQMDA/EAAAAAAAQAAA8ADwAeAAAsAABERMxEhETMRIxEhEcACQMDA/cADwAPA/
oABgPxAAYD+gAAABAAAA8ADwAeAAAMABwALAA8AABM1IRUlETMRIREzEQE1IRXAAkD9AMACQMD9AAJAA8DA
wMACQP3AAkD9wAJAwMAAAAABAAADwAPAB4AABwAAEREhESMRIREDwMD9wAPAA8D8QAMA/
QAAAAAAAwAAAwADwAeAAAMADwATAAABETMRAREzFTMVIxUhFSEREzUhFQMAwPxAwMDAAkD9wMABgAVAAYD+
gP3ABIDAwMDA/
oADwMDAAAAAAAUAAAPAA8AHgAADAAcACwAPABMAABM1IRU1NTMVIREzEQE1MxUlNSEVwAJAwPxAwAJAwP0A
AkADwMDAwMDAAkD9wAGAwMDAwMAAAAABAAADwAPAB4AABwAAAREhNSEVIREBgP6AA8D+gAPAAwDAwP0AAAA
AAwAAAwADwAeAAAMABwAPAAARNSEVAREzEQE1ITUhETMRAwD9AMACQP3AAkDAAwDAwAJAAkD9wP6AwMACQP
xAAAUAAAMABUAJAAADAAcACwAPACMAABM1MxUlETMRIREzEQE1MxUBESM1MzUhNSERMxEzFSMVIRUhEcDA/
oDAA8DA/oDA/
cDAwP6AAYDAwMABgP6ABIDAwMABgP6AAYD+gAGAwMD8QAJAwMDAAYD9wMDAwP6AAAAAAAkAAAPAA8AHgAAD
AAcACwAPABMAFwAbAB8AIwAAETUzFSE1MxUlNTMVMzUzFSU1MxUlNTMVMzUzFSU1MxUhNTMVwAJAwP0AwMD
A/oDA/
oDAwMD9AMACQMADwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAQAAAwAEgAeAAAsAAAE1IREzESERMxEz
EQPA/EDAAkDAwAMAwAPA/QADAP0A/oAAAgAAA8ADwAeAAAMACwAAEREzEQERITUhETMRwAJA/
cACQMAGAAGA/oD9wAGAwAGA/EAAAAEAAAPAA8AHgAALAAARETMRMxEzETMRMxHAwMDAwAPAA8D9AAMA/
QADAPxAAAAAAAEAAAMABIAHgAAPAAABNSERMxEzETMRMxEzETMRA8D8QMDAwMDAwAMAwAPA/
QADAP0AAwD9AP6AAAAAAAIAAAPAA8AHgAADAA8AAAE1MxUFESM1IREhFSEVIRUDAMD9AMABgAGA/
oABgASAwMDAAwDA/oDAwMAAAAMAAAPABIAHgAADAA0AEQAAATUzFQURMxEhFSEVIRUhETMRAkDA/
QDAAYD+gAGAAYDABIDAwMADwP6AwMDAA8D8QAAAAgAAA8ADAAeAAAMADQAAATUzFQURMxEhFSEVIRUCQMD9
AMABgP6AAYAEgMDAwAPA/
oDAwMAAAAAFAAADwAPAB4AAAwAHAAsAEwAXAAATNSEVJTUzFQM1MxUBNSE1ITUzEQE1IRXAAkD9AMDAwAJA
/
oABgMD9AAJAA8DAwMDAwAGAwMD+gMDAwP3AAkDAwAAABAAAA8ADwAeAAAMABwATABcAAAE1MxU1ETMRBREz
ETM1MxEjNSMRATUzFQJAwMD8QMDAwMDAAYDAA8DAwMACQP3AwAPA/oDA/cDA/
oADAMDAAAAAAwAAA8ADwAeAAAMABwARAAARETMRAzUzFQERITUhNSE1IRHAwMACQP3AAkD9wAMAA8ABgP6A
AkDAwP3AAYDAwMD8QAAFAAADwAPACcAAAwANABEAFQAZAAATNSEVJREzFSE1MxEhFRE1IRUBNTMVJTUzFcA
DAPxAwAJAwP0AAkD+gMD+gMADwMDAwAJAwMD+gMACQMDAAYDAwMDAwAAAAAUAAAPAA8AJAAADAA0AEQAVAB
kAABM1IRUlETMVITUzESEVETUhFQE1MxUzNTMVwAMA/EDAAkDA/QACQP3AwMDAA8DAwMACQMDA/
oDAAkDAwAGAwMDAwAAEAAADAASACQAAAwAHAAsAGwAAATUhFTURMxEBNSEVAREjNTM1MxUzFSMVMxUjEQJA
AYDA/cABgP0AwMDAwMDAwAMAwMDAAwD9AAMAwMD9AAPAwMDAwMDA/
cAAAAMAAAPAA8AJwAAFAAkADQAAEREhFSEREzUzFTU1MxUDwP0AwMDAA8ADwMD9AASAwMDAwMAAAAAABQAA
A8ADwAeAAAMABwAPABMAFwAAEzUhFTU1MxUhETMVIRUhFQE1MxUlNSEVwAJAwPxAwAGA/
oACQMD9AAJAA8DAwMDAwAJAwMDAAYDAwMDAwAAABQAAA8ADwAeAAAMABwALAA8AEwAAETUhFTU1MxUlNSEV
JTUzFTU1IRUDAMD9AAJA/
QDAAwADwMDAwMDAwMDAwMDAwMDAAAAAAgAAA8AAwAkAAAMABwAAEREzEQM1MxXAwMADwAPA/
EAEgMDAAAAAAAMAA
APAAkAJAAADAAcACwAAExEzEQE1MxUzNTMVwMD+gMDAwAPAA8D8QASAwMDAwAAAAAAEAAADAAPACQAAAwAH
AAsADwAAEzUhFSU1MxUhETMRAzUzFcACQP0AwAJAwMDAAwDAwMDAwAPA/
EAEgMDAAAAAAgAAA8AGAAeAAAMAEwAAATUzFQU1MxEhESEVIRUhFSERIREFQMD6AMADAAGA/oABgP3A/
oAEgMDAwMADAP6AwMDAAwD9AAAAAgAAA8AGAAeAAAMAFQAAATUzFQURMxEhETMRIRUhFSEVIREhEQVAwPoA
wAJAwAGA/oABgP3A/cAEgMDAwAPA/
oABgP6AwMDAAYD+gAAAAAADAAADwASACQAAAwAHABcAAAERMxEBNSEVAREjNTM1MxUzFSMVMxUjEQPAwP3A
AYD9AMDAwMDAwMADwAMA/QADAMDA/
QADwMDAwMDAwP3AAAUAAAPAAwAHgAADAAcACwATABcAAAE1MxUlNTMVAzUzFQERMxEzFSMRATUzFQJAwP6A
wMDA/
cDAwMABgMADwMDAwMDAAYDAwP3AA8D+gMD+gAMAwMAAAAAFAAADwAPACcAAAwALABMAFwAbAAABNTMVAREz
ETMVIxUhESM1MzUzEQE1MxUlNTMVAYDA/cDAwMACQMDAwP3AwP6AwAVAwMD+gAPA/
cDAwAJAwMD8QASAwMDAwMAAAAAEAAADAAPACcAAAwAHAA8AFwAAETUhFQERMxEBNSE1IREzEQERMxUzNTMR
AwD9AMACQP3AAkDA/QDAwMADAMDAAkACQP3A/oDAwAJA/
EAEgAGAwMD+gAAAAQAAAwADwAeAAAsAAAE1IREzESERMxEhFQGA/oDAAkDA/
oADAMADwP0AAwD8QMAAAgAAA8AEgAkAAAMAFQAAAREzEQURIzUzNTMVIRUhFSEVIREhFQPAwPxAwMDAAkD9
wAJA/
cACQASAAYD+gMADwMDAwMDAwP6AwAAAAAMAAAPABIAJAAADAAcAGQAAAREzEQE1IRUBESM1MzUzFSEVIREz
FSMVIRUDwMD9wAGA/
QDAwMACQP3AwMACQASAAYD+gAGAwMD9wAPAwMDAwP6AwMDAAAADAAADwAPACQAAAwAPABMAABM1IRUlETMR
IREzESMRIRERNSEVwAJA/QDAAkDAwP3AAkADwMDAwAPA/
oABgPxAAYD+gAPAwMAAAAAAAwAAA8ADwAeAAAMADwATAAATNSEVJREzFSE1MxEjNSEVETUhFcACQP0AwAJA
wMD9wAJAA8DAwMACQMDA/
cDAwAJAwMAAAAAABQAAA8ADwAkAAAMABwALAA8AEwAAATUzFSURMxEzETMRAREzESURMxEBgMD+gMDAwP0A
wAJAwAPAwMDAAYD+gAJA/cABgAMA/
QDAAkD9wAAFAAADwAPAB4AAAwAHAAsADwATAAABNTMVJTUzFTMRMxElETMRJREzEQGAwP6AwMDA/
QDAAkDAA8DAwMDAwAGA/
oDAAkD9wMABgP6AAAAAAAQAAAMABIAKgAADAAsAFwAfAAABNTMVAREzETMVIxEFESM1MzUzETMVIxUBETMV
MzUzEQGAwP3AwMDAAkDAwMDAwP0AwMDABsDAwP0ABUD9wMD9wMAEgMDA+4DAwAYAAYDAwP6AAAAABAAAAwA
EgAnAAAMACwAXAB8AAAE1MxUBETMRMxUjFQURIzUzNTMRMxUjFQERMxUzNTMRAYDA/cDAwMACQMDAwMDA/
QDAwMAFQMDA/
oADwP3AwMDAAwDAwP0AwMAFQAGAwMD+gAAAAAACAAADwASACQAAAwARAAABETMRBREjNSEVIxUhFSERIRUD
wMD8QMACQMACQP3AAkAEgAJA/cDABIDAwMDA/
cDAAAAAAAIAAAPAA8AJAAADABUAAAE1MxUFESM1MzUzFTMVIxEhFSEVIRUDAMD9AMDAwMDAAYD+gAGABIDA
wMADwMDAwMD+gMDAwAAAAAIAAAPAA8AJAAADABEAAAE1IxUDESEVIxUzNTMRIzUhEQGAwMADAMDAwMD9wAe
AwMD8QAVAwMDA/cDA/
QAAAAAEAAADAAPAB4AAAwAHABcAGwAAATUzFQMRMxEBETMVMxUjFTM1MxUzFSEREzUhFQMAwMDA/
EDAwMDAwMD9wMABgAPAwMABgAGA/oD9wASAwMDAwMDA/
oADwMDAAAEAAAPAA8AJwAAHAAARESE1MxEhEQMAwP0AA8AFQMD+gPuAAAEAAAPAA8AIQAAHAAARESE1MxEh
EQMAwP0AA8ADwMD+gP0AAAEAAAPABIAJAAANAAATESM1MxEhFSERIRUhEcDAwAPA/
QABgP6AA8ACQMACQMD+gMD9wAABAAADwASAB4AADQAAExEjNTMRIRUhFSEVIRHAwMADwP0AAYD+gAPAAYDA
AYDAwMD+gAAABQAAAwAEgAkAAAMACwAPABsAHwAAEREzEQU1IxEzETMRAREzERMRIzUzETMRMxUjERMRMxH
AAwDAwMD7gMDAwMDAwMDAwAPAAwD9AMDAAwD9wP6ABIABgP6A/
EADAMABgP6AwP0AA8ABgP6AAAAAAAUAAAMABIAHgAADAAsADwAbAB8AABERMxEFNSMRMxUzEQERMxETESM1
MxEzETMVIxETETMRwAMAwMDA+4DAwMDAwMDAwMADwAGA/oDAwAGAwP6AAwABgP6A/
cABgMABgP6AwP6AAkABgP6AAAYAAAMAA8AJAAAHAAsADwATABcAGwAAATUjNSEVIxUBNTMVIREzEQE1IRU1
NTMVJTUhFQGAwAJAwP3AwAJAwP3AAYDA/
EADAAMAwMDAwAGAwMACQP3AAkDAwMDAwMDAwAAAAAAFAAADAAPAB4AABwALAA8AEwAXAAABNSE1IRUjFRM1
MxUlNSEVNTUzFSU1IRUBgP6AAwDAwMD9wAGAwPxAAwADAMDAwMABgMDAwMDAwMDAwMDAAAAFAAADAASACQA
ABwALAA8AFwAbAAABNSMRMxEzEQE1MxUDNTMVAREzESEVIREBNTMVA8DAwMD9wMDAwP0AwAGA/
oACQMADAMACQP6A/
oADAMDAAYDAwPxABUD+gMD9AASAwMAABQAAA8ADAAeAAAMABwALABMAFwAAATUzFSU1MxUDNTMVAREzETMV
IxEBNTMVAkDA/oDAwMD9wMDAwAGAwAPAwMDAwMABgMDA/
cADwP6AwP6AAwDAwAAAAAMAAAPAA8AJAAADABMAFwAAAREzESERMxEzNTMVMxUjFSM1IxEBETMRAwDA/
EDAwMDAwMDAAkDAA8ADAP0ABUD+gMDAwMDA/QADwAGA/
oAAAwAAA8ADwAeAAAMAEwAXAAABETMRIREzETM1MxUzFSMVIzUjEQERMxEDAMD8QMDAwMDAwMACQMADwAGA
/
oADwP6AwMDAwMD+gAJAAYD+gAAFAAADwASACQAAAwAHAAsAFQAZAAABETMRATUzFQM1MxUBESM1IREhFSER
ATUzFQPAwP6AwMDA/
QDAAYABgP6AAkDAA8ACQP3AAkDAwAGAwMD8QASAwP6AwP0ABIDAwAAFAAADwAPAB4AAAwAHAAsAFQAZAAAB
NTMVJTUzFQM1MxUBESM1IREzFSMRATUzFQMAwP6AwMDA/cDAAYDAwAGAwAPAwMDAwMABgMDA/
cADAMD+gMD+gAMAwMAAAAEAAAMABIAJAAAPAAABNSMRIREjETMRIREzETMRA8DA/
cDAwAJAwMADAMADAP0ABUD+gAGA+4D+gAAAAAEAAAMABIAHgAAPAAABNSMRIREjETMRIREzETMRA8DA/
cDAwAJAwMADAMABgP6AA8D+gAGA/
QD+gAAAAAUAAAMAA8AJAAAHAAsADwATABcAAAE1IzUhFSMVEzUzFSERMxEBNTMVJTUhFQGAwAJAwMDA/
EDAAkDA/
QACQAMAwMDAwAGAwMADwPxAAwDAwMDAwAAAAAAFAAADAAPAB4AABwALAA8AEwAXAAABNSM1IRUjFRM1MxUh
ETMRATUzFSU1IRUBgMACQMDAwPxAwAJAwP0AAkADAMDAwMABgMDAAkD9wAGAwMDAwMAAAAAABQAAA8ADwAk
AAAMABwALAA8AEwAAAREzEQE1MxUzNTMVJTUzFSE1MxUBgMD+gMDAwP0AwAJAwAPAA8D8QAPAwMDAwMDAwM
DAAAAAAAUAAAMAA8AHgAADAAcACwAPABMAAAERMxEBNTMVMzUzFSU1MxUhNTMVAYDA/
oDAwMD9AMACQMADAAMA/
QADAMDAwMDAwMDAwAAAAAAFAAADwAPACQAACwAPABMAFwAbAAABESM1MxEzETMVIxEBNTMVMzUzFSU1MxUh
NTMVAYDAwMDAwP6AwMDA/
QDAAkDAA8ABgMABgP6AwP6AA8DAwMDAwMDAwMAAAAUAAAMAA8AHgAALAA8AEwAXABsAAAERIzUzNTMVMxUj
EQE1MxUzNTMVJTUzFSE1MxUBgMDAwMDA/
oDAwMD9AMACQMADAAGAwMDAwP6AAwDAwMDAwMDAwMAAAAAACQAAAwAEgAkAAAMACwAPABMAFwAbAB8AIwAn
AAARETMRBTUjETMRMxEBNTMVMzUzFSU1MxUlNTMVMzUzFSU1MxUhNTMVwAMAwMDA/
EDAwMD+gMD+gMDAwP0AwAJAwAPAAkD9wMDAAkD+gP6AAwDAwMDAwMDAwMDAwMDAwMDAwAAJAAADAASAB4AA
AwAJAA0AEQAVABkAHQAhACUAABE1MxUFNSM1IREBNTMVMzUzFSU1MxUlNTMVMzUzFSU1MxUhNTMVwAMAwAG
A/
EDAwMD+gMD+gMDAwP0AwAJAwAPAwMDAwMD+gAGAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAgAAAwAEgAkAAAMA
DwAAEREzEQE1IxEhNSERMxEzEcADAMD9wAJAwMAHgAGA/oD7gMADAMABgPuA/
oAAAgAAAwAEgAeAAAMADwAAEREzEQE1IxEhNSERMxEzEcADAMD9wAJAwMAGAAGA/oD9AMABgMABgP0A/
oAAAgAAA8ADwAkAAAMAEwAAEREzEQERIxUjNSM1MzUzFTMRMxHAAkDAwMDAwMDAB4ABgP6A/
EADAMDAwMDAAYD6wAAAAAACAAADwAPAB4AAAwATAAARETMRAREjFSM1IzUzNTMVMxEzEcACQMDAwMDAwMAG
AAGA/oD9wAGAwMDAwMABgPxAAAAAAAIAAAPAA8AJAAADAAsAAAERMxEhETMRIRUhEQMAwPxAwAJA/
cADwAMA/QAFQP6AwP0AAAADAAADwAPACQAAAwAHAA8AAAERMxEBNSEVAREzETMVIxEDAMD9wAGA/
QDAwMADwAMA/QADAMDA/
QAFQP3AwP3AAAAAAAEAAAPAAMAJAAADAAARETMRwAPABUD6wAAAAAAFAAADwAPACoAAAwAHAAsADwAjAAAR
ETMRIREzEQERMxEhETMRAREjNTMRIxEzFTM1MxEjETMVIxHAAkDA/EDAAkDA/cDAwMDAwMDAwMADwAMA/
QADAP0AA8ABgP6AAYD+gPxAAwDAAYABgMDA/
oD+gMD9AAAAAAAGAAADwAPACcAAAwAHAAsAFwAbACMAABERMxEhETMRAREzERMRIzUzETMRMxUjERMRMxEB
ETMVMzUzEcACQMD8QMDAwMDAwMDAwP0AwMDAA8ABgP6AAYD+gAJAAYD+gP3AAYDAAYD+gMD+gAJAAYD+gAJ
AAYDAwP6AAAAAAQAAAwAEgAkAAA0AAAERIREhNTMRIREzFSMVAwD+gP6AwAMAwMADAAVA+4DABID7gMDAAA
EAAAMABIAHgAANAAABESERITUzESERMxUjFQMA/oD+gMADAMDAAwADwP0AwAMA/
QDAwAACAAADAAPACQAAAwAPAAABNSEVJREzESERMxEjESERAYABgP0AwAJAwMD9wAMAwMDABUD+gAGA+sAD
AP0AAAAAAgAAAwADwAeAAAMADwAAATUhFSURMxEhETMRIxEhEQGAAYD9AMACQMDA/cADAMDAwAPA/
oABgPxAAYD+gAAAAAEAAAMABIAJAAAPAAABESERIxEzESERMxEzFSMVAwD9wMDAAkDAwMADAAPA/
QAFQP6AAYD7gMDAAAAAAAEAAAMABIAHgAAPAAABESERIxEzESERMxEzFSMVAwD9wMDAAkDAwMADAAJA/
oADwP6AAYD9AMDAAAAAAAMAAAMABIAJAAADAAsAFwAAATUzFQERMxUzFSMRBREjNTM1MxEzFSMVAYDA/
cDAwMACQMDAwMDABsDAwP0ABUDAwPxAwASAwMD7gMDAAAAAAwAAA8ADwAeAAAMACwATAAABNTMVAREzFTMV
IxEhESM1MzUzEQGAwP3AwMDAAkDAwMAFQMDA/oADwMDA/cACQMDA/
EAAAAAAAQAAA8AAwAeAAAMAABERMxHAA8ADwPxAAAAAAAQAAAPAA8AKgAALAA8AEwAXAAARETMVITUzESMR
IRERNSEVATUzFTM1MxXAAkDAwP3AAkD9wMDAwAPABIDAwPuAAwD9AASAwMABgMDAwMAABQAAA8ADwAkAAAM
ADQARABUAGQAAETUzFRU1ITUhNSE1MxEBNSEVATUzFTM1MxXAAkD9wAJAwP0AAkD9wMDAwASAwMDAwMDAwP
0AAwDAwAGAwMDAwAAAAAEAAAPABsAJAAAVAAARETMVITUhNSEVIRUhFSERIRUhESERwAJA/
cAGAP0AAYD+gAMA/
ED9wAPABIDAwMDAwMD9wMADAP0AAAYAAAPABsAHgAADAAcACwAZAB0AIQAAEzUhFTM1IRUlNTMVITUhNSE1
MxUhNTMRIRUBNSEVMzUhFcACQMADAPlAwAJA/
cACQMACQMD9AP0AAkDAAkADwMDAwMDAwMDAwMDAwP6AwAJAwMDAwAAAAAADAAADwAPACQAAAwANABEAABM1
IRUlESE1MxEjESERETUhFcACQP0AAwDAwP3AAkADwMDAwAMAwPxAAkD9wAPAwMAAAAMAAAPAA8AHgAADAA0
AEQAAEzUhFSURITUzESM1IRURNSEVwAJA/QADAMDA/cACQAPAwMDAAYDA/
cDAwAJAwMAAAAAABAAAA8ADwAqAAAMACwATABcAAAE1MxUBETMRMxUjESERIzUzNTMRATUhFQGAwP3AwMDA
AkDAwMD9AAJABsDAwP0ABUD9wMD9wAPAwMD6wAYAwMAABAAAA8ADwAkAAAMACwATABcAAAE1MxUBETMRMxU
jFSERIzUzNTMRATUhFQGAwP3AwMDAAkDAwMD9AAJABUDAwP6AA8D9wMDAAkDAwPxABIDAwAAABQAAA8ADwA
qAAAMACwATABcAGwAAATUzFQERMxEzFSMRIREjNTM1MxEBNTMVMzUzFQGAwP3AwMDAAkDAwMD9AMDAwAbAw
MD9AAVA/cDA/
cADwMDA+sAGAMDAwMAAAAAABQAAA8ADwAkAAAMACwATABcAGwAAATUzFQERMxEzFSMVIREjNTM1MxEBNTMV
MzUzFQGAwP3AwMDAAkDAwMD9AMDAwAVAwMD+gAPA/
cDAwAJAwMD8QASAwMDAwAAGAAADwAPACoAAAwAHAAsADwATABcAABM1IRUlETMRIREzEQE1IRUBNTMVMzUz
FcACQP0AwAJAwP0AAkD9wMDAwAPAwMDAA8D8QAPA/
EADwMDAAYDAwMDAAAAAAAYAAAPAA8AJAAADAAcACwAPABMAFwAAEzUhFSURMxEhETMRATUhFQE1MxUzNTMV
wAJA/QDAAkDA/
QACQP3AwMDAA8DAwMACQP3AAkD9wAJAwMABgMDAwMAAAAAAAwAAA8ADwAkAAAMADwATAAATNSEVJREzESER
MxEjESERETUhFcACQP0AwAJAwMD9wAJAA8DAwMADwP6AAYD8QAGA/
oADwMDAAAAAAAMAAAPAA8AHgAADAA8AEwAAEzUhFSURMxUhNTMRIzUhFRE1IRXAAkD9AMACQMDA/
cACQAPAwMDAAkDAwP3AwMACQMDAAAAAAAcAAAPAA8AKgAADAAcACwATABcAGwAfAAATNSEVJTUzFQM1MxUB
ESE1ITUzEQE1IRUBNTMVMzUzFcACQP0AwMDAAkD+gAGAwP0AAkD9wMDAwAPAwMDAwMADAMDA/QACQMDA/
EADwMDAAYDAwMDAAAAFAAADwAPAB4AAAwAHAAsAEwAXAAATNSEVJTUzFQM1MxUBNSE1ITUzEQE1IRXAAkD9
AMDAwAJA/
oABgMD9AAJAA8DAwMDAwAGAwMD+gMDAwP3AAkDAwAAABQAAA8ADwAqAAAMABwALABMAFwAAETUhFTU1MxUB
ETMRAREhNSERMxEBNSEVAkDA/QDAAkD9wAJAwP0AAkADwMDAwMDAAwABgP6A/
cABgMABgPxABIDAwAAAAAAEAAADAAPACQAAAwAHAA8AEwAAETUhFQERMxEBNSE1IREzEQE1IRUDAP0AwAJA
/
cACQMD9AAJAAwDAwAJAAkD9wP6AwMACQPxABIDAwAAAAAYAAAPAA8AKgAADAAcACwATABcAGwAAETUhFTU1
MxUBETMRAREhNSERMxEBNTMVMzUzFQJAwP0AwAJA/cACQMD9AMDAwAPAwMDAwMADAAGA/oD9wAGAwAGA/
EAEgMDAwMAAAAAFAAADAAPACQAAAwAHAA8AEwAXAAARNSEVAREzEQE1ITUhETMRATUzFTM1MxUDAP0AwAJA
/cACQMD9AMDAwAMAwMACQAJA/
cD+gMDAAkD8QASAwMDAwAAABQAAA8ADwAqAAAMACwATABcAGwAAATUzFQERMxEzFSMVITUjNTMRMxEBNTMV
JTUzFQGAwP3AwMDAAkDAwMD9wMD+gMAFQMDA/
oAFQPxAwMDAwAPA+sAFQMDAwMDAAAAABAAAA8ADwAnAAAMADQARABUAABERMxEVNTMRMxEzETMRATUzFSU1
MxXAwMDAwP3AwP6AwASAAwD9AMDAAYD+gAMA/
EAEgMDAwMDAAAUAAAPAA8AKgAADAAsAEwAXABsAAAE1MxUBETMRMxUjFSE1IzUzETMRATUzFTU1MxUBgMD9
wMDAwAJAwMDA/cDAwAVAwMD+gAVA/
EDAwMDAA8D6wAVAwMDAwMAABAAAA8ADwAnAAAMADQARABUAABERMxEVNTMRMxEzETMRATUzFTU1MxXAwMDA
wP3AwMAEgAMA/QDAwAGA/
oADAPxABIDAwMDAwAAAAAUAAAPAA8AKgAADAAsAEwAXABsAAAE1MxUBETMRMxUjFSE1IzUzETMRATUzFTM1
MxUBgMD9wMDAwAJAwMDA/QDAwMAFQMDA/
oAFQPxAwMDAwAPA+sAGAMDAwMAABAAAA8ADwAkAAAMADQARABUAABERMxEVNTMRMxEzETMRATUzFTM1MxXA
wMDAwP0AwMDABIADAP0AwMABgP6AAwD8QASAwMDAwAAAAAMAAAPAA8AJAAADAAcAEwAAATUhFTURMxEFESE
VIxEhNTM1IREBgAGAwPxAA8DA/oDA/oADwMDAwAJA/cDABUDA/
oDAwPuAAAcAAAPAA8AKgAADAAcACwAPABMAFwAbAAABETMRATUzFTM1MxUlNTMVITUzFSU1MxUlNTMVAYDA
/oDAwMD9AMACQMD9wMD+gMADwAPA/
EADwMDAwMDAwMDAwMDAwMDAwAAAAAAFAAADAAPACcAAAwAHAA8AEwAXAAARNSEVAREzEQE1ITUhETMRATUz
FSU1MxUDAP0AwAJA/cACQMD9wMD+gMADAMDAAkACQP3A/oDAwAJA/
EAEgMDAwMDAAAAAAAIAAAbAAYAJAAADAAcAABERMxERNTMVwMAGwAGA/
oABgMDAAAIAAAbAAYAJAAADAAcAABE1MxU1ETMRwMAGwMDAwAGA/
oAAAAIAAAMAAYAFQAADAAcAABE1MxU1ETMRwMADAMDAwAGA/
oAAAAIAAAbAAYAJAAADAAcAABM1MxUlETMRwMD+gMAGwMDAwAGA/
oAAAAAEAAAGwAMACQAAAwAHAAsADwAAEREz
ETMRMxEBNTMVMzUzFcDAwP6AwMDABsABgP6AAYD+gAGAwMDAwAAEAAAGwAMACQAAAwAHAAsADwAAETUzFTM
1MxUlETMRMxEzEcDAwP6AwMDABsDAwMDAwAGA/
oABgP6AAAAEAAADAAMABUAAAwAHAAsADwAAETUzFTM1MxUlETMRMxEzEcDAwP6AwMDAAwDAwMDAwAGA/
oABgP6AAAAEAAAGwAMACQAAAwAHAAsADwAAEzUzFTM1MxUlETMRMxEzEcDAwMD9AMDAwAbAwMDAwMABgP6A
AYD+gAABAAAEgAJACQAACwAAExEjNTM1MxUzFSMRwMDAwMDABIADAMDAwMD9AAAAAAEAAASAAkAJAAATAAA
TNSM1MxEjNTM1MxUzFSMRMxUjFcDAwMDAwMDAwMAEgMDAAYDAwMDA/
oDAwAAAAAEAAAVAAYAGwAADAAARESERAYAFQAGA/
oAAAAABAAADwAJAB4AACwAAEREzFTMVMxUjFSMVwMDAwMADwAPAwMDAwMAAAwAAA8ADwAVAAAMABwALAAAR
ETMRMxEzETMRMxHAwMDAwAPAAYD+gAGA/
oABgP6AAAAAAAgAAAPABUAJAAADAAcACwAPABMAFwAbAB8AABE1MxUhETMRMxEzESURMxERNTMVNREzESUR
MxElNTMVwAJAwMDA+4DAwMD9AMACQMADwMDAAYD+gAGA/
oDAAYD+gAGAwMDAAYD+gMABgP6AwMDAAAADAAAGwAJACQAAAwAHAAsAABE1MxU1NTMVNTUzFcDAwAbAwMDA
wMDAwMAAAAYAAAbAA8AJAAADAAcACwAPABMAFwAAETUzFTM1MxUlNTMVMzUzFSU1MxUzNTMVwMDA/
oDAwMD+gMDAwAbAwMDAwMDAwMDAwMDAwMAAAAAAAwAABsACQAkAAAMABwALAAABNTMVJTUzFSU1MxUBgMD+
gMD+gMAGwMDAwMDAwMDAAAAAAAYAAAbAA8AJAAADAAcACwAPABMAFwAAATUzFTM1MxUlNTMVMzUzFSU1MxU
zNTMVAYDAwMD9AMDAwP0AwMDABsDAwMDAwMDAwMDAwMDAwAAAAwAAA8ABgAbAAAMABwALAAATNTMVJREzER
E1MxXAwP6AwMADwMDAwAGA/
oABgMDAAAAAAAMAAAPAAYAGwAADAAcACwAAETUzFTURMxEBNTMVwMD+gMADwMDAwAGA/
oABgMDAAAX+gAPAAkAJAAADAAcACwAPABMAAAE1MxU1ETMRETUzFTURMxERNTMV/
oDAwMDAwAPAwMDAAYD+gAGAwMDAAYD+gAGAwMAAAAQAAAYAAkAJAAADAAcACwAPAAATNTMVJREzETMRMxEB
NTMVwMD+gMDAwP6AwAYAwMDAAYD+gAGA/
oABgMDAAAACAAAGAADACQAAAwAHAAARETMRAzUzFcDAwAYAAYD+gAJAwMAAAAAAAQAABgACQAkAAAsAAAE1
IREzFTM1IzUhEQGA/oDAwMABgAYAwAGAwMDA/
QAAAAAAAwAABgACQAkAAAMABwANAAARNSEVNTUzFSURIRUjFQGAwP3AAkDABgDAwMDAwMABgMDAAAMAAAYA
AkAJAAADAAcAEQAAEzUzFTU1MxUhETM1IRUjFSMVwMDA/
cDAAYDAwAYAwMDAwMABgMDAwMAAAAMAAAYAAkAJAAADAAcADQAAETUzFTU1MxU1NSE1IRHAwP6AAkAGAMDA
wMDAwMDA/oAAAAACAAAGAAJACQAAAwAPAAATNTMVJREzNTMVMxEjNSMVwMD+gMDAwMDABgDAwMABgMDA/
oDAwAAAAAMAAAYAAkAJAAADAA0AEQAAETUzFQM1MzUzNTMRIxUDNTMVwMDAwMDAwMAHgMDA/
oDAwMD+gMACQMDAAAQAAAPAAkAGwAADAAcACwAPAAATNTMVJREzETMRMxEBNTMVwMD+gMDAwP6AwAPAwMDA
AYD+gAGA/
oABgMDAAAABAAADwAJABsAACwAAETUzNSM1MzUzETMVwMDAwMADwMDAwMD9wMAAAwAAA8ACQAbAAAcACwAP
AAARNTM1MxUzFQM1MxUlNSEVwMDAwMD9wAGAA8DAwMDAAYDAwMDAwAACAAADwAJABsAAAwANAAARNSEVNTU
jNSM1IRUzEQGAwMABgMADwMDAwMDAwMD+gAABAAADwAJABsAACwAAATUhETMVMzUjNSERAYD+gMDAwAGAA8
DAAYDAwMD9AAAAAAADAAADwAJABsAAAwAHAA0AABE1IRU1NTMVJREhFSMVAYDA/
cACQMADwMDAwMDAwAGAwMAAAwAAA8ACQAbAAAMABwARAAATNTMVNTUzFSERMzUhFSMVIxXAwMD9wMABgMDA
A8DAwMDAwAGAwMDAwAAAAwAAA8ACQAbAAAMABwANAAARNTMVNTUzFTU1ITUhEcDA/
oACQAPAwMDAwMDAwMD+gAAAAAIAAAPAAkAGwAADAA8AABM1MxUlETM1MxUzESM1IxXAwP6AwMDAwMADwMDA
wAGAwMD+gMDAAAAAAwAAA8ACQAbAAAMADQARAAARNTMVAzUzNTM1MxEjFQM1MxXAwMDAwMDAwAVAwMD+gMD
AwP6AwAJAwMAAAgAAA8ADwAkAAAMAGwAAATUhFQMRMxUhNTMRIzUjNTM1IxUjNSMVMxUjFQMA/
cDAwAJAwMDAwMDAwMDABsDAwP0ABUDAwPrAwMDAwMDAwMAAAAAABQAAA8ADwAkAAAMABwATABcAGwAAEzUh
FTU1MxUhETMVIRUhFSEVIRUBNTMVJTUhFcACQMD8QMABgP6AAYD+gAJAwP0AAkADwMDAwMDAA8DAwMDAwAM
AwMDAwMAAAAAABAAAA8ADwAkAAAMABwALACUAABE1MxUDNTMVJTUzFQE1IzUzNSM1MxEhNSERIzUjFTMVIx
UzFSMRwMDAAkDA/cDAwMDA/oADwMDAwMDAwAPAwMABgMDAwMDA/cDAwMDAAYDA/
oDAwMDAwP6AAAAAAAEAAAPAA8AJAAARAAARESEVIRUhNTMRIzUhFSEVIRUDAP3AAkDAwP3AAkD9wAPABUDA
wMD9AMDAwMAAAAQAAAPAA8AJAAADAAsAEQAVAAATNSEVJREzFSEVIRURNSE1MxEBNSEVwAMA/
EDAAwD9AAJAwPxAAwADwMDAwAJAwMDAAkDAwP6AAYDAwAAAAgAAA8ADwAkAAAcACwAAAREhNSEVIREBNSEV
AYD+gAPA/oD9wAPAA8ADAMDA/
QAEgMDAAAQAAAPAA8AJAAADAAcADwATAAABETMRATUhFTU1ITUhNTMRATUhFQMAwPxAAwD9AAMAwPxAAwAD
wAGA/
oABgMDAwMDAwP3AAkDAwAAGAAADwAPACQAAAwAHAAsADwAdACEAAAERMxEBNTMVNTUzFSU1MxUBETMRMxUj
FTMVIxUhFQM1MxUDAMD9wMDA/oDA/cDAwMDAwAJAwMAEgAGA/oABgMDAwMDAwMDA/
EAFQP6AwMDAwMAEgMDAAAAADAAAA8AFQAkAAAMABwALAA8AEwAXABsAHwAjACcAKwAvAAATNTMVITUzFSU1
MxUzNTMVIREzESU1MxUlNTMVJTUhFSU1MxUFETMRATUhFSE1MxXAwAJAwP6AwMDA/EDAAYDA/cDA/
cABgP3AwAJAwP0AAYABgMADwMDAwMDAwMDAwAGA/
oDAwMDAwMDAwMDAwMDAAYD+gAGAwMDAwAAAAAQAAAPAAwAJAAADAA8AEwAXAAABNSEVJTUjNTMRMxEzFSMV
ExEzEQE1MxUBgAGA/cDAwMDAwMDA/oDAA8DAwMDAwAJA/
cDAwAGAAkD9wAJAwMAAAAcAAAPABgAJAAADAAcACwAPABcAHwAjAAABNSEVATUzFSURMxEzETMRAREzFTMV
IxEhESM1MxEzEQE1MxUDwAJA/oDA/oDAwMD6AMDAwAGAwMDAAYDABIDAwAGAwMDAAYD+gAGA/
oD9AAVAwMD8QAMAwAGA+sAEgMDAAAAFAAADwAVACQAAAwAJAA0AEQAVAAATNSEVAREhESEVBREzESERMxEB
NSEVwAPA/QACQP6A/cDAA8DA+4ADwAPAwMABgAJA/oDAwAPA/
EADwPxAA8DAwAAABAAABgAFQAkAAAMABwAPABsAABE1IRU1NTMVJTUzNSEVIxUBETMVMzUzESMRIxEBgMD9
wMABgMABgMDAwMDABgDAwMDAwMDAwMDA/oADAMDA/
QABgP6AAAIAAAYABUAJAAAHABMAABMRIzUhFSMRIREzFTM1MxEjESMRwMACQMABgMDAwMDABgACQMDA/
cADAMDA/
QABgP6AAAAAAwAAA8AEgAhAAAMADQARAAATNSEVJREzESERMxEhFRE1IRXAA8D7gMADAMD8QAMAA8DAwMAD
AP6AAYD9wMADAMDAAAAGAAADwAYACQAAAwAHAAsAFQAhACUAAAE1MxUhETMRJREzESU1ITUzETMRIRElNTM
1IzUzNTMRMxUBNTMVAYDAAkDA/QDAAkD9wMDAAYD6AMDAwMDAAkDAA8DAwAGA/oDAAYD+gMDAwAGA/
oD+gMDAwMDA/
cDAAkDAwAAACQAAA8AGAAkAAAMABwALABUAGQAdACEALQAxAAABNTMVNREzETc1MxUDNTM1MzUzESMVATUz
FTM1MxUlETMRBTUzNSM1MzUzETMVATUzFQGAwMDAwMDAwMDA/
cDAwMD+gMD7gMDAwMDAAkDAA8DAwMABgP6AwMDA/oDAwMD+gMACQMDAwMDAAYD+gMDAwMDA/
cDAAkDAwAALAAADwAhACQAAAwAHAAsADwATABcAIwAnACsANwA7AAABNTMVITUzFSURMxEhETMRMxEzEQE1
MxURNTM1IzUzNTMRMxUTNTMVJREzEQU1MzUjNTM1MxEzFQE1MxUBgMAEgMD6wMADAMDAwPrAwMDAwMDAwMD
8QMD7gMDAwMDAAkDAA8DAwMDAwAGA/oABgP6AAYD+gAGAwMD9wMDAwMD9wMACQMDAwAGA/
oDAwMDAwP3AwAJAwMAABgAAA8AGAAkAAAMABwALABkAJQApAAABNTMVITUhFSURMxEhNSM1ITUzETMRMxUz
EQE1MzUjNTM1MxEzFQE1MxUBgMABgAGA/QDAAkDA/
oDAwMDA+gDAwMDAwAJAwAPAwMDAwMABgP6AwMDAAYD+gMD+gAGAwMDAwP3AwAJAwMAAAAAACAAAA8AGAAkA
AAMABwALABMAFwAlACkALQAAATUzFSE1IRUlETMRATUzNTMVMxUDNTMVATUjNSE1MxEzETMVMxEBNSEVITU
zFQGAwAGAAYD9AMD9AMDAwMDAAwDA/
oDAwMDA+gABgAMAwAPAwMDAwMABgP6AAYDAwMDAAYDAwP0AwMDAAYD+gMD+gAPAwMDAwAAAAAcAAAPABgAJ
AAADAAcACwAPABsAJwArAAABNTMVITUhFTU1MxUhETMRNzUjNTMRMxEhFSMVJTUzNSM1MzUzETMVATUzFQG
AwAGAAYDA/
EDAwMDAwAGAwPrAwMDAwMACQMADwMDAwMDAwMABgP6AwMDAAYD+gMDAwMDAwMD9wMACQMDAAAkAAAPABgAJ
AAADAAcACwAPABcAGwAnACsALwAAATUzFSE1IRU1NTMVIREzEQE1MzUzFTMVAzUzFQE1IzUzETMRIRUjFQE
1IRUhNTMVAYDAAYABgMD8QMD9AMDAwMDAAYDAwMABgMD6wAGAAwDAA8DAwMDAwMDAAYD+gAGAwMDAwAGAwM
D9wMDAAYD+gMDAAwDAwMDAAAAACAAAA8AGAAkAAAMABwALAA8AEwAfACkALQAAATUzFSE1IRU1NTMVIREzE
QE1IRUFNSM1MxEzESEVIxUBNSM1IzUhFTMRATUzFQGAwAGAAYDA/EDA/QABgAJAwMDAAYDA/
EDAwAGAwAJAwAPAwMDAwMDAwAGA/oABgMDAwMDAAYD+gMDAAYDAwMDA/
oABgMDAAAAAAAcAAAPABgAJAAADAAcACwAPABsAJwArAAABNTMVITUhFTU1MxUhETMRNzUjNTMRMxEhFSMV
JTUhETMVMzUjNSERATUzFQGAwAGAAYDA/EDAwMDAwAGAwPxA/oDAwMABgAJAwAPAwMDAwMDAwAGA/
oDAwMABgP6AwMDAwAGAwMDA/
QACQMDAAAAJAAADwAYACQAAAwAHAAsADwATAB0AIQAtADEAAAE1MxUhNTMVNTUzFSERMxERNTMVEREzNSEV
IxUjFQMRMxEFNTM1IzUzNTMRMxUBNTMVAYDAAkDAwPxAwMDAAYDAwMDA+4DAwMDAwAJAwAPAwMDAwMDAwAG
A/oABgMDA/oABgMDAwMACQAGA/
oDAwMDAwP3AwAJAwMAAAAsAAAPABgAJAAADAAcACwAPABMAFwAhACUAKQAvADMAAAE1MxUhNTMVNTUzFSER
MxEBNSEVITUzFRERMzUhFSMVIxUBNTMVIREzESURIRUjFSU1MxUBgMACQMDA/EDA/QABgAGAwMABgMDA/
QDAAYDA+4ACQMADAMADwMDAwMDAwMABgP6AAYDAwMDA/
oABgMDAwMACQMDAAYD+gMABgMDAwMDAAAAAAAgAAAPABgAJAAADAAcACwAPABsAHwArAC8AAAE1MxUhNTMV
JREzERE1MxURETM1MxUzESM1IxUDETMRBTUzNSM1MzUzETMVATUzFQGAwAJAwP0AwMDAwMDAwMDA+4DAwMD
AwAJAwAPAwMDAwMABgP6AAYDAwP6AAYDAwP6AwMACQAGA/
oDAwMDAwP3AwAJAwMAAAAAJAAADwAYACQAAAwAHAAsADwATAB8AIwAtADEAAAE1MxUhNTMVJREzEQE1IRUh
NTMVEREzNTMVMxEjNSMVAxEzESE1IzUjNSEVMxEBNTMVAYDAAkDA/QDA/
QABgAGAwMDAwMDAwMD9AMDAAYDAAkDAA8DAwMDAwAGA/
oABgMDAwMD+gAGAwMD+gMDAAkABgP6AwMDAwP6AAYDAwAAKAAADwAYACQAAAwAHAAsADwATAB8AIwAnAC0A
MQAAATUzFSE1MxUlETMRATUhFSE1MxURETM1MxUzESM1IxUBNTMVIREzESURIRUjFSU1MxUBgMACQMD9AMD
9AAGAAYDAwMDAwMD9AMABgMD7gAJAwAMAwAPAwMDAwMABgP6AAYDAwMDA/oABgMDA/
oDAwAJAwMABgP6AwAGAwMDAwMAACQAAA8AGAAkAAAMABwALAA8AGwAfACMAKQAtAAABNTMVITUzFSURMxER
NTMVEREzNTMVMxEjNSMVAREzESURMxElNSE1IRElNTMVAYDAAkDA/QDAwMDAwMDA/EDAAkDA/
QD+gAJAAkDAA8DAwMDAwAGA/oABgMDA/oABgMDA/oDAwAGAAYD+gMABgP6AwMDA/
oDAwMAAAAAFAAADwAVACQAAAwAHABMAFwAbAAABNTMVJTUzFSU1IzUzNTMVIRUhFRE1MxU1NTMVAkDA/
oDA/
oDAwMADwPxAwMADwMDAwMDAwMDAwMDAwAJAwMDAwMAABQAAA8AFQAkAAAMABwALAA8AGwAAETUzFSE1MxUl
NTMVITUzFQERIzUzNTMVMxUjEcADwMD7gMACQMD9wMDAwMDABgDAwMDAwMDAwMD9AAPAwMDAwPxAAAUAAAP
ABUAJAAADAAcAEwAXABsAAAE1MxU1NTMVNTUhNSE1MxUzFSMVATUzFSU1MxUCQMDA/
EADwMDAwP6AwP6AwAPAwMDAwMDAwMDAwMDAAkDAwMDAwAAFAAADwAVACQAAAwAHAAsADwAbAAATNTMVITUz
FSU1MxUhNTMVATUjNTMRMxEzFSMVwMACQMD7gMADwMD9AMDAwMDABUDAwMDAwMDAwMD9wMDAA8D8QMDAAAA
AAAUAAASABUAIQAADAAcAGwAfACMAAAE1MxUzNTMVJTUjNTM1MxUhNTMVMxUjFSM1IRURNTMVMzUzFQGAwM
DA/
QDAwMACQMDAwMD9wMDAwASAwMDAwMDAwMDAwMDAwMDAAkDAwMDAAAAABQDAA8AEgAkAAAMABwALAA8AIwAA
EzUzFSE1MxUBNTMVITUzFQE1IzUzESM1MzUzFTMVIxEzFSMVwMACQMD8QMACQMD9wMDAwMDAwMDAwAVAwMD
AwAGAwMDAwP0AwMACQMDAwMD9wMDAAAAABgAAA8AFQAkAAAMABwALAA8AEwAbAAABNTMVJTUzFSU1MxUlNT
MVJTUzFQURIRUhFSMRBIDA/oDA/oDA/oDA/oDA/
cADAP6AwAPAwMDAwMDAwMDAwMDAwMDAAwDAwP6AAAAAAAYAAAPABUAJAAADAAcACwAPABMAGwAAETUzFTU1
MxU1NTMVNTUzFTU1MxUXESM1ITUhEcDAwMDAwMD+gAMAA8DAwMDAwMDAwMDAwMDAwMABgMDA/
QAAAAAGAAADwAVACQAAAwAHAA8AEwAXABsAAAE1MxUlNTMVAzUhNTMRMxEBNTMVJTUzFSU1MxUDAMD+gMDA
AYDAwPxAwP6AwP6AwAVAwMDAwMD9wMDAAYD9AAMAwMDAwMDAwMAAAAAABgAAA8AFQAkAAAMACwAPABMAFwA
bAAABNTMVAREzETMVIRUDNTMVNTUzFTU1MxU1NTMVAYDA/cDAwAGAwMDAwMAFQMDA/
oADAP6AwMACQMDAwMDAwMDAwMDAAAANAAADwAVACQAAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwAAETUz
FTM1IRUlNTMVITUzFSU1MxU1NTMVBREzEQE1MxUTETMRATUzFSE1MxUlNSEVMzUzFcDAAkD9AMACQMD9AMD
A/
QDAAkDAwMD7gMACQMD9AAJAwMADwMDAwMDAwMDAwMDAwMDAwMACQP3AAYDAwP6AAkD9wAJAwMDAwMDAwMDA
AAAEAAADwAPACQAABwALAA8AEwAAEREzESERMxEBETMRMxEzEQE1MxXAAkDA/QDAwMD+gMADwAMA/
cACQP0AAwABgP6AAYD+gAGAwMAABgAAA8AGAAkAAAMABwALAA8AEwAXAAABETMRATUzFSU1MxUFETMREREz
ERE1IRUBgMD+gMD+gMABgMDAAkADwAGA/oABgMDAwMDAwAGA/oABgAGA/
oABgMDAAAAHAAAEgAVAB4AAAwAHAAsADwATABcAGwAAEzUhFTM1IRUlETMRIREzESERMxEBNSEVMzUhFcAB
gMABgPuAwAGAwAGAwPuAAYDAAYAEgMDAwMDAAYD+gAGA/
oABgP6AAYDAwMDAAAAAAAMAAAMAA8AJAAADAAcACwAAETUhFTURMxERNSEVAYDAAYADAMDAwASA+4AEgMDA
AAMAAAPAA8AGwAADAAcACwAAETUzFSE1MxUBNTMVwAJAwP3AwAPAwMDAwAJAwMAAAAgAAAPABIAHgAADAAc
ACwAPABMAFwAbAB8AABE1MxUhNSEVJTUhFSE1MxUBNTMVITUhFSU1IRUhNTMVwAGAAYD9AAGAAYDA+4DAAY
ABgP0AAYABgMADwMDAwMDAwMDAwAGAwMDAwMDAwMDAAAEAAAPAA8AJAAATAAATESM1ITUhNSERMxEzFSEVI
RUhEcDAAYD+gAJAwMD+gAGA/
cADwAGAwMDAAYD+gMDAwP6AAAAABgAAA8AEgAkAAAMABwALAA8AEwAXAAARNSEVATUhFSU1IRUlNSEVNTUh
FTU1IRUEgP6AAYD9AAGA/
QABgAGAAYADwMDAAYDAwMDAwMDAwMDAwMDAwAAAAAYAAAPABIAJAAADAAcACwAPABMAFwAAETUhFQE1IRU1
NSEVNTUhFSU1IRUlNSEVBID7gAGAAYABgP0AAYD9AAGAA8DAwAGAwMDAwMDAwMDAwMDAwMAAAAABAAAFQAJ
AB4AAAwAAEREhEQJABUACQP3AAAAAAgAABUACQAeAAAMABwAAATUjFQcRIREBgMDAAkAGAMDAwAJA/
cAAAAEAAAPAA8AGwAALAAARETM1MzUzFTMVMxHAwMDAwAPAAYDAwMDA/oAAAAAABAAAA8A
DwAbAAAcACwAPABMAABERMxUhNTMRATUzFTM1MxUlNTMVwAJAwP0AwMDA/oDAA8ABgMDA/
oABgMDAwMDAwMAAAAAAAQAAA8ADAAkAAA8AABERMxUzFTMVMxUjFSMVIxXAwMDAwMDAA8AFQMDAwMDAwMAA
BAAAA8ADAAkAAAMABwALABcAAAE1MxU1NTMVJTUzFQERMxUzFSMRMxUjFQGAwMD+gMD9wMDAwMDABUDAwMD
AwMDAwP0ABUDAwP3AwMAAAAAIAAADwASACEAAAwAHAAsADwATABcAGwAfAAABNSEVJTUzFSE1MxUlETMRIR
EzEQE1MxUhNTMVJTUhFQGAAYD9wMABgMD8QMADAMD8QMABgMD9wAGAA8DAwMDAwMDAwAGA/
oABgP6AAYDAwMDAwMDAAAAAAAEAAAPABIAIQAATAAABNSM1IxEzNTM1IRUzFTMRIxUjFQGAwMDAwAGAwMDA
wAPAwMABgMDAwMD+gMDAAAQAAAPAA8AJAAAPABMAFwAbAAABNSE1ITUjNSEVIxUhFSEVAREzESERMxEBNSE
VAYD+gAGAwAJAwAGA/oD9wMACQMD9AAJAA8DAwMDAwMDAwAMAAYD+gAGA/
oABgMDAAAQAAAPABIAIQAADAAcADQAVAAATNSEVJREzESERITUhERM1IzUjNSERwAGA/
cDAAYD+gAJAwMDAAkADwMDAwAGA/oABgMD9wAGAwMDA/
cAAAQAAA8ADAAkAAAsAABM1IzUzNSERMxEjFcDAwAGAwMADwMDAwAMA+4DAAAABAAADwASACQAAEwAAEzUj
NTM1IREzFTMVMxEjNSMRIxXAwMABgMDAwMDAwAPAwMDAAwDAwP6AwP3AwAACAAADwASACQAABQAVAAABNTM
RIREBNSM1MzUzESERIxUjNSEVAwDA/oD+gMDAwAMAwMD+gAVAwAGA/
cD+gMDAwAMA+4DAwMAAAAAAAwAAA8ADAAkAAAMABwARAAABETMRATUzFQERMxEzFSMVIRUCQMD+gMD9wMDA
wAGABIABgP6AAYDAwP3ABUD9AMDAwAACAAADwAMACQAACQATAAABESM1MxEjNSERJREzETMVIxEzFQJAwMD
AAYD9AMDAwMADwAGAwAGAwPuAwASA/oDA/
oDAAAIAAAPAA8AJAAADAB8AAAE1IxUDNSM1MzUjNTMRMxUzETMVMxUjFTMVIxEjNSMRAkDAwMDAwMDAwMDA
wMDAwMAGAMDA/cDAwMDAAYDAAYDAwMDA/oDA/
oAAAAAAAwAAA8ABgAkAAAMABwALAAATETMRAREzERERMxHAwP6AwMADwAGA/oABgAJA/cACQAGA/
oAAAAADAAADwAGACQAAAwAHAAsAABERMxERETMRAREzEcDA/
oDAA8ABgP6AAYACQP3AAkABgP6AAAAAAAMAAAPABIAJAAANABEAFQAAExEjNTM1MxUhESMRIRERNSEVMzUz
FcDAwMADAMD9wAGAwMADwAMAwMDA/
EADAP0ABIDAwMDAAAMAAAPABUAJAAADAA8AFQAAATUzFSERIzUzNTMVMxUjESURITUhEQSAwPuAwMDAwMAC
QP3AAwADwMDAAwDAwMDA/
QDAA8DA+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAFAAAACwAAABDAAAAXAAAAHwAAACDAAAAlgA
AAKgAAAC6AAAAxwAAAM4AAADUAAAA2wAAAO0AAAEFAAABEAAAASgAAAFDAAABVQAAAWgAAAF9AAABjQAAAa
gAAAG/
AAAByQAAAdMAAAHqAAAB9AAAAgsAAAIhAAACNQAAAkQAAAJXAAACagAAAncAAAKDAAACjgAAAp8AAAKrAAA
CtgAAAsMAAALaAAAC4gAAAvQAAAMGAAADFwAAAyUAAAM7AAADTQAAA2MAAANtAAADegAAA44AAAOgAAADvg
AAA9EAAAPlAAAD7gAABAIAAAQLAAAEHAAABCIAAAQrAAAEOwAABE0AAARgAAAEcQAABIIAAASQAAAEogAAB
LMAAAS9AAAEzQAABOIAAATsAAAE/
gAABQoAAAUbAAAFLgAABUAAAAVQAAAFYgAABXAAAAV7AAAFjgAABZsAAAW4AAAFyAAABdkAAAXtAAAF9AAA
BgcAAAYWAAAGIAAABjEAAAZCAAAGWAAABnIAAAZ8AAAGlwAABqAAAAa6AAAGywAABuAAAAbpAAAHAgAABwg
AAAcXAAAHJwAABzUAAAdBAAAHSgAAB1kAAAdlAAAHawAAB3MAAAd9AAAHkAAAB6UAAAfIAAAH6gAACA8AAA
gkAAAIOAAACEsAAAhfAAAIdgAACIoAAAicAAAIrgAACMUAAAjWAAAI5wAACPoAAAkMAAAJHAAACSwAAAk8A
AAJTQAACV8AAAl5AAAJjwAACaUAAAm7AAAJ1AAACesAAAn+AAAKHAAACjAAAApDAAAKWQAACmwAAAqEAAAK
kwAACqgAAAq+AAAK1AAACu0AAAsIAAALHgAACzUAAAtRAAALaAAAC38AAAuVAAALrgAAC8QAAAvRAAAL3QA
AC+wAAAv4AAAMEwAADCkAAAxAAAAMVwAADHEAAAyMAAAMowAADLAAAAzOAAAM3wAADPAAAA0EAAANFQAADS
sAAA0+AAANTgAADWAAAA10AAANhQAADZsAAA2vAAANwwAADdsAAA30AAAODAAADigAAA4+AAAOVAAADm4AA
A6KAAAOnwAADrMAAA7FAAAO2gAADukAAA79AAAPDQAADyMAAA8yAAAPRgAAD1YAAA9rAAAPfwAAD5gAAA+v
AAAPygAAD94AAA/
2AAAQCgAAEB8AABAzAAAQSQAAEF0AABB2AAAQgwAAEJcAABCrAAAQvAAAEMoAABDUAAAQ4QAAEO0AABD7AA
ARBgAAERQAABEbAAARMAAAEUcAABFdAAARcwAAEY4AABGmAAARvAAAEcoAABHXAAAR4gAAEe8AABH7AAASC
AAAEhQAABIhAAASMQAAEj8AABJXAAASaAAAEn0AABKMAAASpwAAErsAABLLAAAS4AAAEu8AABMDAAATFwAA
EyoAABNBAAATWgAAE3YAABOHAAAToQAAE7gAABPNAAAT4gAAE/
UAABQOAAAUJgAAFEEAABRZAAAUdQAAFJAAABSqAAAUwAAAFN4AABT5AAAVBwAAFRcAABUpAAAVOwAAFUkAA
BVbAAAVcAAAFYUAABWWAAAVpAAAFbcAABXIAAAV2wAAFe0AABYGAAAWHAAAFi0AABY8AAAWVgAAFmwAABaH
AAAWoAAAFrgAABbSAAAW6AAAFv8AABcTAAAXLwAAF0gAABdUAAAXYgAAF3IAABeDAAAXlAAAF6gAABe3AAA
XywAAF+AAABf1AAAYDgAAGCkAABhJAAAYZwAAGHwAABiRAAAYrQAAGMYAABjbAAAY8wAAGQsAABksAAAZTg
AAGXIAABmLAAAZoQAAGa8AABnAAAAZzQAAGd4AABnuAAAZ+gAAGgYAABoMAAAaFQAAGh4AABonAAAaLQAAG
jcAABo+AAAaSwAAGlkAABpiAAAaawAAGnUAABp8AAAaiAAAGpsAABqhAAAasAAAGsAAABrOAAAa4wAAGvkA
ABsTAAAbIwAAGzIAABtFAAAbTQAAG2AAABtsAAAbgAAAG4wAABugAAAbqwAAG8IAABvWAAAb6AAAG/
oAABwKAAAcGwAAHCUAABwzAAAcSAAAHFIAABxlAAAcewAAHJkAAByrAAAcwQAAHNIAABzqAAAc/
wAAHRUAAB0kAAAdLgAAHUUAAB1WAAAdawAAHX8AAB2UAAAdpgAAHbwAAB3IAAAd2wAAHeIAAB34AAAeCAAA
HhcAAB4rAAAeQgAAHlMAAB5dAAAebgAAHn8AAB6PAAAemQAAHqYAAB66AAAe2AAAHuoAAB79AAAfCgAAHx0
AAB8uAAAfPwAAH1YAAB9rAAAffAAAH44AAB+gAAAfrgAAH8MAAB/ZAAAf5AAAH/
UAACACAAAgFQAAICkAACA4AAAgVQAAIG0AACCAAAAgjAAAIJsAACCrAAAgvgAAIMYAACDbAAAg5wAAIQAAA
CEWAAAhKAAAIUAAACFXAAAhYgAAIXQAACGAAAAhkQAAIZsAACGpAAAhvAAAIcYAACHZAAAh7wAAIg0AACIZ
AAAiJgAAIjIAACJBAAAiUQAAImMAACJyAAAiiAAAIp0AACKuAAAivgAAItQAACLmAAAi7gAAIwMAACMUAAA
jLQAAIz8AACNRAAAjaAAAI34AACOJAAAjmwAAI6cAACO4AAAjwgAAI9UAACPoAAAj8gAAJAIAACQgAAAkPQ
AAJEkAACRWAAAkYgAAJHEAACSAAAAkkQAAJJ8AACS1AAAkygAAJNsAACTyAAAlCAAAJR8AACUtAAAlQgAAJ
VQAACVeAAAlawAAJXsAACWNAAAloQAAJbUAACXLAAAl4wAAJfkAACYFAAAmGAAAJi4AACZBAAAmUwAAJmcA
ACZ7AAAmlQAAJq8AACbAAAAm0gAAJuIAACb5AAAnAgAAJwsAACcYAAAnJQAAJ0EAACdcAAAndQAAJ4oAACe
jAAAnuQAAJ80AACfhAAAn+QAAKBAAACgfAAAoLgAAKEQAAChaAAAobQAAKIAAACiXAAAorgAAKM4AACjtAA
Ao/
AAAKQsAACkcAAApLQAAKToAAClLAAApUgAAKXAAACmPAAApnAAAKakAACm5AAApyQAAKdgAACnnAAAp+wAA
Kg0AACoUAAAqKAAAKj4AACpQAAAqbAAAKn0AACqOAAAqowAAKrgAACrQAAAq5wAAKv4AACsVAAArKAAAKzo
AACtWAAArbAAAK4MAACuXAAArsAAAK8YAACveAAAr8QAALAgAACwbAAAsMgAALEUAACxXAAAscAAALIcAAC
yQAAAsmQAALKIAACysAAAsuwAALMoAACzZAAAs6AAALPMAAC0CAAAtCQAALRMAAC0gAAAtPAAALUcAAC1bA
AAtaAAALXwAAC2JAAAtlQAALacAAC23AAAtwQAALc0AAC3aAAAt6QAALfYAAC4EAAAuEwAALiMAAC4tAAAu
OwAALkcAAC5TAAAuYAAALm8AAC58AAAuigAALpkAAC6uAAAuxgAALuIAAC7xAAAvBQAALxIAAC8lAAAvQQA
AL2kAAC9+AAAvnQAAL7MAAC/JAAAv2gAAL+sAADAKAAAwMAAAMF4AADB/
AAAwpAAAMMUAADDrAAAxEAAAMTIAADFYAAAxggAAMacAADHOAAAx9gAAMhwAADIyAAAySAAAMl4AADJ1AAA
yjwAAMqoAADLDAAAy2QAAMvIAADMJAAAzMwAAM0YAADNdAAAzdwAAM4MAADOPAAAzqgAAM7sAADPRAAAz5w
AAM+4AADP4AAA0AwAANBUAADQhAAA0NQAANFIAADRhAAA0eQAANI0AADSYAAA0pwAANLoAADTLAAA03AAAN
PMAADUBAAA1DwAANSEAADU0AABAAAAAgAANpQQ/
l8PPPUACwYAAAAAANA0HEwAAAAA0DOsHP6AAkAIQAqAAAAACAACAAEAAAAAAYAAAAAAAAABgAAAAYAAAAGA
AAADAAAABIAAAASAAAAEgAAABIAAAAGAAAADwAAAA8AAAAPAAAAEgAAAAYAAAASAAAABgAAABIAAAASAAAA
EgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAABgAAAAYAAAAPAAAAEgAAAA8AAAASAAAAFQA
AABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAADAAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAAB
IAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAADAAAABIAAAAMAAAAEgAAABIAA
AAJAAAAEgAAABIAAAASAAAAEgAAABIAAAAPAAAAEgAAABIAAAAGAAAAEgAAAA8AAAAJAAAAEgAAABIAAAAS
AAAAEgAAABIAAAASAAAAEgAAAAwAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAPAAAABgAAAA8AAAAVAAA
ABgAAAA8AAAASAAAAEgAAABIAAAAGAAAAEgAAAA8AAwAYAAAADAAAAA8AAAAPAAAAGAAAABIAAAAMAAAAEg
AAAAwAAAAMAAAACQAAABIAAAASAAAABgAAAAwAAwAMAAAADAAAAA8AAAAbAAAAGwAAABsAAAASAAAAEgAAA
BIAAAASAAAAEgAAABIAAAASAAAAHgAAABIAAAASAAAAEgAAABIAAAASAAAADAAAAAwAAAAMAAAADAAAABUA
AAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAPAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAA
SAAAAEgAAABIAAAASAAAAEgAAABIAAAAeAAAAEgAAABIAAAASAAAAEgAAABIAAAAGA/0ACQAAAAkD/
QAJA/
0AEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAE
gAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAA
ABgAAAAVAAAAFQAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABI
AAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABUAAAAPA/0ADwP9AAwAAAAJA/0ADAAAAAkD/
QAMAAAACQAAAAwAAAAGAAAAHgAAABgAAAASAAAAFQAAABIAAAAPAAAADwAAABIAAAAJAAAAEgAAAAkAAAAS
AAAADAAAABIAAAAMAAAAFQAAAAwAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAYAAAAEgAAABIAAAASAAA
AEgAAABIAAAASAAAAEgAAABIAAAAeAAAAHgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEg
AAABIAAAASAAAAEgAAABIAAAASAAAAEgAAAAwAAAASAAAAEgAAABIAAAAMAAAAEgAAABIAAAASAAAAEgAAA
BIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIA
AAASAAAAEgAAABIAAAAPAAAAEgAAAA8AAAASAAAAEgAAABIAAAASAAAAEgAAABUAAAAVAAAAEgAAABIAAAA
SAAAADwAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAAB4AAAAeAAAAEgAAABIAAAASAAAAEgAAABIAAAAMAA
AAEgAAABIAAAASAAAADAAAAAwAAAAMAAAACQAAAAkAAAAMAAAACQADAAwAAAAJAAAAEgAAAA8AAAAJAAAAC
QAAAAYAAAAGAAAAEgAAABgAAAAGAAAAGAAAABgAAAASAAAAGAAAABgAAAAYAAAADwP9ABIAAAASAAAAEgAA
ABIAAAASAAAAEgAAABIAAAASAAAADAAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABI
AAAASAAAAEgAAABIAAAASAAAAEgAAAAwAAAASAAAAEgAAABIAAAASAAAABgAAABIAAAASAAAAEgAAABIAAA
ASAAAAEgAAABIAAAASAAAADwAAAAYAAAAPAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASA
AAAEgAAABIAAAASAAAAEgAAABIAAAASAAAADAAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAVAAAA
EgAAABIAAAASAAAADAAAAAwAAAASAAAAHgAAAB4AAAAVAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgA
AABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAAB
IAAAASAAAAEgAAABIAAAAVAAAAEgAAABIAAAAVAAAAFQAAABgAAAASAAAAEgAAABIAAAASAAAAEgAAABIAA
AASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAAA8AAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAS
AAAAEgAAABIAAAAYAAAAEgAAABUAAAASAAAAEgAAABUAAAASAAAAFQAAAA8AAAASAAAAEgAAABIAAAASAAA
AEgAAABUAAAASAAAAEgAAABIAAAAGAAAADAAAABIAAAAbAAAAGwAAABUAAAAPAAAAEgAAABIAAAASAAAAFQ
AAABUAAAASAAAAEgAAABIAAAASAAAAFQAAABUAAAAVAAAAEgAAABIAAAASAAAAEgAAABIAAAAVAAAAFQAAA
BUAAAAVAAAAEgAAABIAAAAVAAAADwAAABIAAAASAAAAFQAAABIAAAAVAAAAFQAAABIAAAASAAAAEgAAABIA
AAASAAAAEgAAABUAAAAVAAAAFQAAABUAAAASAAAAEgAAABIAAAASAAAABgAAABIAAAASAAAAFQAAABUAAAA
SAAAAEgAAABUAAAAVAAAAFQAAABIAAAAGAAAAEgAAABIAAAAeAAAAHgAAABIAAAASAAAAEgAAABIAAAASAA
AAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAE
gAAABIAAAASAAAAEgAAABIAAAAJAAAACQAAAAkAAAAJAAAADwAAAA8AAAAPAAAADwAAAAwAAAAMAAAACQAA
AAwAAAASAAAAGAAAAAwAAAASAAAADAAAABIAAAAJAAAACQAAAAwD+gAMAAAABgAAAAwAAAAMAAAADAAAAAw
AAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAASAAAAEgAAABIAAA
ASAAAAEgAAABIAAAASAAAAEgAAABgAAAAPAAAAGwAAABgAAAAYAAAAGAAAABUAAAAbAAAAGwAAACQAAAAbA
AAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAYAAAAGAAAABgAAAAYAAAA
GAAAABUAAwAYAAAAGAAAABgAAAAYAAAAGAAAABIAAAAbAAAAGAAAABIAAAASAAAAFQAAABIAAAAVAAAAFQA
AAAwAAAAMAAAAEgAAABIAAAAPAAAADwAAABUAAAAVAAAAEgAAABUAAAAPAAAAFQAAABUAAAAPAAAADwAAAB
IAAAAJAAAACQAAABUAAAAYAAAAAAQAB//
8AAgAAAAEAAAAAAAEAAAAOAAAAGAAgAAAAAgABAAEC1AABAAQAAAACAAAAAQAAAAEAAAAAABoBPgABAAAAA
AAAABsAAAABAAAAAAABAAsAGwABAAAAAAACAAcAJgABAAAAAAADAA8ALQABAAAAAAAEAA8APAABAAAAAAAF
AAsASwABAAAAAAAGABMAVgABAAAAAAAIABYAaQABAAAAAAAJAAwAfwABAAAAAAALABYAiwABAAAAAAAMABY
AoQABAAAAAAANACgAtwABAAAAAAATACkA3wADAAEECQAAADYBCAADAAEECQABABYBPgADAAEECQACAA4BVA
ADAAEECQADAB4BYgADAAEECQAEAB4BgAADAAEECQAFABYBngADAAEECQAGACYBtAADAAEECQAIACwB2gADA
AEECQAJABgCBgADAAEECQALACwCHgADAAEECQAMACwCSgADAAEECQANAFACdgADAAEECQATAFICxkNvcHly
aWdodCBBbmRyZXcgVHlsZXIgMjAxNE1pbmVjcmFmdGlhUmVndWxhck1pbmVjcm
FmdGlhIDIuME1pbmVjcmFmdGlhIDIuMFZlcnNpb24gMi4wTWluZWNyYWZ0aWEtUmVndWxhcmh0dHA6Ly9hb
mRyZXd0eWxlci5uZXRBbmRyZXcgVHlsZXJodHRwOi8vYW5kcmV3dHlsZXIubmV0aHR0cDovL2FuZHJld3R5
bGVyLm5ldENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gU2hhcmUgQWxpa2VGaXZlIGJpZyBxdWFja2l
uZyB6ZXBoeXJzIGpvbHQgbXkgd2F4IGJlZABDAG8AcAB5AHIAaQBnAGgAdAAgAEEAbgBkAHIAZQB3ACAAVA
B5AGwAZQByACAAMgAwADEANABNAGkAbgBlAGMAcgBhAGYAdABpAGEAUgBlAGcAdQBsAGEAcgBNAGkAbgBlA
GMAcgBhAGYAdABpAGEAIAAyAC4AMABNAGkAbgBlAGMAcgBhAGYAdABpAGEAIAAyAC4AMABWAGUAcgBzAGkA
bwBuACAAMgAuADAATQBpAG4AZQBjAHIAYQBmAHQAaQBhAC0AUgBlAGcAdQBsAGEAcgBoAHQAdABwADoALwA
vAGEAbgBkAHIAZQB3AHQAeQBsAGUAcgAuAG4AZQB0AEEAbgBkAHIAZQB3ACAAVAB5AGwAZQByAGgAdAB0AH
AAOgAvAC8AYQBuAGQAcgBlAHcAdAB5AGwAZQByAC4AbgBlAHQAaAB0AHQAcAA6AC8ALwBhAG4AZAByAGUAd
wB0AHkAbABlAHIALgBuAGUAdABDAHIAZQBhAHQAaQB2AGUAIABDAG8AbQBtAG8AbgBzACAAQQB0AHQAcgBp
AGIAdQB0AGkAbwBuACAAUwBoAGEAcgBlACAAQQBsAGkAawBlAEYAaQB2AGUAIABiAGkAZwAgAHEAdQBhAGM
AawBpAG4AZwAgAHoAZQBwAGgAeQByAHMAIABqAG8AbAB0ACAAbQB5ACAAdwBhAHgAIABiAGUAZAAAAAAAAw
AAAAMAAAAeAAEAAAAAAyYAAwABAAAFMAAAAAQDCAAAAK4AgAAGAC4AfgCsAX8BgwGPAZIBtwHrAe8B/
wIbAjcCWQKSAscCywLdA3UDfgOKA4wDoQPOA9cEXwRjBHUEkwSdBKMEqwSzBLsEwgTKBM8E1QTZBOkE8R6F
Hp4e8yAjICYgMCAzIDYgOiBEIHEgeSCJIKkgrCCuILEgtCC6IQUhEyEXISAhIiEuIV4hmSIGIhoiHiIrIjQ
iSCJgImUloSWzJbclyyXPJkAmQiZrJm8n6fsC//
8AAAAgAKEArgGCAY8BkgG1AeQB7gH6AhgCNwJZApICxgLJAtgDdAN+A4QDjAOOA6MD1wQABGIEcgSKBJYEo
ASqBK4EtgTABMUEzQTSBNgE4gTsHoAenh7yIBggJiAwIDIgNSA5IEQgcCB0IIAgqSCsIK4gsSC0ILghBSET
IRYhICEiIS4hUCGQIgUiGiIeIisiNCJIImAiZCWgJbIltiXLJc8mQCZCJmkmbSfo+wH////j/8H/wP+
+AAAAAP+P/2P/Yf9X/z8AAAAAAAD+mP6X/ov99QAA/egAAP3m/eUAAP21/bP9pf2R/Y/9jf2H/YX9g/1//
X39e/15/Xf9b/
1t498AAON04lAAAAAA4kTiQ+JBAADiDeIL4gUAAAAAAAAAAAAA4dwAAAAA4YMAAAAAAADhTuEd4LIAAAAAA
AAAAAAAAADgW90h3RHdDwAAAAAAAAAA3GLcYdrpB9IAAQAAAAAAAAAAAKYApgAAAAAAAAAAAAAAnACcAJwA
AAAAAAAAAACUAAAAkgAAAAAAjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAAAAaAB
oAAAAAAAAAGIAAAAAAAAAXABcAFwAXABcAAAAWgBaAAAAWABYAFgAAAAAAAAAUgBSAFIAUgBSAFIAAAAAAA
AAAABKAEoASgBKAAAAAAAAAAAAAAFCAUMBWwFcAV0BawFzAbQCZQJ0AnUCfAKPApACkQKSApMClwKYApsCn
AKdArkCugK7ArwCvQK+AscCyALJAsoABgIKAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAABAAIAAAAAAAAAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABA
AEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALw
AwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/
AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4
AXwBgAGEAAACEAIUAhwCJAJEAlgCcAKEAoACiAKQAowClAKcAqQCoAKoAqwCtAKwArgCvALEAswCyALQAtg
C1ALoAuQC7ALwCcABwAGMAZABoAnIAdgCfAG4AagKcAHQAaQK+AIYAmAK6AHECvwLAAGYAdQAAAAAAAAGlA
rsAawB6AY4ApgC4AH8AYgBtArkBQwK9ArgAbAB7AnQAAACAAIMAlQESARMAAAAAAmwCbQJoAmkAtwAAAL8B
OAJ8ApACegJ7AtMC1AJxAHcCagJuAnUAggCKAIEAiwCIAI0AjgCPAIwAkwCUAAAAkgCaAJsAmQDxAV4BZwB
vAWMBZAFlAHgBaAFmAV8ABAMIAAAArgCAAAYALgB+AKwBfwGDAY8BkgG3AesB7wH/
AhsCNwJZApICxwLLAt0DdQN+A4oDjAOhA84D1wRfBGMEdQSTBJ0EowSrBLMEuwTCBMoEzwTVBNkE6QTxHoU
enh7zICMgJiAwIDMgNiA6IEQgcSB5IIkgqSCsIK4gsSC0ILohBSETIRchICEiIS4hXiGZIgYiGiIeIisiNC
JIImAiZSWhJbMltyXLJc8mQCZCJmsmbyfp+wL//
wAAACAAoQCuAYIBjwGSAbUB5AHuAfoCGAI3AlkCkgLGAskC2AN0A34DhAOMA44DowPXBAAEYgRyBIoElgSg
BKoErgS2BMAExQTNBNIE2ATiBOwegB6eHvIgGCAmIDAgMiA1IDkgRCBwIHQggCCpIKwgriCxILQguCEFIRM
hFiEgISIhLiFQIZAiBSIaIh4iKyI0IkgiYCJkJaAlsiW2JcslzyZAJkImaSZtJ+j7Af///+P/wf/A/
74AAAAA/4//Y/9h/1f/PwAAAAAAAP6Y/pf+i/31AAD96AAA/eb95QAA/bX9s/2l/ZH9j/2N/Yf9hf2D/X/
9ff17/Xn9d/1v/
W3j3wAA43TiUAAAAADiROJD4kEAAOIN4gviBQAAAAAAAAAAAADh3AAAAADhgwAAAAAAAOFO4R3gsgAAAAAA
AAAAAAAAAOBb3SHdEd0PAAAAAAAAAADcYtxh2ukH0gABAAAAAAAAAAAApgCmAAAAAAAAAAAAAACcAJwAnAA
AAAAAAAAAAJQAAACSAAAAAACOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAAABoAG
gAAAAAAAAAYgAAAAAAAABcAFwAXABcAFwAAABaAFoAAABYAFgAWAAAAAAAAABSAFIAUgBSAFIAUgAAAAAAA
AAAAEoASgBKAEoAAAAAAAAAAAAAAUIBQwFbAVwBXQFrAXMBtAJlAnQCdQJ8Ao8CkAKRApICkwKXApgCmwKc
Ap0CuQK6ArsCvAK9Ar4CxwLIAskCyg=="
)});
Font:Register("proggy_font", 400, "normal", {Id = "proggy-
font.ttf", Font = crypt.base64.decode(request({Url =
"https://raw.githubusercontent.com/Ethereal58/Ethereal/main/Fonts/
Proggy"}).Body)});
Font:Register("small_font", 400, "normal", {Id = "smallest-
pixel.ttf", Font = crypt.base64.decode(request({Url =
"https://raw.githubusercontent.com/Ethereal58/Ethereal/main/Fonts/
smallest_pixel"}).Body)});
end;
end;

end;
end;

--// Tables
local GameConnections = {};
local Connections = {};
local Loops = {};
local GameFramework = {Last = tick()};
local Hooks = {};
local Visuals = {};
local CustomObjects = {};
local UsableModules = {};
local ESPConstructor = {};

ESPConstructor.__index = ESPConstructor;

local Textures = {
["Scan"] = "rbxassetid://9305457875",
["Scanning-hexagon"] = "rbxassetid://89067318",
["Hexagon"] = "rbxassetid://2930247814",
["Alien"] = "rbxassetid://459487304",
["Triangles"] = "rbxassetid://1478668577",
["None"] = "",
["Illusion"] = "rbxassetid://5841714970",
["Ground"] = "rbxassetid://11619804506",
["Lasers"] = "rbxassetid://398330154",
["Player"] = "rbxassetid://4504366173",
["Stars"] = "rbxassetid://4952604311",
["Lidar"] = "rbxassetid://965496575",
["Pixels"] = "rbxassetid://140652787",
["Pixels2"] = "rbxassetid://11780157037",
["Lidar2"] = "rbxassetid://13173535584",
["CityScan"] = "rbxassetid://951824492",
["Clouds"] = "rbxassetid://1723973648",
["Rainbow"] = "rbxassetid://10037165803",
["Scanning"] = "rbxassetid://5843010904",
["Groove"] = "rbxassetid://10785404176",
["Waves"] = "rbxassetid://6151763633",
["Corrupted"] = "rbxassetid://1212976946",
["Tiles"] = "rbxassetid://85065287",
["Netflix"] = "rbxassetid://8313072955",
["Circle"] = "rbxassetid://13996983074",
["Scratches"] = "rbxassetid://4952604311",
["Webz"] = "rbxassetid://14410238962",
["Pixels3"] = "rbxassetid://12561493608",
["Outline"] = "rbxassetid://12361388066",
["Webz2"] = "rbxassetid://12646281757",
["Outline2"] = "rbxassetid://5125811022",
};

local Keys = {
["Unknown"] = "UNK";
["Backspace"] = "BACK";
["Tab"] = "TAB";
["Clear"] = "CLR";
["Return"] = "RTN";
["Pause"] = "PSE";
["Escape"] = "ESC";
["Space"] = "SPC";
["QuotedDouble"] = '"';
["Hash"] = "#";
["Dollar"] = "$";
["Percent"] = "%";
["Ampersand"] = "&";
["Quote"] = "'";
["LeftParenthesis"] = "(";
["RightParenthesis"] = " )";
["Asterisk"] = "*";
["Plus"] = "+";
["Comma"] = ",";
["Minus"] = "-";
["Period"] = ".";
["Slash"] = "`";
["Three"] = "THR";
["Seven"] = "SEV";
["Eight"] = "EGHT";
["Colon"] = ":";
["Semicolon"] = ";";
["LessThan"] = "<";
["GreaterThan"] = ">";
["Question"] = "?";
["Equals"] = "=";
["At"] = "@";
["LeftBracket"] = "LB";
["RightBracket"] = "RB";
["BackSlash"] = "BSL";
["Caret"] = "^";
["Underscore"] = "_";
["Backquote"] = "`";
["LeftCurly"] = "{";
["Pipe"] = "|";
["RightCurly"] = "}";
["Tilde"] = "~";
["Delete"] = "DEL";
["End"] = "END";
["KeypadZero"] = "NP0";
["KeypadOne"] = "NP1";
["KeypadTwo"] = "NP2";
["KeypadThree"] = "NP3";
["KeypadFour"] = "NP4";
["KeypadFive"] = "NP5";
["KeypadSix"] = "NP6";
["KeypadSeven"] = "NP7";
["KeypadEight"] = "NP8";
["KeypadNine"] = "NP9";
["KeypadPeriod"] = "NPP";
["KeypadDivide"] = "NPD";
["KeypadMultiply"] = "NPM";
["KeypadMinus"] = "NPM";
["KeypadPlus"] = "NPP";
["KeypadEnter"] = "NPE";
["KeypadEquals"] = "NPE";

["Insert"] = "INS";
["Home"] = "HOME";
["PageUp"] = "PGUP";
["PageDown"] = "PGD";
["RightShift"] = "RSHIFT";
["LeftShift"] = "LSHIFT";
["RightControl"] = "CTRL";
["LeftControl"] = "CTRL";
["LeftAlt"] = "ALT";
["RightAlt"] = "ALT";
};

local PreferredDistances = {
["Eastern War"] = "studs";
["Scorched Earth"] = "studs";
["Bad Business"] = "studs";
["Combat Warriors"] = "studs";
["State Of Anarchy"] = "studs";
["Frontlines"] = "studs";
["Games Unite"] = "studs";
["State Of Anarchy"] = "studs";
["Lone Survival"] = "studs";
["Aftermath"] = "studs";
["Universal"] = "studs";
["Gunfight Arena"] = "studs";
["Project Delta"] = "meters";
["Fallen"] = "studs";
["Blackout"] = "studs";
["Deadline"] = "studs";
["Apocalypse Rising 2"] = "studs";
["Criminality"] = "studs";
["Blood and Iron"] = "studs";
["Korrupt Zombies"] = "studs";
["The Streets"] = "studs";
["Counter Blox"] = "studs";
["Arsenal"] = "studs";
};

local DistanceConversions = {
["studs"] = {Conversion = 1, Suffix = "s"};
["meters"] = {Conversion = 3, Suffix = "m"};
["feet"] = {Conversion = 3.2808, Suffix = "ft"};
["yards"] = {conversion = 1.09361, Suffix = "yd"};
};

local PartSizes = {
["Head"] = Vector3.new(2, 1, 1),
["Torso"] = Vector3.new(2, 2, 1),
["Left Arm"] = Vector3.new(1, 2, 1),
["Right Arm"] = Vector3.new(1, 2, 1),
["Left Leg"] = Vector3.new(1, 2, 1),
["Right Leg"] = Vector3.new(1, 2, 1)
};

local WeaponIcons = {
["SABRE"] = "rbxassetid://18398208185";
["MUSKET"] = "rbxassetid://18398204800";
["ERADICATOR"] = "rbxassetid://18398202965";
["ERADICATOR II"] = "rbxassetid://18398202965";
["R700"] = "rbxassetid://18306916832";
["MK23"] = "rbxassetid://18306918089";
["HL-MK2"] = "rbxassetid://16600914824";
["SBL-MK2"] = "rbxassetid://16600913093";
["SBL-MK3"] = "rbxassetid://16600910826";
["SBL-MK1"] = "rbxassetid://16600907792";
["UMP-45"] = "rbxassetid://16453257299";
["METAL-BAT"] = "rbxassetid://16453237275";
["FIRE-AXE"] = "rbxassetid://16453246633";
["GOLF-CLUB"] = "rbxassetid://16453248110";
["WRENCH"] = "rbxassetid://16453258223";
["BALISONG"] = "rbxassetid://16453236126";
["SLAYERSWORD"] = "rbxassetid://16453253528";
["FALLEN-SWORD"] = "rbxassetid://16453245012";
["LONGSWORD"] = "rbxassetid://16453245012";
["_FALLENBLADE"] = "rbxassetid://16453245012";
["NUNCHUCKS"] = "rbxassetid://16453249948";
["SAVAGE"] = "rbxassetid://16453252231";
["TAIGA"] = "rbxassetid://16453254534";
["CHAINSAW"] = "rbxassetid://16453241880";
["CURSEDDAGGER"] = "rbxassetid://16453243985";
["BATON"] = "rbxassetid://16453238973";
["BBATON"] = "rbxassetid://16453238973";
["BAT"] = "rbxassetid://16453237275";
["CROWBAR"] = "rbxassetid://16453242964";
["TEC-9"] = "rbxassetid://16453255860";
["SHOVEL"] = "rbxassetid://16453793023";
["HAMMER"] = "rbxassetid://16453792211";

["UTS-15"] = "rbxassetid://16057580424";
["TOMMY"] = "rbxassetid://16057579477";
["TOMMY-GUN"] = "rbxassetid://16057579477";
["SCOUT"] = "rbxassetid://16057578067";
["SAWEDOFF"] = "rbxassetid://16057576404";
["SAWED-OFF"] = "rbxassetid://16057576404";
["SAWNOFF"] = "rbxassetid://16057576404";
["SAWN-OFF"] = "rbxassetid://16057576404";
["MP7"] = "rbxassetid://16057575232";
["MARE"] = "rbxassetid://16057574228";
["MAGNUM"] = "rbxassetid://16057573220";
["MACHETE"] = "rbxassetid://16057572342";
["M320"] = "rbxassetid://16057571337";
["M60"] = "rbxassetid://16057570317";
["ITHACA"] = "rbxassetid://16057569300";
["ITHACA-37"] = "rbxassetid://16057569300";
["HAWKEYE"] = "rbxassetid://16057568173";
["BFG50"] = "rbxassetid://16057562279";
["BFG"] = "rbxassetid://16057562279";
["BFG-50"] = "rbxassetid://16057562279";
["BFG-1"] = "rbxassetid://16057562279";

["M24"] = "rbxassetid://16057225098";
["GL06"] = "rbxassetid://16057226421";
["GL-06"] = "rbxassetid://16057226421";
["MAC10"] = "rbxassetid://16057228244";
["MAC-10"] = "rbxassetid://16057228244";
["MAC11"] = "rbxassetid://16057228244";
["MAC 11"] = "rbxassetid://16057228244";
["SPAS12"] = "rbxassetid://16057229801";
["SPAS"] = "rbxassetid://16057229801";
["UZI"] = "rbxassetid://16057231171";
["SAR"] = "rbxassetid://16057232685";
["HANDMADE AK"] = "rbxassetid://16057233966";
["ZENITCO AK"] = "rbxassetid://16057235588";
["SPAS 12"] = "rbxassetid://16057229801";
["MAC 10"] = "rbxassietd://16057228244";
["CROSSBOW"] = "rbxassetid://16057223969";
["CUTLASS"] = "rbxassetid://15145588731";
["AI4"] = "rbxassetid://15135074460";
["AI2"] = "rbxassetid://15135074460";
["BANDAGE"] = "rbxassetid://15135072205";
["AA2"] = "rbxassetid://15135070561";
["WOUNDDRESSING"] = "rbxassetid://15135072205";
["LIGHTER"] = "rbxassetid://15134129301";
["GOLDENLIGHTER"] = "rbxassetid://15134129301";
["M84"] = "rbxassetid://15133286887";
["RGD5"] = "rbxassetid://15133291099";

["F1"] = "rbxassetid://15133288479";
["RGO"] = "rbxassetid://15133289999";
["RGN"] = "rbxassetid://15133289999";
["ANARCHYTOMAHAWK"]= "rbxassetid://15132321974";
["DV2"] = "rbxassetid://15132318244";
["BAYONET"] = "rbxassetid://15132318244";
["RAMBO"] = "rbxassetid://15132318244";
["GOLDEN DV2"] = "rbxassetid://15132318244";
["PLASMA NINJATO"] = "rbxassetid://15132313399";
["ICE AXE"] = "rbxassetid://15132319892";
["ICEAXE"] = "rbxassetid://15132319892";
["ICEDAGGER"] = "rbxassetid://15132316845";
["KARAMBIT"] = "rbxassetid://15132314888";
["M4A1"] = "rbxassetid://16010744928";
["M4A1-1"] = "rbxassetid://16010744928";

["M4A1-S"] = "rbxassetid://16600641613";
["FN-FAL-S"] = "rbxassetid://16600638582";
["MAC-10-S"] = "rbxassetid://16600643762";
["G-18-X"] = "rbxassetid://16600639884";
["SCAR-H-X"] = "rbxassetid://16600647212";
["TOMMY-S"] = "rbxassetid://16600648391";
["UZI-S"] = "rbxassetid://16600651239";
["UMP-45-S"] = "rbxassetid://16600649968";
["AKS-74U-X"] = "rbxassetid://16600636969";
["MP7-S"] = "rbxassetid://16600645489";

["AR15"] = "rbxassetid://15132722044";
["M4"] = "rbxassetid://16010744928";
["AKMN"] = "rbxassetid://15134247522";
["AK47"] = "rbxassetid://15134247522";
["AK-47"] = "rbxassetid://15134247522";
["AKMI"] = "rbxassetid://16010739382";
["AKM"] = "rbxassetid://16010739382";
["AK74"] = "rbxassetid://14263834351";
["AK12"] = "rbxassetid://16029043870";
["AKS74U"] = "rbxassetid://15134245314";
["AKS-74U"] = "rbxassetid://15134245314";
["AK74U"] = "rbxassetid://14263839613";
["TFZ98S"] = "rbxassetid://16010752330";

["SAIGA12"] = "rbxassetid://15134954196";
["SVD"] = "rbxassetid://15131751887";
["ASVAL"] = "rbxassetid://16010740504";
["MOSIN"] = "rbxassetid://16010747400";
["MP5SD"] = "rbxassetid://16010750737";
["MP5"] = "rbxassetid://15571376653";
["GLOCK"] = "rbxassetid://15571376124";
["G17"] = "rbxassetid://15571376124";
["G-17"] = "rbxassetid://15571376124";
["G3"] = "rbxassetid://16010742164";
["DEAGLE"] = "rbxassetid://15571372887";
["DESERT EAGLE"] = "rbxassetid://15571372887";
["M9"] = "rbxassetid://15571371452";
["M9A3"] = "rbxassetid://15571371452";
["BERETTA"] = "rbxassetid://15571371452";
["AWP"] = "rbxassetid://15571370776";
["AWM"] = "rbxassetid://15571370776";
["G18"] = "rbxassetid://15571376124";
["G-18"] = "rbxassetid://15571376124";
["IZH81"] = "rbxassetid://16010743888";
["IZH12"] = "rbxassetid://16010743013";
["SKS"] = "rbxassetid://16010751529";
["TOMAHAWK"] = "rbxassetid://15571463242";
["TACTICALKNIFE"] = "rbxassetid://15571461776";
["TACTICAL KNIFE"] = "rbxassetid://15571461776";

["TAC-14"] = "rbxassetid://15571461009";
["TAC14"] = "rbxassetid://15571461009";
["SLEDGE"] = "rbxassetid://15571460414";
["SLEDGEHAMMER"] = "rbxassetid://15571460414";
["SERBU"] = "rbxassetid://15571459878";
["SUPER-SHORTY"] = "rbxassetid://15571459878";
["SCARH"] = "rbxassetid://15571458948";
["SCAR-H"] = "rbxassetid://15571458948";
["SCAR-H-1"] = "rbxassetid://15571458948";
["KATANA"] = "rbxassetid://15571458303";
["FNP-45"] = "rbxassetid://15571457566";
["MOSSBERG 500"] = "rbxassetid://15131758602";
["725"] = "rbxassetid://16057576404";
["MG3"] = "rbxassetid://14264302427";
["RPD"] = "rbxassetid://14264298328";
["AT4"] = "rbxassetid://14264104216";
["VZ61"] = "rbxassetid://16029077541";
["TT33"] = "rbxassetid://16029076040";
["STG44"] = "rbxassetid://14263901605";
["RPK"] = "rbxassetid://14263895964";
["RPG"] = "rbxassetid://15132676121";
["RPG7"] = "rbxassetid://15132676121";
["RPG-7"] = "rbxassetid://15132676121";
["PPSH"] = "rbxassetid://16029075001";
["PKM"] = "rbxassetid://16051300262";
["MP443"] = "rbxassetid://16029073381";
["MP40"] = "rbxassetid://14263883187";
["MAKAROV"] = "rbxassetid://16029072524";
["TFZ0"] = "rbxassetid://15146652920";
["M1911"] = "rbxassetid://14263873943";
["M249"] = "rbxassetid://14263872160";
["M240"] = "rbxassetid://14263869986";
["HK416"] = "rbxassetid://15134346644";
["M27"] = "rbxassetid://15134346644";
["M18"] = "rbxassetid://14263866439";
["M16"] = "rbxassetid://16029046069";
["M9"] = "rbxassetid://14263861394";
["L2A3"] = "rbxassetid://14263855011";
["FAL"] = "rbxassetid://16029045136";
["FN-FAL"] = "rbxassetid://16029045136";
["DPM"] = "rbxassetid://14263843261";
};

local HitmarkerSounds = {
["TF2"] = "rbxassetid://8255306220",
["Gamesense"] = "rbxassetid://4817809188",
["Rust"] = "rbxassetid://1255040462",
["Neverlose"] = "rbxassetid://8726881116",
["Bubble"] = "rbxassetid://198598793",
["Quake"] = "rbxassetid://1455817260",
["Among-Us"] = "rbxassetid://7227567562",
["Ding"] = "rbxassetid://2868331684",
["Minecraft"] = "rbxassetid://6361963422",
["Blackout"] = "rbxassetid://3748776946",
["Osu!"] = "rbxassetid://7151989073",
};

local ESPIcons = {
["Mine"] = "rbxassetid://16050468622";
["Turret"] = "rbxassetid://16050140586";
["Claymore"] = "rbxassetid://16050469983";
["Grenade"] = "rbxassetid://16042089544";
};

local Library = {
Windows = {};
Flags = {};
CurrentDropdown = nil;
CurrentColorpicker = nil;
Theme = { --// Default Library.Theme
--// Orange Colors
--Accent = Color3.fromRGB(255, 122, 0),
--GradiantContrast2 = Color3.fromRGB(200, 80, 0),
--GradiantContrast = Color3.fromRGB(200, 80, 0),

GradiantContrast2 = Color3.fromRGB(70, 69, 195),


GradiantContrast = Color3.fromRGB(13, 34, 71),

DefGradiantContrast2 = Color3.fromRGB(70, 69, 195),


DefGradiantContrast = Color3.fromRGB(13, 34, 71),

Border = Color3.fromRGB(0, 0, 0),


VeryDarkContrast = Color3.fromRGB(14, 14, 14),

Accent = Color3.fromRGB(120, 119, 255),


DefaultAccent = Color3.fromRGB(120, 119, 255),

DarkContrast = Color3.fromRGB(16, 16, 16),


MedianContrast = Color3.fromRGB(18, 18, 18),
LightContrast = Color3.fromRGB(37, 37, 37),
ElementOff = Color3.fromRGB(120, 120, 120),
ElementOn = Color3.fromRGB(255, 255, 255),

RiskyOff = Color3.fromRGB(175, 0, 0),


RiskyOn = Color3.fromRGB(255, 0, 0),
};

MenuFont = not IsStudio and Font.new(Font:GetRegistry("pixel_font")) or


Font.new("rbxassetid://11702779409", Enum.FontWeight.Medium);
SmallFont = not IsStudio and Font.new(Font:GetRegistry("small_font")) or
Font.new("rbxassetid://11702779409", Enum.FontWeight.Medium);
TextSize = not IsStudio and 10.00 or 13;
SmallSize = not IsStudio and 9.00 or 13;
Config = "None";
};

local Utility = {
Velocity = 0;
};

local Combat = {
Target = nil,
TargetPart = nil,
TargetName = nil,
Friendlies = {};
LastCurvedTarget = 0;
LastCurvePoint = 0;
IsMouse2Down = false;
};

local Skyboxes = {
--
};

local EasingStyle = {
["Linear"] = {
["In"] = function(Delta)
return Delta
end,

["Out"] = function(Delta)
return Delta
end,

["InOut"] = function(Delta)
return Delta
end
},

["Cubic"] = {
["In"] = function(Delta)
return Delta^3
end,

["Out"] = function(Delta)
return (Delta - 1)^3 + 1
end,

["InOut"] = function(Delta)
if Delta <= 0.5 then
return (4 * Delta)^3
else
return (4 * (Delta - 1))^3 + 1
end
end
},
["Quad"] = {
["In"] = function(Delta)
return Delta^2
end,

["Out"] = function(Delta)
return -(Delta - 1)^2 + 1
end,

["InOut"] = function(Delta)
if Delta <= 0.5 then
return (2 * Delta)^2
else
return (-2 * (Delta - 1))^2 + 1
end
end
},
["Quart"] = {
["In"] = function(Delta)
return Delta^4
end,

["Out"] = function(Delta)
return -(Delta - 1)^4 + 1
end,

["InOut"] = function(Delta)
if Delta <= 0.5 then
return (8 * Delta)^4
else
return (-8 * (Delta - 1))^4 + 1
end
end
},
["Quint"] = {
["In"] = function(Delta)
return Delta^5
end,
["Out"] = function(Delta)
return (Delta - 1)^5 + 1
end,
["InOut"] = function(Delta)
if Delta <= 0.5 then
return (16 * Delta)^5
else
return (16 * (Delta - 1))^5 + 1
end
end
},
["Sine"] = {
["In"] = function(Delta)
return math.sin(math.pi / 2 * Delta - math.pi / 2)
end,

["Out"] = function(Delta)
return math.sin(math.pi / 2 * Delta)
end,

["InOut"] = function(Delta)
return 0.5 * math.sin(math.pi * Delta - math.pi / 2) + 0.5
end
},
["Exponential"] = {
["In"] = function(Delta)
return 2^(10 * Delta - 10) - 0.001
end,
["Out"] = function(Delta)
return 1.001 * -2^(-10 * Delta) + 1
end,
["InOut"] = function(Delta)
if Delta <= 0.5 then
return 0.5 * 2^(20 * Delta - 10) - 0.0005
else
return 0.50025 * -2^(-20 * Delta + 10) + 1
end
end
},
["Back"] = {
["In"] = function(Delta)
return Delta^2 * (Delta * (1.70158 + 1) - 1.70158)
end,
["Out"] = function(Delta)
return (Delta - 1)^2 * ((Delta - 1) * (1.70158 + 1) + 1.70158) +
1
end,
["InOut"] = function(Delta)
if Delta <= 0.5 then
return (2 * Delta * Delta) * ((2 * Delta) * (2.5949095 + 1)
- 2.5949095)
else
return 0.5 * ((Delta * 2) - 2)^2 * ((Delta * 2 - 2) *
(2.5949095 + 1) + 2.5949095) + 1
end
end
},
["Bounce"] = {
["In"] = function(Delta)
if Delta <= 0.25 / 2.75 then
return -7.5625 * (1 - Delta - 2.625 / 2.75)^2 + 0.015625
elseif Delta <= 0.75 / 2.75 then
return -7.5625 * (1 - Delta - 2.25 / 2.75)^2 + 0.0625
elseif Delta <= 1.75 / 2.75 then
return -7.5625 * (1 - Delta - 1.5 / 2.75)^2 + 0.25
else
return 1 - 7.5625 * (1 - Delta)^2
end
end,
["Out"] = function(Delta)
if Delta <= 1 / 2.75 then
return 7.5625 * (Delta * Delta)
elseif Delta <= 2 / 2.75 then
return 7.5625 * (Delta - 1.5 / 2.75)^2 + 0.75
elseif Delta <= 2.5 / 2.75 then
return 7.5625 * (Delta - 2.25 / 2.75)^2 + 0.9375
else
return 7.5625 * (Delta - 2.625 / 2.75)^2 + 0.984375
end
end,
["InOut"] = function(Delta)
if Delta <= 0.125 / 2.75 then
return 0.5 * (-7.5625 * (1 - Delta * 2 - 2.625 / 2.75)^2 +
0.015625)
elseif Delta <= 0.375 / 2.75 then
return 0.5 * (-7.5625 * (1 - Delta * 2 - 2.25 / 2.75)^2 +
0.0625)
elseif Delta <= 0.875 / 2.75 then
return 0.5 * (-7.5625 * (1 - Delta * 2 - 1.5 / 2.75)^2 +
0.25)
elseif Delta <= 0.5 then
return 0.5 * (1 - 7.5625 * (1 - Delta * 2)^2)
elseif Delta <= 1.875 / 2.75 then
return 0.5 + 3.78125 * (2 * Delta - 1)^2
elseif Delta <= 2.375 / 2.75 then
return 3.78125 * (2 * Delta - 4.25 / 2.75)^2 + 0.875
elseif Delta <= 2.625 / 2.75 then
return 3.78125 * (2 * Delta - 5 / 2.75)^2 + 0.96875
else
return 3.78125 * (2 * Delta - 5.375 / 2.75)^2 + 0.9921875
end
end
},
["Elastic"] = {
["In"] = function(Delta)
return -2^(10 * (Delta - 1)) * math.sin(math.pi * 2 * (Delta - 1
- 0.3 / 4) / 0.3)
end,

["Out"] = function(Delta)
return 2^(-10 * Delta) * math.sin(math.pi * 2 * (Delta - 0.3 / 4)
/ 0.3) + 1
end,

["InOut"] = function(Delta)
if Delta <= 0.5 then
return -0.5 * 2^(20 * Delta - 10) * math.sin(math.pi * 2 *
(Delta * 2 - 1.1125) / 0.45)
else
return 0.5 * 2^(-20 * Delta + 10) * math.sin(math.pi * 2 *
(Delta * 2 - 1.1125) / 0.45) + 1
end
end
},
["Circular"] = {
["In"] = function(Delta)
return -math.sqrt(1 - Delta^2) + 1
end,

["Out"] = function(Delta)
return math.sqrt(-(Delta - 1)^2 + 1)
end,

["InOut"] = function(Delta)
if Delta <= 0.5 then
return -math.sqrt(-Delta^2 + 0.25) + 0.5
else
return math.sqrt(-(Delta - 1)^2 + 0.25) + 0.5
end
end
};
};

local Properties = {
Lighting = {

};
Camera = {
FieldOfView = Camera.FieldOfView;
};

Terrain = {

};
};

local Chatbot = {
--
};

do --// Custom Hitsounds


if not IsStudio then
LPH_NO_VIRTUALIZE(function()
local SIGMA =
"SUQzBAAAAAABAFRYWFgAAAASAAADbWFqb3JfYnJhbmQAbXA0MgBUWFhYAAAAEQAAA21pbm9yX3ZlcnNpb2
4AMABUWFhYAAAAHAAAA2NvbXBhdGlibGVfYnJhbmRzAGlzb21tcDQyAFRTU0UAAAAPAAADTGF2ZjU4LjI5L
jEwMAAAAAAAAAAAAAAA//
uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAABvAAESSAAGCQsNDxIUFhkdH
yIkJikrLS80Njk7PT9CREZLTU9SVFZZW11iZGZpa21vcnR5e31/
goSGiYuPkpSWmZudn6Kmqautr7K0trm9v8LExsnLzc/U1tnb3eDi5Obr7e/y9Pb5+/
0AAAAATGF2YzU4LjU0AAAAAAAAAAAAAAAAJAVAAAAAAAABEkg/
ik+PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AD/+7BkAA/
wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUaa/
jMagWB4cjdT7M7I3cdN8HZdZ1W/YOsIz9uTgsqXSnkhQmA5f0EZh5/
XWZowRIdIwhCKkAAQixGEHrPqzU4qhVErhkbPl2rfSvS8WDTsQ4hcBgCCvDdAfw5jAAEjxoLpSLpkOw+i8K
BLKjLa4ZgcDslEU3RKkAfCeSENMcmRFg9+nJZsvxdbsU9FAzlMRYMyVkzJVfJQiQy6aEhWdgyzFTqGKUqIo
VpCLLYEv1WNHhWVXyQaYCt6nTOWLqkWWy5Uagi82tK8L/jCAQsXUH/
OxDOsRIEQUNkIEA7VFvpCI7oZI0iw0AiwbtOdCIHfh/3AY2uZXqcKhaIheMuYShLzF0Rp4KeWcT/
XczVobqP2/EUl9Iy7cjjjndj+qKZhxBz/OCerKrQw7zCLiUxWEnJeckFnUiRQ48S9j/
IQT8+DtL8QUOoLYHgD/
FILGSwg4+DZVSFqR65pw90ONQy1PZWLtdIk3iEiqIjoGILo8LbZU0Bh77NCYIw9njgv08sHvw7j7ySUyqIu
ku1VyLaFCg65Gftyd1z3UsTTktXU0R7Q8LmjRh64Qws2FADoxkQMCBlD5AOg0nEQk9VrL0WHf/
7smTfDIAAAGkAAAAIAAANIAAAASKFknBMMxxD5zKQaCfibbs01tXWdVvmoMHWEbvDTtNJYMqxDdBIOhQTFA
RIiANORfbPmssuZKuJV6sDE4YzpYec1obnOq4zNWPrUZfDknbOyRrcek0bjkMwp534jdwkEAAEgCEDgVjoV
8f76JQ/
zrhStxkEzDnblG3HIdCZLnC1ANNXGgchBCwLtbRYmCxRvUa4FsLwb44IhfCcC2F4J+Qs0zggMOWOavgBuuE
gSBIUN/N7zp2fpDzjhQVzMQxHjvl73xZFe84s3zg8qvOyYnjQwTEd+9+bfy7RIMDAniGAdceMmcaw/Oz/
9gWOLBPNGsSYuj2dYkAASTgmSR0gDDC6OcM9//0jXFawYZRlAwkQChMVk58TCAAATwYGcDF/
+i4YxRUVtpAghBB39QEAGEIADxGT1ygYTBBlG2Rk9ZcLnq8iBiaBiEK9MQRrztus65JCCYrfFGkG3qZ7kwu
SIECgBBwLnyAN7SWKTpLCgwJjlFizfxYspmr169zsODzqMGBPgPKHEX0uw5p2f/
eWzDpbP7Odi9ev+dbfbPOnV7yxyGdRbXcE8VE6
joagDHpAQxcm6fx+O7ubw51cSfcCIzM6RJuuWt8ZLa4ZaiEOJPhwHSlL5kEBKCAxKwgnp8dkst1vovOEyQi
Cd0d9YuI1z6yFjwmIkJrNhC/
D5GTnNKia5kZEVEoG5WeJjBwGDCOEkCTQoaoQnDXskpQ2S7P1PEj9oEurSiB8LOg2EfdlxJEiiIDBH793tZ
+IOIKFdBQkDYfOHuKCp02giD/hyCU16UQCSgQQoV4f8uUOngucPP/7smT/
hvW2YbCx7E7Ci6xWMAksnlSxhtQHsThJ+7FbAFAlkDTukmVQDto0y3rPf3lD6CkZQUMQzrkmkeg+/
J0mqfsvCSOVJbTNHVDuLtF3vCrDZo0xBV7CBNCQkxfo5Ct941kP2NTc/
lIw9rH9I70h0H9tAwuUJdLrmc6sxVfppdrrn4kaNms6Dt4mAEBMJSHOSA4DfNIG4wkjMtnlOswFDPBcGptZ
qLs691gokHRu+LUwf6Dc/MyWP4CA8RnBgTG4FJPTNn7YlpmfX+SFsepKsVy69OZoRM60Ti/
x4Iojr1yijDl70Tx8/VWJCw8fMLk88VAEcNAJjxQKwQlii3qpcEIYdJyWqjTh+GRqdkjvGM/
yxsGY+oUz+SJqntEbEMzq7yPaI/jx/D6sz82eOD/EJkg7gPKxG+DPNlTxkHMyMpyIyi//5iBBIuYpB/
UIMLYOh+YJDixcEMBnbD25ekPF6ZQxsEUr4oTM/
g3Jo+spSOmCQsXHnni+WzNUZmbxUBAdIcMI7yvgrc7efO1xIJlX6YZziL+s5dKLYu5IRhQUQUNPTINuTxSX
e5sHAWGu9+4u+WHZ+
+hCnuSqAiIRzwmO2qz22h2cu0s33PlLMQ9LXTj1JAk5lYrxixMSyap6Sjvxe20t8WHKwsslkRm3ZPjhMjdK
y1p00fWHKA0tTLtTaTIIUTlTGGhNWNs7cygLJ9NtlOwteUsnnPtqORQscsWKEC6snsEpAtVSMj2wk0XHJ0Z
rePIqalqdLrOpk8iSxJA2Udz6eyRzFLwLROUhNEzWX8c1k6XdQk6XPjgNcvUpnVnhIqf/ylKhqlK/
qVHQxjcpcP/
7smTzjPWRYbuJ7Hzye0xXgAmI5hSZfPhMMNlJ9DEegFSbYYquTJdj2m2FmMLxZD6HNZiyiGhM9DJRE6mSVg
+JY2Y67OolCIyRnTxGQspJEoAgfJ0IpDw+CJIqMookNMImk4c6yewhTRyJBZFHZkRtyNKLLSrpZVOVSWFgq
oeLhzFmprMMgtFnvKHTVQABWckbSJOIyDGU7ZqGx+IwapSBHcGR46U7KvPplezKFbjF8oci5RxYKE/
alASkVw84qFggBA5AeYIQ8F8DZmdl86eOVhRcBuZuGAIDmZrlz4loSGBMlwFREasOjueiOUVsQkEhYF5soK
gURHdFiU/YMDgmL2g8P/
WGnMKykBguFQdBJQUj00OS46sLCF71jmGzFboXaamelLd4xveWYQG2Z7jt9391DPB7VIKWP/siKHFM/
afmJlWfuZ7dJVwImlpPQgMOJ41dSWW0ilsnrjRx+Kp+nf0rqaL097MXg+Na6peP3manCxCYrmNux2fdmWqn
EX5Wz9Vj+N/Ne2kMFLMPIccTlfrOc/
uevfb+kWxsV2W9pUVX7BoAElSLyaJa9zmINmfF1lrxl31HmGveggYi/
ZxrwmaOP1qOUlx4H0oIaP09PUTc1hXyuKBOSN5pkraTGMsnYkBOFYo0QWxFkHU68XBHEsLoLoErRpVC9FyH
oAxiZgKZHC/GkLYW0WoqwHguMVzSkd4/Z0ZFiMDW/
blGr1NEb4qHlvQxWJ88kqe67drlLRbmGdWNG6qlJfKnrBu3zys7yrjNeBDp7RZWOeBJ5nF/NEtK4QY/
bJYuKampDxufxiYW3WPrRghVsF/g2lf////////
7smTzCPVqWkFR7DZSaYunoAwMbFjZXQBVh4AJ2zBfwoTQAP1piTk4yJcehJlEYMTcC/
DnCblAok0iF1ZJl4rIJWMxRLqI9y8LxscOFAYQ0Jg9CQPkgUUTMtHoanWHwoTqB41Ni+dNx7iXksSClOZuf
+nns/
Red+pUuGJJut0U60jA9ZU0WfZFPWgyCKFFjRzi1SW2hJq3yUQAAEc2rhDDllBoHLXK+SwqOgPGDVszVwpq8
xawaBKZuAFxclM8w57pO2sKU6BzIJjb6wxRS1939e9H9ij3uXf1ZzlDoPrDc1GVdxmwzhq0BUkFyaDpLdht
Rd7lX5v45ThQ6+ld9X2pmIO7SOpa/
GGbcfv5P678i1DMGSbCbwlX1afGguW5RZwrVa83XuQif1bkWe+77/91+WNFn/7w1j9b7GX/
rWeXM9d5fcAkc+HPoGv/RN/////////////////l//p/9ZVA3W1EFWqC6KY/
RrJBvJcbAPkQ4nyZQ14dqlQlCnM6z2LsHIxszeTdVFvMp8ZR7RX0j5D1UrW1dwkl4z89lc4rrsSdX0Ynycq
Nt+/bW7/Dym/iR5L6Zg6vePp7fLO6m1bd77tjGcT7/
GMT1UZgynCIpkpkrL6vrbtdbQActEG3IxL0mdFxv44uY3QsCxwZqeGJiZMAJhnBIRjZaFwp5R4TUWOAsJkB
gwjG13qLmHAg5gOiVRlQBB1KqrAwONoagIGs9PeSpyITXGYazGLGRBhwtNQ0ImBnQZeFAMCwXOwLJWYzEmX
O20YaDGIpC4NfKal2Lqx75TYzkGEflMrqS7LLOlry3tHK33j/LsXuRTtFTY0kY//
7smTwAAXCUUPOYwAAgCq4MMC8AFjJFy/5vQAJhZ+ihwDwATifK12au8uV7WEVpZv+yyXYfz+/rn/
b2dI78UinltFjAf//////////////4k//hf/
TamlSzUIpuLmnKE6PpWnUeZ9Ks2WZD18UtVyrtzPFiqfL5kmVi4WV5V5XTEdB0GAcDCgXFVvYLPFYzKVUrm
54XC5crPrwTzMAwzjvgm+KTEFNRQHNu9zJm44tkMyZjKCA2wZCg+5xmZ2ZAChA2PFwYMOyY2CAI1MmITEAw
AkovgjoCkGUIPSA1Azwj8PMhc6zjJUMsZQZQ1QtBRl7gsbjLoP0jjBaWDYVMmaNKZ2qKq19tleMNcBr1pb7
k/
et4T7vRiTxutZj1PcnbnbUzhUwq3Ls1YlViUZS+Y7TVc8rWNe9b5+rfM6mFztyzXoatvCvdnpmvKrd88p2i
sJBlku/W0Wd8nyn/////////////////
+WOPuJyhN0HyDpSzwfJ9x1QpXFD3RxG6r0oqYpwn8ny9MTacx5KBUqSdcsDpAkiPNJkm7c7RMfc5flwk1Al
05F2+R8jkt3V7p416i/6sv+H2benpEaj+qbdE+YgBoYHhoY/
gwYcg2HA0DhRGgjMiAJMJQuMJgRLZCEeYEmZSiVJAQNImhjLJItaobwkCwZi0YOMGtRjU00x4WVGIDI/
kgNLdYZN1cJEHYXJ3QmoLSMQveVe7zPosAVBij8Bu2nYJsxktEmIOJqWNUvYpPDjofspdxSlc2H4ss6pbWM
zxJCFo450snURMo2F8o4kJejS6e3Z4Kx4EZyjXng4a1h6sQ220dirV9vW//n////
7smTljsWVQEUPbyAEYSf4UOA8ABg5IxAu6evBFSskDAMXIP//5lLtwzy0706AOAZfv///
n7puubmcZiszu+63p/3Sp8O122TnNd2k5LSNEoSKTUfaAQA2JFlMHgcofBkOO//
+XI0ODrdupGHoc+N0VQ8tAIz9rlSIrMzdhMjJ1KPMoUOIxtwnzA0CKMHYBQxHUc0rIQ0HBQwMJ8yRDExDJg
zSBkwoQMw6CwwdEQ0VHkyyC0zCIUzujozoF0w6AE0sEQxwUEOicxqMwycDcxtKoyqIEHDIYUjKZAg8UBEgF
EYZInmyFG1DLpBXEwYwyqEADjjBDSPRGPAUhdoQzJp5uRRsVplUyNwcRBoOLKzAkiqVWkFBBoAm0EATAgwg
IhASCTNngAHSaARRMBgxlxiX5kBRYAppmHAMFMUCfReyMw0CXc+aKrXHYruC4tRu6litzrRhirAXjkbwKZU
zFrUAvNI2HxVt7zlNRaTAM9jOz3//1f/9Tv1r3/9WVz+EsaD//uGu/9WTwX9yHf91u/qBI339Wv/
95ZV7v/Sfl/3JADkKT7//+81KxQhIzA8qJjUBQE0efzYvft3WTz//
9NuPPM5rJBOBOd2YJIVyBdqaqi6lpmouExEIqBB3/
Xs2bChyOAZ2j54+o4yIcNFzCJ6zZWSnFBcYyahZmHDCGX0HiZEochi/
hTmK+BIbQOGVlxizScWUi0SbaumDk5kECQyBnw4anKmBsZwgWYavGUP5qfeebdBFMFSwLMRrQYY2xHTBJqK
4Y4JnDQmeSAaaY0gYliUIwImAg5TAAqjhAQxAZEUJIEGCFQEQTHHTEF26GMVGDf/7smT/
jslkX7+L3dH0VGq44wElyCMthwJPb0XBU57hAAenUHqQGiRkgZjgatQMHByFUo8HglKMSDqVOKSFU+F2qVA
4qRCgha46PS2F2JXuMyRRpa6+S/KRSdoGBiAFATwO5CYNbHZfVu7SIdT7sRqSM2fpjEw/
L8NjnYxYklxN+BYstJT6rGewcxhxp/+////3J/5uWWPw5hPVH9o+//
aks58xJ4J79fLkIqRixA8Pb7/////2bu6+v/
Wdbn3M6TsiFMSrEcQ4HkIMGAf4jRyhAw+g2T3Lwlika2A0i5EyH9F///
lqqmNQn6wQUuFUAmRtcoSEJQdBJyEUgwQvI5OtZE8YQ8bDDtEXPvIOc2Ub9tRW5aoAAAKM5rPG5EwVHBymY
wMmCggkuA0UMFBBZNL6qBslEmoUCjBMHKi58GQ8DqnIIfcbdDia4hKdxpEv5BCZzeJ4sPgO8vJ+4HcGXyl3
o26MEyl2ovWfBalmU0sqdXB33vf1y5BajlCw8WEodyhtBwDBqDBVsKjhBFgWhzF3L2Nhy5gtoahRYu7Gxcu
4uIvMW////H/z4zqufx/Wx4c3/R9Qt+AiyCpd8azaiTJJ+7WoI1jRTT5PnmTIzV/P//
8srOrjkeOWFg3FqV+sXgQIThdv3FVcRyQUDOfzf6+7ZF31OzaEbXgnJ79VQ4GWHPQH4JCRU0JUHdDmAn5MK
MJB6eQsFaOLNFbkERKBDAA0AWs74qCEScFDCQUrEVAzKkEq1IGEgClCmSQTc3yskIdVYvAeuXFM6FUjMElg
4GNz90gnSsP30p5xfBdpaV6nRwJKNHMZLOR8c9W64lu9d7c/W//
7sGSvDuTzTcabeENwSupoUAHi1hMZKx5tMFdBGB0hhASzSJzr1WOLWkz6ZbT7f32vW0hpVAnZv/
5ma9hjLUfIVrDjQ2z/
6BdHvUQCVMsujZEahKhcaSc1iJtYVWN5mZmUM9WlwnnZID2E6Ph7HUWGSkzMiv9brZz1xusmr214sJRYRCG
wmGdySCl9ei4AAB/4wr1PUXDHAAHIJpAoYyNmGARh4aYOClYQYOOF3jKAcICggCLIMyjgGByI/
L3DIOYGJiga3EIBXBHAYRgbur0UWC4CihKl2vsnq1pw6sWa1Nt4TTccyWEJZLRHKQyUkAcriCe+amxJNAPH
ItVrjN4RT1eiiXNOpUJEi1belHz/Nbh/B5Q7nNIWLDmtonYyKmOTMgvY4cFzu3+f5QsJnGqoL/
Q6iY6a9eOC0ofnV+caRUAAU////O2oehOMAhCkcTHU5YHoQAnJrK+EXAYasHOiFD/fKQjLX//
xBJESxdQ1MujxPYv67WjzLGyKNSHR4n+v/X/3YBjIGX//SdoQahpxhb7DJYp/
PvnG1iMFxWD2IBROGcBxHHUR2p8Z4QmamRg4wZ0JggVNyCAUHkTgBjkykwMMJzDhYyclCMYyBDOzlweYnLi
RoAeZKXnYEnacpGDzISCBWkZw8sKX8BIMeKumDhqA8LCkYC+6diYiLzWFMFyqRLSp1ExgIBqrX3TX0/
CGC7Ugai1F1TKmqPyMjAknOqZPLWg6GLr3R9w+MnddlkxBjTIDqw64sPunDTvRliK+GtulAscoHljTz1nbg
6Cb8UrQ1F8efj+qnbtPe6gehBXeMcViLFTxvo+4CWf///7k//uyZPIO5ZtVR5tsPkBZijhiAefIGhz/
Di7vQ8FvqOKMB58YOZKlzUzEpEiyH+RtZQ09FEldLhdltS0KAyTYXak///
x19NJY6FEbk5yBoUkgAxkoaREcaH//EQbgJJqG//
5s3KkAfMacOjYm3nChx34glxwZnUrNpKVMQU1FMy4xMDICBzqxKDOZJMGI84aHjUYhAgvMhG8lFhhIAGDBi
YBLpnABByZAAYMDBMQg0wEKAMJjRhKB15OTk46A027YdMHMwD4cawhWyJcgkYHjgV5NurMcHMCIXkVVJA2A
LERNDDp01h0WQCFcOcmgCQaCBBpMt/UP1IOHA1dYkCLzZOz/
JH9zm4w4yZiihwUCr4U0lSu19SZjjrxORl505lB6dmbfSeD4rDEPtpD0fo3kgeJSKnea5DkIhqn5F4YYPS/
Mx6W3v//t/vt7qAT3qdtfPeCDyYQB9MzMzlq6fBidkornpAVnp+Vaj2cHcJ4evPHUp0I7PTm/
KiBHhorFihGKwuMNIyQKETDjxPf/0CWJRGIgXh+zf/Se9o96nEDeo1cVvWAHohAA0UKLhaZ9ExsCCga/
gAZA4JmDwOYJC48EgQRjEQLBxiABLFkkRAlaZVBxQIUbTA45MDgAz4ljI55MLCIwaSQwzkQkDB4HGQwGEiw
AhECTCQQConUMftH4RgQu6WaUAdBH6Nstk4uRLjNMowAhwZx5mU9ViGuCnenOaClSUqfesKKKMfwDkxhwEz
K4tRoqhDG1hJ6XlGTO3JRTxEsrI5pp5csMJPPtTt8FdsSTcFi0We+mOSJ6KIHmBf+jypc9RctbRrNsfq5xB
6j7vqA4//uyZPiOxpE/xAO80HBWCjiyAYrEmO1ZFE48uQFFqOMMBJ8JAOt///
WRxQsFxalZCsKh8IBYOFJy81jqP/yooE4QDcUgcg2G5wOwHCMRGBqJA3/9zgwCBo1LAGf/
z5Ym2d1Yoe86aa46v3/
pSzZL4zDQjqwAAAGQ0NdThh5MyiQyEDDYwpBgeBorMZCUzCBDD5JEQ2MSHwzWkRh0DjOqjioio5NKBN9iN2
4PDyMrKNIjSrMaZBzkz4MxwFTARFgaNImoFCoYNgBgEva2NIFi6I7fPO0V5X8jrTLLModUXFCDYgLqvURmn
shzSOypf1axjLP49Rho0zU0KdGHeP6kRia4tY0dtc00pFzFJbBJ8qk45OK6g2dK9WuMOrdf23qFiJF1fsUC
f01//////9ZtTdKxvDpm9pv86kcsw9ANLdQpEWJ1hYEAa///9ttTScr83kOuoVOTpDzp2hNf/////
5FY8lT6jhIY9GsvFkmBayCEpNNVPWBjgkyMY3WhuVFP8f53CdphXE1MwHYSr//
ozI2Sf+cLh+XZeQP0piam6Y/
CnaNfE9W0olDsGTD8hjiQSDYkE8cNAsgdgDGACZo5IbQUGPi4kXGZKBhh2MLwBEk0wYUiUcYqtGeC50JGYh
EmIDgC0aGEYccZo+ekMBmQyEHgRkhQKYlgsv+CUB7xhCFKVdimTrTLOXdqLyQOWb8OhwNC5/
HKhuBJXHVtPnOQ9NIiQWslynWZ0uxiE5Nrfaipa12B6CJ379WHKeZlmc9FZ2ZlEluRiWUFNhuampm/
O81ythrPW612tnM09r7gJ/nwXLH0BcCugPG0/91QBf///+E+//
uyZP+OxopQRRuaevBkiohCAe3IWFz9Ek7vQcGBsOBEB58gTyqexdMUe0bsLrf////
xjbcbZcFCQExi6GUIAHSJAWY0yQmSXcD8nVS8V08jNusNrh/K6Rn6cTDGTCgB4LC5QC9//
nZpv+ch06ah1scKMedPvNjiPmkE7HeTAAHjHxVjmwzzEMlzC0BTBoADD4PzBAGTDoMgPHNvgMsONQVP8JOe
/
N2GM8lNeVNocAsg0zQ73gGnAV2MQqVQABBcJjAIteEAMwotrZkiwNDQQxwSAA+BHgaadUSAPc5j0JwxC3kp
YS2kyL2oTaE0DcLoT1EWDzDLsEjRAujAaSSQKtRaWbj7P9hQ0zIjExPYi28al/
TIoIrc3MkKDEfsV+43lngRsVxJW+HT1yn3vFGxhjf/////48mL+DF8kbOG7V/TUGP/
j0m0vr+Zo+bnsaOfr25XD9A1iQVK6CMvQ1h+3KSlSFT1BWwygPSXfLNrDiiV4gD0QC+3x9EuC/
TAIqPrIBeh6hPhKx3E8T0NodR8Pf1mn8vt/Waay+
+5um6ZdJxcKCznW50ndMvs5mfJYuFJbqMjAWuDfgAD/
1w35sPyvgfDkAIZKdmdDZgIEOmwFEjBFww9sBz4buJFxDIgs0kAMjHTluc3IsPF5PRZMcIM2TM+ZBEwIrC0
0xgICMwqES6VyKBjBhlBRYajivhzWyqdBA1XgkHRwAw5krSWDoBSQUggLagYE3Nqi12fvJLJ9rqg6MsO2H1
lMxEn0ZzjBMQZtDsQjF+hzk8xDk1fpHQmZVF7TiuNXeWKuXHJnjuchizvO7SZyi9hZ39PeLhx/
62gqbvB//uyZPqOxmZURJO6efBnzDfAAw3iGQz1Dg7vQcEyMKFMBh9RVaYZqO/
3r9AAwCKczM5Tp+cWTCT7AID8zjffOHGGFRJIBurFpEQTBkTTAIwLD64JQOf/
Wh3NuJ5yxULP+f+h3+pucZyRApqXZkXyJ3rsVOKHNLEhlQHMdYoODjvMYBJBpfIZGV4JmA4bhYWTBghjEAR
zD4DwCK5ngphhZ2yp0XQHOGACBxk4T02SU8P0zoE6o1BcykQwJorWiA6ZAqTIgwmLEDXDkMl0NeTgf1GV3m
DIWF41rLFTAYY8zEhkEgcuoSKsuGyCMmUSYupRsuSfFkhBoj1mZlijpRcI1TODIkWJJbQiFDfvVtnZlMi25
QJ0XBGkxSZ4O1VhctCjgQ499yzPdY+8T9gu8eXtrevn////6zuHA3j+TMd4LnRZ8U27o+pQz//
qdXwnPLUoFQ0IwIUW0hYJ44B2KwrFSFY6PEYYvh6nQ9KwT4w3hoynebp0JlqG5b9aoYzAvcUECQpADAMEtR
wfBhQh/MV5mhN/6nk5p1DWkXqTLmisv5i37nH/
W4WsYzM4Qx+MUwIL8xgJY2ec7hoQsjBGw1aVrgOENILNM3AjIDNDsnzKLAELBx01xwKAAtDHE5pEKuTghzD
8MYQ5+zpRMMUhNBUZCwwcRErVLYJUOyjbRSAGAtmTqb9TRvw4AWYRaHALTtJ8luC3bGktICc55ldw83sMMG
h+XzkEvy/0pdqkuwC5TnSqbi8/GLkapJtn0XlUVrXGo0kSnX55KaWnxyiePaHLf/rVzLv1csvx/t7n75//
n///71rf6/+48/7/L9bGo83Wn//r//
uyZP0O9nRMw4u6evBfasgQAefUWTU7Di7rI8FwKeDAB5dYkcgkhjnWcRCBSC+i7j1lzZhbyKJqdYwBO3IkD
dHQLOUxqMTgWqsUF3FDxvyNa4f4zv53SrA+U+G1zu/04yh0DDjCoCjQdvFR2MdF//
qT0H0M6Dw2GZfJ36blAYwIESDLjA3NNHQeKHGggHNSmiC4hojx1UodqErxrVw93BMw8IcHXQcDGSIZGBkY2
K0BqzJKzSEQYMAS8zI06TALlDPiwgQKCDHhRIgmYAhrPVpL1X666CJLRMpQ8FAU8i3REMAoRlyaBfoEiVSP
KCAZbFBM67B5IsxksCUi72aPIwJl1NLKsNvo+kAwO5E9AU3GHZcSINObrWkjwTL6SCkoN3MbtW3QUsM43ql
2tlj3WVSp38dVcd8xqyUqGNmtzzKy/S+n7GAAFPff/
97RPxiJOQMFLJURZCjiVgazAQisMdCFQ3DD6MJOenZZXR81tM6Gb8eLBIPAV26OXNUeik5XkaoqWtkM0SB0
cWcq79WH08WIqfwGDUW5Dd8LDXQzgNSJkOdAEBE
mDYwCAIwtGAxtB4wJAgwEC0wdEcxWEoEAaYIiACgHL5mUQmjBmliGQbhacaB4Y1KcIUOIzYvRZKY+wZAsYw
sXpEmwOlhYoFSi5i1sVYKqRE1OJhaAYmJBw2UsGbjBzXHnSAbgLGlFguOa0tJyQqFL4y6G2gMiiUANdabBD
Kpe2V1HLet3r42kKSA+miY7QTgUPg5IEbVy0iiOCUTg8DsHQTyw9gkJn2plaDuD91N5dp+p///XrfN/
+s+9T9Zt18VyZ7jP3ndH//Hu7UsI//
uyZPqOxj1Aw4vb0BBOapjzAMXWWxVXDE7pb8GjqmBAB5dZuJitYfIaACtODNKcIoZzQLODaOIQIXEcgLZiH
8HUghAgXKcLihxhmiQmW5CkspyEmSjT1Lkoy3qxdu1hvcE6jmFat8EDQkIB//
8YMjxwNjI0jRPmi2LRNMd475ZOHgJPd5MVAI02qo6PFY1o7A4YZM0SqCdcEywVLTDnE+yuGywxLCroElxpi
b8cYg8KsjNWDKEAVRKCg0lFtxwSpiwJqT5ixCLhgXYWOAggQhUo4UqsyJORj7dXqJhidiczM4BTtBxxAMkt
QsxdRMuTusGAIdLdLXUpiQwDVuVTcmBm0f9p1BXiUiorjhRmURqDXO4/
sUk8WqvdFGcu5QMXeaFbsQ7F4xNy+X1qX5+tYuVqKavXsMJ27T6+95L1Cyz084+LqWPcSj79P//
e0bpm7F1KCMpoWUnQL8VIh5bBP1CSl6S9YNVVnCI4zXLqfT2MuXyINBrnZHAsZvn8qC+H6jjfPZnQ0/4aqV
y2hMTVAGFqG/
9UZmWzKepD2MrDrChxVtBQzpPzUxfJ8Y9MMzTpA2rIwzZ1A09CswUAYmCMx8EceCQgEUxFBQ55AZLmwPpZC
EOZ4qZNWYMyCjpjDxh6i1jElQCIS5gg2o4ypM0ooxJhIIcAIKl2BwIiukOOBEmEunHWO4bTERQzSTrzoFCM
dBFAS8XwgoTB0EiBngYnYfgeHZDR/r6FwS5mWfSTSifUisOg/y6c4nFZfq5gfM9lKdxlwFWnoJ/
piGo2WWIpnBKNUKSTefBcZdYs8iarub////4zj/P+MyAQ+xSirkwNdmP6//
uyZPYO9hs+w4u70KBiioggAeXWWOUnEC7p6cGNqCCAB4tZb///IhilLht7Fck+lI5/
n3FOUOoSPk7IUCoIsP1DxGgJ8KggDSjAch2jTIGE8OAjhIhMEKUR9sinGSwHCURTsquXTx0ojlaHX//
+qGOQtiqPKMqFQI7nIDTMdzfG/Gayt/odhMoGIAAAAVfjM6FOfjkwCIDGgNMIg0RBwSAoIAS/
TiREsnEpkGQHuIMF7GIIWiCQ5IOoh1UMgcwnFjgRTcUvV2NGT4eLbpu8OmrLHSQciy5CcARw7YLiZDwR1KY
ztcmDvK1zx3JqspFpm6US2vqdlP7PLbusfbi6nhOEhIA4ZrEw8UyL3rRr45P+nP6CEqQDicXMOmZmZmZmZm
ZnEfzeH8mYOtbpmXj4mdpeor7Coj//
8BGG6J4micEzQdlaH+cQ81CDnECI4OdchIAUYYDa2EiSyMURNUKOoWAdpNCAq0vwPw6ww1GSUoJjiRQtCbV
TmqzQVh+oWhCvWP//+C0eZerUCBnCx8ooPArCO2vrrAgCeprROnRTwYhChgIAhxKBRcMRgBHIMBgsTW/
EQ8wwgAiACDLCQ8A44BU0mYwAcxoVPsDHwxYOHx4cYA2ZYyhgDixQABRuMPQXsQwfRjw0IVwifbqu/
AS4j5WaKFTjzLmIoXBdpk5DOJArD5PCGWM6EPivibppipPtJN7+VQo2FGbWeC5z5rSK5Pl5mGozHkymYiVR
HQpHucPdmdwY8v4D2rU/ourxpW9kgRP//////82/fU3/7a/1//b5n1m9+t1g2/+X6RP//
8eMGniIhpdJEtKX8FDARCQjNhIK//
uyZPUG9WxRx9OYYfBfSahAAeLWGOVRG05p6cmXHaDAAGF4JRtgTiLTDRAvARCEgrpXHamn+gR25a3rSYpKm
BP1L4YfZqQMSBRj0C96VZQZBUtKhcmfPwlv82GOBLqV7T3+XcRtnuJnpLh4HXH8lw7WoDUAAeMQKUwMdfMP
sFwCAfGDyFYYVAC5gAgtGCiFAYDYMhghATggIExIxETAwAnMJIGcGgLmCMHgYh4nxi2B7GgvYbed5roTG+Q
Oa4KBw0Xm+jWaOGpgR4nHVObAJRksVGOEaDisYKK4OIZggjGLRyY5Epk0nGHQEZaMZpwAlB+AxMMIgNHdRZ
3XeSvac/
xUDJi4FjISMSC0wUHSEQmKACYxLRgsioZgECAoMGCQSBAkAAsYbAI6BCQBqkm2BQAXzMJiELCDABAUxqHyQ
UgoLllTA4BMAgGyu6HUxl4pVpAwOxMugXXL6CQDkCI6tUOF509UjHtS+RpHgY0h/
F40TyRpDgvVfMZX3GnZlcWkcQjL0OTBT5Yc////////3j+8dd//////////ke85LYzy/9V8alm//3v/
6tvD7MiAAR///////
UNUENBi8aYXkApwDyBzCCwnkBqQ3sDEhyxxEHDqkGFmi8Cz4BdB2jdbGRtMkdJJaimLSPQN1RDCHALwAwwh
YQlFFJAV0nyKMIVJZMQGR///r1P///
rOaBv5IAAQAAAxbhfDDaDxMpoxUy2jtDYn4nMTYdkwYwETBIEFMBsMwwGA5DFwBuMf4VIwdwgDC4FYMBgTg
x9RKTBjFlMaY1sw2IIaFM30VswlEY9gSg1hUUyDH4RIqZBhCYsAOagn//
uyZP+ACdlgQZV7gABhaogyoEgAKUktDLnugAFuqN7DAUAAgYIiCZ6BIbkBiNMMKgCYfAEJGAVQUMQQrCodG
CgEgYBTAIGzKkFDBAGQwCBAAJgWC5ED7BjCAAk+RYDTDMERwERwBgQCxgYJhZdkxh2Fhg0GZgqDzEW7ohmA
IQoOhARmF4ShwMEASmOwPmAoKmHwXFxWkpRmHAxGFIvGIoVLUUxd4mBNHAQBiYPAlDIOAl3UEaFJksRhWHB
KBQKBZnBg8DKrVHyYAHGQze4mAsvC1NLFMoWACBYBLcrHBQBpwJIKDpgx1qC8yAC24MiaO+cg//////
XtO//////upSsH1HFBoETauAsfo/////
cmeojfgYMaNUFCYaEAUSAEXhf0Y4MVAkDELDX61oi0AZUETr4Z+GDAbVJCyZATIyfwLDwCRgWvA2wCw0LGS
q0TaHqh7InIAQCKj7mKKl//////pGJDj/1qAAEQAAACAjbcMNEZQxlw/zFYB/
M0kLIzwWETPJEHMZUUMzpCjDFGH/
MrcqozIjRDAWQ+MIYkMzVSDzDUKOMkYEM0yikzYFHnNNghIxAxzTPoEaMWkM802iBTJvH+MbsP0wvgkzDdB
TMDId0xvQwzAfBkMooDUx3hpjBfDxEIGgcGeGACJDmA4DyIwEjAFANUuMCQLIwfQADAkBBMBMAt+QUAmnQz
xINt0fWurAqXhgEQkBgEAHvCPAEK+fKDmfJ6GASAy6qQqtbEWcJQrthLNkJocAKysdADIgBZx+FryplgCAg
aGt2G1LGqsvLYCMAJa7covMOGl3MVbzI3LXemu8kM9r/JnBU0iMRe//
uyZIWACtdmST57wAAxJsTixRwAIWVdKnnegAAAADSDAAAAt9od2xFe6k2SWGTxjmH9r9sVKechMhl8jo5DV
pc5flSY2M62UalV7PDXM99w1zPfcP/LDv9/8Pwt/+HxGmjUqsxmU2qarjS1bVN////
7BdQACEACAMB3wZ///KFvzP/+n/qOmONhT/+IgLhWNEVP/80RhOC0CQExqOH////
7IqsVAAAJBA1FAOypbNijeNE0MM3zrMVzWMe1+NR6KMIHzMBjoMKA1MYWeOKigMmzmNzN1Na1DNLzgNaiNM
/
EwN+DfMIRzNQjUMVhLPMjGNhAVMkWWMHhOMUQgMJhWMhQjDgaMyTDNbEQEAgJhg4Zg4GkuzA0CxoJ0oGQgg
DAMDQiAlL9aqM0Dx9wl3KdRWfaQpi7N+VgIA3Tf5XCq6YwMAdvXkdxyoEyLP0gCBBkcpAwBpvKXQdA0GQzG
nDX0+kUqxt+WJqRlsulk3co6WNWnYUfYdDMgynLdPEZZDkRnPp6GIyFaqPkCUUCTUlo4Zjk7DUfnoZ3l3fP
1//////////
QXpVQ9pbnKa72lucrVTLO0iMrY+Eyd0gzUBMiM0dwk4YFDDD2ZPMGJZcyLh4DQmM8MqVG06fCMzo0XfOTCe
wx+EiTcteWO0cZg/XGmDkSZ/
Mz5FcyGT+zFlDOM+I8Q0ITRTNsNNMpIQElDLMfEOMxSguTGAFWNUxOgweimDJbB7MYQOEGACmAQCCgBMAsf
AwxwYTApAMMB0AIyEiTDBvC+ME0CcAgOmAGAwVALkM1cGCMAyYJALJUAToVhDAvAwMGQB8wNwIEPmepVmAC
AAKA//uyZGEACiw/
RwZ7wAAAAA0gwAAAIzD9MPnegAAAADSDAAAAJmAGBSYF4D5gBAFiwDggALMBoDMeAaBQKiAcwEgIhUA4wGg
EBGBHFyyZgNAvCwJwqACoU4l7FXYgANMAwDJncAS+Qq1GCKCiYVwHJEAFbW2YBQACNiKqgakHhS4BAE6to0
AE8qqbL4taFgDw4CFYFFCdQrdiBXhHQBgwAwwEgDRwAJvAABI0SqlbQAADVK0To5DQCFp0GKpmVEh4emBmw
PJpOEBkGchzE0BkehBoc+ppmY5vXjB1dVh79LxnkHR5jHxneFI0gZ/
3LJgEIhyOuBmss5hORhimCxhGCRscChsGXZoKC5m4rpg0EBjIS5goHxhSCYCCZbJhITRmiD6Fi+DEQux4b1
ptPBQ7GA4GDwIKVrCEgGBwfpzKnMAQcIhRMCAIVTh0iBEEAWXTZALAijGshQEmBpqhQETHyQAzA4A1JpZCo
HIFigEkQfiEHkaqFZZggABAAgMBYwHCFq/
tjZ05gICYwjABPPBjawyHJsiRC9IBSXUMU7Xqp4aAxiBQAkEDwSpEGAwJCQaMUSQiZWAzPi2wXBguoYCgC1
AxATTDO+CMMf5i43FBlTCSVXMmEUEwpQLQU+GYQCZRpoDsGP2LoY0oJphhAwGjEJWaf6rhtdz9mL6GGaVjA
ZkdiIGSIOYZypmxiGkeml4IGIxXTJKCfM5gWowbgZTPSFZMqQjkyOBLTCiIoMHAMwwlgyDAMEVMQAHJn5YA
fMUQOgxQAoS0BKAKYTItBhKg0ioAxgBAGGCMBYKgBjwA82AgFzAeBDBQLAGACa+AAGC7I6Au//
uyZFkACZ9KyYZ7wAAAAA0gwAAAJUD7KBnvAAAAADSDAAAAXdbMWoMAsA0wBQEhAAyDAAlzrwXeOgHjoDJge
AJCwCoNAGBoEYYCwhxJQDjAsAIBwAZgBAUJbolcYS1Jl4FAXME0ECY3RSpKkRAEjQAhQALfbJA79ue5bUZt
ezck+k48WpM7kNCtQoAHRWV9efdldu5BPzTS////////8///////
tGkSjSZq4PJoLIKmZ4L8YGAvBkSiQmSwM8ZhJZxh6mvGZsUmY7wJpoamvmiUVcbKbgJlZAyGSMPUZnaUZlo
j/
HFoMiZcJGhq6EnmDmPqcSRtRn5F3GfEYkIgnDC9FFMWUWQxPw3DCZB8MhoZQyaRczCNAGMLERAxswQiYAEw
BwETBnCxMEMFgwCgCxCB+YVAFJgrA1iQH4iA1MCUDFbS6I8KgCiIBIwFQD3Yh4VAHMAMCgt0lSwFEYCgFgY
DIRACGBUAMLAyNhRDMAwAcUAYMAcBF21KAwDIwDAAhABUGAGGAmAZDQXBEBQHbm/
HngQDr8AACDQPyaEu8QAMiwExQARPrLEIAbLxQAWXyOJLxBwAcEv5fqTE/KnXTpcl+aNbz/
dtu24DeQT+7ygwOiwzG8TwNjunAyZLZDDxNgMTwAEybxwzCyRwMbhhwyTFezXGXgNgpSYwvg4zQdajMss44
1VhqDXkYJM5Uio/
SARDdYWjMAcoczLwujMWdkMrkl8zkwnzNDGQMrQ9QzdROjNYLaMkQTgwSA6zDLBEMY4VIBGOgUV8xLCMTAt
D8Dh9zDlBkMMgIowGQOBwAx4UAZgKgPiQFhg5gQGCGAwCQEgs//
uyZFGO+gtAxod7wAAAAA0g4AABKA0BFk/
7bwAAADSAAAAEBYRAEv4YBoBBEAU7MMshCoFZgiAUjQKRgtAqgYHKNmBMA2YCYHoVAXHQAwcEWTAilABACA
RIgTzABAAFgXjAUAdQMDADwUBCIQDwKAwYCwCzCzBCAkMCQF8wCwA1qxm9jhMpapCJUpiIuBYAQhAAY0GAM
JKl60VBAAZAlLxBhTntWlYSjwIwCBkAVOdOdV7DloPQYAYAC8n/
QQJHJ44geYTwAQGW9BdZipxtOYtyOhGPDCThhNYOuYI0E/
GGdiH5gkZEYYD6GOmeNBbhjjoyyYGMQTGBOESJjW4PwYy4CsmOAlThkzzFEZy0lhlWnhmgshMZgCE5jqyJG
jYUKZj4VBunB+mim62YeBhJnnCLGLWF2YmJJxifEnmCyPYZPQwZjjisGS4FYYggnQYOMYkwaxiChUgIIIwO
gI5IYCgCpgBAImX0hlCiBggHkBupitV/
k1lArtZooGATKC41IaCpcDgAYMTJRYzByNRCEGDPCw2EGMjZyBYMnOSRaNOMwxIfcQCBgoEAnIGjRABmJIx
lRuYTDBzNS6zz/
cmDhgLDDPjJxtBAYKMjokQjANDS7xgAKCQN+cmymAg7TuZ4joGNHRiIyi2YKJllSZbIhVGYKAy414Fv0wnF
g0K//9f//
74REcGX6R6YBDeRj4qgmasIwY0oAxiFCDmSQIsY6ZjBl2noGrUYCZVSOBkejHmJkeaZcY1BpdiSmhseKaoO
GRtJqnGaKCUZ0QHBgoB+GRSGgZTBQZiXh3miGRefBJqbQZKYnD2a2iIZ6KuYlFEYKGwa//uyZDgP+Bc/
yAPd1KIAAA0gAAABHyz7JA93UkgAADSAAAAEBGObgBKcinQYvCMYxoaZFB+HK2BgnMLAHtIcHXOKfLCUmBG
kGiU1SeEaz7u5EgSAegwQ8mqNsZ6IYMoacGIxgkGM0nOVKLSjIQ2xAHBYBp2TLCjpMyJYdImRBDghBVYmfM
v/
6yhbYVUmCvwgmViTCUFZch85Lz64XYkf3ZWOgWWQMAQ6DCAkrHpJvoAglTNYa1sQYA4fZoXjlGLuuOYxChp
iThnBhN5jYgXmNeIgYyYo5ido8GLIBaZWBFJj6D/
mI8KqZb4fZnbiumkiGMalMvZiYsZGE8QsYsILxiZCtmAAhCYbhbZhgkOmWqHgf6kgaGBsZvEcZgkWajk0Zy
g+YLgsVSnNPhDNVAXMkSnPB5Pp1MsaAQA3aBFlAgHImaAxUaFwBlhggTbZ8//3ARgjgRcGxBfkKNi/
4Q0NkSVQMFCMguAyQkLjlBMMiAK1KqMxSMDmjQCLIYcKYUu1VjvP//
+7BCZTPHqatTPMXTdGxPSRe9+geOe7jUSnMKFbZDxTR9XCac0su3pRdoLpKiQ2TPIfDH6EDQJUjM8MDK0Qz
CMSjHoazDdMTJhzjMkNwVq5i+NABYwyhRM0LEc3mOI8UcgymFDZUkM4oM3+SjMC8CIKZVkZhoRnTEsbDHhh
ZUAoDgo3GHBEYiC5h0bjxkMoB4zOPgCHjFQJY7RBQAxN2nAhkqAMAgVhsA3///3TvuikuhIEu2W+LloJEEK
p3bRQHAMgOIhHL3Wl8WwZ5F2JRsaAIyA2xwn////8JlwYbsWIq+msP9+ufl//BbkOW8jL//
uyZGEABmQ+zIV3gAAAAA0goAABK9ktIhnvAAAAADSDAAAAUBrcJmRu5NYTMmMPA+czJwJjVTYTNAERw17Gl
TSkCbMWcLEzewtjQcK2MIljwxi1CjOWMHMwkH00DycjQkRrO1u1szAR0zT+dBNUMcsw0gsDZSK1MTJPA2iC
jzFcC/
MQwhMxERHgCFgaEhApoZAlmP+EuZIZsQcqeY+IeZhnAkmC0CaYDQCBgSgCmTMLIYkIR5gOgYGAcAMYgIIhh
1gLGAeBcYBYBBgKAGAoEJ5JgwRgDDABBKMDUAW2m8YEoNxgFAdmBSAFF14gIA4wNQWQSA6YFANRgNg/
DwJRgJAIGEABoYEACBgNgVhAVRgPAGCAAswJAAjAfBeEYFRgdARBACxgggGhYCkwPQIH3w2GAJCMAJBcwVA
GXv7AAkBCtsYAFDAfk+rLGEo3VVKo7Vf1G8UAUAwES604YcmaOCjACBNMA0BYIB+GgYFN3euW54FAHmBQBi
YCYAoYAijlX//////+x3/////+tyoyWy/
DDgGAMiSfQ2OyQzBnBtMGktYxoAGDXDSvMLUUM1KVPDGaCuM1IFY0mzNzE5bwNLsxI7i7HjGSJ/
MzBaE1TVDzHjIANJEDQydlRTI+BbMFQTUwVSPDKGHoMMwHQyRkDzH8FeMTMNYzKDCDFyDwMDINYRAQGFOAi
5BgXALmMuKgYcYCBgAAShQAQwUwezAoCaMDYCUYARBgCosAnZgECAipIF1JyXLpMA0BIwDQA5fKgACAYAYA
JgzAUGDkBOEB4GAQBqYDACJgIAVlAJQhAUMEgH8wAgMDAeBRGgCCqCUYLYAJ//uwZHKACpU/
yIZ7wAAxZ+eDwDQAFdT7Oj3NgAFZn+KDgPABgXgVAIIEwMQJxCAOMgWIwdSUFgHHWMBACoRAUpQ5o7F12Em
AEBQYEIAK/rywDsOiCgC43WeELAMmAeBuYEgFgCA0HgABEAREX/
lCJBgCAVCQFJelNUkAFZQ3KLmAKAqYA4DIqAwCgSER6/yflHhAADgUAEAf/////r85+7+JgBnkkMAAJhB/
oNp6YwhKGjW/+67IaC3BI0xzhVzdP/
4DAQdF5ukVGP4+aMbJlM5AENAodmXxOYpbZqU4GpiqaEEZlIJGGVMajshksemwCmaiGZl6OYMJmKKJAahEI
KGRn7QZXHGkG5oYgZqCxJEEHCJjASECJfAu8n2Cgdpb+y2QWsLrptpIHdhjLv///
Wi8iicVgRqTbpfoz2VYlLn3VnYg1a3EY1KYKfpkzKnCvzn////xbmUp5VppbKO97f+vz/
+ZpIllyWulTU0hjPI5l///////////////////8Mg+0vhJEnE3QyGqwzCWCGF/MItFwqYz/
UDDGQt+uxxj7QtC2NweZtEbIrPAuzrhYbPSl6tjf8KRUE4PxaNAvigQiI51s53bAQwEmRpem/
W4bruRr83GIhsYBAojLRldlG5J+baY5podmxCOaeZpnxCm4JwqIjG4J6OK1LjGDImaCGEYm/
GnPIhwEyBkwYEaGmRALKJCBhSAkBX+WQZjI8O6l1iu9sD0EE8/5RP/92q3rywHEGhwIwxFEuSsUwwdcK/
FNGiUeEacKBousmNt2fqH////91bN6W4XrEdmb37ouXae9v9w7ymv1oBisfg6m1b/
+7JkVQ71Vj3NC5jTEk7ICLAB7NZVBP8uDu8lATugIoAH41Gb/
DEvGeaYGJpBglYX0sZ5CYKIMYekFa2msuE8XR6+eqBgmVZuQpLa1t44v1HdfYICQXDk+framQQtZ6LpDFcj
EKYWBLviK2Ak9PRoXocWYaGk5IFY7maE2S3ExjQ0wkAtCYYgEFoDBlsx2TNqMjfFQ3chMdpiUIMbHjcFIss
BXzZeDCDhFPLYx5zB+G+DFqB0YBHLzt3h5HsEhC2YDEUDQ4SLDeNV5bTgQBUdbnNSqp/
48aEu6dnGzOaOgCIMeWfdJCLpoJcNnfZlbXoIh10nhaFYhTjVfz1/6d21BFiYkOchrWeffj1qCLlL9L25M1
95d3Z5jU529/8WjpxTIFLhyvl9EHurGaKrixqUtrKfTaTyFBVKhfHKuGxQQOyKpVM80XKIUGU1KrnY/
ONZgxKl2B47WmcRZd7TXTgZh71PS6TaMh5eS9oBDAY/
DJIfzxEFzEr5DUaz9gxKgKiQFOOXMFWZndQiVj8I91
s0eYyLEAgBk+YM4bYWZkAakOZJAFXJxhZs3mGWCOBgsQJrmL7IwopQ0AsUBT01//+/H4rAPv/9zCpLf/
WLWYdwm32aSylRtFB9BoABNA4RnrQ3Wd2PODEGDSqhuzMZscv9x38qqS6XzVuvLrnM+1ZTGZTM16DmHe5YY
2LOOvyy7c+FCJk8dZc19Cp0XHOoYWTeMObSWSySoj7WK8ucMVACFGbR6feSUsXfxdDQYYiMoa3D7zssmYjL
KzJlyxuBWZNbTQaA7TrS1hsZpZx6qIaGBhijxsOsZlw+hkj7ZpsjRiGDoOP/+7JkhA71JD/
Li7rI8E6n+JAAOdBVYQEsTutlgSMf4cAMm5AGZUrzMRRN+UBX85SEwioD9xFBAk4KAgqiMIKNUjZ6Z84IQJ
WaN5iOBK0cgAUoWoSy3q/GKDQ4Cgow0gConLab//
HURzh+64HLjcbFE+36lVyfvwaougWDQYiFigOYQYGBBYZLcQCorP16CGoVInJgSX4WqHPtWazl9uxWq1K/
4bx5q7Vq14MkVLcx/+a+ntRl7P1+Vy3/5/+/VwY6oHhMB0z0w+06hl5rONchAktkIDAUokMpJHZsgKGXK/
6plhS96ul3r2iCTSbzwOmoM8za/
Vwjs7KZ25YrBVALTeUjAQwHHo2BN032Tc+lsgzQP0wiAE1I4HHTIJiY6Z2gaNoY7KeRKCxh6zAJsKRj14R8
Zh4QiLJn+MaKhlkgAo0hVMRYZNxYsWVcvFGgyCUjlKpB//+6C9CLbv3pI/
rubjuFDE4AfCzStGdxL4kCLvJnNVEhUFA4WJKMy+q5s5emHQkVrt2pnAUYt2Z6pyvTzWExjL+5VLXY3L7+v
u1Py52tPzk7r7jX7ufzcfNP4IyM3gDlGuAZMiwB0IpkQewwwxkN1NS0IgRNlRJJYV6HXfdaIYSYFoG2W2Bg
W1Zwy5wn1BoD258y7/6rAKdsDAwYCczdOc2AN443fcmtEyNDotOJAQBgXMEQcAoIiIPxGHRimExiMTpg8CR
gSEgJAUwYILokrjIIww6MEjGkABPOwOFiqkUfmboCUEKkYCEYoRhEm3RhOf/
+6exTxeK5x6fdnj224Ld6Grs52+nYu5krhrkCoBaY8ZTFbx5ptW1lst+2tLf/
+7JkuA71JT7LC7rJMkVnWBAAGW4U4QEsTukvwR0cHcANZ4DEVA0yKnDMEDi4+TidEfK7S4OqLOft1Lx8Wyw
JsubkSuzdyjf2VQ8CEJvFpb0OEGzdAk+bIabvoeQYWFMgNpCeyfZdELkJRiAkmBQTAkAxwkjzIJLqAkUWOR
NTFAAK3Yu5BbZsLwyG1xUx0VziZtN6jE+2jjmLhNbnc1yozacZN2wM6xIgoezRK9NUv83PYT/
ubOus00+cTSZjBhScW/
mImJIYGTHRsCMZOHmviZYajuSM2QkMaHjAA0EipQdotg4RDAo00fDbhiFPQG15llRWx+91GPrYWZKldqBto
gISBUrDlgp5jSy9ShHtY7KB8YLOBiEwBJCEhracQce+DDK9b+dtQzjr5W4j+vE1GfXZEXqbG77B5dPJyNfe
KVwZLLrK3ETrlc/
G5TG5VUnJXPzUQlVzOrblHA8ADzPUvUrIY1hQBafVhSuwUCIDQ5Q2zAYPEjQZBOhzgncqYzYMQBUZuDgFIt
GGIgEYqlkQwEDTwUuaIjGZgpisDkYCHDEVhUPkSl0walaBRklEs21l1kYYFBMYhFwZsq0cprEcKmgRBMYgG
OasRad/
e+cVxMdNeBnkRGFjmbswp04AHJTIcIV5uQQmGgSYoFxhEemhjOYWCBl8sGRSEYXNBsumGWCKhxMIAIwqEiY
ViMEhAJZj4XORmMCIAiyKd63HTexmTJWUqONTgp84ag2AYBhANArsyDHLHEC912ucxFnqSBlIj8DhM+Btj5
FbpaZXQBAvNmsQf6dy7d5x8YIl067LTpDBbtP0miu2LMCpm4uS2tHLrzL/+7Jk8w/
GcEBIg5vDsFgnFhIAWcJaXQEgDvMJwWuvmwwFJ2GbFaq+rOYhLX1xjMql2Ws6W5S7AAAGJ88wF8TgC4lBVA
+AEESDAahTg3iAGn/6nkY9EOIgXgLhbAUFkdFsVCQxiAqTCwh6f////s7ekzZAwoKIkigoZb/
qCNG9BCCciSChJdLtkZtGlD+5BQ8STgAAC3TCy82NPNHxD9zoaYDRgUs6HGJksYYaABcsYsYqobM8Bkxp3J
sOo4cCwIzqBcIYgEJpTEwogsmYCSBjRlg68mPoLPfHWYlxkThLIaileqWdQGUumVDZ4TWqdwqEvccnehR1M
urKZRMUqeFtJkhSHG9DYThX2t7vP9epjyfRocGtltUt0LEGZ7Dx3qlexs1jtVEUnpoyqSUqscn6eL8yyjP9
5Sp1ZAOTn7zjFTUW9A8dEYCC4gsIAh84BSwy4QUAGoWaBs+JcKpJH/3MB/
EFRP5WE6CtAwAF0yTIAXjhUMh4HPTGcJ1P//////7AT4x7TVtcQH71B/e5M3sP4fhAkkN69VAimao//
48DYQqwNiAVHAwmbEGBnQRga+iSJAwIMYDgzCiyJDmKAqYbCzlGJgqZ2B5gAJCoNNDDQHzIIkDEmWWjySRZ
OSZ3B0EH08IEgaYj68REKngqgXBcfCYcZmzwSViDMmcyBrTB1VZAtmDVewc/
kjTucJwoCa08Oc47+T1MObmyV31o6pIVCXvrUBO/
7gPDyyecUBsCiaYQSJS1nrgsw1PYpYQoSuLjDxoPkye2gp1T///
+evufxlubOqnG8ZxwrfZFLa+jJ5nGCRfoQAh/0FIIMm4goQANXBz/
+7Jk8I7FgEBHG3p6YF+r51ACa9gYYUESTmUvyZUvX0gJKxipCiCQBaAZyHrh/
wngCjCPB2N0EE039ZmMsLhHeOMahRE2B6AHSRxoMx+AUAHhWAADqN2oT1f1Y+2p55n9D84dVyAU5UlP8lFp
lHkqREB5byUq6mehpRUATD0DDo8ODdRs0OAMpGzbj4zIDKzU4iXCbgdDAURmDDJuSAYaLG5NKlp1IyaVKDA
LomhMlRANQwKVOWuDuhpE4YnFig6AIhggCLnEYsLhHlX1IJErc+yZiMQODxR+10wcUElKXrZS0VHB/m/
VXEA9hrV68jfiH6eGnmj72qWzcO1mKPRK2MOu0CUy99Icf3+LedLb752bcbgCJ2KOc3n2axpcqeWWJVWkVu
X0ksqUv7l3xa1L8L1v7/yhS8jDYxAqrQCyjK1hU0s4NRqW4NAAgX///xqV/
G1AYWIbQujIOwWxC0kaijYRYSRotUTU1fEzxw3//29OknNBC4xbzkZYbawNr2VjdKKWz/
4p80tJoj00Jdq/pS//4G+HZGnUERPlRVJsx9jhdwp/
gsPw8w9i87vLcyrCk12DAyNKIWVgBAaYSDuYQESZBBKZ0AIExtRBs3J8ohowQIZm2SnniAhaFRI6CPA7cwG
KzDDjruzEtULTUBH9VXCEplCAcMbxTZlAcEQckT1qqjgNrRODHDJJSpzQJyzDGO46FlXB8j8HkXQz1caZC4
griHl0UhQsqEn4n19rOoxYJIkezFc3MijkZlG8e3YZVC9kZYEZuZ37xtZ47M+YoatWIESSFllfwPmi1WF72
m1n+/+vvdN3/z9e+N6+P/4eTTj/+7Jk/
A7GdUJDC7vQZF7q2DIB48haDUsKDunpwTofYswHoxD7UxeL91IEDCTf//
+NfqiFSFFalNAeQ1G8Xg0EOZz9bjdMph29t3EbX/8uP1nlJKFQXjxpZykoKIhYuVI4bT/
Bo8FS4ktdxW0qypbS7R5gq8bY5X0qTEFNRTMuMTAwqqqqqqoABWMYEzOYSWMiRYMY1LDBjMeQTMMQeAIKih
GGGIUJmmHAMoczBQKBQODCYFjAgJjCAhTSlNZktuBxQPGZghoBgFMVdNnUihAUkiC45jghAaA4HArKSHW4x
KC4jB7qUTWH6YKuqROFLG6LhZu6jY1/
tyb27PtnpYMexk0CQJHIy41yd5Xhmef+zLQdYR0itGSDKOaNtdlttxOgGxIiDImXajNksXmoSrtIFIBQSQQ
QWYi3vvO1v//fst9x//////jsp7X8X703/i0H3gBGV2/8Iek1MlWj4Z3qpMkvISN9lcxeZX0cxtZ/Uu/
NLVStL20+Ew+FthzL5s8Uly+ApIjGhnFArpq9jq5AL3f+JVrCLvItUSISGXvBwAAKUeMT7T+6sx2OO8liYQ
MTNBGMCFFMAMQgYIlQDC4VLTMhQztJT0MICmymEGZVBQwqL+GChBAFF4C6piwOBhcCjqqrgkoyDgpxHQdWG
nDchvGlrrfmLuUgSLYh3jqJ8Li1OQpadcDwOMdbE82zLzenWl8xleg1C8dsahuhvXaU8rR1pvudDZHV8JwU
7w+nks0FvhywJ2tYR63tQPWuCzN0MRhQNY9xqBIGQnaF4b1vtTuSn//zG///0V2e8MZt/
9X7maAxAACUzJmZmZn0zYRCklD/
+7Jk9gTGV1dDk7lL8Exn6OMATMAY4YMTTbxZSXat4kwGNyGGJS2qAXbVKQBDwuKognfaNqqvP8PTGkMlZVd
nVvTq6ARuRndlyuYOQlgWCMoWh+eYUjgRkIqEMOEQwNoeaX///+lTqUp//
nNFE3VzqD9C9QACi1irmTdJuITMYwHJmwOmbgEBikECMyIRyYAhiJAANEAHJAwYeABecwwBQ5vGEw09hhIG
AYugQMt8kUgeNCUwiOAUL1h3hUNWJZBADgZ3xDkMR6RMtLwS9rogJM4Qt5EG4hoUYtJnpMlZ2F9Z2WE3KZj
woVCfFGoyLlvUcdjfuzrRkiEz0XaZqc7cpk4oYDXVwxiBjdp3KXbUr7NhmqJiUAmhD0QDLAAYDeqi3ibCvD
HT5Xohy/+Nf//////R1uo9Gb/
VAQn4wrwUAgkHb+pk5A0aSFJIzCka6y5IIhC0mTujiPcqEU2WLupPzz6jX3/1/6+/3G/TLYobq9Nsf/
1xKd/
qPdsYBECAUROYPyma+kGb00GsnpugIGUJkiGBBswuOCiKbAoaEYOIjIszjijGGjJuz1LioHABgiGipoRoSE
4MkzJmDmGjVsjHMELjKlwuONcRZeMJlUlH2tpcKqK7jiOywqXbWaJnzTmwNOToGQKG7K4ChmRl2lgmXPIye
ho4diU4+bD8n0aXMMKa451eHnLeZMqIQ6/UUfCLPG2sJtU8Tj87DUIyld2Oyy9H60os4/
xuiPKKCp06GAL3TqBwZhz5sshxrTY7LWKbWGHP/////////////////93OYQ9lvX2rNJ3//n/+cZzmM+/
uzh+8+/uXwHG4LMAsqzL/+7Jk/
4TGVlvEm48V4jwn6NMAKcAdcX0PTu9AwZkf38AMvxDvRqBh4iABga7wCSxiyDm2jOS8aDqzoaIhFTvxIIlS
uTYLqPQJMXAFWd5CS/JpYc0SnVomRyTmucTQl0kJKaShyfseC4P3TnNpmrCaml7NGLaoZw1////
y0SoAAABwQ1qY1nOYHhqQgyZIg6Y9E6Y9AsNCSYCheFgRMTgaMNgGMKA0EAcGNwXkInmIIMEhSn4DAqSb08
ZO4aAOCwBiyJsphigRgZR2H4GUgoYZhcHCBQgY3CZUuvgeCtAvxyKWYaEAFBUv2X8VUMiBFp5nQQQiQRo5p
iJqmCDKkIhrB42m88bLC4i9awOBpht3VXa+tNPdYZFByKJ9ZcpqmY9i8FoNEh6BaSHpuYhURuw1DEibzGVQ
zDUoeFIuFRGaxQ+T7RZKw6u0C050rC1AFHKYJ0qJJsMARrQDtJl9iwJvtWiM3+tT2dH/////////////
r//nf/
V3D8oU6rahcEOBBJmZIWYJyaigd0iaAYAEpKCM2CMcNRXXIHDTEgEOxmyQqKMiAQlNPikM0EPZWJElSlbLF
KkFoDlkxFsbrguLBjXrczUm5yXSmkv4pbUogckt5WYwUQGeMA4BUTBswYkym9FrMHAIbDJB18QwskHXMFNA
uTI5xHwyx0MSMlLNHjDygNowNwEMMCWAmjDXgYYwCEHXMHUAQzAHQGwx4EYx0G4yqD8BNMYsASFh3IjJMji
qMGgMM0DZN7ZLMik0MPDtDM6IgtMOwMAwPvg+RngVBjWBQcDKAkw0IMhB4HACn2i8iYGA4BgBekZBwaChGE
xEBSP/
+7Jk+oAHT0JCHXdAAGwmx5CgaABp2XEUGf6AALEQW3cDAADu2JBaOBIkWyVjwBAFI8eCJmCUCYqyBGCY8C8
+YagusE6Q4ESI5fUs4l+GA4JAg0udsOkYpBUY2iqYNAKHAGwHKHTEwWzCAJVROxaqzLmszl7aUFAgLFgCc6
KqKN3TwAQKBgxgINhwKC5O3KMDQIggwHAJRdNECAGk89zkWc9YYbz55bZQWXblUzlSzXLT1Utv/////wt/
3P+Yf+f/397xrcyq9xrAJh3gQHTVH/9oUAFAgAAoGAAAAwHAAAA/P8v/Wtv0lJf9yChgYQGGr/
4FYOSGbIB/KrYP/
oYPAQCMIbENzQ7RBMxGoKcM10IfzHsWfUwXRCUMeWLUjKPAvkwv4H4MRkCKzJCgtoz+4NOMCBBRzAdACYwl
UCABoF0Ya6GpGAwAJxkkNRkiIpoOR4BHIyPbA0hK40AG81nA0w7KwyqN4x4KcwzGsxqQc7qbUzHSQyhKgwf
CFAxmA8RBggHKAIoA01VNUxoFAuwgoWfMCgDMAwmFgLS9MHAMMGgBMhRVMQwTRkHQsMDD/
MYC8MoQmIAABgAGDYYmDYYMORgCwOCoQiIPzA0BC+T/
FmzAMJiYd1UAQARWEBgKBRgGFjI1Tq5x+OmPYzmBgDFvA4H6K/
Bpj4OQkQAjAZe07fkt4GAahOVRbcLAerwwGAKIRxQGUMXVtGgSBICMiLOSpRqy3ZMkwPAJB9VAiAd62P5//
///62n63/////s0gm1a/////////X03f//////+5zf////////
28zAJxKAz1ocvM+mCFjUuBRUyyQY7MPkFwzD/
+7JkuYAK0GNCjn+gAAAADSDAAAAhlQcMHf4ACAAANIOAAAQ2QuQxRYLoMIRAvDHggG8xCAMbMGZBRzB7Afw
wRAAxMERBfTAyQUAwagFoMCxBczdgBNcwE3qSjLS+NVEwxScTQZbM0Po3EhACizWx8MEus0+EgFIDEhPMZi
0xEdCI+GcAUZTL4jCIGBAUBwqA0jF9AgAAgABgIAIOMJFAwkFAYRzJoXMhCoiPpMA0gIu460xYDkQfMHAMC
gYYB7hMqFQeKAkxAGETwMGlKAgLr8T4SHEguoch3JQTDDCysCNQfxqqIGFNq+4Dif3/+ra/
VeLtPlNlaEn719kj1F2OJ2lt0JIFASgDHEO6lS8rNM8TLXikFqXtMITHAjfviKcy5nIlMtXAbjKChBYFEJZ
gFYbKYKKI0GOvhV5iagz2f/6kZlO2aBQwdJ+
+btngcQrObQCKbepcdWukdWJ8AGQNFEZMwWGMe2DMMU6NOi0NxCYOIF0MjjsM6hRMvTtNVGDKDUxEAMbKzI
XU9wwNlYjOl00NmMQPTYI4yINSqMXJwdRGRAw0Cm/
AocHGaFxnpeHLAkmtwfZ3XQL6tTQIJSJkIAzHxIoYAxCMEJTISEvMIw4zYOL6gwBHBJBMxhkJgYMRPojEoC
FilY6fKHr6zl+UCoOXbX7Xp7f/
z9cibhtHo6ihr3dxVQL1mEBJgYMYSOuQSlhhoCHBgOGkWAaFv4plDTLppiUz0wQ8L1NoPFITPfhg82u0F2M
hmA3zCYAsEwKERJMPfCnzGFQDswWIh4PRLCMh12M4VFMn/XPg0VN70kMwXMNNUcPZ5bPZcPNlXTMvyXP/
+7JkrY/4dEHCA/3aUAAADSAAAAEhiQMMD/
dJyAAANIAAAAQNxFIDcNK0kMDjQB2UGwIOGTBKm0hcmLx0GQ5lGHhNAaGTLAKTA4UTUgVgh6DDYYDBMNzHc
ITA8KWbIVqbmkGHdLmPwkb0eEGF0oJjDDAywX7p4QI0IgApqiowSFKGgoSWxIBCcwBVBSCgPQpMGMUIhgkM
DQBbBhAheRSQOIxcwZFjwOLl01/5UOCpU0EVFLILkf16Bnc/PvwSCBgUkhy/
luYoUTTGCwcLMgUABoaFGBJJiLVBQBGhXysaX8prYjUwcIYDNZcPRDCOIqg2wsddNNrMUTGoyZQxdoUhMSB
D5TJdg3YwHE2QMtEEhDDJw4UwK8YUMQsD/
zArQxAxGQHiMCeERTBlwAIwZAEOMJYAHTBMQIAwckErPqRE33MjUNzMmUYjBRqBfGr1GaJRY9ATHiYMdKMw
KOjXS8Mjnk4AdDqSsM+JMyQIjRCKAwZMNgscDQEAZ6bp6UhhkBg2JmaoXdmnJmMPGOArlXtMkJ82A5MM3J0
zz4ERzoQEOJpVYGECSMyr8WvmOIHOtGpPFmC7JniBgzphxYyCMKDM2ElxnoxhHQVSBxVLLDu5UnGqRwFqvP
Ab931aEu2cJFv2XmIiP//ajAy1qLhkCI+vN0EJTZnkJkCZKSMOTCg5fKCiNUh2AEr//////
+aHNu6f+aU1Jiq7/o80LJM/
80OFjJg0FiZkwWAMAMZ5LiTBCVJA1VUCHM76BRTQFwmw0ZAycNBsMrDAvhx4wP0f+MYJO6TH/
xWgwKMA9MNtE7zB5RgE/Tgs9lAYRWCaONAaUEyZ4OT/+7Jkx4/JB0BDg/zUMCDgFjIAAAEjuQMWD/
dNQMcRngwG4sgayoOZYkCYTaScB9+eZ5CZuE6ZqESY9GmZzkkLFCZdnCY6FSYsj+ZVgqYgoSgqbHD8YFDgZ
RBUEQSZkB8YFgYYEAoYaAoaAWEdANLMIiNBBMzcMMWGBAYnQqSORpHRYkRKo8yJU6KgoUmWMDww0BgiOGjo
lqAMuMCCNaBNW6CwUIFGRamBHgaADjxmT4BEmuXGCChU2YdSwWT7z5VlClaiQswrhUG91VRZMt6WQLSXu03
L/1sVDs2YmYIAAAoNAhBIIHl+xkCmMiaCg7OlTwmpwcAb/
fv2+7DvJIFflyEwBIZS3zPSzYBGURM5SoY4MAzGaU4Jv8W//3+/v//+/oR3+/
vVMzwCsy2k0DGfcmN1MV406WOjKNPCNc1co0ZwHz8mrGNdk5UyO2ejV9CuNElwo1NiIDI0NoOoCxMBNvPw5
xNOTNMILyM1lOMmxuM2AYNX1XOgroN9q6NCWTNM1DMq0EMSBKMmSbMjygMIxDMWQHMujSMgRpME3NM/
WDMjA7MEQtMnwEMeAtMaQFAghmBoUmCgDrAwhew0jDwKiDiDLEZsqkly2dD9JMvANPhwyjoZYgHMGEzxCQE
QHpfAYlaa0hohDmXAFjU2A5RCORGraDPzzRJhudw/
4DIg2lLU4h60LB6AECxYsCRbC1//+0n1zJiQ1Zfl33RTjZ8lBSt4iaxKnb/
W7ldBhK0v8NA4YZpeaWo4a+Bob4n+bnJwY5iaYFEaY8CcYbqCb5HqaPvORvcaSDgahv5n0qmEBABQSXAU0Z
PAlsxeAdzGhOJMUUj/+7Jkpg/4BD/IA93LUkHExvADvMIgTQEkD3M0gQCTHYAN9wAQ2ARCzB/
PTMLgR0wRCETE8UXOmI304iEXjOnbMMWEK4yfppTHMI5NX+YEx3VJTIEGHBwiBjPCpBcF4y0xVTBRKBMPoP
Mw7R8jAvIaNcoJAxAifjENA5MIEIoxEQSTByAGNYKwzs9AFJzUS9Ma286k8TmiONCjszQCDQhPN2jowmEgu
OwEmjCo3QcGgAiqJBIoZxigKUbOYPa8CRIIUeJRwKILEpEGQOZCxlgBcRx27CRoKPIUy4q6AarAq/
mTuagIKF0iENTOxCy0Pfv/+lTkawGFMTBgEszWADiIEjTOd///
hpyVSgoNeTusYVrkpMU8ansJdaaRCufvW6yi4hAjEAoHCphkCYWE8ZSDccyGkbYQ8Zvg+ekSYa68Gcc5Scy
LAbmUEfONkY/Ggf0NEYgAsi6p0+8Xk1/BMLYCIxbBljBHDbMbURICiEmE6CEYFIBph
MAKGbsN6ZNLVxs83xn+05jgExruqpm5rBr2hZv+dhyAaJnYDRgOOxgaGZl+fZkwa4wMJmEGxraRByQQhpGO
RkAPohHox+D0yZ2MWPTMyAw0nM2JDUYYVcD2SUxwsMQTjSjQwINMTFiABXC/
Tpw4FQpn7ScrvYy9cvVgfVvlhU+24IpI8vwkAtlWtWNLZLOWF3I82jPmAJjKCqIOuzNhtF//
+fWRwU58MP1RX3qeSVz2XOf+s+9rwlnagkJhVVYWHIOw5g9OH//7ecDHnCincY/
5grHZmSWOKZsZfxipjgGdmQwZnxHZvGHBGY+m4YjTexxBFHG/ywaZcjHJgUH/+7Jkiw/28z/
MA93aUEXkx1ADPsAZ2P80Du3xgR0THQAN+wCBmDIBkKAFp/
Nzi8HUdgyqAg1LHMw6HU20IQwIE0ylCMxHIAwWCY4XiMzAng+iPIxhOgylI0wTMYzZVo3ZY8zSuU+ciYz7I
gwjCMxwHszFQUxA0K6w79fOP9jPsI7F0OsETckcyQPJnQx4SMLA0wASNBDoMjBiZ6YykGIBJqiKFgwiB34f
GNrfFgFTRqgXAnsz1KXDn0U1E1TJmTEBuQuVucUCAmD3dhtcMXUraC2y54HjbLkIJADAJFr/
0hPGAuZmESe8miYEyOtmyta/
8eJnp+RSMKHrydYXGmswpv1u5drGDFYOgQEAGZ65i4k7GPONwaMJBxiSCqmMwBqY/
Q3JiIGdGbyUUABQTCyF2Mt0TEz7DUTIxHeMCICkkAIT/
aRAkH0XVTFILzB55TG0QTTcQTBQjzCAADJg2DOIgDbqUDAZRDs0wTJYAzMIAjAQACqbZkbAZg0N5iFc4UMR
2VNgIDXxEigDsCAgWAiOOEQjOG0yqpMhGDdxowxHNGSAKFJLAkfM2BxAKGDCwhTTCC0wsaFCJgqiwJhiJoV
ID7FeFqKX/ZkqsepOF1QkxyVHuF6Q8vBC1sGFKbaUUKhMM5SmOpFELH4EFfRYe8NiuhIFKHMf7/
Z3uy3GQqIizrGqL+tQHymWF01tJ+xWRU9mk/
6/////963cuwYOAGAgEAwdmKAKmVjem6BjmMAumQ5Em8TvmjQkGXJXGL5NmmEMm2amAqAzGwMjEVKj4f8/
wzMdCggBdaIu9GaYwWEjYUZN2i85sTwuUQMjDFqMMCGg0u3/+7JklQ/
mRj7OA7t7wkoExvAHu8IYIPU2DmnviMsR3UwGvwBjH7+By2NKA8wqVjFIMMmkgyy4zli1OqA4gyCRsxYk7m
MpSAywYhwapkBiquwqBMIfMh9OVdNw/
MEXHjwQBb4BClsLuQAgJyIwgCKMoSJbsmNAaJjJlVX4infWClSGLdWql3laxGGHAZMUbdmKZCzvLgompLjN
EILc6CqFKQ5cFtPBUqRvY0U1oxNPVIyEFJCqkIeEIE8H5Krn5psLYoNQnJRVgsjlWrYVm/4/
zpoPILqElHwI0CZK05iDIWCZL0CxBogHwrRcXkMY/iVxL/th3//Ev//
ER7PM8jI+tTAQyNZvg2GMjTSHBxsMGAwEmIyKODBY7MgG0xxBTHhNNU1EBkYGmXLhFg/
Zw3Ts5B85jEoDCis2z0+iEZQOWnuOwOAz4tXAN8AVIEwuhZZuqGhX27gGKVOhqUF7EIlKnb+vy0VtZ2fp1H
2mONK1/
l9lXLqXs9r0KWyVuteQ3Feuuv1nTIHegpdz8u7t9naoaRf0NxpyuwAtIu8gdASw0OUzLm3TpclS2BVhpRNw
zynzf73+ytf3c57OPQScOUADdhDNUx3Ha+MCOWjoJYxcAyEGDnuacUVklLIE52ZEgwF9rAJKSsJsA6BeMGO
DKJ7mEarlcRxTdpZbMhEdrERGNFrC3AOuwCI0wsxREEYuYQMmF6YFETFgcACRlo6FYIw0DNBbDB0wSvyB1N
dLDUoE1RZMaGDoCzIzjBBDFmQ84ZpEFCwVJGQIGxFmeQKlHi5a8mWiMWCiQECETqSN4hxQPmi6qwqVYspIw
iSekxHpPNDhrPb/+7BkuQ/
1uz3Mg5rCsFDmdsABuMBWcPcuDenvAUUZnoAM4wkTYS5oKYQgR4IMDwYA4jDFgDQH4uVYaB5JcohnFuYVCu
CS0Zlp44IdVGKZ6uF0hSrb7r8B23KqQ82KdU7YVdBcHNrYzRaXjuMy1///+0k3NIzg48KlpJF+EECAE5XTD
HFDz1TADgGZLAmoT97POUASQk0REC7wE8OuFUhnENGXAZAkRRMaPEkMFnOoFBKUn3IBGg8nikcC3xKdCTHw
IxYbBw6YycnkIBkBGPGBhQUaMaKjNVVDFQMwoNMXbTWSQyMxIh0z1wMfIjCEcRi6SBwOgPE4iRjv0e4fLHd
hLsDELxF5lYwE1iS14ZYyrCnSwmomi1dnrTZ6JMh1CaWVU0taTGFotdsMnl7ol6XJh9LRa+cujMQelftBEX
ZZy3Qc4uBg+ygQoCy6gPdeCI4oGgQVAshTCImND4JPI0cVT+ExZot///
4bqUrPVJDp8yJQHHRUEYQUbQAMgENjnRDP0wVeATcnw3/
bwNRAVYdeYIqA47NhCSDGDwoNYwKmBHDdSV0SmRQXcskEhtudEhiEApAWIAFBFXSYmdgSZ1AhiIwmP9me+T
JhsimYSAZNBBpciGGTMaJYpgQTAkOmQsqZHMRkkqmtWoaZi5wX5zDBpUy4D3liLgHaRQKdwsDBBkzJlmY5W
NV46zg+s1FS7JfsFhJdstNhESdY4+i6VnCoJQRGV9v2KAUzaP+1t3quczG0d2bp5I1BAyYzDAaAgKR5lTlu
SqdqLqvs8cohiV29O65TlwZ2LQ84U3TQ/XqOc8tx0k+4SsqPtam6eCn2jFI3N//7smTZj/
UxPMsDeExiVQZoEANZwhh8+R4Oay6BihmgAAnrABbL0J1Nu4sC23+r3vy0LPJIBbBnFJ1YJtEpxmpsfZ+VR
slJrpxpYhw7RgmogfgwlL736yoSA+ICBwRYMdGUSA5MaKcbUacNGZdOFIIjIGaTmXVAyAa4aapeYoGFVRrl
xkTBpwRghhhE5iT4Q6llpTW5wy9RMFNQp5nqM4GQjEQQMCjXt0x0oN/
AzKBIx5TOCpzmpk5BdNtDw9cM2FT4HRAcdGqhusp7D4ktQABUcIEQQ2MoNAw0xoUkGAQAYQKi2xUsstQoDi
REwQJOKYU0RSYAo6KgVkF5lsP4/bxI9rJTILeI5rPQEF2nBYgrY+kOt3SUWFLeJWOW/
ywCT6vlLJJMNwddmcKcNwmHv+
+EAsXbjtebrcljoK3ozRlyYFcKX2IbUvsTCYtWG5JAMHy2m3dnbP/////////////////////
2AbDnkKI2pYhSmMGiI+ZhCIVQGjGMQhwp+SEwZNMMg8c8N8yBgUeHGmTmPnD0MHODDmG+mQuaNSGYkYM0AR
5kFJki5g0RuZQZOMQJMEBn4bBgszgGFxWe2ZR9R/
9undiAbrGRmPNnFAUZVPJhkGGeFgZiCJjhaH1Y6Qm42SlDJg/
M5tkw6DzmOTMQEEIwBwsgKEIYBwOwKDOME4FowbACBIPgwMQTDCQAvMIcF0wZgKzCOE6NAEsswvwYgcBeQA
LqWiMAswmgch4CYCg+GBeAAY6gNphohhmE2IIYrwWDSQYAcBQAGLo6gYAowIANAaBAYX4H5gAAiGHWAqABO
jIKDSMPEKMw0QAQqA6CQP/
7smTwAAYZPkeFb0AAaIZ4AKBoAC1lLRoZzwAJBxuhAwEAADzA9BZFAEDBRAmMA4CYxChDDEpBRMB4GYwngV
jB3BgMDYCAxGgOzDFA2MPQPAwKAijAaC7MS8CUMAIMGcCcEgFq5HAD2zEoAhg8AjGBYC0CgKCzQEAURFUyM
JoOowhgojCMBOMGACgwFQMDAMALBIJBgIgEqJF6k/
CIA5X+4XoRgIO8YAAAhd9LwMAHHQAWVTphfCIGE4AoYBIDYKA1MCsAVZYJABSScT///////vf/////
+48vW////
9Y6Rahd5RHcLg1GJwNlBCCxOYlAVuIRDJuZkwfMiacxQKongvBaSM8M0M2LJHaUB3CFiiQ0ymJFVpJGX+a+
hRAAAAADBfAJMW0RIwPwijHUKuMkxLozUx9DBFAGMGMGEy/gcjD9D1MUQv0y4wXTAVDHMB4Q8w7Q/
THpAPMJ0EowxiRCELzPcZjnwtzCI2zihETKIjzAJTDI1IzEEBzAAeBgbzJUsjC0KTHAuzKYFTJgLwcFxjgD
gFD8FSqYTkaTMKZghQZmEQYeAiYNj8GDiYlgWYggeDkAMWxbMlDxAoZGDAdgYZTCgQzEQfjBcEiQyjF8YBw
DxIdTH4GTAcRzJYuQaHZlCgo6Fhi6RZhgE5hKG4JGAw+OwzNEoEAiYLAQwWMGDYWGF45GLAGGGw8oDjBQKA
CBRiYJwYBJlgOJguHZgOAwAAYiGYwDEownFEoD0DF2YCgSHBSBgKMXQCMRxGMiAsMOAaMBQSXFE4BMAgKSI
4YEDeYDBgYEhqVgQIQBRLMHAHQ1iokDQ6BJgyEC00EJEChMDf/
7smSrAArjP8que6AAM8fYcMBQACsZLS4Z7oAA9J9jQwFAAJWAM9r7fT///////9H//
6m+sWf9hcozBiT5EDpPp4yIN5QvuLhGPEAiaaBoGAGMVAWmAZseHhDfSIsZeY15hfDeGVcZiZdwXJjdiFGM
sQ0Y+Qp5ngA5GR2zoYTQGZoZplmekPyY/YlRmKD5Dwb5j2lbGL0CeZ3ItZ2kUhsCVBjqO4JLI/
ZfI0cYMycRkwWQczedoDG+ZVDaYJEQZrGQbQOKZrxACCrMYh3MMgsAAVmUwDmMgnGKQTGMQKmOA+mSYimcx
fmMoWGAYRGG4smJIxGDoDDwMGAACmBALmDATGA4FBwQmAIFNaMFgDMOwcMBQZC4Wr1L3AgBzAMJwADBgMFI
oBpgAB5gOC5gQAAiA8wXAUwJAsLAAYAheYBgXHDDURjBcBy5gqB5gGE4CGAwdA8cBkwQBkDAsCABMCQIC4F
GCQDmHQEAYFFFS8SEgWAN+zCELiUBTFkAC0SsycoCCFTKaQlDAFBwLyUGgSqoYCgCxyMkwZigBCQHoDAsBY
BAwBAkHAeo93//////9//////+v/v//////////
1DV+onvwz8S4RwGXxQAWjiPzrwLOABFYGJCAKEBZYBQIXR6BlRIGNJAbJkAdWA0wYFzAYTTBIgNcGkwGczH
gUNGFsDCQw8/TF4jO2H4w/CDNhpMEEQxeYQMHDIJrMvK4x/
WQABj90wwlNM7IDegUHAYVPysPCpaCSYKEBo6iaBHGIWYJPDfj0IBDUg0yEaHA5BCARgwkTSqBgmFw4Rh+D
rP2zRTlPSHhGAPY8F60+UobBfelf/7smQ/j/ZWP08Hc2ACVGeoQOBUAFmI/
ToObzCBDh6gAAnzwNERhp+4agWCmxSCNUrstzdlUin4BX2oAX+ZEn9CWVMmtRqo31ePPJTw5DbJLb5ONFqR
2XyjsVkNmlsTNq/NyuvSPJIow7ck3Uc+Sjf///////////
9TsUQyKEQmA4cgZRg4GhnUBz4BAarRoG5WABm1VgYflBEwMxgcDBjcAw+gAMDsYCKPAwehQMXgwDMaUAwgZ
QtaAyeDwFBMILC4jZKjucpJRi9SkTmNJn8qhQzcQTaViNJvo+eCDF5nMYj0oAJhMlEK+MjGs0xaTHJSKToY
oTQoljBgxAo+YqYmAHxhCQDBoxBYNPYjGXQ4RnPyODTwgx0xMRATDyUx8REQ5bAApAY4OqH0R5BH5m7fqwy
9JPBKdnjxPK5LyMuZY/
b3L2jkNNygl94xGYPpEMFcqjp0SFIKuWo4Kc76rvlz8S3fICemB33Xe+lIyBgsrmZqYl820+FzDjulE4RIn
ZiHI3I2fqAuDEWn0Mw5tuXf+tRmUBTQToArIBIEHHQb95hVHHkhibXHh5YbmrDSY3V5w98GKiMaaE5jsem9
Fub4aZyEiG4gganSR80eC1aVCv6U5DB8CTYgVDEJBTI8RzBoKjDU9zCI1jTgADDyWTH0VDM8VjFAIjE8YzB
QSjJUAzNk+DKUZTiMgjKrpNEEQw+DTOKEDDaCRKbMGJi0KGZAMAjQYnEplo1GoT+ajhhpRZCIUlUnAAihwg
FR8YKApiMWmUAoMg9QUwSCkAY4wmgAtoXhToDOXJjrxGdLsIKJgBAwc9BwuhOsQXyIwOWytHthUP/
7smRPj/
cJP02DvMPAPae38AJ78Ftc+TIObxDI9p5cQAjvwApWp7QWRCSHZIAtARiiUrdlLIO+mHZ7ju+ziHmkMFcNV
CceVTex+VVarg01OxeLVLW8GXwUttwFYnWe6PvdHqt/FH/
s6BuOQHjA2TAhUY0Rm0MJtRkBh9Vc4A5V6asQmRHpjpSCF4y0NMHSiZGNPKjYVooSjYLke+gwdWNGbWIwSR
x+M8m1mYYfPh2gCiJiGpQKauFB5u0G1lcBCoZ+CppofGBlwY/
IRoRVmii4YhIZ0kyGmy6YiP5kkpGzj5hgODnNACcTDAw6NfHDB3Y26NNQhjlVEFSIMPjPTAxwFXaPJ5jAuE
DRmokFSkZBQgvNyDWA2CTGXK1kMID8P4XISmTSf5IJWoLPDCoIg4yLQlYJcHNS/
SSVtBRSyxzAWyTpZS9oMANCfq+yBFZxM6lI8cvSGbvFZhiTQpO4yNMedSlk8CsmqRFNWkqy+XyhymIsJa6z
1Wys4cw7C7h/
+pS1Vj8FhQCcZm5G8WJ6V2Zo9HhyxnpEaiuGcnhw9ITVxhyKDF43U2iBkIoZlJnXQJmRKbRTm1nCtUniu2o
w4vziWqOmoo+CQzRzPMJn03EsziDtOY3zlTcjbDGRYxhNMeSQIamH2B1LOXsMxbDfWZtgdBHFlZlgynKYoE
g0Wg8Ih5mQpqwynjPKzwJQWESjN2LCA5h1oVDiE6bSUYwcYJMABACOmpahAoAgV/
gYKZk28iPpjCBgCphS5m1I0MMCJMaFDFYQ7LoAoYgIMsKHCIOTFBxQUyQIrAikYOYGPJhiZeg0FEJNfZhyq
KiVrkrkokJ6Ov/7smRbD/
dYQMuDm9HQN4fVkgQPmmRVCTAOb1xAAAA0gAAABIkPKBqZatqIY4AEQFS9xgUAmJVRNzXSIxLU07kcGqx9t
59wpRfYY0y7RMSfh7Ub2TU1a/
ScADoP8//6+f8f1kzBncVUcJCgqQfQpo0SYHOoH6mN0dxASAlQd6IX0UTEZQ2RokwL+dCrZHOIXpMDE46A0
xEADBhFMBAswgBwCCCYVsXMRiUOHhgscCRuEhQYICoGFpgkMBgOIjaDhiX+DBSYWDoUAIUOJisjmZyyIC0Y
QERjAtmuUaZwFBmw8GYjkaCQQGH5hYjJ0mCA/IgxRmCwEZGEBEHTPwWM5KsxeIDPpBCgFMgo80/
OzqJ5M4lMzMDDFgeMRHo2wmjKimMkE4x0VjHBWNEEQxukRZYGBzKbPiZxc8mQOgQ4Gn3ZsZSb8UGguJsKka
cCHFBiq5obGYWRmACgUTjn5US6xZoHBJt1WAASISkwQOBQmYQFBwKSh5k5GYeOgRYMIMjoOC1QjImXZhVAZ
AkWpQvMWHSmLLpNiIAW8BxxwH+GRdDhLXGfsiCqVpAhAACAhYO79eH6ftUkAAGFiRhB4RBg0CA4CR+jiVoy
KhcBjRbRIdE2RCADT8CwEWhQRI7pPkIcluMI5jAIAqkxoZJgMUKTJWgweHMcAjIDYi+jPlExA2GkMwwNBgu
ZwNmdCZmReYkFGiqRnQUGWUIcsIptc6HDBsZUB5vFDmjjcYIQZpAsGFgQbVCJu4Emc0EYuRpmMKAaNGEAQZ
0JxyQSCUANGB80WYDYAoMzqE0SFjCRkNHDAIQJgA/GjiIaCIxowBlB5M2ocyiLDP/7smRfg/
hOQk6rfM4gAAANIAAAARwc/
0KM7xjIAAA0gAAABIeP8BSlvlhG4LmGSzHZnBCasYeAB3oGENOABannCFyFaigY2h0OBkZJWGhIQOhHhuoN
JkSr4atOYkXOd2yFpq9mJtWWXH4rrKrZtAVEQABUXMdlJhhqKbZU3BwlCQzhnLKETICXQy5Q2B6V16e0pqz
RcbDiwYgmLzFvyQgzVS+opCESIPKWKViTommerwOWVUQzAIgkHgBFNPRDDhg5AQMaqwKmA/
DL5CQuaEaAkiNESzBiNkhqqoDCMxtQN7TDiEs0sdOtMzDm44KVN2AjWy8DJplCseFHGaJhlDMY2QBRLMkJD
EkERAxpw4n2YqOgYfnBGBhgIroiBE40kGMKYGTgJKSqEFYQcknAoMitcETR2YKZTFLDVk7pClggqWT54alT
tWf/
cZjOHaa82jeXWEQQAAAACIMWQ0YgXMRyZGPaURKHpToBmHvGvR3mmteo5ihlsIZ8zViLSouvN231HBRpmaC
rW3uZO00AENR1jRVwQQwRDFjhcCbRSccyCqwPMmADDVYAgRJyMOgQYM4fO8HACBCcBAxoUZYMA5ifUWAl5m
MphxRig4YNHLhgyggLHjJhY0HNTI3zBBwVKIgyCcmUjyeeeRwWCSB7UrFkPUy2DJdmAqQ9QgYLEASBZCC+D
SQ74rwXuBDgBuBekn/+s1JH/
6xkAkKWMMFKgQkDIC6BolQVPxTZUb4qKpqvjHHQpIOgOApbqA30ZU0uJvEnKvRNJP132MMWWWWvhoiCGR48
74iAJnEwB0M54DvEEaJgaLOIqjiIM4WMGfJQB21pxv/
7smSRg+YjP9LzGo4yAAANIAAAARiBA0qM6xpBFBeYiAK+yF5wghlEoKZmcXBgU0ocIeGVPiBOP3QViMSKFC
RpjhtmwjbgZwApwO1mRHA0McympxguRvd6LOa9zVV1LnirujQEd1M2bgVKlpc1iiek4qgjg4AQcDARLVmFh
TW///////
3dgOnkAlfVGZ7xMKERYHiR9bpPV8okaeZwHOTwsy5E0H4Qcuh2l+LaSYaovxnjwLGdCvYH8Rzc4kegsLBp4
OWvQ1X/+fQX/
q6x1Sl4eXMwAAAAMcVgEmFoArifhah5PA3QFoJUNImRApi7LJoKllQnqRwOqhvQzIN8eouSCI0W8pDNLCZQ
TI4wFI4HIGJAAIGJDpQ2OMkBdcEiARgxjCZQy1XXK2yoiZloILMwU1xRhEzVSEUwwRCOfgpoLmKWydegAVM
1poAQqBG0DVckxqVhjAlZMDKBzb7qZtAlEuaK3JnqJ6PDPmdorLtVtVCvZdKw7zrgWKNIyXH////
9QBCYt/tK/en4EMBKzVXc42TN7QzDBUz9hNhITOpI7q2OCBjddM+/
LN1ERRCOw7DwiY2+TNXBTD1849vBjsbALnnbhyh8LCjW4hQ3LtBtDxDmQAMijwAQVLENZGgihSaENqMoYMi
Y4X7ep9r75WMnG+VPpQvI6L4vgqs05kkB9TecWA3Yl6l0LWEagusUFYKIBUHzndOAcs+WXMl8ANGI6UBCMN
VMKEALUITHWyoCNbBwR6ApVlAIGnBSRjtlU5TcTWBJJqqoNCVTTjDFLoHOxaYgg1doDvO4oay6B2ev7KUjp
lkAsuLrnUAKyA8LY3Vp4f/7smTSA/
W2QNRx+T5ASSWYAAA7wFaBAVHM4N5BPZZjAALvAPTrdRvEvJz99534yEM0sdX8okA0ZdphpdYxAbOb7TvYs
ymTPmujIBQ0y2MiIzwes+OpNxyz4Zc18LMIIDdZE2EiP67DEDMzldN3WwOBmHI5lZWGFAGBVNmuw9Lcku/
mFRFD2UA5DephOUwRgDJaGCp1mwOGaUmo8lC3V4aVx6FcsJdtpr8L1U6a4+wOBsMBWygAd9A+BEtVFQAyPA
BjSwpKqMDrQSUM583hwpGX1EK0JApphZ58iJgiZUTgwgDpRhVhwSZEfMAODC5gxBvqBVQ5VF+BWk9cCQo5m
TDENB0w1wa2YIQjAA1x9sGKIXKGTYgsCCgknFBVhLym0swQSsHYIjQaNLrGicHPHaQoEaQQ4QlE8Tso9OZu
KTkEOv2YgN35O7rrg+H///q7P0iwBZhrqx0lAMAhI84+
h5hWS5i4w5omapjeHhlWQZ6aWG2jkbBmJ8OfnCRGZ/jJg+sGQjkfdy5sxWGf6Gd/
gJtdym9zUZy3AKlhhEAu5bvfE3wLLqvLuPIXkTxSLZ44pcRnqdbMFUS38PyqIq4vbPWSEAZMWgLrhlmsIoG
RLAmEoZsRaArt+WmWWisbcu0/NPGm4yqJXpAvp2m1lK3q64X/
cao+ydKK6dotpl6GhbpH8cAHjxQAxxw5IWPMqEMfFTzEGQVOZoaCOJRG9nDEnJRMKFGgl5A+jzkI1jFzykb
ABrwVAhaHTALhq6TxWRShKdlsgXYkmyRkbOpe0aSROG1jwlNRLQgEtEzAVQQ7iETPGUIQMlkP0liAGhUr/
uvMQ26sqf/7smT3g/Y3PtIjOs6Cc0bpEAO8whbk+06MZxhJvZwnAA3jGHD5////
VeglrKAQHBwI3MLAQkAGCDpnzOao7jAmBn4GpRjYaAkkIozFo8ygdOfSR71NBMjOygxGKMlNTTkE2FOMuGT
JBkAuZQkTtnLnxN4l1hwHFktTCwdH8wYKQgfoBDLqGpCtIJKJLAKQU922gQ3W4tj1WwAFzCUVcByYQ8ACGI
CsiYespQFprzspcBpjkxB2NxuGIzDz6VZY2ZuSuHgf6E0Y6FORprIEc1ppBkAmJlbwQOXmT4LAoXqA1xMOl
uwsSmUdPSMxgDaXQsIB16N+kwYpTkAII1aI4Eoj8QGtngXAIwMipSBSwqKJbctyMhN7aWXOTGWupyIcV+s2
VAxhLxaa3wwZbJsaYRaIu62SHlKmSu2/CajL6/Zqx2dnYbomWLzmWcXa9HSXb////
vTtwolFHOcBVCGSyQIF1pz1pu1Z1D5uFoJ6HEvGiYnmamaj0KGmLsXUAIB0yE4RmrFZYEfDoS0I4K6t2H5W
78cXYws0BD3rB2xvNg7Q2zQe8TKCSBlMHGUBSzYINYI3bQqqbagcSqCQWY4mkgArgWghKwR8SHa+6KJSHJD
BFBYRMyD1OIjEp1mSgDaNIL+NwfJhr3v2vqBa6NbT4iucVMjgPMQ6Ogkul40FXJnzAUQ121OkrC+ifZ7rjR
KWRckyEUXhlos8wkkLhpPkmPQWMQcokM8UwCSrYEQoJFXQMMgi1QKPb8iIRgEaJixGIK5ulhkfnhHgbCt7u
ui2RR5zpYQsIKO0BWLmQ8ZjQLILoBPAUjfA4uUqrq8ZUUn0NXZopf/7smTug/
XRQdOjGcYQa+b54ANZwhe5B06MZfjBrBwnwA1nCNpY1FGhM2////
eLhQMODgFaQwNWnJQBk3BvrBmQ4cRCNZIZDJ5hAZhqGIMgMStSeT8NAYVNAWaHxpLGsQtVsiIDFWDgQIuIH
AAUcyywaaIzwViOKmEIGtgAgFDHAasIVVDDMRTUqR2McRFkAJltITbs8pACUAAVRCHqdaYibrxI4S8to4iI
6mKwr5p5Q+ocmu7peF/
EmRQIpNNptU51jpNyx9mAoVQGuoAQTAB0fB5Ev4DAhocKipyEBJnmqCPGY4QoOCyR4tP9hIALYIZRqCCoQS
ICCMLCLxMx9kEIiGwYFWSVLgiJCOKSgIUwJYzT2cGVY4VHs0fRFbVurLpCvx5VzPUoRLCoVirVQwq73ZXQX
1IjUDJX5lhddYzhTM1PTNyjlVWRU3HthqRyjFv///
5XffIvsCAwooMPlLhnFGiE+Y0SSMUTzLgC9hmgyBREeMYMQfGCAxmR2NI9ADhREbDmtpkQJYxoNxzhQ4BK0
rATMkQhIRFFkmHCAYUZMMg8sswQ8wgdOAuEXhYYtZI0wDNCQ5LO4ncmaP/
+5OcCAATEJpNuKrRIHmVCxgZMGOA4NNokMShaQ7jvoRBDrBgGtwCpLvBQBywdhB65xnhIBK9IimBy3bAxET
F5jez8RWBcqy2SJ4rVYQoe2dLtdpelwUko3DzqqxJ9Co0WmMBAi8QgKngglQhWGa/HzAFEB/
EFnvC5CqcvEBhBcrgs2QtMllUZGS6DCP83TPOobL+czBcHQUxDTxH4YCHMwn6GIlWoM9IRhM8u044spbFAv
r7tk//7smTug+XYP1MjWcWSbqdJ0ANYxhbI/08N4e/
JuR0nSAPrA1FkHhB+cNigHmJTGpPgo0SLBG5NGqKDgJDIIgoaA505oUyJUzCpLc/
jMMFGSUgLeIAogKigYxiczwk454KnzObzPL1tigADGFUkn0+TNmBZMCBgQkVnMCPYMmgqFFd7Z6vSq34vtP
ofpIOnIufvNznyVRISmLmq4Ri5SmIQKZVIhksQHbTjcBRELAwQzMQCsv8YBBpYCINCgXA4UBQMU6/
jUapFn4mLMKhKzwoIGgYOdCQMEjFzA6yCJRhAxvDBnioxUPAizBIkPUDkQ4oCjB1mWI/
P+EKlBIsGtWAFFC6ysMraSrM3VqzppBIPV26ylCSGCo2uipU3IEiK+TRbpx8lYnXbTqAlL3CQSto61vkpbW
BW4S9MJQZNV9GnOlRsSp5+W5SyYfZ/
rLwxl2G8YOpwAjluPmy6cl0afZf60UjUHlvC8TxmkQyFNEtqEUFFpCg4ycgFIQPDAKBrSBZRVKUIEaJDVKI
wP4WZAvD6gkWCkjAAUskCQVBD1K1KX4TPT/
SsZkshJRwX+g6LqGsghho7CGtKPQM6mL+Sl+Z7qhMaGXOBmYsM/
AqBgKIMNXToBAwzmCWkWAQUWGJjyX5k4OSi4VAzAGkkDChYMXJzoKIdjT8QEzlvMsDALHBzc4QYyzcNKmfB
gaabsa1YTNIemqLKZEbAItG4anpYmkPESYwYEKhwqvC4owgVi4YPbEmEwcgwAgHoDksehlgBwRoWKArFMij
ILCTl6fqsYJGothej1VhcletH67b1YvI00ltNN6fUMiIeJJQ7XDAqkNYUU//7smTuj/
ZQQFEDmswiYidp0AG4wFjRBUIN6fLBkp7mQAPjASr6pfZbXhzHKO0goJkfuVS3Rn5+yT/
2YCKdCCIvuFULvX8478PYp0qgtOlYKWdXIoEiqgkT7EaC0ydS1gU0moxxI5jzThQaWsTMoizyAFBqHGApHJ
jA4KsJCkhQseBlhmBInNTVraa48RbMrAqWAUeUmVOO4UlJYwEQ1QETAKcDFgAMRrUIAAoCQMODegYMBX40I
JwEPh4AGEwOKBERh4BAUWCg8LTFAAEIJMDBMxKozA4/
NARIzQW0PA4yawEYuGlCZiWClRsARqEJkRRhT5gC5gQ6dBYXgYMcpcJNA8sIRAJAmIOmLEpXJkM/
WuRB48W3CXE2FWKwty4ECSw5yaqM02dQl0V7OxoYqo5ynY3ErSo92mFp89jxW7CZu2UgsUFhgVvLO96pQ23
rRSNjY/
eJ+CxxXOFpijxGaX8hRqAt0aFjWdRZEvkLEZZJmTLOvzDIlqsiXe5atsglapWXPWja3ruLeVsVSbZJJHwvW
X7UWFiNsSnL4l31K1MFZUw2MUk8yJsKSUkTldOCnTg5ShdeDrqqLtb9MRkj7wNI+hhFMMkErJRlBJGHQ0Yd
FQgUhu4KmYaQZqFxg4PgoFmAhIAgKAB6LAkCgcwKCBgLhQQmJBgY6RZhwEIlHbCaYeSpoMzmURiDAuYoKxg
YSGZx+YhGBMNQIMzHIDBo5Mpc2Miq2D5jV8M4k1hzzvBxBjNkyBqAJKpNJzp0rwFhFLYfontlbLk5nfZ7TS
qLwqlqwDSSGpXkc8+MgZi0wwwbPVqtioyhJYzNwaQlREjo8WaQoP/7smTqD/
YCQFEDmnyyYqgJcAA4wBhRBUIOZTbBjqAlgADjAGyWl2yNAUHTaM2SO75aaFJx/+RZZd/
TCjOMMHIRQQSRExiKX6qSIaWTgKAJEijFlgpaK6+SMTMHPUcTWTlfJxndUehxDJTsyHRZXwrLDBhNKX1Xso
BLWtUjHGYRJlySLJVBmEtfZ5CkjFsP2uSsknFy4FM8/CsqGHZSDmAbNmBrJSG/
FmBNwcXLpp92GvCWXhMvgowGDjCwRHB6kUYeISj5iMMAwAmSUGYyIJkIVmKGAYpQ5rsXnLahGBxZmg4vmU5
8mGQoHIIhhDCYcDmeFZogabknnEEoFEDLR8AFZvgsZjoHVopi7qcciFlAEtGnmghBkEBgIqNIIOHAsMvot5
nRaVrLX4agVNR/WzPqs5sUOyCRRWA2vP9AcSaU5jlX5PD+Osvuwl1XUjsmijWZBN08W99t+
+8blsfs227vJBUNRmZuwDCZ+WS2AqaBXVZXATPrHf//
0+DRYdFBFM0BiENsZAhdTrFNYFKmVLdgqujgmgwVuT9W8caXlR9kAKX8hbqwtprGVBcY8slSCpmbKcFgqmD
wDA2jNfZcpN1yIaEkOCsLCFNxQMDkAQEuVMvea0X2MMUcOWxjbhmpIcb9JBjVQG5S0AhiZ7BawIUAo0KiYp
EgRTGR3CgoW+WrJQ6CRSHAIKnQ1eJjaCnMqHE27EjX6HA0RMdjgxcEqBC7wOHGRVBBUACGhDA00xtN4xZAi
PAlsKMjsmDHFQYHMUJJBzFgoDDAJZaRwRAsYYkm87bMpuHIHjQuIR1IVQEQLExoNCI2IQsbj//
aJDCRwUkDRv/7smTtD/bwQc4DndyAXWgJUAAYXhdpBToOaTTBPJ/
lAAA9eYvtk2IgQRD4Om0NLiQRiAVDrc1RS4VkSFoCT5d3/+CiPIv4MZCETCVofyOXzEASThVYwQBKCtRSdT
ixG3//VMnkN26ZBSiwvGt+QZyV0ahpS5WD9FJTw+kLCAssUfSpQk3AbQC0V5KUIT63FTB1E6MqY/
ozax8TjfkuMRAYIyRQpTAjEEMPMEQwXwzzJNFgNRqsxS4zMQBMVk8yYKhonGVGuYvQJvU9GESqZFPBVnZ9w
qmGDmaqRpofKG5zGb8ix0U7mHiYYWIp/
2Acd7mkihwiEZ1MA4vNbHQoRmpmAGUDJS8856NnJzcF4UMzAHU0A2NSEh5aMOUzSY83KHFlQxYzYmnQY6Hj
IEnQBityRKBGAFG4AhZKDGUhbTVYXKLTkAYmoSAqeoGEEoDAiAWCnGfRp1+o6lWXTrSUJSTcAioIh6mkj8t
5HZx2NtHaAABUwILEQAkkkTDhED1klQgZjDOTAwsLCAKDUYgEOorhx6DQBG9YQIEkM0JNLZ///
B9ouDCsXZa4LEZRBr8v6yJojQ2urlcVdrdn6VucXXf/8cWkwM/tK/
LhX6Z4UTWBSGIF2+sdYAiAwxrK6VNiwwKCGnUzDEO4sGNkiJkqiRIWB0JQL5sqYEwNxkiqPGDYJYcRS95gN
BzGNuBGa0cA8QNnEDNw01A3GUEgHjQL8QEZrLIZmmCjCLFJioeaWfmaAQKLzKY4yZdOMazPRIYXD+Som+TF
isFdT/qzLIThITbFwCTBp4VAI/GiYiQM3sQzBhy0KzKEAaKMysDD5VKJBMtXkf/7smTxj/
h0QUeD3NpQWGgYkAMP1hwVAyIPb0XBCqChQAFrUIcU4iwMwRAkMgE2ewKlQ4AqIwghnJd1wpx2ioHRPbMrS
/aJyPK6sGcQur3Jrb0Jmwc3eKQe/
CwzWpG9y0H5lbpxiWMAijXq8OLlU3YOwFtYGZKhq3BW5pDNUxVsNSeSRMTikQnf0VWf9FR2f//
9Rb1J1Bg8GgQcaWAFRQMHCIGDgjNlpg4AYY8aUmcpgY4uEBUKRRWlUjuCmBmDgXJiIGa5Wq8eLZV+qjAgD1
Msd38w3wuD4VMbMk0goxdQ6zBbDfMQIHkx6NkSjQxyHwDGEOluZbguYGJYZpG2a1iQZrC4YLBwYOECOjGFA
bMjAGMoiGMxCsM4iNGhQMS0XOCEgMehSMgA1MixrMMi6MBxpMNQIMTQJMDhTFHRkxwWCG3cHhHH3SBaIdKG
YcmCGJtSJnZpjLJgkCcYQDIQw9TGiEcABwhDCIMBYZvRZkjgCdGCBGXJGOHmjOCwJhiWCqpmAMFNlfchJjA
EDLmCIdkIJZv0MG5GHBNo1kQgaZIZwpW+6NspizEHaljW4nHGdNxaQ3dW6Hk5nfY83ZcyTLwN92Ks5XA1pl
M6+yfMv//
NQYtQucW6a+SjJtomhxykSzy4DcaOsQKrIwCMYcGLdJJLHLwiBUZaMOQJSSlFCXWokpgsi8mhsgOZ25ip4h
ZmGNUZSaDoMBnnsnNyEa2HxrANEKHMeAA1qmDq2vMZDQ6ObTESHNdJoxWkjLJCMvEAymrzBZCMNsMzwtTbJ
5Mr1s1Mdzu7BBSJOsuoFnDJMhCoMOsNicC00ESU7CbUPFjcIjddRP/7sGTTj/
gLQEcD3dHyM8gIYAA58F7dBRgPc0XA3p/
gAADnwcuZtmGWDeIjoDgpjMeBBxQKjlEjRnAE0HQphxRkUTXQISMuWOEIB5w2p1Llj5iBhqyIkMEjpnypgV
CN1xSlkwOEkpcMfpMukhNs51S6SwqgRQsnBg60JIWgQGKugMLAEGntjbGHSkDx2m3stNZrBsBQ2ux9Hsqyp
+Idv0ENOU0p+46rqxz//
iSwYUbMAw1Di3ocgNrn0qnOcJZuqiZQUGO8QoYNYw2FyVNLdU4oqs8HOBcI3zgMmgJLakQIbTBWQjAxaZDo
MF6DqDDx1v8wusItMF5DoDb53jy9czbMvDSteTTsLjGpvDK4JzesijGMcDfE/
TSYkjIIhTP0qTA0VzGgBQEThnoyRpkIYQDptFe5lNcZooVZkQaYC3wxXFs8Y1MFKTDlVsBkgSUQ5pBUIEYy
51MoVTZQcIJQuYG/
JZvWQMPxo4yYGbBx000wEDFhAx1AMWAjFgwzINMIWTIwo1MwHAcyQMNaAA4RNJGyUrMDJETjFRUSFAKEl1W
HKWpbpNiEqBoQShUXHRsyYGsfAJgQaHAIMBlgxEEgowYEjM2QsioynSGDzB15sgYfOPtK5miex6FyMgUBLg
P45ENQCqohQ6sFOhKAMCKCO6zSvRf/
8JBqHFAEs4ikOepJ8FAhQ4SDABZe4dZP6ExiVZjFsKrZjBiRrcEJpflOoCCrXXaSGA0xPFKYOkBEGWnhrpm
7AgcYa1XKGfiAYhhfgmGYC6DHGEuhPxgNIDiYpsMYGxwiH3esm2b7HwCxGqnkncLhmXdTHACJGwQWBRDTN8
sj//uyZMiP+I1AxQP92XA2h/fwALnwY20BFA/
3ScjXIF1AA+fAOctDFo1TWUJjmRaTk4uDb2vDShOjPYBTN0STBMxhoWBYrjDAbDDgSTBAaDI0QzKAHDCwLj
G0szEUSTIEZDCQpTF4uREFhgSwOmjWQoljwIZCGPSGCKmTtmVHjx8eSkrkNNGOAHlPHD7HjbHifGrFGHRGh
JmJGELZHkvG6Bf16WFjwsKAiIYrpPiDAiqrBXji5BEIRwQOFAAkvUISlhI8aL4EASAyAa1kIPIyPJ/
a2YqMWshYYQADRLWAuFQ9McGTvS4X0TEIYAwNPYDBFel71Maaf//
NCwTgxcDTCiIcyoaX8T7FhA4oGiQmMGnQHJAAtUwVASFVKCRGDMmeJRkWBaygGKgwsa/
W1TCuxRExN1HZMaCFwTQRUPE0OYOkMIqEkjAGgKcwNUAPMDtBozA8wHcwDQDNMAYD0jBFwgIwmQKXMDbB/
zCxQZEEgvhhMwIGAQkM0CuMFw/
MmASMF4kNejsM9L7OSW9P7VQNdUuNR3PN21DAUDGQYCmLIcmDIqGOxBmWpkmjQiGCyLmX53k15GIAqmBAAm
CwaGSoVmKIwmO4bgkcQ4uR4T17VyAAAaE5ggEBhmB4NA4wdBAwoDwwoP4ywAIwyBUxrFkwNC8yKCowoAQwR
CtNMWB4wSBkwgBJKVWMGAQqyhGgCQEGEAMGCoQl21JoKrMpHQLloEAqALL15IuOc75fpDSeZ4gBS4WDa+IQ
Be2njd+IIMITkT0lw4DnlU4LegwCDAcDVLGRkQBCwCradImA9xQoASMjuUmAAAIH/////////////9x1//
uyZKMACbVBRwV/
oAA3aBdToBwAK20tJBnvAAAAADSDAAAAxFB6D0amCMXNUFoORMEwCQDSg2NOc0RRoXB6FhoXb/d8lnf/
7OdyqDe4l1P7BCAyncqDNsvBMytk84iW0DTuDUMcceMynA3DB7QvMT8dY2/lrDUJLFM/
UVczOBxjIjA6NpWo8y21MDJUISMngO8y3Q8zInGUMdtNoxWSZzBUMjMIIYgxRgjDAzCqMeQ08wtgFTOYRKM
PRWIwpyXxABOYfoNphLhFGAGAoYrIihgHE8mJUAGYHgbZibDQGD+Q4BAFQMAmYM4GheQwBgOiIEgwQwKDCF
B+CAmDAVACMCAH0wlgDjBzCZAwQqUpgYg2mBECsYGoMhhFg1mCCBGDgPUl0Mg4KMwdQbDA7ADMCwAZCW6ph
UARGEsASYGoEiiKX7ZiIA8oAJZgqFBOXbLdgEBdrtcwEAAUAYWAZBgA4yAqrWrcwObT4MAQAtMuH07C7Cir
jOMhLht/5E7yaZgEAEAICFiyST1x95m8dUwAwCgwJFRiPCQBqhPP/////1OP//////
enqjJcD7MtIt0ybxbzKeTjMW0I8wOgpDALB5MKkMAwxxBTMSMRMPwnox0gaTGMGOMN0iUyiDvTM0INNXWwU
yYQizQYOYMowSwwAw8zAqCiMq8GQwZTCzEDC8McEMoweA9jFoKdMCoVox4TOzB4C3MFkD0woBLzBsCEMcsK
QwRBXzGgRpMV8AsyFg8DChA2MFwBIwWQCzA9AuEgJFIiAAogAAAQfIsA9DspjL+GAOAGSgCiAA8cA3DARgc
BMBQCzAUACMAMC8wYQETALADG//uyZGWP+QM/
yYd7wAJAorVR46gAJKkBHg93dkjSnBuAAGn5AByzStkRU1ijbuTK6JsLQIZUVCoATXy5pZ9z9VZbYgJRyDl
U5+lnbjEmK09pUT6qVI320u4Ge29NSi2/7gIMiIA0ukLAELFY0rtw0enKBwAhd5zaCEAJHho1zf//
XcqWUspw/gjEIp5SVCH13//p8LExyQiaNmQiBGqJmdgEb/+k5oAjQITdMPQDhMHCYRpCJoLf/
6VoMsASgwt0sDVTJiMwa6Yw/xhDERKPMP0L4wsg5zGIRRMy0MEwqUDDPYIIMCJPYw4yGzB0HsMd0qI/
cm1DLpc/
NCrJEzWkrjMAI6MHkG8w0hXzSERyMY8aI0SgHzEAFXNd0hgwHhBTUHBsMKA4U3zSXjECBBMSsO8wqTGzGkF
DMsVsI5zSo6bkcDRCYcgiZXh8ZXJkENIBgkMb0oAw7mXopJNTOMMp2gAMjDwKgAOgU+MpKQAYizKGGxvLua
6MGFAxE1CouTBbHMa0u7laj4sE4DoqOioNIjCyEaHFNwMFt0kOVABRlTQKj0i3lmQi7W46u4u4HAQsACEJA
AgYOKhcJbuX/aBNXx0pYMREphgkZ0zjx4dmVkASHK9IYEGGHEbYXJREmvX//
1uggSG2BgAEZBEaYAaW+e+aBUxsCAjHmhUnSnG8MLUV6Z12Dr5llRrFQGeFsGqwPKxj9TaYJTF7qjKIjDtF
dzOoQDApXDDwATH0nTHQmzhk0jHlfDVQWAarBu0OxjLCZgQBHGqGdaZGAkZt4m/
GGCHUYR4kJhWh2GQIpmHDpGYAVGSJqGhxKGygtGOqAmrRhCi0//uyZC+P960/SwO+6xI35yegA3rwXyz/
LA93MQj0nGBADfPBms7/GLIBmxIOGUBfmWYeGBsVmGg/
hRFjAEHzFgaBoJzH0XzCYISYEzCkpR4Wmeu7PXuxQFAMYAgBSIBFNjA4IwoEgoC5hSCaG5dYeAlPyW2f///
9bp3pFQKZA6jImEv4uHH6i/
YmgFr95bhlq8w1Kllb2tIJgYWvDUBqUfzaBFiykhIBAaEy6TAYDkwE10OrLm7NCuOLP//+
+yiVhUXDikAlBngIZceHAOgFNzQ2My8vNbpPo4VOAW53xJwEBi5x1rQYEHkpMRQjTocOaqlTFWCCMJ0sQx/
AWzFQN/MHsH8wlxVzAIA/
MJECUwUgyDGdCiMGoW4QB5mHcBCY0QbphmBpmKmJGaPxZJlOi7G5kCIYtI6JjsjSGEeD0anm0YJLQbG
CYYokSaICiY0sYYlAyaPk+ZdEkeKG+YOpGaxikYijsZAiuYxMWZOgWZCF6vQyHM4DF6DlFMEAJKgAmBw8iQ
PJawBj36MtigRT2L8ixhlMkvhpJgVU4yQSGUOpbwJvWH///8YZGXrBoEUSaQcT7f/ByKdlzdU6rbvv+0+
+0p0IVF2QvqrEnwzBa0VUIfOvWSVnlzoWCvIUDHbYASYeVOpHZ51FI1hn//rcchltx0XMqCTATI248Z+c/
GmQpJkIKEEhjsxmYhuYYDYIAZjcCmCR0aefBqWbmZUUYoE5KC15QTJ8VjQIQjJcSTaIMDNqCDFkFTMQpkDz
AERTD83jRApDCxBDJMTyQISaXTIQcDETBQMRFDoMEBPV3qM7CTOICWHlIBSJmDaRGQQKCEyw//
uyZCUP9yo/TIO+6wI+5xgAA3zwG/D9Mg7zUIj6ICHADL/
IcThkOoJikF4iGkyRBM4tAIEkuaDC4YDiMYKkAYBAsZqggYXhYYJgySG+YPhyZAg8CAEQIp7AING9pea5gr
cwRKRsYKB9ACHA6LE4FQnDgKZ6NAUIAAe2vTY/ux//
JJW4D7xVC5pEPPPlE38Z3nBtA7L+OtFr8Dw1IYCgmblzkOA6z41plobY20TnmkEiyCAFnIisNtYbsy5Yecl
///7rCkjDAis3OvOBjjB6U/
Z7N87TmJc510PwaQQKxGaDq88MGE84CYzCFkNhngFasy4nwO70zQUD0KZVtk0ajEaYwyeaYBGaDtgYageZs
iwYfBEYehcJEuZxFeZEiQaZjkYfEObWBYYUo8YlB8aBwadkHQa/
fGQmOdRoSZSAEbCcpotbnn08YTKYtSTJMhEQ+BrCNihc1RYzVIiDCmgKMvDExEIjThDsrDUjzpaTDWDTOTF
AVJsCQdk17/oYcL6xR2V/
iwFHs1YsKDS2BKGM2ZLQggTE1pqX0fx9udHzWC90Ca13AZLYaa83ZRKm7Rplb/vfIY3FI/
IWJN8utdLOGtuZlOurIKikF9vpK2BmBOJQl33sIAUASVmktbPjj///
7wj7JTOfNbMaoJjmhCpIGtMeQySV1m/cbohFOEYmKSRQm2gYYi/WmypWwCAJ8WVK1/
y5rkR5X7JAPxzjqjL4vTBb0TQkwzLFIzDgqTC5fTDEOQEYJiYI5wGExIcZnGMphKdZq0FBgg1RgkVxx175z
ZGxl75Rig1J+0spoMcQkXZgWHpkWcRlCTpKE5nhFJh8B5iy//uyZCsP92tAzAO71YA/
SBhAAfrwG0EBNA5vMMEIIGKACWvADBkcUZiKiRmGOZhEGKqph6DRUGAw0LNsLwdHGRw5sBWCUsaKVvPQyCW
SP95FlUpGIpdJ3GEfjrE2GQCijMGiFgbY4ARgyALXpjqwSO9IGJPfY22IQCww/
KlUo6g4oPLvwomNeoE3Fy2QwcrazVZzFUaYCdCtGlMLlBlDtM776s4UCX8EBww4DnqvioDaY0NBVIlcUTfi
b7///1KbIA+KFUjeTIEE4WeC2bslvRdVJbLdegweOh1HBxsYxwaCcexQYwIAH5AeMaKFnggOIiR2axHFygN
uH9GZ18Yc3J885HHsoaCFRp87DA7MaCUxGzzM4hBBSMij84QCzP6/
OHAoKMg0WhzdvUMfxs5VNTfL+MLxcxfWNNbT45w4UnOsDzUKwTBzYEM0cPPuPDsSIaTX1TABoUGCQZBmLBZ
p5kFQwKBxEMxqORlalBz6FCqCXFVTfwerJEww8HZKyA0wXYIBgxEVHWas+JLooVksH5uohURAQG/
7IXpBRUMQI+7W1lNddxLpBVMplZEGUCu0lW0CAmVoTF9twhLpMwpW5P+7Ebp6sWpFFmh2JHA1h04Kir8vp+
5cG6AMg8QFoA8AVAjRlkwHiZo+C+QUDl3wYlYFTBokggpGKKDJ4JCmkQGTXpaFgsQpQFPLmCQEBE5EIEAKI
Q1y3TEsMzRiHDclUDQ1CTB4SRoM0qR6gNURzU1A196M1cjU0Ax14NOSAyTMjgzfGozXcNvHzXGE89PNRJBA
zGKqRk6QFDk6xhCwqCuYCp5hr5rj4HONVh0Qkk7TIH3c//
uyZC4P1sFAzQO70XA+SAkAAzjwG1kDNA5vQcD0H6TEAOOCFH8kHm4BFqfjStaonYivzjeDgKBQ5EXpAhswa
8/
QcasmBAI2pPt0a+FxZKfMGFa0tSnV83SOsrXMgIV+HAWKtGa9Mpwr8WO66ZDqOSgAWtEFzqBpGtTL3hgZ9H
tS6UGdLKVvev+UyCs6LMvXo2WDoW/DPoIoIo6kMRZ/6n/
hhhnqbgIWfajkImjqcIgWMI9l80xy6ymLfmhiYD8UxcNvQAIMApW3ZucGoBwOlOwtm+KVyOIkFGNz0kcrRi
YGHFa0brJHLqJgyiZ4eEASGDwgNhw1MEGjLIcALBjLuGc5j6MYlKiAXMQizq1k5toNkcjlvzHRzRIh/
KffGIIRUmmhmmcSHrQC0wBgQMITyLzoWkIsxoJPlkYXCiBEv5S9J5Ur3uC/
i50kZStEus4tMYZmJLiYGNLQItQ4GOCgYOPGgoBEgSLRQIL1kQFrUHMDQKJhY0AT/
bWNEQdYiTr4L0ZIkVG1/VE50UmlDQNeCeilat72sTcXJtIk0l6I1BqYzNFkrqS/
Z+lWyGkUodV2oov1h7vtfdOTB/+fu3cjE7AcipK5WgfcfHDwwMMC/
Gqo+INKKmVyIwXAjsg6h6n6ns4LgxCJvTYoZ1iUcvw3AstnaCMyJKoAFMxV3TmbPNlhgySKTCojICipHlMc
TMccMa1ImpoSw6iNsnMeQMCDCTBknZzlZ3hAJHgR2MiAWeNudG0wsQNuWMqgOkAH9g6QFPLGaSjWgGKw00U
KQUMm6sht2fI2F+WfNJEQYsuzRE8MmbEDjTSCImQMuEFiVZrHGASM//
uyZD4P9oVAzYOayXBFB6kQAFngGzUDNA7vJ8EUnaSABWOBQGeeATDdRIlE4C9zfhwjGF5SYRlCQxZ1gyWS9
plC9rjKIAZ602VyJhtZvGWtCjK6GwPavmUx92q7O4k/
b4xt8JSqZgcggtAiruCG3g29IYvKGtUs7+gAIIoGBpXUofBeAOcZYsKXzC56yhAKbkJ85GIuJRmTSRMCIAF
ApDp/AJFqJkFlqEvmUsxauzBOhAPAJQEsLJvuY2dQqZPnOcwacd1uIaml4Z/
isHPQYKi+hqY0NGLG40klY+YuIBYNLAOXfMIKAFQmErhwo4YAYGYp4K514txMMDDShkIIyJgNFNzKDMCjxM
CmjBJgBMvWZWrKWev8Bp0Plol5iYIMNf5bzUlNQUCTXO8W4BQwXQWgbLYQYZjYREb4AGqNx802hR85EjzJJ
ii5JhigIYSBEZIIHaIg4CgBwpoi7FStwUDUxVXQFMQbCzZcMy4Tqp7M8kLM4xEmkNObu051HjYfJ5l35RnF
Y06uSyUJToK1xi3Oq4j8v7f/
QAeAHE8CgBVBMXPoFqBAAwzgI8hgh+4cAaYZYF+RzBzgsViAGq6gCcYhLGNIWeizhl4aRmKGxdAWEooAttL
binq48gEVMvEc7X3jJaUNbpEzMcTNgxMMDWqsozRAwAAxRw1IMKA1aBwMIVxvBYmXN4INoxBCs4Ik2KEStm
eJhRAZcIuU15kACSyYIUahLNW7DKdSonXFkmgCTCw5ZlXSA51E4FpqeGks6U1C4ExVN3JIUkgTFk9XPIgAE
5dNRSGrQhHJKNdLFUh2SKpF/mtOJKyqNIhKhS5r7ZHF//
uyZEsP9k9BTYOawXBHZ1kwABhuWPUFNg5vI8Ekn6TADCeQTdkaxIJUFSHdxlLwtojwnRbg2DX5l8cwhmZtR
t/ZS7U1fkTlySJ07prtbyG5YyKQySkpOf//
+pt0kNEQxb4AAaIBEVYCgRMHALCAAiUAGsYUMRfwt8hUDRJKspaNeApXlWOtkLlMr0BpQ9OcaA2Rg6V9hAU
YBumrAKjjzRtPALzBqdMSEUEj5jIuHAi7TEQ4EBqAxcJkYiDB4yAHMDLDLhUxdENKOxADGmoBhkkZqCD1cT
EQVBTwTAspak0pyRsygAcybyokEnQ7ixBootqlK37IVxKaMHRlS9Qyaa4jVpM3dXabaYgClBwzKGQpdroWk
vM2ADfAdkDP3loqbJvsIb6MPynWtRqjfLJdJyok1ydeJ/
5a47dG1Q6rRTBZy1yFwA0qENOa5Gosxx46KgmqbcNSqmfZ9W1hqVN48MSpaLUJgvn///
9DDoBWeLAdxnEA7Erx8KlwcQuVFBRqBV5Cck1NT96AoGi19hAWWCoJSFvzOVKgfurgaeUcHgMYcBpyFTXkr
YVI/
CiHvbXbOlL4+Ksjf5YMemEUmO4sGgmfAAAVqj14NQAqaCI6dg7o4Qxn840M34w3SU5UoTzGWBm2NgwMBRxh
yYHWAksaKmHrRDAMcsMQUFgJUDOErSk4kOwcwQCMuu6RbReSmKejkJLT7lvYVQJfIwIgiDGEDqDhcABoi9g
w+YoeZ4WYICHCEBLmBQOiCpxOP5GG0VmL3KWuvSv877DXalK7W9d5rkYgC801lrOXgcZlNJi+0oeGHpRqcn
qZh1HSRd9bMAzkF36j//uyZGGP9lBBTAOZ0NBH6AkwAwzkGOUFLA7rBcEZoCSACL+AMXMn6splnf///
dOqgnXArTAqBewh0ZkowILJNJBL6S4XqrKrX3Lmv1lBDYFeGUQsNhNZM5UAXAkLAJdFtl3tYZ/
DVqNP4BMe6DinAWT1HGR8WAYkwEkoOA8wwCseFABExU6EBDGAy0AFTGCCGNTjg8FDTA0z4rTTsAKEPrEF2J
sVR72IcKNQOMwSBygLZz0BwadB50aiT46AJuFzA0DbFUAiEFyD2wq4m0t1MctTFlK1cM7elnyZyYpf0uqDI
mpaQ5fIJyukICKKNqUcSzxMoIEok3dekPtzXNGkz5hbDKHgb6Xr34+bTYNa/XoJSrJG28YnIG/qqwRiHX/
Z9DcjWZuYa7Bd2kqPLEr04/dDdf2WOzed7t/U2L0CuFIg3OANQBxE9heQfpfALo3S0GcDRBbCbo6+//nB/
GifRISdGiDNGaF8AVJtAB1KgsT1Ckaqo4uKcQlHIsyWEyFnSjSyc+YEKGYQlQRIJHBiMIWp9msbg5uVAgQJ
MoqNkfMUhMgGOE5BgYK5xAqODgCU5wN4sfBRc7Ao2kM1RUy7I3pkbyIdBnhGw5kdEVIjKlQre2IQFTBVtXS
udwEy4LwTCiaBq7Y+3itQiMmekMGTIBJEILhYALUAfEsUzgYVaLDZA2BFYtUp0oav+Ts/iq0k036Z/
TTCYVJLFcweo4tZUEPSmBrsKgiWw64UBKyS2gtNmazKYaaVC2Wu9A8JsMpdSEztN25l+u45ZJ2mQLCklzg1
aCt6VsdUFUeTCQlK+AqgNZS6lpef/8yr100i7UbT2R+W//uyZHkP9idBSgN6wXBIx/jAAw/kGYT/
Hg3jVIETICAADD+AGWMvl730h98H6aVTI3JhKYxU7gLw6tkpDUpx0bp9GtS5r4obaBiKIModi1gyUGUghlw
sYUPCgaVC4WAwqjAxFAU8YKDGEGRhwSCzIyQ9OAFDGnsys2MEKznFECCBq6EaCaGepwJKecGVQXGKxvIrEF
0SH8LOv63zMGOl7m3VkCDXy3uDtKYKuWMyKRjIQCLTgC28RNEIJL5QgqBBYctCwissl+WtNeYwCiSecMTig
y9neg8ZBIVqXQcofAbzslifYjYlT5snfm1LVCngjrSnXXVSLbUsUqanA6R0Wmm4syeeDmcrVqP/a//
q4yVIVmCPzMzAUvS2RXUh2iGqk5RHRGS5F9fuP/
+Ll9Q45lOJKHLAoaRMSdCTDiJ0XItxOlOhKmZ0aPo4lMtPUUhsWgAAsyPYMrbCJWNEHzGp00QXG6g56GQi8
cviPRjEefHFwVIm2fm3UmZRHDWHYrGGdnClB6sxZIxYUEtyiscNUDSCdojEGhGNoXWFQpEDWIXmd92mfqau
5CH2lLltwdKMOVWdFk1WCuq0OE0ByWI9iiwT9Ito+q9e2HZdHsYw5Sa2rkQgWXOq/
rayeLNnhEbhmMsWuw67tLGHnb2XOs98sgadgXCgjsso5d16Yg/dJKc5Nb3JzX/ergSsPf6Xw/
l3sAgAP4TxZkjsqHIpFoQgjJOY7T2Pk9zkR6BMonI+hZRTiAFzPpVavEZk6pVIq1lRJ1dLtgeRobpVIafx2
nwkFGsT63q0GDRKAG6QAASAXbwLNHhQOzlnTAFAw+OgRUUhAZcW//uyZJEA9f4+xxN40TRHKAaCAC/
Q07T9Ja09lQAAADSAAAAEDABnGIWKqyRZQZNcQjwSKUWZI9pIMUuVWafCpS5QqEZcdY+VAdTGsI0yksvmkr
8LSrhWVr5lgs0FOxnzi2Qn7DDVyJpGIwnzxxTs8Gd7FtqKtZV5HRe6Vlsodn6W6FznE5cOj2Ut4UMmHeUjX
rMGS5Yl4+aG/6b6HxhIWQ5n0IQ/
UVoFaAACAnZjQbtIw2cGMuBhpuNFDguAA2TIUfA5DDFANgMpcGDTBbBAQmWvF+BkgKGg51l7L1mNRSEMgFC
Wx8R8dghiVUAZgHwsBwjfQYkhOENFoQN1ebqPTh+k5Z7n+4t64RjGgTsSYhgywO4s7cPBKxSwGQdCJSblEN
VMF4MhSRYaufKVkOZpLcaUR9EPdEucZSp9ylWIC0glPEQxobEarDeTiseHuOpXOW6UxL/
73187+JY9t0xPJfVNwtf4mtaSLT2xGtPeLe1Pnf+sX14Ma/
xSFZ2IAAA88gF4+FA6KwXobggAtiUNRFlwuw8ClAJgDAdApAWhGBGAwF2RGov////////////
9UNcfJCcgLrKojBIRrZOrpyBdpyNSMwIAAACBndmYZlnHqBwgEAtw25GM6LDBCwCmhgYizQzQhAwWakcmTK
wENDBg01wvNGmQUlmIBZlwEbcocMQKpRE5AyAxKgxxQyjk0RY19Y4ZImHAQOaI29SFQoJMgRRtMGIM2GRlM
YNLYrlhhEFYVRJJuwn5Ao8NSGAwZq9MnTTqarDmLEAQqaQunKYcsChxdYucRC1BS45gg5WARnC5QDJk5U6C
5T9xObfKmlkG//
uyZOYA5rBhRlN5eXJJbDWyAUnaXwVVDM7vQck8sRsEDEtIQTSQQ+1NFotg6MXjMmvWYKizlSay8UW5alFiI
vqwean9z1/6TeOf5/zeu753mv13+7qd5jj+v/evvfe3cw/utZXyaLac0QxcXPXxQX/
+44kIzFiRpaaykpCYgFKNDTkZI6YEABgNWjCt7L3ggkUAAy45Bqkv/////////////
qWcH8PkJE3GXHfMyBjjIGV36iAEgaE2WCcWboUAADMbODM5zRMRTcMNxGAoJGQQGmK4CmJYBhUFhYYzA0BR
4PgUFBgUFAoPhg2D40GRhcFphiQgYABh6FoQTZg6B5YDswYBAFEAQkBZ4EUIrFapjCiMGD0bWXKpLUHBBo2
No/QZElsooMef1NNw2zJvMEXC5UCJB0Tdo5CpO6aHVkzJ1/uG/
zXUxGgsRddkDzNGh5xGkvyp+DWh0TjxOQOK+FO+sIjkssQ5P5Usu+ZoaDGPROciUcmZZlPVK1nMUhzQNaHS
YpNm07L63NrPVkG+RnPiSursnVjGKDqR/
71QpztZpExEJjJA8adClDMWsKAAoaJ8NJaAYjeOHExgQDZmy0v/////////////
6yHliYn5TkwYFAqeWDU1PkUZHAMFODOqbnDhgknGcREZ1A5kITAAGhi/
MYjYCkAmIJhwFGIwIDAKYNFxjkYhchGOEOZrIooCzAoXQdEgg35jAIGEgQYvAAOGhicGGFAIFgxVZSoOzWT
ocVlJmShkTW2kLeZWjxcnFSO8rxcilC8c4bp2DOk9kRX8xKidWKsnCo/
CYjJw4NSGEoiITBCAeJo7PG5OchdJ//
uyZNoG9t9gQ5O5FPBDDAeAAxLSWhFbES4wvIEQMSBADDdIQaFccHjUvBsrjbPRxF5HiLj6Gbrn4peLxEhMj
QBwmCFVzoBBPWVlNEzNoym6J5FH03+dkHqOjRRqgx1f//
7RQUeGmDuuZuFBEPFKXiQch+MT1IyBTNU6tT7qVAS8l3/W6kG1vbQbWeTugh+tPoP//9Tf///
3XVrps7b1LRdLOuoxU78yPBsx0JkyHKk0zMwFGaYnACYoCoYrAUZkkCY5AIYSgaZno4NGWYGicZVC6YpDWY
XgAYkBoYNDOZxmIYCAOYfBmYGgUYrC8CgwMBgZMhwDFjUKDZXsB9KKmB6nZb5TFH1QFM8KiUMLiIuI1tcTJ
dcs2FxouF3UrS+AIAytNAxlO0waJRpdSOLYSYikk3S/
BZZXSgavmAI+tIaE15LXZcaDn7JuOy97aNzhxry5FVZFQv1D7Y3dd6GIutp1mnuhYbt9l4Ns/ls/
Rw3DtG7LtgSKElG0LSkn3LNBZMt0VC//zL8q/81aezCe4v6Nmayb3rBJp1MEv//
08YEKowCAqdF7lhmCroXMoYnSKDBgEALD5Y6qaDV3iAnG/6jhCRjxio/
d5yy5jHDQVyFFFsmZjidSe2hj///TyN//
KDnsFW2lx1qRDMOrnODD5GQLMvRyMkxTMxxXJRLMegtMIhrIQKMGg1MNBAEhPKE+EQeAUPDA8UzAoOzEMfD
CoKgsHYsdQXMGVWmPpHnNm4HCF0GNzzFTTwgEhMCrMWVHhIKMKhJnAKCqLJfJChxV4S7S8UqICTSZKrEXqV
CWXgRnC/EJQJCColW9TtmijzpsbVTf//
uyZOeO97pWwQO4XWBNSWgwAwrSHNF5CE7pEcEhHWFAB5tQWFwxDLEVOH3XS5itsYZE69BMK2Oy/zow4n2/
EupaarFYvXk1syAhBQgQicUko8IAhNDSmBUMBEAtBoj4iDKq6+tqJj6/6/
f369GXa6vt5KcdCamTffjYtEKnUhr//tpyq8uCCH43jzIeXEOJvT5YU4XsfhxG8eYv1dP///
mMnUHLFywvmscIFsSTJOpaM2SB0B4WDwMFwMUMVureWvMn+7X9PcaqAAAzOJzzshizeoNzLA5zI1GTD4NDK
0DDA0BysIhEFZgoBRiSOJhIXpjGHxiKEwjUTFyg3ksNxcTfWs1MNN7DgEajgeSrBQomGCxo1UAqU0QdKyIM
KTIFweCSoDoImBF+AICJ6AEeKCQukvsKAKMACH0OjTQUMLsXqhWkoii274JPSBPYBBTfI8LEVC3ZtSCJg3g
J4Q8cRxsI9I+0LIWsmGPghRvqaCsEYM0L1lXC7b2cuTGhOVG7SWVhIODyEplC/
YXyRVUykQqeVNu48Vqlm/////teX/1zAx9aj33v/eKb/arPp7yXrvEX4lzE//
jf4vvUk90zMz7KIxYaTF0exII5kyHqGKbg+wR0prP//6bc5sPrwQNqwRPG/
SbpRWajvlGDuwoeXSQ2kqKmnHLUcWhF6UN/
90yBAATDCTGBNGQYAwegcRgKYwiBBzFuCwP4oMwwMC3MXhDL5rCZsQohBBcMFi5rSQH6HvungunYFABUcBs
BmpVXmPSC4WDTsqBruhgg5ZCDkwWISdyXWHgERg7dC0kmJgBa7YFohxMVQZJguPEFsKAjoKKB//
uwZNUG96dfwZO7e3BCR+hwAYnSHWGBC09rZYkdpWGABhdYbQlBKGnVE1JhiNrV2YLNqvLDTXn7rRuoyiVMN
3KXrhh/VtrPkVNOxBvJPOZ5yy9G5TYn6sATLs3Jma7i42P5yymfeUTv6o5ZHoEi9ak5//////+OPf/
957x+pfv6zvf93uv/
9/3HPutfy33Vr8f7z8fqfax5ct553vd9ykS5Ky7CQkaQEw4ConGA+iMjPWgxNtmX7/
RxE3E6dwXpRkwQVcFIFiaOZmZndfbGCgQIQgv5ujfK3ihCbi4Wk1Mou/6aBAAAEiaZA/
qU0CaojsaJIEZ1ACYrGeYnhUFAnMPg4MThCMMwVEYGhgVmE4CmLIvmKYomMQBjAnGJQOGAoRGQ4VGBgAmF4
JGJQA
jIHAwRAaWahpiJoRDhplRmwWLcGmtPz6/
y9IocHLrIZq18LimEKoirIkqDg3LVKCADPEL9PmXxasxdpjAGhQmHJxrVI5kReF05PDDpRZoMgjtJL471uK
JTmNYgdR4ICidpvoy9t91YcjbtteejlyUy5w4sypaDf39vAxKYh57I9QEgTB8OMC0OX//
80nOlSQuUOLZAVb+QPy5Zz6vISaTR8hMx7kZEo+j5FeciNJukjQQhXRFOdCFK9pUhLjxN1ZUCFIxIF/
NIuMEZRBJCEmJhhZZUqPCsGUiHXjpA2VD+////uYvQziJpH/gVTxUNTYjRYo6hXeeM3CEow2SNA/
OFIwPIAxsF0xLIYoWMIKsOJsxNGYwSAgDGEYDg8YOCMYAAEZEAKZ+gY0MZWSc+
+Z0sd5SdFmZwSZ3UZked12YqAY1ad6f/
+7JkxwbHlGHCu7lU8k9n2GAB6dIeWYkK7untwRobIkgAswAcGeDR6CcxqAdCmPFEQSHH9EkQQAYdEkKklUD
iUQrW6BgAAUBFuFVUJKzW9RFHgbTlquij/
EXCeFkiv3IOhFZUiKVSHlO7P43UaZyjSAiwrhuCTiSjiDhLhSAqD/
J6q5lGe6qTzUxNErO8ckZXfiFWdLatsRyKiC1NbO5P4Gsv9/wI//+GH/Mu65tGs1QNRPmv//xq0Lf/
efcu5f7a+v/aZ43Q4ua94GAD/
m5M8KTwqBKWz04P6GDpboerSW2ZuNKS68kRNIZbeaLbw6Hy3Lcyxt9o2r96Gq7ywqbB4U//
bK0i6TEcQDEVz6p0scfVEAAJhOhrmlIMoKBs4pDDNRpP7hU0iyBh0dh+H4rJM2maaYVFzDgozXYMeJyujMC
AiUoMvTjwRMwcYMkTTLywx0PMHGllGXmhlq0YGfBwkZDECRgQg5jpCmbESUhCAJNcRhiJiRiXgUF2UA4Ahx
IECgyYjL0inyCgurarhDEgAKFZjfK3PmCANky1pDXSWhDqKqQC76Dkgaa26Bj1TyjEMO5L33iLs0sHwxqCq
SkcurXyj0Pwqdn5fD8AMIanLMcrS73OqXYAtXuTtaN2rlu7Tbz/OWf//8qsf9rP92KX7lNrf/
nb7/7zws///ur/4dr83n/4f/5dxvW+y3/JJORcR7HEwP0LIKUpJx0lIdh+Lob5/
ISzbZJ1c7zSRpYW1zVSqdM92GGr93jagQNSPrvWevwKMMmv/92lVCykoBDWPqifMyySMFhZMbA/
MXw8MFAlMQgIMAxJMzjLMZAjMCwcMmL/
+7JksIbH0WBBq9zYFD+myGAAL8AdcYMMbunrwRsbIYQAvwCGzxpXxuVR3XJggCE4xykAkCGSdFWZ0ict6a0
AIYZqHhxqRSMOcaBK41BkwAxNSLu2FyhaGECMAvVZrdkq6NO9ez10S6wCJclQRGILsc58g5wwwzxlnOTsl5
uDUHi7PQ/iEVIJDE0RRxi6KU/
EWJRVp8vikYIqIZrJ6E5yq50l1VBN88VW3oxiW0CX5h8xzJdhL7h8vxJ1A31jtTuVl28+VT//
mj34gwPJFtu8XFv4Mn/z74+d/yb9t0rmT4v4e/G3bz+GiC/Lx1wXwUkO0O4tp0JZkMo7D/
Uy2uD+Ub1UPGpkYNM8FPNsdlhVRyheP5X1IzI4TsiPYcxoW4G/iUNEQ1PoqcT/
+31f5CowXxyDWYBBMlUF0wxwXTDACFMXgEEwUAAhSby7G9Gxvr4Z0OjyqZijH5uxhJGbuEn5uprgiZE4nRE
Ro5OawzmiG5h7mbEqmwjYeHhaePCTTCVc/
XM21kGDhGkjAyXMUdHpD8CAWZCOs5QQmJiEc10IFJ2hYaHNSoBVuSJAy9CY1ArIGdCgxGXkRKLJr6dsCEEE
w0BfxcFCup+krWul8GAKPlABSTjNdbrMQ00h35l4Yu61FVnYfi1HXnpVI60BwVXzf1wW6OLa+0+y/
3ZgC9Vxnca1NfuSq19zuf75///3LX/ud+5n/zNfn658v53/sWf/6Xq9pN54NMURIL/mtEEPcOwREUGr/
1pGA5GOiISyU7ASDQ/KalAKjCxw5sfJDKn0ctll+dZYzVwuO9Z8/qux+kp/
RT7v2IMW5Bo0hE3zZfC2MC//+7Jkog/
n0FVBA9vRcD2GuIEALMCevVUED29FQSgkIQAHn1AGMw5hajEEGNBKsbexGjLJ5cIQQMDkhCZgam8PRsXMYq
snaRRpwecyMiJbOcFj6xj2vT2hwmKeMmaVibtYBfZMtOugIqhkGD2OIOqxouBBK5TNESZGPFgUDNEhRDZxA
yq61lhBQOQDUohIEiq3AoOBQSWzGBZgQKSwQPEj5Zc0IBUgyEGASbQyGDg6eVoSATTGXJhhoy53IolG4jGG
uQ0xNQh/13rYe2hZI8sFt3VupXFbWMLOZOt9YF7u7xdR6YPY7dlVNh83HrNf//+///////////9z/
u5VcKbmHfu8/W//9X0SV772Kf7b3jf3/rqUvJOiSGUp2u5fyYlMgSmJUoHpjIenzzVa2k3dttUHEI/
xupQAUWC4CpIAEYT/lBoo4R//
q5mfH1PBH63WZRZVCq+pagAAcwR8I7djI0XIMyFDIwCGAzPGMwvCIDCAYDA6YuA+RDgYfg4YYgUXDMEAmMP
R+MAQAAwyGHwemBg1GFYjmKIPmAYDhgJhAshUNkwAKCNI0MfIIvCFgjED3phrahYKjmDgBQGWrLU0y8sbQR
pCjAldxfogBocEZFKWmpnxYBGi7wOBS1QUcFLRScQAqHN6l0CQI6DRCIiC8WxtYl71y1/
pDKoBhFaB465HYBhUVlTwW2Ktzhughmuym5F46yS/L4vIuf8XgKTwPhOg2YQKHJ/
q3f+QsIyiyZjpq6TzPBscpqujSMJq0Ec8IDcIAA/
P44sWbJx1JpzzIixIdaGA4FQ6gFyadOCSQh2HhMWrdLEGY/V9q2s/XemZmZn/
+7JkjYb3WGJCk7oU8EXHyGIALMCblYcO7uTzwREfoYAHp0id6Fv9ebD/
2sQoo0Z8T3DVIHpSzt5oUtSGJX/
Gyo7mZQlmKYeGGI6AYszCcLxYBzFMYiqCgIBcxWAMxIBgwgAswBCQwECUwuE5NodAwwuDIAAwFg4HgpQUMD
wuMFxQExDmUMIo01QgUebGSSaBQ+XiIxlbtL4TVZssdSovMRJsUXaoi4bU11tQLuNWe2CEGnTux5XTr6StX
mrZH7qar8xODYfhqEPvPUdJI3ftXuYYRONxSRvG1i+6TxQzx/
Y3GFsKlch5IMgmAk5rOsMWwR19ZRM1xICGNjv/K9C/HC2Tx8XuRG2xEi0Tcs/zOOePt/MlBvzuQiHMQg/
2tfomDILw/T6rKM0Trdp2ieOFlZiEUHDYjE6gSVSd0ZOb6ya5vJCuX/z///
3dye9pF3f8vMe8TX19G5UvdSAAABSTmWKIffv5qABGACUZZGpjYEmKgUIgORB4wGHjfQFSylE3jzCBBJhrn
BYMHPG+wHDg4M4ly6gcBIQUYmgv9jZfRi7mF+X6n1Dn7ZAqFgUvag877UBuJAHREI7w6iWYnpYXrCEPA/
sm3LgKrxMSNm5OVHQoBs6mHHTFUhlV5aeQnCNMePtpl24pGjQ+xAGZABQkH8ES+sJSfWqqWXnZyvjyadO/
O2vnWyFeudnX8HzWhrf52amharjJvzThsaKBwVFP/
HKJRI4gw5egPAlSwSJBvtu3b7um+14/77p7kkwxaYWZIIu5NR9KP+m6IzT6/
Jlm6peImRcJpD6BxqMBj4iRhYd5h+eRh4IgkGMgoMTrMOLMMKP/
+7JkjAbGCUlFu5licjjmqQMAJsAa+R0KLusl0Q0doggAswDBWBqs1qg3TExns9Mc1B4oNGADGaQmusANuJR
QyUUMShCYRYc8mZJWJvDIbMMoVkQnUdaJKImcImAJJpFA4ZA8vWJQMuDAlhAM2ou7ymSZm0OLTlB2kwp9HA
Ya2NtH+bi6q9nZZBCYKXuy15WZLXS5Y1DtSggi/
C33sy6dl0Rl8Ri0luxd+YvE3LgeXQHSRSev2pue+mjVNlhfvapNav1fuc+53//LV/
D6cQcs9pFSOUC8FTE7QoJnGkwwAT+LKy5cSVJbIo8qyujjMis0ar1RXQ1xYjprAoKsS9ku/0VUJ1O8e/
qNX+X7Pas5MzNJmWUC4ur/
18MmmfrZp90WAEzFiA29V80KQgxrD00WFQaOUy0CIFAgY1isY0DOYChwX2MIAiFRtC4FGL4cmV4OgYMjFAY
wgRjBMDzHEEDAoVzDYMzHgCDCQCzVgAzYUNQuDTWQw8aM7VjCDUwEJEgGgKoEXxQmAoFTTIgoWF0TVzgUGQ
ltHJQdDMwcOKwCPIipqJdggMV6+qApvnG5O4w+8beQREFjsuXfSrpf5VRoCBjiUbqbgyy+kxH26S+HKSYru
lKXq+HWnuZYfdYtWNwfIOw7O5392vqzlceUTQw4whVpurTOKDVLZtqmfI/
I+ThJ86lkxTyD+T1qgYtRXf8/+VQhXIKDg5hW6FyRBYQBFsNB8iS8vD3VRXkPAzdkVecY5Ak1l3f/
EfMyP72ru60PcZyGcfDo+cCFAPI+YNjAYlDCYhCYYnACdwQbzAHig6APrT3Bj+HzPdjXRDTDGGhLEyr/
+7JkqQ/HUVrCC7ss9jaHGRMAKMAcbUcIDusHwO2dIowAowDc6Y030Y3Ag9Q0++8/
QE4Tk6IUwikzLMkRnJPioNHGgmgiwTEQoEDSKqKMDFyk8n6Q6BSBQpLVOwHKCgmCF7AIFlqZgGAXEaUhWVT
qBOOydPhnYUEXNUMXKzdjqOKHKQlwWZo2kyIxE2PvG7TWZdCntn333KmvwHDMTlU9MP0+0P1MNyyHKOUfnR
fZnsqLdbXKP7vNfn//+uf9y1V3/Od/fP3r//v//9sTss0e8+KQPoYRAwAIT/
58JPKkDSSRsNEXBayDo4PlFWFm2dY1qlXiyrkJ1YcLhycmW2WVphoOf+QWbUGiy1P+hMKWdzkqAARjStwj2
kmzD4fjHcZzIMeDNMHigwTGgDzGYUzEICwEjymwiJmqaAJyZDYeJCF06ESOgiBmT/
mfdjCY1GwnKHepmymkqIRFDEggoiNoKNADee88LwBgQRAXCSRJAUMomrnRpLwIrFvEO67UKmEo8hUoQTslj
OS2ET5PCfjyLVqSYSMzQDE9jvBzkgbT3IIzMAixEOJcmOkCOvMkhlR2vKjPBfZWWNBQpDHiGw1Q/
jQNRMuTa4PZvXvtfE9fr//339f49a0rL/8f+bfx6Rfin/m+vi+/
j4rLcJcldneKhkfRJ2NiTpMyYwVDYGzMwufWNkaNKa2NeXhWQTXIiitiAFmzYWWBdCPDrORyUt/
Y67OEioyGF+oisSLDSzH/
d+igqzOYzDksrjIcgjG0UTDIGTB4QDE4GAMIZiGJoKAcTINSwKKmiCb7ZrSm+EaPQZ8BhjLoNx01420A1YA
JBrQGKP3/+7JksI7211vDE7p68ETnqFAB6dAaEYMQTuXpgRqZIYAAvwBk9jTIcS3RDFlSIfCZICC4IIDpaA
bqIDOF0dCEh+g2FGXMnaIHw4LapdQoQfxln4f6QVxO2BnN1LE9QxbP1TquK+YmVQqxUK27Ft1I1tTyO0MTx
kYVl4bq8cbbFVkSMuYDyeLAcHrNN/l6/zH9vb/51atnv9c79Z6b/zqnjf4+/8W/+vj4v/4f3761/8b3mb/
khCeNNCi2EuN1RHIQVCUSYxMFWbkZToTCjwj30hZbjydQ87gaV/wkVEwoVR/
Cjx4sAAWd1lXVABaVeoitY1yxiDn+nuXTAAQzQWJD6MaDKojTKEejFQDTNYGDA8FzFIUDEYgjCAAgECxg2G
4ALm4WnRUCEABiRmChQTQgMF3EhIQyESgiGiNWapOZ1OF7KTARRMsJM8DFnCF37sM7SDYW3RFZ5WWl7qzNV
7EAFxC5BMcU3YeX07kohbe2pJQknHgLUXudJkuJoLIHU2Ptl+XTQW97hkgPo6GUjKBWK83kY7w2LlUoeca8
ae0Ks1p68rtupAjyv5p//5JrU+v//
9fNLf+eJm0n3+yzjHz0FgyYAH+Uke9K08yUKRYVjfGURdS4HaN0lpyt8R8pow8W1THkb7i8at3iq3XfWc2i
AdTNFs/
+Kt3et0zdYxLsg96qEU8sK5hsbZzOVRgMP4QKZkgCZlEBxgGHpgQBpiaEBiADIXAIOCAEBwKXAh075UKgjh
g15G6fikUxaIaPkBQLHSbIZ8qHEzGpzUIzPihAwUPAJMiB17tRPgLAmTtTa6sxMeXqflhc94iIGimnmFQYY
BX/+7JkvI7mSEhDk7p68EHmOGEAL8AaZWkQTunryQAY4QABPwCnioYrMSQYEY1Icn8j0CGE8HG/
S05C0cY8EmpcmaR7lDES4x225lOTjARa6fIgwT8hHiizffLCrn0gLNbjIuITBT/LPtZda+///j/
19PfX9LW9JsZ/3/v/X/x/e////
g0vu3jJ8v7MDei5krUAfpCxMFyhiGhIxdjNexYMXdfWZuU7iw775922kOaVx+cPoUOb/+p/
JsjHPsZmhPdkZpWYYWYJ3BUEAAmYLYHEbVGmZcGF4umTxCjQugoGzBgOzFAaTE0JAYWZgYjeOfY7UBwMWMp
zLgOmQmLChZmHgaEgiPPY+dAE6XJQCgYFDA26jXMLNKF2TQGEokKEmLkIcCxBzFkoh1CTG2Ic2HGLk0xk8p
jchJO6QDqMlrXRUk9T6aZ0YaQDcJtCPkdomJ/
J53guKyynIrVLBQ1QHU5MzHHhsaeZkEoV2oadqeaeuKpQnFq38OFBis3////p9f3zb/EDE/hXx9f/
01nzf4hiQ57J2xJUAAGAH///P9AboC1EChFmcBNgbRfSaAuXpzR65pHw8q/
nhy5COUqP1m6OV2/////8G4YELQ6C/Xn6ghIkb//
8hmh8eTQA2wsOUSjHhYxwoDBUaHgAKSMARlQsORA5BfgEOLyuMYkKxgVbvMQThYQYwpJKeQGBRav04RkElQ
Ux+Kcf3D9W1myGsi+xnKjW80EgWxlRqjNk2V89YZ+pQv5d3FODEP5nVR7mIyI9nGayFyXJyHSxKyR2yzp9D
0YuE2+VxpTu2ZDVc4otHn+yrtD4rdLK7U64iYlPVRpZKO//
+7Jk1QrmZlRCK7l6YEPLuAMB4sQYtW8CreHlySctX8gHnxIO5YclWvf/
ixWyL86f1j+S8TOq+zyLisDO3Hvs/HbpnKv/nv8a+I+EzCGzypgf//
59lM+jQy46LqHQrSEmlcpnqIgq9CnbU5kpQhVpqM3i0Z//89zGermf///
8RCo2YPnFC+pISHyBovq0ecWf/
zFdC7xARPw8MJowM6jnMrSCMmj8NjghNGyLCDaMNQCN8hB7nMZLxkwNYMDZqwzBnM1STIKg1wDMJBzXEYeA
zU3E4V5NFBjgnYSVhUoPzdTeDorFEkTTDZMIxILCoADAIzEFKqHmLgJRGJhwMyV00D0jEhGSKdI0TZokXES
kBwS+4NZFUMFVHyZzmMlgVH5PhnrSoEZe2rEC7gGKhWgEWHg40pcxWBciVih6umjLFUuRZR5ZssApCWzkFO
S1akXu/6n2cRqsviXyhdbK3uaejI3rX5WlTKIIbfKpPcl0Xkdi//zb3yuk3z91pum+UcylnN2+zUAXpVS/
DlNQRa7fkkO1YzJufvLePdfzC1c7rPW//C1/7sAcAAA///3S0K3/wCx/
tAKexNCGUL4BrEmwqYKgGHyAk5VrJ9eumknTUEBTiBH////xYRFA8HXjB+cFGNh44l9BH/
9REiINcYLu8TVsosExDAA4lL0wtDYxmGwxIIYxoGYCiTmwCr3M8eO6NNewM1CNWhGuRtD6ZAIJmAEGFAGOI
gBMbhUBERoFxhGRiQp+gxh5hmoRewD3LYHBKe7GykTBU5nnXWXGVsg6H0uXiaBKlMAY5Yg0MDPYgwBuSZrl
EDRCOeIzqoDAFaUK25P/+7Jk7I7IZWI/A7vB8E3MF/
MBJcYcNU0KLusFwOQlYUgAl0hIaW4pfOO5SJXLWI1BCUC4X9fqq3V2H4gdmUplUYiNPLpS/
UMxuclkjkz7UD1v49UvopVZhuRW6OSW49uKxnuv/Gxf13/u/3mHP/m//PLLf7y/e+f/
3+avc7cYXiYGpBtMqmgBgn/OJiVhRsjROHAAQDgABESAACRoPGjxovoAg7jA4P////
ylKUz0fILCMqV575QDBZ4UKlA1CJcw1ckfG89OEMQKj54IItDYtTlKkLjlRC0Rmkw6ZNONPW0Bh439Azo8K
oDXL0zCpFL9mDIAxKdZob9eVChvhYCaiwdDmVCRnhDR0nRIkrMhYjwn+0xRpULNWZF9luRx2lwJEPmGA1ap
e0IZD0y3VRoPKrq4JhKa7BEwIdcR2k5GmqFMRc1BGk3STqHJ5ovDrWXNg2OzEYgWMU1qs/
268Fxq3K8Mey5/4hTZSbN46SxZkNHSQ1bpgIAyj6zpZwEOoCDSSzsq4WHVW6AB0AAPnOa6mp/
+dg1gHgND0KETwPA0niSKhUjAsCqDQaWEAPyxg9MFw+D//Hjso8D///6AgYZtRueHHP91dW0FVekzH/
NQcQgb+zW4WNNIYmFpq84GIxKWAEY4BplT5k3IPGmBViM4a0eoIYI6JQTLGzjKgQNOwqFWhmkgDBGTJmwTG
cNhCU2QBBO/
BQFQ8AwJDRQ9ti3l5GYQcxdErOJgGwCUGSDCDVmUIYT0chyCbm4B9LiLS8HYkhXjmFYmciln0I6JKxdyPVC
l2/
OhTKRDIa7X30mnTk8bFJIyU3M+gv21ybXbA6zDlb3/+7Jk2Y7WRj1DA7vQEEbMOBMBQtYXaPUQTmnnwSGv4
EAHl5E7KrGeNbNYQwAEurDWfZsogbc6nUQpfjqUpr//3v9ayXxCichIS4KBPxkWbpK0RDjlIv98eDdQ/
yiaL3TeKU//66nD4CGKJH///
zipWF9S9nAdxb4rHCHMWmjzorI8UvLVTEFNRTMuMTAwVVVVVVUkUBMmAZMw8gPTBnASMIENcxxwcDKBs2V1
PaZD76021FCxobY8gBOM5NTIw89c7NZDDfAUEwRlwUZG6hwScilBxWc+dmkU5t5mY8VG3iAYaIKHI2bEZiK
hDDPhGsFYDoHDsR0BVJBM6QhBY8XzZ6OiiJUwQxK9JYyUGhIT1iuoJFBBKANh7yCEhB5YFMmSBwcXX4wJ71
g8WipyIiM3XoqYWALOwHLZxpEAPu0BhkdZw+9PHnud1xH7jk3OxGWWpZMwDclcSzkrl2blF2nrVZvGntUX/
///75zP+4X9X/1hlreubx/88OfvPljfbl/YZWmsCs+T//
8jfuuKxose9qxXKRwtEo1akgPrQpFc4WLub+DhGIWyAmRHVNEeRSNwUbjoU6jLDGrLtlL8KiaAsISjf/
fPlDWKnmSRQ1X6KPGlssepKUsobvpmybnnfwTAABbjxgilmihqWwEY4MFjUxWKjEIBBwmJYiYUWihD0PqCW
mGpC5M8KlcgHOIbKbhULsjwFvAASQY0OJCIi6W/
mIxbYi9lzZTikNmMSlC0ovQSewU6niw1jIkmpTtquZrQnK8l2lylQqG+WWF0dMiqYkKVLUci0xKRggszDCQ
18xuTyrVJ43mg+BZ7Hk3GnmZ7Sq//
+7Jk8ADnoFVBg9vJcFhKiBAB59ZVZP8a7mHnwOCno8gDC1zMrDtWKU74euIXlD6Y3LABkSW7o9zg1eg///
96UhHwgTOPQNTzSZBsKj3v7MCxobkccYIY01b5hZabvkbudPsIX/
9fs0nRPgxfc7amo3jOtQKn6aiAAZl5AgmDANsYiIThjTA+HDr5gJEcrcmSbZuMwYaKgbvOSbjmesYPD/
DQyG2NLNjAOQwgtNfADmK40csM9CzhCYwJpNCLTOfQCm5AUAJ8aOcZhCXYCgdi4BDAJKUEyUQAAAjDgIQ5A
NaIGCIJBgQcMITElIWHgZAPBEozHCUcw5kYw6pk6Tjl+3/ceRLDtVdZoDTYAdBxoVE1g4HZf
K4GYUudoSwzBaNXrAodi7gw/LGpRhy4w/cEwzEIrnKIMhMxJY5DVI4zNHGqTsff19aB+aWeswfTyOb7//
rPDXfqb/L//n7obFmrh38sv///VPa5/6w5/77/75hz/yx59UfZ//
5ByI5FCxOLgJKXI7RwPgl55DpJAPUvmmthDxdkWmxgFghPELThzPDijRYVFJR+zJlndUWUYwuS0zo5IRmZr
WKJAMCsaCcaFAT/
9S7sSejb82mjj7q3cMH2Oc57EH1hMnHVOEDXMRQzMSBOMLRnCC5MLAlMCQ3MfAFMKBQMZwNMMgSAw/
CgAhgcmG4FGJQeiEHl5GKcDwCm48gwGEbgIEhEiDHWMcAclNpwBXroXygiZqhapNgDup5ApFd6lixyoClxD
oGWMQdZJMKqqX5QTJ0o/NosOtBPqpLuS2nvo0SyQXXERVQQA6SrNDDQ8yIiNyA+XGC5Nz7IaEL/+7Jk/
474H19BA9vRcF+J+CAB59YYwTcOLuUvgRufoUAGs0CJHFw6yu6KFH5kqNUsvcIE1oXqJxXhHf/VZ/
cL8f//
4TlJL4DdZ2lLRjEfUN4tCUSJ4eS0wdC+A2QyO5GdMuXLxOOSqiSHqkc9bZstMpNmFSRKZI4VzM0PV/
JjsyqdrzC9XugUtH/Jqf9UsG/
0Pm9OihU1yUwHwM7GAJGzUGuHg40aQ+CagiIA7MPSQ4mk0YdoYk3mmCASI0sNWYRKMIOMUfGFxjxaFK1iaY
gJByQBqDklnSIsjBhAa0BMC4gt0FYopWtQHBXqZ6IwInRpBC9ilQUaPVXHGAxSRccbjTKPz0mZwzFuysUbd
5lqQybLAHve1Np/
nWdGEzzMoCfqRLld1lEAUFlrTbvi+rIncaFDrsP9AToym0+sGVZiSVpC7TWWrtyJ1CsclXx3DqiyMjy2ydH
MbNU9D9M9y/mFlKNLWXZ6qqF+qJh8+biOT/
8+O1arq78Ve72earGv2ZjmZmaLxyOC+YHLSseieWS8ZqZ+lplMfHzRdaIx0cnqmwImMUDZq0ZKzA/
WpMX3Ol8Mrk6St3DC4fDoBBMWHvYkYh/M/1xOjI9S//
z6ImvqctWh8hAMSFThmAaHVCgKJhnlVsMAcuzecJ/
i8ypm6q2PxGXBLUvYvpB6DEqgYOGAqCl5WUNTh1yWUrGpKVrTN09mDUr8dlsNQM4Spl7ROdmH0isaWCYtEH
2ca1EJW+xGTvj0V3wl0eS8VCUQB+ISs5CVlDODoDrTJisJdEZcQTYmnJCHmEDJKfoWR6dU8dAk0XA+W+RXR
6QTpStfWrphYgMDOBL/+7Jk7o33UmI+g1hlYFLsGBABhdYYIYT8LLB9CSKvX0AEl1m1RuFlQ6od/
uYWxUMo5fhZ3YLRz976VK+EBRy6xT7VFYZ//
QPNDQEoKRaySwIhSQ5///7TgibKsNCImPkTRFJVnSTGU2WOQpkJZLdkqNGZqHgCD7uWPQVEbjBb/
43Zxrf//l5hH/
EjRJ0VJAADHETqGRCqBIoHFGEKVtXaZBsaX+sCiKJAEOJa9QduMNK7R8U3AwMt9Hk54siwuYkEoWs9U8oo7
bLUMFtEoC8jYUC3wNGORYSFQcVQhtwGKjQxGBpZSI8NEM8E0LwgpRhFivFtXYf5mJ4tx7D9P8WRC6EOBioo
t8MCZLwT86w6D4H6EENhGEvDJO45ziPVIoQuDLO89FpKoaHMfafF3EfIsdpA1wC/
D2EFL2Z7AeB0CMD5L+qCel2PrCHsx+HuUDw52mRHBWKRseo0cp1mQcKsVZk3NCEO8yDda4CgfLiCqy4LCvU
DpggCKq5MmMKLCSqHcMU5cEhOJq3C+yfzMzQSj4Fhiri1KihaTON5MzMzNWYFx9qZPDUxYMl7l9bMUInPLa
YZLuMiUTnniqVDVcJzCILi7DxAXFAfA6PKEh3/41ZSLjVv//qIxeo1Hn/
cHqDo4RhTjhKRRMwV95QqsxKsztU8olr9T0FLwZ1LqWpKo1A0jh1mqQNJGuCnMopVQT07FMLQ2qlkVSjVQR
kUKOobRTp42C/G2Xuy8iF2cK7XB6jvQklKBwsOMeAyMTGZhpIxNotvSy4R58vIBsJlrUx/
nKsKhJTNMVgcHiu2X7KFIWaKkYD8Ie/TJzEOJibwROnY9iP/
+7Jk8o3H82I7E09m0FdL90ABh9ZZbYj0LL2TwLYYnYwAi0wRB0FPE44YMYUtCdiEIxkRnaQFlk3YPqsVYPG
/hVCSSj2lRxW3PFTrK31TWosWlqK7tqWXNPPKV1Uqg7wAExOX9CJqZMIiZ/
0t3Vy5lIKCYSRYLEn2BUBNUKmTv8KmQkL/
8eRCWKgIlInVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVUACQFkAUcKAylklMUMkJr6IgtAcJPVfsl
kLSoPa7MYxGUsNiluJN1a402XWJWiatVhQCEu9l6GqtzlP1yPuQWmTaVFBypl4slkpblWBFWKOU3V/
IGtOjFatBBq7ZJJ2urBL2faBqJ+nJgp3pW6rSXcXdD0TVLDD/Rd+mAtqwJ7qmdxuTBYar1oCWM/
zvqWo8sgVip4SW6HQoDEFwMp4Vyo6DwwE1hUNy2XOzJG6vJFvrWnZfRXTkuU7O3VZ0OTYdFcDuDieCEoJQ5
EYQT0lCeSFhk2YvA1gDoG4MjU3H1VK1CEJYJS4qojoRloNmjEOjM4SrA0oGAOhfJiw68Q0SOTDCyQYEDhXi
1hWJsq0V8pWvJB7vKUw2raz5kS6oWmkzBjb+NTUxWVTKHQemC5Cf6QL5xlwXqkSQqTEOpculAS81q3rYKKE
RXiz4gmgahMeNn48UtEAjUrLRCItu+anERT5TmEIn6IVCw0tmAjQRoMqkK8k7SQDzo+tcTzBQbjLVzI6pyI
jQMzZtk6kjVDkGA5aqwlJLotqDmvCpal2YKgW4IQHHGDMGRsILo+K7cd4kDgMlDLELJSNWKTKdBCJlytsrC
j3IS8L0v/
+7Bk5Aj3nmI6SxhlcgAADSAAAAEkXZK7DWMAAAAANIAAAATUp8WCrLMsLZY38qWOvxFJhpdIRJQ4DpUbw4q
JLMQOmlT1SehtIVLxZ4CEjyFwJpN2YknI/bDkasnjGTA1gXWs5L4a88qYyhy5YMZ/
F8LSTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgAgAYsACyg2QoTkKhQJqeahqbHqQl
1s/
S4urSHMdTMxFuIUQYDMeKHP06rWo0kOLcqVMN4cSnOllwpjRQlFE6VW4LChrMT4HMTblCBBOA6qwwNUApKg
B2AWhSi6nVZyJ6QlCR3AYhJgBaAwsDlgvyFLoW5EEKLcIUJkZUdhVJPVQtD5JaboalQI5ijsAE8ACgrjqT4
SEMUBxBsgQSlCqCunP6IvmSfzmdwuSjAnQkQhyHnCnkOV5CSZLBQg3T8Jc3oa4n8co3RNRcR6SCj0j0oEYI
sJMgMwEIpjlRAXxYVMbISFGp1gIMGqWHI/
ScuD9ZFeNMQoWJMnSN0vJfkc2q66rUiTDtKA50MT6kRaQRSJRSRXkymEmiEgp2B/
EjzRnrC2M7pmVrEpT+J8UJgHOoFW8htReL5gWx9EYQRUNIpIRBIRBIQ1jQNYOhcNY4E8sK3G4YP3lxiXinH
5RT2Ldi1LX+dpwX2fVwmAqHJ+kAEXlF2EN3bEvlN5AtKRHZN1N5VFWZP1JxHdEBRRgbsQ/
STMFQ29i6VTLCrDIv/
7smTNivgLZCurOHgyAAANIAAAAR0lfExHsxiAAAA0gAAABGhUAWWI5CK4M6O6FZgwxasvIKhFCCpSUaDCVa
mi31+suay6Tcmyug/
8CQqW6izWmUs+bG+kNwxDcMUlHLZVMzE3QR2AY9M0z+taZCxpfbd6TEFNRTMuMTAwqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv
/7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/
7smQAD/
AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqg==
"

local Tarkov =
"SUQzBAAAAAABAFRYWFgAAAASAAADbWFqb3JfYnJhbmQAbXA0MgBUWFhYAAAAEQAAA21pbm9yX3ZlcnNpb2
4AMABUWFhYAAAAHAAAA2NvbXBhdGlibGVfYnJhbmRzAGlzb21tcDQyAFRTU0UAAAAPAAADTGF2ZjU4LjI5L
jEwMAAAAAAAAAAAAAAA//
uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAACBAAE+XQAFBwkNDxEVFxkbH
yEjJykrLTEzNTk7PT9CREZKTE5QVFZYXF5gZGZoam5wcnZ4enx/
gYOHiYuNkZOVmZudn6Olp6utr7O1t7m9v8DExsjKztDS1tja3ODi5Ojq7O7y9Pb6/
P4AAAAATGF2YzU4LjU0AAAAAAAAAAAAAAAAJAZAAAAAAAABPl2xw9RhAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+7BkAA/
wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/
7smQAD/
AAAGkAAAAIAAANIAAAAQBIAgANAAAgCABAAZAABDlHTepTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYeFjRphBhR5AOBBM1JN4
hEGDkwshNWxMiBM+7NiHirJk4AqnOS/
IkzUIHhx2xACHUJ1nQQJYkykvMaRcTKAosOAgUWBIsZLG4eA6I67wr2V4AVZyXI0WZo8axjNPDkODBDzeKB
oDA9qGVYjQRDeCCoKNuTMIQVK/
WEMmDDiiA1g5uhdd3p23MNjYkpAwEtNHNR4SeRqoKBzBjAzIOXOiABAUy0tIhZvZddYAYGVmsGxbVcySqBx
ihIY4BF7zGFQ5ddAoYj616Haaly//////
6lqLIzwgwMvgZh0BxlQWxG0OQEQ4GnagifgHBBWgfuBhUIGzSgGgAtNCyoDRPgNsMBvIGLxbiqbM//
Z0jpQGfDcAQJgcOeANnDpA+gGVbgbUaAIKDpR3FU+wACjQTajEn1GA4XDBXiPbT4sDDI4RBTs4Ga68TWTTE
HPArQja6JlHY6WJiT+Hf/+ZY0zsmW4DXHJay+ZSeNJQeAEBAkoj/
TrCRGJMhMc8iCasMEHWuxKO248sQVBDB5jCXyjHW5JJouAHDueTVeeAFVTZtOUWAHcAL52voRNml0depWcM
QLVsqLAZrrkRbiVAqadCi7Y1S5Y9/////////////////
dyxTmVIdziYLWklTLDFDAdAl+ZUh4PJiuNGYCTdNvE6x0J7lGA4d0xEa2eQu0ZDh//7smT/
gAlHZx8DW6eTBSy0iisZTlx5lp0tapHLvbJTGapr0asrmf2mpZqWs7lTrGNEeDyEklSOywSkafGKSVvoz8q
lHNQGSKVmS2eCi8X2ltoGCEBJWpJqN/
EjPACE4dwg6KlQEBFumZmWFNUM4EpspZVh0zipmtrHW5gwMEa0PzTWb44aNwABDQaiPBZWWbVK907TPxSuC
ZJQzW1dpAuWJlIBWlZiAJzCnfwwJ4SmNUMZIJiko3hfZSYs4RGYAYhV1vCu3BmoqxAxaF2ZocEnBAsVsQ4Y
mCLCoVZy3SAPUgNYCKmxoGjgbEmTw+wHPAC0R1n//////
UsoD7GEBBwC2EhDcwHyDQyByQ5FDAUmMcBrKQLECuH6gMXwtZMhlDV///
WYFMM8A4CgdhXK4uUDANAWClZUCASqL///
7mH4ziBgz5fBqSwoCpDQ2CgS3IqEVp0XjdFniLBcMlROjfU2btZ8szw///
8cpaI2YO91qrlyy2YskeggQrilRAEOPvI/nBlSdUa/
YAgCYOHqGajo6ICPDLq+d6n7+qrX4eDAwGNbh0xdMCfAxBMHRx2IFoDXTAYAK7HBrh0YCYIIjRESFA0BwKC
iInAEuwDyg5peRS////
6zAjxtCJwPVYOnpaOjzom4bbOInBFhjNqrcgMLIwzmrfD68jQuWTWe6GFgDRw1S5b1E4VZiJVQGGHvQwk3b
ty6mfb1+8tM4rd1oySpQGglNqMqCVf7CyjZmrOAbls4Eg8L4JgfVHOdbPIchBBcDwH2AQBWHqIWLGnhJBYD
DACAYidFvFzWiUEsO8DIHIrSDkLQuRWQTQQiaG/j+npSmv/
7smQmAATvX7gNMeACnGt2xaY8AFlReUG5jIABv6wn8wywAP85973veG/
vi9/8Upq7zV4+4CsZJU4rImb79KZvfeKUpl5Ey/j4gRMvInvfeKemv/////6Upl5T/4pT0pr5ve+H7/
dKU/97/0gPKZeREY9/
Oh4gBgv80p04sJ5+cHjITgBh+OAKcTNaTjIuyDmWuA1Y42I5C4KhvV87+ROIY4Kct5ltQ9Zc4ycQxkyzx87
/+cUpv5vfdqems33ilPTHzfePi+7/5vv7/pAiU1mJSmsw396K9Xv74eKxklVjJl/
ZgQxQVQxQMmrv3+3ivZ7PHkr9/hXq/cB48iU/xSBEze8jPH3Smb3xDjx3uzEZj/
m1nY8Hg5PI5HY7HQpFgn5QXYZ0izeljL2WF3ICcVStNdBkKmvv8aoIwAFSggN/
nOL8HIMgLUPC46YBe1AEy5f4GggvJc67XkVvXU5MRR6A1hedX7iTaaZcSnjMrcmH6btNPuvEIo6kTlUFP/
E3Zr5/cr41Z+X2/in8ppFFI3EaCis47w13VJScn4YnIcw5RQ/SU1Pdg7V7f48y1luth/87////X7/
MLdmn/P+a5vV2zlnhl/M/t6/uH6w/n2N4z8qx1Ltyy5XnLLI6YAMAgEAgDAgAAwQw/
jl104MajEAIYbGnzoHw3QKCCJ9Gx3J8ZIJWgcpJp//SbDJl1MZ/++XVV9Oc7//+au2fw5l3f/2zZO+
+j5yd3NHEybs/7++z5xkrumzzDW3ax+1D67e/v///
tRo8vOh5cQiubJUohBEAAAAAABOFOUeEYiBEy2yV6satzN1mM2uu2YgbLXVZSn0yFf/
7smQTAAWuWEr3ZeAAbgsp/
+wUAFY1kSnMsNrJtK7oPYYM6AhbgIqLwnp3hJk+dJsl4O8hKvFtFlHUAbHOTwCCS4XF6cYsxdBhGk+nVR+q
d6xUeN0rKzq6rBB79ygYe4pbEs1LU2903yeO5Xnge1PnLh5aOEeqq8F5eit24MjHdwaYtoL2JdhatITGZPX
Ma6tQ2K1R16PNidlebxhyz2GDfMmKyU1aeLN9xrW8ihxaPfwkaW8xlIjEkCYyVaGTmET9p7Q6zdnFSjw73+
87gih8C0PMIsog7JVSlS6HZFeq2Mxd9PVHOqMOKijFKqmuzOddTM1brNeeYs3o7lI6itElM6OYxUeqFGsRy
sjFmZMYVl320idEipBZfKyblUVF8I2YohBUxAAAIAgfCwUHUNfDAg5NnSejClmp0Sh2bC4YegdpLKqiqzvS
SdYJFqeLOFhBDoO1SPrHWuL8hUVXIic19y37lDNGmNYnoaZlau4ieC4h3WUV+kiqJkJ4SC6LyCnTKaswr3a
ZaFmKp22ZvuNJIoxKOPXplL1Fjrt+pRhfVcftGhDQMCQRW9jb/
B07esi60t3jLP881sTMwt82sN1s158ZB+ya5VZHM1u739R7WuI8l5uVmYcHApI5eQNVI78M5l3lgHiKQcB2
NAVqAzB0AUXZ+1Kdimpr2oL3kM/O/mb7Vb8BRLSVzXK3T+/PLXyY8yXmW/
9OQsiLIj8pmUU5w6XnuKtIoZGyMGMp6mREhE7eX6kZV2Ij5+DN4DfigXUWZ4kABtVqAkTsDI0TgCJPpXQYE
u2/T6NFUCnnTay/O6SMxB93yxgOWyOw0uCGyJXqAf/7smQZAAY9WMklYwACb8yJ/
6wMAFfZiT25iAAJrqyotxKAASwYEgDgQZIjKjEIiN3pmWI9vQhCvFt1mPDQSqDVNYfYhKZXKqkvvvZGFb3Y
TFgGRQqrKaChrTsHyGekNNKZThKqHdzC/
rVWXvQ8LWasBdlM9hXsV5bjnakLlTtPSNfe2OQzL4MrS+U5xalt44XPoanN0G7tLrXNc5lWx/
uF3Opy3WtUnLuFn89U+u7xr+BXa+jKb/
mp2WZbzEshAJzKX164ltd6izSr0swwkkQgOQS3CWRtdwSAiT7l/9L//pZ9/
wwqGaFaTZmoKqR8McQqChYABVgxI+bag8/v5/7f/
5U+dIUpXJZdKeloMqN8NbGsYjVmjChaTIGENQs9ZZ012vmUu4nAsrHtpdtJmanISjGGRCYkRE4REzD6hQU+
6kzZTgDD5YrsiSTYwNSJBCqALg2LJk4N4tEqQMmAuHD5yuTJwnCfIgaMLGG8FswMS6mdPJmxUNIWfBtuHrh
ZQOYyb9AzN3JsvmpPkANxYDNeugzsZm55M+QcnCPFljIDnldJNbs1BqbrQZN4y5WIoQ4UAWiYJkg6DpuhO1
O1d9+xBSXGYG0K0GQIsOYVCbJ9E9+7U6aVNOpdPZ+RQTuUiIDvIAQRNESZXPabTY5jUbCsSCsNgUCKwZtSF
PI9YfkgZey0WEW6dQfUrfVPtj6iObEM+CocqT6FK3iVstX49NL+4tKu+oXu+0fQ+KqtKpPubr5j0S0pJf/
j/+Pv6+Lp3HO9X2n////8DFHXB0DvHSJJ1f/N9vkYSUSYAABAABrAYALqgh7Fg5Y2EkbFmiAUpYxJeP/
7smQPgAX9Wc7mawAAZao5/
MYcAFgRmVe494ABnbBqNwpwALEAuQVXKBKCFgqTK0oEnXYaOGDZyVSpa5PMpjD0tDmwICAlzW5WH1dOvb+
+xgvKRAYjJIelMav/H7E9dwuVnxU1kj7Ve0v1eYWM/v8jjwwJIoaitJljW7/9zz/
73cHZdmggFptbOo+uXcfy/VLy9+H//6+7DsM35qLTUayxs/r/xx/8v73fe/+efcPpbctuZc7S6pqtLS/
jhj9bgjE3DHDEosrAhYQBAAwICgATtEpmZHYSjJdXCWaNWt4RAE0SYPDYbfJKIxxqiMU6CK5cfGhjqdM9zh
qKtEVkWTPfcRnIueyqz0z18wRhsyqPEjv+/f5RhwuNXLMhljurJT/
4jMxQTeu+hP8//+3sl9TQKFQxGg8HkLTJWRCehI3BEHcjRfgFHUC5YirCvQt/
HP05zntBnMQ87YNM63h9oY8xnWJAwydoXalIzJ4T7VHFXxzjThpnixIQNxQsWvC9nBOGghBczrcixDoJ2Xc
9mGuf667nWPeVXx0NVTgwo9khV3iW9Naz9HIdDgc51ubGh7O8b5ITe+ZnTPqmq3+K33v+OwMh1x+r2ePE7/
VL5x/vX//vv//////zrScVBpqNnUDJTFIjxWf///+4AgGZ2PYBiUSCgYBgADz/
nU5RgwCEGYeQy1y1xoQ9ilVEgSCDLKiWcOkUOPPmMcXNcSziqM6NG5NxoJBgSExoNh0v/
YhMj5MbSZ5AmeYv/Gg0IPPIM3mW//5PMHCBg0IE/////
57jhiqYl3c0RkMzUAEIAAAFIHBEgtWSeUgtIGtLfIhsGdeIFf/
7smQQAAXbVlX2YwAAaIo7P8ecABfJg2H494AJnZ9sPxrQAAYxC0gFgHECbTPf9w2WyBlCFAVBStyhV5c7gl
2pXEWmTM1JKe3UtXYfbkhksFdiMVvQ1p2LFPleUNT2kd92ZRutGr+su59/
faziz8tkjvMSlVreOrdX9fzW8I+oLIXBgqVUU06Wf6y5lzdW7nnl+t5cd6GoGuT96MQ9T1prnMstVssuY/
3W8NXsb/55s6pYzSyrLDn8/lUt/
jR1u1e3iIiujRBgABCjcAaTkocQHtgXzBYQ4hd1bqrdt7rG+UZBfMIgFANCIAUsqBkakih//
r9ZvnK2tfdUTUqQPHTSy0N0nIY9Uts1Pp2c2ZrSxpIicODckb66e7U044UFxY85CKn/
hTdXdvLtKo6iRCIgUUwUCQ2dGFyZoKUBvLwRZJhekLQ+MTcFmb5mkKKgWwnDCSaEhkjWdDeuGeKhikVOm1r
dQ2M6ZVGcTgdCjYKKBxiMcFDYsV6TtU2UbQ/nniMSeLk5t8CrKXM/
Iyj1iPqzy9HlY7fAUU06zIwrp04w6WpnL9natxXjLFpmV8yOL51jNIDat1jyTT4rjDM9exNMdI+6QLwq7bf
FtuSDiJDhbpqkDHl3nUzzXvf6x//
ntcGWEsZXfd2mgqAJqsSGkAAZAAABIjIbQsiCM6bJmvQR7aZ0yQICxgwlycCMhelubm1AJL12rQ/
rdOzpmpuggcRTRWg2cNDdTXv9XRQQsykHsumgt+6lUnehTnjcCI2C46L0iZ1hCE3r01vs3Xn66ZqYVliWEi
AABARAAoMGGGPIQiX6wojsSjNIVhVp5KzAIidiSf/
7smQSgAYHWVf2YwACaSd7DswYABfBU0/5rAAJoyjrfx6gAEBtNSvEI2qUbDYw78PLD3GvuRjejKJiJTJ4cl
y6m2tvDbjOMCyR08HEtV4zlFLu6ellld6YGaW9t7Pb7x2/
l3Ua1jyLSq7PUsOWceRq5UnZ3f4XK1mNSu7Wuu/
KIcuTmrEplE1GqSvWq1q2u2tdxpJRhG6eVv5SVL+ElsxX5TKYlEsqTe+Zf3/5W/6V/86exU5+GOef9+/
bs/
kcC7eY7rBKiAAgAgACgAABeTP1uIEWPJVw4nZ2PU81rrR6TX2nF6RaWnzX3czl9GGypS+WvvEv3xtPONBEt
nlJKj/
v+pALuKrURt0SVv1sZ7uxk798TDfzLc0FV1lni7zhVzFtPZPAgYfqlrrMrLM9lyQgAAAACUAAC4DXCwgEGL
RgmGuAEBM2TNCLRsTgFBgoAC70gqSgKAa8RL/
mAIAgmklashiDlpzjFF2l3WlUEqb9n7T6dvWfwy8tuW6vSNpjtsltSyBm7vdf5Wks98OSRzIfdWB6Dcqj9N
3Lf4c+IduSSklMvpfq4a7GbX6x1+VHjfjc/K6sjz1Woc7NLazq///+P6+zbjEkopfjljV+t9nLKv////
+P61///7wp+/
n37fZ5vlvTlV3LrJuoh6tkYSEuABKAgAbAIWDzL+dR0NZpsS4hm4nxOkqhqryphoLYXwNQFcACKppRlJxOI
SJJY84fnOzrRWHxhZCA1lOICXsxn0O/zVPc1Jz3RJr9ldXb6pS3/tujJ////
mOWuyMqW6qHWFNSNUMQAQBABACBQoiouRBWooSzBSxnJaNm74yJm6LSpf/
7smQRgAYNWFJ2YwACZ2sKr8XMABblmWe494ABrqftdwyAAF5NOZ6oYlQhc8ebixxXcki7CgqCdvTDLC6cEM
kb4EoVrUtpY3Dk1GHgeRx4fl6gT+wa8U1DMMSGxphjEH4iDWHpf5SlHlymHTVjWNXTJGXz+Dv2rEBzTlQNk
71XL8bv48wpOUlJY1STlSq/sSt0ta3KcNU2v/8cZfnqL0/YxYsRu5LpdDV6h5rdeVU28f1//+/
+xT95nn3/////
lV40lYBkzZnkvgFQA5SRYGSAJAAMCv+DI4k9DQEACV9uLKPmhSWcAdUG5wcuzorShjcMUCFx3pmKExS9IwL
mxHG+pSTcvl/qRR/Immbm5BDRiJH1lQ1b/oM/QQpfS/60/+t/+3/zdBv/
y8v8fDxdHkUDkUhoEAAQh5R6n18y4d3ZYh8HVK/
NAyCeDAtUcb6Oj4EsFkW04sjAXUGlsxFAyaCHjwZFpwl1bRb0Lw54JWWxqQZ8V+b6zSAyUkdJQ5zyL+Qtg/
/16R3yGQ29sT5izpxOnOg2bX+//+lGdgXDreX+zHiIEI2XxrQ0TgD5/9f//9H5V7IrIjPt/
WAowYZ5H+zQRXFmPHl+v//////EY2fbyb/3p/+/aH8bDzTG/pTO4DIKBx6QQAAR2OBQGBwAB/
bXf5AgPXXggIIefi///7/9xTuLi+aekuDcqTRdVcyUT/ebT7gYWaL9/On38i5YnR0cW/tP80eHggCCH7/
IL2Jdnkwd/LmfXvaTb9uhooIhkaorF/
0A+B+kmeVk2kaVY0ZEQQAAAFVAEGDhENNlFJ51yg4rjK2qinWZJNSBlLXRkEpqS//
7smQTAwWBW1n3YYACbye7fuegABS1PUiVh4ACB6trfrBgADExJJ42+II6rXWVrpCJpie4yOIEVMeQkk9gHZ
l1byGpXHQhCUfQrlz3NGRKMidEuPr09bWWa1MT1b1l1F1tqcuLlxypaXHQlE5cdchkkQUTRKXuTJyJJZgMn
jqK2nLll1plo6MjKN3a2ZdgPnrY9aAyvy6OrL01mZxdZl1p6a5MyyKy6DTArGP4gt1kvUO6jkKBHgLjgdQa
oBBPRrQ9CRGBrIUuXzIZUIHQaCGC0RTmCepHMyyrHE1+1rVVcrXF/Nf3zxs1k0k/
wzW0CzSaUy2rdXrXzWzNdysMUPkOR6moLMJRCEgqCpUSpgE6zPB3Bos+w6t36jqVhqpilgACKo0Au8KwIAO
ukIRDVRSQWCVlZIu4BJfRQaLtTamC9kxfpiE4s7MyRlwcJVM44sqR+9Sy+vR3JJPmpmQqrRIX5uUStVqhdS
Rn2M5gPqx1cxuczTvETebx75wkmaPPTXxqJvwnCR7GlZmaszUp0a4M+0PTSrhR7RNQavM2vdsb3jxDoMC7j
9TsMa3rCzjW5aW8KMxMwkIBIK8EzgF
M8/
sDY5lWxM7KZi04kE8byg6oC8TYYC41JTKxNhVw1OQSRijWoDww0BRw9ooETdX3SWluPzZja7M6G450LSVD7
quURatQJHZ5NyaaWOJJTjPNHO+3cftXbvnea/S7z2S5fkpPYvLRzW/w1UVWzK/HfGyn1vhE/
Zr7c5hRogIeVNOQBAKGIPh+tjatdZrEhlCgaBITFpbMz9/
lEYLCjkTmXMNohYC6FjNJd1xlklryWBIliCIYPf/
7smQXAAYwZlVuYeAAbOfLHcYgABaNZWeZh4AJv6JtuxhgAAkg6kqYqSdOijAdxMldK8SVqRBGxlgQxS/
L5oseG4V0u1XgWwej4pvNbvnzIwNpYAM4N9bIOg80jvpJfverf9WEnxqAhjJJn3y9zNDr48a9bU27Vjg5Ye
JYbg/NQs2rr7pbULXzm/rndYBvnGACAVAdAEuxKAl7nGt////8RNeC4f///
dMxv+dCgiU9Jz8Qgl+6Uef///+Z/7s/Uo0H4uFoiCQlEAPaESZOut5ikw8F1zht/
DqpSg8BaBzF304LypGB8P6uvp5skZRBRZYuf6uOYcPXZBlZiIH4usMWk3XX1j/0T+beuf/
la943ezD6HiIFkOfJrEgYUCA4MgkVnf/1AN98MW2uRolpmKKgzAAfsBGSMRQ4NeL7GAqjaCzOGlO8/
iAaTrHfRhrYSpifKM5TtLqXtQLs/qYubJ/N54skktsq169jGEqjlXm9W5hMbyHu8z4up6H+fx/
PWKV7a0KFquuDrMbS8yuLG1zZiPa5xJLEpLJO/
h4ht0l4G6Y3iBW0LxdY+oubF1H6qUSmoDyaIzqzXtncLf3Wvkz/
vdab0rXVZcWbL2XLU+zi1LPtoRQK9uOo+pqaWqZk1ZzZAEjNRNtVsAEYCZWAFQDNzfUDyXtH0Jr6QLoJN38
m/z28nn02/
tv0p2XeubuGmoLTxyJAnhVtVrvdymZJd7Ko3MUjHB6NiDWa4llSVe6z5Xb+f+292R8es7aip+haHNJQeCoN
PAScYj6HnYtV9nqeiAAAEZhMmUySKCxEfQsIHBS5ZAyti6aDwQerY76+x7Hcsv/
7smQSgATqYlZnYYACaofa/
uegABPtbWcsMSqJiqftFDMPUFQPE6MgE0Jzst1gWvGS9Iw4lbg566x2M4Q17L9H4Jfetl5kzfpiczz4+fMF
ix36Pvzb6VjciX3/NX/J51Obt1/vMzfNvX9peebrSV90qu/Pvwy3jEDmUf2+2q+29HSZ+W/2l86cmemW/
c6c7v6+3vam3tPy2X/
OiczdIdlYQMVB8Y3MYl1ZO0KBlI2de5HHUAQgHB4H0GZkO9zfXzdD3ih5fol2mtLLut06O3EiMMMgdVMz6u
PRIxR2H8xw5FVL1zaX183Fb/
vI2QSE7ZbxC2GJmG0ggACDYsKOpoaoXHgQ4fxdoqVABUbUcdl7mXs5fp6mSOUXlHlEQUstDmI5JOgTKkAuC
Ex0lemQNrRay6laWsNkcy7bQMNMtzXajuxbQau7k53CQViAmZOEws0B4aMCBCRLnOQlAujZ9rMlF1U1NoSi
ZliUju2gnHbjuxSVSnd+i4UI1F4CQ3FEZN2QKjgJkEw8uWVkw9iUG8li6k0k5RSnHc3c32us4MLGiVdNJMH
q9gAEIRuW+ANT3Pc3NyxablcjzTKcLMjOnrAZocZlwefbmOtVKXBWIrdNvjttymxEOYoto8rovSA2QPAliE
gsTHydHAJsRGo4wtISP/
o+hpannEBig2JxVZDE6DW1Rk0aSN5BgkITYEAAAAALIGaQpsIk0iSQ1E0HCoZSgYrPYwLIPuBmrb9oISsVR
pRVIU/Ti04FIBj8knht9j5ZT9t+LkHA6HpGcsNaWnqwxZTsaOiq6yYk05aWrGdhMVxkhiTFrS5r5XPGJO/
mVs1Wm//
7smQ1AgT3UNbzLDRyXSfLPD0jVBRdhU1s6SjJP4asOPGkoEkbjANHcl3s5LpHMR5cz9NS2HvAlQCigUaSr4
kStWl45b3OJEtkiL49TePO2Bcjv3i7X/wbrFZIQEAAIKYfyQYVh92FvMc/
Toa+Liw2flcaJL+ka6tBiNZz07D9f/JjtFRqoIfbFc/NFKCqTan6r22/9h/
3+lfh6CnjElZC9JJbTtYaIuKlfATTxoFUoRKjToVrBQQAgAUZFhUkSwILGwt5D/
MMIFugUEAvKhbI2GvG8qpW7t3gpZ6QEskSMXZB4OiqYgDQ8lCayuEcORgoCUZd6W9VliUkl1BIhRqEBtKmz
TaFllZqsfFlDLpQRYZSimQkM2UNrPWHnlWEKZRGknPDUgS32s8GZmSeFdD9W2kXTKoXdOBYVPoiem1/
sUpe/9jGWrS8Vc7X+3VTyLLOZ6g8cxDMhuUAAADGBSo2OI5Xui8s/
Qo9X+0jgiJRSxFVDY+WhM7AykCUIno0i4iIgoJg6cHG3gFrj4dIioS7rb9TyIBfY9pbvEWoG3EdZ1M8NOtD
enBpIAACPwcKozJFoh0LPTekUxgADFwVljJ2EtEsCoconLXzZM/
buUMCxK9GjusKY+K4LA8Aha66llhKtPbvj+cDVQuj660dxe7q87Wj0LT1teTlwlTEPqSivJ0xND2mbrKdYz
2vwdTKtLGk8C4lPbAeocTm6loydNAfQSSpMkAjznGHUmt3a0SzNfSMGzRiTdrtty2qmhGfRW/
4vNk36IDKgrv2SzBQDBltlEpJ0irDRx4ZteFGgM/hzOszfhKElUv80vPJl+8/SZblSf/
7smRlAgUdWVArbDTyV4sqvRgjJlK9NT8N8SiJWSapsNMJmTBH2qQOjRAr0Ytn2M6rWIf/NjK/
69aiZ0uexnV//J78/g6+Xnv/
rSnVx5xjQJLonRkYANAxQPTNRKZolu2ERDQHnzFB8YDhgVBqjIhupawJVd+2IhpgGAkCDyABhcjjpMFSMKj
AAiSTOdN00xWH1nllSlIj1s+BgKcuYWNtFRSYIjl69DGd1U4rPuWpH6aZ8JThUag1TcxllRuC65b6nKWS2U
Etw2ndR2Vw/xZ+v11eLC7MEcrplj5puL365Mr5nll/dHfchrGagAOFQAjYOIKQexJiVDAs6/
zoPBB6Fer3WerV7ECO7N///9Fe7EKKI6qY1GVH5gqK7brZ9XUvWfXY93K0ptPaqI9HRlUFIgXresdeiV/
I5bZsnu2zPpVZgAlkCCBRgQAgAEASKhaaAOAWunIBxIGGTChibWaCoGFgM69a7Wvw8hLmGcO1c5PJyKCO8m
I9j7vs1GRReSQuyctkBkOxePhkJDrZPqv5iM8qf2KjCIpQQGayqMtrHFhNbaRL/
rQunNlA9Mw4AFpkBlvFzN6V0TLIOTpAxz1XbredloJpmSTaH/g3Wk89PXSMla1pdkH7Xj3m/N793pBDcr/
P/K4IBJz++WsAAAIyBGXwrHMoFafJUOiG9N9KK2BAIyuoQDk/
7fndSEv6VPZOhDId0ZlYUZXMyj0dymVE3Nd9yMuysdTv3RNL/vqfd/
UjDQII3pOuxvkVvSp6Bo1JqAAAAAEwsrDAUMAhQVCoYCgMiJTpRExcFAQWYmMZ1QOGDAKnExBrbYWmxuQ4y
bdVnP/
7smSYgAVMXtDjbDWwVilqbmgFNBR5aT1t8SnJXCHovRSOGLBZh0l3NOhuGIAa8/0Y5RTH8poi4NIGaDTx5f
XOVa6SjkQam9s2QWTuWNpIpKX9RTWZ+Kx3YdLSUhfdwfBpFKvjLtpVn83PolFFZUp423M9pWlA1n2Vza7UE
OTrXW5P0pXxJ8cS2//L+4VjbjZPcdoSfKkQEtQkACgIAAgIwyYnIWAWSF0y7Xu3qZBtQSRESEhJcdW/
+IPur+56nSpJ/yIuR9NlIGBjOXAomBvN6u6/cp/Sv7N7ZfL1F1m/RfOmgyWF9x4hC///
qcoZAABkogYSHYKB5EAUc3wAggEIONZEwwOGgEJzQimOZC0w6DwSEyEBKBsokFt2ew1MwdDf4ZXc5iPI7Qf
TWKqXSgTSQNkkktym4y8U7ExsMgoH6tCZoNiYuSoIZ2vB3OSmyttjXCtNBdrs6jdfYOqbLLaYHlkkv4CUTA
8j8edT8kVMz0+wjp5EZsmbUfS9155oql2MY2ouUW74mtd1Hv7oJoAAIhUtpbRdj2AdBzgbzcO/
4YAfDoeoJg4GICAYYs7Gfy/EkfKUYNTr/
lLVwyUnwiKlSaSalBahhFZxouIj2xaeWRVLRxZZWBvoc0pwQcCUMjXpVDApAACJAIwcJB4FGBwiYJEYYA1R
oTDX5pEIdMNhsxvGjgJnMDjoxSCwQBSyascudStQuvL56WSx24TPRnUeZuuVv4FjHaRpK6QK0u4nQzUKIqb
WWGTzx0+DgX5CjTFK4eTxS3e/RqdWGZ/hltYM8YRahByfLBkHGEEMSjRhcELRDhIbBqFJqFXTFvNhRA/
DHv/
7smTCggT+Uk5biTWyViSaXz1CKhTdlTeOJHbJX5XnuYMIuHWIKNcvLZgZu7AhIHXnoe5bEHEmGHE9XGFEAA
CEVAQFwdGk5dZlMLPu8//7RCZxioWpbhHulejOp0EVMAPYOhCHe7v/
+c6oTSuk5xn8DrsFirooaOpeH2jKBVkoIio9cJVZTClBwgK6xeeeBb2qkHWP1pBoiXn80cnRTmxCQjIhYIo
tjNgnHHBSsiMyYstFBACq0x95htJYwISS87E0figep+7W2q+mE4dDKabmkEIhyEERKOQx7CLYgDQq/
338e8rY4McJYNNygqMlhKBCDEQ89BDDNNIXNTKDN4DzSfTQ3zjxW9mBkUBQMMkbcMXcu8KCSZQMOSYI3qis
VoygFgoBEYfiMTzUZR9dsoGBWTjAGHJEhc2Rk7aYXNkBJkL2EExWsxojDZQUMesFEWyjHpiE4Qye+25/
P7bqTAABIEmIwCHB0HgSdzv+gmPZGGqS6K6+w951V0uU5sjN2U576k2iCwApiCH97dtGdoPCHTaL0ECDM2H
PTbPrZ/4jx6KHeAZp5fuaE/
+4t3f4jwIIrnFRzQue8RELRIXC4Vw4E1AOE0e26Rl61P08FNcJComL0cR8uRePT8j3KFmGnCbnTFc2JSxnF
lV0RIR9vX0Q/
jhPNLQVaUSfkkZ3rcrV6WRQubyOrk6yryna6RYsBsc1TpdK84R9FEh2VKpnXbUCJqsHMo4mYVx5XlosjSYP
oKnTFYmTFVhc3yZOYXSqHkI2TD8Ra3MT8iI6KltJWnWxnZcQdZKxfZSRT1SyqtWjuoUbRzA83GitAnYhXOy
yGQUPKP/7sGTvgAZOZ1h7D0x4Zgv6nBTD5BZxbVIMPZHBjarrADMP0bHamYjlNJAGEhh2/hCIXXn/
2bzLZfTOdQdKwksIDZaGdHGCazXBn3MmggI6CjkUSITQ7JBg4LbOyMpda4XOvVG7s+iLaShI9STsa0naXHz
tUdIZ/
yOJrGJUo6k2KTVXRT3WlmFDNf8yAoAAAI4MTbRgSHAAMMNH00TGhQRhQXBgCAgN9MGBU1F9AYPR7LwSKRr3
h1vJ+RqAu8701G7U67UNNOztNexf92aaMuUX9dpzmUsVfppsuc+CIEEsmGYtcJIHbWJBbTDJSaHwqLMZNpK
E8+fAikH4RrqLCSPRaPSEmqmSv6rLsXIC4zOGnCayJR9xCOdbSxHUES+KT5G5GiuTSUZZqzOdvhiVSTLpys
JX+xdl1p9bjUzb1tWZWnFpq6NgFV9Ftqmv2gdLftn5VdpNXGgADMGAgSTCgdKkqi+PsAexGzstukTRTLSi6
RJJL7KWipdl/9FFW3uLx5QMSoufnpq7JVuuf1lo41XxSRcpMtqq1J6qRNt9tVVS3tWf3U+rL6m23/
Sz6oksj/
+9ZlokFBkMI6YoNvjQEIACEsDBKF44GmGgSC65DWw0YBDIgAGVBszy00zABa8MAQcJpGJ8LlgdprcmnVmes
RjbYIKh93oBcLDF3YxMxWVuTO0cHMqeftvC27K9X+hLqwfjM6PSkZjm8dWKpqPLJgpzhKesr4mlpOHpiuVn
ROLpOslUoS46ulMV8Ikj6Kj49TDVGqXE25w8+cpz0guKo4ZaifotRpl7D6V6jiZW/
Yr0So6QI9A9ExYeC9oyK1ux2jje//uyZPMDBkJl0CNsNtJpqyqvRMPUWGmFNw2w2wmMMmm00I/
YBWR2Nynu80t9g1jttZdit2gAfhhMgowWQ7C+iNZIFZL3sv1BfQR0YU4Azika//
Wytv5kdH0oGBqkbGXOOfcumRlfetJJtETmkQgKYqIw8P2QgrwNaiiJB4iqpC4Vk/JYbiatKCFCSamT8Ud/
6cY/
8cgS1SAQCYuBTREqiAHKKltE8TJgwMCBIKAcxKqD95jO2gQqIRFRA12kwFwkyDTYAgrVV05ZEZNHaSKNIYO
zSr9igfqgldIyJ3mFAgmJNWA+OiL0PlqUpkl0TyCS3vPApHlT7yxI7Y4mrSJ+6Y/
OkRXMMuhmpeMnzrLFlaYnpNLtlK1dpyqc0suHFi6pUnz0E3XfUyPo4aKljkLs5eueqdh91ilEntPba2Nzau
Xen2+VUXT/zRcfXiavSbx7RFXP18sNSAjyOAYgQTARRXDPQk5FcEBSD2MTpBzexoDGUBLJ/
+pWHgm9mUZAtW7jA7iQsTsQUVj7EZhAdxAZyjAxgom5dDGd+ZopuiFi2Wgh366IZH61LVF9lL29GZVQ5UNC
hAtwiGBau7D9QSMSIQQFxGEgYUKJQVLYp8CwRmLorhgjpKGE6InHJKAYFxCBRhODDmMNEgZbIuprlWAY3NZ
z0zEKWzKEqiqADL5imFydhN65kSvITBNNxGoCqRGIYBYjFSBCbAtY8JyVCArayrCBBBqCi7hpqKHGkTlrMI
kB5CMOtvpACTUuALMwLALOxqaIDKPRtSSaqypNRcjrDSHknUify8OuJrV0DRu+cyX70dfybpmOr5MtFlo9t
WRVYGmV//
uyZO4EBgxlTCuZYuJmbGoOPKJGVm2RLo6k1wmXMqew8o15YFGCIwosFTohJxJKE1OWd1/2XxBxNjo39bxWm
aMHjhorC//7lYOKpmpJeT0gMEOYCDjARgQIUtX//
Iz1KqnCsYz1IlIz1VcmIm1JyObbUzXJblkpWZ8uoIF9zUqq6bVSn8VBX3E4ABAAMCnEmEKIY0BmlBgJMaBU
1wbCYVmTQoY21J/
SRH0+ABDGBLIoCgqUq2Us6fOlfjUBTEKoJiv1s+LVJRCDi5wplhcicjqlPka9SiUL4UROWxEkUA3DCMQ2HR
IsPiw4UNvrsgYaYd2M7gPFJUEA/
P7s0RYk1l9DM2hIZUHBPucNtEgilSlV5m4cZCcIBmbpF0Fj5YlVGVFy0/
wzXURbXGK4s2PYDycO6xWjg6szuS5efmHlJwgnQYnq8LIJxmAAAlgQAAEYSvDEM5GqTONf/
9QUXILiogM9ZmCMd0VDU9EoTKFwU6F0LWVHgzmxUoX9fO0JDiOz5/jw+rgpM/
RIPoE4puTTK3kKtqRFkbRiaa0qrYbLcamFIsFmrnTJIeDoO04W5kCJEFyrvKUovJdkQEKjjX5RI2YcQYeEo
emB6LDqYIgKEAQF6kkEaL9dxyAQ37FEZXVcTEzFJJkdCXWdPbQ8VVMrWcTbIwyK7Tg/wnlDSChx/
wVQu0ZHLc2s0KRrTqpQ5VNuIMjU7ZYkFeKY0UKbTJfLbdHQl83L8u9K0YRPytkUqGp6y+fhY0JfTLlApdXV
O1hjGi6P7EJvNFsQlZZt4fl52rpldHgrlsYp4sZrq8szw5oT60sSD8y51583rqlPnd73xvHt//
uyZPUHBfJbSsOZYtJoDCm9PKNOWVGFLQ116Emyo6b0wRl5jcKtUaM0UDAlABGAAAAA5jURy1SuYI9fn/
1Y7nccb0zCTn9bpuqtDs7GcuWSlCOcbQc9W8n+0JeD2auUXRoFavD88UfBNSFCSik0F/
mJCSKS2TJGzhJeF78pTLycgcxFx65LkhQFPEzwfs/
xUyXuX77wWooQAABEGHpggBliA0iBgDHDDxMzWGAAKACcwd5hivmARIHA1AkjmmK+bR2ASp/
93oJt26kev5yqWPXBDeyQCI4qgeTuOTIyEUny9Ih8qiIm1oiQqmIefGjaxssudQ8/
LWnqJMGD8JCiQqRwRuP62lG4xgwheH2YqmCVzIlYJUapYmENl1BMGydSTUV0HQI7dktQqQphKkW2H0KJf01
JKSWMxQRXYik6yHaStrGtlsHPVlSW6yxCF/PF8QmyAABFURRopOUTh4uQnTqY33zv/H36iwMDAmJ/
1py3CH/7GUCoDgOjEahiN0pgmFYvUbmvHXIGktpN3JeZlaV6c8+GS7kfr5k+sYkyKG3CM/
3ss77EZdawHPyeQjS86iNf/
lWyAAUMVjRICLtGGgJIHI7tIMSdRItMMDzCnCqNI0HUSDaAgB40AGAgAHdaMZikHoV4/
LXjp0iMRry4lACjhiHWGP3oh1ajPivXpIpMaewvkd4/
OxCRqDleUm1qYhMoj4pLNZRxQQPGbXsP8VWXG8jxnuMm2jolm7KlAXMvwzB6ep3VQuOD85MjmCGTCNCx8lL
+1tg8TOXcy7d6xPdGyjghhqjtu3ch/l3xfq6a9CyfTWFq+M19di2B9nmIQzHY//
uyZO2DBchnSqN8SmBkiwoPYOM+V6WRKQ35iImbLea484zgE8AoApiUAABQF5WE5DUKkPSZNt/
AAAiLsQhgw44b//
66hqMOExnKiXWGSq8CYNaWzuR5R8pw2pfS0dc9DOkUbRvVTmN9It2DkpyFfjEV6ZGbOVzWfVy0X1p94iQ/
KomGtUSU0C7DdSwAUAAxoEgwREwlS6RZTaXKYnL0UIQgYNuZ7+cGGwuSAZhZelxok5Fqngd4H0iEE5YUUqp
pU6YhbJncer17e797D1EwxtcOZ3Egt6vy1a3BRrGp3jJtjjv3B4p2dcMkS0S3b2mRwU5B1Uf6PUCcgsCscN
MaHx8Xah8FwVEB6c5psTYnCcIxuUCfNNyUD052Yt6PL4XCrGpFQ3nJRd2dSqtX2WY6ESgQGy269GXs3t4xr
a9vONeOYk2zFxG5namjciqbZWvEAB9TtAYLmw7IAeDY6OE4f/+PZUZkxyy6M8T5iQIgv/
yvqB1SnNv8KcnOL59I1WuWww0Korh3ynN+E/
sReiJ94aSfm+IToV8AEK5k6CN26LcUB96ayyIwk5C5lYOvWswoTjhO0g4P9YVAAEIMvOVwv4kAJajyMxAc+
EVLwxpAxQQk7AKgw6A8MAJfq7l0wPHntcNYUVjoOR2eH8bv+oA8OLl1yze9fR9BOFzyZqrw7HOOrr1hxIXG
WVJ9HGdlZ5r1h2vaNrXiavCMbsiSqL6nj89ZUnr58ytowSUw7Ok4vuIba1wwXlUunJ0XijCesiSHrViMfFh
claytrV+r61bd1ZVquZNebY2lb72PflNrWs98LOR0Zu1lYabt617oKftr2iOG//
uyZPQDBhtnS0OPNXBoyHncQMO0F02bLI11iMGiMCf9JA7QMAADVA3UQHAshQA4AY0kBZT//
QbKZFSZdzYuF7/jLypr4KhFmj5kPcUrmDAdLFOwCZvJ/oxetWcrW0iq/sKOH+ZXY0VQpMUgEFXnxv/
XMs9v4R+RMd7CTlcglO+D8F+U7D8NCDmkbBGAAAAYjVlrDIAoLjIGBygkMTADz0sDC5KNmMzTH3DPmJgUF9
y8ip34V2n3AUPztmkmLbLZfKZV9uaZ+mtFIfOkMcT89LNHSrQ9cYX+HAU8zIlFdQJ8cZKwdqHKtcfLUK50h
nDJijc1am+7auWmVWK6kmLVGk/
IuchWH1T5xNihWeVbPGEEkkAcozpZ5f6M7qsP2Gq1jUKH1Sf0IztSJ55BtAYNbGv491z/duwv/
pYrWjEUC6yZVGcUUuXrClp8obd9q66gz0AAtDAAIFeGYDQhKQYXBvRX/wfc4KPIgaBEYJ////FZ/
TvzhxqQKqjKzO+mRqMUdSKC8vEQrRJyVl07l35wHUP8z1LILYMH1phvMmi+ZZoynrzyPp
H2a0v8yJKkz6f+hoCquR4phsIBXYgASGmIwKJlclqyzkHqZgSkMGIQQWmIrIHYqYmHoKA4LVVl0LubMYkU+
GY0JE502YIn3VpHAyB7xKH4sxV2631RylgPJ8sXU7dOqJ65Yepl45vigkls9KRfH8vFhuq5xg+KizjMnlQb
JwGFMn+9RusRXfa3yubjwOhw6OZbMNtEfnpnEXBIOzN8GiocD0nq2jw1bhMzYqFglk4pOnDr+OJOO0N+Cml
tcxr9mVWVRxnd73yWI2Tv3vgd//
uyZPQDBiZmSSN9YmBqbFmcSMN6WM2bJw31iIGdLWd484056GV0HdDfryfOT00ibbCHgAAHQb5RcXeMAwAH5
/HwqK//4ZGBJHihivVzvzBwuKXP0AAzhFNSgzuzmjmGw/N2+G7n1MPHfMp4P/
d+x3yQv9E0Q4Wlda8Eefnn/
dEhV7aRdm8+34XfDuQQm4IP8xOgdfvijyiNIAABl+dhjUASwoWBlNQGhiYYC8aPRqLEOYXCIYe5NpwMlGGE
6BGYEwDgQBKbighbDgUNS9IsKvCFr9jCg7XVVm1f5gLvBctYRWmLw6sNMo5RF6WRq3tUWMX3eBBOHEOExlJ
ZiilqUaqtV8mA23mbSXkpKlAGGiQwanoig0OWrSR+X2kK0pvmAM6LXOcv1K1B0QhHCEZV4KoNJsxAUhlTP4
k+2g0WnIyRS6bbyREgZCsHPg5lxC7Zc0zRH+XSAQiRFLQYNTqZIDjkUTENRcMcplYFOHozUTHiEJTBpWDAR
oQIdhxNIWKUNLSmCE2JQ9QYLCjRBfKLL8S9XxHpA0KNNHaasNKZIzeA4TPN+8jhQC2SNyuHGeQA+UtfmQVW
bw5UonCmbLtW5FFbvYPiNI/VPDU/GnmfV3Xokd4bAABQk4PMGILG3G/foxC8fC5lRvxVf//
7+Tj81XWWmJdrUHjqk/KOSj4Sm7N//
j3qayrj0KBMmtllGgfEvCbOra2YF0KPI2hciQrbuogqUNITx9JxNcUq0hSZqaVIVnx1NmpT93sZX3+66YNd
qNk/v9MvfRXYqb/S5DAAgYOP4hBJgYCgYEmKAESDUw2XTbMKMaCoIHZgXBnuJ4aEFgCF//
uyZO0DCdBnxiu+yhB56kmkPAk2WPGHJxXHgBmcnybuoIABCbqXbE23hljEbU5nrl5SRVrCDhYkS6tZ40FaT
jyNEWVIc8z5w8S8NXUaXJzh1hxYLFpzeqSdrgv6QHPU93mpVNGguCKarbdNbhFYrVTquivoD2LZ63un7veU
6qXNwcMva5juLg4skaBiWKplc9bZ9d44xkKgwGrEBnrV7EZYUSSDXf8a80eWNnNH1H8V5EfRa5s53i4iXrb
2hxa4mjgj9YLB8AAxFgRZR8YgzwEsA5P/603BQCsIAvGMvKlv/mznEeWc5xzIPq4lT7tDl/+B5KDv/
aWfs6ZIO6cfrdY9Zqae+uPmUWr1lUdBz4bxaxnwRVVWtDMANV2zJX962nawHyDJOFkutO9iZQAACEIAIIAE
AAw3guABiQChgADpjcC4qDJn0fpkbY5sOhxlcnpsEiZmBDhk8IICAoFRWYHAmZMiEYBg+XoYaZJKZMiPoRQ
Wy1IZAMk2ZI8ZAAHKU+1GGkqysPSJScMOdNKJBQswIQYDpQM8hiVSt53LNA4AUAyAAxoVYcAuRw+YxOZlAZ
0k0tpzDnUiEDJNBBAIBvSDAhlixjSxquIt1McxMugNWof+LNaXk/
DkugZYIac2WaBwxAOBQrHiojC0wAyjHryAax4w7p1oxZgyV3dRKImPHmbLg4uAQJbNj6x0H0KzMISEYblsC
EaPQ6Ki4KGgUM/
GLsxp4X8jjh4xWUOQ7DEAcAf2FNRLdwPCYfYs3QRAwABLSoSDCG2YJVKAsg1WwrSjtfut4VKbKmvtYhGMCX
tSCvK3cfiBH4whTR0zWSxS47t2//uyZKMAC2eDSc53QAC1rMo/
yDwAG5l9Lx23gAmJICh7nlABC5yNyJSl1Jj+/////////////////9Jf/////////////////
4Z4JEABZnU3cU5l5ehgKRCIyVTUcJmKDMHveoNzOzoXCXJ6WABYElfYzr+nxV6XJHf0dfMVdtKZUiumNxgZ
Gc50Uo2BopljiR0Yfsc6GSLfLnDZYlGJwniQKPWz5xEZ3931G5Rx5IDhHxl7CiN2pVfH+PPAyqYUa8jZAba
0+svqZvJndL79NYeTTQ21x3SeVmhwYbLvdMZ1v5xnPx2emMscfx6PKY3W98z0gbthyb30PVYX/+//
+eNEAAAAEXhASYoFmFAgyKmbGhQPH+tgIBBEDGKyx4cqYcAmCCakV1rYZELTKrTiXCUeqhVuUVVKGKhp9LJ
fdLpLj9eD3RRPRcSjOEvpuklUyOX00zs5ccMCtVRBUw0ToU2qkzkLXaJZrsDUrWg+FUzNz5IEKRQdR5j9J0
yE6XaMcoCFoTChsh2hys7IOEtyRU7MZrxmcVsnKuULw/
leaKSRyRbWc4TmZz964OZJnGhrY7iJNQO29XHulX2a2ZnKHFraG8zXT3eq680a3rWbeq2u+3/
ncGLCw1UG1ECmlhZkAExAAACAyDPFyJ4hZ0C1N0av///yGnOJC///
ba6Oy5n1VlZl0d2Qx2bqrMaJKhSFNO5TGkNdkOR6lUxlZPyGVjOceUCHZb4iHSy49Ff//j/
f4m1z4ULitaNWYbENpRJVSAABg4Q4CBMSAAwRAYHA8DglBgRG+hup0q8MORzOBRwAQrpEx1uoCAVcl6Ntwd
Z9YhD8//
uyZBmDJkdjyausNeJgbHneSKNeWM11Lo4w2sFrLCew8RSxCRzKMTsPtEj1RPOLU4GhcMS6HQBQNrQwbWELA
tSH5PI4wskEZcpZElwVViJYnC46qoL5kePokUK0wPytdBNlued3jOSSSByJS5uNcQjkmgeHQ/
BJ8sti0rKFBaXutKWlRP01TFr/
JNoI1CJM6zEWLxHQCCk24KNJES9oGtMZB1olJVbVZ02Sa6ep3vraazZbt+fp+ZSAkCAAAIYBCC4GtCPQbvA
gBWKRv/8WIEDlKIf/
9uR5wMeg8cPf6vlJo2GfEoJIyz1HMmiv7GmS8Lfnxt0q+nkXulvPdiqbH9IuPn9X85T4Rn94bQbObRWKVOi
hMNtvxaxKRmICAQYUJCOYoAQUBCoDgCAUEZxcvCw3CgMHDyYeJRaGJsjVsgN+IKuQA9jnpqIbrogiX6g19n
BgJ251X79L5UaZG5FM5Ksij6jsFPsv1izFXagmAqA7UG6JoT1yFYeSEcpC2gGSGV1oMgMkokjQbuk06L6wn
mCRt9Akc8tRpeq5rm3CGXmBEEA+HQd4L4cpD+4EggePMoeQAkaB7LQFAQy6JoGAiIMROBQEARRFzC/
skLKIGw0lZv+vWQb7/X2QHXiMBip/SJgAQSACIDYwng+jHT9kagzTiwh6P/
+iRQTcVMVJQDIQ56PUhi3K6seIiQ0guKCxW6E9nY6p0e3OqHXq6Md0OrpVr3TbcjtPts/
enT3oqTxvQH+3IifPDIjnP0owQQAAMbgkaDJaYGAFBMXSKgDOwGVLktEACmJkkWBCYUlkFIwJ/
pFNLDoAEgSaWD6YA2VoiKYr//uyZBuABlpcysOMfGJiS/
nuPSMsGP2dJS49MMGAGmaw9Iy56pxSA0ljqFQ5q8Jzxydlc94jIDJJgXX1LAfGVh2Kp6aC4xGgcWxyvDE1N
btqtVxpVV4mrIW0lLVGckUvmI+eQYVpU6So5yGqlCkSWBDo6NOrDZslR6pFGnUdWVYTpfOmC/
gMTEZSqSKE9hSUJ2nmmLNRyYm2Sen3ePWsKtYWJcXrSsHEmJcV8HO5NxAsksChYQdX40HmAA3IjAEBhgKsX
ASaKHrJf/9Y2EdRaUNOZfRRh////84cL/
juayyl6mvDNrrGqmvfhstvsSkKpH0vWThlGMLOhUZlSoJY1Ls/WS0mjc/5GLlL+Ou15Gypspf/mvg2BB/
gUkCoAEAIyEiwKFbJgEDMvCwKBoOPwmRDFMkw0pDiBXMBAhqSXS8lBkPVkVo26MNHuTxVQnBX1gHstLI8Da
ulFh7zyUisAKdLgSD4hgCArIwJNtpESoZKigXo0iWKnVBlERCJDqjIpy71CIxt59CGRSWUNpLGyYtN4qIoi
pVQ6yKRUSoUhklKnuyoWZaVGh/
hBAfmAYG269l7FVIHTWIpkJ9tSSOEXzmanGUNNwqbjsOSEhG2hMoiCduiogLMIJOMMWqw9AIGqYMl2ASwsB
ACBPGILQh5Kjj3//8bSmgAoy48QMResyiTbXL/y91+rNJk6nxc3ll3b6dKWpy+cdc46lVLI/
weGTAaLiePmTqVyJP86Xvda/uQ3X+aZm7/ZUN//
dUkxgHf7s+1EIUUADCzCMCgR3h0Cl9WgQo90UwwHmDAOYFTxpEggkBO6i5EEi3LoHTZ3tMSHbzx//
uyZBgDBgNhyUOMHfJco9neNYNWGSWBKRXHgAl6JSh+plAByts1aAJFUnK0PO6yclh4rUnibNbLzqEhVdLnG
KJyBpYPFjnRwRImxDtV9eyt5yNKYsL7pCkoYLhdCcKDRktmas/
sWPiWPRltqJxSUlZ+fLi4hcRjI8sdtjsoLF0acwEgsHkQXh44U8jbqmTQlde00tNGy8jW3bKX21zUvRdXuu
Oxh4Sihgg/kVd3PIYzTEh8oLDAEErFLqFgbSeADcHsCnGp/yCox/NMGeVLjg6/
I0J9g1afn12zWkUlZTUgwKmAGOWPA7KHhNyFHAQA7+reZIH0XqaMYtGvAESDTogDA5rLx91TVmCYPny7IUW
PIAM0yoKmMhwETHGAEWA6YfCZ0E2GJAYvosEgM3YKD6mbX18pypdGDBeDeGQDoR5gkqVqvVq1Hnb1JDXS4Q
nwbv1fCy4NieQbZMrW9Dp2useEl1y7kb4p2uO3zPmaiugVvGjs6mV2ITNHPUlLxYJKhMzZAjK6X2bbvdJ5b
ZWaE5ML1uUzY1oyC19wojlc80rlpXKSMhJeTPQlWrvLY1quA+ZGxzXozG1uN5Ju+Z76jSPYusVhxYU2db3a
JbMWucY+ve2JcGMdGCjNDUwAACMkbUSMpPlcLqwGRj8Nlv/
i4CvUqANYUER5NkKXZqksiuhVUv9yWKJHZkOd6Dih690sWxF5UevtdbSlbMd9W7aJstby6FxlL9Ed+Mdp3J
gdn+s/flppkzvmEzJEgAgu3fkn+6qSRUxpEtkNci+5YCLEO8FMsEOWCMLOOQFMXPFkVlEh/
xoy8BPjKNM3Q4QPxMCMsgtw//
uyZB0ABp9jTmZp4AJoKao9xpQAF92HKJ22AAFwJmevoHAA4T9EKBrIxFjphsjG0x91NdxeGmxLhD8K+K8c2
Ql55uZxpVwi5eWPejAyxllvLuTAT0vYhKKhTXep1xgWlclI8cIL6KbgR8gxYBMK1fx1lsklgd+
+3EW4MJ44w0MNtFrzUtL7jAUrK3sV9Z92SC5LcRweRX9JnbKdh1Rift6taXddf4tnHx9//3gU3neKZ+/
n61RhhYtLdwjmZxkC6LZ3ZJStNJlIJAJBenDybhwlvr2rrASPYrkDyhIeBAmJDdG19WFhrw6g0XE3IgzQQR
3eZlqFDSgUyo2VBArsPGpOhxZATVtnL3o1lQinqi66dMjvvORhahii7zB/
+9bu+HFPYJ3JEAIRQAw7o8gplBx4QhhgYQYiJBPkTHoWCTHH04ZuKDYtky1/
Wts2EoeQqBwlCE2sFIxSKWZOXUIpgKG61tQh6KSyqTn57VmhjTnddS3sXatH6hGmTnA/KGEE7HlYmx4/
blCOl56VSqevrjE5osIA/
E4xPRJhLgggiA0AEpHUBejKrjqUxeLxKVPPF+LHHJckrtkkMFRyZvEaa+qW6xDty6Tfu90bFDq9ra3m/
V1r28Z1azubS/s1ytvg/3A7KyS/4AtAIMEIRcOMGTC4MTsk39RmXAYDoqLv/
0SvdnoaVna2ZnO3dOjtJMlTWnPOY003Zzh01FQ0001DjnTdEOsps5dt1SympqybI81zWtlDnCj21tdgY2sm
m2W6FQggUDYhEAAAM9GmTMIjFg1yCxOAQkhWIYGAGBAg/UlBo2yVKwzM2riWO54CDwk2iE8h//
uyZBkDBdZcS/NbYUJQQ1o/
PAI0FkGZLxW2AAlcICf+moAAlp88+BrWiKckqY4tYwSUy77v8PcLNIN3z8rn/
kMln9A8EhEfnDp2voTHOXqNO17TjR2JZMUXP15wYCQeWTMHFlggBIWDNHKxytzMexIPTM7P3lh4wkJBYdbJ
bZMBoDcdzosLFi9fAvefocGDs3dzGzh/
8f2sL7c0vl8pk1nNm3PtwKTinvnkIjEtUAAVDCOMghwRczgaAFyfV/
KzIY3X6EzvpR1g2qZjhzZU1OkG6nC7RO30gAEDjnhcPsNyay78HAxbD/
LoMuHThwVfP2CzWMDNA+lzwuDtDhgB4BzsJEChiT4XATFQ0mAwkPU1MCAjEn4w5ZCBtg+DNI/
TjWQxxOCALy+S0ODXdozlzk/
HFFSA6Te+VegY2UI6slOPg+jmrHSqypOSaDXpgXNunrv4u+1UiVSuBsq7BGLS5VJ8uZqhJriEBIrHymtj6y
YdhK0+XMF5XFN7wnRkZF6MpiKPqbRxEnFzKcmn2Wclpc8fVr7Eefb4stm9O7nU+82jvkzvVn9zu/
umKczca9oTIAAARZ5IAACCcDjESYzn/8DgaZY4SjE6SiAzyTf7Rce1/VT/8XGVS1rE/DX/
HtK61Ez7ccUyxNVFLXxfxc6jlquM44OvWdEo12ds2CndWdW21VvFWB0iMABACamFVVWW2txtCQNINGMkA4E
YEHFMoBwdgEN41oU0ZUzAQKcTTDkE40xk4YHpjJuAwwJzYnqm0IBt0ed3XWaYoJCoFXo9EbmGv0NApbK1Rw
FWfmHYhGoaflkljVxOOqytpbrqZujEH5i0//
uyZDaAB7tlzn5rAAB9LDpvySAAWIVfN5mngAGJI+hzIIAArdF/
XBtOxKIfYIvte7D2FTcesYxq1ZlUjlErn7c4pZDDdWLsjf5plafopXTSmljVjG3M8u2K9S3P6tvxBb9yaJx
eKSOiwoZn5G/ktjdFK+yuMvFex+7xw3nchX8olksm43OWJjCnvb+xy9qvjVxv2/3rKx3l/mPO/
lUp8pyH69qWb/fbF85////
yiLAAbGEycvDMu+2UqkDgtguM3Dtl4IYGb99OvJAKJ0nD0G5whD7oRL9Rfggn2URSuCgaPDKKgrFh4gCV7u
R0GCHKHdQjxKXoyTR9opnL1CGGOkMlDeJiJiP/d3m6TriF9fnmWi41PtHl6+scr7SQk3+u0NPx/
VX547g93x50SACRC9qCqQAAAFDnglFQEITkDtEhMyDNlSNMGMrsNGPM/
RCNyloQ4e8OavmIyMdAvkYcRPg3jnFsAmShXzkNlaaKGLieaHptxDLgT9GoRdibGCFOtR4FLocX4/
kPZpYcGdzvM91mH8tjFMaMFJOWZHJ9hiefv4d4EaEuRaUTnDAtMs0OkSLLd9u0WW0HdIsRtaD3V6Ek+UsiH
RWmld5q1Zj5+qtbBW98Ro/ze8amJdONryxf4VA8CJ6aHnT4NopEMv//
TYiFWKlbWo2AAAAgA2kDDYFCdzz9tCnWCjG94hH2SRci36k/a+SZJqDjrHjrsZjaLaGiCd5iY/
94gUKsWh4dUeP9tLKWlJVRRZ15iUuYrb+iWK2ib7iboZdxS6m9IuLLI7vQDAIVTIAmUjICFS6CT4gA0czAg
M0AeMFADAAkx53O0WiI//
uyZBCCBbRmy19tIAJWZDnt5pQAGN2ZKw49k8klmKhwwAjQHfhVVzEzE0AyIgCCQByhERjhOTo2E0eEYEjYw
KsRLlMYZPDXXmoxDTa9o4MGGlw/
JVDhh5OeUUxwgJECAjI0ZPEjanZ4kJBRBs33EZ2u0FxABAkPJP20AgJCiJ5OT6uuJ0YoJBRBAUKBgkN2ae0
0R7uxSOEAocx51BY978nZnUhe1ko5UFIZc/
d766NPahdZspN3rEFFhAB44KUQQUA7BKjUS1rf50YYmDBYJGD5hQSD5S//
MHxN0VUQjIjcliJUacPxOHgABDB8fgBgfWbBgPlHB9pkHyikptCwIWfa4UBBnT+1QIOTPoA76dRxAUgMQF8
wWB5tfxgILg4DP8YVFoWASixgQXHJhCTBFx3ZhqPSOldx9KeMyGgxRJOHI/
lXChsijTuUVClmcU9ZVuRhLUSXEaMyx9+NRdVgqBfdK4yi3HUq1bAUqN047gz2hv4LKuChPqGcpmqpXGVHb
WRDjqdzSn/RhPgcSvLahzk/
Xm5DmeLDVzO4BZ5ByByxzQxJqjTUkgkZCUWo2mG0y1lZAZlnIobW06X8zu7FsytU9PdDPztdrTP6Ji83nMZ
6dpudG1aV98Ae1lyhYDkpuHNnPkGKEAEoCUyiFb/
6urSPFWZQhxTm06tMYqs6la+bMVCm2zVQMKPPWdfljzLaz1enjI71pJdD7Cr3q2EbhtUVChskGKwJBGLFhQ
SOnV8v8YRINABERHJIwxFEYQ0lW9sOgRRKT8IARKY3PTpWucT9JVuWyUjX0SLhHq00J9KLWdPmYbUd28LcU
FbCWZn6Fll5//uwZCkABXZZSqNbYhJUhDncPKIcFZWFMWxtiIlWICdg8wwAm/
GdqjtYhPvva+3VkkD+W0nOXWExwsLLYVVxwJC80oywrOU2UT5DA1h4sfSEgwMHV6cniUvK52V197ceI09oL
Uoe9FmOrrP5rdZpNZ3c7JZ+MGdj24dB2TgGES4s18AOglKAxIVWZ5NAO8/9SwccPN0MQwt9/
GKtBnADnuFuFKf0RdgYmMhcmXFACgg2k+4EDiDiT7XtkiY8mkOijqceXS+BukoZv3wux9cgciyGCAaFw0KC
iTAJ1aTAWsXZHUtbk57KDqg6JgZYdGFo1OKwN+nCVVJhALgrEnrrlpxZDTxFwxOqNW1yFKfjuhl0n/
50vq4dLOu3DvPPZcsoHnSt1IYy/
MR0hHTVv59w+bLR8mPjL4joyJJzdAdZZDgdh5NSye0iYTNOeJxUHClsucsmyNtaY62cDUPrnMcuaeVwY/
i6OXXbXtd2k92X+te2c2/
TP3//3INzd38imD2TpoToAIoCFoM1wwi5PokEEe4wYIXwg6UAc5EkRYCeZEJmsKylDOZ7RSBPSNbJIy+fY6
X62oEyu6VKInFmV+sHs/
aGCYCGKwQbLLqZ97H1CYoPOmarr8ctKktiUDVmX76pTcKBgEcgZbu+DCKABgJxnjCyJTIkrH3XXBqY6vGLu
3F6dTeOvHcbogEMQEwEiAoBfrE3IaluNKkZIiAJEALQGdGgvIj5Os7usrQHrABxxgAGY3sD34mudQd+XvVs
ToFIbWFBKJHG6XJyxIXjve3D2hGe9J3d299rs/
fadw9utM1WbCqeU0zMg7E0kMumKwef2n3/+7JkTQAF6WZS+wk3AlADqlwkZk4T4WE7LKR6iWEQ6PCjIAAPI
EzDAA7YiebqDpblUFFGHiyiC19vRAvSsTtHHjLxnYtOo62GADBVAByZ4eB9pj0TE3fe7iAAKP2uaRT48R30
k8qh5Jj6jAQABChOsPCBFLS450uFjgPguaE+CEu/x46Q/
mPWsjiBmQS8hkBdTJfEGKn08iAIAAFiLZ0FLxGeg2hJFETOPL8OkIMQ6wtYgGbkps86DSSMmYlSwy+caoHp
cN4mnV4k8S7nGppqYldiNRZfTfv6kNI3e1L6KfgVgLIQykAyFunqtLgZUFT0METt2PVQw1ZE1KaFVaST5Sp
pFIS1GoVdKbHVJsBbpf+Rmsh0tedUlchJIbGtBiWc4CsUtZTJGAhSmhYLvIFJuoG8cBWKPAAAIgCBbAzAIX
JMIdegCx1Ra2SbGMVpvZv/
6X2vNY5rlUKmh7tPUjDDmMJh1gGWhah4SnRKAmTolOkicNbVRVrBIKJW63DSQVBnAzOCsRMClAxltBZON
fUxSNRIMoiGBguJDVO0wEDjEAQDhQDQcCAAUs1riPyKsbUNUsjT84QS6KlKgsMuS+6FLupxQ88T0xW5DsOP
xNw0pW36505XZdxuMAONZkzrl3UJQlENgAY2RVZ1hKOLkHmcLUxdNmW1vtP9a8GPNRreZplGXZqJD1guBZ2
hKcGI12XVQolBdDIbXEk0VLin8Tarr8gldybqVeKusQ6hrJVjHQrOOR2JYUAZIgAAAKHI6R7NkJMAdRrFy2
kKylOdxiJkI1WJmKYzcKddqlZwYZ29jFDBUOl2kiSAaSBdYSPU4i1120H/
+7JkcgIFLWHJg4weoldkGc09ghwT6ZklLbDPiVqRZVTzIThgmwXJZbzB4KMnX6w0RAqj2oOjB79bKCwaJEV
BSzMD1ewBAgaINzMCCjDww19RIAsgDwpcHJNIhDFV2cQHIVMXxbYwC8Dq06EtG0AYRtcTB80p5QzApVAVD2
Cq4eQ9cEYulU7UDswy9y6epukbX3/x8x4s/95A0YsvHT1r/
pMxmJbC2dvVVbeG75eXcfc9M7VmY7d4jXIlPmUYPvWOL8O6rptpFa8Z1Q5JgKizUn+EuZBuFHxhyLliQEwC
M40WlUNz7E5cWfCg5y7FstQSzlyDap2hc3rE+/
fRR4Qi2lamhIOJNjmGl2xGL3iqh5QOqRUwsIJYFQWqeWAgJTdKLSM7broApNV/
J6UGOtAv1NtUFACAADBMlB4Iy5SVey0wQCZhkdjDzBAFzDlJjrMszDEDAgCU0iUwzpKU425OxkVlwhOlbdt
ysn6+V0SVqcoSub1ArlCpGZQ9lTDETEl12t8tao+hazelwmCJTboF7BU7h1navNTkr6YkVXrs8hofPOFosf
WqMktRWHVtMzsZeskidB6DniLI6c5InXl9Kamg7Z3C9qVIlNO96bW2nrMmIfy60dKrCVYBqQRBhYCJnprLa
EfrVVc4FHhKWn8jBStglWbrYkDwLmBdh0oCRsJrCLhSk8SHrLQkJDjYbbUbhVAiSnJvat2xxZzLxUPXvede
eX7kpfWtiFVLCZxAog0wAYCieNA4LAMzdVpKAZQDJhWZ7dAYChi2gZ2Ocxh2BZchQthjUpucmY86tFK5mxK
Ydmn6nozgshxrFKntpIviwZb/+7JkoAElMmVGQ68zclViaUhhJgYT/
ZkXLqTWSVCNpGEEoBEdkiczImSJB7EopL0ty2nHVXlAwnqdFIosd25FncJjaXJSLeSQqTWOYn97OR2vrSYU
1Uk6pw0Tyte15j/DW2J+5NQQZ6trhsa/kzuWo1/rnoa1xPiKt8W3nOlosIAuIBMGLLQrcSoQxf/
kqNKJFjmM2VaWtnmu5h/WHo5taG/lObeaKCIhF/9qUOLFXnGffeyZKT3/
Xt9iV93tz+7veR3s+mherg79jNN9+2Xf/
uuW1QQCp5AAAsFvRTRmPs+MADTTK4y0AMVJDEx6zjpTDDgJS1yKqt0tjUTgyah21EaeBZiWW5VOROdYvCIH
vUkbmfor1M/
tymRUeFGzhqwPSVHIHRdx9hDXQ0d0F5ZOEtZKMPI1SoNij65Z6CClPJ5s8GptlIjtvSPUYqM14vhDeslrbI
MKQt4PiyPgpzbtAh/3LqVIIoYaZ+f7nnqzLB/1lKQpmLQWEoAHvsqkQAEQe5mX/
ragbTUjQILJDmWUTi0SPeZec9NI1L0Wi81qZN0ptSHCTCsUDoC4MshRbjwiQslGJPPKkSLCyzMGg8RsKhNf
WZqU06mR/
o3EnSk8mmKqHyW5gHqBAoaLjCkCANiYPsFCiBwI6TDHm8cce2GERPTysfSKy9sl8BMuNEtfK04M1i7z586q
po5MLqCkZRIEkZ508eRUYdatljtmpOfpY/
f2xkvLMdrOuuO1OGWzLcRM2cWu1c49WPuS2xp1t0a15upzD0K9pcwdpSYc8thffacsxUrZG6nJpZbUXLfJB
89WYspswumsUBsdJFtetGuXIVH/
+7Jkz4EFH2dEy30ycFRkiU0Iw3sWnZ0KDfmIgVmrocRTDhOlUpI5PoVml7CSz9kJPkAACLMUwRHf/
m+1VWzMyRzikeHL7VVT/btSr9PVeFuGcpY2F8yUFrrrKX8PBqvCX6VbZZrqRVgef93Y/
LcoGYMx5yHVKltfAS8mYffbp2u5uis8v8Q6ZYAyjGMEN+kAHORxM0CAkwphMAOiM1qTMDRgIQZQ5LJbI+8i
jEoiEvn5XnNzUNOxKnl6OAJEIjJj6VK256WSapL6OGCE0X18QRkw4ToLvnRq2vMGS2V3lT44J/
Ug2iQ3DKyuqmFCPPbs+8tIVU3CCOReYhaZa2Bae3jLTBYfWeX3jN+BFGcripH0RwXWraleS1qraHFBg5vSk
uhMC082HJg1AwsbRPmxLWrzI7R83AXTs5Kg4rXjhAsuOiqOrS2KA/JJ2lIzRuRWWgdDYXnLN///Od/
hZhc//seRh36T6UkX2ZEjV4JNlJ0BAc0rzCV1Wnf/+49g07ahC/
wZ571fnyjjQ4EXWMluAW9m8JlmmtSLUT0oudSRdASo0GnsTGgapemX/+xHqTCVf/
ysoBA0hgCXWcYJdhAiIhBiLgO4muTmFqO4a7IJphVgHGBMAOCgClNX6wlU3ORq7u1uKv9SzV+9dEYANmjpY
Ckfnx9HJudKlQ9Oe4Jyx8aTdC1KtffOV8XICZozOzsxMHX9KzsJo08lqQIIWj1tdCaKj1CV5Kg8bPjvqsm7
i1atoWE5bPT5xehV9haduysiWxkjJLjd0NjvbL50vZiLqSI1MHFiiNlh5aQFS7ErC8lNr3u0ktybvtPl8wg
P0jDJlLD/+7Jk9Qn2SGbBi31iYGUsd+AcBqIY7Z0GzXmJgZyx3YBQGohFdWmZ6rVwLnFxTdKEgMHhaj//
+odDr+jYBkt/9WRit8zRwUt5I49PBJKnRo4K1q31ZxLf//
5mQUJawVE5LuRglrnEqr90W5pHH7VU5Wublb2q5okSd0f3nHgFVpHPzURIBV5n9zkjiVAyRpHf2JUcAgFKT
EFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq03FKGMJpgYBgcDLGgNwsBYYR5NZoijVGC6BiYCABQ
hABJQf50KA591YcR5GFwhNkNVqcYkrVDVVWxUtj9qyxuEBwa3PrurOWa7XFFtkePlNHgwyqTQZHJWaDomLh
pZjDah83kDKMtJtUqTEuowSFQ6PnBZQwmw/
NVEIfYTIhlEvEMHmUYjM9U9EiPHjvHSBQJobIRWK12SqJEksTkYpaIiPTRENCNAca0VLnUjRu9iiRGVUCkE
wyTCdUwVm4aTnBZIwkToYAwJIF/kR/////+Zcv/n8URCWGRk4XQTUTSTTqfySqxUqojY3N////T9f/
W+VEUjt/VFTRU//
lNVMpgYIEDIcYUAhgoUEHIOWBZZ0Qry7tmKs6CAVMODOMAwEMEw0MUIVOZEyMLgfMBwCVtJ0k3ja1w1Fhgr
BVDYpFYnYUol3SLyXh1Jn4e2Rra77DlWpdPcs2eVnX8QH07M5Sg1dQS+TzCIEQN5CTzYpL7HVF3Ep9DTd1Y
0p+dLMdL/
+7Jkvwj2N2ZBA89LckbspUIFIuNYBZ0JLr2NwAAANIAAAATFsP73gYLsTeK+XvLlJbjjO6tiQ25w0Kz0+PK
uDs5dw+8mMubGfrGKrnkknSVs7R7VPAicrG/
NvUdayObtfGw+mevLcpz6qm8rkJtl+qi0G0xBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVAH9h594CZCOARQcGckAgQIMZhhBKG4IC6ChXBIFceAhQuZI0OS0EknYVDsD0uWe3YhHJYjTGqZuQp
ZhCuIMzweGnxweYJyGWFCcHxKOVIo1OdCKRhJXsFktvK3cbNz9heTdIglFY4ghJRqkbP152qoiCAmWUCW6h
gwMismOjpekXg1LNXMi0vngTZQpGJSK/Po2qFp8eTYPi4aGHVIxudtLit7C46M/
KhJXWKrDB4rHIpJHGlkCFyw9ZaLxaEojwlxiAnMIjk+uhnydFQR21hNPsPniPhYZ7HdSIiQQAgHB3mHaYQY
EgDZgQBrmE04oZ9yT5nFkI0kQDRKCigAuuNsEZ84a0mgQauhQxwW4vAwWPjIIYWJLpL6OYA+oCcNZEJkvJO
SfiQKwgpwFzgEJIAmwxw6xC2pz0rFOkzSNUuh1k2LaqTnKpDBJiSluOonq20mKPhoXaqWlCeRUjkJibRIDs
UCOExZUJC1C1nexFzIKLinBwDBYD+P4dhfj8EwkL4GcPI4RCniOSCrFGfOFhkVyfMglJFMh3/+7JkzA32qW
dAC55iYAAADSAAAAEiRZz2L23rQAAANIAAAATxiCLbw6NliHAT43k2+ljhGi0LEzMRL2I7WQ3x1mWW9IIYm
lOLkbEkomCBfkrXkUhKeP1tPAyTxOo5i9DdKlxQ5guXw2nOEm1WP83y+E2nVUxBTUUzLjEwMFVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAQSIATcjmbUMJuhgWbf3mPCJlh2YXo8BrQicmEyA4YDgAY
YAUjS68OUlmgpZud5Hb1JZrTsxVIAAX3kMloV7Nci8Ji9NLm0AoD8rE4qLylAOJvrJdNzs9ULdJZmuIevny
YFVBmhj8lHisJAIySNopFwT2UfoXFomrS0PRq+hJjs7YIpSjVMIaw5UNFeKyapHLBwhUdLDrh4xGtjOTRlA
ZHwfjszYOA7QSow/
GKmlhIcgWvJCy+iWpDd9O8pSlsrHBuywbGsVlMZ4f2N4VZYpiJMoexoQiATwcEqFlcBMAYCsIYAYBJgaAOG
J4QIRABGAwCUYZqDpw8liHwqZmw4YeBlmER1SIKK7iKPrQKOBX9ctXD6sLGgl9FbjAj5E5cMZEBQ4XIB4Qx
jJwpkOOdREJORPKksleeBAxA0YSZUKZzUB3RE8+elzM8vh3l8UpgzoFBMxzBa37K1N5d0eilEu1UpEohiw/
TzagVarikGISQd6EwnSMPRHHMWFOmGb0cmyIbWM81KbhlMJzNZYTyJwhSYOVSL/
+7Jkygn2xGZAs35icgAADSAAAAEhVZz7L23rQAAANIAAAAR5GrglpdC3thezwSzKqke7O6AhyJWE4YKtLma
BoIQXeEbjQiZkMUROzveI4/
GcviFMjKxq0n8J9EOhJPHMqlWklpL7XzcY0czyqZIONkhOKkxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqldqmyf1IooEExBW8wpBAwrFwxc3k+QkA7kkxZQEAVMmQujKq9yhkH1nZuT0OZ2Z
ZKC78HQ/
mzfCbhikfiM3TEXqk65hI6VYxLIyU9GeH9VJufmCDFGrSaoMHXkhJUldekHhSWDsshagmgmmpas0wWlxZA6
9piUiSqVExBVHJ8rJPMJiSPqlcPfGFC0cHRgcl4fbkXEiah13q0kQ/FcsxsE4/
KbMZYo1Tjwuj+TFB1ETjxe2fEkspMLKyyEeRF04MUS8SFr6IupAnPxNOGbFhaU1xkvH3nakcfU6THIAFDAB
AOMXYnwwGQIjBlAoMeAEk86hQysW4iDLKAUCb5EGTI6q4dXVlt2Bs6l0igVPeu6jjlOJ95oLdiWrKYtB7PG
lQ87dR1Iq6MlWspus13ImLHa+/
yDLvaeaKLAwKnoO8uohplnAT8OMXcxS2lgECZi0Mg7RHFtOHYe6GEEUImp0BICSrQfxL2ouBuIUTknZRrgc
7cE6mUOYi9oA0BLsiuqI2b04+kKU6cRaiLvFL0WMTFTrlCi92JCf/
+7Jky4/2qmfAA7pi4AAADSAAAAEiMZz2D2HtwAAANIAAAASbMtE+RDCLMbxfEPejAVJ3sKDOo8T+NxRotXK
thLkPlWNzWym6IaebKc5pPC/
H+GPBTRRoQzOjOTx3qJQGCUY8hJCdmgxHCV57oJJDqH5BskxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqrQQAl8zPXXHZIHB0aKq2GBCYABuCMgOiHvMEhACoHpkLTYhD7lxiflcKl30dy1
JXpuyh/
TA0CE0adnBSwJFOf7esn+ftmORmZkKOp4jpSmTL00EOjs23TK7Q00lLHV6MTqONY7GdDGgwrNqzfxkUmL0f
wEIRj5mR/GRg3AcCMaJzHhOhmyoQSyREEfEklw8oho2A3PdPDg/rZYShPRFZoOlqL4YxwjRq3oE5kVy/
9yqwdK1ITVe85UcyVi1Rlo4umaRxPl2o+pFzYkH8bx9JMOlry4dVBylUIUyd9jMCJzA4AkwNQKTCQLGMBYE
MwUAiTDXS+OMMj84GZDIQhMGh4BAV+nFX00eUUcBLnZ/
AU0695YFnbJ2dmDAi+bBllFyWmJGRhqsJkj1Rdw2tOO1i2lWrB2IiKA8mklw9SrUpdXM4XA3A6niEq9wR0Y
UaybxvQVs60cQsnyjMyQ0UchurIo0y6ltBwD1EKOMu7G6OpNJQ620tVGPSqDvK1sQ850NJYPFJtJsqckROh
oLbpPo94rmNAnWrj/
+7Jkyo32vWdAE69lwAAADSAAAAEhpZz2L3Hr0AAANIAAAARSyQ1hJwtqeVCPHC8IG2i2K4dhJzvM4yGyY/
A7FlOnMvvSUnA3oqEijiMEeLA2KtnLmfZzl8Og7zcesaZTpiNZuQCDGSeJgn4hiHhysSUzFkxBTUUzLjEwM
Kqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqJwbPX2YCoBI8AoYC4sLTDAkAGMOMXs2cRMDCVAZAwIgkAkJACOO5CgX0JVbV
EYXc6PONOEW1KACeV7UeifWVSpWQ/HyRVkY3nrYq5hqLLMEkK9ebxXUioi/
L+Ftn6AihMIJJYQ1ZyQCkQDsFSoVqlFKJhgoJpqDcfg+DoNDMSn7h95bkkSVTWpsRTY8PB5KenA7lYg+QgF
NCsSywfK8gbsVSrdYiOwfUnrxGHJeJp8pjFZmcFsQV75CJJu8Vh2MCwVtHVOWWjYQiYgIJkdrDo2WvKBYIR
bNCZCJ4cwuKDoqPspEss+HkJaUyRvnJR/
MD4DEw6iVjA7ACMDEKYwSGBzB5OQMBoJMwBQNAQAilsoe7DoufchyfcFlrc2CNzYigKZu2dpJmWzUvgpM5v
okkIpg+q9iqCkU9b9pWMIdlCYkfBENEDiumdQpkTjuM2KTupAknVqUZzoRCfNoXRHhrqMuNxukhISbj8Zan
GCYZ/MBwDkICpIQYivHCykxNEWq7GxEIICsF8gKNzMgcAkR5H5UOZcKcr2Ed7JAGMZ43h6DIHiVh7Ktj/
+7Jk04n3LWc/
A89j4AAADSAAAAEiKZz0r2XtwAAANIAAAASMk0EiSBFGU0xjIOlXqVqTppmicWU+yiSQRnQ2UWyRQNDUMxC
k8pTBXZ4l8sQAvpPiSVQxwQoWRaFEHSLghzAp1IlYhoP1WxIhuPNUpEt5x0xBTUUzLjEwMFVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVSEACP2HDdBNEsAEEQEJhgEriECowTwNjDsNdOTYNYxBgPTBHAQEgMQgB
ZDVp8P14Bky5XcWBeGMPauZ8ZDAiQwhkkhCnSCINzR8ZsgymDKUq3+VuTCcaVVk9ytsBPqFbLSbOWwRPbxh
CXyN0CNLmKV4HPfhxXwcGcyliVYlOAXSVJRJEG65o5Rm4xrYtphKQnwxwP49SjL8kDBLIvwm5wlciFxBMcb
B4oaN4oVKa4uoeGZ4UYaEY3R9Hm9XZlIcYJfTavU9StPRbQZqpyZDRCS2N6QRawqCc0boTC2rKKFyVClLsP
2MuFo7UCaT1nGUaxwNMyeQ2OFUnkwXNGnKXk/
iTnKqU8djM2DuHKWh6rhPtZwrq0Bz2nHI0SfkkufinLKEwPZhsjFGCOCCMhWmFwRsabA5ZhUA9GCeByYCgC
RgBgAmAIAEpKB4xWZJKIDgqLySgi9G7L6KTM38xwYeQRGmajWnyqsyqHo8153oS1544dmhHCDjp+VDLBF6M
DpIiQTLXQlqj6fSFSAl4YQtkvSvJmah1Pg9AhrFKFpIrF7UBrMX2WGi8dYLG31fdAbAjCiYYHaMKa1KXoS6
oEhlBmlQNYjM8tEvi3kLjrjqUtOZWUFa0FQMsF//
+7Jk7AD4omc9E9h78AAADSAAAAEiaZ75T2WTwAAANIAAAAQchkZAyJdz6IqsrxxFql8AEDpSLK31hVLJOLJ
0hARH1cSV58OQ9FJGIuQLkqo+GL7qEXQWaYQyvGRC4OSCkwxOmj1SYiqg/
JC6evnihlYv5UxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVf9ACHoG0hggkZiAgWhAMyBgXTAsBPMKFLY0kSiz
CdBOMCICMwBwCEFYalb6LUmolHXDgSAX+fZYSMxAygQlGm2/
A+UYkOhPGzQYPSGYIrevNNkCkysQ4YOPjAYMMITgNFIkIhAKBCIgJ+GuM8LdIOpDL7bZPB6kM5F2VRl96NZ
D+uyy4QFTHDXCjL9uI/1O3OOV3OhDaxJu+MMTBgxTmtqGiODaZnaMSh/FezEjhJQxEQzt5/
nQ7VB3nXFS7xxZlYroqoQwZJ8s9EJPtyTytPxo0aDiOeMT921vV0carc0KOiQ2IhhmpHTx4tTKrS5oeaCWQ
hUEESZgt5dD7ZWN8qDpjqxiOZncHM0D8UzpLGhEYHNGneXVLMzFL7jKUtGGQSOBw2P7gEEwwyGIyCscXIwR
h2gLhAOAsBOWgSzn4pDbOVlrRd52WdNO4tYUFWYRJKKAPJcLKF4m4MytTR0bDXS6rJH9cIWFU3aW2NN4IXY
M45laG0C0hK8dFHqAESIgi5CaI8O7zvv6rRKYU11OkQFl6lJQ2nYizGWzESDhQ/
E12oZx9YFp15CS9r7RVVFdcujFEsKsiQruHhVitCXQ0h/
pVMRltFgH2qOW15t4cX21pm7PWuKtTSXM1+AOwU/LL43MQZJHGlT/
+7Jk8434t2c8E9p8cAAADSAAAAEj+ZzuTnsoQAAANIAAAATQoAXlHVyrhpXagqSOiLCN609oEHOo/
cERd7VUWPtYY1YcFslx8L7l0zH1ezfwDFpGz5p8UhToQG1RtlXRWDVhVoWInFaaNQFEUUEgV6uvagA+ArdT
pVjoAkOF0zBmA3MW4jcDApGA2E4YMaoZi8n0GKVIobFUrAINCFMEqWHxyLNouVxlNCIIGgNCaDBMLhoIByg
0M8bSIBdIKgS2UHHjkYMU3mBFN900QeGvcVAh3MMltz4WwN1NKGPgy6S6Fg8pjaM6YBBBnbuypDk1BO4icM
zTkcdMIKZQJRELiaG01oCPK9lY0rmc0COKDK5C+s5BKa7rwh1GKvzJ0bWkiILCQSuPMmRmTLpLzrIKJcMXL
kydEpTlH1qyCUQmW6u9KdAWxamay0ifVWYo4kBuqKtCJFwk+2wM0VapARFRyc9HtQqYT3d9KlqTuprBEUBC
ggkm
BVidX03Rfy8ZaXmQjQzV9Dz9RdoIkGQLGYulQXJWKrIyVOZwXaXOxlCQjatFMNWiFWXGdhWBTbPEKKhbRAD
YX3vydgzWElTARDIMB0AgwKwIDCGFbA0HpzQOPFxhQinEmZHnkd6CZXCsGYYsga0veTIVy8LgxgCoRGSjqV
ZnkF2SzQIHTVMEcsDCoMvh+djkNOu5JEg1F6QbsCjnsDliJVdkOp3rvEQSWsCgEOPO0gIeVQcDFJgBC5IMW
9MFxkbTWPhBbhRV63VYA+7YmxN1hEZXCytNEmAa8zJUD/
twaclZEGevawdk0kXG5KxmXtYfJSNKrdADPK1NT0L2OFT/+7Jk/
4D5zme6K9vC0gAADSAAAAEkFZzy728rQAAANIAAAASP+/LJuawcF/
lPN5EWpOSozaai7fIvFE0o5yH2VxWtZjDquGw+Mt+7jJo8tt0GXwxWlThQ687LGmyCSwlfrcoFhbvQU5DjT
b6wXDEMyp83KmnHfVvmvvN1rMWk1U9UaIbQ5l9yIADCEMjHBpRIXDAUFzA6Yj/
6iTIbBlGBiIkSEixf8GgH5QhVkQlP6LCUB6NbMjFghUWAi4QRMSKF16XDDWHj0R6wYBflbiKRdlnoiOqmy1
M1LtMsqCQzRJT7EJHHe1iAxJ7G+RsSpVWUrU0WIwEZOwKdKoHNM+rsMJumZY8G26wLMs51U41D2fwlMNV8I
LKiwlMFshBx8qdcPLHT4UrbEouvRf7+M6jyir6pyxlC1W2ma8q9OJQ5KFm1MoInGiEy5gDeodoackss/
ywLZEqmoKpFyFBVCi7rAnlWvHIccZWNLxYyETK3wWc1Bg61VPMeXgsKw1OWnZpArQHVh9bbBH0RSnbbuw9e
TOUi0ZLNS1Rxa6WBbFvG1S+SsZazScikpZaxlpLiRlMGhhwMTiIAE0yZlVqGxgAQCAxkKZhgKAJgoDJgGsw
mJxhiABdFX4cBTEoS/
M68ftkiMaht22qsKXQTA2jIJA0YyGKYPAyGBKDQSAI6grUmwjQK6FrrfWHZKmnG0SUdRGeY6BacBMGpQUlH
IEQqnWo0ZmoKgCqCmCtwdapyk4l+9DL3fVVAw7UVpqPhzUHNFAIz2W1wXA4iMl2FEPo8wcxNTSQsMxiMQnE
c2T8bE6pkM6dPBSPGMvJMxFz6QtTPBWoQHQX/
+7Jk+Yj5mGc5g7rC4AAADSAAAAEkiZ7s7uX2wAAAAAAAAATOidNw41AhBY21hSp2opDx+IUYZ+C0Jo6hH0O
I4uxiRk2Z8sIcRqH85JEcxfIhcAVYjZpG86SSnOhHRFSUivWSEK56SxBiiN0TQmhpjpPUyhOD0OA1z+V62t
MRBRbkYPQpRPX2lXAbqvF1Z1KhOcwcJTQijMGAICCIya3D+M8ARNJwkCA4smS76MkNNNag/
7WHXakw1AZcJFwYnqNjNf2Hh6AR+jTkn9kyqqcLYy3ajyOCsLG15sxGpEiwFlIYuoZ4K+fkvQVRp8FxJuOv
Y7CDzM2htlEKFHXWS9LIt8sZQUMTF2PLlTvW6+SZTEmVMpuuO0OnWChhJN1ljJSUSwFMvF6W2kLdmNuCl5C
pW5DWkvGvo4p3qaqme+wvlyEc3aRmbCvByI7eYmzJQVwoy0Euk0oHGUan0hVj1HYXKs9XTCVNneL8hx0jGX
tZGFpyF1S7BF1t1mu8KyAYSEgweKF30NWglFgMUKklwGeZCpGjQy2CeyNAK2KDTAEBU9lgS0LOG/
XctxDNBK95oOpVD67lYkuVWw7wcACtf//9ZvodzfQ7m3VmjPA7O/
aq45pTqc6fJly5RTjhw+TE5coN7qAs4+HyYnAhQYA9PszpOYChGSIYZxuwBh5i0G1EGEonaMqZJLG8Bd5B5
yXidpdTvRKLqAwyhKQlAlBvAzcwVPz1bE21JTDDmJLDK3IBmTLmb2an3dhlL1MGKJzJCpEoqoOtq6KmrPkV
liyGs7T9PCiaii/KqxZ4sklc1pDIwiLfOtXVtTBYi5L+v6+qgLjULsz/
+7Bk9Q3pjWg4i5rC4jHgBcIEIm4kbaTWDOsIQQOAGgARCTA4pk3zKWIwAu2ELmVNA0MzjhNelrpMStyl/
ZJFpTm+rDV2sNYizlL1FVdz9SpgSpmvSuQpVKCtdclcq7V2vwu5rSlKKLkJDMGaUmNCoeYE0doK5l1PWoK/
Cxk9kUljMZY6XWTCecCHV8zJBaH3ZhLDlDS0q1gocDNaAgmX+XdaYCRIOpCllS2pcEvi+kDSmVO1DzpOtKl
KkAyV1FW6Ql63zkhLvW9rUF6oZiCXcs/
DMQILjFn3hlogQXGLPvDMvvnKVDJ9xNpRKhk+4m0olQyfcTaUTfZRVOHCZMuXUAEkAAFQABCJE2Uqycy4VK
Pjp4czTzAdAbE58iicP5FK9aiCDUdT8QCGRRqLa0xZgBrKmI5WpmmBkeDnG8lOj4wIRqDQzHUrI6NqTFxdf
rVaSIjg3LpekRVcAVoSc0BsQUAQl69SubUnUNGuKwb3datlmoRWhA8YplZNZo2pKy8SR6LYNk5ZOoeZdOnD
Js9TRlMZvAGPVJLNRwTnsC2A+Zdyw8MxklYI6UPFhPOwpajhzYi2+Xz89QjJIVSkOwquEp0Tg8dB962ecul
tssLFvLIMr9wDoUGEYrSIOMWCqahIdC7QOsEGCwGYCIEBqYWYEGgOwdMECDws4AIAhAmAzgREmHFkzAAaAx
wIEEAAeAzgQaDjxYWUESA1ggQYQPJnEESZM8mUQRJrMCDAAaA1ggQDhZYDSACAOPMCCQAUAwsECCwsiA0wA
EA4DAgASBFA4WCBAGFog6ZAIPAZQAHABAHBxAANAY0HHkAgsBkiCRAgef/
7skS4AAZvaLFp+GIQuWzm6BkmDB4ppKIMzz6C/
jPZ1JSy+DOISTUTJmEJJrILMQNC6CFEyB5M4hJPf+uxhJYiDZaPCiE05RGZUTJwCY+xAyLQpeIBDdIo8M8L
Y4OhYYg5oDoUmlWF3jZ+Gvh1MWsVVNwWIGiw1MCOkRpCMYYCAQHLJZGo6CUDFeAp4ENKCVVwyG1j//
vWv//+qwgwUQN8ikmCZ4yE4EJompmFRUC2iKoP/
9FkjgbgAOSaCzFqh9gbBkKALAZc+3///1mQFFhaICTy7QKPDRQ5ZuRiC0m///
7+bdBEexSpGo2YQ5nHjJBjpA0FIEKqh3ooEeqXOPGFTnvJCCsMZFPRGaMlZz6aXEJAlUxk1h5ckY19p6tMr
dXWpsyE3IMBNilSXbLAJJUMkomBIZFIgCxQEhMSkpETDYVbQkpMKiEUkAiMIiYySohURjJ8Pkqgq0MuCzho
mOkqiJ5KaJQyQA82MkpMJUQaIxlgsiIRNESqDSMqZaZkTIxlxxEhJokrBMfIUILEKRMbcZWLMh5MHXEQdgJ
VgFSGnlRaQ9EisZZLC8R2iGhpoqO8TJhaYKxLH7EvIcGmio7Q9yLRlCoJpCVw4qRqMimo4jPKlRyTSkmXkk
1UllcZJyq4OUBWPjkoHCq6jgSEv/0KnsyCp0SyEIZguSloJs//
VUKJoiPgiQAUVYQpTFKTaFQVHDSRoApABQhHSEs//1MGwA0QYWRaBdC4BCECLILpN//
7oLRGS6amBdD8aisX////
yEekrMpVwtujmd6///0plFBvFkP5Cm1sZx6SpKQXIwThfHaWEvxnGsTkwjzMlilsX//7skRDj/
TMaKoRKn7A0CzmsCUpbgA4AgAMAAAjCrPZQJSluJVrJzMbx2SkybZ9V0dTEdTfDmPjgrEBcREJMLEgnFAjK
CEiJRcnEhGMHREhNDgoE5ANnBCiHR8VkAjLHSYlHzAoIxAVOGRMSCsVjAjIhSaEonFAoGxghFRkeEgrFYeG
yIUnx0TigUB8YIRUeHhIKxWHjqIlPkhOQFDpEhJjxOSEYyWFJMeHxQKyAaKiolNjgrFBGMlhSTGB8UCsgGi
oqJTY4KxQRiEsKTQ4PigVlBEQkxknEgrIC4hIiU0SCcUEZQREJMOk4kFZAXJSIwaDCMUFThMQmzwbQCssQm
RMYJwwIyCJiesJDeKAORKpIQbMNrgIQlk1gYH2FAHIiqyoNjja4CEJYIroBOFIJiIQiakYkC80lSJBYyGyQ
cTBAhR0NCQnN0CZEgwZE5IYmBghR6NCQnNwA2RIMVDZgZTEgZbCQ0IDY0kJw0yJDqzAyEzCNsAZxVsaCA+g
YAAH1mCoTFidsAYeKtlggLkjAAA+WcVCYsTtgHDx15wIC5IwAQPnHHQmLCeYBw8H3nAgPgIwgD4iFt0SAnN
GHhCL5gnMGEAGyJTQOEg9qgQAAJMVZYA5iAlgFyE9LAJiGcLGHKO4l4uInxYxYh8lwDmHaXAcQnpLBYRhFz
DpHcXMcIwkWSYXEnBDhykgIUK6dhJRcidkSOYkZCRXiAkmENNweYhI7CbCujuJqGqPk2gwijGoQYO88gvTO
NcMEqCLHpHcRAmxRnAGqKEpRxCylOP0mRcxcSZIWOEYRwD+HaXAXImJ0CxD5OMkojxpjFEmL+KSPonhJv/
7skRUD3AAAGkAAAAJIYz2RT3vbgAAAaQAAAAjMLPaFJKkQBHTQH8JKTwWofJdyShxF/
JKJMXcWkbxdCbBwl8JMISXQWobpRk1DiN8momxhi9G8UBTBwl0JsJqYAvhulWUoXxdylE2KsZo9RZFcF6YB
TCGlQXsekcpqi5F1LwJkWZeB6hzG2OEmRexMSqIOJiLKdA4hJS8ClEhOjSAidokDAASMRicdTFYbFfIBASG
kgwGCCYjC5OZXDYbI4CAUDhpgMAgQJjYrH2Ww2F0aggFBI0QCgKEi4rFZOy2Ky8A8IBw8wJBQUsPkZ+g2CY
X0oQBgcmGACCCIfIxOPuDYBxHIPEAkHHhgEBQhLisNk7AJhcVoigYEiBsEAogVLhsTtsAmF0axQMCRhsEAo
gVEYbE7bAJhdGsIAwJGCcEAogKiMNidskBMLtlhAGBIkTgIFGSEjBsTqkgDhdosQAwJNIwEDDKYrDZOVxKO
YcRxMZPRuk5ZTmHpHCcK4J8N4CSoJR6hxHkuyUj0lxil+HpHCjV4lQ9Rcpy+j1DiRyRJSPSXGIX4ekhKVSR
Kh6jSuW0eohSWRJBR6TpgEqHpJbHOIfxNkLPccpIj+dGSWExVAfA9RkshvEGHqUTCTkekymcvpBScqFPE6H
qOlWF+IMTpVJ0nJCUKYyejdJyyp4nRCkJYCfDeJ05IaQkhKOXZPRuk5iocQohSNXBKiDFynOUhJCUsvkpIK
aOjSIUS5ZTBKiDGlc0SEktaUiSkgpo4NIhRLlhJEqIMdUE0SEktW0SPkgqGwi5DiLEyHcN4gyHPScjhLCzn
aN0gqGsROim25KTMzKsTP/
7skSEjwAAAGkAAAAJAqz2UD2PYAAAAaQAAAAijjOcJGMZuJjzjDCEWQIISeeD3BMmnQgEBI0gQQk8HB08Jk
09MIEI5AICETwcBk+TJp6UQIRyBAhEkwGFpuDk09MIEAjTCBCLJk08PJk7YgQQ0wgQjkyaaiyZO+QIILKIE
EOTJk1FkyZPmECC2IECHPJk0HJkyewQIJsYQIZZMmg55MnsECA+gQAEIPAYWMkHAYXZgACB9AgACEDwGFhE
ngMBpwhVXVJQyAMiEQqPKEwaFVFRCKTS5KGRTEsIhUZgTBoVSKiEUmpkoZFMVhEKjMEQaFSyohCpptCGRSq
sIgsZcgRDxMoSiEs2jQjpKuiJhSQ4cIhMa5KKiLTpCJTPJhSQxOEQmNahFRFJMhFJLiIUkLKhEKiaSEVETS
5CKRLFEKSFCoWFQmaZFREiXKikSstCkQoVCwqEzTIqESJcqKRKzIUiFCwWFQmRRIhEibKikSodIRCQsHBUJ
ibEQiImzopEpKI3wTQgA1pzphaQDYm+2DJCaQ5GAT8J0cigjlBWxvOBeUerONsKOB3JyrimwLZO+8KaCVBx
OCF0S+OJgljDujceGYQy84XRRofBOFsliGvTbhIIAjA3nh1snGOBoYhIvjaiKj4K3N18sME4hvuiOAnANmU
ZcAXBuQDhoK3AkBiGmyiZ0AGFOkcw2zTOAWANhMEQ0jDHZDgjkaFZBbk3YRSAm0ON0YcHxThdEEZF8bkQ6+
NdnE8Suk4xvOBWIo8NuMqPCXBwvkLROQb74IhHwzakIHQz84IBhkbLNx4AvC4BsyjLQPAN+EQsCZhtwmA+G
jmtMP/
7skTYj7AAAGkAAAAIvmzmkCSpEAAAAaQAAAAmMDQWlZxlAYmQWGbkAUXDTzYgMVwJENWcLrAMQ24wSoEoGv
CYzYLHNKgGKnGCbEQETBaZqQGWwAxDTpBKRxCGvGYKAHQNOMzFzjDNCgAInKOakRiHnSCaERnqHIIZ9JgmH
IQacZjmHQEZsZoJnKSZVBiFnKaaERlFnSKZURqoHEUZNJjkHIcZ8ZmkHQQZMZrHnGaY1BkCnKiZkRnCj58/
nOrzwGlhgrCIMBqOMDo8kCgSxJMaFciDAajjA6POElaaeGS5EUXJxg5HkjSqNPRS0icfJxg4mED4NBgUieQ
C0LOIrTLLwpsy1iR1TbYNMvTDxfFDY6aYOB8pq5geMzOnC+KGzJqBw6pq5g0zM6cXxQ2ZagUBmbahyNllHz
CxqTFFxVqSlwMCPkwOEpFAQsyjwwVJYGIuTA4TRQoXBxMMFCLnFLUYwGQJrcAKjuAvcxONoQ6AtUFWMgwSg
caKKMMTYIFrGrA6pnEBEiPAjuAIGsoRAeqDtGYIBMIljjAqcBABzyawHic0GiIVsQ5BEjSk4AKIhmgFEwmC
yyowLpAAAU8mmD4nUhqeBbEmQpQxtNxB8hHII6AvGpIFcVKhSgBeBjlHA7wG6aRARJCwQvHLBYwCGHMIrA6
ppAYDiFBCsQnMAAx5NEIsAomEgWSSYC1DSsDcKVg9p1MbHgWhUyIamZgC+RoCXHQpvcYJjthShleCiD0xKo
KsZBglA4sdWCCAo41AWsCqmcQEOMqJFAk4GALPGqg6xmCATCJZYuAJGk4SAfcB4nNBoiFbEOALM0IB4yNoL
kdDmv/
7skTajwAAAGkAAAAIn4zmlRkm9AAAAaQAAAAlk7PXlYxhudwMqOZBFDOsFcK7g+J1IangmgywQrAgghZNQO
0BqmMQUSKNESgSUHEHpiWQVYyDBqBGwVWCCAo41Aa0DsmUQIOIGjDAacDAFpj2QdoWTYE1TEFNRTMuMTAwV
VVVVVVVVVVVVVVVVVVVVVVVVVVVCAABpAOBsVhQQDJOGSc2GBQFyMaQEwkMBsVhQgGUZKJz4YFAXIw8YIhI
eDYrChAHzZCJz4YJAuRh4wRCRwbRhRAHzZCGzAKFwPBJQIiwGDYLlA8KV0YB0YKEgyJ0QEMAEQAuTjQkQgW
2AdGChgZE6wEQAIwC5saEioFzAO2ChgZE6wEQAIwC58PDioF6Ad4KHg+PpARwCYC58PDiYF8A+goZGx9QCO
ASILmhgcXAvADyBQyNj6gETAJEFzQwLFwLgAdYFCURi5ABEwCKguTCAWRgXqTILQCTDyjAceaDZHEBA04RT
IMyU4DKYfECKgMI6QzkSXM5lJmQ5MkKoCHDBTMVDoZjqwGcxWMGJDGipjOJF8zmQ3OUSLBhoDvBaZwaSoMx
1iGkhEMCJDkiNBnAQBM5kVzo8WgZaB3gpU3JGWHKIgEazN3OhQiBlgRWEGQCgKDNh2jHEAYMxLKzGuiBIGq
BxhAMzBVSNYkfzElKMGLCChchnAm6agpEG+Q8Qw2BVgRE4JFRHdRd83TFhmK4OiBYHEwiKdkl1DjAOAY7CQ
gYcDNL7AKyVZmOleBFoGgkwGUXlAVUjDORMAAqQiBCQUkLgA1kyzMVMcALSBAqAcoLBA1UlDSJIQwqSiAiQ
goVAP/
7skTwjwAAAGkAAAAI08z2ZSUpbgAAAaQAAAAlcjSXlYwHOCrJTmgaPZgWoSAUBBgYMFVReNIEqDCpV4AWGB
BIgdYgCaApHmJKoDCoOEBBhER0ACkjIY0KxmBZfkCkCJDAQNFDmYkq4MakDgAUIiplv7KVTEFNRTMuMTAwV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVCC+AWFhZMHByZMLCCBAgQBCBBBNMmTJnkyY8ICAgEIGGEEEwsLBwcHByaYwYQBAQQQIIDx
5MmLFnk00CBKtNIkZkiRRY4kcMCyYOLFkyYWPCAgEBAQgQCECZMmeeTJk0wggQMMIECAwLJkzyZMmFhYQQB
AQgQIBAQFkwcHJkyYWFhAICAgIQCAgICwcHBwcmFhYWEAgICAhAICAgBg4ODg5MLCwsAAgICAgQEBAQAwGD
g4OFhYWFgAAAgICBAQGeJwjCEIQ5CEIQNhFCkRQaiCIIgiCDURgqEYGwhBMIQhA2EUKQpBqIIShKIINRGCo
KgbA2CYJgbAkIoUhSDUEQlCUEQRBsFQHgbAkEwTAkCQNQIiKHoMQMgdCUFQeCYRg+D4PhGEIDwNQRCUJQag
1CkKQOg2BIJgmEIGwVBUB4GoNQlCUQQaiKFIig2EIJgmEIGwjCMIwkiCIIgiCIoijqIolCEIQhCEJQjDsIw
kiCIP/7skS3jwAAAGkAAAAIv0zmtRjGbgAAAaQAAAAj/
DPZgMYxuI4iCJIijqIolCUOQ5DkJROHYdiaJI4jiOIkk0dR1JwlDkORKJROLROJokkkcSSSSaWSaTiUSisS
iUTi0Wj0xJJVKpiYlksnxkVisVjo+M/
VTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVXJsTA3XA0FhXJ5SEh0DiISzcqEwTwTeBubiALBsNlgQiBoaCGLyABwugnG
Dc3JA+F8S0wgOCQaEsfykJCUQ3xLLZIHwpiWdCA4JBolJZ0Eh4I4vK4flYQFohn4kBQdCA6IaskD4Xx3ORD
eEA8JY7lwdDoQFIhlskDoXxHMRDVDgWCWO6EIhkICAE47jgFBTA+TQTQQkHQcwrLwHCcCBoE47jgFBdA+TQ
TNwkEQlhWVgOFoECwE4jlQKCqB8fQnH8OBEK4HzoDhsOBYJZPSCIciWajmWyoTE4jrhINhwLBXEtIIi0SzU
cyeVBIQxHXG3Bs6GTJMCQVCowSjwnEYmiSVisnJJPJo+k4SiqOJUEImE4fiaYnRKTkk/
MTU+MjkkpCUeGRsemLRKTkk/
MSyuMmSqkKygrI15FWk5IPNCuiPDZcTYT4kphyPyqRFw7HpKZHE8KxRWjquJMA5H5VKC4dlpKhHFQXiiyOr
xJwrPpUBov/
7skS4DwAAAGkAAAAI7WzmlTEsgAAAAaQAAAAjSLPZ1JSwENVMtKsSY2hLNjHitGhmuFrhy8eURSIzY6yONR
6VFMisDtI5WHlSXCM2OtRxdHpUXx9cHaxKXDyelwfnx1qSVo9HxfH1wdlxKXEE9Kg/
PjblTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUXwSgHOEkEHC1Beh1CUCUBGw
jgScNYM0QoUkRsJWDcCPhaA+Qzg1IgQZAQQG+EMDHD6CpEOEZC7CvBuBDwxA2QqhDRLBcBWA5wqA2wxg4Q5
hKhKwjYOQKsPgMUL4OUUQSgIwEjGUJ6IUOkS4SgI2JOJAMkT4ekmw8A6whgfAbIZwh
ojQbgQcG4EPD7DaDhEyEqG+EEBzhABBAxQ4g5Q9BkBBwcgQMQUMYL0OoRELsGIDnCSB9BaRCg6Q7QuAjYRw
JOGyH8ISKUIgErBuA2wtAbQZoaoQEPYSgG+EMDHDFDOENEaDcCDg3Ah4YgWoKkQ4Sob4QQHOFQG2FpDiDlE
sGQDHByBVh8BJgvQ5hQhdgxAc4SQPsJKF8HSKoLgI2EcCThrBVCEh1CIBKwbgNsLQKaFSGqEBD2EoBvg2DT
veYJ8ULllacbMTXKHVreYNsKFzitOPmG1yh1aOnjbChc4rLD442uUOrR08PsKFw8VlhOQEZBIhDQlEqRGQI
8RClsBiETzgw8xAAC0jDRww9MBiETzho8xAAC0v/7skTLj/
AAAGkAAAAJPMzmID3vAAAAAaQAAAAiqTPZwJMn0INHDCaYDEEbOGjyCAAFnQaOGE0wGINs4aPIICgutBU0O
I2xWMKzWMj6CAoG1sVNDiOYrGFdWMj5JAUDZbFTQ4TzFYwV1YyPmIEA2WjZocJtTEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUGMw3jZHQHMUJkBhCKmQOEkRxj9JkZY4SRHWOIkJkD+EVIQGEH
6QgOUR4l4aJIi5jhJEaY/h8nQP4kJoD+HyaA/
R9GmSUkRpj9H0X8fwcJOBAhHSCB1BUj4DpEmMEpRDijF4JMMs8g1JhFcLCZhNxbQ/jQH8SE6B/
D5OgkxITnH6SJDx+j6OskpIjkH8Pk5B/DdOQkw+S/klH0c4/
RvHOTUfRfCTBUk8DqC9JQI0HCSMUkKon4pIXxPxKhxEgFqCpJgKUEdJ4JYL0d4tIQ4mYtIR4mYoQvh2DyCG
lALUEdJgM4L0gZDQviBi9CPFGNUNUZhrDdMwxh6TMLUek2TaFuNkxRcjZKweosjbFtM41hcTOK8ekqTUHqM
02hcjNMTRO0SBgAJGIycymKw2K+QCAkNJBgMEExGFycyuGw2RwEAUMGlAwGCCYjC5tlcNhtHAQBQwiQBgMI
FxGFzaFsLl1A8QCx5wMBQ4mHyMXwVhcVtHBQGCTQQCgoZOisNk+AmFxW0UFAYJGwQCgoQlxWGydgEwuK0RQ
MCRA//
7skTMjwAAAGkAAAAJH6z2VT3vbgAAAaQAAAAjJLOaAJKkQGCAUQKlw2J22ATC6NYoGBIw2CAUQKiMNidtgE
wujWEAYEjBOCAUQFRGGxO2SAmF2ywgDAkgTggFGDojDYn0kBMLtnBAGBJhOCAUcdEYbE5dTEFNRTMuMTAwV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBQAHMOIkyfJ6
N0nLKcw9I4ThXBPhvC5MxKR6hxHkuxXQjouLiX4ekcKNXgFABAejCUAIcSOXJKR6S4xC/
D0kJSqSJUPUaVy2j1EKWkSQUek6YBKh6SWxziH8TZCz3HKSI/
nRklhMVQHwPUZLIbxBiFKJhJyPSZTObpBScqlTE6HqOlWF+G8TpmTpOSEoUxl9G6TllTxOiFISwE+G8TpyQ
0hJCUcuyejdJzFQ4hRCkauCVEGLlOcpCSEpZfJSQU0dGkQolyymCVEGNK5okJJa0pElJBTRwaRCiXLCSJUQ
Y6oJokJJatnaPkgp0widDiLEyHcN4gyHPScjhLCznaN0gqGsROim2QgAAbDYNkRAFAQQNigMEkSMLgNOBWG
ydogCgoQTFAYJGS4XC6OArDYnaKBQKINFAYEjJcLhdHxWGxO8oFAog4oDAoQRIxWK20xWK0ckAoFAkaKBQK
IJisNidkuFwujgKAwJD5QKBRBYrDYnPFwuF0dCgEBIfKBQKEnFYJv/
7skTBDzAAAGkAAAAJBez2VT2PoAAAAaQAAAAjLjOaoJMlgBs8dC4XFfIAQDBtIKBQUYRgmGzCYXC4r0gBAM
G0hAFBRBGCYbMKiMLiuaAEAwTrEAUFDCMLhsSKkYXFbagoDAnkQBQUMLisNiSJGFxW2oSKTEFNRTMuMTAwq
qqqqqqqqqqqqqqqqqqqqoQAAAIjCoZDII2RAMCRlQVBoVUQgKCJpcUhkUxIgGBIyoTBoVSKhUETUyUMhVUs
FgSMsEwaCyxUQgiabJQyFVVhECRlxAiBoNKEoKjRsjQjpKuTCoKkOHAsGh7ikLEUjohDIlwmCohZOCINCbS
ULBZouIQyJYkwVCrJQRBoTSJQsFkRcQhkSsohSFUKhEGhM0hBIBhURiEDIEkpMCIBRSQCIDQFEyEEgDCpGM
gZAklaFIVIUBYVCYmiKgsRNlRSJSXRSFSFg4Kg0TYKgsKmzopDIZQACxmaQGtOdMRWCMnFogoUMOjAvEO8d
kDNQzRwcI6kUzq0QQEwnVZBQS6cYilBqhycI3jYjowq1FvG6Q7MSuc4jDiMpzaS0Hwm+ZJIOwcIELSlRycO
TJxGyhYiGbOMSwwnQcXisikhtqOuCOG6RAMI+FJAQZtOZJIAQHMCvNJAdgLzLZGgQBamsdHDNBsJvmMSKOH
V444jKc3ilSMRuoQxIvnSBVeUqOEBDIrgb6lSA2A5xJXE6DjELTIzmyhI8TGcpDjR95ugDYDZDbcdYHkOMx
VQ2w2zBERM5qsMNDTm6QiWJvNkgK4PQa7iNQPIb5hdAfA1zADwlZowIEgtZsoFEhszRIwsB6DPkLmA6DXUE
mCYGf/
7skTzD2AAAGkAAAAI0ozmiCUpbgAAAaQAAAAljjQXFYzgAeZiWC1mTAMKA1migEKD5mSRlQB0GXIJEdAGmo
BEC4GOpmOA1mLAECdxmahgCB5mChpMdBGHJZI7EMtQEYBwAMzUU6lAGAME7nMVAMkjfR7nTEFNRTMuMTAwq
qqqqqqqqqowg+HAKiQgsH3DQUCQZkKgVGHjIXCIasUgsNmQeFASDPFQKjBoHRWRTLySPRfUkIkDIm8IQclw
+FJLFpOjEEOi+eiokB8DcDA/
nBJCYJSaZiQO5YXlYQUachENxgtkUfkSQglx9s0H4sqymJxXcYNx9LThSE8qRtmg/
Fl8picV4mDcfS04UhPKkbZoPxZXlMTjt04Nx9PmBOE0qKjsYB8WTsTxoJa04GYelpINQ1khcdjAPiynGQcI
0JAHQZaODQ2gREYcEzJ0ZGEaEgFxK0WGhtAiIw4GgUtBtQblmtwAqO4C9zE42hCUB7TuI3NMdBTIgsYYmwQ
LWLuOwTioyTEeBHcAQNZQOQbaA5HJZnkFsjGALM0GAZyNQHic0GiIVsQ5BEjSk4AKUguR0OaYAy5UwDamZR
xGTrB8TqQ1PAtiTIUoY2m4g+QjkEdAXjUkCuKlQpQAvAxyjgd4DdNIgIkhYIXjlgZA1nCQD6gG05qNEQbQd
uFZmhAPGTpA7jok1wBFSTAWoaVgbhSsHtOpjY8C0KmRDUzMaxYNAS46FN7jBMdsKUMrzYAbWGtO4jc0xyGL
jNzFA2jEyB7jsE4qMkxHYgsYYmogecXaA3HJZngILli4AkaThIB9wHic0GiIVsQ4AszQgHjI2guR0Oa3A//
7skT3D8AAAGkAAAAI2Kz2QSWJvgAAAaQAAAAlkrSXAYwHOCo5kEUM6wVwruD4nUhqeCaCuAbUyMA3yNATI7
DNrABURZC1jG82AG1h8TuI3NMMgvgQ3MDjaMXQJyPATioxTCmRTABiaiB5xeIDkHdsYXzqTEFNRTMuMTAwq
qobAAEYwIgjiWOASCkniKTzcDgNAnCcaiYTh0NBHEsQCQQT8xHdBEQSBDJZCPDIdEARzMQCQJ5+YjujEQwE
MzEw0JQ6IhHMwkMBNNyqO5oKCuNINkgYlADhuKy4Jwkna8EzMUFgeQ/
XBQsBA8FZbHoWLQrfAmfigsEEXrgocAgsFZuQhYcgbuBN8ODQgi9MBigEHA7NxOFiUDdwJvhwgCeL0IDEgQ
iDtBIAwQwNyBN4ODUhjNIBiQIOh2bEAYJwN0AnYOCyPYzOAouBBkOy0PA2OwroBNoOCyPY3OAofAgyHZaHg
oHYM/
SZBaASYeUYDjzQbI4gIGnCKZBmSnAZTD4gRUBhHSGciS5nMpMyHJkhVAQ4YKZiodDMdWAzmKxgxIY0VMZxI
vmcyG5yiRYMNAd4LTODSVBmOsQ0kIhgRIckRoM4CAJnMiudHi0DLQO8FKm5Iyw5REAjWZu50KEQMsCKwgyA
UBQZsO0Y4gDBmJZWY10QJA1QOMIBmYKqRrEj+YkpRgxYQULkM4E3TUFIg3yHiGGwKsCInBIqI7qLvm6YsMx
XB0QLA4mERTskuocYBwDHYSEDDgZpfYBWSrMx0rwItA0EmAyi8oCqkYZyJgAFSEQISCkhcAGsmWZipjgBaQ
IFQDlBYIGqkoaRJCGFSUQESEFCoP/
7skT6DwAAAGkAAAAI5yz2RTGMbgAAAaQAAAAlcjSXlYwHOAVZKc0DR7MC1CQCgIMDBgqqLxpAlQYVKvACww
IJEDrEATQFI8xJVAYVBwgIMIiOgAUkZDGhWMwLL8gUgRIYCBooczElXBjUgcAChEVMt/
ZVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
QgEcKxHEsQxzAcEyeOg6CIJA4DgSCQWB/
HcSxLHMcyWZlssEwmCQOA4EgwLBbLZPJZLK5LMz8sFgmEgqFQqGCg3LZmSyuVzs/
Vmh4dLnzkSSTVaJJie0OiUZD4TyeSyuVzMzJ5bHQSCQVCoSCYTB8HcSyWSyWSyeTx3EQSCQOBIJBMHQdBHE
scxzJYlk8dx3EQSBAHAcBIEgdB0EcQxDHMcxLEcRx3EQQBAHAQBIEQRB0A+DcQxDEMSxHEcKwOA0EAQBABo
IgUBQB8G4ThOIYNxHCsKwOA0CQJBABoFAUBQB8EwnCcQwbhWFYVgcBAJAkBoDQKBj0AAloBwHgJAKAUAoEg
JAdAaA0CICQEkpJyQUuRLiXE6IMSolRBh6iEktISQkgpKSUkFHpIUP4hRCiDEqJUQYeohI4Rwj0kFG6Pkgo
9JChxDiHqIMN4fRBh6iEi4lxLCOkYo9I3RyjuJUXIsRJiTEKJUQogpBRujdIKQklo/
SEk6IMPolRBiFEuJcQonJBSUkpIKTklpLSEk6IMSolRKidEuJcQonJBSUkpJSTklpYSWlyLcSolRbidFyLE
S4uJbSUk9LaaJcTJLiaRbif/
7skThD0AAAGkAAAAI9iz2YTEsIAAAAaQAAAAkb7PZFMe9uFE+L8aRlGUZRoltL6X0vpomScJknUaRfi/
F+NI6jiMouJOSUj5JSW0uJYSwlyJ0SonxPi3FyL0WIyS2k9J6T0tpknCcJlGkX4uxvF+Oo69pTEFNRTMuMT
AwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYCAAZwsuLSIWIIy36bRZSHSyC4C4aEaDBbxWUsvAxnOi2ACC
UEGy16qRZSEllFQF1xYaHAtYskChe8supMuoJASXLRrBAQDeFlEzC94kNJwtAtEChbcs+l2XsDgJTlm2BAg
DJCziQChpf9hwMAywvGgenuJDUOL+NZLntfRQBxE0gIBloJCrGXADgJlg46coFCyYEAT4Lrhw03AcRL4CAX
6CQprl1AwCqYOOoCBQsWBgEcEE4YNWQFATGAgmOg0KOaGAQRWUFDUFBI1xhQCGiGYQdbQKAnUCBLcCoS+aV
AQRZIGGnSCRqjCgC+CaYOOsEBgJrAwSkC55dtNAHEWiBhp8g0afZcwt4quCjq3FmEugYJJAvOWvWABRFylm
0zQqNHNAQWsWWCjrDFmEmgoJHBCeWvYQCiLFLTpQhcaG6EwtA0cFHYlmgTwpIojCUOIgkAJiYIw/
CKJJKEIewlJ4ij6ThCJIgjwExMEoXE0GpWCYrhKTxJFpOBsVQlKgTEwShcTQalYJiuEpPEkWk4GxyEpUCYs
B0Ry2GJiA4uAqsBdALAyMgpTk4QUwdH48jA6D49EJKHJ4PQ3OQ9PhBaDo/
HkbHQfLRChDk0HobpQ9XCDAHRuQRi0HzohXDk0If/
7sETujzAAAGkAAAAJR0z2BWMYbgAAAaQAAAAjkbPZAMYxuQyhD2wg0DpBIIxgD7hC8UoAnDJsPfEGoqNhPF
rAfYITwpNSALl4U1EFaKi0QxasCqwhLhSWSALl4UrRBWiotD2LVAVLhCOhSWR4FysNqUpMQU1FMy4xMDCqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVWVVkVGlBGDKMGIJWiFQAGEKGoBlAFMxEC6yqoL
JAIAxItMDvOSDTEGWIFhVBgCHOEoA6hnCADCNY6oGHAQhJodcFTMwgKcUUMLBJgMUWcGUA0DKMCIGViqgQU
FGHohFwNMyEBKRxQiSBSA5JFIHUATDKMdIFhmVAZUXGC0HE5hWIIDDwSwwDEnC2AN8zSHGDDQqYDBFpDWAd
szCAqSFoyoGHBRhqItsFUMowsAqCGBl7i+JEIaIEDLSBcJUGMgLqoDiYIscIAWzEACUQoECiCElawzACmYD
BVY40LoAAQxxNQI2AoGE4WUKsCiQEIOaRXCMGkIAMIViJYVMAgiThqgOuZgAVIooQqBhwMYaiLXBVDOMCIG
VhZYJICij0hKgGuZBAlI4oKqAhQcoiiHXA1DGUGIIVhRIFEEJKJBlAFMxECqyogGoAAwxRRAIuaAGE4WUSJ
BCTCAOaRXB1DOEAGUD198IAALGBcIBGWQ0eHxI2uIBlFbxwTsKCMPIZOHxI2uIA+RReLCdhQRh4hk4XEja4
gD5ErosJ2FBGHiFbBOFAuKGhSCQEiU4IwoR4iDLYrKMrojJOoYFBdpRCaJFzYrKMo0RkToEAoG0SBU0OI0Y
XGE//
uyROoPAAAAaQAAAAlkzRYJYxhuAAABpAAAACL6s9mUYyQALaxkfQIAoNomFTQ4jRhcYQtrGR9AgCg2iYVND
iNGFxAhbWMj5IgCgjLOVNDhOjC4gKvWMj5JAKCMs5U0OE8wuICr1jI+SQCgjLMqmhwNTRVMQU1FMy4xMDBV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVHcGABQWDiSAFYUWGAObAZkD
MOiwTIHXA1RGoIGclgnACedUACoKgeRAy4Cgc0ATJbQBRBqC34KyF1FowFEGsLZgKQISXEB2gostIBpAxpc
ADRAqC24RkGqLZgqIJYWrBUgAkuQEaBCyzgOkBGhQAOiATI6kQTigZaLkM8B24sI2RFSEVjcMkQLbMiQLgw
AOpAJkDAO5jFUDIAcgJcAjOQwDgsmdimWgCOB4g1RdQFSBjS/
gKsAEl3AzQIWW7B0QSwveDqmFBf8MyBVBYARICNQEA6RgSXsDtARYhCGRArC+4RExoLziWQCgRCDnABoiAG
SMSS+gtYwJFRiTQCoVCHRMqBUI1UwoGCCzjAscEJSMhxgBFYxHHSjzTCohGLNM5h0ZNUxmIDETjEskINOMx
yQRWkyFKpyhJjQWCjzTSYsFJoGUhVQULMiSUxEo0FJSEUzMMgSRIMqCA5Qk0kHCjSL0kTQiqyioWkgEADiw
cLGlgMmT4ICILYgQIcHB00SwsBk4BARBIwIABCwcHTRPCwGTgEBEEkAYDCBcRhc2hbC5eBwgPHnCQgSs6jP
4AwGTSKIBCGgAAEESwsLTwmDk6KIBCGkAQhJZM//
uyROQPAAAAaQAAAAlhrPXlYxhuQAABpAAAACLZM5skZJtIenhMHJ0ICAhBMAAAhIsLC00AGAyZwgICEEwAA
CBosLC7QAYDTOEBARCYAACBosLC7QAYOmUCBARiYABECwcLH6QAYPZQIEDMJgAEwsHCx55MQU1FMy4xMDCq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqovcaxBxlphQpiSYAtNL3GIpoCJBXwDSGNACE2xc0x
kNIEDltggpiSWReUKgMhTQFGlRIEmMZizUHgwJlIApJBKogQ5kOWhigNEZDgJqcKbwFMZTFto2CBmUwCcq5
MkAHMhS4sAAkhkOCkwOXSBUhKSFZKMLNC6EbnMLohDRpKViBAykLeskEIDGYxiTqYCYAmYpb5l4WCYkmIau
VbjCAziL4s4C4jGgxgWsnKYgmYaA5h4UGYkmALBUvjGAzgQpYAFSGNACE05E0yBMwUkl5gwpiSWRdVCUZQA
JyXK2AaQxoLNQou6ZAgJqklZwQcxJLSyAu8ZwAZyrU/
gSYxmLbU5bEzBAzVxJ2gQ5iOXJmC0xnAClLgSWAqDGYvFHSzJmCDkr/
Q4gRJiOgFfYskaQA5TJEGgCgxmQecEBBNAQhLBxQIASYCpEsqAQh6VvNQEw2TrCAAgIMNhgMCRCIwDgmjYD
YJidEIACAggmGAQEjIjAcE0cBWCYnaGAEBBBooBAMMlwHBMV4KwTDZooAgICjigMBgkiRgmGzaYXFZPIgFA
oEhoYAQEEEw2BsTmRsBwTJ4CgDAYPlAEBAUTFYGw2eLgOCYroUAYDB8oFAQFFisEwLMHQuCY//
uyROqP8AAAaQAAAAlNDQXgYxhuQAABpAAAACNgM5pAlKW4r0UAgBBs4FAQFGCsEwLHDoXBMV6QAgBA+kFAQ
FECMEwLEioXBMNtkAIAQJ1goCAIMEYJgWJFRGCYJtoAQAwJ1hACAIIFwTA2JIiMEwTRqCSEEBIAHsJRFA6B
HRyAsB4ilwDwHhCsOIFQRIycRQOkFgm8MItyVeIcXIgzEbowR6TyfoaXE0XqmJ8W5GvFEXI0mJSk9Lajj8m
gdBqclYOgSH1QSDIIgqOBFBUhG5LMRaIqcnCMCIgxCcIQVD9IigkITwniCFI+8JQNRBdLg5BULrE0GwhHxf
HEKQ9dJwNQlPS4OQVB88TQbBMfF8cQpD1aZA1CUxOB6CoPj49EIJjI7HkKQ9PT4QQlMTgegbB8fHohBMSjs
eQah6TXhBCUknhCBsFROdEIJhKPyCDUKSa8JISiSeEIGwVE7hKCYQlZTBqFIi3m+CaEAGtOdMLSAbE32wZI
TSHIwCfhOjkUEcoK2N5wLyj1ZxthRwO5OVcU2BbJ33hTQSoOJwQuiXxxMEsYd0bjwzCGXnC6KND4JwtksQ1
6bcJBAEYG88Otk4xwNDEJF8bURUfBW5uvlhgnEN90RwE4BsyjLgC4NyAcNBW4EgMQ02UTOgAwp0jmG2aZwC
wBsJgiGkYY7IcEcjQrILcm7CKQE2hxujDg+KcLogjIvjciHXxrs4niV0nGN5wKxFHhtxlR4S4OF8haJyDff
BEI+GbUhA6GfnBAMMjZZuPAF4XANmUZaB4BvwiFgTMNuEwHw0c1phEyCwzcgCi4aebEBiuBIhqzhdYBiG3G
CVAl//
uyRP+PUAAAaQAAAAjzbOZYMeyIAAABpAAAACYttBaBnGUBA14TGbBY5pUAxU4wTYiAiYLTNSAy2AGIadIJS
OIQ14zBQA6BpxmYucYZoUABE5RzUiMQ86QTQiM9Q5BDPpMEw5CDTjMcw6AjNjNBM5STKoMQs5TTQiMos6RT
KiNVA4ijJpMcg5DjPjM0g6CDJjNY84zTGoMgU5UTMiM4UfPn8546HBNEhBYPuGiAJCWiIQh54yRhEm5CIht
kaIB4l5EISjQyRjpNopERdkaIB4lwVCEo0MkY6TaKREXQjRAJg2BANoBCAYAopFYYAsSLiIKnzoPDbCQ+ER
M44Dow2uOBISvOgcNsKD4REzBwDxh644DQlbOgcXcoPgyTMHA+QPXHBMZbD4eI2VB8SmlA8HyBpccExlcPh
4jZQD4lNKB4bQNIxY
TMph8YRoUAuJWkhobQIkYsJmUxkYRqoBcStLDQ2wsjFhMMWgQ80PVTXcMaMZoBMpsWHWuBxAk05yjcZMuIQ
UhSYy3TYMOMEPOOYk31jOjCtAhnMh41zzgCFyTnGOBU0YAZOKUGLCaiRwjj5R0CnGkaT4FmHaTCiNNU3iCk
k6QDiRNV4wJypQYMZoLG+aRjgNE5TjWdMOYgpAkhmsm4cLgD6wG1NsY1lTFcJIwJEZLplhk3AO6NwU1TDEV
HWga6MTGA8aqYG8FyjmHOFQ1HwDEMzgWE1FDfBIyTnCOJM13DCjIJgREaa5uBFI5zAnGgbDpixEk4VjNBg2
xx8QDnHIebbRkRjMwgkM9s2ihMcFmnKYbjJlwCKcVlMxw2TQ0AJOOYs31jOhC8w5MZL5rH//
uyROePcAAAaQAAAAjFTPZQJSluAAABpAAAACZANJaVjOQAA8MPNOcY4FTReBk5YnMaA1UQV4LnHQKcahpPg
WQhmMWM0lAF+RmnSEcSZquACUUpMCI0VzcCKSwGicpxrNmHIIaADKZzBtij5AHSOY02WjGjClIImM1s2iBc
sHonOUbTJkxA2gKzmU4bJYeIGpHMSbqxlQgSkQUGO+axwSOJonSMDuZZhazqHEBgWTBAQSmRCx4QQByMswi
JHE6MgQHW0JO8kQEaM4wiJHE6MgQHW0JO8kQEaM4wiJHE6MgQHW1SdwwuHxUoOngw2NpHCFeYXXGGCpuQYg
FGBtssYiG5heYwwVNyDEApAbbLGFQ3MLzEDB02sGMCkBG84YTDfC+iBx02kGOFMEbzhhMN8L6IHHTaQY4Ui
I2ihhcT8LyEDJc+oJNCkRG0UPLieAXkIGS59QSTCliNooeXE5nwLqN1xeIF0eTDkzxcRGPGRpB1sNuAGzsM
ZoebDKTzgWOdLkaTDo7gEVzxUgUeMhwDvYrmZNgNohsd5FVp5wXTPFyMhn0B3BTJ2mSuPF0AB5sNjNHQekG
6O8ByJ5sXfPVxLhr4EqBGzo8VkeLhQxxYz82iwcwZKw9EFoTDOBg5pFsaNcQHHmMiVlGi4VqMfDmIETPESU
h/gCjnLZFMxfOAQLQ8uGCn6JZg66GmGXwDEALnhoqY/
uLLnTIk8zfBXTDY7qECT88EAO+AxBp8DtGLJ2SFVH9gVGdrhBzR8MyZcHcwMafliAh5sCgGvwdYzbOhQKw/
qEZzxUs2bPi0TTo5iADz8kYQeZFlDbwekatnIJhgfzEq//
uyROQP8AAAaQAAAAiyLOaAGSluAAABpAAAACWaNJbBjOOAz1EGjN3Shpt4AxGKJ8KSsPcAoQ48IlmzoHCZ5
H0Q409PC5zh0aIb+ArxomfAirj2wQIOehIZw6EZNdAHYQRPSxVZy2XQOPAyxsqA6lqt9nb1TEFNRTMuMTAw
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVFZAA2Gw2KwuFwuKycSCQMCgKCAgFBIJxOKxWIxGRisnJCQUCggICBAYJxOGwuFxGFxWTiQSBgKCAQC
AUGB8TisLiMRkZObHCQiRNkIIhWKEERSSwIgsKgYDYbC4jEYrFYbE4EAgFBAIAoGAwJA2KyMjIyMnJxOGBQ
QCAgFAoEgkDYrC4jIxWKw2JwwKAoIBAKBQGBIGwuFwuFxWGw2GwwFAoFAoKAwGAwGwTC4XC4rDYbDYIAgFA
oFAwGAwGATBMLhcLgmGw2GwQBAKBQKAgGAIDAGwTAcLhcEw2BYFgYBABAoCAIBgIwACWgHAeAkAoBQCgSAk
B0BoDQIgJASSknJBS5EuJcTogxKiVEGHqISS0hJCSCkpJSQUekhQ/
iFEKIMSolRBh6iEjhHCPSQUbo+SCj0kKHEOIeogw3h9EGHqISLiXEsI6Rij0jdHKO4lRcixEmJMQolRCiCk
FG6N0gpCSWj9ISTogw+iVEGIUS4lxCickFJSSkgpOSWktISTogxKiVEqJ0S4lxCickFJSSklJOSWlhJaXIt
xKiVFuJ0XIsRLi4ltJST0tpolxMkuJpFuJ//
uyRNmPQAAAaQAAAAjnLOaCJSluAAABpAAAACRvs9kUx724UT4vxpGUZRlGiW0vpfS+miZJwmSdRpF+L8X40
jqOIyi4k5JSPklJbS4lhLCXInRKifE+LcXIvRYjJLaT0npPS2mScJwmUaRfi7G8X46jr2lMQU1FMy4xMDBV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUG+ogcglA/
wjY9gUjKCoLQI+I2IoEYIyCnVQKsrwvBGBFwjZRApFkHIUgX4gYugNwoQU6XBzjzC8C4GWDfLsCkSgOQeAc
YSsaANwnoF88wj4tYcASgbIKsvwFw4AbAvCYiFmkDAOgJGIGSMLsmQhCGhVnWLgDEH0CkMkE2ScLwNAd4Mc
fIF84gTBJAvwlY7ATg3gLhigmxjhwBBCBgnyCgXzWBMDEDjCDkYBOD1AXDaBhixiuBBCzBPkJAvleEMDoFf
BjlUCcHECYKQIeHOK4DEKEDGP0E2TcKgOQYYMcuwKgfwJgmgVYc5IAThPQVY6QTY6wqAwCRgnyfAqB1AwBi
BnhGyYAnC2gqx4gwxjiOBGDDBPluBUDOBgCwCfg3zABOE5BzjVCBh1ieA3DPAxly2gTwpIojCUOIgkAJiYI
w/
CKJJKEIewlJ4ij6ThCJIgjwExMEoXE0GpWCYrhKTxJFpOBsVQlKgTEwShcTQalYJiuEpPEkWk4GxyEpUCYs
B0Ry2GJiA4uAqsBdALAyMgpTk4QUwdH48jA6D49EJKHJ4PQ3OQ9PhBaDo/
HkbHQfLRChDk0HobpQ9XCDAHRuQRi0HzohXDk0//
uyROMP8AAAaQAAAAkxTPYgPe9uAAABpAAAACORs9kAxjG5IQyhD2wg0DpBIIxgD7hC8UoAnDJsPfEGoqNhP
FrAfYITwpNSALl4U1EFaKi0QxasCqwhLhSWSALl4UrRBWiotD2LVAVLhCOhSWR4FysNqUpMQU1FMy4xMDCq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVWVVkVGlBGDKMG
IJWiFQAGEKGoBlAFMxEC6yqoLJAIAxItMDvOSDTEGWIFhVBgCHOEoA6hnCADCNY6oGHAQhJodcFTMwgKcUU
MLBJgMUWcGUA0DKMCIGViqgQUFGHohFwNMyEBKRxQiSBSA5JFIHUATDKMdIFhmVAZUXGC0HE5hWIIDDwSww
DEnC2AN8zSHGDDQqYDBFpDWAdszCAqSFoyoGHBRhqItsFUMowsAqCGBl7i+JEIaIEDLSBcJUGMgLqoDiYIs
cIAWzEACUQoECiCElawzACmYDBVY40LoAAQxxNQI2AoGE4WUKsCiQEIOaRXCMGkIAMIViJYVMAgiThqgOuZ
gAVIooQqBhwMYaiLXBVDOMCIGVhZYJICij0hKgGuZBAlI4oKqAhQcoiiHXA1DGUGIIVhRIFEEJKJBlAFMxE
CqyogGoAAwxRRAIuaAGE4WUSJBCTCAOaRXB1DOEAGUD198BAAPME+KFyytONmJrlBkit5g2woXOK04+YbXK
HVo6eNsKFzissPjja5Q6tHTw+woXDxWWE5ARkEiENCUSpEZAjxEKWwGIRPODDzEAALSMNHDD0wGIRPOGjzE
AALS//
uyROEPAAAAaQAAAAlkzRYJYxhuAAABpAAAACK1M9nUkyfQg0cMJpgMQRs4aPIIAAWdBo4YTTAYg2zho8ggK
C60FTQ4jbFYwrNYyPoICgbWxU0OI5isYV1YyPkkBQNlsVNDhPMVjBXVjI+YgQDZaNmhwm1MQU1FMy4xMDCq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqHcGABQWDiSAFYUWGAObAZkD
MOiwTIHXA1RGoIGclgnACedUACoKgeRAy4Cgc0ATJbQBRBqC34KyF1FowFEGsLZgKQISXEB2gostIBpAxpc
ADRAqC24RkGqLZgqIJYWrBUgAkuQEaBCyzgOkBGhQAOiATI6kQTigZaLkM8B24sI2RFSEVjcMkQLbMiQLgw
AOpAJkDAO5jFUDIAcgJcAjOQwDgsmdimWgCOB4g1RdQFSBjS/
gKsAEl3AzQIWW7B0QSwveDqmFBf8MyBVBYARICNQEA6RgSXsDtARYhCGRArC+4RExoLziWQCgRCDnABoiAG
SMSS+gtYwJFRiTQCoVCHRMqBUI1UwoGCCzjAscEJSMhxgBFYxHHSjzTCohGLNM5h0ZNUxmIDETjEskINOMx
yQRWkyFKpyhJjQWCjzTSYsFJoGUhVQULMiSUxEo0FJSEUzMMgSRIMqCA5Qk0kHCjSL0kTQiqyioWkgEADiw
cLGlgMmT4ICILYgQIcHB00SwsBk4BARBIwIABCwcHTRPCwGTgEBEEkAYDCBcRhc2hbC5eBwgPHnCQgSs6jP
4AwGTSKIBCGgAAEESwsLTwmDk6KIBCGkAQhJZM//
uyROQPAAAAaQAAAAlhrPXlYxhuQAABpAAAACLZM5skZJtIenhMHJ0ICAhBMAAAhIsLC00AGAyZwgICEEwAA
CBosLC7QAYDTOEBARCYAACBosLC7QAYOmUCBARiYABECwcLH6QAYPZQIEDMJgAEwsHCx59MQU1FMy4xMDBV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFUAI9AJRfppYWCAClpXFQyAATcUOSzAKgAIj
KJmwMGAQAZSXTCwIs0NMQ29L3GAIGSmap0AVGlhjA94IKaVAYyklsgwZgGXhihbowBBRVmrKBIjCJAFGy3J
hACjLeUNBAzAFFGIA0BgGDgwOhUEKFlJrodxAkQkTSexAaGFGgq4TaMIEFWmITgCIskrppJaUxBQ2a+gJAA
yyLBWBFpgEZDVnBeYAiLNMuXKWZARUrmtlzQAMtK01TIs0AjJqtIC4ACItM6ygIGCBip9MzCgQAMtrAqQwG
EBjK9YQFQAERcqRJCgYIKKs5R8KDAAy8NEhKAwgUZiqjwNEARIBqdAKBig4LHlUQYMADQdmEAwGMDhNQUWB
ogCJFaOlyQMUICzdMkEFAA0iYaLlAYwYJpiMwJIAQJjOyW1AyQwLL0ZQQUABUFcItsPKt7UBMNk6wgAICDD
YYDAkQiMA4Jo2A2CYnRCAAgIIJhgEBIyIwHBNHAVgmJ2hgBAQQaKAQDDJcBwTFeCsEw2aKAICAo4oDAYJIk
YJhs2mFxWTyIBQKBIaGAEBBBMNgbE5kbAcEyeAoAwGD5QBAQFExWBsNni4DgmK6FAGAwfKBQEBRYrBMCzB0
LgmK//
uyROkPEAAAaQAAAAlJjQX1YxhuQAABpAAAACNgM5pAlKW49FAIAQbOBQEBRgrBMCxw6FwTFekAIAQPpBQEB
RAjBMCxIqFwTDbZACAECdYKAgCDBGCYFiRURgmCbaAEAMCdYQAgCCBcEwNiSIjBME0agkWEEBIAHsJRFA6B
HRyAsB4ilwDwHhCsOIFQRIycRQOkFgm8MItyVeIcXIgzEbowR6TyfoaXE0XqmJ8W5GvFEXI0mJSk9Lajj8m
gdBqclYOgSH1QSDIIgqOBFBUhG5LMRaIqcnCMCIgxCcIQVD9IigkITwniCFI+8JQNRBdLg5BULrE0GwhHxf
HEKQ9dJwNQlPS4OQVB88TQbBMfF8cQpD1aZA1CUxOB6CoPj49EIJjI7HkKQ9PT4QQlMTgegbB8fHohBMSjs
eQah6TXhBCUknhCBsFROdEIJhKPyCDUKSa8JISiSeEIGwVE7hKCYQlZTBqFIi3m+CaEAGtOdMLSAbE32wZI
TSHIwCfhOjkUEcoK2N5wLyj1ZxthRwO5OVcU2BbJ33hTQSoOJwQuiXxxMEsYd0bjwzCGXnC6KND4JwtksQ1
6bcJBAEYG88Otk4xwNDEJF8bURUfBW5uvlhgnEN90RwE4BsyjLgC4NyAcNBW4EgMQ02UTOgAwp0jmG2aZwC
wBsJgiGkYY7IcEcjQrILcm7CKQE2hxujDg+KcLogjIvjciHXxrs4niV0nGN5wKxFHhtxlR4S4OF8haJyDff
BEI+GbUhA6GfnBAMMjZZuPAF4XANmUZaB4BvwiFgTMNuEwHw0c1phEyCwzcgCi4aebEBiuBIhqzhdYBiG3G
CVAl//
uyRP+PUAAAaQAAAAjzbOZYMeyIAAABpAAAACYttBaBnGUBA14TGbBY5pUAxU4wTYiAiYLTNSAy2AGIadIJS
OIQ14zBQA6BpxmYucYZoUABE5RzUiMQ86QTQiM9Q5BDPpMEw5CDTjMcw6AjNjNBM5STKoMQs5TTQiMos6RT
KiNVA4ijJpMcg5DjPjM0g6CDJjNY84zTGoMgU5UTMiM4UfPn8506HBNEhBYPuGiAJCWiIQh54yRhEm5CIht
kaIB4l5EISjQyRjpNopERdkaIB4lwVCEo0MkY6TaKREXQjRAJg2BANoBCAYAopFYYAsSLiIKnzoPDbCQ+ER
M44Dow2uOBISvOgcNsKD4REzBwDxh644DQlbOgcXcoPgyTMHA+QPXHBMZbD4eI2VB8SmlA8HyBpccExlcPh
4jZQD4lNKB4bQNIxYTMph8YRoUAuJWkhobQIkYsJmUxkYRqoBcStLDQ2wsjFhMMWgQ80PVTXcMaMZoBMpsW
HWuBxAk05yjcZMuIQUhSYy3TYMOMEPOOYk31jOjCtAhnMh41zzgCFyTnGOBU0YAZOKUGLCaiRwjj5R0CnGk
aT4FmHaTCiNNU3iCkk6QDiRNV4wJypQYMZoLG+aRjgNE5TjWdMOYgpAkhmsm4cLgD6wG1NsY1lTFcJIwJEZ
Lplhk3AO6NwU1TDEVHWga6MTGA8aqYG8FyjmHOFQ1HwDEMzgWE1FDfBIyTnCOJM13DCjIJgREaa5uBFI5zA
nGgbDpixEk4VjNBg2xx8QDnHIebbRkRjMwgkM9s2ihMcFmnKYbjJlwCKcVlMxw2TQ0AJOOYs31jOhC8w5MZ
L5rH//
uyROePcAAAaQAAAAjFTPZQJSluAAABpAAAACZANJaVjOQAA8MPNOcY4FTReBk5YnMaA1UQV4LnHQKcahpPg
WQhmMWM0lAF+RmnSEcSZquACUUpMCI0VzcCKSwGicpxrNmHIIaADKZzBtij5AHSOY02WjGjClIImM1s2iBc
sHonOUbTJkxA2gKzmU4bJYeIGpHMSbqxlQgSkQUGO+axwSOJonSMDuZZhazVHEBgWTBAQSmRCx4QQByMswi
JHE6MgQHW0JO8kQEaM4wiJHE6MgQHW0JO8kQEaM4wiJHE6MgQHW1SdwwuHxUoOngw2NpHCFeYXXGGCpuQYg
FGBtssYiG5heYwwVNyDEApAbbLGFQ3MLzEDB02sGMCkBG84YTDfC+iBx02kGOFMEbzhhMN8L6IHHTaQY4Ui
I2ihhcT8LyEDJc+oJNCkRG0UPLieAXkIGS59QSTCliNooeXE5nwLqN1xeIF0eTDkzxcRGPGRpB1sNuAGzsM
ZoebDKTzgWOdLkaTDo7gEVzxUgUeMhwDvYrmZNgNohsd5FVp5wXTPFyMhn0B3BTJ2mSuPF0AB5sNjNHQekG
6O8ByJ5sXfPVxLhr4EqBGzo8VkeLhQxxYz82iwcwZKw9EFoTDOBg5pFsaNcQHHmMiVlGi4VqMfDmIETPESU
h/gCjnLZFMxfOAQLQ8uGCn6JZg66GmGXwDEALnhoqY/
uLLnTIk8zfBXTDY7qECT88EAO+AxBp8DtGLJ2SFVH9gVGdrhBzR8MyZcHcwMafliAh5sCgGvwdYzbOhQKw/
qEZzxUs2bPi0TTo5iADz8kYQeZFlDbwekatnIJhgfzEq//
uyROQP8AAAaQAAAAiyLOaAGSluAAABpAAAACWaNJbBjOOAz1EGjN3Shpt4AxGKJ8KSsPcAoQ48IlmzoHCZ5
H0Q409PC5zh0aIb+ArxomfAirj2wQIOehIZw6EZNdAHYQRPSxVZy2XQOPAyxsqA6lqt9nbyTEFNRTMuMTAw
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqFZAA2Gw2KwuFwuKycSCQMCgKCAgFBIJxOKxWIxGRisnJCQUCggICBAYJxOGwuFxGFxWTiQSBgKCAQC
AUGB8TisLiMRkZObHCQiRNkIIhWKEERSSwIgsKgYDYbC4jEYrFYbE4EAgFBAIAoGAwJA2KyMjIyMnJxOGBQ
QCAgFAoEgkDYrC4jIxWKw2JwwKAoIBAKBQGBIGwuFwuFxWGw2GwwFAoFAoKAwGAwGwTC4XC4rDYbDYIAgFA
oFAwGAwGATBMLhcLgmGw2GwQBAKBQKAgGAIDAGwTAcLhcEw2BYFgYBABAoCAIBgIwACWgHAeAkAoBQCgSAk
B0BoDQIgJASSknJBS5EuJcTogxKiVEGHqISS0hJCSCkpJSQUekhQ/
iFEKIMSolRBh6iEjhHCPSQUbo+SCj0kKHEOIeogw3h9EGHqISLiXEsI6Rij0jdHKO4lRcixEmJMQolRCiCk
FG6N0gpCSWj9ISTogw+iVEGIUS4lxCickFJSSkgpOSWktISTogxKiVEqJ0S4lxCickFJSSklJOSWlhJaXIt
xKiVFuJ0XIsRLi4ltJST0tpolxMkuJpFuJ//
uyRNmPQAAAaQAAAAjnLOaCJSluAAABpAAAACRvs9kUx724UT4vxpGUZRlGiW0vpfS+miZJwmSdRpF+L8X40
jqOIyi4k5JSPklJbS4lhLCXInRKifE+LcXIvRYjJLaT0npPS2mScJwmUaRfi7G8X46jr2lMQU1FMy4xMDCq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgb6iByCUD/
CNj2BSMoKgtAj4jYigRgjIKdVAqyvC8EYEXCNlECkWQchSBfiBi6A3ChBTpcHOPMLwLgZYN8uwKRKA5B4Bx
hKxoA3CegXzzCPi1hwBKBsgqy/
AXDgBsC8JiIWaQMA6AkYgZIwuyZCEIaFWdYuAMQfQKQyQTZJwvA0B3gxx8gXziBMEkC/
CVjsBODeAuGKCbGOHAEEIGCfIKBfNYEwMQOMIORgE4PUBcNoGGLGK4EELME+QkC+V4QwOgV8GOVQJwcQJgp
Ah4c4rgMQoQMY/QTZNwqA5Bhgxy7AqB/
AmCaBVhzkgBOE9BVjpBNjrCoDAJGCfJ8CoHUDAGIGeEbJgCcLaCrHiDDGOI4EYMME+W4FQM4GALAJ+DfMAE
4TkHONUIGHWJ4DcM8DGXLaBPCkiiMJQ4iCQAmJgjD8IokkoQh7CUniKPpOEIkiCPATEwShcTQalYJiuEpPE
kWk4GxVCUqBMTBKFxNBqVgmK4Sk8SRaTgbHISlQJiwHRHLYYmIDi4CqwF0AsDIyClOThBTB0fjyMDoPj0Qk
ocng9Dc5D0+EFoOj8eRsdB8tEKEOTQehulD1cIMAdG5BGLQfOiFcOTQh//
uwROOP8AAAaQAAAAkxTPYgPe9uAAABpAAAACORs9kAxjG5DKEPbCDQOkEgjGAPuELxSgCcMmw98Qaio2E8W
sB9ghPCk1IAuXhTUQVoqLRDFqwKrCEuFJZIAuXhStEFaKi0PYtUBUuEI6FJZHgXKw2pTUxBTUUzLjEwMFVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZVWRUaUEYMowYg
laIVAAYQoagGUAUzEQLrKqgskAgDEi0wO85INMQZYgWFUGAIc4SgDqGcIAMI1jqgYcBCEmh1wVMzCApxRQw
sEmAxRZwZQDQMowIgZWKqBBQUYeiEXA0zIQEpHFCJIFIDkkUgdQBMMox0gWGZUBlRcY
LQcTmFYggMPBLDAMScLYA3zNIcYMNCpgMEWkNYB2zMICpIWjKgYcFGGoi2wVQyjCwCoIYGXuL4kQhogQMtI
FwlQYyAuqgOJgixwgBbMQAJRCgQKIISVrDMAKZgMFVjjQugABDHE1AjYCgYThZQqwKJAQg5pFcIwaQgAwhW
IlhUwCCJOGqA65mABUiihCoGHAxhqItcFUM4wIgZWFlgkgKKPSEqAa5kECUjigqoCFByiKIdcDUMZQYghWF
EgUQQkokGUAUzEQKrKiAagADDFFEAi5oAYThZRIkEJMIA5pFcHUM4QAZQPX3wEAA8wT4oXLK042YmuUGSK3
mDbChc4rTj5htcodWjp42woXOKyw+ONrlDq0dPD7ChcPFZYTkBGQSIQ0JRKkRkCPEQpbAYhE84MPMQAAtIw
0cMPTAYhE84aPMQAAtL/
+7JE4Q8AAABpAAAACWTNFgljGG4AAAGkAAAAIrUz2dSTJ9CDRwwmmAxBGzho8ggABZ0GjhhNMBiDbOGjyCA
oLrQVNDiNsVjCs1jI+ggKBtbFTQ4jmKxhXVjI+SQFA2WxU0OE8xWMFdWMj5iBANlo2aHCbUxBTUUzLjEwMF
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUdwYAFBYOJIAVhRYYA5sBmQ
Mw6LBMgdcDVEaggZyWCcAJ51QAKgqB5EDLgKBzQBMltAFEGoLfgrIXUWjAUQawtmApAhJcQHaCiy0gGkDGl
wANECoLbhGQaotmCoglhasFSACS5ARoELLOA6QEaFAA6IBMjqRBOKBlouQzwHbiwjZEVIRWNwyRAtsyJAuD
AA6kAmQMA7mMVQMgByAlwCM5DAOCyZ2KZaAI4HiDVF1AVIGNL+AqwASXcDNAhZbsHRBLC94OqYUF/
wzIFUFgBEgI1AQDpGBJewO0BFiEIZECsL7hETGgvOJZAKBEIOcAGiIAZIxJL6C1jAkVGJNAKhUIdEyoFQjV
TCgYILOMCxwQlIyHGAEVjEcdKPNMKiEYs0zmHRk1TGYgMROMSyQg04zHJBFaTIUqnKEmNBYKPNNJiwUmgZS
FVBQsyJJTESjQUlIRTMwyBJEgyoIDlCTSQcKNIvSRNCKrKKhaSAQAOLBwsaWAyZPggIgtiBAhwcHTRLCwGT
gEBEEjAgAELBwdNE8LAZOAQEQSQBgMIFxGFzaFsLl4HCA8ecJCBKzqM/
gDAZNIogEIaAAAQRLCwtPCYOToogEIaQBCElkz/
+7JE5A8AAABpAAAACWGs9eVjGG5AAAGkAAAAItkzmyRkm0h6eEwcnQgICEEwAACEiwsLTQAYDJnCAgIQTAA
AIGiwsLtABgNM4QEBEJgAAIGiwsLtABg6ZQIEBGJgAEQLBwsfpABg9lAgQMwmAATCwcLHnkxBTUUzLjEwMK
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgVQAj0AlF+mlhYIAKWlcVDIABNxQ5LMAqAAi
MombAwYBABlJdMLAizQ0xDb0vcYAgZKZqnQBUaWGMD3ggppUBjKSWyDBmAZeGKFujAEFFWasoEiMIkAUbLc
mEAKMt5Q0EDMAUUYgDQGAYODA6FQQoWUmuh3ECRCRNJ7EBoYUaCrhNowgQVaYhOAIiySumklpTEFDZr6AkA
DLIsFYEWmARkNWcF5gCIs0y5cpZkBFSua2XNAAy0rTVMizQCMmq0gLgAIi0zrKAgYIGKn0zMKBAAy2sCpDA
YQGMr1hAVAARFypEkKBggoqzlHwoMADLw0SEoDCBRmKqPA0QBEgGp0AoGKDgseVRBgwANB2YQDAYwOE1BRY
GiAIkVo6XJAxQgLN0yQQUADSJhouUBjBgmmIzAkgBAmM7JbUDJDAsvRlBBQAFQVwi2w8q3tQEw2TrCAAgIM
NhgMCRCIwDgmjYDYJidEIACAggmGAQEjIjAcE0cBWCYnaGAEBBBooBAMMlwHBMV4KwTDZooAgICjigMBgki
RgmGzaYXFZPIgFAoEhoYAQEEEw2BsTmRsBwTJ4CgDAYPlAEBAUTFYGw2eLgOCYroUAYDB8oFAQFFisEwLMH
QuCYr/
+7JE6Q8QAABpAAAACUmNBfVjGG5AAAGkAAAAI2AzmkCUpbj0UAgBBs4FAQFGCsEwLHDoXBMV6QAgBA+kFAQ
FECMEwLEioXBMNtkAIAQJ1goCAIMEYJgWJFRGCYJtoAQAwJ1hACAIIFwTA2JIiMEwTRqCSoQQEgAewlEUDo
EdHICwHiKXAPAeEKw4gVBEjJxFA6QWCbwwi3JV4hxciDMRujBHpPJ+hpcTReqYnxbka8URcjSYlKT0tqOPy
aB0GpyVg6BIfVBIMgiCo4EUFSEbksxFoipycIwIiDEJwhBUP0iKCQhPCeIIUj7wlA1EF0uDkFQusTQbCEfF
8cQpD10nA1CU9Lg5BUHzxNBsEx8XxxCkPVpkDUJTE4HoKg+Pj0QgmMjseQpD09PhBCUxOB6BsHx8eiEExKO
x5BqHpNeEEJSSeEIGwVE50QgmEo/
IINQpJrwkhKJJ4QgbBUTuEoJhCVlMGoUiLeb4JoQAa050wtIBsTfbBkhNIcjAJ+E6ORQRygrY3nAvKPVnG2
FHA7k5VxTYFsnfeFNBKg4nBC6JfHEwSxh3RuPDMIZecLoo0PgnC2SxDXptwkEARgbzw62TjHA0MQkXxtRFR
8Fbm6+WGCcQ33RHATgGzKMuALg3IBw0FbgSAxDTZRM6ADCnSOYbZpnALAGwmCIaRhjshwRyNCsgtybsIpAT
aHG6MOD4pwuiCMi+NyIdfGuzieJXScY3nArEUeG3GVHhLg4XyFonIN98EQj4ZtSEDoZ+cEAwyNlm48AXhcA
2ZRloHgG/CIWBMw24TAfDRzWmETILDNyAKLhp5sQGK4EiGrOF1gGIbcYJUCX/+7JE/
49QAABpAAAACPNs5lgx7IgAAAGkAAAAJi20FoGcZQEDXhMZsFjmlQDFTjBNiICJgtM1IDLYAYhp0glI4hDX
jMFADoGnGZi5xhmhQAETlHNSIxDzpBNCIz1DkEM+kwTDkINOMxzDoCM2M0EzlJMqgxCzlNNCIyizpFMqI1U
DiKMmkxyDkOM+MzSDoIMmM1jzjNMagyBTlRMyIzhR8+fznjocE0SEFg+4aIAkJaIhCHnjJGESbkIiG2RogH
iXkQhKNDJGOk2ikRF2RogHiXBUISjQyRjpNopERdCNEAmDYEA2gEIBgCikVhgCxIuIgqfOg8NsJD4REzjgO
jDa44EhK86Bw2woPhETMHAPGHrjgNCVs6Bxdyg+DJMwcD5A9ccExlsPh4jZUHxKaUDwfIGlxwTGVw+HiNlA
PiU0oHhtA0jFhMymHxhGhQC4laSGhtAiRiwmZTGRhGqgFxK0sNDbCyMWEwxaBDzQ9VNdwxoxmgEymxYda4H
ECTTnKNxky4hBSFJjLdNgw4wQ845iTfWM6MK0CGcyHjXPOAIXJOcY4FTRgBk4pQYsJqJHCOPlHQKcaRpPgW
YdpMKI01TeIKSTpAOJE1XjAnKlBgxmgsb5pGOA0TlONZ0w5iCkCSGaybhwuAPrAbU2xjWVMVwkjAkRkumWG
TcA7o3BTVMMRUdaBroxMYDxqpgbwXKOYc4VDUfAMQzOBYTUUN8EjJOcI4kzXcMKMgmBERprm4EUjnMCcaBs
OmLESThWM0GDbHHxAOcch5ttGRGMzCCQz2zaKExwWacphuMmXAIpxWUzHDZNDQAk45izfWM6ELzDkxkvmsf
/
+7JE549wAABpAAAACMVM9lAlKW4AAAGkAAAAJkA0lpWM5AADww805xjgVNF4GTlicxoDVRBXgucdApxqGk+
BZCGYxYzSUAX5GadIRxJmq4AJRSkwIjRXNwIpLAaJynGs2YcghoAMpnMG2KPkAdI5jTZaMaMKUgiYzWzaIF
yweic5RtMmTEDaArOZThslh4gakcxJurGVCBKRBQY75rHBI4midIwO5lmFrOocQGBZMEBBKZELHhBAHIyzC
IkcToyBAdbQk7yRARozjCIkcToyBAdbQk7yRARozjCIkcToyBAdbVJ3DC4fFSg6eDDY2kcIV5hdcYYKm5Bi
AUYG2yxiIbmF5jDBU3IMQCkBtssYVDcwvMQMHTawYwKQEbzhhMN8L6IHHTaQY4UwRvOGEw3wvogcdNpBjhS
IjaKGFxPwvIQMlz6gk0KREbRQ8uJ4BeQgZLn1BJMKWI2ih5cTmfAuo3XF4gXR5MOTPFxEY8ZGkHWw24AbOw
xmh5sMpPOBY50uRpMOjuARXPFSBR4yHAO9iuZk2A2iGx3kVWnnBdM8XIyGfQHcFMnaZK48XQAHmw2M0dB6Q
bo7wHInmxd89XEuGvgSoEbOjxWR4uFDHFjPzaLBzBkrD0QWhMM4GDmkWxo1xAceYyJWUaLhWox8OYgRM8RJ
SH+AKOctkUzF84BAtDy4YKfolmDroaYZfAMQAueGipj+4sudMiTzN8FdMNjuoQJPzwQA74DEGnwO0YsnZIV
Uf2BUZ2uEHNHwzJlwdzAxp+WICHmwKAa/
B1jNs6FArD+oRnPFSzZs+LRNOjmIAPPyRhB5kWUNvB6Rq2cgmGB/MSr/+7JE5A/
wAABpAAAACLIs5oAZKW4AAAGkAAAAJZo0lsGM44DPUQaM3dKGm3gDEYonwpKw9wChDjwiWbOgcJnkfRDjT0
8LnOHRohv4CvGiZ8CKuPbBAg56EhnDoRk10AdhBE9LFVnLZdA48DLGyoDqWq32dvVMQU1FMy4xMDBVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQgA2BYb
BMlkslmZbLBMJgkEgkEgwPC2WyeSyWSyWZn5YLBMJBIKhUMDwtlszMyuVzszVlg8MDAqFQ4WKFZ+fnZ2dna
9WoPFz0ZJEkSWVo6iSe0KxKJQeFszOyudnZ+Wy2TDAkFQqHBgWCwTzMllcrmZmTy2TBIJBUKhgTCYWCeJZL
JZLMyeTyeOgkEgkEgkEwmDoI4lkslkslk8dx3EQSBwHAkCQTB0HQRxLHMcyWJZPHcdxEEAQBwJAkCIIg6CO
IYhjmIYliOI47iIIAgCAIAkCIIgiA3EMQxDEMSxHEcRwaCAIAgCAIgiEXoABLQDgPASAUAoBQJASA6A0BoE
QEgJJSTkgpciXEuJ0QYlRKiDD1EJJaQkhJBSUkpIKPSQofxCiFEGJUSogw9RCRwjhHpIKN0fJBR6SFDiHEP
UQYgw3iDD1EJHCW0cJgiGnKIaWESYkxbixEmJMQolRCiCkFG6N0gpCSWj9ISTogw+iVEGIUS4lxCickFJSS
kgpOSWktISTogxKiVEqJ0S4lxCickFJSSklJOSWlhJaXItxKiVFuJ0XIsRLi4ltJST0tpolxMkuJpFuJX/
+7JE249AAABpAAAACOrM9nElLACAAAGkAAAAJG8z2RTHvbgT4vxpGUZRlGiW0vpfS+miZJwmSdRpF+L8X40
jqOIyi4k5JSPklJbS4lhLCXInRKifE+LcXIvRYjJLaT0npPS2mScJwmUaRfi7G8X46jr2lUxBTUUzLjEwMF
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVavnQDfUQmhSB/
hGzYE0ZQVB9C3iNiKBGCMgp1UCrK8LwRgRcI2UQKRZByFIF+IGUAuB2iFtIm5jjcHQUYuZ3CELAOQeAcYSs
aAKgnoF88wj46xXA6B7hqy/
BHDgEIGIPsQ84g1BWCfixlWGrKAQhDQqzrFwBiF+EIUIk5xjcGIXcWMvohaOEkOAb4xzABODeAuGKCbGOHA
EEIGCfIKBfNYEwMQOMIORgE4PUBcPoV8sZKBYD5EzLiJOgxXCWErFjPYTAyhJEAK+P8ngsB2iZmSJOeYrg/
CfixncIYWISQvAwxxm4Jgfoh5eRJy9j4HAb4mZ/
CaF6FcLAPscZ2CYHKJuYor5Yx8C4HeJmcwmhTCuFgJGLmkBMDpE3K0V8l5IBcEyJmh20IgZETwpFoHhKHEQ
SAExMA8EQiiSShCHsJSeIo+k4QiSII8BMTBKFxNBqVgmK4Sk8uJeTqJ0fpKT8H0hBpE2OknJ/
EqP8fJxq1GqpDmE/
VIfyoP5BHyP1gHE5jdci6pVUIJXGS3qIlKmJEozdNRPFiUJbm0kKgN411aSVmOWEbzOiT6YjienNKbqwij7
bThfHLIby2kUDCOKKc1zdWEkgpThscv/
+7JE5I8AAABpAAAACSXs9kU9724AAAGkAAAAI8sz2RTGPPlDeaUigZDi0c2ztaEwgoZw7OWp3LSZPGAcWDm
jHaspA8n5k1JS9Jkjj3MVkH9CJUriYo07C9M4/
XpKVaUSFHeXlkH8xEqVxQoSdhelWWkQikxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqRQUAtYFkO8zFwliFXGA4OkLcB4D2s4UBryrAGPNsAO0N2CxmwRl
WFHEEQSwyFDLB3ANw2lMShDEZgCGmUQdkM+BvmoxhaIoCkQKozBFtA7h6Qd5mjAj6F+Ga5zML1PoTys0IAr
xyAgeY0AaJF4FgNQjWUZUFimtgPKPzAdDq0yzClhyoFkZDh2hMB1CatDkhiYJYZAiWhsgLGajGF5DMVgBFg
Jwt0XOBwGs4AcVJCKIBQBoj3g8gDGaEAV5JMQwACQVIi6GnNwDOsEOIZBZ5hMDqlcQkhvGZlA2IxMKuMRQi
xOAHnNwjKsKQFYAxplEGVHxgsBtKYmBeIgiCWGQYdobABxmwxhaIoBeAEWZwC2RMYDAazgBwrEKRAKgE0a0
HgAYzQgCvGIA1wASBpEXQ0ZuAaUghxC8EPMJgVEo8EgN4zMoGvKjgK4xHB1ibgPGbCGVYUcSPADTKQIqRfB
YDaUyMSH1995gnxQuWVpxsxNcoMkVvMG2FC5xWnHzDa5Q6tHTxthQucVlh8cbXKHVo6eH2FC4eKywnICMgk
QhoSiVIjIEeIhS2AxCJ5wYeYgABaRho4YemAxCJ5w0eYgABaUH/
+7JE4I9QAABpAAAACWWNFdVjGG4AAAGkAAAAIqqz2cCTJ9CjhhNMBiCNnDR5BAACzoNHDCaYDEG2cNHkEBQ
XWgqaHEbYrGFZrGR9BAUDa2KmhxHMVjCurGR8kgKBstipocJ5isYK6sZHzECAbLRs0OE21UxBTUUzLjEwMF
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUdwYAFBYOJIAVhRYYA5sBmQ
Mw6LBMgdcDVEaggZyWCcAJ51QAKgqB5EDLgKBzQBMltAFEGoLfgrIXUWjAUQawtmApAhJcQHaCiy0gGkDGl
wANECoLbhGQaotmCoglhasFSACS5ARoELLOA6QEaFAA6IBMjqRBOKBlouQzwHbiwjZEVIRWNwyRAtsyJAuD
AA6kAmQMA7mMVQMgByAlwCM5DAOCyZ2KZaAI4HiDVF1AVIGNL+AqwASXcDNAhZbsHRBLC94OqYUF/
wzIFUFgBEgI1AQDpGBJewO0BFiEIZECsL7hETGgvOJZAKBEIOcAGiIAZIxJL6C1jAkVGJNAKhUIdEyoFQjV
TCgYILOMCxwQlIyHGAEVjEcdKPNMKiEYs0zmHRk1TGYgMROMSyQg04zHJBFaTIUqnKEmNBYKPNNJiwUmgZS
FVBQsyJJTESjQUlIRTMwyBJEgyoIDlCTSQcKNIvSRNCKrKKhaSAQAOLBwsaWAyZPggIgtiBAhwcHTRLCwGT
gEBEEjAgAELBwdNE8LAZOAQEQSQBgMIFxGFzaFsLl4HCA8ecJCBKzqM/
gDAZNIogEIaAAAQRLCwtPCYOToogEIaQBCElkz/
+7JE5A8AAABpAAAACWGs9eVjGG5AAAGkAAAAItkzmyRkm0h6eEwcnQgICEEwAACEiwsLTQAYDJnCAgIQTAA
AIGiwsLtABgNM4QEBEJgAAIGiwsLtABg6ZQIEBGJgAEQLBwsfpABg9lAgQMwmAATCwcLHnkxBTUUzLjEwMK
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgVQAj0AlF+mlhYIAKWlcVDIABNxQ5LMAqAAi
MombAwYBABlJdMLAizQ0xDb0vcYAgZKZqnQBUaWGMD3ggppUBjKSWyDBmAZeGKFujAEFFWasoEiMIkAUbLc
mEAKMt5Q0EDMAUUYgDQGAYODA6FQQoWUmuh3ECRCRNJ7EBoYUaCrhNowgQVaYhOAIiySumklpTEFDZr6AkA
DLIsFYEWmARkNWcF5gCIs0y5cpZkBFSua2XNAAy0rTVMizQCMmq0gLgAIi0zrKAgYIGKn0zMKBAAy2sCpDA
YQGMr1hAVAARFypEkKBggoqzlHwoMADLw0SEoDCBRmKqPA0QBEgGp0AoGKDgseVRBgwANB2YQDAYwOE1BRY
GiAIkVo6XJAxQgLN0yQQUADSJhouUBjBgmmIzAkgBAmM7JbUDJDAsvRlBBQAFQVwi2w8q3tQEw2TrCAAgIM
NhgMCRCIwDgmjYDYJidEIACAggmGAQEjIjAcE0cBWCYnaGAEBBBooBAMMlwHBMV4KwTDZooFAQFHFAYFBIq
KwuCZsuKxWTyIBQKBIaGAEBBBMNgbE5kbAcEyeAoAwGD5QBAQFExWBsNni4DgmK6FAGAwfKBQEBRYrBMCzB
0LgmL/
+7JE6Q8QAABpAAAACUmNBfVjGG5AAAGkAAAAI2EzmkCUpbi9FAIAQbOBQEBRgrBMCxw6FwTFekAIAQPpBQE
BRAjBMCxIqFwTDbZACAECdYKAgCDBGCYFiRURgmCbaAEAMCdYQAgCCBcEwNiSIjBME0agkmNOlxISaOTeH0
TpKthlEKLdCN0fJOUsxnSQktsE/
h9E6RrAdRCi3QkSSEgqOYzpISTlhRRIiDI1kOohROmJEk9IKcR+JIBQImJWAsAMHp6Vg+GoAIQwalkCQVEk
xCEKS+OwHgRCWITgmAcLpEUEgmeE8JQGh7wjAiEqkgBMA4PnhFBIJj4hhKA0PXRGBEJT0uB0A4GTxNBIJjI
rhyA0GJ6TgRAqYlQOgPAaPiaCQCicVw5A6Bk9PgRASJJwKgPAaJx6DYBQlGYpA6BkmnwNQEiSYCoDwGic6D
YBQhH5BA6BkdXgagJEE8IQHgNCNwNgFCEWxPBqBkKbxVhA15lMA503zRA4CpTnjBFxMwbiQBnBYxuHCroRM
c0gNtGtzbTCywlabqIxYDxTlnEFQdwdUQVlEzjsgJWxKo1GBlsOjNlcUUHsTbTJWhq01WSBgMkNhYhTJtjY
UHGSbI0miwuDqzXXJSii00URGkTQGauWDgU4aCA4iJXmQwagISGa2RrHnS2IXwaoC9ALSYpRtJGbCGFHZEM
8G2nXIpgnQe6jlh+p5qItkbjpodyPrPVirUpseLBfRXg67Klhdh5uS0J8He4MyRzOXCSoe88YGJj+zpYE4F
4HPo7INgd8iOAvw55AFxO5w8KTB8zpoQRD/nLBhoG0N/xDAF0Ouwq4N4ccmEn/+7JE/
48QAABpAAAACPhM5kA97F4AAAGkAAAAJgU0FtWcZ9GDtzMeCx4G3NJoEGhIZnNGKkCtDNhBphtAGi2BSgWA
ZrZjIgLcyoAQWboZnNGASBwzKaMs43ADJhApBuCGa2YYwDAMlszDTdDMaAwBzdHMpoxBThBMZozyjcGMWEw
wjcIMlsxwjgCMNs0CTbJMKAxATdLMZoyASL+jznpZAAnQ4BUSEFgPPAsFAkJaIhCDh8FSMIk3IRENsjRAPE
vIhCUaGSM1PvMSsndLxwbHvGRVSPF07NV3nJWbdLxwbmZUHa4k2BHS6YDuWGysSUZ0HhthIfCImccB0YbXH
AkJXnQOG2FB8IiZg4B4w9ccBoStnQOL
uUHwZJmDgfIHrjgmMth8PEbKg+JTSgeD5A0uOCYyuHw8RsoB8SmlA8NoGkYsJmUwdBwjQkATAk0cB4HyBER
hwCjJ0HQcRkJAHQJaLA8D6AiFYcAoFLQIAB5oeqmu4Y0YzQCZTYsOtcDiBJpzlG4yZcQgpCkxlumwYcYIec
cxJvrGdGFaBDOZDxrnnAELknOMcCpowAycUoMWE1EjhHHyjoFONI0nwLMO0mFEaapvEFJJ0gHEiarxgTlSg
wYzQWN00jHAapxnGw+Ycg5WAIjNbNwwTAH1gFqbIhsJmO4QRgiIx3TLFHuAd8bgpqmGIqOtA10YmMB41UwN
4LlHMOcKhqPgGIZnAsJqKG+CRknOEcSZruGFGQTAiI01zcCKRzmBONA2HTFiJJwrGaDBtjj4gHOOQ822jIj
GZhBIZ7ZtFCY4LNOUw3GTLgEU4rKZjhsmhoASccxZvrGdCF5hyYz/
+7JE6g8gAABpAAAACMws9lUlibYAAAGkAAAAJkU0lpWM5ACXzWOB4Yeac4xwKmi8DJyxOY0BqogrwXOOgU4
1DSfAshDMYsZpKAL8jNOkI4kzVcAEopSYERorm4EUlgNE5TjWbMOQQ0AGUzmDbFHyAOkcxpstGNGFKQRMZr
ZtEC5YPROco2mTJiBtAVnMpw2Sw8QNSOYk3VjKhAlIgoMd81jgkcTROkYHcyzC1nUcQGBZMEBBKZELHhBAH
IyzCIkcToyBAdbQk7yRARozjCIkcToyBAdbQk7yRARozjCIkcToyBAdbVJ3DC4fFSg6eDDY2kcIV5hdcYYK
m5BiAUYG2yxiIbmF5jDBU3IMQCkBtssYVDcwvMQMHTawYwKQEbzhhMN8L6IHHTaQY4UwRvOGEw3wvogcdNp
BjhSIjaKGFxPwvIQMlz6gk0KREbRQ8uJ4BeQgZLn1BJMKWI2ih5cThGOwLVGcuLYgVo2RhxM2FwsgdFY0Qa
qw1cAGzWDGVDZWGSTZYFhzUXIqTBaNcARLmwqQFGwyHAGusVpmI2ArRCsa6RVNNlgumbC5FIY7QGuCjJrJk
pxsLoADZWGozIdB1INaNdAcRNlYu+bS4k4ZbgRUCGzUPFUjYXCgxomM/
NosHMGSsPRBaEwzgYOaRbGjXEBx5jIlZRouFajHw5iBEzxElIf4Ao5y2RTMXzgEC0PLhgp+iWYOuhphl8Ax
AC54aKmP7iy50yJPM3wV0w2O6hAk/PBADvgMQafA7RiydkhVR/
YFRna4Qc0fDMmXB3MDGn5YgIebAoBr8HWM2zoUCsP6hGc8VLNmz4tE06OYgA8/JGH/
+7JE4o9wAABpAAAACLIs5oAZKW4AAAGkAAAAJcu0ltWcC+AHmRZQ28HpGrZyCYYH8xKs9RBozd0oabeAMRi
ifCkrD3AKEOPCJZs6BwmeR9EONPTwuc4dGiG/
gK8aJnwIq49sECDnoSGcOhGTXQB2EET0sVWctl0DjwMsbKgOparfZ0ZMQU1FMy4xMDBVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQgDYbDYrC4XC4
rJxIJAwKAoICAUEgnE4rFYjEZGKyckJBQKCAgIEBgnJycVkZGRozZgkJCAgICBAYNk5ORkZcjRtmCRE1qEU
imLIpJWYLEREJCcVkZGRkZOTk5IKCAgICAkJBIGxWRkZGRk5OJwwKCAQEAoFAkEgbFYXEZGKxWGxOGBQFBA
IBQKAwJA2FwuFwuKw2Gw2GAoFAoFBQGAwGA2CYXC4XFYbDYbBAEAoFAoGAwGAwCYJhcLhcEw2Gw2CAIBQKB
QEAwBAYA2CYDhcLgmGwLAsDAIAIFAQBAMBGACqJcXInRKiVEqLcTouJLSWk5JSSklJOSClyJcS4nRBiVEqI
MPUQklpCSEkFJSSkgo9JCh/
EKIUQYlRKiDD1EJHCOEekgo3R8kFHpIUOIcQ9RBhvD6IMPUQkXEuJYR0jFHpG6OUdxKi5FiJMSYhRKiFEFI
KN0bpBSEktH6QknRBh9EqIMQolxLiFE5IKSklJBScktJaQknRBiVEqJUTolxLiFE5IKAkBICQIgNAyA0DwJ
AKAUCQEgPAaAcB0EQEgVBEGoHQpD/
+7JE0o9QAABpAAAACN5M5oElKW4AAAGkAAAAJFsz2RT3syA6DYEgFAWCYGwVBUFQNQRCUJQlBqFIehSIwNg
mCYJgbCMHwVCKDUJQlCUQRFHUdRGEIQg6HIQhGHYdh1EkcRxHESSaPo6k4ShyHIciUTif6UxBTUUzLjEwMF
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBvqIHIJQP8I2PYFIygqC0
CPiNiKBGCMgp1UCrK8LwRgRcI2UQKRZByFIF+IGLoDcKEFOlwc48wvAuBlg3y7ApEoDkHgHGErGgDcJ6BfP
MI+LWHAEoGyCrL8BcOAGwLwmIhZpAwDoCRiBkjC7JkIQhoVZ1i4AxB9ApDJBNknC8DQHeDHHyBfOIEwSQL8
JWOwE4N4C4YoJsY4cAQQgYJ8goF81gTAxA4wg5GATg9QFw2gYYsYrgQQswT5CQL5XhDA6BXwY5VAnBxAmCk
CHhziuAxChAxj9BNk3CoDkGGDHLsCoH8CYJoFWHOSAE4T0FWOkE2OsKgMAkYJ8nwKgdQMAYgZ4RsmAJwtoK
seIMMY4jgRgwwT5bgVAzgYAsAn4N8wAThOQc41QgYdYngNwzwMZctoE8KSKIwlDiIJACYmCMPwiiSShCHsJ
SeIo+k4QiSII8BMTBKFxNBqVgmK4Sk8SRaTgbFUJSoExMEoXE0GpWCYrhKTxJFpOBschKVAmLAdG5bDExAc
XAVWAugFgZGQUpycIKYOj8eRgdB8eiElDk8HobnIenwgtB0fjyNjoPlohQhyaD0N0oerhBgDo3IIxaD50Qr
hyaEL/+7BE44/
wAABpAAAACTFM9iA9724AAAGkAAAAI5Ez2QDGMbkZQh7YQaB0gkEYwB9wheKUAThk2HviDUVGwni1gPsEJ4
UmpAFy8KaiCtFRaIYtWBVYQlwpLJAFy8KVogrRUWh7FqgKlwhHQpLI8C5WG1KVTEFNRTMuMTAwVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTQQAk8AsDdbMaQlZBqhjGgZ4NEOYI40TWcBKpVYBCppr
G4CDywNeaRBkogxYgXAqRkEhEQRQAqDTJMZAKrjKwATMsYMhB1ZqgmgUYqYgWES5goGYKJTAqg4jDdZMyAL
zg2QzHTZMEwTlFOE83MMMxiwUqZWG4I+oBoORjacqwBBwTAbCNWPggFc2zIGFWYJYYBiThbAG+ZpDGBTIBg
aih5heADmcFGWo7kVwYImsQukTmdgG9pioVMCC5jcbAjag2B3GbnGGpJkL2MjQF4jSEzOxDa8AWHcBSplYB
uldwfA6nNUATcUyDaGZYPETsBczog0xBlhHgCTNKAkI+8DwOaTNIK3C1wDI1HDTC7AG84KMsxBYK2METWQT
KHvOwDi0xUEdwZcxuNgxswaw7jNzDDUYsCbGJ5vAPpCXnQhteAKENQBUysA3SlQPYdTmxwFqVKGGhmWCxE6
AO85INcQRYkqYpmlAPCPrAbDms0SL/
5ffAwBDzBPihcsrTjZhsjEAyRW8wbYULnFacfMNrlDq0dPG2FC5xWWHxxtcodWjp42wkXOKrYaQGjRQ2WSY
FIrIEeIhS2KyjK6x42owKC7SipowuTgmMIUaIdE6AkBAbRIEI//
7skTpDwAAAGkAAAAJcQ0VxWc4XgAAAaQAAAAiwjPZ1JSluMJEZOCYgQzWMm0DAoLrQVNGEbYrKKzWMm0DAo
LrQVNDiNsVjCs1jI+ggKBtbFTQ4jmKxhXVjI+SQFA2WxU0OE8xWMFdWMj5iBANlo2aHCbVTEFNRTMuMTAwV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU00KsQzh3MILgqhzYDMgZh0WCZA652KF7AaZyW
CcAJ51QAKgqB5EDLgKBzQBMmQB0OYaAZ54GCbGcJ0OAcGMZ1MYqgJB5ABLmQR1IYMmAh0KZaGMIDiAbGMp0
GYcAE51AZnlmAkwAiABAbwAmFCALJjoXnBVT2YkCG4NZgT9FswdITEUjcMkQLbMiQLgwAOpAJkDAO5jFUDI
AcgJcAjOQwDgsmdimWgCOB4gGwEIcwGDIEAdxGaoAAC5GC4JOAymPAJGdAmmgFGD4mOwMQBzGLIMIA1GqoI
IEyMlQqsFlMuAqcDpNdAacNiZ6BZgSYzZECAWo2TChhORoqIWhpTTgRrB5TfIQpF2muQo4TMaLijA0xwmIl
D7jZMZiLhNdh1oeU4yGVkbTbAggPiNlyRwmI5RIGFdTdEqzJwm2hYiNhOcCw0jQcXEsib5uqQwIvHR5C4fO
cGjlR7hvkOTKOnVwxETBekNtEgYIORkZOeTJw2R8gICQ0kSBgg0jIzbK5OGycAgIMSUJAwgmRkZtlcnDaOB
AQMNIBQGEEyMjNoXitHyAgJHKCgUHLOkZ/
BWFyNo4KBISaKAoQMnRWJyfBWF0bRQUCRBMUBRAyXFYnbYFYXRrFBf/7skTpj/
AAAGkAAAAJY8z1wGMYbkAAAaQAAAAi+bOaQJMmgAJGGxQFECpcVidtgLhdGsUFAkYbCgUQKlxWJ22AuF0ax
AKBIw2CAUYVIxWJ5oATC7axAKCSCMEAowdIxOT6SAmK2zhAJCTCcEBQ46Ric2uqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoCAAF7jWIOMtMKFMSTAFppe4xFNARIKWg
BcbZAITbFzTGQ0gQOW2CCmJJZF5QqAyFNAUaVEgSYxmLNQeDAmUgCkkEqiBDmQ5aGKA0RkOAmpwpvAUxlMW
2jYIGZTAJyrkyQAcyHLiwACRGQ4KTA5eoFSEpIVkows0LoRucwuiENGkpWIEDKQt6yQQgMZjGJOpgJgCZil
vmXhYJiSYhq5VuMIDOIvizgLiMaDGBaycpiCZhoDmHhQZiSYAsFS+MYDOBClgAVIY0AITTkTTIEzBSSXmDC
mJJZF1UJRlAAnJcrYBpDGgs1Ci7pkCAmqSVnBBzEktLIC7xnABnKtT+BJjGYttTlsTMEDNXEnaBDmI5cmYL
TGcAKUuBJYCoMZi8UdLMmYIOSv9DiBEmI6AV9iyRpADlMkQaAKDGZB5wQEE0BCEsHFAgBJgKkSyoBCHpW81
BABsNm1iAKAggbFAYJIkYXAacCsNk7RAFBQgmKAwSMlwuF0cBWGxO0UCgUQaKAwJGS4XC6PisNid5QKBRBx
QGBQgiRisVtpisVo5IBQKBI0UCgUQTFYbE7JcLhdHAUBgSHygUCiCxWGxOeLhcLo6FAICQ+UCgUJOKwTP/
7skTlDzAAAGkAAAAJT80F5WMYbkAAAaQAAAAjJjOalJMlgDZ46FwuK+QAgGDaQUCgowjBMNmEwuFxXpACAY
NpCAKCiCMEw2YVEYXFc0AIBgnWIAoKGEYXDYkVIwuK21BQGBPIgCgoYXFYbEkSMLittQkqhBASAB7CURQOg
R0cgLAeIpcA8B4QrDiBUESMnEUDpBYJvDCLclXiHFyIMxG6MEek8n6GlxNF6pifFuRrxRFyNJiUpPS2o4/
JoHQanJWDoEh9UEgyCIKjgRQVIRuSzEWiKnJwjAiIMQnCEFQ/
SIoJCE8J4ghSPvCUDUQXS4OQVC6xNBsIR8XxxCkPXScDUJT0uDkFQfPE0GwTHxfHEKQ9WmQNQlMTgegqD4+
PRCCYyOx5CkPT0+EEJTE4HoGwfHx6IQTEo7HkGoek14QQlJJ4QgbBUTnRCCYSj8gg1CkmvCSEoknhCBsFRO
4SgmEJWUwahSIt5vgmhABrTnTC0gGxN9sGSE0hyMAn4To5FBHKCtjecC8o9WcbYUcDuTlXFNgWyd94U0EqD
icELol8cTBLGHdG48Mwhl5wuijQ+CcLZLENem3CQQBGBvPDrZOMcDQxCRfG1EVHwVubr5YYJxDfdEcBOAbM
oy4AuDcgHDQVuBIDENNlEzoAMKdI5htmmcAsAbCYIhpGGOyHBHI0KyC3JuwikBNocbow4PinC6IIyL43Ih1
8a7OJ4ldJxjecCsRR4bcZUeEuDhfIWicg33wRCPhm1IQOhn5wQDDI2WbjwBeFwDZlGWgeAb8IhYEzDbhMB8
NHNaYRMgsM3IAouGnmxAYrgSIas4XWAYhtxglQJf/7skT/
j1AAAGkAAAAI82zmWDHsiAAAAaQAAAAmLbQWgZxlAQNeExmwWOaVAMVOME2IgImC0zUgMtgBiGnSCUjiENe
MwUAOgacZmLnGGaFAAROUc1IjEPOkE0IjPUOQQz6TBMOQg04zHMOgIzYzQTOUkyqDELOU00IjKLOkUyojVQ
OIoyaTHIOQ4z4zNIOggyYzWPOM0xqDIFOVEzIjOFHz5/
OeOhwTRIQWD7hogCQloiEIeeMkYRJuQiIbZGiAeJeRCEo0MkY6TaKREXZGiAeJcFQhKNDJGOk2ikRF0I0QC
YNgQDaAQgGAKKRWGALEi4iCp86Dw2wkPhETOOA6MNrjgSErzoHDbCg+ERMwcA8YeuOA0JWzoHF3KD4MkzBw
PkD1xwTGWw+HiNlQfEppQPB8gaXHBMZXD4eI2UA+JTSgeG0DSMWEzKYfGEaFALiVpIaG0CJGLCZlMZGEaqA
XErSw0NsLIxYTDFoEPND1U13DGjGaATKbFh1rgcQJNOco3GTLiEFIUmMt02DDjBDzjmJN9YzowrQIZzIeNc
84Ahck5xjgVNGAGTilBiwmokcI4+UdApxpGk+BZh2kwojTVN4gpJOkA4kTVeMCcqUGDGaCxvmkY4DROU41n
TDmIKQJIZrJuHC4A+sBtTbGNZUxXCSMCRGS6ZYZNwDujcFNUwxFR1oGujExgPGqmBvBco5hzhUNR8AxDM4F
hNRQ3wSMk5wjiTNdwwoyCYERGmubgRSOcwJxoGw6YsRJOFYzQYNscfEA5xyHm20ZEYzMIJDPbNooTHBZpym
G4yZcAinFZTMcNk0NACTjmLN9YzoQvMOTGS+ax//
7skTnj3AAAGkAAAAIxUz2UCUpbgAAAaQAAAAmQDSWlYzkAAPDDzTnGOBU0XgZOWJzGgNVEFeC5x0CnGoaT4
FkIZjFjNJQBfkZp0hHEmargAlFKTAiNFc3AiksBonKcazZhyCGgAymcwbYo+QB0jmNNloxowpSCJjNbNogX
LB6JzlG0yZMQNoCs5lOGyWHiBqRzEm6sZUIEpEFBjvmscEjiaJ0jA7mWYWs6kwcQGBZMEBBKZELHhBAHIyz
CIkcToyBAdbQk7yRARozjCIkcToyBAdbQk7yRARozjCIkcToyBAdbVJ3DC4fFSg6eFDY2kcIV5hdcYYKm5B
iAUYG2yxiIbmF5jDBU3IMQCkBtssYVDcwvMQMHTawYwKQEbzhhMN8L6IHHTaQY4UwRvOGEw3wvogcdNpBjh
SIjaKGFxPwvIQMlz6gk0KREbRQ8uJ4BeQgZLn1BJMKWI2ih5cTmfAuo3XF4gXR5MOTPFxEY8ZGkHWw24AbO
wxmh5sMpPOBY50uRpMOjuARXPFSBR4yHAO9iuZk2A2iGx3kVWnnBdM8XIyGfQHcFMnaZK48XQAHmw2M0dB6
Qbg7wHInmyAc9XFsGvgSYEbOzRmR4qFiGtwVeBOmwBrUJ6OBT2wwJND1OjuQHPM0StRx4VqMfDmIETPESUh
/gCjnLZFMxfOAQLQ8uGCn6JZg66GmGXwDEALnhoqY/
uLLnTIk8zfBXTDY7qECT88EAO+AxBp8DtGLJ2SFVH9gVGdrhBzR8MyZcHcwMafliAh5sCgGvwdYzbOhQKw/
qEZzxUs2bPi0TTo5iADz8kYQeZFlDbwekatnIJhgfzEqz//7skTjj/
AAAGkAAAAIsizmgBkpbgAAAaQAAAAlkbSWwYwLOFEGjN3Shpt4AxGKJ8KSsPcAoQ48IlmzoHCZ5H0Q409PC
5zh0aIb+ArxomfAirj2wQIOehIZw6EZNdAHYQRPSxVZy2XQOPAyxsqA6lqt9nRqTEFNRTMuMTAwqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqCYr
aABsNhsVkslkszJ46FgmGBIKhIJBYH8dxLEsrlc7Mz88PDAwHAcCQYFgtlsnksllclmZ+WCwTCQVCoVDBQb
lsSyWPZXK5mrLBYJFGUIyR6eHRLLLBWEIlAwJ5PJZXK5mZk8tjoJBIKhUJBMJhYJ5mdnZ2dn5+WyYYHBUOD
AwLBYJ5mSyudmZmTy2TDAkFQqGBgTCwTyWSyWSzMnk8nkwkEgkEgwJhMJhPEslkslmZPJ5PEgSCQSCQTCYT
CYJYlkslksSyeTyeJAkEgkEgSCYOhMEcSxzJZLEsnjuO4iCQOBIEgSCYRZEoAAzMXI6jSL8X4fRBidFxMku
JoltL6N0go9Jci5FyLkW4vxfi3C3EJHCOEekW0bo3RbRbRxEuLkTotxKiVFuJ0XElpLScltJSSktpOS5FiL
kXItxfi/
F+LcaJcSwltGKhomqGiuocSIlxxF6LEXItxOgRBEBICQRA6B0BoHQSBIBQCgSA8B4DQHgagiAkEQRA6B0KQ
Og2BIEgmBIGwVBUB4GoIhKEoIg1CkKQOg2BIJgmCYGwVBUFQig1CUJQlBqIoehSTogxKh9EqP/
7skTaDwAAAGkAAAAI6AzmhiUsAAAAAaQAAAAkbjPZWPY/
0Z0S4sRLi4k5JSSklJbS4lhJaXItxKifE+LcXIsRlEJHpFdGCPkgpCSSj9JcQYfQ+h9EGJcSYkxLScj5JCS
ElJcS8lhMonRKiRE+LcXIue8qTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqBvqIHIJQP8I2PYFIygqC0CPiNiKBGCMgp1UCrK8LwRgRcI2UQKRZByFIF+IGLoDcK
EFOlwc48wvAuBlg3y7ApEoDkHgHGErGgDcJ6BfPMI+L8OAJQRsFWX4EweANgXhMRCzSBsGIF+KWOcNMmQhC
GhVnWLgDEH0CkMkE2ScLwNAd4McfIF84gTBJAvwlY7ATg3gLhigmxjhwBBCBgnyCgXzWBMDEDjCDkYBOD1A
XDaBhixiuBBCzBPkJAvleEMDoFfBjlUCcHECYKQIeHOK4DEKEDGP0E2TcKgOQYYMcuwKgfwJgmgVYc5IATh
PQVY6QTY6wqAwCRgnyfAqB1AwBiBnhGyYAnC2gqx4gwxjiOBGDDBPluBUDOBgCwCfg3zABOE5BzjVCBh1ie
A3DPAxly2gTwpIojCUOIgkAJiYIw/
CKJJKEIewlJ4ij6ThCJIgjwExMEoXE0GpWCYrhKTxJFpOBsVQlKgTEwShcTQalYJiuEpPEkWk4GxyEpUCYs
B0Ry2GJiA4uAqsBdALAyMgpTk4QUwdH48jA6D49EJKHJ4PQ3OQ9PhBaDo/
HkbHQfLRChDk0HobpQ9XCDAHRuQRi0HzohXDk0P/7skTjD/
AAAGkAAAAJMQz2ID3vbgAAAaQAAAAjkbPZAMYxuYQyhD2wg0DpBIIxgD7hC8UoAnDJsPfEGoqNhPFrAfYIT
wpNSALl4U1EFaKi0QxasCqwhLhSWSALl4UrRBWiotD2LVAVLhCOhSWR4FysNqU1TEFNRTMuMTAwVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVlVZFRpQRgyjBiCVohUA
BhChqAZQBTMRAusqqCyQCAMSLTA7zkg0xBliBYVQYAhzhKAOoZwgAwjWOqBhwEISaHXBUzMICnFFDCwS
YDFFnBlANAyjAiBlYqoEFBRh6IRcDTMhASkcUIkgUgOSRSB1AEwyjHSBYZlQGVFxgtBxOYViCAw8EsMAxJw
tgDfM0hxgw0KmAwRaQ1gHbMwgKkhaMqBhwUYaiLbBVDKMLAKghgZe4viRCGiBAy0gXCVBjIC6qA4mCLHCAF
sxAAlEKBAoghJWsMwApmAwVWONC6AAEMcTUCNgKBhOFlCrAokBCDmkVwjBpCADCFYiWFTAIIk4aoDrmYAFS
KKEKgYcDGGoi1wVQzjAiBlYWWCSAoo9ISoBrmQQJSOKCqgIUHKIoh1wNQxlBiCFYUSBRBCSiQZQBTMRAqsq
IBqAAMMUUQCLmgBhOFlEiQQkwgDmkVwdQzhABlA9ffAQADzBPihcsrTjZia5QZIreYNsKFzitOPmG1yh1aO
njbChc4rLD442uUOrR08PsKFzhWWE5ARkEiENCUSpEZAjxEKWwGIRPODDzEAALSMNHDD0wGIRPOGjzEAALS
v/
7skThDwAAAGkAAAAJZM0WCWMYbgAAAaQAAAAitDPZ1JMn0A0cMJpgMQRs4aPIIAAWdBo4YTTAYg2zho8ggK
C60FTQ4jbFYwrNYyPoICgbWxU0OI5isYV1YyPkkBQNlsVNDhPMVjBXVjI+YgQDZaNmhwm1TEFNRTMuMTAwV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTTQqxDOHcwguCqHNgMyBmHRYJkD
rnYoXsBpnJYJwAnnVAAqCoHkQMuAoHNAEyZAHQ5hoBnngYJsZwnQ4BwYxnUxiqAkHkAEuZBHUhgyYCHQplo
YwgOIBsYynQZhwATnURkqYBAeRguYDHUBkyBEAMpnUOlB5ATYdyWtONAYMfUA4ihiKRuGSIFtmRIFwYAHUg
EyBgHcxiqBkAOQEuARnIYBwWTOxTLQBHA8QDYCEOYDBkCAO4jNUAABcjBcEnAZTHgEjOgTTQCjB8THYGIA5
jFkGEAajVUEECZGSoVWCymXAVOB0mugNOGxM9AswJMZsiBALUbJhQwnI0VELQ0ppwI1g8pvkIUi7TXIUcJm
NFxRgaY4TESh9xsmMxFwmuw60PKcZDKyNptgQQHxGy5I4TEcokDCupuiVZk4TbQsRGwnOBYaRoOLiWRN83V
IYEXjo8hcPnODRyo9w3yHJlHTq4YiJgvSQkiJWInRICQg65GTmSwsLJ8EBAhJiAQCaDg6aLkwsnAICDEoCA
gywcHTZXJw2jgQEBhqCBApNGjfFdG3JASEkEBAGDlnSM/
grC5G0cFAkJNFAUIGTorE5PiMjRySQEjGkBAgiujJ2//7skTljwAAAGkAAAAJZCz1wGMYbkAAAaQAAAAi2r
Oa4JMlOICsjRyUQEjExQQIIroyduArI25KEhJBsUEDCq5OTzYFZG2soSGINigggquTm5sAmF21iAUEkEYIB
Rg6Ricn0kBMVtnCASEmE4IChx0jE5tdTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVBoDeYMcpWCEmZ5kKwUKgNCTcUOSoYBUGdhlEzYGDNKjeQSMqmBFmhpiG3oNIaFm4osF
NoAqNLDGB7wQU0qNokIknTAs0NARYEApjQs2DQtR2MKjSoDCf8CHNKgE5USOoAOZDlxYYApDIczFiqAo7iL
PBC0wQRkuUYSPKEFBWRaKGhYEa1Aoq1AuQzsM5kNlbTIU1JBxl1hQpmaZjpWpzGUhrQEBXYFTGdhnIpcjyZ
imo4YJc4MOZmmQq1UExnIazF6VoAlBnYZRMmL+mgpqKX6WDBCTM0xDbUuEaSGsSIqigFUZ2GMEDFsTUU1DS
CT/
AizM0wBkBZY1kNYE4UpgCwzsAQpeWRNRQFVQpD0ANMzSzMcMIDaQBWVYOgMLDOws1AJgCbCgaKzxgZgaZll
tXSMYjaQFSWoKiMbjOovEykyDNhQdFXYiKYnmZaAVcxlENet5qBsNm1iAKChhsUBgkiRhcBpwKw2TtEAUFC
CYoDBIyXC4XRwFYbE7RQKBRBooDAkZLhcLo+Kw2J2igUChJxQJBQgiRisVtpisVk8kAoFAkaKBQKIJisNid
kuFwujgKAwJD5QKBRBYrDYnPFwuF0dCgEBIfKBQKEnFYJv/7skTmD/
AAAGkAAAAJUy0F0GMYbkAAAaQAAAAjITOagJMlgBs8dC4XFfIAQDBtIKBQUYRgmGzCYXC4r0gBAMG0hAFBR
BGCYbMKiMLiuaAEAwTrEAUFDCMLhsSKkYXFbagoDAnkQBQUMLisNiSJGFxW2oSKpBABXJIigdAjo5AWA8RS
4B4DwhWHECoIkZOIoHTRgoonxbkq8Q4uRBmI3Rgj0nk/
Q0uJovVMT4tyNeKIuRpMSlJ6W1HH5NA6DU5KwdAkPqgkGQRBUcCKCpCNyWYi0RU5OEYERBiE4QgqH6RFBIQ
nhPEEKR94SgaiC6XByCoXWJoNhCPi+OIUh66TgahKelwcgqD54mg2CY+L44hSHq0yBqEpicD0FQfHx6IQTG
R2PIUh6enwghKYnA9A2D4+PRCCYlHY8g1D0mvCCEpJPCEDYKic6IQTCUfkEGoUk14SQlEk8IQNgqJ3CUEwh
KymDUKRFvAEA3wTQgA1pzphaQDYm+2DJCaQ5GAT8J0cigjlBWxvOBeUerONsKOB3JyrimwLZO+8KaCVBxOC
F0S+OJgljDujceGYQy84XRRofBOFsliGvTbhIIAjA3nh1snGOBoYhIvjaiKj4K3N18sME4hvuiOAnANmUZc
AXBuQDhoK3AkBiGmyiZ0AGFOkcw2zTOAWANhMEQ0jDHZDgjkaFZBbk3YRSAm0ON0YcHxThdEEZF8bkQ6+Nd
nE8Suk4xvOBWIo8NuMqPCXBwvkLROQb74IhHwzakIHQz84IBhkbLNx4AvC4BsyjLQPAN+EQsCZhtwmA+Gjm
tMImQWGbkAUXDTzYgMVwJENWcLrAMQ24wSoEv/7skT/
jxAAAGkAAAAI8YzmVTHsiAAAAaQAAAAmNbQWlZxlAYGvCYzYLHNKgGKnGCbEQETBaZqQGWwAxDTpBKRxCGv
GYKAHQNOMzFzjDNCgAInKOakRiHnSCaERnqHIIZ9JgmHIQacZjmHQEZsZoJnKSZVBiFnKaaERlFnSKZURqo
HEUZNJjkHIcZ8ZmkHQQZMZrHnGaY1BkCnKiZkRnCj58/
nPOhwTRIQWD7hogCQloiEIeeMkYRJuQiIbZGiAeJeRCEo0MkY6TaKREXZGiAeJcFQhKNDJGOk2ikRF0I0QC
YNgQDaAQgGAKKRWGALEi4iCp86Dw2wkPhETOOA6MNrjgSErzoHDbCg+ERMwcA8YeuOA0JWzoHF3KD4MkzBw
PkD1xwTGWw+HiNlQfEppQPB8gaXHBMZXD4eI2UA+JTSgeG0DSMWEzKYfGEaFALiVpIaG0CJGLCZlMZGEaqA
XErSw0NsLIxYTDFoEPND1U13DGjGaATKbFh1rgcQJNOco3GTLiEFIUmMt02DDjBDzjmJN9YzowrQIZzIeNc
84Ahck5xjgVNGAGTilBiwmokcI4+UdApxpGk+BZh2kwojTVN4gpJOkA4kTVeMCcqUGDGaCxvmkY4DROU41n
TDmIKQJIZrJuHC4A+sBtTbGNZUxXCSMCRGS6ZYZNwDujcFNUwxFR1oGujExgPGqmBvBco5hzhUNR8AxDM4F
hNRQ3wSMk5wjiTNdwwoyCYERGmubgRSOcwJxoGw6YsRJOFYzQYNscfEA5xyHm20ZEYzMIJDPbNooTHBZpym
G4yZcAinFZTMcNk0NACTjmLN9YzoQvMOTGS+ax//
7skTnj3AAAGkAAAAIxUz2UCUpbgAAAaQAAAAmQDSWlYzkAAPDDzTnGOBU0XgZOWJzGgNVEFeC5x0CnGoaT4
FkIZjFjNJQBfkZp0hHEmargAlFKTAiNFc3AiksBonKcazZhyCGgAymcwbYo+QB0jmNNloxowpSCJjNbNogX
LB6JzlG0yZMQNoCs5lOGyWHiBqRzEm6sZUIEpEFBjvmscEjiaJ0jA7mWYWs1RxAYFkwQEEpkQseEEAcjLMI
iRxOjIEB1tCTvJEBGjOMIiRxOjIEB1tCTvJEBGjOMIiRxOjIEB1tUncMLh8VKDp4MNjaRwhXmF1xhgqbkGI
BRgbbLGIhuYXmMMFTcgxAKQG2yxhUNzC8xAwdNrBjApARvOGEw3wvogcdNpBjhTBG84YTDfC+iBx02kGOFI
iNooYXE/
C8hAyXPqCTQpERtFDy4ngF5CBkufUEkwpYjaKHlxOZ8C6jdcXiBdHkw5M8XERjxkaQdbDbgBs7DGaHmwyk8
4FjnS5Gkw6O4BFc8VIFHjIcA72K5mTYDaIbHeRVaecF0zxcjIZ9AdwUydpkrjxdAAebDYzR0HpBujvAcieb
F3z1cS4a+BKgRs6PFZHi4UMcWM/
NosHMGSsPRBaEwzgYOaRbGjXEBx5jIlZRouFajHw5iBEzxElIf4Ao5y2RTMXzgEC0PLhgp+iWYOuhphl8Ax
AC54aKmP7iy50yJPM3wV0w2O6hAk/PBADvgMQafA7RiydkhVR/
YFRna4Qc0fDMmXB3MDGn5YgIebAoBr8HWM2zoUCsP6hGc8VLNmz4tE06OYgA8/
JGEHmRZQ28HpGrZyCYYH8xKv/7skTkD/
AAAGkAAAAIsizmgBkpbgAAAaQAAAAlmjSWwYzjgM9RBozd0oabeAMRiifCkrD3AKEOPCJZs6BwmeR9EONPT
wuc4dGiG/
gK8aJnwIq49sECDnoSGcOhGTXQB2EET0sVWctl0DjwMsbKgOparfZ28kxBTUUzLjEwMKqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqCADYFhsEyWSyWZls
sEwmCQSCQSDA8LZbJ5LJZLJZmflgsEwkEgqFQwPC2WzMzK5XOzNWWDwwMCoVDhYoVn5+dnZ2dr1ag8XPRkk
SRJZWjqJJ7QrEolB4WzM7K52dn5bLZMMCQVCocGBYLBPMyWVyuZmZPLZMEgkFQqGBMJhYJ4lkslkszJ5PJ4
6CQSCQSCQTCYOgjiWSyWSyWTx3HcRBIHAcCQJBMHQdBHEscxzJYlk8dx3EQQBAHAkCQIgiDoI4hiGOYhiWI
4jjuIggCAIAgCQIgiCIDcQxDEMQxLEcRxHBoIAgCAIAiCIRegAEtAOA8BIBQCgFAkBIDoDQGgRASAklJOSC
lyJcS4nRBiVEqIMPUQklpCSEkFJSSkgo9JCh/
EKIUQYlRKiDD1EJHCOEekgo3R8kFHpIUOIcQ9RBiDDeIMPUQkcJbRwmCIacohpYRJiTFuLESYkxCiVEKIKQ
Ubo3SCkJJaP0hJOiDD6JUQYhRLiXEKJyQUlJKSCk5JaS0hJOiDEqJUSonRLiXEKJyQUlJKSUk5JaWElpci3
EqJUW4nRcixEuLiW0lJPS2miXEyS4mkW4lf/
7skTbj0AAAGkAAAAI6sz2cSUsAIAAAaQAAAAkbzPZFMe9uBPi/
GkZRlGUaJbS+l9L6aJknCZJ1GkX4vxfjSOo4jKLiTklI+SUltLiWEsJcidEqJ8T4txci9FiMktpPSek9LaZ
JwnCZRpF+LsbxfjqOvaaTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqq+dAN9RCaFIH+EbNgTRlBUH0LeI2IoEYIyCnVQKsrwvBGBFwjZRApFkHIUgX4gZQC4HaIW0ibm
ONwdBRi5ncIQsA5B4BxhKxoAqCegXzzCPjrFcDoHuGrL8EcOAQgYg+xDziDUFYJ+LGVYasoBCENCrOsXAGI
X4QhQiTnGNwYhdxYy+iFo4SQ4BvjHMAE4N4C4YoJsY4cAQQgYJ8goF81gTAxA4wg5GATg9QFw+hXyxkoFgP
kTMuIk6DFcJYSsWM9hMDKEkQAr4/
yeCwHaJmZIk55iuD8J+LGdwhhYhJC8DDHGbgmB+iHl5EnL2PgcBviZn8JoXoVwsA+xxnYJgcom5iivljHwL
gd4mZzCaFMK4WAkYuaQEwOkTcrRXyXkgFwTImaHbQiBkRPCkWgeEocRBIATEwDwRCKJJKEIewlJ4ij6ThCJ
IgjwExMEoXE0GpWCYrhKTy4l5OonR+kpPwfSEGkTY6Scn8So/x8nGrUaqkOYT9Uh/Kg/kEfI/
WAcTmN1yLqlVQglcZLeoiUqYkSjN01E8WJQlubSQqA3jXVpJWY5YRvM6JPpiOJ6c0purCKPttOF8cshvLaR
QMI4opzXN1YSSClOGxy//
7skTkjwAAAGkAAAAJJez2RT3vbgAAAaQAAAAjyzPZFMY8+UN5pSKBkOLRzbO1oTCChnDs5anctJk8YBxYOa
MdqykDyfmTUlL0mSOPcxWQf0IlSuJijTsL0zj9ekpVpRIUd5eWQfzESpXFChJ2F6VZaRCNTEFNRTMuMTAwV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUFALWBZDvMxcJY
hVxgODpC3AeA9rOFAa8qwBjzbADtDdgsZsEZVhRxBEEsMhQywdwDcNpTEoQxGYAhplEHZDPgb5qMYWiKApE
CqMwRbQO4ekHeZowI+hfhmuczC9T6E8rNCAK8cgIHmNAGiReBYDUI1lGVBYprYDyj8wHQ6tMswpYcqBZGQ4
doTAdQmrQ5IYmCWGQIlobICxmoxheQzFYARYCcLdFzgcBrOAHFSQiiAUAaI94PIAxmhAFeSTEMAAkFSIuhp
zcAzrBDiGQWeYTA6pXEJIbxmZQNiMTCrjEUIsTgB5zcIyrCkBWAMaZRBlR8YLAbSmJgXiIIglhkGHaGwAcZ
sMYWiKAXgBFmcAtkTGAwGs4AcKxCkQCoBNGtB4AGM0IArxiANcAEgaRF0NGbgGlIIcQvBDzCYFRKPBIDeMz
KBryo4CuMRwdYm4DxmwhlWFHEjwA0ykCKkXwWA2lMjEh9ffeYJ8ULllacbMTXKDJFbzBthQucVpx8w2uUOr
R08bYULnFZYfHG1yh1aOnh9hQuHissJyAjIJEIaEolSIyBHiIUtgMQiecGHmIAAWkYaOGHpgMQiecNHmIAA
WlBo//
7sEThD1AAAGkAAAAJZY0V1WMYbgAAAaQAAAAiqrPZwJMn0IYTTAYgjZw0eQQAAs6DRwwmmAxBtnDR5BAUF1
oKmhxG2KxhWaxkfQQFA2tipocRzFYwrqxkfJICgbLYqaHCeYrGCurGR8xAgGy0bNDhNqpMQU1FMy4xMDCqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqHcGABQWDiSAFYUWGAObAZkDM
OiwTIHXA1RGoIGclgnACedUACoKgeRAy4Cgc0ATJbQBRBqC34KyF1FowFEGsLZgKQISXEB2gostIBpAxpcA
DRAqC24RkGqLZgqIJYWrBUgAkuQEaBCyzgOkBGhQAOiATI6kQTigZaLkM8B24sI2RFSEVjcMkQLbMiQLgwA
OpAJkDAO5jFUDIAcgJcAjOQwDgsmdimWgCOB4g1RdQFSBjS/
gKsAEl3AzQIWW7B0QSwveDqmFBf8MyBVBYARICNQEA6RgSXsDtARYhCGRArC+4RExoLziWQCgRCDnABoiAG
SMSS+gtYwJFRiTQCoVCHRMqBUI1UwoGCCzjAscEJSMhxgBFYxHHSjzTCohGLNM5h0ZNUxmIDETjEskINOMx
yQRWkyFKpyhJjQWCjzTSYsFJoGUhVQULMiSUxEo0FJSEUzMMgSRIMqCA5Qk0kHCjSL0kTQiqyioWkgEADiw
cLGlgMmT4ICILYgQIcHB00SwsBk4BARBIwIABCwcHTRPCwGTgEBEEkAYDCBcRhc2hbC5eBwgPHnCQgSs6jP
4AwGTSKIBCGgAAEESwsLTwmDk6KIBCGkAQhJZM//
uyROQPAAAAaQAAAAlhrPXlYxhuQAABpAAAACLZM5skZJtIenhMHJ0ICAhBMAAAhIsLC00AGAyZwgICEEwAA
CBosLC7QAYDTOEBARCYAACBosLC7QAYOmUCBARiYABECwcLH6QAYPZQIEDMJgAEwsHCx59MQU1FMy4xMDBV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQVQAj0AlF+mlhYIAKWlcVD
IABNxQ5LMAqAAiMombAwYBABlJdMLAizQ0xDb0vcYAgZKZqnQBUaWGMD3ggppUBjKSWyDBmAZeGKFujAEFF
WasoEiMIkAUbLcmEAKMt5Q0EDMAUUYgDQGAYODA6FQQoWUmuh3ECRCRNJ7EBoYUaCrhNowgQVaYhOAIiySu
mklpTEFDZr6AkADLIsFYEWmARkNWcF5gCIs0y5cpZkBFSua2XNAAy0rTVMizQCMmq0gLgAIi0zrKAgYIGKn
0zMKBAAy2sCpDAYQGMr1hAVAARFypEkKBggoqzlHwoMADLw0SEoDCBRmKqPA0QBEgGp0AoGKDgseVRBgwAN
B2YQDAYwOE1BRYGiAIkVo6XJAxQgLN0yQQUADSJhouUBjBgmmIzAkgBAmM7JbUDJDAsvRlBBQAFQVwi2w8q
3tQhAQABsNg2REAUBBA2KAwSRIwuCaNgVhsnaIAoKEExQGCRkuFwujgKw2J2igUCiDRQGBIyXC4XR8VhsTv
KBQKIOKBIKCSJGKxWbXIxWjkgFAoEjRQKBRBMVhsTslwuF0cBQGBIfKBQKILFYbE54uFwujoUAgJD5QKBQk
4rBM//
uyROOPEAAAaQAAAAlJjQX1YxhuQAABpAAAACMzM5qglKW4NnjoXC4r5ACAYNpBQKCjCMEw2YTC4XFekAIBg
2kIAoKIIwTDZhURhcVzQAgGCdYgCgoYRhcNiRUjC4rbUFAYE8iAKChhcVhsSRIwuK21CRVjTpcSEmjk3h9E
6SrYZRCi3QjdHyTlLMZ0kJLbBP4fROkawHUQot0JEkhIKjmM6SEk5YUUSIgyNZDqIUTpiRJPSCnEfiSAUCJ
iVgLADB6elYPhqACEMGpZAkFRJMQhCkvjsB4EQliE4JgHC6RFBIJnhPCUBoe8IwIhKpIATAOD54RQSCY+IY
SgND10RgRCU9LgdAOBk8TQSCYyK4cgNBiek4EQKmJUDoDwGj4mgkAonFcOQOgZPT4EQEiScCoDwGiceg2AU
JRmKQOgZJp8DUBIkmAqA8BonOg2AUIR+QQOgZHV4GoCRBPCEB4DQjcDYBQhFsTwagZCm8VYQNeZTAOdN80Q
OAqU54wRcTMG4kAZwWMbhwq6ETHNIDbRrc20wssJWm6iMWA8U5ZxBUHcHVEFZRM47ICVsSqNRgZbDozZXFF
B7E20yVoatNVkgYDJDYWIUybY2FBxkmyNJosLg6s11yUootNFERpE0Bmrlg4FOGggOIiV5kMGoCEhmtkax5
0tiF8GqAvQC0mKUbSRmwhhR2RDPBtp1yKYJ0Huo5YfqeaiLZG46aHcj6z1Yq1KbHiwX0V4OuypYXYebktCf
B3uDMkczlwkqHvPGBiY/s6WBOBeBz6OyDYHfIjgL8OeQBcTucPCkwfM6aEEQ/
5ywYaBtDf8QwBdDrsKuDeHHJhJ//
uyRP+PEAAAaQAAAAj4TOZAPexeAAABpAAAACYFNBbVnGfRg7czHgseBtzSaBBoSGZzRipArQzYQaYbQBotg
UoFgGa2YyIC3MqAEFm6GZzRgEgcMymjLONwAyYQKQbghmtmGMAwDJbMw03QzGgMAc3RzKaMQU4QTGaM8o3B
jFhMMI3CDJbMcI4AjDbNAk2yTCgMQE3SzGaMgEi/
o851WQAJ0OAVEhBYDzwLBQJCWiIQg4fBUjCJNyERDbI0QDxLyIQlGhkjNT7zErJ3S8cGx7xkVUjxdOzVd5y
Vm3S8cG5mVB2uJN
gR0umA7lhsrElGdB4bYSHwiJnHAdGG1xwJCV50DhthQfCImYOAeMPXHAaErZ0Di7lB8GSZg4HyB644JjLYf
DxGyoPiU0oHg+QNLjgmMrh8PEbKAfEppQPDaBpGLCZlMHQcI0JAEwJNHAeB8gREYcAoydB0HEZCQB0CWiwP
A+gIhWHAKBS0CAAeaHqpruGNGM0AmU2LDrXA4gSac5RuMmXEIKQpMZbpsGHGCHnHMSb6xnRhWgQzmQ8a55w
BC5JzjHAqaMAMnFKDFhNRI4Rx8o6BTjSNJ8CzDtJhRGmqbxBSSdIBxImq8YE5UoMGM0FjdNIxwGqcZxsPmH
IOVgCIzWzcMEwB9YBamyIbCZjuEEYIiMd0yxR7gHfG4KaphiKjrQNdGJjAeNVMDeC5RzDnCoaj4BiGZwLCa
ihvgkZJzhHEma7hhRkEwIiNNc3Aikc5gTjQNh0xYiScKxmgwbY4+IBzjkPNtoyIxmYQSGe2bRQmOCzTlMNx
ky4BFOKymY4bJoaAEnHMWb6xnQheYcmM//
uyROoPIAAAaQAAAAjMLPZVJYm2AAABpAAAACZFNJaVjOQAl81jgeGHmnOMcCpovAycsTmNAaqIK8FzjoFON
Q0nwLIQzGLGaSgC/
IzTpCOJM1XABKKUmBEaK5uBFJYDROU41mzDkENABlM5g2xR8gDpHMabLRjRhSkETGa2bRAuWD0TnKNpkyYg
bQFZzKcNksPEDUjmJN1YyoQJSIKDHfNY4JHE0TpGB3MswtZqHEBgWTBAQSmRCx4QQByMswiJHE6MgQHW0JO
8kQEaM4wiJHE6MgQHW0JO8kQEaM4wiJHE6MgQHW1SdwwuHxUoOngw2NpHCFeYXXGGCpuQYgFGBtssYiG5he
YwwVNyDEApAbbLGFQ3MLzEDB02sGMCkBG84YTDfC+iBx02kGOFMEbzhhMN8L6IHHTaQY4UiI2ihhcT8LyED
Jc+oJNCkRG0UPLieAXkIGS59QSTCliNooeXE4RjsC1RnLi2IFaNkYcTNhcLIHRWNEGqsNXABs1gxlQ2Vhkk
2WBYc1FyKkwWjXAES5sKkBRsMhwBrrFaZiNgK0QrGukVTTZYLpmwuRSGO0BrgoyayZKcbC6AA2VhqMyHQdS
DWjXQHETZWLvm0uJOGW4EVAhs1DxVI2FwoMaJjPzaLBzBkrD0QWhMM4GDmkWxo1xAceYyJWUaLhWox8OYgR
M8RJSH+AKOctkUzF84BAtDy4YKfolmDroaYZfAMQAueGipj+4sudMiTzN8FdMNjuoQJPzwQA74DEGnwO0Ys
nZIVUf2BUZ2uEHNHwzJlwdzAxp+WICHmwKAa/B1jNs6FArD+oRnPFSzZs+LRNOjmIAPPyRh//
uyROKPcAAAaQAAAAiyLOaAGSluAAABpAAAACXLtJbVnAvgB5kWUNvB6Rq2cgmGB/
MSrPUQaM3dKGm3gDEYonwpKw9wChDjwiWbOgcJnkfRDjT08LnOHRohv4CvGiZ8CKuPbBAg56EhnDoRk10Ad
hBE9LFVnLZdA48DLGyoDqWq32dGTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoNhsNisLhcLisnEgkDAoCggIBQSCcTisViMRk
YrCwgIAAABAQEIDAsLCwGDg4OTHjAgIBAQEBCAweFhYODiwcmmMCCSWmkSMyRIoscSJDCcVkZGRkZOTk5IK
CAgICAkJBIGxWRkZGRk5OJwwKCAQEAoFAkEgbFYXEZGKxWGxOGBQFBAIBQKAwJA2FwuFwuKw2Gw2GAoFAoF
BQGAwGA2CYXC4XFYbDYbBAEAoFAoGAwGAwCYJhcLhcEw2Gw2CAIBQKBQEAwBAYA2CYDhcLgmGwLAsDAIAIF
AQBAMBGBVEuLkTolRKiVFuJ0XElpLSckpJSSknJBS5EuJcTogxKiVEGHqISS0hJCSCkpJSQUekhQ/
iFEKIMSolRBh6iEjhHCPSQUbo+SCj0kKHEOIeogw3h9EGHqISLiXEsI6Rij0jdHKO4lRcixEmJMQolRCiCk
FG6N0gpCSWj9ISTogw+iVEGIUS4lxCickFJSSkgpOSWktISTogxKiVEqJ0S4lxCickFASAkBIEQGgZAaB4E
gFAKBICQHgNAOA6CICQKgiDUDoUgd//
uyRNEPcAAAaQAAAAjbDOaAJMmaAAABpAAAACRYs9kU97MgBsCQCgLBMDYKgqCoGoIhKEoSg1CkPQpEYGwTB
MEwNhGD4KhFBqEoShKIIijqOojCEIQdDkIQjDsOw6iSOI4jiJJNH0dScJQ5DkORKJxP9NVMQU1FMy4xMDBV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUG+ogcglA/
wjY9gUjKCoLQI+I2IoEYIyCnVQKsrwvBGBFwjZRApFkHIUgX4gYugNwoQU6XBzjzC8C4GWDfLsCkSgOQeAc
YSsaANwnoF88wj4tYcASgbIKsvwFw4AbAvCYiFmkDAOgJGIGSMLsmQhCGhVnWLgDEH0CkMkE2ScLwNAd4Mc
fIF84gTBJAvwlY7ATg3gLhigmxjhwBBCBgnyCgXzWBMDEDjCDkYBOD1AXDaBhixiuBBCzBPkJAvleEMDoFf
BjlUCcHECYKQIeHOK4DEKEDGP0E2TcKgOQYYMcuwKgfwJgmgVYc5IAThPQVY6QTY6wqAwCRgnyfAqB1AwBi
BnhGyYAnC2gqx4gwxjiOBGDDBPluBUDOBgCwCfg3zABOE5BzjVCBh1ieA3DPAxly2gTwpIojCUOIgkAJiYI
w/
CKJJKEIewlJ4ij6ThCJIgjwExMEoXE0GpWCYrhKTxJFpOBsVQlKgTEwShcTQalYJiuEpPEkWk4GxyEpUCYs
B0blsMTEBxcBVYC6AWBkZBSnJwgpg6Px5GB0Hx6ISUOTwehuch6fCC0HR+PI2Og+WiFCHJoPQ3Sh6uEGAOj
cgjFoPnRCuHJo//
uyROMP8AAAaQAAAAkxTPYgPe9uAAABpAAAACORM9kAxjG5QhlCHthBoHSCQRjAH3CF4pQBOGTYe+INRUbCe
LWA+wQnhSakAXLwpqIK0VFohi1YFVhCXCkskAXLwpWiCtFRaHsWqAqXCEdCksjwLlYbUpVMQU1FMy4xMDBV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNBACTwCwN1sxpCVkGqGMaBng0Q5gjjRNZwEq
lVgEKmmsbgIPLA15pEGSiDFiBcCpGQSERBFACoNMkxkAquMrABMyxgyEHVmqCaBRipiBYRLmCgZgolMCqDi
MN1kzIAvODZDMdNkwTBOUU4TzcwwzGLBSplYbgj6gGg5GNpyrAEHBMBsI1Y+CAVzbMgYVZglhgGJOFsAb5m
kMYFMgGBqKHmF4AOZwUZajuRXBgiaxC6ROZ2Ab2mKhUwILmNxsCNqDYHcZucYakmQvYyNAXiNITM7ENrwBY
dwFKmVgG6V3B8Dqc1QBNxTINoZlg8ROwFzOiDTEGWEeAJM0oCQj7wPA5pM0grcLXAMjUcNMLsAbzgoyzEFg
rYwRNZBMoe87AOLTFQR3BlzG42DGzBrDuM3MMNRiwJsYnm8A+kJedCG14AoQ1AFTKwDdKVA9h1ObHAWpUoY
aGZYLEToA7zkg1xBFiSpimaUA8I+sBsOazRIv/
l98DAEPME+KFyytONmGyMQDJFbzBthQucVpx8w2uUOrR08bYULnFZYfHG1yh1aOnjbCRc4qthpAaNFDZZJg
UisgR4iFLYrKMrrHjajAoLtKKmjC5OCYwhRoh0ToCQEBtEgQj//
uyROkPAAAAaQAAAAlxDRXFZzheAAABpAAAACLCM9nUlKW4wkRk4JiBDNYybQMCgutBU0YRtisorNYybQMCg
utBU0OI2xWMKzWMj6CAoG1sVNDiOYrGFdWMj5JAUDZbFTQ4TzFYwV1YyPmIEA2WjZocJtVMQU1FMy4xMDBV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTTQqxDOHcwguCqHNgMyBmHRYJkDrnYoXsB
pnJYJwAnnVAAqCoHkQMuAoHNAEyZAHQ5hoBnngYJsZwnQ4BwYxnUxiqAkHkAEuZBHUhgyYCHQploYwgOIBs
YynQZhwATnUBmeWYCTACIAEBvACYUIAsmOhecFVPZiQIbg1mBP0WzB0hMRSNwyRAtsyJAuDAA6kAmQMA7mM
VQMgByAlwCM5DAOCyZ2KZaAI4HiAbAQhzAYMgQB3EZqgAALkYLgk4DKY8AkZ0CaaAUYPiY7AxAHMYsgwgDU
aqgggTIyVCqwWUy4CpwOk10Bpw2JnoFmBJjNkQIBajZMKGE5GiohaGlNOBGsHlN8hCkXaa5CjhMxouKMDTH
CYiUPuNkxmIuE12HWh5TjIZWRtNsCCA+I2XJHCYjlEgYV1N0SrMnCbaFiI2E5wLDSNBxcSyJvm6pDAi8dHk
Lh85waOVHuG+Q5Mo6dXDERMF6SATtEgYIORkZOZTJw2R8gIDDSRIGEGkZG2yuThsnAICIJKEgYQTIyNtlcn
FaOBAQMNICQMIJkZG2h0Vo8ICAkZUJBQcs6Rn8FYXI2jgoEhJooChAydFYnR4KwujaOCgSMaKAogiXFYnbY
FYXR//
uyROgPcAAAaQAAAAljzPXAYxhuQAABpAAAACLws5pUkyaArFBQJGGxQFECpcVidtgVhdGsUFAkYbFAUQKlx
WJ22AuF0axAKBJBsKBRhUjJyebAXC7axASEkEYUFDCZGTk+kgXFbZwgJCTCcKCjDpGJza5MQU1FMy4xMDCq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqogFAO/
SqLTBFm5oCS0peGEp7FsTINA18AaQxiAhJsP0tMW2V9BJe0tqgBkCRxaUtqr14gKQxiAwofEAzKQygTOXiB
DmIYKDDAXEZCmIKcK0gCYxiBwoDCwzKQuM1JkJaktqj7JEBRaVHGwkUBQBknWKgQIECoV1TloS2IkWBUOxl
IXhZIXWMJgEpK5VUsqZioPMHLqmBIGKnSmkBQGciDrEC4RhQBjK6SpAgTMNIph5Z0xJBRVqoZAEBnEmCwAs
8Y0AoTJkEoACZgqbLzLKmJIOC2pe4AgM4FNVkAUBjMWub4uqYAgJK6ltgQJiOW9fItUYQAJTLVEgCAxmL5Q
OWdMAwMlpydoACYjl8YcLPGEQKU6qSxhEYzIbQ2BAmIYKTAyOpgGYjo4wAAQGMQOVJkGjCIxkSuesABMQQg
sXFAmIZiKpa2IwiL1WsYVFACAgCDGjRGQE5IOtCkiEJQuSE5pkmVLLlG0BlolWKqF0CM0yTISJcojQHnkqI
hSOoEZ9xMhIkziNAeJlVipRGSGzRKiKnC6BGOkoWKjRGQD5geJhSWGSAjMGx0lFRCIiMgJzA8TCkiEJQuSE
46ZFRCIi5QnJB40//
uyROGPEAAAaQAAAAlJzPYIYfhgQAABpAAAACMjs9kgYyQAKSIQlBskJxYyKiERFxgnJBc0GSIQnBskJxYyG
iERHRgnJB80GSIQnA+QE44eExKIioeI0A+fEpMKSwfICMweExKKioeIyAnPiUmFJYZID+VMQU1FMy4xMDBV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBVYKlEZh7JMI
RoPEZIbc0SiIQjJATmHskwpEQ0RkhtzRKKhCMkBOYeyTCkRDRGgbc0SioQjJAjYeyiISIsRmD6k+MSUPJBK
h+oRqTIkl4pHZ4jUnxiORBE8kH6JUemQ4kITiWWEak+MRyHkTyQW0So9MhxHoTiWWFaI+MRyHkTyQfqEZ6Z
DiPQ//
uyRESP8AAAaQAAAAjYrSTCJSxuAAABpAAAACAAADSAAAAEnEs8VolRiOQ8kEkH6hGpMhxHohEs8VolRiOQ8
kEkH6hGpMhxHoLhzJhugGwihMCoWjgTywgmojBKCwXDmTC2gGw6hMCoOjgT1EeJUxfXorJMQU1FMy4xMDCq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqq//
uyZAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAETEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpMQU1FMy4xMDCq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqq//
uyZAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAETEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpMQU1FMy4xMDCq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqq"

writefile("Ethereal/Hitmarkers/TARKOV.mp3",
crypt.base64.decode(Tarkov))
writefile("Ethereal/Hitmarkers/SIGMA.mp3", crypt.base64.decode(SIGMA))

HitmarkerSounds["SIGMA"] =
getcustomasset("Ethereal/Hitmarkers/SIGMA.mp3")
HitmarkerSounds["Tarkov"] =
getcustomasset("Ethereal/Hitmarkers/TARKOV.mp3")
end)();
end;
end;

do --// Lighting Properties


Properties.Lighting["Ambient"] = Lighting.Ambient

local Atmosphere, Clouds = Lighting:FindFirstChildOfClass("Atmosphere"),


Workspace:FindFirstChild("Terrain") and
Workspace.Terrain:FindFirstChildOfClass("Clouds");
local ColorCorrection = Lighting:FindFirstChild("ColorCorrection");

Properties.ColorCorrection = {};

Properties.Atmosphere = {};
Properties.Clouds = {};

if Atmosphere then
for Index, Value in next, {"Haze", "Decay", "Color", "Glare"} do
Properties.Atmosphere[Value] = Atmosphere[Value];
end;
end;

if Clouds then
for Index, Value in next, {"Density", "Color"} do
Properties.Clouds[Value] = Clouds[Value];
end;
end;

if ColorCorrection then
Properties.ColorCorrection.TintColor = ColorCorrection.TintColor;
Properties.ColorCorrection.Saturation = ColorCorrection.Saturation;
else
Properties.ColorCorrection.TintColor = Color3.fromRGB(255, 255, 255);
Properties.ColorCorrection.Saturation = 1;
end;
end;

do --// Visuals

do --// Ticks
Visuals.RadarTick = tick();
end

do --// Tables
Visuals.Enemies = {};
Visuals.Items = {};
Visuals.Lines = {};
Visuals.Hitmarkers = {};
Visuals.HitDamages = {};
Visuals.ColorSets = {
{Color3.fromRGB(200, 80, 0), Color3.fromRGB(120, 119, 255)},
{Color3.fromRGB(50, 69, 205), Color3.fromRGB(120, 119, 255)},
{Color3.fromRGB(100, 101, 255), Color3.fromRGB(255, 60,1)},
};

end;

do --// Elements
Visuals.InfoContainer = Instance.new("ScreenGui"); do
Visuals.InfoContainer.Parent = gethui();
Visuals.InfoContainer.Name =
"9391203j312i3kashd9q312093ajsdokake219183213h";
end;

Visuals.ESPContainer = Instance.new("ScreenGui") do
Visuals.ESPContainer.Parent = gethui();
Visuals.ESPContainer.Name =
"9391203j312i3kashd9q312093ajsdokake219183213h";
Visuals.ESPContainer.IgnoreGuiInset = true;
end;

Visuals.RadarContainer = Instance.new("ScreenGui") do
Visuals.RadarContainer.Parent = gethui();
Visuals.RadarContainer.Name =
"9391203j312i3kashd9q312093ajsdokake219183213h";
Visuals.RadarContainer.IgnoreGuiInset = true;
end;

Visuals.Flybar = Instance.new("Frame"); do
Visuals.FlyInvert = Instance.new("Frame");

Visuals.Flybar.Parent = Visuals.InfoContainer;
Visuals.Flybar.Size = UDim2.new(0, 200, 0, 10);
Visuals.Flybar.BackgroundColor3 = Color3.fromRGB(0, 0, 0);
Visuals.Flybar.BorderColor3 = Color3.fromRGB(0, 0, 0);
Visuals.Flybar.Visible = false

Visuals.FlyInvert.Parent = Visuals.Flybar;
Visuals.FlyInvert.BackgroundColor3 = Color3.fromRGB(0, 255, 0);
Visuals.FlyInvert.AnchorPoint = Vector2.new(1, 0);
Visuals.FlyInvert.Size = UDim2.new(0, 0, 1, 0);
Visuals.FlyInvert.BorderSizePixel = 0;
end;

Visuals.ManipulationBar = Instance.new("Frame"); do
Visuals.ManipulationInvert = Instance.new("Frame")

Visuals.ManipulationBar.Parent = Visuals.InfoContainer
Visuals.ManipulationBar.Size = UDim2.new(0, 200, 0, 10)
Visuals.ManipulationBar.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
Visuals.ManipulationBar.BorderColor3 = Color3.fromRGB(0, 0, 0)

Visuals.ManipulationInvert.Parent = Visuals.ManipulationBar
Visuals.ManipulationInvert.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
Visuals.ManipulationInvert.AnchorPoint = Vector2.new(0.5, 0)
Visuals.ManipulationInvert.Position = UDim2.new(0.5, 0, 0, 0)
Visuals.ManipulationInvert.Size = UDim2.new(0, 0, 1, 0)
Visuals.ManipulationInvert.BorderSizePixel = 0
end;

Visuals.SelfHighlight = Instance.new("Highlight"); do
Visuals.SelfHighlight.Parent = gethui();
Visuals.SelfHighlight.Enabled = false;
end;

if GameName ~= "Fallen" and game.PlaceId ~= 3221241066 and game.PlaceId ~=


17772691665 then
Visuals.CrosshairPart = Instance.new("Part"); do
Visuals.CrosshairPart.CanCollide = false;
Visuals.CrosshairPart.Transparency = 1;
Visuals.CrosshairPart.Size = Vector3.new(1, 0.2, 1);
Visuals.CrosshairPart.Anchored = true;
Visuals.CrosshairPart.Parent = Camera;
Visuals.CrosshairPart.CFrame = CFrame.new();
end;

Visuals.CrossAdornee = Instance.new("BoxHandleAdornment"); do
Visuals.CrossAdornee.Parent = Visuals.CrosshairPart;
Visuals.CrossAdornee.Size = Visuals.CrosshairPart.Size;
Visuals.CrossAdornee.Adornee = Visuals.CrosshairPart;
Visuals.CrossAdornee.ZIndex = 1;
end;
end;

Visuals.RadarFrame = Instance.new("Frame", Visuals.RadarContainer); do


local RadarFrame = Visuals.RadarFrame;

RadarFrame.Name = "RadarFrame";
RadarFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0);
RadarFrame.BackgroundTransparency = 0.750;
RadarFrame.BorderColor3 = Color3.fromRGB(0, 0, 0);
RadarFrame.BorderSizePixel = 0;
RadarFrame.Position = UDim2.new(0.268262744, 0, 0.181272507, 0);
RadarFrame.Size = UDim2.new(0, 254, 0, 254);
RadarFrame.Selectable = true;
RadarFrame.Active = true;
RadarFrame.Draggable = true;
RadarFrame.ClipsDescendants = true;
RadarFrame.Visible = false;
local UICorner = Instance.new("UICorner", RadarFrame);
UICorner.CornerRadius = UDim.new(1, 0);
end;

Visuals.RadarClient = Instance.new("Frame", Visuals.RadarFrame); do


Visuals.RadarClient.Parent = Visuals.RadarFrame;
Visuals.RadarClient.AnchorPoint = Vector2.new(0.5, 0.5);
Visuals.RadarClient.BackgroundColor3 = Color3.fromRGB(255, 255, 255);
Visuals.RadarClient.BackgroundTransparency = 0;
Visuals.RadarClient.BorderColor3 = Color3.fromRGB(0, 0, 0);
Visuals.RadarClient.BorderSizePixel = 0;
Visuals.RadarClient.Position = UDim2.new(0.5, 0, 0.5, 0);
Visuals.RadarClient.Size = UDim2.new(0, 7, 0, 7);
local UICorner = Instance.new("UICorner", Visuals.RadarClient)
UICorner.CornerRadius = UDim.new(1, 9999)
end;
end

do --// Functions
do --// Skybox
function Visuals:NewSky(Data)
local Name = Data.Name;
Skyboxes[Name] = {
SkyboxBk = Data.SkyboxBk;
SkyboxDn = Data.SkyboxDn;
SkyboxFt = Data.SkyboxFt;
SkyboxLf = Data.SkyboxLf;
SkyboxRt = Data.SkyboxRt;
SkyboxUp = Data.SkyboxUp;
MoonTextureId = Data.Moon or "rbxasset://sky/moon.jpg";
SunTextureId = Data.Sun or "rbxasset://sky/sun.jpg";
};

if Library.SkyDropdown then
Library.SkyDropdown.Max = Library.SkyDropdown.Max + 1
Library.SkyDropdown:AddOption(Name);
end;
end;

function Visuals:SwitchSkybox(Name)
local OldSky = Lighting:FindFirstChildOfClass("Sky");
if OldSky then OldSky:Destroy() end;

local Sky = Instance.new("Sky", Lighting); do


for Index, Value in next, Skyboxes[Name] do
Sky[Index] = Value;
end;
end;
end;

do --// Creating skys


if Lighting:FindFirstChildOfClass("Sky") then
local OldSky = Lighting:FindFirstChildOfClass("Sky");
Visuals:NewSky({
Name = "Games Default Sky",
SkyboxBk = OldSky.SkyboxBk;
SkyboxDn = OldSky.SkyboxDn;
SkyboxFt = OldSky.SkyboxFt;
SkyboxLf = OldSky.SkyboxLf;
SkyboxRt = OldSky.SkyboxRt;
SkyboxUp = OldSky.SkyboxUp;
});
end;

Visuals:NewSky({
Name = "Sunset",
SkyboxBk = "rbxassetid://600830446";
SkyboxDn = "rbxassetid://600831635";
SkyboxFt = "rbxassetid://600832720";
SkyboxLf = "rbxassetid://600886090";
SkyboxRt = "rbxassetid://600833862";
SkyboxUp = "rbxassetid://600835177";
});

Visuals:NewSky({
Name = "Arctic",
SkyboxBk = "http://www.roblox.com/asset/?id=225469390";
SkyboxDn = "http://www.roblox.com/asset/?id=225469395";
SkyboxFt = "http://www.roblox.com/asset/?id=225469403";
SkyboxLf = "http://www.roblox.com/asset/?id=225469450";
SkyboxRt = "http://www.roblox.com/asset/?id=225469471";
SkyboxUp = "http://www.roblox.com/asset/?id=225469481";
});

Visuals:NewSky({
Name = "Space";
SkyboxBk = "http://www.roblox.com/asset/?id=166509999";
SkyboxDn = "http://www.roblox.com/asset/?id=166510057";
SkyboxFt = "http://www.roblox.com/asset/?id=166510116";
SkyboxLf = "http://www.roblox.com/asset/?id=166510092";
SkyboxRt = "http://www.roblox.com/asset/?id=166510131";
SkyboxUp = "http://www.roblox.com/asset/?id=166510114";
});

Visuals:NewSky({
Name = "Roblox Default",
SkyboxBk = "rbxasset://textures/sky/sky512_bk.tex";
SkyboxDn = "rbxasset://textures/sky/sky512_dn.tex";
SkyboxFt = "rbxasset://textures/sky/sky512_ft.tex";
SkyboxLf = "rbxasset://textures/sky/sky512_lf.tex";
SkyboxRt = "rbxasset://textures/sky/sky512_rt.tex";
SkyboxUp = "rbxasset://textures/sky/sky512_up.tex";
});

Visuals:NewSky({
Name = "Red Night",
SkyboxBk = "http://www.roblox.com/Asset/?ID=401664839";
SkyboxDn = "http://www.roblox.com/Asset/?ID=401664862";
SkyboxFt = "http://www.roblox.com/Asset/?ID=401664960";
SkyboxLf = "http://www.roblox.com/Asset/?ID=401664881";
SkyboxRt = "http://www.roblox.com/Asset/?ID=401664901";
SkyboxUp = "http://www.roblox.com/Asset/?ID=401664936";
});

Visuals:NewSky({
Name = "Deep Space",
SkyboxBk = "http://www.roblox.com/asset/?id=149397692";
SkyboxDn = "http://www.roblox.com/asset/?id=149397686";
SkyboxFt = "http://www.roblox.com/asset/?id=149397697";
SkyboxLf = "http://www.roblox.com/asset/?id=149397684";
SkyboxRt = "http://www.roblox.com/asset/?id=149397688";
SkyboxUp = "http://www.roblox.com/asset/?id=149397702";
});

Visuals:NewSky({
Name = "Pink Skies",
SkyboxBk = "http://www.roblox.com/asset/?id=151165214";
SkyboxDn = "http://www.roblox.com/asset/?id=151165197";
SkyboxFt = "http://www.roblox.com/asset/?id=151165224";
SkyboxLf = "http://www.roblox.com/asset/?id=151165191";
SkyboxRt = "http://www.roblox.com/asset/?id=151165206";
SkyboxUp = "http://www.roblox.com/asset/?id=151165227";
});

Visuals:NewSky({
Name = "Purple Sunset",
SkyboxBk = "rbxassetid://264908339";
SkyboxDn = "rbxassetid://264907909";
SkyboxFt = "rbxassetid://264909420";
SkyboxLf = "rbxassetid://264909758";
SkyboxRt = "rbxassetid://264908886";
SkyboxUp = "rbxassetid://264907379";
});

Visuals:NewSky({
Name = "Blue Night",
SkyboxBk = "http://www.roblox.com/Asset/?ID=12064107";
SkyboxDn = "http://www.roblox.com/Asset/?ID=12064152";
SkyboxFt = "http://www.roblox.com/Asset/?ID=12064121";
SkyboxLf = "http://www.roblox.com/Asset/?ID=12063984";
SkyboxRt = "http://www.roblox.com/Asset/?ID=12064115";
SkyboxUp = "http://www.roblox.com/Asset/?ID=12064131";
});

Visuals:NewSky({
Name = "Blossom Daylight",
SkyboxBk = "http://www.roblox.com/asset/?id=271042516";
SkyboxDn = "http://www.roblox.com/asset/?id=271077243";
SkyboxFt = "http://www.roblox.com/asset/?id=271042556";
SkyboxLf = "http://www.roblox.com/asset/?id=271042310";
SkyboxRt = "http://www.roblox.com/asset/?id=271042467";
SkyboxUp = "http://www.roblox.com/asset/?id=271077958";
});

Visuals:NewSky({
Name = "Blue Nebula",
SkyboxBk = "http://www.roblox.com/asset?id=135207744";
SkyboxDn = "http://www.roblox.com/asset?id=135207662";
SkyboxFt = "http://www.roblox.com/asset?id=135207770";
SkyboxLf = "http://www.roblox.com/asset?id=135207615";
SkyboxRt = "http://www.roblox.com/asset?id=135207695";
SkyboxUp = "http://www.roblox.com/asset?id=135207794";
});

Visuals:NewSky({
Name = "Blue Planet",
SkyboxBk = "rbxassetid://218955819";
SkyboxDn = "rbxassetid://218953419";
SkyboxFt = "rbxassetid://218954524";
SkyboxLf = "rbxassetid://218958493";
SkyboxRt = "rbxassetid://218957134";
SkyboxUp = "rbxassetid://218950090";
});

Visuals:NewSky({
Name = "Deep Space",
SkyboxBk = "http://www.roblox.com/asset/?id=159248188";
SkyboxDn = "http://www.roblox.com/asset/?id=159248183";
SkyboxFt = "http://www.roblox.com/asset/?id=159248187";
SkyboxLf = "http://www.roblox.com/asset/?id=159248173";
SkyboxRt = "http://www.roblox.com/asset/?id=159248192";
SkyboxUp = "http://www.roblox.com/asset/?id=159248176";
});
end;
end;

do --// Weapon Info


local WeaponInfo = Instance.new("TextLabel", Visuals.ESPContainer);
local Center = Camera.ViewportSize / 2;

WeaponInfo.FontFace = Library.SmallFont;
WeaponInfo.BackgroundTransparency = 1;
WeaponInfo.Text = "Weapon | [Ammo / Max Ammo] | Caliber";
WeaponInfo.TextSize = Library.SmallSize;
WeaponInfo.TextColor3 = Color3.fromRGB(255, 255, 255);
WeaponInfo.TextStrokeTransparency = 0;

WeaponInfo.Position = UDim2.new(0, Center.X, 0, Center.Y + 20);


WeaponInfo.Visible = false;

Visuals.WeaponInfo = WeaponInfo;
end;

do --// FOV Circle Elements


local FOVGradient = Instance.new("UIGradient");
local ScreenUI;

ScreenUI = Instance.new("ScreenGui");
ScreenUI.Parent = gethui();
ScreenUI.Name = "9391203j312i3kashd9q312093ajsdokake219183213h";

local FOVCircle = Instance.new("Frame");


local CenterScreen = Camera.ViewportSize / 2;
local Corner = Instance.new("UICorner");
local Stroke = Instance.new("UIStroke");

--// Properties (FOV);


do
ScreenUI.IgnoreGuiInset = true;

FOVCircle.Parent = ScreenUI
FOVCircle.BackgroundTransparency = 1
FOVCircle.ZIndex = 9999
FOVCircle.BackgroundColor3 = Color3.new(1,1,1)
FOVCircle.Size = UDim2.new(0, 500, 0, 500)
FOVCircle.Visible = false;

FOVCircle.AnchorPoint = Vector2.new(0.5, 0.5)


FOVCircle.Position = UDim2.new(0, CenterScreen.X, 0,
CenterScreen.Y);

Corner.Parent = FOVCircle
Corner.CornerRadius = UDim.new(1,9999999)

Stroke.Parent = FOVCircle
Stroke.Color = Color3.new(1,1,1)
Stroke.Thickness = 3

FOVGradient.Parent = Stroke;
end;
Visuals.FOVGradient = FOVGradient;
Visuals.FOVCircle = FOVCircle;
end;

do --// Delta visuals


function Visuals:CheckFoliage(Value)
if Value and Value:IsA("MeshPart") and Value.Color ~=
Color3.fromRGB(108, 88, 75) then
if Library.Flags.RemoveFoliage and
Library.Flags.RemoveFoliage.Value then
Value.Transparency = 1
else
Value.Transparency = 0
end
end
end;
end;

do --// Standard Visuals functions


LPH_NO_VIRTUALIZE(function()
--// FOV Variables
local StartTime = tick();
local CurrentColorSetIndex = 1;

function Visuals:FloorVector(Vector)
if typeof(Vector) == "Vector2" then
return Vector2.new(math.floor(Vector.X),
math.floor(Vector.Y));
else
return Vector3.new(math.floor(Vector.X),
math.floor(Vector.Y), math.floor(Vector.Z));
end;
end;

function Visuals:NewLine(Start, End)


local Idx = #Visuals.Lines+1
Visuals.Lines[Idx] = {
Origin = Start,
CurrentPos = Start,
End = End,
Line = nil,
Direction = (End - Start).Unit,
TimeSince = tick();
To = Vector2.new();
From = Vector2.new();
IsFading = false;
FadeTick = 0;
};
end;

function Visuals:NewTracer(Start, End, Parent)


task.spawn(function()
local StartPart, EndPart = Instance.new("Part", Parent),
Instance.new("Part", Parent);
local StartAttachment, EndAttachment =
Instance.new("Attachment", StartPart), Instance.new("Attachment", EndPart);
local Beam = Instance.new("Beam", Parent);
do --// Properties
StartPart.Transparency = 1; StartPart.Size =
Vector3.new(0.05, 0.05, 0.05); StartPart.Anchored = true; StartPart.CanCollide =
false; StartPart.Position = Start;
EndPart.Transparency = 1; EndPart.Size =
Vector3.new(0.05, 0.05, 0.05); EndPart.Anchored = true; EndPart.CanCollide = false;
EndPart.Position = End;

do --// Beam properties


Beam.Color =
ColorSequence.new(Library.Flags.TracerColor.Color);
Beam.Enabled = true;
Beam.FaceCamera = true;
Beam.Attachment0 = StartAttachment;
Beam.Attachment1 = EndAttachment;
Beam.Width0 = 1;
Beam.Width1 = 1;
Beam.LightEmission = 1;
Beam.LightInfluence = 0;
Beam.Texture = "rbxassetid://446111271";
Beam.Parent = workspace;
Beam.TextureLength = 14;
Beam.TextureSpeed = 12;
Beam.TextureMode = Enum.TextureMode.Wrap;
end;

task.spawn(function()
local SpeedTween = TweenInfo.new(2,
Enum.EasingStyle.Exponential, Enum.EasingDirection.Out, 0, false, 0);
task.wait(0.2);
local CreatedTween = TweenService:Create(Beam,
SpeedTween, {TextureSpeed = 2});
CreatedTween:Play();

end);
Delay(Library.Flags.LifeTime.Value, function()
local Tween = TweenService:Create(Beam,
TweenInfo.new(1), {
Width0 = 0,
Width1 = 0,
TextureSpeed = 0,
});
Tween:Play(); Tween.Completed:Wait();
Beam:Destroy();
StartPart:Destroy(); EndPart:Destroy();
end);
end;
end);
end;

function Visuals:UpdateLines()
for Idx, Data in ipairs(Visuals.Lines) do
if not Data.Line and not Data.IsBeingDestroyed then
local Line = Instance.new("Frame")
Line.BorderColor3 = Color3.fromRGB(0, 0, 0)
Line.BorderSizePixel = 1
Line.Visible = false
Line.BackgroundColor3 = Library.Flags.TracerColor.Color
Line.Parent = Visuals.ESPContainer

Data.Line = Line
end

if Data.Line then
local OriginPos, OriginIsOnScreen =
Camera:WorldToViewportPoint(Data.Origin)
local EndPos, EndIsOnScreen =
Camera:WorldToViewportPoint(Data.End)

local Transparency = 0

if tick() - Data.TimeSince >


Library.Flags.LifeTime.Value and not Data.IsFading then
Data.FadeTick = tick()
Data.IsFading = true
end

if Data.IsFading then
Transparency = math.min(1, (tick() - Data.FadeTick)
/ 1)
end

Data.Line.BackgroundTransparency = Transparency

if EndIsOnScreen and OriginIsOnScreen then


Data.To = Vector2.new(EndPos.X, EndPos.Y)
do
Data.From = Vector2.new(OriginPos.X,
OriginPos.Y)
Data.Line.Visible = true
Visuals:RotateLine(Data.Line, 1, Data.From,
Data.To)
end;
else
Data.Line.Visible = false
end
end

if Data.Line and Data.Line.BackgroundTransparency == 1 then


Data.IsFading = false
Data.IsBeingDestroyed = true
Data.Line:Destroy()
table.remove(Visuals.Lines, Idx)
end
end
end;

--[[function Visuals:UpdateLines()
for Idx, Data in ipairs(Visuals.Lines) do
if not Data.Line and not Data.IsBeingDestroyed then
local Line = Instance.new("Frame")
Line.BorderColor3 = Color3.fromRGB(0, 0, 0)
Line.BorderSizePixel = 1
Line.Visible = false
Line.BackgroundColor3 = Library.Flags.TracerColor.Color
Line.Parent = Visuals.ESPContainer

Data.Line = Line
end

if Data.Line then
local OriginPos, OriginIsOnScreen =
Camera:WorldToViewportPoint(Data.Origin)
local EndPos, EndIsOnScreen =
Camera:WorldToViewportPoint(Data.End)

local Transparency = 0

if tick() - Data.TimeSince >


Library.Flags.LifeTime.Value and not Data.IsFading then
Data.FadeTick = tick()
Data.IsFading = true
end

if Data.IsFading then
Transparency = math.min(1, (tick() - Data.FadeTick)
/ 1)
end

Data.Line.BackgroundTransparency = Transparency

if EndIsOnScreen then
Data.To = Vector2.new(EndPos.X, EndPos.Y)

if OriginIsOnScreen then
Data.From = Vector2.new(OriginPos.X,
OriginPos.Y)
Data.Line.Visible = true
Visuals:RotateLine(Data.Line, 1, Data.From,
Data.To)
else
local RayHit, HitPos =
Workspace:FindPartOnRayWithIgnoreList(
Ray.new(Data.CurrentPos, (Data.End -
Data.CurrentPos).Unit * 1),
{Camera, Client.Character},
false,
true,
""
)

if HitPos then
local NewPos, NewOnScreen =
Camera:WorldToViewportPoint(HitPos)
if NewOnScreen then
Data.CurrentPos = HitPos
Data.From = Vector2.new(NewPos.X,
NewPos.Y)
Data.Line.Visible = true
Visuals:RotateLine(Data.Line, 1,
Data.From, Data.To)
end
else
Data.Line.Visible = false
end
end
else
Data.Line.Visible = false
end
end

if Data.Line and Data.Line.BackgroundTransparency == 1 then


Data.IsFading = false
Data.IsBeingDestroyed = true
Data.Line:Destroy()
table.remove(Visuals.Lines, Idx)
end
end
end;]]

function Visuals:NewHitmarker(Position)
Visuals.Hitmarkers[#Visuals.Hitmarkers+1] = {
Position = Position;
StartedAt = tick();
IsFading = false;
FadeTick = 0;
Hitmarker = Hitmarker;
};
end;

function Visuals:NewHitDamage(Position, Amount, Part)


local Data = {
FadeTick = 0,
IsFading = false ,
StartedAt = tick(),
Label = nil,
RandomizedSpot = Vector2.new(10, 0) +
Vector2.new(math.random(1, 3), math.random(1, 3));
Position = Position,
Amount = Amount,
Part = Part,
}

Visuals.HitDamages[#Visuals.HitDamages+1] = Data;
end;

function Visuals:UpdateDamage()
for Index, Data in next, Visuals.HitDamages do
if not Data.Label then
local Label = Instance.new("TextLabel",
Visuals.ESPContainer);
Label.BackgroundTransparency = 1;
Label.FontFace = Library.SmallFont
Label.TextStrokeTransparency = 0;
Label.TextColor3 = Library.Flags.DamageColor.Color;
Label.TextSize = Library.SmallSize;
Label.Text = tostring(math.floor(Data.Amount));
Data.Label = Label

end;

local Label = Data.Label;


local Transparency = 0;
local RandomizedSpot = Data.RandomizedSpot
local Connection;

do --// project delta hitsounds


if game.PlaceId == 7336302630 and
Library.Flags.CustomHitSounds and Library.Flags.CustomHitSounds.Value and not
Data.HasSounded then
Data.HasSounded = true;
task.spawn(function()
local IsHeadshot = (Data.Part.Name:find("Head")
or Data.Part.Name:find("Face")) and true or false;
if IsHeadshot then
Headshot:Play();
else
Bodyshot:Play();
end;
end);
end;
end;

do --// Setting properties


local ScreenPosition, IsOnScreen =
Camera:WorldToViewportPoint(Data.Position);

Label.Visible = IsOnScreen;

if Label.Visible then

local OffsetY = (tick() - Data.StartedAt) * 25;


Label.Position = UDim2.new(0, ScreenPosition.X, 0,
ScreenPosition.Y - OffsetY) + UDim2.new(0, RandomizedSpot.X, 0, RandomizedSpot.Y);
end;

if tick() - Data.StartedAt >


Library.Flags.HitmarkerTime.Value and not Data.IsFading then
Data.FadeTick = tick();
Data.IsFading = true;
end;

if Data.IsFading then
local TimeDifference = tick() - Data.FadeTick;
Transparency = math.min(1, TimeDifference /
Library.Flags.FadeTime.Value);
end;

Label.TextTransparency = Transparency;

if Label.TextTransparency == 1 then
Label:Destroy();
Visuals.HitDamages[Index] = nil;
end;
end;
end;
end;

function Visuals:UpdateHitmarkers()
for Index, Data in pairs(Visuals.Hitmarkers) do
task.spawn(function()
if not Data.Hitmarker then
local Hitmarker = Instance.new("ImageLabel",
Visuals.ESPContainer);
Hitmarker.Image = "http://www.roblox.com/asset/?
id=13298929624";
Hitmarker.BackgroundTransparency = 1;
Hitmarker.Size = UDim2.new(0, 50, 0, 50);
Hitmarker.Visible = false;
Hitmarker.Rotation = 45;
Hitmarker.AnchorPoint = Vector2.new(0.5, 0.5);

Data.Hitmarker = Hitmarker
end;
local Hitmarker = Data.Hitmarker;
local Position, IsOnScreen =
Camera:WorldToViewportPoint(Data.Position);
Hitmarker.Visible = IsOnScreen;
local Transparency = 0;

if tick() - Data.StartedAt >


Library.Flags.HitmarkerTime.Value and not Data.IsFading then
Data.FadeTick = tick();
Data.IsFading = true;
end;

if Data.IsFading then
local TimeDifference = tick() - Data.FadeTick;
Transparency = math.min(1, TimeDifference /
Library.Flags.FadeTime.Value);
end;

if Hitmarker.Visible then
Hitmarker.ImageTransparency = Transparency;
Hitmarker.Position = UDim2.new(0, Position.X, 0,
Position.Y);
Hitmarker.ImageColor3 =
Library.Flags.HitmarkerColor.Color;
end;

if Hitmarker.ImageTransparency == 1 then
Visuals.Hitmarkers[Index] = nil;
Hitmarker:Destroy();
end;
end);
end;
end;

function Visuals:Lerp(a, b, t)
if t < 0.5 then
return a + (b - a) * t
else
return b - (b - a) * (1 - t)
end
end;

function Visuals:Map(x, a, b, c, d)
return Visuals:Lerp(c, d, (x - a)/(b - a))
end;

function Visuals:RotateLine(Object, Thickness, From, To)


local X1, Y1, X2, Y2 = From.X, From.Y, To.X, To.Y;

local CenterX = (X1 + X2) / 2;


local CenterY = (Y1 + Y2) / 2;

local DeltaX = math.abs(X1 - X2) ^ 2;


local DeltaY = math.abs(Y1 - Y2) ^ 2;

local Distance = math.sqrt(DeltaX + DeltaY);


local Rotation = math.deg(math.atan2(Y1 - Y2, X1 - X2));

Object.AnchorPoint = Vector2.new(.5, .5)


Object.Position = UDim2.fromOffset(CenterX, CenterY)
Object.Size = UDim2.fromOffset(Distance, Thickness)
Object.Rotation = Rotation
end;

function Visuals:UpdateFOVColor(Style, Direction, RainbowMode)


task.spawn(function()
local CurrentTime = tick() - StartTime
local EasingStuff

if Style == "Linear" then


EasingStuff = EasingStyle[Style][Direction](tick())
else
EasingStuff = EasingStyle[Style][Direction]
(math.cos(math.pi / 2 * tick() - math.pi / 2))
end

local RotationAngle = 360 * EasingStuff *


(Library.Flags.RotationSpeed.Value / 5) % 360 -- Calculate the rotation angle based
on time

Visuals.FOVGradient.Rotation = RotationAngle

local t = RotationAngle % 360 / 360


local Progress = math.min(CurrentTime /
Library.Flags.TransitionDuration.Value, 1) -- Calculate the progress of the
transition

if RainbowMode then
-- Calculate rainbow colors based on rotation angle
local rainbowColors = {}
local saturation = 0.5
local value = 0.9
for i = 0, 6 do
local hue = (t + i / 10) % 1 -- Adjusted the
division factor to avoid repetitions
table.insert(rainbowColors,
ColorSequenceKeypoint.new(i / 6, Color3.fromHSV(hue, saturation, value)))
end

Visuals.FOVGradient.Color =
ColorSequence.new(rainbowColors)
else
-- Normal lerping between color sets
local ColorSet1 =
Visuals.ColorSets[CurrentColorSetIndex]
local ColorSet2 =
Visuals.ColorSets[(CurrentColorSetIndex % #Visuals.ColorSets) + 1]

local LerpedColor1 = ColorSet1[1]:Lerp(ColorSet2[1],


Progress)
local LerpedColor2 = ColorSet1[2]:Lerp(ColorSet2[2],
Progress)

local Keypoint1 = ColorSequenceKeypoint.new(0,


LerpedColor1)
local Keypoint2 = ColorSequenceKeypoint.new(1,
LerpedColor2)

Visuals.FOVGradient.Color =
ColorSequence.new({Keypoint1, Keypoint2})
end

if Progress >= 1 then


CurrentColorSetIndex = (CurrentColorSetIndex %
#Visuals.ColorSets) + 1
StartTime = tick()
Library.Flags.TransitionDuration.Value = 0.1
else
Library.Flags.TransitionDuration.Value =
OriginalTransitionDuration
end
end)
end
end)();
end;

do --// ESP listeners and standard text creation


LPH_NO_VIRTUALIZE(function()
function ESPConstructor:Text()
local NewLabel = Instance.new("TextLabel",
Visuals.ESPContainer);
NewLabel.BackgroundTransparency = 1;
NewLabel.FontFace = Library.MenuFont;
NewLabel.TextSize = Library.TextSize;
NewLabel.TextStrokeTransparency = 0;
NewLabel.Size = UDim2.new(0, 20, 0, 13);
NewLabel.Visible = false;
NewLabel.Text = "";
return NewLabel;
end;

function ESPConstructor:NewListener(Arguments)
local Name = Arguments.Name;
local Parent = Arguments.Parent;
local CustomName = Arguments.CustomName;
local Flag = "ESP"..Arguments.Flag
local Color = Arguments.Flag.."Color";

local CustomChecks2 = Arguments.CustomChecks2 or


function(Object) return true end;
for Index, Object in next, Parent:GetChildren() do
task.spawn(function()
task.wait(0.2);
if ((Object.Name == Name or Object.ClassName ==
Arguments.Type) or type(Name) == "table" and table.find(Name, Object.Name)) and
CustomChecks2(Object) then
CustomObjects[Object] = {
Flag = Flag;
Name = Name;
Parent = Parent;
Color = Color;
CustomName = CustomName;
GetPosition = Arguments.GetPosition;
Main = ESPConstructor:Text();
CustomChecks = Arguments.CustomChecks;
LastTick = tick();
LastTextUpdate = tick();
TextUpdate = Arguments.TextUpdate;
};
end;
end);
end;

Parent.ChildAdded:Connect(function(Object)
task.spawn(function()
task.wait(0.3);
if ((Object.Name == Name or Object.ClassName ==
Arguments.Type) or type(Name) == "table" and table.find(Name, Object.Name)) and
CustomChecks2(Object) then
CustomObjects[Object] = {
Flag = Flag;
Name = Name;
Parent = Parent;
Color = Color;
CustomName = CustomName;
GetPosition = Arguments.GetPosition;
Main = ESPConstructor:Text();
CustomChecks = Arguments.CustomChecks;
LastTick = tick();
LastTextUpdate = tick();
TextUpdate = Arguments.TextUpdate;
};
end;
end);
end);

Parent.ChildRemoved:Connect(function(Object)
if CustomObjects[Object] then
CustomObjects[Object].Main:Destroy();
CustomObjects[Object] = nil;
end;
end);
end;
function ESPConstructor:NewGrenade(Data)
local Constructor = {
TimeTick = tick();
Name = Data.Name;
TimeForExplosion = Data.TimeForExplosion;
IsImpact = Data.IsImpact;
Components = {
Frame = nil;
Image = nil;
Invert = nil;
Bar = nil;
Text = nil;
};
KillDistance = 0;
Model = Data.Model;
Root = Data.Root;
Class = "Grenade"
};

do --// Elements
local ItemHolder = Instance.new("Frame")
local ItemIcon = Instance.new("ImageLabel")
local ItemBar = Instance.new("Frame")
local Invert = Instance.new("Frame")
local Name = Instance.new("TextLabel")

Constructor.Components.Frame = ItemHolder;
Constructor.Components.Image = ItemIcon;
Constructor.Components.Bar = ItemBar;
Constructor.Components.Text = Name;
Constructor.Components.Invert = Invert;

do --// Properties
ItemHolder.Parent = Visuals.ESPContainer;
ItemHolder.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
ItemHolder.BackgroundTransparency = 1.000
ItemHolder.BorderColor3 = Color3.fromRGB(0, 0, 0)
ItemHolder.BorderSizePixel = 0
ItemHolder.Position = UDim2.new(0.204767719, 0,
0.189737469, 0)
ItemHolder.Size = UDim2.new(0, 36, 0, 36)
ItemHolder.Visible = false;

ItemIcon.Parent = ItemHolder
ItemIcon.AnchorPoint = Vector2.new(0.5, 0)
ItemIcon.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
ItemIcon.BackgroundTransparency = 1.000
ItemIcon.BorderColor3 = Color3.fromRGB(0, 0, 0)
ItemIcon.BorderSizePixel = 0
ItemIcon.Position = UDim2.new(0.5, 0, 0.319999993, 0)
ItemIcon.Size = UDim2.new(0, 36, 0, 36)
ItemIcon.Image = ESPIcons["Grenade"];

ItemBar.Parent = ItemIcon
ItemBar.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
ItemBar.BorderColor3 = Color3.fromRGB(0, 0, 0)
ItemBar.Position = UDim2.new(0.5, -1, 0.5, 17)
ItemBar.Size = UDim2.new(1, 30, 0, 1)
ItemBar.AnchorPoint = Vector2.new(0.5, 0);

Invert.Parent = ItemBar
Invert.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
Invert.BorderColor3 = Color3.fromRGB(0, 0, 0)
Invert.BorderSizePixel = 0
Invert.Size = UDim2.new(0, 0, 0, 1)
Invert.AnchorPoint = Vector2.new(1, 0);
Invert.Position = UDim2.new(1, 0, 0, 0);

Name.Parent = ItemIcon
Name.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Name.BackgroundTransparency = 1.000
Name.BorderColor3 = Color3.fromRGB(0, 0, 0)
Name.BorderSizePixel = 0
Name.Position = UDim2.new(0, 0, 0, -7)
Name.Size = UDim2.new(1, 0, 0, 12)
Name.FontFace = Library.SmallFont;
Name.TextSize = Library.SmallSize
Name.Text = Data.Name
Name.TextColor3 = Color3.fromRGB(255, 255, 255)
Name.TextStrokeTransparency = 0.000;
end;
end;

if Constructor.Name == "F1" then


Constructor.TimeForExplosion = 3;
end;

Visuals.Items[Constructor.Model] = Constructor;
return Constructor;
end;

function ESPConstructor:NewMine(Data)
local Constructor = {
Name = Data.Name;
Components = {
Frame = nil;
Image = nil;
Text = nil;
};
Model = Data.Model;
Root = Data.Root;
Class = "Mine"
};

do --// Elements
local ItemHolder = Instance.new("Frame")
local ItemIcon = Instance.new("ImageLabel")
local Name = Instance.new("TextLabel")

Constructor.Components.Frame = ItemHolder;
Constructor.Components.Image = ItemIcon;
Constructor.Components.Text = Name;

do --// Properties
ItemHolder.Parent = Visuals.ESPContainer;
ItemHolder.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
ItemHolder.BackgroundTransparency = 1.000
ItemHolder.BorderColor3 = Color3.fromRGB(0, 0, 0)
ItemHolder.BorderSizePixel = 0
ItemHolder.Position = UDim2.new(0.204767719, 0,
0.189737469, 0)
ItemHolder.Size = UDim2.new(0, 36, 0, 36)
ItemHolder.Visible = false;

ItemIcon.Parent = ItemHolder
ItemIcon.AnchorPoint = Vector2.new(0.5, 0)
ItemIcon.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
ItemIcon.BackgroundTransparency = 1.000
ItemIcon.BorderColor3 = Color3.fromRGB(0, 0, 0)
ItemIcon.BorderSizePixel = 0
ItemIcon.Position = UDim2.new(0.5, 0, 0.319999993, 0)
ItemIcon.Size = UDim2.new(0, 18, 0, 18)
ItemIcon.Image = ESPIcons["Mine"];

Name.Parent = ItemIcon
Name.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Name.BackgroundTransparency = 1.000
Name.BorderColor3 = Color3.fromRGB(0, 0, 0)
Name.BorderSizePixel = 0
Name.Position = UDim2.new(0, 0, 0, -10)
Name.Size = UDim2.new(1, 0, 0, 12)
Name.FontFace = Library.SmallFont;
Name.TextSize = Library.SmallSize
Name.Text = Data.Name
Name.TextColor3 = Color3.fromRGB(255, 255, 255)
Name.TextStrokeTransparency = 0.000;
end;
end;

Visuals.Items[Constructor.Model] = Constructor;
return Constructor;
end;

function ESPConstructor:NewClaymore(Data)
local Constructor = {
Name = Data.Name;
Components = {
Frame = nil;
Image = nil;
Text = nil;
};
Model = Data.Model;
Root = Data.Root;
Class = "Claymore"
};

do --// Elements
local ItemHolder = Instance.new("Frame")
local ItemIcon = Instance.new("ImageLabel")
local Name = Instance.new("TextLabel")

Constructor.Components.Frame = ItemHolder;
Constructor.Components.Image = ItemIcon;
Constructor.Components.Text = Name;

do --// Properties
ItemHolder.Parent = Visuals.ESPContainer;
ItemHolder.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
ItemHolder.BackgroundTransparency = 1.000
ItemHolder.BorderColor3 = Color3.fromRGB(0, 0, 0)
ItemHolder.BorderSizePixel = 0
ItemHolder.Position = UDim2.new(0.204767719, 0,
0.189737469, 0)
ItemHolder.Size = UDim2.new(0, 36, 0, 36)
ItemHolder.Visible = false;

ItemIcon.Parent = ItemHolder
ItemIcon.AnchorPoint = Vector2.new(0.5, 0)
ItemIcon.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
ItemIcon.BackgroundTransparency = 1.000
ItemIcon.BorderColor3 = Color3.fromRGB(0, 0, 0)
ItemIcon.BorderSizePixel = 0
ItemIcon.Position = UDim2.new(0.5, 0, 0.319999993, 0)
ItemIcon.Size = UDim2.new(0, 18, 0, 18)
ItemIcon.Image = ESPIcons["Claymore"];

Name.Parent = ItemIcon
Name.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Name.BackgroundTransparency = 1.000
Name.BorderColor3 = Color3.fromRGB(0, 0, 0)
Name.BorderSizePixel = 0
Name.Position = UDim2.new(0, 0, 0, -10)
Name.Size = UDim2.new(1, 0, 0, 12)
Name.FontFace = Library.SmallFont;
Name.TextSize = Library.SmallSize
Name.Text = Data.Name
Name.TextColor3 = Color3.fromRGB(255, 255, 255)
Name.TextStrokeTransparency = 0.000;
end;
end;

Visuals.Items[Constructor.Model] = Constructor;
return Constructor;
end;

function ESPConstructor:UpdateItems()
for Model, Constructor in next, Visuals.Items do
task.spawn(function()
local Components = Constructor.Components;

if Constructor.Class == "Grenade" then


if Library.Flags.ESPGrenades and
Library.Flags.ESPGrenades.Value and Constructor.Root then
local Position, IsOnScreen =
Camera:WorldToViewportPoint(Constructor.Root.Position);
Components.Frame.Visible = IsOnScreen;

if Components.Frame.Visible then

local LerpedColor =
Library.Flags["GrenadeLower"].Color:lerp(Library.Flags["GrenadeHigher"].Color,
(Constructor.TimeForExplosion - (tick() - Constructor.TimeTick)) /
Constructor.TimeForExplosion);
if IsStudio then
Constructor.TimeForExplosion = 3;
if tick() - Constructor.TimeTick >= 3
then
Constructor.TimeTick = tick();
end;
end;

if tick() - Constructor.TimeTick >


Constructor.TimeForExplosion or Constructor.IsImpact then
Constructor.TimeTick = tick() -
Constructor.TimeForExplosion;
end;

local SF = 1 / (Position.Z *
math.tan(math.rad(Camera.FieldOfView / 2)) * 2) * 1000;
local Width = 4 * SF;
local Height = 6 * SF;

local Size, Pos =


Visuals:FloorVector(Vector2.new(math.max(Width, 36), math.max(Height, 36))),
Visuals:FloorVector(Vector2.new(Position.X - Width / 2, (Position.Y - Height / 2) +
3));
local Center = Vector2.new(Pos.X + Size.X /
2 , Pos.Y + Size.Y / 2);

Components.Bar.BackgroundColor3 =
LerpedColor;
Components.Frame.Size = UDim2.new(0,
Size.X, 0, Size.Y);
Components.Frame.Position = UDim2.new(0,
Pos.X, 0, Pos.Y);
Components.Invert.Size = UDim2.new(0,
(Components.Bar.AbsoluteSize.X * (1 - (Constructor.TimeForExplosion - (tick() -
Constructor.TimeTick)) / Constructor.TimeForExplosion)), 1, 0);
end;
else
Components.Frame.Visible = false;
end;
end;

if Constructor.Class == "Mine" then


if Library.Flags.ESPMines and
Library.Flags.ESPMines.Value then
local Position, IsOnScreen =
Camera:WorldToViewportPoint(Constructor.Root.Position);
Components.Frame.Visible = IsOnScreen;

if Components.Frame.Visible then
local SF = 1 / (Position.Z *
math.tan(math.rad(Camera.FieldOfView / 2)) * 2) * 1000;
local Width = 4 * SF;
local Height = 6 * SF;

local Size, Pos =


Visuals:FloorVector(Vector2.new(math.max(Width, 15), math.max(Height, 15))),
Visuals:FloorVector(Vector2.new(Position.X - Width / 2, (Position.Y - Height / 2) +
3));
local Center = Vector2.new(Pos.X + Size.X /
2 , Pos.Y + Size.Y / 2);
Components.Frame.Size = UDim2.new(0,
Size.X, 0, Size.Y);
Components.Frame.Position = UDim2.new(0,
Pos.X, 0, Pos.Y);
end;
else
Components.Frame.Visible = false;
end;
end;

if Constructor.Class == "Claymore" then


if Library.Flags.ESPClaymores and
Library.Flags.ESPClaymores.Value then
local Position, IsOnScreen =
Camera:WorldToViewportPoint(Constructor.Root.Position);
Components.Frame.Visible = IsOnScreen;

if Components.Frame.Visible then
local SF = 1 / (Position.Z *
math.tan(math.rad(Camera.FieldOfView / 2)) * 2) * 1000;
local Width = 4 * SF;
local Height = 6 * SF;

local Size, Pos =


Visuals:FloorVector(Vector2.new(math.max(Width, 15), math.max(Height, 15))),
Visuals:FloorVector(Vector2.new(Position.X - Width / 2, (Position.Y - Height / 2) +
3));
local Center = Vector2.new(Pos.X + Size.X /
2 , Pos.Y + Size.Y / 2);

Components.Frame.Size = UDim2.new(0,
Size.X, 0, Size.Y);
Components.Frame.Position = UDim2.new(0,
Pos.X, 0, Pos.Y);
end;
else
Components.Frame.Visible = false;
end;
end;
end);
end;
end;

end)();
end;

do --// Enemy ESP Functions


LPH_NO_VIRTUALIZE(function()
do --// Flags
ESPConstructor.Flags = {};
function ESPConstructor:AddFlag(Arguments)
local Data = {
Text = Arguments.Text;
Flag = Arguments.Flag;
Name = Arguments.Name;
Allow = Arguments.Allow;
};

ESPConstructor.Flags[Data.Name] = Data;
end;
end;

do --// Grab player data


function ESPConstructor:GetCharacter()

if GameName == "Scorched Earth" then


if self.Info.Data then
return self.Info.Data.bodyModel
end
end

if GameName == "Games Unite" then


return
Workspace.Playermodels:FindFirstChild(tostring(self.Object.UserId))
end

if GameName == "Frontlines" then


return self.Object
end

if GameName == "Eastern War" or GameName == "Combat


Warriors" or GameName == "State Of Anarchy" or GameName == "Korrupt Zombies" or
GameName == "Lone Survival" or GameName == "Counter Blox" or GameName == "Arsenal"
or GameName == "The Streets" or GameName == "Blood and Iron" or GameName ==
"Universal" or GameName == "Project Delta" or GameName == "Criminality" or GameName
== "Fallen" or GameName == "Blackout" or GameName == "Apocalypse Rising 2" then
if self.Info.Class == "Player" then
return self.Object.Character;
else
return self.Object
end;
end;

if GameName == "Gunfight Arena" then


return Workspace:FindFirstChild(self.Object.Name);
end;

if GameName == "Aftermath" then


if self.Info.Class == "Player" then
return self.Object.Character and
self.Object.Character:FindFirstChild("WorldCharacter")
else
return self.Object
end
end;

if GameName == "Bad Business" then


return GameFramework.EntityList[self.Object.Name]
end

return nil;
end;

function ESPConstructor:GetTeam()

if GameName == "Bad Business" then


local Beta = game:GetService("Teams").Beta.Players
local Omega = game:GetService("Teams").Omega.Players
local FFA = game:GetService("Teams").FFA.Players
local Infected = game:GetService("Teams").Beta.Players
local Survivors =
game:GetService("Teams").Survivors.Players

if Beta:FindFirstChild(self.Object.Name) then
return Beta
end

if Omega:FindFirstChild(self.Object.Name) then
return Omega
end

if FFA:FindFirstChild(self.Object.Name) then
return FFA
end

if Infected:FindFirstChild(self.Object.Name) then
return Infected
end

if Survivors:FindFirstChild(self.Object.Name) then
return Survivors
end
end

if GameName == "Frontlines" then


if self.Info.Character and
self.Info.Character:FindFirstChild("friendly_marker") then
Utility.Team = "FRIENDLY"
return "FRIENDLY"
else
return "ENEMY"
end
end

if self.Info.Class == "AI" then


return "AI_NO_TEAM"
end;

if GameName == "Eastern War" or GameName == "Scorched


Earth" or GameName == "Lone Survival" or GameName == "Counter Blox" or GameName ==
"Arsenal" or GameName == "Blood and Iron" or GameName == "Universal" or GameName ==
"Blackout" or GameName == "Project Delta" or GameName == "Criminality" then
return self.Object.Team
elseif GameName == "Gunfight Arena" then
return self.Object:GetAttribute("Team");
end;

end;

function ESPConstructor:GetRoot()

if GameName == "Scorched Earth" and self.Info.Character


then
return self.Info.Character:FindFirstChild("root")
end
if GameName == "Bad Business" then
return self.Info.Character:FindFirstChild("Root")
end

if GameName == "Eastern War" or GameName == "Combat


Warriors" or GameName == "Frontlines" or GameName == "Games Unite" or GameName ==
"State Of Anarchy" or GameName == "Korrupt Zombies" or GameName == "Lone Survival"
or GameName == "Aftermath" or GameName == "Counter Blox" or GameName == "Arsenal"
or GameName == "The Streets" or GameName == "Blood and Iron" or GameName ==
"Universal" or GameName == "Project Delta" or GameName == "Criminality" or GameName
== "Fallen" or GameName == "Blackout" or GameName == "Apocalypse Rising 2" or
GameName == "Gunfight Arena" then
if self.Info.Character then

if GameName == "Games Unite" then


return self.Info.Character.RootPart.root
end

return
self.Info.Character:FindFirstChild("HumanoidRootPart");
end;
end;

return nil;
end;

function ESPConstructor:GetHealth()

if GameName == "Scorched Earth" and self.Info.Data then


return self.Info.Data.health, 100
end

if GameName == "Bad Business" then


local Health =
self.Info.Character:FindFirstChild("Health")
local MaxHealth = Health and
Health:FindFirstChild("MaxHealth")

if MaxHealth then
return Health.Value, MaxHealth.Value
end
end

if GameName == "Eastern War" or GameName == "Combat


Warriors" or GameName == "State Of Anarchy" or GameName == "Korrupt Zombies" or
GameName == "Lone Survival" or GameName == "Aftermath" or GameName == "Counter
Blox" or GameName == "Arsenal" or GameName == "The Streets" or GameName == "Blood
and Iron" or GameName == "Universal" or GameName == "Project Delta" or GameName ==
"Criminality" or GameName == "Fallen" or GameName == "Blackout" or GameName ==
"Gunfight Arena" then
local Humanoid = self.Info.Character and
self.Info.Character:FindFirstChildOfClass("Humanoid");

if Humanoid then
if self.Info.Class == "Player" or self.Info.Class
== "AI" then
return Humanoid.Health, Humanoid.MaxHealth;
end;
end;
end;

if GameName == "Apocalypse Rising 2" then


local Stats = self.Object:FindFirstChild("Stats");
local Health = Stats and
Stats:FindFirstChild("Health");

return Health and Health.Value or 0, 100;


end;
return 100, 100
end;

function ESPConstructor:GetWeapon()
local Weapon, WeaponName = nil, "None";

--if GameName == "Deadline" and GameFramework.EntityData


and GameFramework.EntityData[self.Info.Character.Name] then
-- if GameFramework.EntityData[self.Info.Character.Name]
and GameFramework.EntityData[self.Info.Character.Name].animator and
GameFramework.EntityData[self.Info.Character.Name].animator.weapon and
GameFramework.EntityData[self.Info.Character.Name].animator.weapon.current then
-- Weapon, WeaponName =
GameFramework.EntityData[self.Info.Character.Name].animator.weapon.current.Name,
GameFramework.EntityData[self.Info.Character.Name].animator.weapon.current.Name
-- end;
--end;

if GameName == "Scorched Earth" then


if self.Info.Character and self.Info.Data then
if self.Info.Data.equippedObjectThird and
self.Info.Data.equippedObjectThird.itemData then
return
self.Info.Data.equippedObjectThird.itemData,
self.Info.Data.equippedObjectThird.itemData.name
end
end
end

if GameName == "Bad Business" then


for Index, Value in next,
self.Info.Character:GetChildren() do
if Value:IsA("Model") and Value.Name ~= "Body" and
Value.Name ~= "Hitbox" then
return Value, Value.Name
end
end
end

if GameName == "State Of Anarchy" then


Weapon =
self.Info.Character:FindFirstChild("CurrentHolding")
WeaponName = (Weapon and
Weapon:FindFirstChild("RealName") and Weapon:FindFirstChild("RealName").Value) or
"None"
end

if GameName == "Lone Survival" then


local Tools = ReplicatedStorage.Assets.Prefabs.Tools
if self.Info.Character and
self.Info.Character:FindFirstChild("Worldmodel") and
self.Info.Character.Worldmodel:FindFirstChild("Handle") then
local Id =
self.Info.Character.Worldmodel:FindFirstChild("Handle").MeshId

if
self.Info.Character.Worldmodel:FindFirstChild("Blade") then
if
self.Info.Character.Worldmodel:FindFirstChild("Blade").ClassName == "MeshPart" then
if
self.Info.Character.Worldmodel:FindFirstChild("Blade").MeshId ==
"rbxassetid://14886017435" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Improvised Pickaxe"
end

if
self.Info.Character.Worldmodel:FindFirstChild("Blade").MeshId ==
"rbxassetid://14775909545" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Improvised Pickaxe"
end
end
end;

if
self.Info.Character.Worldmodel:FindFirstChild("BackSight") then
Weapon = self.Info.Character.Worldmodel
WeaponName = "SHAK-12"
end;

if
self.Info.Character.Worldmodel:FindFirstChild("BowBase") then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Wooden Bow"
end;

if
self.Info.Character.Worldmodel:FindFirstChild("handle") and
self.Info.Character.Worldmodel:FindFirstChild("test.006") then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Stone Spear"
end;

if
self.Info.Character.Worldmodel:FindFirstChild("Body") and
self.Info.Character.Worldmodel:FindFirstChild("Body").ClassName == "MeshPart" then

if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://13813662516" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Thumper"
end

if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://13319461745" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Double Barrel Shotgun"
end

if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://13318509813" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "MP5"
end;
end;

if
self.Info.Character.Worldmodel:FindFirstChild("Base") and
self.Info.Character.Worldmodel:FindFirstChild("Base").ClassName == "MeshPart" then

if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://13744914668" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Stone Hatchet"
end;

if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://13745133273" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Iron Hatchet"
end;

if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://13745011274" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Iron Pickaxe"
end;

if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://13744395964" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "Stone Pickaxe"
end;
end;

if
self.Info.Character.Worldmodel:FindFirstChild("Hammer") and
self.Info.Character.Worldmodel:FindFirstChild("Hammer").ClassName == "MeshPart"
then

if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://13674795820" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "USP"
end
if
self.Info.Character.Worldmodel:FindFirstChild("Body").MeshId ==
"rbxassetid://15249045222" then
Weapon = self.Info.Character.Worldmodel
WeaponName = "M9A4"
end;
end;

if
self.Info.Character.Worldmodel:FindFirstChild("Scope") then
Weapon = self.Info.Character.Worldmodel
WeaponName = "M700"
end;

if Weapon and WeaponName ~= "None" then


return Weapon, WeaponName
end;

for Index, Value in next, Tools:GetChildren() do


if Value:IsA("Folder") and
Value:FindFirstChild("Worldmodel") then
if
Value.Worldmodel:FindFirstChild("Handle") and Value.Worldmodel.Handle.ClassName ==
"MeshPart" and Value.Worldmodel.Handle.MeshId == Id then
Weapon = self.Info.Character.Worldmodel
WeaponName = Value.Name;

break
end
end
end;

end;
end;

if GameName == "Gunfight Arena" then


Weapon, WeaponName =
self.Object:GetAttribute("Weapon"), tostring(self.Object:GetAttribute("Weapon"));

if WeaponName == "nil" then


WeaponName = "None";
end;

return Weapon, WeaponName


end;

if GameName == "Project Delta" then


if self.Info.Character then
local Character = self.Info.Character
if self.Info.Class == "Player" then

local ModelData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if not ModelData then return nil, "None" end;
local Status = ModelData.Status
if not Status then return nil, "None" end;
local GameplayVars = Status.GameplayVariables
if GameplayVars and GameplayVars.EquippedTool
then
Weapon =
GameplayVars:FindFirstChild("EquippedTool").Value;
if Weapon then
WeaponName = tostring(Weapon);
end;
end
return Weapon, WeaponName;
else
local Inventory =
self.Object:FindFirstChild("Inventory");
if Inventory then
local FoundTool =
Inventory:FindFirstChildOfClass("StringValue");

if FoundTool then
Weapon, WeaponName = FoundTool,
FoundTool.Name;
end;
end
end;
end;
end;

if GameName == "Eastern War" or GameName == "Combat


Warriors" or GameName == "The Streets" or GameName == "Universal" or GameName ==
"Criminality" then
if self.Info.Character then
local Tool =
self.Info.Character:FindFirstChildOfClass("Tool");
Weapon = Tool;
if Weapon then
WeaponName = Weapon.Name;
end;

end;
end;

if GameName == "Blackout" then


if self.Info.Character then
local Tool =
self.Info.Character:FindFirstChildOfClass("RayValue");
Weapon = Tool;
if Weapon then
WeaponName = Weapon.Name;
end;
end;
end;

if GameName == "Blood and Iron" then


-- Weapon =
workspace["99str4lif"].FirearmHandler.ToolName
local Handler =
self.Info.Character:FindFirstChild("FirearmHandler") or
self.Info.Character:FindFirstChild("MeleeWeaponHandler");
if Handler then
Weapon = Handler:FindFirstChild("ToolName");
WeaponName = Weapon and tostring(Weapon.Value);
Weapon = WeaponName
self.Info.Character:FindFirstChild(WeaponName);
end;
end;

if GameName == "Apocalypse Rising 2" then


Weapon = self.Info.Character.Equipped:GetChildren()[1];
if Weapon then
WeaponName = Weapon.Name;
end;

end;

if GameName == "Counter Blox" then


--workspace.RobIoxShader.EquippedTool
local Tool = self.Info.Character and
self.Info.Character:FindFirstChild("EquippedTool")
if Tool.Value then
return Tool.Value, tostring(Tool.Value);
end;

end;

if GameName == "Arsenal" then


--workspace.RobIoxShader.EquippedTool
local Tool = self.Info.Character and
self.Info.Character:FindFirstChild("Gun")
if Tool then
return Tool, tostring(Tool:GetAttribute("Real"))
end;

end;

if GameName == "Aftermath" then


local Object =
self.Object:FindFirstChild("CurrentSelectedObject")
local Inv = self.Object:FindFirstChild("GunInventory")
if Object and Inv then
SlotName = tostring(Object.Value)
local Slotdata = Inv:FindFirstChild(SlotName)

Weapon = Slotdata
WeaponName = Slotdata.Value and
tostring(Slotdata.Value) or "None"
end;
end;

if GameName == "Korrupt Zombies" then


if self.Info.Character:GetAttribute("ZombieType") then
Weapon = self.Info.Character
WeaponName =
self.Info.Character:GetAttribute("ZombieType")
end
end;

return Weapon, WeaponName;


end;

function ESPConstructor:GetDistance()
if GameName == "Project Delta" then
if self.Info.Character and self:GetRoot() then
local Distance = (Camera.CFrame.p -
self:GetRoot().CFrame.p).Magnitude;

return math.floor(Distance / 3);


end;
end;

if GameName == "Eastern War" or GameName == "Scorched


Earth" or GameName == "Bad Business" or GameName == "Combat Warriors" or GameName
== "Frontlines" or GameName == "Games Unite" or GameName == "State Of Anarchy" or
GameName == "Korrupt Zombies" or GameName == "Lone Survival" or GameName ==
"Aftermath" or GameName == "Counter Blox" or GameName == "Arsenal" or GameName ==
"The Streets" or GameName == "Blood and Iron" or GameName == "Universal" or
GameName == "Blackout" or GameName == "Criminality" or GameName == "Apocalypse
Rising 2" or GameName == "Fallen" or GameName == "Gunfight Arena" then
if self.Info.Character and self:GetRoot() then
local Distance = (Camera.CFrame.p -
self:GetRoot().CFrame.p).Magnitude;

return math.floor(Distance);
end;
end;

return 0;
end;

function ESPConstructor:GetBoxSize()
if Library.Flags.BoxSize.Value == "Static" then
if not self.Info.Character then
return nil
end

local BoxData = {}
local Root = self:GetRoot()

if not Root then


return nil
end

local RootPosition3D = Root.CFrame


if GameName == "Games Unite" then
RootPosition3D = RootPosition3D * CFrame.new(0,
1.9, 0)
end

local RootPos, RootOnScreen =


Camera:WorldToViewportPoint(RootPosition3D.p)
local SF = 1 / (RootPos.Z *
math.tan(math.rad(Camera.FieldOfView / 2)) * 2) * 1000
local Width = Library.Flags.BoxWidth.Value * SF
local Height = Library.Flags.BoxHeight.Value * SF
local MinWidth, MaxHeight = 0, 6

if Library.Flags.BoxStyle.Value == "Corner" then


MinWidth = 4
end;
local Size =
Visuals:FloorVector(Vector2.new(math.max(Width, MinWidth), math.max(Height,
MaxHeight)))
local Position =
Visuals:FloorVector(Vector2.new(RootPos.X - Width / 2, (RootPos.Y - Height / 2) +
3))
local Center = Vector2.new(Position.X + Size.X / 2,
Position.Y + Size.Y / 2)

BoxData.Height = Height
BoxData.Width = Width
BoxData.Size = Size
BoxData.Position = Position
BoxData.Center2D = Center
BoxData.OnScreen = RootOnScreen

return BoxData
elseif Library.Flags.BoxSize.Value == "SizeDynamic" then
if not self.Info.Character then
return nil
end

local BoxData = {}
local Root = self:GetRoot()

if not Root then


return nil
end

local Character = self.Info.Character


if GameName == "Games Unite" then
RootPosition3D = RootPosition3D * CFrame.new(0,
1.9, 0)
end

local BoundingBoxPosition, BoundingBoxSize =


Character:GetBoundingBox()
local HalfSize = BoundingBoxSize / 2

local MaxBoxWidth = 10
local MaxBoxHeight = 20
local MaxBoxDepth = 10

local ClampedHalfSizeX = math.min(HalfSize.X,


MaxBoxWidth / 2)
local ClampedHalfSizeY = math.min(HalfSize.Y,
MaxBoxHeight / 2)
local ClampedHalfSizeZ = math.min(HalfSize.Z,
MaxBoxDepth / 2)

local ClampedBoundingBoxSize =
Vector3.new(ClampedHalfSizeX * 2, ClampedHalfSizeY * 2, ClampedHalfSizeZ * 2)
local ClampedBoundingBoxPosition = BoundingBoxPosition

local Corners = {
ClampedBoundingBoxPosition *
CFrame.new(ClampedHalfSizeX, ClampedHalfSizeY, ClampedHalfSizeZ),
ClampedBoundingBoxPosition *
CFrame.new(ClampedHalfSizeX, ClampedHalfSizeY, -ClampedHalfSizeZ),
ClampedBoundingBoxPosition *
CFrame.new(ClampedHalfSizeX, -ClampedHalfSizeY, ClampedHalfSizeZ),
ClampedBoundingBoxPosition *
CFrame.new(ClampedHalfSizeX, -ClampedHalfSizeY, -ClampedHalfSizeZ),
ClampedBoundingBoxPosition * CFrame.new(-
ClampedHalfSizeX, ClampedHalfSizeY, ClampedHalfSizeZ),
ClampedBoundingBoxPosition * CFrame.new(-
ClampedHalfSizeX, ClampedHalfSizeY, -ClampedHalfSizeZ),
ClampedBoundingBoxPosition * CFrame.new(-
ClampedHalfSizeX, -ClampedHalfSizeY, ClampedHalfSizeZ),
ClampedBoundingBoxPosition * CFrame.new(-
ClampedHalfSizeX, -ClampedHalfSizeY, -ClampedHalfSizeZ)
}

local MinX, MinY = math.huge, math.huge


local MaxX, MaxY = -math.huge, -math.huge
local OnScreenCount = 0

for _, corner in ipairs(Corners) do


local screenPos, onScreen =
Camera:WorldToViewportPoint(corner.Position)
if onScreen then
OnScreenCount = OnScreenCount + 1
MinX = math.min(MinX, screenPos.X)
MinY = math.min(MinY, screenPos.Y)
MaxX = math.max(MaxX, screenPos.X)
MaxY = math.max(MaxY, screenPos.Y)
end
end

if OnScreenCount == 0 then
return {
Height = 0,
Width= 0,
Size = 0,
Position = Vector2.new(0, 0),
OnScreen = false,
Center2D = Vector2.new(),
}
end

local Width = MaxX - MinX


local Height = MaxY - MinY

local MinWidth = 0

if Library.Flags.BoxStyle.Value == "Corner" then


MinWidth = 4
end

local Size =
Visuals:FloorVector(Vector2.new(math.max(Width, MinWidth), Height))
local Position = Visuals:FloorVector(Vector2.new(MinX,
MinY))
local Center = Vector2.new(Position.X + Size.X / 2,
Position.Y + Size.Y / 2)

BoxData.Height = Height
BoxData.Width = Width
BoxData.Size = Size
BoxData.Position = Position
BoxData.Center2D = Center
BoxData.OnScreen = OnScreenCount > 3

return BoxData

elseif Library.Flags.BoxSize.Value == "Dynamic" then


if not self.Info.Character then
return nil
end

local BoxData = {}
local Root = self:GetRoot()

if not Root then


return nil
end

local RootPosition3D = Root.CFrame


if GameName == "Games Unite" then
RootPosition3D = RootPosition3D * CFrame.new(0,
1.9, 0)
end

local RootPos, RootOnScreen =


Camera:WorldToViewportPoint(RootPosition3D.p)
local SF = 1 / (RootPos.Z *
math.tan(math.rad(Camera.FieldOfView / 2)) * 2) * 1000
local Width = Library.Flags.BoxWidth.Value * SF
local Height = Library.Flags.BoxHeight.Value * SF
local MinWidth, MaxHeight = 0, 6

if Library.Flags.BoxStyle.Value == "Corner" then


MinWidth = 4
end

local TotalSize = Vector3.new()


local PartCount = 0

for _, Part in
ipairs(self.Info.Character:GetChildren()) do
if Part:IsA("BasePart") or Part:IsA("MeshPart")
then
if Part.Transparency < 1 then
TotalSize = TotalSize + (Part.Size / 2)
PartCount = PartCount + 1
end
end
end

PartCount = PartCount / 3.1


local HalfSize = Vector3.new(TotalSize.X / PartCount,
TotalSize.Y / (PartCount / 2), TotalSize.Z / PartCount)

local Corners = {
RootPosition3D * CFrame.new(HalfSize.X, HalfSize.Y,
HalfSize.Z),
RootPosition3D * CFrame.new(HalfSize.X, HalfSize.Y,
-HalfSize.Z),
RootPosition3D * CFrame.new(HalfSize.X, -
HalfSize.Y, HalfSize.Z),
RootPosition3D * CFrame.new(HalfSize.X, -
HalfSize.Y, -HalfSize.Z),
RootPosition3D * CFrame.new(-HalfSize.X,
HalfSize.Y, HalfSize.Z),
RootPosition3D * CFrame.new(-HalfSize.X,
HalfSize.Y, -HalfSize.Z),
RootPosition3D * CFrame.new(-HalfSize.X, -
HalfSize.Y, HalfSize.Z),
RootPosition3D * CFrame.new(-HalfSize.X, -
HalfSize.Y, -HalfSize.Z)
}

local MinX, MinY = math.huge, math.huge


local MaxX, MaxY = -math.huge, -math.huge
local OnScreenCount = 0

for _, corner in ipairs(Corners) do


local screenPos, onScreen =
Camera:WorldToViewportPoint(corner.Position)
if onScreen then
OnScreenCount = OnScreenCount + 1
MinX = math.min(MinX, screenPos.X)
MinY = math.min(MinY, screenPos.Y)
MaxX = math.max(MaxX, screenPos.X)
MaxY = math.max(MaxY, screenPos.Y)
end
end

if OnScreenCount == 0 then
return {
Height = 0,
Width= 0,
Size = 0,
Position = Vector2.new(0, 0),
OnScreen = false,
Center2D = Vector2.new(),
}
end

Width = MaxX - MinX


Height = MaxY - MinY

local Size =
Visuals:FloorVector(Vector2.new(math.max(Width, MinWidth), math.max(Height,
MaxHeight)))
local Position = Visuals:FloorVector(Vector2.new(MinX,
MinY))
local Center = Vector2.new(Position.X + Size.X / 2,
Position.Y + Size.Y / 2)

BoxData.Height = Height
BoxData.Width = Width
BoxData.Size = Size
BoxData.Position = Position
BoxData.Center2D = Center
BoxData.OnScreen = RootOnScreen

return BoxData
end
end;

function ESPConstructor:GetMoney()
local Money = 0;
if GameName == "Project Delta" then
if self.Object then
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
for Index, Value in next,
PlayerData:GetDescendants() do
if not Value:FindFirstAncestor("Vault")
then
local ItemPrice =
Value:GetAttribute("Price")
local Amount =
Value:GetAttribute("Amount")

if ItemPrice and Amount then


local TotalPrice = ItemPrice *
Amount;
Money = Money +
tonumber(TotalPrice);
elseif ItemPrice and not Amount then
Money = Money +
tonumber(ItemPrice);
end;
end;
end;
end;
end;
end;

if GameName == "Counter Blox" or GameName == "Arsenal" then


--game:GetService("Players").LocalPlayer.Cash
local Cash = self.Object:FindFirstChild("Cash")
return Cash and Cash.Value or 0;

end;

return Money;
end;

function ESPConstructor:GetInventory()
local Text = nil

if self.Info.Class == "Player" then


local Backpack = nil

if GameName == "The Streets" or GameName == "Universal"


then
Backpack = self.Object.Backpack
if IsStudio and self.Info.Class ~= "Player" then
Backpack = self.Object:FindFirstChild("Hotbar")
end
elseif GameName == "Criminality" then
Backpack = self.Object:FindFirstChild("Backpack")
elseif GameName == "Blackout" then
local Character = self.Info.Character
if Character then
Backpack = Character.CurrentGear
end
elseif GameName == "Project Delta" then
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name)
if PlayerData then
Backpack =
PlayerData:FindFirstChild("Clothing")
end
end

if Backpack and #Backpack:GetChildren() > 0 then


local Items = {}

for _, Value in ipairs(Backpack:GetChildren()) do


if GameName == "Criminality" and
(Value:IsA("Tool") and not Value.Name:find("_val") and Value.Name ~= "Lockpick" and
Value.Name ~= "Fists" and Value.Name ~= "Radio" and Value.Name ~= "Knuckledusters"
and Value.Name ~= "TeddyBloxpin") then
table.insert(Items, Value.Name)
end
if GameName == "Blackout" and
Value:IsA("Folder") then
table.insert(Items, Value.Name)
end
if GameName == "Universal" or (GameName ==
"Project Delta" and not (Value.Name:find("Shirt") or Value.Name:find("Pants")))
then
table.insert(Items, Value.Name)
end
end

if #Items > 0 then


Text = "[" .. table.concat(Items, ", ") .. "]"
end
end
elseif IsStudio then
local Backpack =
self.Object:FindFirstChild(self.Info.Class == "Player" and "Backpack" or "Hotbar")

if Backpack and #Backpack:GetChildren() > 0 then


local Items = {}

for _, Value in ipairs(Backpack:GetChildren()) do


if Value:IsA("Tool") then
table.insert(Items, Value.Name)
end
if IsStudio and Value:IsA("IntValue") then
table.insert(Items, Value.Name)
end
end

if #Items > 0 then


Text = "[" .. table.concat(Items, ", ") .. "]"
end
end
end

return Text
end;

function ESPConstructor:GetAmmo(Weapon, WeaponName)


local Ammo, MaxAmmo, Passed = 0, 2, false

if GameName == "Project Delta" and WeaponName ~= "None" and


self.Info.Class == "Player" then
local Attachments = Weapon and
Weapon:FindFirstChild("Attachments")
if Attachments then
local Magazine =
Attachments:FindFirstChild("Magazine")
if Magazine and #Magazine:GetChildren() > 0 then
local FirstMagazine = Magazine:GetChildren()[1]
Ammo =
FirstMagazine.ItemProperties:GetAttribute("LoadedAmmo")
MaxAmmo =
FirstMagazine.ItemProperties:GetAttribute("MaxLoadedAmmo")
Passed = true
else
local LoadedAmmo =
Weapon:FindFirstChild("ItemProperties") and
Weapon.ItemProperties:FindFirstChild("LoadedAmmo")
if LoadedAmmo then
Passed = true
for _, Value in
ipairs(LoadedAmmo:GetChildren()) do
Ammo = Ammo +
Value:GetAttribute("Amount")
end

if WeaponName:lower() == "sks" then


MaxAmmo = 10
elseif WeaponName == "Mosin" or
WeaponName:lower() == "izh81" then
MaxAmmo = 5
elseif WeaponName == "RPG7" then
MaxAmmo = 1
end
end
end
end
elseif GameName == "Blackout" and Weapon and
Weapon:FindFirstChild("GunStatus") then
Ammo = Weapon.GunStatus:GetAttribute("Magazine")
MaxAmmo =
Weapon.GunStatus:GetAttribute("MagazineCapacity")
Passed = true
elseif GameName == "Universal" and IsStudio and
self.Info.Character:FindFirstChild("Ammo") then
Ammo = self.Info.Character:FindFirstChild("Ammo").Value
MaxAmmo =
self.Info.Character:FindFirstChild("MaxAmmo").Value
Passed = true
elseif GameName == "Criminality" and Weapon and
Weapon:FindFirstChild("IsGun") then
local Values = Weapon:FindFirstChild("Values")
if Values and Values.SERVER_Ammo and Values.Ammo then
Ammo, MaxAmmo = Values.SERVER_Ammo.Value,
Values.Ammo.Value

if MaxAmmo < Ammo then


MaxAmmo = MaxAmmo + Ammo
end

if MaxAmmo == 0 then
MaxAmmo = 1
end;

Passed = true
end
elseif GameName == "The Streets" and Weapon and
Weapon:FindFirstChild("Ammo") then
Ammo = Weapon.Ammo.Value;
MaxAmmo = Weapon:FindFirstChild("MaxAmmo") and
Weapon.MaxAmmo.Value or 15
Passed = true
end;

if GameName == "Scorched Earth" and Weapon and


self.Info.Data and self.Info.Data.equippedObjectThird and
self.Info.Data.equippedObjectThird.itemData.staticData and
self.Info.Data.equippedObjectThird.itemData.persistentData then
MaxAmmo =
self.Info.Data.equippedObjectThird.itemData.staticData.ammoCap
Ammo =
self.Info.Data.equippedObjectThird.itemData.persistentData.ammoLoaded

if Ammo and MaxAmmo then


Passed = true
end
end

if GameName == "Korrupt Zombies" and self.Info.Class ~=


"Player" then
Ammo = self.Info.Character:GetAttribute("Armor")
MaxAmmo = self.Info.Character:GetAttribute("MaxArmor")
if MaxAmmo == 0 then
MaxAmmo = 1
end

Passed = true
end

return Ammo, MaxAmmo, Passed


end;

function ESPConstructor:IsDead()
local IsDead = false

if GameName == "Project Delta" then


if self.Info.CurrentHealth <= 0 then
IsDead = true
end
elseif GameName == "Bad Business" or GameName == "Combat
Warriors" or GameName == "State Of Anarchy" or GameName == "Universal" or GameName
== "Counter Blox" or GameName == "Arsenal" then
if self.Info.CurrentHealth <= 0 or (self.Info.Character
and self.Info.Character.Humanoid:GetState() == Enum.HumanoidStateType.Dead) then
IsDead = true
end
elseif GameName == "Korrupt Zombies" or GameName == "The
Streets" or GameName == "Blood and Iron" or GameName == "Blackout" or GameName ==
"Criminality" or GameName == "Gunfight Arena" then
if self.Info.CurrentHealth == 0 or (self.Info.Character
and self.Info.Character.Humanoid:GetState() == Enum.HumanoidStateType.Dead) then
IsDead = true
end
elseif GameName == "Aftermath" then
if self.Object and self.Object:GetAttribute("Dead")
then
IsDead = true
end
end

return IsDead
end;

function ESPConstructor:UpdateTeam()
self.Info.Team =
GameFramework.EntityData[self.Info.Character.Name].replicated_data.team;
end;
end;

do --// Visibility shit


function ESPConstructor:Invisible()
local Components = self.Components;
if Components.Highlight then
Components.Highlight.Enabled = false;
end;
Components.BoxOutline.Visible = false;
Components.Tracer.Visible = false;
end;
end;

do --// Update functions


function ESPConstructor:Update()
do --// Main
local Components = self.Components;
local Info = self.Info;
local CurrentCamera = Camera;

if self.Info.Character and Library.Flags.EnemiesEnabled


and Library.Flags.EnemiesEnabled.Value and ((Library.Flags.IncludeAiESP and
Library.Flags.IncludeAiESP.Value and (self.Info.Class == "Player" or
self.Info.Class == "AI")) or self.Info.Class == "Player") then
if ((Library.Flags.ESPTeamCheck and
Library.Flags.ESPTeamCheck.Value and (self.Info.Team ~= Utility.Team)) or not
Library.Flags.ESPTeamCheck or (Library.Flags.ESPTeamCheck and not
Library.Flags.ESPTeamCheck.Value)) then
local Class = self.Info.Class;
local Name = self.Info.Username;
local DisplayName = self.Info.DisplayName;
local Team = self.Info.Team;
local ActualHealth, MaxHealth =
self:GetHealth();

local Offsets = self.Offsets;


local RightOffset = Offsets.RightOffset;
local TopOffset = Offsets.TopOffset;
local BottomOffset = Offsets.BottomOffset;
local LeftOffset = Offsets.LeftOffset;

local BottomBounds = 0;
local TopBounds = 0;
local LeftBounds = 0;
local RightBounds = 0;

local Root = self:GetRoot();

do --// Main
if Root then --// If Root (can add
additional checks here);
local BoxData = self:GetBoxSize();
if BoxData then
local Transparency = 0;
local Height = BoxData.Height;
local Width = BoxData.Width;
local Size = BoxData.Size;
local Position = BoxData.Position;
local Center = UDim2.new(0,
BoxData.Center2D.X, 0, BoxData.Center2D.Y);
local OnScreen = BoxData.OnScreen;
local Distance =
self:GetDistance();
local OverrideColor = nil;
local TransitionColor = nil;

if Library.Flags.HighlightVisible
and Library.Flags.HighlightVisible.Value and self.Info.IsVisible then
TransitionColor =
Library.Flags.HighlightVisibleColor.Color
end;

if Library.Flags.UseRelationColors
and Library.Flags.UseRelationColors.Value then
if self.Info.IsFriendly then
TransitionColor =
Library.Flags.FriendlyColor.Color;

self.Info.LastTransitionColor = TransitionColor;
elseif Combat.Target ==
self.Object then
TransitionColor =
Library.Flags.TargetColor.Color;

self.Info.LastTransitionColor = TransitionColor;
elseif Combat.Target ~=
self.Object and not table.find(Combat.Friendlies, self.Object) and not
TransitionColor then
TransitionColor = nil;
end;
end;

if not TransitionColor then


self.Info.ColorTick = tick();
else
self.Info.NeutralTick = tick();
end;

local Weapon, WeaponName =


self:GetWeapon();
local Ammo, MaxAmmo, AmmoPassed =
self:GetAmmo(Weapon, WeaponName);

self.Info.CurrentAmmo = Ammo;
self.Info.CurrentHealth =
ActualHealth;

do --// Animations
--// Death/Respawn Animations
if
Library.Flags.Animations.Value and
table.find(Library.Flags.SelectedAnimations.Value, "Death/Respawn Fade") then
if self:IsDead() then
if not
self.Info.IsDying then

self.Info.DeathStartTick = tick()
end
self.Info.IsDying =
true
local TimeDifference =
tick() - self.Info.DeathStartTick
Transparency =
math.min(1, TimeDifference / Library.Flags.FadeTime.Value)
elseif
self.Info.CurrentHealth >= 0 then
if self.Info.IsDying
then

self.Info.RespawnStartTick = tick()
end
local TimeDifference =
tick() - self.Info.RespawnStartTick
Transparency = 1 -
math.min(1, TimeDifference / Library.Flags.FadeTime.Value)
self.Info.IsDying =
false
end
if not self.Info.IsDying
then
self.Info.Tick = tick()
end
end

--// Health animations


if
Library.Flags.Animations.Value and
table.find(Library.Flags.SelectedAnimations.Value, "Health") then
if
self.Info.CurrentOldHealth ~= self.Info.CurrentHealth or self.Info.TransitionStart
~= 0 then
if
self.Info.TransitionStart == 0 then

self.Info.TransitionStart = tick()

self.Info.TransitionNewHealth = self.Info.CurrentHealth

self.Info.TransitionOldHealth = self.Info.CurrentOldHealth
elseif
self.Info.TransitionOldHealth ~= self.Info.CurrentOldHealth then
local CurrentTime =
tick() - self.Info.TransitionStart
local
TransitionProgress = math.min(1, CurrentTime / Library.Flags.AnimChangeTime.Value)

self.Info.TransitionOldHealth = self.Info.TransitionOldHealth * (1 -
TransitionProgress) + self.Info.TransitionNewHealth * TransitionProgress

self.Info.TransitionNewHealth = self.Info.CurrentHealth

self.Info.TransitionStart = tick()
end
local CurrentTime =
tick() - self.Info.TransitionStart
local
TransitionProgress = math.min(1, CurrentTime / Library.Flags.AnimChangeTime.Value)
self.Info.ActualHealth
= self.Info.TransitionOldHealth * (1 - TransitionProgress) +
self.Info.TransitionNewHealth * TransitionProgress
if TransitionProgress
>= 1 then

self.Info.TransitionStart = 0

self.Info.TransitionNewHealth = 0

self.Info.TransitionOldHealth = self.Info.CurrentHealth

self.Info.CurrentOldHealth = self.Info.CurrentHealth
end
else
self.Info.ActualHealth
= self.Info.CurrentHealth
end
else
self.Info.ActualHealth =
ActualHealth
end

--// Ammo animations


if
Library.Flags.Animations.Value and
table.find(Library.Flags.SelectedAnimations.Value, "Ammo") then
if self.Info.CurrentOldAmmo
~= self.Info.CurrentAmmo or self.Info.TransitionStartAmmo ~= 0 then
if
self.Info.TransitionStartAmmo == 0 then

self.Info.TransitionStartAmmo = tick()

self.Info.TransitionNewAmmo = self.Info.CurrentAmmo

self.Info.TransitionOldAmmo = self.Info.CurrentOldAmmo
elseif
self.Info.TransitionOldAmmo ~= self.Info.CurrentOldAmmo then
local CurrentTime =
tick() - self.Info.TransitionStartAmmo
local
TransitionProgress = math.min(1, CurrentTime / Library.Flags.AnimChangeTime.Value)

self.Info.TransitionOldAmmo = self.Info.TransitionOldAmmo * (1 -
TransitionProgress) + self.Info.TransitionNewAmmo * TransitionProgress

self.Info.TransitionNewAmmo = self.Info.CurrentAmmo

self.Info.TransitionStartAmmo = tick()
end
local CurrentTime =
tick() - self.Info.TransitionStartAmmo
local
TransitionProgress = math.min(1, CurrentTime / Library.Flags.AnimChangeTime.Value)
self.Info.ActualAmmo =
self.Info.TransitionOldAmmo * (1 - TransitionProgress) +
self.Info.TransitionNewAmmo * TransitionProgress
if TransitionProgress
>= 1 then

self.Info.TransitionStartAmmo = 0

self.Info.TransitionNewAmmo = 0

self.Info.TransitionOldAmmo = self.Info.CurrentAmmo

self.Info.CurrentOldAmmo = self.Info.CurrentAmmo
end
else
self.Info.ActualAmmo =
self.Info.CurrentAmmo
end
else
self.Info.ActualAmmo = Ammo
end

end;

if OnScreen and
((Library.Flags.LimitDistance.Value and Distance <=
Library.Flags.RenderDistance.Value) or not Library.Flags.LimitDistance.Value) then
--// OnScreen check
Components.Arrow.Visible =
false;

--// Needed to be positioned


for other elements.
Components.BoxOutline.Visible =
true;
Components.BoxOutline.Position
= UDim2.new(0, Position.X, 0, Position.Y);
Components.BoxOutline.Size =
UDim2.new(0, Size.X, 0, Size.Y);

do --// Highlights
if Library.Flags.Highlights
and Library.Flags.Highlights.Value and (self.Info.Class == "Player" or IsStudio)
and GameName ~= "Fallen" and Components.Highlight then

Components.Highlight.Enabled = true;

if TransitionColor ~=
nil then

Components.Highlight.FillColor =
Library.Flags.FillColor.Color:Lerp(TransitionColor, math.min(1, (tick() -
self.Info.ColorTick) / 0.2));

Components.Highlight.OutlineColor =
Library.Flags.OutlineColor.Color:Lerp(TransitionColor, math.min(1, (tick() -
self.Info.ColorTick)/ 0.2));
else

Components.Highlight.FillColor =
self.Info.LastTransitionColor:Lerp(Library.Flags.FillColor.Color, math.min(1,
(tick() - self.Info.NeutralTick)/ 0.2));

Components.Highlight.OutlineColor =
self.Info.LastTransitionColor:Lerp(Library.Flags.OutlineColor.Color, math.min(1,
(tick() - self.Info.NeutralTick)/ 0.2));
end

if not
self.Info.IsDying then

Components.Highlight.FillTransparency = Library.Flags.FillColor.Transparency;

Components.Highlight.OutlineTransparency = Library.Flags.OutlineColor.Transparency;
else

Components.Highlight.FillTransparency = Transparency

Components.Highlight.OutlineTransparency = Transparency
end;

Components.Highlight.DepthMode = "AlwaysOnTop";

Components.Highlight.Adornee = self.Info.Character;

else
if Components.Highlight
then

Components.Highlight.Enabled = false;
end;
end;
end;

do --// Adornments
if tick() -
self.Info.AdornmentTick > 10 then
if
Library.Flags.Adornments and Library.Flags.Adornments.Value then
for Index, Value in
next, self.Info.Character:GetChildren() do
if
Value:IsA("BasePart") and not self.Components.Adornments[Value] and not
table.find({"PlayerCollision", "Hitbox","Particle Area", "Gun", "FakeHead",
"HeadHB", "FaceHitBox", "humanoid_root_part", "hitbox", "HeadTopHitBox",
"LeftHand", "RightHand"}, Value.Name) then
local
AdornmentsTable = {}
for Vis =
1, 2 do
if
Value.Name == "Head" then

local Adornment = Instance.new("CylinderHandleAdornment"); do

Adornment.Parent = Value;

Adornment.Height = 1.02;

Adornment.Radius = 0.65;

Adornment.CFrame = CFrame.new(Vector3.new(), Vector3.new(0, 1, 0));

Adornment.Adornee = Value;

end;

if
Vis == 1 then

Adornment.Radius = Adornment.Radius - 0.15;

Adornment.Height = Adornment.Height - 0.15;

end;

Adornment.Name = Vis == 1 and "Invisible" or "Visible";

Adornment.ZIndex = Vis == 1 and 2 or 1;

Adornment.AlwaysOnTop = Vis == 1;

AdornmentsTable[Vis] = Adornment;

self.Components.Adornments[Value] = AdornmentsTable;
else

local Adornment = Instance.new("BoxHandleAdornment"); do


Adornment.Parent = Value;

Adornment.Size = Value.Size + Vector3.new(0.1, 0.1, 0.1);

Adornment.Adornee = Value;

end;

if
Vis == 1 then

Adornment.Size = Adornment.Size - Vector3.new(0.15, 0.15, 0.15);

end;

Adornment.Name = Vis == 1 and "Invisible" or "Visible";

Adornment.ZIndex = Vis == 1 and 2 or 1;

Adornment.AlwaysOnTop = Vis == 1;

AdornmentsTable[Vis] = Adornment;

self.Components.Adornments[Value] = AdornmentsTable;
end;
end;
end;

if
self.Components.Adornments[Value] then
--//
Occluded

self.Components.Adornments[Value][1].Visible = Library.Flags.Adornments.Value;

self.Components.Adornments[Value][1].Color3 = Library.Flags.OccludedColor.Color;

self.Components.Adornments[Value][1].Transparency =
Library.Flags.OccludedColor.Transparency;
--/ Visible

self.Components.Adornments[Value][2].Visible = Library.Flags.Adornments.Value;

self.Components.Adornments[Value][2].ZIndex = Library.Flags.GlowChams.Value and 9e9


or 1

self.Components.Adornments[Value][2].AlwaysOnTop = Library.Flags.GlowChams.Value
and true or false

self.Components.Adornments[Value][2].Color3 = Library.Flags.VisibleColor.Color;

self.Components.Adornments[Value][2].Transparency =
Library.Flags.VisibleColor.Transparency;
end;
end;
end;
self.Info.AdornmentTick
= tick();
end;
end;

do --// Boxes
local Corners =
Components.Corner;
if Library.Flags.ESPBox and
Library.Flags.ESPBox.Value then

Components.RegularStroke.Color = Library.Flags.BoxColor.Color;

if TransitionColor ~=
nil then

Components.RegularStroke.Color = Library.Flags.BoxColor.Color:Lerp(TransitionColor,
math.min(1, (tick() - self.Info.ColorTick)/ 0.2));
else

Components.RegularStroke.Color =
self.Info.LastTransitionColor:Lerp(Library.Flags.BoxColor.Color, math.min(1,
(tick() - self.Info.NeutralTick)/ 0.2));
end;

do --// Corners
if
Library.Flags.BoxStyle and Library.Flags.BoxStyle.Value == "Corner" then
--// Inline
do

Corners[1].Visible = true;

Corners[1].ZIndex = 3;

Corners[1].BackgroundTransparency = Transparency;

Corners[1].BackgroundColor3 = Components.RegularStroke.Color;

Corners[2].Visible = true;

Corners[2].ZIndex = 3;

Corners[2].BackgroundTransparency = Transparency;

Corners[2].BackgroundColor3 = Components.RegularStroke.Color;

Corners[3].Visible = true;

Corners[3].BackgroundColor3 = Components.RegularStroke.Color;

Corners[3].BackgroundTransparency = Transparency;

Corners[3].ZIndex = 3;

Corners[4].Visible = true;
Corners[4].BackgroundColor3 = Components.RegularStroke.Color;

Corners[4].ZIndex = 3;

Corners[4].BackgroundTransparency = Transparency;

Corners[5].Visible = true;

Corners[5].ZIndex = 3;

Corners[5].BackgroundColor3 = Components.RegularStroke.Color;

Corners[5].BackgroundTransparency = Transparency;

Corners[6].Visible = true;

Corners[6].BackgroundColor3 = Components.RegularStroke.Color;

Corners[6].ZIndex = 3;

Corners[6].BackgroundTransparency = Transparency;

Corners[7].Visible = true;

Corners[7].ZIndex = 3;

Corners[7].BackgroundColor3 = Components.RegularStroke.Color;

Corners[7].BackgroundTransparency = Transparency;

Corners[8].Visible = true;

Corners[8].BackgroundColor3 = Components.RegularStroke.Color;

Corners[8].BackgroundTransparency = Transparency;

Corners[8].ZIndex = 3;
end;

--// Outline
do

Corners[9].Visible = true;

Corners[9].ZIndex = 2;

Corners[9].BackgroundTransparency = Transparency;

Corners[9].BorderSizePixel = 1;

Corners[9].BackgroundColor3 = Components.RegularStroke.Color;

Corners[10].Visible = true;
Corners[10].ZIndex = 2;

Corners[10].BorderSizePixel = 1;

Corners[10].BackgroundTransparency = Transparency;

Corners[10].BackgroundColor3 = Components.RegularStroke.Color;

Corners[11].BorderSizePixel = 1;

Corners[11].Visible = true;

Corners[11].BackgroundColor3 = Components.RegularStroke.Color;

Corners[11].BackgroundTransparency = Transparency;

Corners[11].ZIndex = 2;

Corners[12].BorderSizePixel = 1;

Corners[12].Visible = true;

Corners[12].BackgroundColor3 = Components.RegularStroke.Color;

Corners[12].ZIndex = 2;

Corners[12].BackgroundTransparency = Transparency;

Corners[13].BorderSizePixel = 1;

Corners[13].Visible = true;

Corners[13].ZIndex = 2;

Corners[13].BackgroundColor3 = Components.RegularStroke.Color;

Corners[13].BackgroundTransparency = Transparency;

Corners[14].BorderSizePixel = 1;

Corners[14].Visible = true;

Corners[14].BackgroundColor3 = Components.RegularStroke.Color;

Corners[14].ZIndex = 2;

Corners[14].BackgroundTransparency = Transparency;

Corners[15].BorderSizePixel = 1;

Corners[15].Visible = true;

Corners[15].ZIndex = 2;
Corners[15].BackgroundColor3 = Components.RegularStroke.Color;

Corners[15].BackgroundTransparency = Transparency;

Corners[16].BorderSizePixel = 1;

Corners[16].Visible = true;

Corners[16].BackgroundColor3 = Color3.fromRGB();

Corners[16].BackgroundTransparency = Transparency;

Corners[16].ZIndex = 2;
end;
else
if
Corners[1].Visible then
for Index =
1, 16 do

Corners[Index].Visible = false;
end;
end;
end;
end;

if
Library.Flags.BoxStyle and Library.Flags.BoxStyle.Value == "Corner" then

Components.RegularStroke.Transparency = 1;

Components.OutlineStroke.Transparency = 1;
else

Components.RegularStroke.Transparency = Transparency;

Components.OutlineStroke.Transparency = Transparency;
end;
else
if Corners[1].Visible
then
for Index = 1, 16
do

Corners[Index].Visible = false;
end;
end;

Components.RegularStroke.Transparency = 1;

Components.OutlineStroke.Transparency = 1;
end;
end;

do --// Healthbar
if self.Info.ActualHealth <
0 then
self.Info.ActualHealth
= 0;
end;

if
Library.Flags.ESPHealthBar and Library.Flags.ESPHealthBar.Value then
local LerpedColor =
Library.Flags["HealthBarColorLower"].Color:lerp(Library.Flags["HealthBarColorHigher
"].Color, self.Info.ActualHealth / MaxHealth);

if
(self.Info.ActualHealth < MaxHealth and Library.Flags.HealthWhenDamaged.Value or
not Library.Flags.HealthWhenDamaged.Value) and Library.Flags.ESPHealth and
Library.Flags.ESPHealth.Value and Library.Flags.HealthbarPosition and
Library.Flags.HealthbarPosition.Value == "Left" and (Library.Flags.ESPAmmoBar and
(((Library.Flags.ESPAmmoBar.Value == false and Library.Flags.AmmobarPosition.Value
~= "Left") or Library.Flags.ESPAmmoBar.Value == false) or
Library.Flags.AmmobarPosition.Value ~= "Left") or not Library.Flags.ESPAmmoBar)
then

Components.HealthValue.Visible = true;

Components.HealthValue.Text = tostring(math.floor(self.Info.ActualHealth));

Components.HealthValue.TextColor3 = Library.Flags.HealthColor.Color;

Components.HealthValue.TextTransparency = Transparency;

Components.HealthValue.TextSize = Library.SmallSize;

Components.HealthValue.FontFace = Library.SmallFont;
else

Components.HealthValue.Visible = false;
end;

do --// Sizing for


custom positions
if
Library.Flags.HealthbarPosition and (Library.Flags.HealthbarPosition.Value ==
"Bottom" or Library.Flags.HealthbarPosition.Value == "Top") then
if
Library.Flags.BoxStyle and Library.Flags.BoxStyle.Value ~= "Corner" then

Components.Healthbar.Size = UDim2.new(1, 4, 0, 1);


else

Components.Healthbar.Size = UDim2.new(1, 0, 0, 1);


end;

Components.HealthbarInvert.Size = UDim2.new(0, (Components.Healthbar.AbsoluteSize.X


* (1 - self.Info.ActualHealth / MaxHealth)), 0, 1);

Components.HealthbarInvert.AnchorPoint = Vector2.new(1, 0);


else

Components.HealthbarInvert.AnchorPoint = Vector2.new(0, 0);

Components.Healthbar.Size = UDim2.new(0, 1, 1, 4)
Components.HealthbarInvert.Size = UDim2.new(1, 0, 0,
(Components.Healthbar.AbsoluteSize.Y* (1 - self.Info.ActualHealth / MaxHealth)));
end;
end;

do --// Positioning for


custom positions
if
Library.Flags.HealthbarPosition and Library.Flags.HealthbarPosition.Value ==
"Bottom" then
if
Library.Flags.BoxStyle and Library.Flags.BoxStyle.Value ~= "Corner" then

Components.Healthbar.Position = BottomOffset + UDim2.new(0, -2, 0, BottomBounds +


2);
else

Components.Healthbar.Position = BottomOffset + UDim2.new(0, 0, 0, BottomBounds +


2);
end;

Components.HealthbarInvert.Position = UDim2.new(1, 0, 0, 0);


BottomBounds =
BottomBounds + 6;
elseif
Library.Flags.HealthbarPosition and Library.Flags.HealthbarPosition.Value == "Top"
then
if
Library.Flags.BoxStyle and Library.Flags.BoxStyle.Value ~= "Corner" then

Components.Healthbar.Position = TopOffset + UDim2.new(0, -2, 0, 12 + 1 -


TopBounds);
else

Components.Healthbar.Position = TopOffset + UDim2.new(0, 0, 0, 12 + 1 - TopBounds);


end;

Components.HealthbarInvert.Position = UDim2.new(1, 0, 0, 0);


TopBounds =
TopBounds + 1 + 4;
elseif
Library.Flags.HealthbarPosition and Library.Flags.HealthbarPosition.Value == "Left"
then

Components.Healthbar.Position = LeftOffset + UDim2.new(0, LeftBounds, 0, 0);

Components.HealthbarInvert.Position = UDim2.new(0, 0, 0, 0);


LeftBounds =
LeftBounds - (1 + 4);
elseif
Library.Flags.HealthbarPosition and Library.Flags.HealthbarPosition.Value ==
"Right" then

Components.Healthbar.Position = RightOffset + UDim2.new(0, RightBounds, 0, 0);

Components.HealthbarInvert.Position = UDim2.new(0, 0, 0, 0);


RightBounds =
RightBounds + 1 + 6;
end;
end;

Components.Healthbar.BackgroundColor3 = LerpedColor;

Components.Healthbar.Visible = true;

Components.Healthbar.BackgroundTransparency = Transparency;

Components.HealthbarInvert.BackgroundTransparency = Transparency;
else

Components.Healthbar.Visible = false;
end;
end;

do --// Ammobar
if Library.Flags.ESPAmmoBar
and Library.Flags.ESPAmmoBar.Value and WeaponName ~= "None" and AmmoPassed then
local LerpedColor =
Library.Flags["AmmobarColorLower"].Color:lerp(Library.Flags["AmmobarColorHigher"].C
olor, self.Info.ActualAmmo / MaxAmmo);
do --// Sizing for
custom positions
if
Library.Flags.AmmobarPosition and (Library.Flags.AmmobarPosition.Value == "Bottom"
or Library.Flags.AmmobarPosition.Value == "Top") then
if
Library.Flags.BoxStyle and Library.Flags.BoxStyle.Value ~= "Corner" then

Components.Ammobar.Size = UDim2.new(1, 4, 0, 1);


else

Components.Ammobar.Size = UDim2.new(1, 0, 0, 1);


end;

Components.AmmobarInvert.Size = UDim2.new(0, (Components.Ammobar.AbsoluteSize.X *


(1 - self.Info.ActualAmmo / MaxAmmo)), 0, 1);

Components.AmmobarInvert.AnchorPoint = Vector2.new(1, 0);


else

Components.AmmobarInvert.AnchorPoint = Vector2.new(0, 0);

Components.Ammobar.Size = UDim2.new(0, 1, 1, 4)

Components.AmmobarInvert.Size = UDim2.new(1, 0, 0,
(Components.Ammobar.AbsoluteSize.Y* (1 - self.Info.ActualAmmo / MaxAmmo)));
end;
end;

do --// Positioning for


custom positions
if
Library.Flags.AmmobarPosition and Library.Flags.AmmobarPosition.Value == "Bottom"
then
if
Library.Flags.BoxStyle and Library.Flags.BoxStyle.Value ~= "Corner" then

Components.Ammobar.Position = BottomOffset + UDim2.new(0, -2, 0, BottomBounds + 1 +


2);

Components.AmmobarInvert.Position = UDim2.new(1, 0, 0, 0);


else

Components.Ammobar.Position = BottomOffset + UDim2.new(0, 0, 0, BottomBounds + 1 +


2);

Components.AmmobarInvert.Position = UDim2.new(1, 0, 0, 0);


end;
BottomBounds =
BottomBounds + 1 + 6;
elseif
Library.Flags.AmmobarPosition and Library.Flags.AmmobarPosition.Value == "Top" then

if
Library.Flags.BoxStyle and Library.Flags.BoxStyle.Value ~= "Corner" then

Components.Ammobar.Position = TopOffset + UDim2.new(0, -2, 0, 12 + 1 - TopBounds);

Components.AmmobarInvert.Position = UDim2.new(1, 0, 0, 0);


else

Components.Ammobar.Position = TopOffset + UDim2.new(0, 0, 0, 12 + 1 - TopBounds);

Components.AmmobarInvert.Position = UDim2.new(1, 0, 0, 0);


end;
TopBounds =
TopBounds + 1 + 4;
elseif
Library.Flags.AmmobarPosition and Library.Flags.AmmobarPosition.Value == "Left"
then

Components.AmmobarInvert.Position = UDim2.new(0, 0, 0, 0);

Components.Ammobar.Position = LeftOffset + UDim2.new(0, LeftBounds, 0, 0);


LeftBounds =
LeftBounds - (1 + 6);
elseif
Library.Flags.AmmobarPosition and Library.Flags.AmmobarPosition.Value == "Right"
then

Components.AmmobarInvert.Position = UDim2.new(0, 0, 0, 0);

Components.Ammobar.Position = RightOffset + UDim2.new(0, RightBounds, 0, 0);


RightBounds =
RightBounds + 1 + 6;
end;
end;

Components.Ammobar.BackgroundColor3 = LerpedColor;

Components.Ammobar.Visible = true;

Components.Ammobar.BackgroundTransparency = Transparency;
Components.AmmobarInvert.BackgroundTransparency = Transparency;
else

Components.Ammobar.Visible = false;
end;
end;

do --// Flags
local TotalFlags = 0;

if Library.Flags.ESPFlags
and Library.Flags.ESPFlags.Value then

Components.Flags.Visible = true

Components.Flags.FontFace = Library.SmallFont

Components.Flags.TextSize = Library.SmallSize

Components.Flags.Position = RightOffset + UDim2.new(0, RightBounds, 0, -3)

Components.Flags.TextTransparency = Transparency

Components.Flags.RichText = true

Components.Flags.TextYAlignment = Enum.TextYAlignment.Top

local FlagsText = ""

for _, Value in next,


ESPConstructor.Flags do
if
table.find(Library.Flags.Flags.Value, Value.Flag) and Value.Allow(self) then
local Text =
Value.Text(self)
local Color =
Library.Flags["Flag"..Value.Flag].Color
Color =
string.format("#%02X%02X%02X", Color.R * 255, Color.G * 255, Color.B * 255)
if Text then
TotalFlags
= TotalFlags + 1
if
TotalFlags <= 2 or Distance < 263 then

FlagsText = FlagsText .. string.format('<font color="%s">%s</font>\n', Color, Text)


end
end
end
end

Components.Flags.Text =
FlagsText
RightBounds =
RightBounds + 10
else

Components.Flags.Visible = false
end
end;

do --// Username
if Library.Flags.ESPName
and Library.Flags.ESPName.Value then

Components.Username.Visible = true;

Components.Username.Text = self.Info.Username;
if TransitionColor ~=
nil then

Components.Username.TextColor3 =
Library.Flags.NameColor.Color:Lerp(TransitionColor, math.min(1, (tick() -
self.Info.ColorTick)/ 0.2));
else

Components.Username.TextColor3 =
self.Info.LastTransitionColor:Lerp(Library.Flags.NameColor.Color, math.min(1,
(tick() - self.Info.NeutralTick)/ 0.2));
end;

Components.Username.TextTransparency = Transparency;

if
Library.Flags.UsernamePosition and Library.Flags.UsernamePosition.Value == "Bottom"
then

Components.Username.TextYAlignment = Enum.TextYAlignment.Top;

Components.Username.Position = BottomOffset + UDim2.new(0, 0, 0, BottomBounds);


BottomBounds =
BottomBounds + Components.Username.TextSize + 1;
else

Components.Username.TextYAlignment = Enum.TextYAlignment.Center;

Components.Username.Position = TopOffset + UDim2.new(0, 0, 0, -TopBounds);


TopBounds =
TopBounds + Components.Username.TextSize + 1;

end;
else

Components.Username.Visible = false;
end;
end;

do --// Inventory / Hotbar


if
Library.Flags.ESPInventory and Library.Flags.ESPInventory.Value then
local Inventory =
self:GetInventory()
if self.Object and
Inventory then

Components.Inventory.Visible = true;
if TransitionColor
~= nil then

Components.Inventory.TextColor3 =
Library.Flags.InventoryColor.Color:Lerp(TransitionColor, math.min(1, (tick() -
self.Info.ColorTick)/ 0.2));
else

Components.Inventory.TextColor3 =
self.Info.LastTransitionColor:Lerp(Library.Flags.InventoryColor.Color, math.min(1,
(tick() - self.Info.NeutralTick)/ 0.2));
end;

local ReturnedText
= Inventory;

Components.Inventory.Text = ReturnedText;

Components.Inventory.TextTransparency = Transparency;

if
Library.Flags.InventoryPosition and Library.Flags.InventoryPosition.Value == "Top"
then

Components.Inventory.TextYAlignment = Enum.TextYAlignment.Center;

Components.Inventory.Position = TopOffset + UDim2.new(0, 0, 0, -TopBounds);


TopBounds =
TopBounds + Components.Inventory.TextSize + 1;
else

Components.Inventory.TextYAlignment = Enum.TextYAlignment.Top;

Components.Inventory.Position = BottomOffset + UDim2.new(0, 0, 0, BottomBounds);


BottomBounds =
BottomBounds + Components.Inventory.TextSize + 1;
end;
else

Components.Inventory.Visible = false;
end;
else

Components.Inventory.Visible = false;
end;

end;

do --// Weapon
if Library.Flags.ESPWeapon
and Library.Flags.ESPWeapon.Value and WeaponName ~= "None" then

Components.Weapon.Visible = true;
Components.Weapon.Text
= WeaponName;

if AmmoPassed then
Components.Weapon.Text = Components.Weapon.Text .. "
["..tostring(Ammo).."/"..tostring(MaxAmmo).."]";
end;

if TransitionColor ~=
nil then

Components.Weapon.TextColor3 =
Library.Flags.WeaponColor.Color:Lerp(TransitionColor, math.min(1, (tick() -
self.Info.ColorTick)/ 0.2));
else

Components.Weapon.TextColor3 =
self.Info.LastTransitionColor:Lerp(Library.Flags.WeaponColor.Color, math.min(1,
(tick() - self.Info.NeutralTick)/ 0.2));
end;

Components.Weapon.TextTransparency = Transparency;

if
Library.Flags.WeaponPosition and Library.Flags.WeaponPosition.Value == "Top" then

Components.Weapon.TextYAlignment = Enum.TextYAlignment.Center;

Components.Weapon.Position = TopOffset + UDim2.new(0, 0, 0, -TopBounds);


TopBounds =
TopBounds + Components.Weapon.TextSize + 1;
else

Components.Weapon.TextYAlignment = Enum.TextYAlignment.Top;

Components.Weapon.Position = BottomOffset + UDim2.new(0, 0, 0, BottomBounds);


BottomBounds =
BottomBounds + Components.Weapon.TextSize + 1;
end;
else

Components.Weapon.Visible = false;
end;
end;

do --// Weapon Image


if
Library.Flags.ESPWeaponImage and Library.Flags.ESPWeaponImage.Value and WeaponName
~= "None" and WeaponIcons[WeaponName:upper()] and GameName ~= "Fallen" then

Components.WeaponImage.Image = WeaponIcons[WeaponName:upper()];

Components.WeaponImage.Visible = true;

Components.WeaponImage.ImageTransparency = Transparency;

Components.WeaponImage.Position = BottomOffset + UDim2.new(0.5, 0, 0,


BottomBounds);
BottomBounds =
BottomBounds + Components.WeaponImage.Size.Y.Offset;
else
Components.WeaponImage.Visible = false;
end;
end;

do --// Distance
if
Library.Flags.ESPDistance and Library.Flags.ESPDistance.Value then

Components.Distance.Visible = true;

Components.Distance.Text = tostring(Distance) .. ""..


DistanceConversions[PreferredDistances[GameName]].Suffix;

if TransitionColor ~=
nil then

Components.Distance.TextColor3 =
Library.Flags.DistanceColor.Color:Lerp(TransitionColor, math.min(1, (tick() -
self.Info.ColorTick)/ 0.2));
else

Components.Distance.TextColor3 =
self.Info.LastTransitionColor:Lerp(Library.Flags.DistanceColor.Color, math.min(1,
(tick() - self.Info.NeutralTick)/ 0.2));
end;

Components.Distance.TextTransparency = Transparency;

if
Library.Flags.DistancePosition and Library.Flags.DistancePosition.Value == "Top"
then

Components.Distance.TextYAlignment = Enum.TextYAlignment.Center;

Components.Distance.Position = TopOffset + UDim2.new(0, 0, 0, -TopBounds);


TopBounds =
TopBounds + Components.Distance.TextSize + 1;
else

Components.Distance.TextYAlignment = Enum.TextYAlignment.Top;

Components.Distance.Position = BottomOffset + UDim2.new(0, 0, 0, BottomBounds);


BottomBounds =
BottomBounds + Components.Distance.TextSize + 1;
end;
else

Components.Distance.Visible = false;
end;
end;

do --// Tracers
if Library.Flags.ESPTracers
and Library.Flags.ESPTracers.Value then

Components.Tracer.Visible = true

Components.Tracer.BackgroundTransparency = Transparency
if TransitionColor ~=
nil then

Components.Tracer.BackgroundColor3 =
Library.Flags.NameColor.Color:Lerp(TransitionColor, math.min(1, (tick() -
self.Info.ColorTick)/ 0.2));
else

Components.Tracer.BackgroundColor3 =
self.Info.LastTransitionColor:Lerp(Library.Flags.TracerColor.Color, math.min(1,
(tick() - self.Info.NeutralTick)/ 0.2));
end;
local To = Center +
BottomOffset
local ScreenSize =
Visuals.ESPContainer.AbsoluteSize
local From =
Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)

To =
Vector2.new(To.X.Offset, To.Y.Offset)

Visuals:RotateLine(Components.Tracer, 1, From, To)


else

Components.Tracer.Visible = false
end

end

else
--// Offscreen
self:Invisible();

local Arrow = Components.Arrow;

do --// Arrows
if not OnScreen and ((not
Library.Flags.LimitDistance.Value) or (Library.Flags.LimitDistance.Value and
Distance <= Library.Flags.RenderDistance.Value)) and Library.Flags.ESPOffscreen and
Library.Flags.ESPOffscreen.Value then
Arrow.Visible = true
if TransitionColor then
Arrow.ImageColor3 =
Library.Flags.OffscreenColor.Color:Lerp(TransitionColor, math.min(1, (tick() -
self.Info.ColorTick) / 0.2))
else
Arrow.ImageColor3 =
self.Info.LastTransitionColor:Lerp(Library.Flags.OffscreenColor.Color, math.min(1,
(tick() - self.Info.NeutralTick) / 0.2))
end

if Transparency ~= 0
then

Arrow.ImageTransparency = Transparency
else

Arrow.ImageTransparency = Library.Flags.OffscreenColor.Transparency;
end;

local RootPosition =
Root.CFrame.p
local CameraPosition =
Camera.CFrame.p
local ViewAngle =
Camera.CFrame.LookVector

local Projection =
(RootPosition - ViewAngle)
local Dot =
ViewAngle:Dot(Projection)

if Dot <= 0 then


RootPosition =
(ViewAngle + (Projection - ((ViewAngle * Dot) * 1.01)))
end

local ScreenPos, _ =
Camera:WorldToScreenPoint(RootPosition)

local Center =
Camera.ViewportSize / 2
local Direction =
(Vector2.new(ScreenPos.X, ScreenPos.Y) - Vector2.new(Center.X, Center.Y)).Unit
local Radian =
math.atan2(Direction.X, Direction.Y)
local Angle =
(((math.pi * 2) / Library.Flags.OOVFOV.Value) * Radian)

local ClampedPosition =
(Vector2.new(Center.X, Center.Y) + (Direction * math.min(math.abs(((Center.Y -
Library.Flags.OOVFOV.Value) / math.sin(Angle)) * Library.Flags.OOVFOV.Value),
math.abs((Center.X - Library.Flags.OOVFOV.Value) / (math.cos(Angle)) / 2))))
Arrow.Position =
UDim2.new(0, (ClampedPosition.X - (Arrow.Size.X.Offset / 2)), 0,
((ClampedPosition.Y - (Arrow.Size.Y.Offset / 2))))
Arrow.Rotation = (-
math.deg(Radian) + 180)

if
Library.Flags.ArrowPoints.Value == "Three" then
Arrow.Image =
"http://www.roblox.com/asset/?id=282305485"
else
Arrow.Image =
"http://www.roblox.com/asset/?id=15000587389"
end

if
Library.Flags.DynamicArrows and Library.Flags.DynamicArrows.Value then
local Magnitude =
((1 / (Distance * 3)) * Library.Flags.RenderDistance.Value)
Magnitude =
math.clamp(Magnitude, 14, 40)
Arrow.Size =
UDim2.new(0, Magnitude, 0, Magnitude)
else
Arrow.Size =
UDim2.new(0, Library.Flags.ArrowWidth.Value, 0, Library.Flags.ArrowHeight.Value)
end
else
Arrow.Visible = false
end

end;
end;
else
Components.Arrow.Visible = false;

self:Invisible();
end;
else
Components.Arrow.Visible = false;
self:Invisible();
end;
end;
else
self:Invisible();
self.Components.Arrow.Visible = false;
end;
else
self:Invisible();
self.Components.Arrow.Visible = false;
end;
end
end;
end;

do --// Remove/Add
function ESPConstructor:Remove()
local Components = self.Components;

for Index, Value in next,


Components.BoxOutline:GetChildren() do
Value:Destroy();
end;

Components.Arrow:Destroy();
Components.BoxOutline:Destroy();
if type(Components.Highlight) ~= "boolean" then
Components.Highlight:Destroy()
end

Visuals.Enemies[self.Object] = nil;
end;

function ESPConstructor:New(Enemy)
--// Components
local Tracer = Instance.new("Frame");

local BoxOutline = Instance.new("Frame");


local OutlineStroke = Instance.new("UIStroke");
local RegularStroke = Instance.new("UIStroke");

local Box = Instance.new("Frame");


local Username = ESPConstructor:Text();
local Weapon = ESPConstructor:Text();
local Distance = ESPConstructor:Text();
local Inventory = ESPConstructor:Text();

local Healthbar = Instance.new("Frame");


local HealthbarInvert = Instance.new("Frame");

local Ammobar = Instance.new("Frame");


local AmmobarInvert = Instance.new("Frame");

local Look = Instance.new("Frame");

local HealthValue = ESPConstructor:Text();


local Flags = ESPConstructor:Text();
local Highlight = Instance.new("Highlight");
local WeaponImage = Instance.new("ImageLabel");

local Arrow = Instance.new("ImageLabel");

local function NewLine()


local Frame = Instance.new("Frame",
Visuals.ESPContainer);
Frame.Visible = false;
Frame.BorderSizePixel = 0;
Frame.BorderColor3 = Color3.new();
Frame.ZIndex = 2;
Frame.BackgroundColor3 = Color3.fromRGB(255, 255, 255);
return Frame;
end;

do --// Components Properties


do --// Highlight
if Highlight then
Highlight.Parent = gethui();
Highlight.Enabled = false;
Highlight.Name =
"9391203j312i3kashd9q312093ajsdokake219183213h";
end;

end;

do --// Tracer
Tracer.Parent = Visuals.ESPContainer;
Tracer.BackgroundColor3 = Color3.new(1, 1, 1);
Tracer.BorderSizePixel = 1;
Tracer.BorderColor3 = Color3.new(0, 0, 0);
end;

do --// Weapon Image


WeaponImage.Parent = BoxOutline;
WeaponImage.Visible = false;
WeaponImage.Size = UDim2.new(0, 40, 0, 16);
WeaponImage.ScaleType = Enum.ScaleType.Crop;
WeaponImage.BackgroundTransparency = 1;
WeaponImage.Position = UDim2.new(0.5, 0, 0, 0);
WeaponImage.AnchorPoint = Vector2.new(0.5, 0);
end;
do --// Look
Look.Parent = Visuals.ESPContainer;
Look.BackgroundColor3 = Color3.new(1, 1, 1);
Look.BorderSizePixel = 1;
Look.BorderColor3 = Color3.new(0, 0, 0);
end

do --// Box
BoxOutline.Parent = Visuals.ESPContainer;
BoxOutline.BackgroundTransparency = 1.000;
BoxOutline.ZIndex = 2;
BoxOutline.Visible = false;

OutlineStroke.Parent = BoxOutline;
OutlineStroke.LineJoinMode = "Miter";
OutlineStroke.Thickness = 3;
OutlineStroke.Color = Color3.fromRGB();

RegularStroke.Parent = Box;
RegularStroke.LineJoinMode = "Miter";
RegularStroke.Thickness = 1;
RegularStroke.Color = Color3.fromRGB(255, 255,
255);

Box.Parent = BoxOutline;
Box.BackgroundTransparency = 1.000;
Box.Position = UDim2.new(0, -1, 0, -1);
Box.Size = UDim2.new(1, 2, 1, 2);
Box.ZIndex = 3;
end;

do --// Top Offset (Username)


Username.Parent = Box;
Username.Position = UDim2.new(0, 0, 0, -24);
Username.Size = UDim2.new(1, 0, 0, 24);
end;

do --// Bottom Offset (Distance)


Distance.Parent = Box
Distance.Position = UDim2.new(0, 0, 1, 0)
Distance.Size = UDim2.new(1, 0, 0, 24)
end;

do --// Bottom Offset (Weapon)


Weapon.Parent = Box
Weapon.Position = UDim2.new(0, 0, 1, 15);
Weapon.Size = UDim2.new(1, 0, 0, 24);
end;

do -- Inventory
Inventory.Parent = Box;
Inventory.Position = UDim2.new(0, 0, 1, 30);
Inventory.Size = UDim2.new(1, 0, 0, 24);
end;

do --// Healthbar
Healthbar.Parent = BoxOutline;
Healthbar.BackgroundColor3 = Color3.fromRGB(0, 255,
115);
Healthbar.BorderColor3 = Color3.fromRGB(0, 0, 0);
Healthbar.Position = UDim2.new(0, -6, 0, -2);
Healthbar.Size = UDim2.new(0, 2, 1, 4);
Healthbar.Visible = false;

HealthbarInvert.Parent = Healthbar;
HealthbarInvert.BackgroundColor3 =
Color3.fromRGB(0, 0, 0);
HealthbarInvert.BorderColor3 = Color3.fromRGB(0, 0,
0);
HealthbarInvert.BorderSizePixel = 0;
HealthbarInvert.Size = UDim2.new(1, 0, 0, 0);

end;

do --// Ammobar
Ammobar.Parent = BoxOutline;
Ammobar.BackgroundColor3 = Color3.fromRGB(0, 255,
115);
Ammobar.BorderColor3 = Color3.fromRGB(0, 0, 0);

Ammobar.Position = UDim2.new(0, -6, 0, -2);


Ammobar.Size = UDim2.new(0, 2, 1, 4);
Ammobar.Visible = false;

AmmobarInvert.Parent = Ammobar;
AmmobarInvert.BackgroundColor3 = Color3.fromRGB(0,
0, 0);
AmmobarInvert.BorderColor3 = Color3.fromRGB(0, 0,
0);
AmmobarInvert.BorderSizePixel = 0;
AmmobarInvert.Size = UDim2.new(1, 0, 0, 0);
end;

do --// Health Value


HealthValue.Parent = HealthbarInvert;
HealthValue.Position = UDim2.new(0, -20, 1, 0);
HealthValue.Size = UDim2.new(0, 24, 0, 3);
HealthValue.TextXAlignment =
Enum.TextXAlignment.Center;
end;

do --// Flags
Flags.Parent = BoxOutline;
Flags.Position = UDim2.new(0, -30, 1, 0);
Flags.Size = UDim2.new(0, 24, 0, 16);
Flags.TextXAlignment = Enum.TextXAlignment.Left;
Flags.Text = "Flags";
end;

do --// Arrow
Arrow.Visible = false;
Arrow.BackgroundTransparency = 1;
Arrow.Size = UDim2.new(0, 16, 0, 16);
Arrow.Parent = Visuals.ESPContainer;
end;
end;

--// Setting Components


local Components = {
Flags = Flags,
BoxOutline = BoxOutline;
Arrow = Arrow;
OutlineStroke = OutlineStroke;
RegularStroke = RegularStroke;
Box = Box;
Weapon = Weapon;
Username = Username;
Distance = Distance;
Ammobar = Ammobar;
Look = Look;
AmmobarInvert = AmmobarInvert;
Healthbar = Healthbar;
HealthbarInvert = HealthbarInvert;
HealthValue = HealthValue;
Highlight = Highlight;
Tracer = Tracer;
WeaponImage = WeaponImage;
Inventory = Inventory;
Corner = {};
Adornments = {};
};

do --// Corners creation


local Corners = Components.Corner
do --// Inline
Corners[1] = Instance.new("Frame");
Corners[1].Parent = BoxOutline
Corners[1].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[1].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[1].BorderSizePixel = 0
Corners[1].Size = UDim2.new(0.3, 0, 0, 1)
Corners[1].Position = UDim2.new(0, 0, 0, -2);

Corners[2] = Instance.new("Frame");
Corners[2].Parent = BoxOutline
Corners[2].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[2].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[2].BorderSizePixel = 0
Corners[2].Size = UDim2.new(0, 1, 0.3, 0)
Corners[2].Position = UDim2.new(0, 0, 0, -2)

Corners[3] = Instance.new("Frame");
Corners[3].Parent = BoxOutline
Corners[3].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[3].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[3].BorderSizePixel = 0
Corners[3].Position = UDim2.new(0.7, -1, 0, -2)
Corners[3].Size = UDim2.new(0.3, 0, 0, 1)

Corners[4] = Instance.new("Frame");
Corners[4].Parent = BoxOutline
Corners[4].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[4].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[4].BorderSizePixel = 0
Corners[4].Position = UDim2.new(1, -1, 0, -2)
Corners[4].Size = UDim2.new(0, 1, 0.3, 1)

Corners[5] = Instance.new("Frame");
Corners[5].Parent = BoxOutline
Corners[5].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[5].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[5].BorderSizePixel = 0
Corners[5].Position = UDim2.new(0, 0, 0.7, 1)
Corners[5].Size = UDim2.new(0, 1, 0.3, 0)

Corners[6] = Instance.new("Frame");
Corners[6].Parent = BoxOutline
Corners[6].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[6].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[6].BorderSizePixel = 0
Corners[6].Position = UDim2.new(0, 0, 1, 1)
Corners[6].Size = UDim2.new(0.3, 0, 0, 1)

Corners[7] = Instance.new("Frame");
Corners[7].Parent = BoxOutline
Corners[7].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[7].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[7].BorderSizePixel = 0
Corners[7].Position = UDim2.new(1, -1, 0.7, 1)
Corners[7].Size = UDim2.new(0, 1, 0.3, 0)

Corners[8] = Instance.new("Frame");
Corners[8].Parent = BoxOutline
Corners[8].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[8].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[8].BorderSizePixel = 0
Corners[8].Position = UDim2.new(0.7, 0, 1, 1)
Corners[8].Size = UDim2.new(0.3, 0, 0, 1);
end;

do --// Outline
Corners[9] = Instance.new("Frame");
Corners[9].Parent = BoxOutline
Corners[9].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[9].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[9].BorderSizePixel = 1
Corners[9].Size = UDim2.new(0.3, 0, 0, 1)
Corners[9].Position = UDim2.new(0, 0, 0, -2)

Corners[10] = Instance.new("Frame");
Corners[10].Parent = BoxOutline
Corners[10].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[10].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[10].BorderSizePixel = 1
Corners[10].Size = UDim2.new(0, 1, 0.3, 0)
Corners[10].Position = UDim2.new(0, 0, 0, -2);

Corners[11] = Instance.new("Frame");
Corners[11].Parent = BoxOutline
Corners[11].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[11].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[11].BorderSizePixel = 1
Corners[11].Position = UDim2.new(0.7, -1, 0, -2)
Corners[11].Size = UDim2.new(0.3, 0, 0, 1)

Corners[12] = Instance.new("Frame");
Corners[12].Parent = BoxOutline
Corners[12].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[12].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[12].BorderSizePixel = 1
Corners[12].Position = UDim2.new(1, -1, 0, -2)
Corners[12].Size = UDim2.new(0, 1, 0.3, 0)

Corners[13] = Instance.new("Frame");
Corners[13].Parent = BoxOutline
Corners[13].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[13].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[13].BorderSizePixel = 1
Corners[13].Position = UDim2.new(0, 0, 0.7, 1)
Corners[13].Size = UDim2.new(0, 1, 0.3, 0)

Corners[14] = Instance.new("Frame");
Corners[14].Parent = BoxOutline
Corners[14].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[14].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[14].BorderSizePixel = 1
Corners[14].Position = UDim2.new(0, 0, 1, 1)
Corners[14].Size = UDim2.new(0.3, 0, 0, 1)

Corners[15] = Instance.new("Frame");
Corners[15].Parent = BoxOutline
Corners[15].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[15].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[15].BorderSizePixel = 1
Corners[15].Position = UDim2.new(1, -1, 0.7, 1)
Corners[15].Size = UDim2.new(0, 1, 0.3, 0)

Corners[16] = Instance.new("Frame");
Corners[16].Parent = BoxOutline
Corners[16].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[16].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[16].BorderSizePixel = 1
Corners[16].Position = UDim2.new(0.7, 0, 1, 1)
Corners[16].Size = UDim2.new(0.3, 0, 0, 1);
end;
end;
--// Metatable
local Constructor = setmetatable({
Object = Enemy;
Components = Components;
Offsets = {
BottomOffset = UDim2.new(0, 0, 1, 3);
TopOffset = UDim2.new(0, 0, 0, -20);
LeftOffset = UDim2.new(0, -6, 0, -2);
RightOffset = UDim2.new(1, 6, 0, -2);
};

Info = {
--// Users Information
IsFriendly = false;
LastUpdate = tick();
Username = Enemy.Name;
DisplayName = Enemy:IsA("Player") and
Enemy.DisplayName or Enemy.Name;
Class = Players:FindFirstChild(Enemy.Name) and
"Player" or "AI";
LastHeldItem = nil;
LastKnownPosition = Vector3.new();
Character = nil;
Team = nil;

--// Adornment stuff


AdornmentTick = tick();

--// Fade animations


Tick = tick();
DeathStartTick = 0;
RespawnStartTick = 0;

--// Transition Color Anim


ColorTick = tick();
NeutralTick = tick();
LastTransitionColor = Color3.fromRGB(255, 255,
255);

--// Health Animations


CurrentHealth = 100;
CurrentOldHealth = 100;
TransitionStart = 0;
TransitionOldHealth = 100;
TransitionNewHealth = 100;
ActualHealth = 100;

--// Ammo Animations


CurrentAmmo = 1;
CurrentOldAmmo = 1;
TransitionStartAmmo = 0;
TransitionOldAmmo = 1;
TransitionNewAmmo = 1;
ActualAmmo = 1;
};
}, ESPConstructor);

if GameName == "Gunfight Arena" then


Constructor.Info.Class = "Player";
end;

Visuals.Enemies[Enemy] = Constructor;
--// Return Constructor for useful cases;
return Constructor;
end;
end;
end)();
end;

do --// Targetting info


local InfoBorder = Instance.new("Frame")
local InfoInner = Instance.new("Frame")
local Accent = Instance.new("Frame")
local Container = Instance.new("Frame")
local UIListLayout = Instance.new("UIListLayout")
local UIPadding = Instance.new("UIPadding")
local InfoText = Instance.new("TextLabel", Container);

do --// Component Properties


InfoBorder.Parent = Visuals.InfoContainer;
InfoBorder.BackgroundColor3 = Color3.fromRGB(45, 45, 45);
InfoBorder.BorderColor3 = Color3.fromRGB(0, 0, 0);
InfoBorder.Position = UDim2.new(0.0113074202, 0, 0.198780492, 0);
InfoBorder.Size = UDim2.new(0, 208, 0, 350);
InfoBorder.Visible = false;

InfoInner.Parent = InfoBorder;
InfoInner.BackgroundColor3 = Color3.fromRGB(17, 17, 17);
InfoInner.BorderColor3 = Color3.fromRGB(0, 0, 0);
InfoInner.Position = UDim2.new(0, 2, 0, 2);
InfoInner.Size = UDim2.new(1, -4, 1, -4);

Accent.Parent = InfoInner;
Accent.BackgroundColor3 = Color3.fromRGB(93, 131, 255);
Accent.BorderColor3 = Color3.fromRGB(0, 0, 0);
Accent.BorderSizePixel = 0;
Accent.Size = UDim2.new(1, 0, 0, 1);

Container.Parent = InfoInner;
Container.BackgroundColor3 = Color3.fromRGB(255, 255, 255);
Container.BackgroundTransparency = 1.000;
Container.BorderColor3 = Color3.fromRGB(0, 0, 0);
Container.BorderSizePixel = 0;
Container.Size = UDim2.new(0, 204, 0, 346);

UIPadding.Parent = Container;
UIPadding.PaddingLeft = UDim.new(0, 4);
UIPadding.PaddingTop = UDim.new(0, 2);

InfoText.FontFace = Library.MenuFont;
InfoText.TextSize = Library.TextSize;
InfoText.BackgroundTransparency = 1;
InfoText.TextColor3 = Color3.fromRGB(255, 255, 255);
InfoText.RichText = true;
InfoText.Size = UDim2.new(1, -4, 0, 9);
InfoText.Position = UDim2.new(0, 2, 0, 3);
InfoText.TextXAlignment = Enum.TextXAlignment.Left;
InfoText.TextYAlignment = Enum.TextYAlignment.Top;
end;

do --// Functions

function Visuals:UpdatePosition()
if Library.Flags.InfoPositionX then
InfoBorder.Position =
UDim2.new(Library.Flags.InfoPositionX.Value / 100, 0,
Library.Flags.InfoPositionY.Value / 100, 0);
end

if Library.Flags.RadarPositionX then
Visuals.RadarFrame.Position =
UDim2.new(Library.Flags.RadarPositionX.Value / 100, 0,
Library.Flags.RadarPositionY.Value / 100, 0);
end
end;

function Visuals:UpdateInfo(Part, Target, Health, Inventory,


Hotbar, Options)
InfoText.Text = "";

local InventoryList = Inventory ~= nil and


Inventory:GetChildren() or {};
local HotbarList = Hotbar ~= nil and Hotbar:GetChildren() or
{};

local Name = Target.Name;


local DistanceType = PreferredDistances[GameName];
local Conversion = DistanceConversions[DistanceType]
local Distance = math.floor((Part.Position -
Camera.CFrame.p).Magnitude / Conversion.Conversion);
local Whitespace = " ";
local TextBounds = 0;

do --// Looping through options


for Index, Value in next, Options do
task.spawn(function()
do --// Name
if Value == "Name" then
InfoText.Text = InfoText.Text.. "[Name]
: "..Name.."\n";
TextBounds = TextBounds + 14
end;
end;

do --// Health
if Value == "Health" then
InfoText.Text = InfoText.Text.."[Health]
: "..tostring(math.floor(Health)).."hp\n"
TextBounds = TextBounds + 14
end;
end;

do --/ Distance
if Value == "Distance" then
InfoText.Text = InfoText.Text.. "[Distance]
: "..tostring(Distance)..Conversion.Suffix.."\n";
TextBounds = TextBounds + 14
end;
end;

do --// Hotbar
if Value == "Hotbar" then
InfoText.Text = InfoText.Text.."[Hotbar]
:\n";
TextBounds = TextBounds + 14
for Index, Item in next, HotbarList do
InfoText.Text = InfoText.Text..
Whitespace .. Item.Name.."\n";
TextBounds = TextBounds + 14
end;
end;
end;
do --// Inventory
if Value == "Inventory" then
InfoText.Text = InfoText.Text.."[Inventory]
:\n";
TextBounds = TextBounds + 14
for Index, Item in next, InventoryList do

if not
Library.Flags.FilterPlayers.Value then
TextBounds = TextBounds + 14
if Item:FindFirstChild("Inventory")
and #Item:FindFirstChild("Inventory"):GetChildren() ~= 0 then
InfoText.Text =
InfoText.Text..Whitespace.."["..Item.Name.."]\n";
for Index, Item in next,
Item:FindFirstChild("Inventory"):GetChildren() do
InfoText.Text =
InfoText.Text..Whitespace..Whitespace..Item.Name.."\n";
TextBounds = TextBounds +
14
end;
else
InfoText.Text =
InfoText.Text..Whitespace.."["..Item.Name.."]\n";
end;
else
if Item:FindFirstChild("Inventory")
and #Item:FindFirstChild("Inventory"):GetChildren() ~= 0 then
local WasParentAllowed = false;

if
table.find(Library.Flags.FilteredItems.Value, Item.Name) then
WasParentAllowed = true;
InfoText.Text =
InfoText.Text..Whitespace.."["..Item.Name.."]\n";
TextBounds = TextBounds +
14
end;

for Index, Item in next,


Item:FindFirstChild("Inventory"):GetChildren() do
if
table.find(Library.Flags.FilteredItems.Value, Item.Name) then
TextBounds = TextBounds
+ 14
if WasParentAllowed
then
InfoText.Text =
InfoText.Text..Whitespace..Whitespace..Item.Name.."\n";
else
InfoText.Text =
InfoText.Text..Whitespace..Item.Name.."\n";
end;
end;
end;
else

if
table.find(Library.Flags.FilteredItems.Value, Item.Name) then
TextBounds = TextBounds +
14
InfoText.Text =
InfoText.Text..Whitespace.."["..Item.Name.."]\n";
end;
end;
end;
end;
end;
end;
end);
end;
end;

do --// Sizing
InfoBorder.Size = UDim2.new(0, 208, 0, TextBounds + 10)
end;
Visuals:UpdatePosition()
end;
end;

Visuals.InfoFrame = InfoBorder;
Visuals.InfoContainer = Container;
Visuals.InfoAccent = Accent;
Visuals.InfoText = InfoText;
end;

do --// Standard flag creation


ESPConstructor:AddFlag({
Name = "Visible",
Flag = "Visible",
Text = function(self, IsPreview)
if IsPreview then
return "VIS";
end;

local IsVisible = self.Info.IsVisible

return IsVisible and "VIS" or nil


end;

Allow = function(self)
return true;
end;
});

ESPConstructor:AddFlag({
Name = "Staff",
Flag = "Staff",
Text = function(self, IsPreview)
if IsPreview then
return "STAFF | ADMIN";
end;

if self.Info.Class == "Player" then


if Staff.Detected[self.Object.UserId] then
return "STAFF |
"..Staff.Detected[self.Object.UserId].Role
end
end
end;

Allow = function(self)
if self.Info.Class == "Player" then
if Staff.Detected[self.Object.UserId] then
return true
end
end
end;
});

ESPConstructor:AddFlag({
Name = "Telemetry",
Flag = "Telemetry",
Text = function(self, IsPreview)
if IsPreview then
return "ETHEREAL";
end;

if self.Info.Class == "Player" then


if Websocket.ConnectedUsers[self.Object.Name] then
return "ETHEREAL";
end
end
end;

Allow = function(self)
if IsPreview then
return true
end

if self.Info.Class == "Player" then


if Websocket.ConnectedUsers[self.Object.Name] then
return true;
end
end
end;
});

if GameName == "Scorched Earth" then


ESPConstructor:AddFlag({
Name = "Class",
Flag = "Class",
Text = function(self, IsPreview)
if IsPreview then
return "GUNNER";
end;

local Class = self.Info.Data and self.Info.Data.class

return Class and Class or nil


end;

Allow = function(self)
return true;
end;
});
end

if GameName == "Aftermath" then


ESPConstructor:AddFlag({
Name = "Squad",
Flag = "Squad",
Text = function(self, IsPreview)
if IsPreview then
return "SQUAD: OSCAR";
end;

local SQUAD = self.Object:GetAttribute("SquadName")

return SQUAD and "SQUAD:


"..self.Object:GetAttribute("SquadName") or "SQUAD: OSCAR"
end;

Allow = function(self)
return self.Object:GetAttribute("SquadName");
end;
});
end

if GameName == "Lone Survival" then


ESPConstructor:AddFlag({
Name = "KD",
Flag = "KD",
Text = function(self, IsPreview)
if IsPreview then
return "KD 10.0";
end;

local Kills = self.Object:GetAttribute("PKD_K")


local Deaths = self.Object:GetAttribute("PKD_D")

if Deaths < 1 then


Deaths = 1
end;

local KD = Kills / Deaths


KD = math.floor(KD * 10 + 0.5) / 10

return "KD " .. tostring(KD)


end;

Allow = function(self)
return true;
end;
});
end;

if GameName == "The Streets" then


ESPConstructor:AddFlag({
Name = "Vest",
Flag = "Vest",
Text = function(self, IsPreview)
if IsPreview then
return "VEST";
end;

local Character = self.Info.Character

if Character and Character:FindFirstChild("BulletResist")


then
return "VEST";
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true end;
local Character = self.Info.Character

if Character and Character:FindFirstChild("BulletResist")


then
return true;
end;

return false;
end;
});

ESPConstructor:AddFlag({
Name = "Stamina",
Flag = "Stamina",
Text = function(self, IsPreview)
if IsPreview then
return "S: 100";
end;

local Character = self.Info.Character

if Character and Character:FindFirstChild("Stamina") then


return "S:
"..tostring(math.floor(Character.Stamina.Value))
end;
end;

Allow = function(self)
return true
end;
});
ESPConstructor:AddFlag({
Name = "KO",
Flag = "KO",
Text = function(self, IsPreview)
if IsPreview then
return "KO: 100";
end;

local Character = self.Info.Character

if Character and Character:FindFirstChild("KO") then


return "KO: "..tostring(math.floor(Character.KO.Value))
end;
end;

Allow = function(self, IsPreview)


return true
end;
});

ESPConstructor:AddFlag({
Name = "Displayed Clan",
Flag = "Displayed Clan",
Text = function(self, IsPreview)
if IsPreview then
return "PROJECT EDEL";
end;

local Character = self.Info.Character

if Character and Character:FindFirstChildOfClass("Model")


then
local Model = Character:FindFirstChildOfClass("Model")
if Model.Name ~= Character.Name then
local ClanName = Model.Name;
ClanName = string.match(ClanName, "^(.-)\n")

if ClanName then
return "CLAN: "..ClanName
end;
end;
end;
end;

Allow = function(self)
local Character = self.Info.Character

if Character and Character:FindFirstChildOfClass("Model")


then
local Model = Character:FindFirstChildOfClass("Model")
if Model.Name ~= Character.Name then
local ClanName = Model.Name;
ClanName = string.match(ClanName, "^(.-)\n")

if ClanName then
return true
end;
end;
end;
return false
end;
});

ESPConstructor:AddFlag({
Name = "Reloading",
Flag = "Reloading",
Text = function(self, IsPreview)
if IsPreview then
return "Reloading";
end;

local Character = self.Info.Character


local Root = self:GetRoot()

if Root and Root:FindFirstChild("Reload") then


if Root:FindFirstChild("Reload") then
return "RELOADING"
end;
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true end;

local Character = self.Info.Character


local Root = self:GetRoot()

if Root and Root:FindFirstChild("Reload") then


if Root:FindFirstChild("Reload") then
return true
end;
end;

return false
end;
});
end;

if GameName == "Counter Blox" then


ESPConstructor:AddFlag({
Name = "Money",
Flag = "Money",
Text = function(self, IsPreview)
if IsPreview then return "39130$" end;
local Money = self:GetMoney()

if Money then
return tostring(Money).."$"
end;
return nil;
end;
Allow = function(self)
return true
end;
});
ESPConstructor:AddFlag({
Name = "Ping",
Flag = "Ping",
Text = function(self, IsPreview)
if IsPreview then return "60ms" end;
local Ping = self.Object:FindFirstChild("Ping")

if Ping then
return Ping.Value .. "ms"
end;
return nil;
end;
Allow = function(self)
return true
end;
});
end;

if GameName == "Arsenal" then


ESPConstructor:AddFlag({
Name = "Ping",
Flag = "Ping",
Text = function(self, IsPreview)
if IsPreview then return "60ms" end;
local Ping = self.Object:FindFirstChild("Ping")

if Ping then
return Ping.Value .. "ms"
end;
return nil;
end;
Allow = function(self)
return true
end;
});

ESPConstructor:AddFlag({
Name = "FPS",
Flag = "FPS",
Text = function(self, IsPreview)
if IsPreview then return "60 FPS" end;
local FPS = self.Object:FindFirstChild("FPS")

if FPS then
return FPS.Value .. " FPS"
end;
return nil;
end;
Allow = function(self)
return true
end;
});
end;

if GameName == "Gunfight Arena" then


ESPConstructor:AddFlag({
Name = "Platform",
Flag = "Platform",
Text = function(self, IsPreview)
if IsPreview then return "PC"; end;
local Object = self.Object;
local Platform = Object:GetAttribute("Platform");
return Platform and tostring(Platform) or "PC";

end;

Allow = function(self)
return true;
end;
});

ESPConstructor:AddFlag({
Name = "Ping",
Flag = "Ping",
Text = function(self, IsPreview)
if IsPreview then
return "100ms";
end;

local Object = self.Object;


local Ping = Object:GetAttribute("Ping");
return Ping and tostring(Ping).."ms" or "100ms";
end;
Allow = function(self)
return true;
end;
});
end;

if GameName == "Project Delta" then


ESPConstructor:AddFlag({
Name = "Money",
Flag = "Money",
Text = function(self, IsPreview)
if IsPreview then return "39130 RUB" end;
local Money = self:GetMoney()

if Money then
return "RUB. "..tostring(math.floor(Money))
end;
return nil;
end;
Allow = function(self)
if Combat.Target == self.Object and self.Info.Class ==
"Player" then
return true;
end;
return false;
end;
});

ESPConstructor:AddFlag({
Name = "Clan",
Flag = "Clan",
Text = function(self, IsPreview)
if IsPreview then return "CLAN"; end;
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
local Clan =
PlayerData:FindFirstChild("Status").Journey.Clan:GetAttribute("CurrentClan")

if Clan and tostring(Clan) ~= "nil" then


return tostring(Clan);
end;
end;
return nil;
end;
Allow = function(self)
if self.Info.Class == "Player" then
return true;
end;
return false;
end;
});

ESPConstructor:AddFlag({
Name = "KD",
Flag = "KD",
Text = function(self, IsPreview)
if IsPreview then
return "10.0 KD";
end;

local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
local Kills =
PlayerData:FindFirstChild("Status").Journey.Statistics:GetAttribute("Kills");
local Deaths =
PlayerData:FindFirstChild("Status").Journey.Statistics:GetAttribute("Deaths");
if Deaths < 1 then
Deaths = 1;
end;

local KDRaw = Kills/Deaths;


return "K/D: ".. string.sub(tostring(KDRaw), 1, 4);
end;

return nil;
end;
Allow = function(self)
if self.Info.Class == "Player" then
return true;
end;
return false;
end;
});

--[[ESPConstructor:AddFlag({
Flag = "Stance",
Name = "Stance",
Text = function(self, IsPreview)
if IsPreview then return "CROUCH" end;
local Character = self.Info.Character;
local Humanoid = Character and
self.Info.Character:FindFirstChild("Humanoid");
if Humanoid then
local CrouchId = "rbxassetid://8544373208";
for Index, Value in next,
Humanoid:GetPlayingAnimationTracks() do
if Value.Animation.AnimationId == CrouchId then
return "CROUCH"
end;
end;
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true end
local Character = self.Info.Character;
local Humanoid = Character and
self.Info.Character:FindFirstChild("Humanoid");

if Humanoid then
local CrouchId = "rbxassetid://8544373208";
for Index, Value in next,
Humanoid:GetPlayingAnimationTracks() do
if Value.Animation.AnimationId == CrouchId then
return true
end;
end;
end;
return false;
end;
});]]

ESPConstructor:AddFlag({
Flag = "Aiming",
Name = "Aiming",
Text = function(self, IsPreview)
if IsPreview then return "SCOPE"; end;
local Character = self.Info.Character;
local Humanoid = Character and
self.Info.Character:FindFirstChild("Humanoid");

if Humanoid then
local Weapon = self:GetWeapon();

if Weapon and Weapon:FindFirstChild("SettingsModule")


then
local Module = require(Weapon.SettingsModule);
local AimId = Module.Animations.ThirdPerson.Aim;

for Index, Value in next,


Humanoid:GetPlayingAnimationTracks() do
if Value.Animation.AnimationId == AimId then
return "SCOPED"
end;
end;
end;
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true end
local Character = self.Info.Character;
local Humanoid = Character and
self.Info.Character:FindFirstChild("Humanoid");

if Humanoid then
local Weapon = self:GetWeapon();

if Weapon and Weapon:FindFirstChild("SettingsModule")


then
local Module = require(Weapon.SettingsModule);
local AimId = Module.Animations.ThirdPerson.Aim;

for Index, Value in next,


Humanoid:GetPlayingAnimationTracks() do
if Value.Animation.AnimationId == AimId then
return true
end;
end;
end;
end;

return false
end;
});

--[[ESPConstructor:AddFlag({
Flag = "Prime",
Name = "Prime",
Text = function(self, IsPreview)
if IsPreview then return "PRIME"; end;
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
local Passes = PlayerData.Status.Purchases.Passes
if Passes:GetAttribute("GivenPrimePass") then
return "PRIME"
end;
end;
end;

Allow = function(self)
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
local Passes = PlayerData.Status.Purchases.Passes
if Passes:GetAttribute("GivenPrimePass") then
return true
end;
end;

return false
end;
});]]

ESPConstructor:AddFlag({
Name = "Extracting",
Flag = "Extracting",
Text = function(self, IsPreview)
if IsPreview then
return "EXTRACT - 5s";
end;

local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
local Exiting =
PlayerData.Status.GameplayVariables.Exiting
if Exiting:GetAttribute("Value") ~= -1 then
return "EXTRACT -
"..tostring(Exiting:GetAttribute("Value"))
end;
end;
end;

Allow = function(self)
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
local Exiting =
PlayerData.Status.GameplayVariables.Exiting
if Exiting:GetAttribute("Value") ~= -1 then
return true
end;
end;

return false
end;
})

ESPConstructor:AddFlag({
Flag = "Elite",
Name = "Elite",
Text = function(self, IsPreview)
if IsPreview then return "ELITE" end;
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
local Passes = PlayerData.Status.Purchases.Passes
if Passes:GetAttribute("GivenElitePass") then
return "ELITE"
end;
end;
end;

Allow = function(self)
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(self.Object.Name);
if PlayerData then
local Passes = PlayerData.Status.Purchases.Passes
if Passes:GetAttribute("GivenElitePass") then
return true
end;
end;

return false
end;
});
end;

if GameName == "Combat Warriors" then


ESPConstructor:AddFlag({
Name = "Level",
Flag = "Level",
Text = function(self, IsPreview)
if IsPreview then return "LVL: 20"; end;
local Level = self.Object.leaderstats.Level.Value;

return "LVL: "..tostring(Level);


end;

Allow = function(self)
if self.Info.Class == "Player" then
return true;
end;
return false;
end;
});

end

if GameName == "Blackout" then


ESPConstructor:AddFlag({
Name = "Bounty",
Flag = "Bounty",
Text = function(self, IsPreview)
if IsPreview then return "BTY: 200$" end;
local Bounty = self.Object:GetAttribute("Bounty");

return "BTY: "..tostring(Bounty);


end;
Allow = function(self)
if self.Info.Class == "Player" then
return true;
end;
return false;
end;
});

ESPConstructor:AddFlag({
Name = "Level",
Flag = "Level",
Text = function(self, IsPreview)
if IsPreview then return "LVL: 20"; end;
local Level = self.Object:GetAttribute("Level");

return "LVL: "..tostring(Level);


end;

Allow = function(self)
if self.Info.Class == "Player" then
return true;
end;
return false;
end;
});
ESPConstructor:AddFlag({
Name = "Stance",
Flag = "Stance",
Text = function(self, IsPreview)
if IsPreview then return "CROUCH" end;

if self.Object and self.Object:GetAttribute("Sliding") then


return "SLIDE";
end;

if self.Object and
self.Object:GetAttribute("ServerCrouching") then
return "CROUCH";
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true; end;

if self.Object and self.Object:GetAttribute("Sliding") then


return true;
end;

if self.Object and
self.Object:GetAttribute("ServerCrouching") then
return true;
end;

return false;
end;
});

ESPConstructor:AddFlag({
Name = "Aiming",
Flag = "Aiming",
Text = function(self, IsPreview)
if IsPreview then return "SCOPE" end;

if self.Object and self.Object:GetAttribute("ServerAiming")


then
return "SCOPE";
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true; end;

if self.Object and self.Object:GetAttribute("ServerAiming")


then
return true;
end;

return false;
end;
});

ESPConstructor:AddFlag({
Name = "Energized",
Flag = "Energized",
Text = function(self, IsPreview)
if IsPreview then return "ENERG." end;

if self.Object and self.Object:GetAttribute("Energized")


then
return "ENERG.";
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true; end;

if self.Object and self.Object:GetAttribute("Energized")


then
return true;
end;

return false;
end;
});

ESPConstructor:AddFlag({
Name = "Looting",
Flag = "Looting",
Text = function(self, IsPreview)
if IsPreview then return "LOOT." end;

if self.Object and self.Object:GetAttribute("Looting") then


return "LOOT.";
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true; end;

if self.Object and self.Object:GetAttribute("Looting") then


return true;
end;

return false;
end;
});

ESPConstructor:AddFlag({
Name = "Lockpicking",
Flag = "Lockpicking",
Text = function(self, IsPreview)
if IsPreview then return "LOCKPICK" end;

if self.Object and self.Object:GetAttribute("Minigaming")


then
return "LOCKPICK";
end;
end;

Allow = function(self, IsPreview)


if IsPreview then return true; end;

if self.Object and self.Object:GetAttribute("Minigaming")


then
return true;
end;

return false;
end;
});
end;

if GameName == "Criminality" then


--SlayerArmour
--[[ESPConstructor:AddFlag({
Name = "Fallen",
Flag = "Fallen",
Text = function(self, IsPreview)
if IsPreview then return "FALLEN"; end;
local Character = self.Info.Character;
if Character then
local IsFallen = Character:FindFirstChild("Fallen");
return IsFallen and "FALLEN" or nil;
end;
end;
Allow = function(self)
return true;
end;
});]]

--[[ESPConstructor:AddFlag({
Name = "Necromancer",
Flag = "Necromancer",
Text = function(self, IsPreview)
if IsPreview then
return "NECROMANCER";
end;

local Character = self.Info.Character;


if Character then
local IsFallen =
Character:FindFirstChild("Necromancer");
return IsFallen and "NECROMANCER" or nil;
end;
end;
Allow = function(self)
return true;
end;
});]]

--[[ESPConstructor:AddFlag({
Name = "Thermals",
Flag = "Thermals",
Text = function(self, IsPreview)
if IsPreview then return "THERM." end
local Character = self.Info.Character;
if Character then
local HasT7 = Character:FindFirstChild("T7-1");
return HasT7 and "THERM." or nil;
end;
end;
Allow = function(self)
return true;
end;
});]]

--[[ESPConstructor:AddFlag({
Name = "Bounty",
Flag = "Bounty",
Text = function(self)
local Character = self.Info.Character;
local Humanoid = Character and
Character:FindFirstChildOfClass("Humanoid");
if Humanoid then
local Display = Humanoid.DisplayName;
local RealName = self.Object.Name;

if GameFramework.CrimBounties[Display] then
return "BTY:
"..GameFramework.CrimBounties[Display];
end;

if GameFramework.CrimBounties[RealName] then
return "BTY:
"..GameFramework.CrimBounties[RealName];
end;
end;
end;
Allow = function(self)
return true;
end;
});]]

--[[ESPConstructor:AddFlag({
Name = "Relic",
Flag = "Relic",

Text = function(self, IsPreview)


if IsPreview then return "RELIC" end
local Character = self.Info.Character;
local Backpack = self.Object.Backpack;

if Character then
local Relic = Character:FindFirstChild("Relic") or
Backpack:FindFirstChild("Relic")
if Relic then
return "RELIC";
end;
end;

end;

Allow = function(self)
local Character = self.Info.Character;
local Backpack = self.Object.Backpack;

if Character then
local Relic = Character:FindFirstChild("Relic") or
Backpack:FindFirstChild("Relic")
if Relic then
return true;
end;
end;
return false
end;
})]]

ESPConstructor:AddFlag({
Name = "Fake Name",
Flag = "Fake Name",
Text = function(self, IsPreview)
if IsPreview then return "#019l" end;
local Character = self.Info.Character;
local Humanoid = Character and
Character:FindFirstChildOfClass("Humanoid");
if Humanoid then
local Display = Humanoid.DisplayName;
local RealName = self.Object.Name;

if Display:find("#") then
return Display;
end;
end;
end;
Allow = function(self)
return true;
end;
});

ESPConstructor:AddFlag({
Name = "Level",
Flag = "Level",
Text = function(self, IsPreview)
if IsPreview then return "LVL 63"; end;
local LeaderStats = self.Object.leaderstats
if LeaderStats then
local Level = LeaderStats:FindFirstChild("Level")
return Level and "LVL " .. tostring(Level.Value) or
"LVL 1";
end;
end;
Allow = function(self)
return true;
end;
});

ESPConstructor:AddFlag({
Name = "Rage",
Flag = "Rage",
Text = function(self, IsPreview)
if IsPreview then return "RAGE" end;
local Character = self.Info.Character;
local CanReturn = false;
local Text = ""
if Character and Character:FindFirstChild("Rage-potion")
then
local ProgressBar = Character["Rage-
potion"].ProgressBar;
if ProgressBar.Value ~= 0 then
Text = "RAGING";
CanReturn = true;
end;
end;

if Character and Character:FindFirstChild("Left Arm") and


Character["Left Arm"]:FindFirstChild("RageParticle") then
Text = "RAGED";
CanReturn = true;
end;

return Text;
end;
Allow = function(self)
local Character = self.Info.Character;
local CanReturn = false;
local Text = ""
if Character and Character:FindFirstChild("Rage-potion")
then
local ProgressBar = Character["Rage-
potion"].ProgressBar;
if ProgressBar.Value ~= 0 then
Text = "RAGING";
CanReturn = true;
end;
end;

if Character and Character:FindFirstChild("Left Arm") and


Character["Left Arm"]:FindFirstChild("RageParticle") then
Text = "RAGED";
CanReturn = true;
end;

return CanReturn
end;
});

ESPConstructor:AddFlag({
Name = "Slayer",
Flag = "Slayer",
Text = function(self, IsPreview)
if IsPreview then return "SLAYER" end;
local Character = self.Info.Character;
if Character then
local IsSlayer =
Character:FindFirstChild("SlayerArmour");
return IsSlayer and "SLAYER" or nil;
end;
end;
Allow = function(self)
return true;
end;
});

ESPConstructor:AddFlag({
Name = "Vest",
Flag = "Vest",
Text = function(self, IsPreview)
if IsPreview then return "VEST LVL 2" end;
local Character = self.Info.Character;
if Character then
local Vest = Character:FindFirstChild("VestB_1") or
Character:FindFirstChild("VestB_2") or Character:FindFirstChild("VestA_1") or
Character:FindFirstChild("VestA_2");

if Vest then
if Vest.Name:find("_1") then
return "Vest LVL 1";
else
return "Vest LVL 2";
end;

return "VEST";
end;

end;
end;
Allow = function(self)
return true;
end;
});

ESPConstructor:AddFlag({
Name = "Helmet",
Flag = "Helmet",
Text = function(self, IsPreview)
if IsPreview then return "HELMET LVL 2"; end;
local Character = self.Info.Character;
if Character then
local Vest = Character:FindFirstChild("HelmetB_1") or
Character:FindFirstChild("HelmetB_2") or Character:FindFirstChild("HelmetA_1") or
Character:FindFirstChild("HelmetA_2");

if Vest then
if Vest.Name:find("_1") then
return "HELMET LVL 1";
else
return "HELMET LVL 2";
end;

return "HELMET";
end;

end;
end;
Allow = function(self)
return true;
end;
});
end;
end;

do --// Crosshair
function Visuals:UpdateCrosshair(Distance, Origin, LookVector, Parent)
task.spawn(function()
if Library.Flags.Crosshair and Library.Flags.Crosshair.Value
then
local Ray = Workspace:Raycast(Origin, LookVector *
Distance, RayParams);
if Ray and Ray.Position and Ray.Normal then
Visuals.CrosshairPart.Parent = Parent;
--[[Visuals.CrosshairPart.CFrame = CFrame.fromMatrix(
Ray.Position,
-
Ray.Normal:Cross(Visuals.CrosshairPart.CFrame.RightVector),
Ray.Normal
);]]

local RightVector = -
Ray.Normal:Cross(Visuals.CrosshairPart.CFrame.RightVector);
if tostring(RightVector):find("nan") then
RightVector = Vector3.new(0, -1, 0);
end;

local CorrectedCFrame = CFrame.fromMatrix(Ray.Position,


RightVector, Ray.Normal);

Visuals.CrosshairPart.CFrame = CorrectedCFrame
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
Visuals.CrossAdornee.Transparency = 0;
else
Visuals.CrossAdornee.Transparency = 1;
Visuals.CrosshairPart.Parent = nil;
end;
else
if Visuals.CrossAdornee then
Visuals.CrossAdornee.Transparency = 1;
Visuals.CrosshairPart.Parent = nil;
end;
end;
end);
end;
end;

do --// Radar

function Visuals:GetNearby(Radius)
local ClientCharacter = Client.Character;
local ClientPosition = ClientCharacter and
ClientCharacter:FindFirstChild("HumanoidRootPart").CFrame.p;

if ClientPosition then
local Region = Region3.new(ClientPosition - Vector3.new(Radius,
Radius, Radius), ClientPosition + Vector3.new(Radius, Radius, Radius));
local Parts = workspace:FindPartsInRegion3(Region, nil,
math.huge);

local NearbyPlayers = {};


for _, Part in pairs(Parts) do
if Part:IsA("BasePart") and Part.Parent:IsA("Model") then
if Visuals.Enemies[Part.Parent] and not
NearbyPlayers[Part.Parent] then
NearbyPlayers[Visuals.Enemies[Part.Parent]] =
Part.Parent;
end;
if Players:FindFirstChild(Part.Parent.Name) and
Visuals.Enemies[Players:FindFirstChild(Part.Parent.Name)] and not
NearbyPlayers[Part.Parent] then
if Visuals.Enemies[Part.Parent] then
NearbyPlayers[Visuals.Enemies[Part.Parent]] =
Part.Parent;
end

if
Visuals.Enemies[Players:FindFirstChild(Part.Parent.Name)] then

NearbyPlayers[Visuals.Enemies[Players:FindFirstChild(Part.Parent.Name)]] =
Part.Parent;
end
end;
end;
end;

return NearbyPlayers;
end;
end;

function Visuals:GetRelative(pos)
local char = Client.Character
if char ~= nil and char.PrimaryPart ~= nil then
local pmpart = char.PrimaryPart
local camerapos = Vector3.new(Camera.CFrame.Position.X,
pmpart.Position.Y, Camera.CFrame.Position.Z)
local newcf = CFrame.new(pmpart.Position, camerapos)
local r = newcf:PointToObjectSpace(pos)
return r.X, r.Z
else
return 0, 0
end
end

function Visuals:UpdateRadar()
local RadarFrameRadius = Visuals.RadarFrame.Size.X.Offset / 2
local Radius = Library.Flags.RadarDistance and
Library.Flags.RadarDistance.Value or 100

local NearbyPlayers = Visuals:GetNearby(Radius)

for Index, Value in pairs(Visuals.RadarFrame:GetChildren()) do


if Value ~= Visuals.RadarClient and Value.ClassName == "Frame"
then
Value:Destroy()
end
end

if NearbyPlayers then
local ClientCharacter = Client.Character
local ClientRoot = ClientCharacter and
ClientCharacter:FindFirstChild("HumanoidRootPart")
local ClientPosition = ClientRoot and ClientRoot.Position

if ClientPosition then
for Index, Player in pairs(NearbyPlayers) do
local PlayerPosition = Player.PrimaryPart.Position

-- Get relative position using the GetRelative function


local RelX, RelZ = Visuals:GetRelative(PlayerPosition)

-- Invert the coordinates as necessary to match the


radar's orientation
local X = -RelX / Radius * RadarFrameRadius
local Y = -RelZ / Radius * RadarFrameRadius

-- Check if the point is within the radar circle


if math.sqrt(X * X + Y * Y) <= RadarFrameRadius then
local PlayerFrame = Instance.new("Frame")
PlayerFrame.Size = UDim2.new(0, 5, 0, 5)
PlayerFrame.Position = UDim2.new(0.5, X, 0.5, Y)
PlayerFrame.Parent = Visuals.RadarFrame

if Index.Info.Class == "AI" then


PlayerFrame.BackgroundColor3 =
Library.Flags.RadarAIColor.Color
else
PlayerFrame.BackgroundColor3 =
Library.Flags.RadarPlayerColor.Color
end

local UICorner = Instance.new("UICorner",


PlayerFrame)
UICorner.CornerRadius = UDim.new(1, 9999)
end
end
end
end
end

end;
end;
end;

do --// Chatbot
Chatbot.LastTick = tick();

Chatbot.Emojis = {"😀", "😃", "😄", "😁", "😆", "😅", "", 😂 "🙃 ", "",
😉 "🙃 ", "😉 ",
"😊", "😇", "",
😍 "😘", "",😗 "😚", "😙", "😋", "😛", "😜", "😝", "😜 ", "🤪", "😝 ", "🤑", "🤗",
😐 "",
"", 😑 "",
😶 "",
😏 "",
😒 "☹️ ", " ", "😔", "😟", "😕", "", 🙃 "☹️", "😔 ", "😟 ", "😕 ", "🙃 ",
"😣", "😖", "😫", "😩", "", 😢 "😭", "😠 ", "",😡 "😳", "😱", "🤬", "🤯", "😳 ", "🥵", "🥶", "😱 ",
"😨", "😰", "😥", "😓", "", 😶 "",
😐 "",
😑 "",
😯 "",😦 "😶 ", "😐 ", "😑 ", "😬", "🙄", "😯 ", "😦 ",
"😧", "😮", "😲", "😴", "", 😪 "😵", "😷", "🤐", "🥴", "🤢", "🤮", "🤧", "😷 ", "🤒", "🤕", "🤑",
😈 " ", "👿", "💤", "👋", "🤚", "🖐️
"", ", "✋"};
Chatbot.Symbols = {"!", "#", "$", "?",'"',"'"};
Chatbot.Phrases = {
["British"] = {
"Fancy a tea mate?",
"Im bound to the chippy!",
"☕☕",
"Why are you looking at my teeth?",
"BLOODY HELL MATE! THAT DRIVES ME BONKERS!",
"Headed down to the pub!",
"AKSHUALLY ITS FOOTBALL NOT SOCCER",
"God save the queen and bless the British!"
};
["Ethereal"] = {
"Ethereal > All",
"Ethereal Owns me and all others",
"Number 1 Project Delta -> BUY TODAY! Ethereal",
"Ethereal on top",
"Just bought Ethereal today, I can actually hit my shots now!",
"Uno all it takes with Ethereal",
};
["Trashtalk"] = {
"STOP TRYING YOU ARE AN EMBARRASMENT",
"GET GOOD HOLY",
"WOW LOL YOURE ACTUALLY SO TRASH",
"I CANT BELIEVE THATS YOUR AIM",
"AINT A WAY YOU AIM LIKE THAT LOOOOOOL",
"MY GRANDMA CAN AIM BETTER THAN THAT LOOOOOOOOOOOOOL",
"WOW, I STARTED TO FALL ASLEEP YOURE SO BAD"
},
};

function Chatbot:WrapMessage(Text, Phrases, Emojis, Symbols)


local Chat = "";

for i = 1, 3 do
Chat = Chat..Text;
local random = math.random(1, 10);
if random <= 5 then
Chat = Chat .. ""..Emojis[math.random(#Emojis)].." ";
else
Chat = Chat .. ""..Symbols[math.random(#Symbols)].. " ";
end;

local Phrase = Phrases[math.random(#Phrases)];


Chat = Chat .. Phrase
end;

return Chat;
end;
end;

do --// Combat
LPH_NO_VIRTUALIZE(function()
function Combat:CameraLookAt(Point)
local PointRay = Camera:ViewportPointToRay(Point.X, Point.Y)
Camera.CFrame = CFrame.lookAt(Camera.CFrame.Position, PointRay.Origin +
PointRay.Direction)
end;

function Combat:MouseMoveRel(X, Y)
mousemoverel(X, Y)
end;

function Combat:MouseMoveABS(X, Y)
Combat:CameraLookAt(Vector2.new(X, Y))
end;

function Combat:CreateQuadraticBezier(t, Origin, Destination, Point)


return (1 - t) ^ 2 * Origin + 2 * (1 - t) * t * (Origin + (Destination
- Origin) * Point) + t ^ 2 * Destination;
end;

--[[function Combat:AimAssist(DeltaTime)
if Library.Flags.AimMode and Library.Flags.AimMode.Value == "Aimbot"
and (Library.Flags.Aimbot and Library.Flags.Aimbot.Value) then
if Combat.Target and Combat.TargetPart then
if Combat.LastCurvedTarget ~= Combat.Target then
Combat.LastCurvePoint = 0;
Combat.LastCurvedTarget = Combat.Target;
end;
local TargetPosition =
Camera:WorldToViewportPoint(Combat.TargetPart.Position);

local MouseLocation = UserInputService:GetMouseLocation();


local MousePosition = Vector2.new(MouseLocation.X,
MouseLocation.Y);

local MagnitudeX = MousePosition.X - TargetPosition.X / 1


local MagnitudeY = MousePosition.Y - TargetPosition.Y / 1;

local CurvingPoint = Vector2.new(Library.Flags.CurveX.Value,


Library.Flags.CurveY.Value);
local Curve =
Combat:CreateQuadraticBezier(Combat.LastCurvePoint, MousePosition,
Vector2.new(TargetPosition.X, TargetPosition.Y), CurvingPoint) - MousePosition;
local Humaniser = Library.Flags.HumanizationScale and
Library.Flags.HumanizationScale.Value or 1.5;

local MouseMovementX = DeltaTime * (20.1 - Humaniser) * Curve.X


local MouseMovementY = DeltaTime * (20.1 - Humaniser) * Curve.Y

Combat:MouseMoveRel(MouseMovementX, MouseMovementY);

Combat.LastCurvePoint = math.clamp(Combat.LastCurvePoint +
DeltaTime, 0, 1);
else
Combat.LastCurvePoint = 0;
end;
else
Combat.LastCurvePoint = 0;
end;
end;]]

function Combat:AimAssist(DeltaTime)
if Library.Flags.AimMode and Library.Flags.AimMode.Value == "Aimbot"
and Library.Flags.Aimbot and Library.Flags.Aimbot.Value then
if Combat.TargetPart then
if Combat.LastCurvedTarget ~= Combat.Target then
Combat.LastCurvePoint = 0;
Combat.LastCurvedTarget = Combat.Target;
end;
local Pos3D = Combat.TargetPart.CFrame
if GameName == "Games Unite" then

Pos3D = Pos3D * CFrame.new(0, 4.7, 0)


end

local TargetPosition = Camera:WorldToViewportPoint(Pos3D.p);


local MousePosition = UserInputService:GetMouseLocation();
local CurvingPoint = Vector2.new(Library.Flags.CurveX.Value,
Library.Flags.CurveY.Value);

local Curve =
Combat:CreateQuadraticBezier(Combat.LastCurvePoint, MousePosition,
Vector2.new(TargetPosition.X, TargetPosition.Y), CurvingPoint) - MousePosition;
local Humaniser = Library.Flags.HumanizationScale and
Library.Flags.HumanizationScale.Value or 1.5;

Combat:MouseMoveRel(Curve.X, Curve.Y)
Combat.LastCurvePoint = math.clamp(Combat.LastCurvePoint +
DeltaTime * (2.1 - Humaniser) or 1.5, 0, 1);
else
Combat.LastCurvePoint = 0;
end;
else
Combat.LastCurvePoint = 0;
end;
end;
end)();
end;

do --// Utility
Utility.FireportPosition = Vector3.new(0, 0, 0);
Utility.CurrentViewmodel = nil;
Utility.CurrentAimPart = Vector3.new(0, 0, 0);
Utility.VMConnections = {};
Utility.Team = nil;
Utility.ViewmodelHighlight = Instance.new("Highlight"); do
Utility.ViewmodelHighlight.FillTransparency = 1;
Utility.ViewmodelHighlight.OutlineTransparency = 0;
Utility.ViewmodelHighlight.DepthMode = "AlwaysOnTop";
Utility.ViewmodelHighlight.Parent = gethui();
end;

do --// Functions

function Utility:DeepCopy(Table)
local Copy = {}
for k, v in pairs(Table) do
if type(v) == "table" then
Copy[k] = Utility:DeepCopy(v)
else
Copy[k] = v
end
end
return Copy
end

function Utility:GetBulletStats(Ammo)
if GameName == "Project Delta" then
local Types = ReplicatedStorage.AmmoTypes
local Info = Types:FindFirstChild(Ammo);

if Info then
return {Damage = Info:GetAttribute("Damage"), Penetration =
Info:GetAttribute("ArmorPen")}
end;
end;
end;

function Utility:CalculateDamage(BulletDamage, ArmorPentration,


ArmorProtection, IsHeadshot)
local Multiplier = IsHeadshot and 2 or 1;

local ArmorReduction = (ArmorProtection - ArmorPentration) / 100

local EffectiveDamage = BulletDamage * (1 - ArmorReduction)

local FinalDamage = EffectiveDamage * Multiplier;

return FinalDamage;
end;

function Utility:GetArmor(Part)
if Part.Name:find("Head") or Part.Name:find("Face") then
for Index, Value in next, Part.Parent:GetChildren() do
if Value:IsA("Model") and Value:GetAttribute("ItemType") then
if Value:GetAttribute("ItemType") == "Headware" then
return Value.Name;
end;
end;
end;

elseif Part.Name:find("Torso") then


for Index, Value in next, Part.Parent:GetChildren() do
if Value:IsA("Model") and Value:GetAttribute("ItemType") then
if Value:GetAttribute("ItemType") == "ChestRig" then
return Value.Name;
end;
end;
end;
elseif Part.Name:find("Leg") then
for Index, Value in next, Part.Parent:GetChildren() do
if Value:IsA("Model") and Value:GetAttribute("ItemType") then
if Value:GetAttribute("ItemType") == "LegArmor" then
return Value.Name;
end;
end;
end;
end;

return nil;
end;

function Utility:GetArmorProtection(ArmorName, PlayerName)


if ReplicatedStorage.Players:FindFirstChild(PlayerName) then
local Armor =
ReplicatedStorage.Players[PlayerName].Clothing[ArmorName].ItemProperties.Clothing.P
rotection;

return Armor:GetAttribute("Projectile")
else
return 1
end;
end;
function Utility:Rotate(CF)
local X, Y, Z = CF:ToOrientation();
return CFrame.new(CF.Position) * CFrame.Angles(0, Y, 0);
end;

function Utility:UpdateViewmodel(Viewmodel)

if GameName == "Project Delta" then


task.spawn(function()

for Index, Value in next, Utility.VMConnections do


Value:Disconnect();
end;
local Item = Viewmodel:WaitForChild("Item");
local Muzzle = Viewmodel:FindFirstChild("AimPart");
local Humanoid = Viewmodel:WaitForChild("Humanoid");

do --// Humanoid stuff


Humanoid.AnimationPlayed:Connect(function(Track)
if Track.Name:lower():find("reload") and
Library.Flags.InstantReload and Library.Flags.InstantReload.Value then
local EquippedItem =
ReplicatedStorage.Players[Client.Name].Status.GameplayVariables.EquippedTool.Value;

if EquippedItem then
local WeaponName = EquippedItem.Name;

local Attachments =
EquippedItem:FindFirstChild("Attachments");
local ItemProperties =
EquippedItem:FindFirstChild("ItemProperties")

if ItemProperties:GetAttribute("MaxLoadedAmmo")
then
Track:AdjustSpeed(5);
else
Track:AdjustSpeed(25);
end;
end;
end;

if Track.Name == "Use" and Library.Flags.RemoveRecoil


and Library.Flags.RemoveRecoil.Value then
Track:AdjustSpeed(9e9);
end;

if Track.Name == "Equip" and Library.Flags.InstantEquip


and Library.Flags.InstantEquip.Value then
Track:AdjustSpeed(20);
end;
end);
end;

do --// Main
Utility.CurrentViewmodel = Viewmodel;
end;
task.wait(0.1);
if Library.Flags.HighlightViewmodel and
Library.Flags.HighlightViewmodel.Value then
Utility.ViewmodelHighlight.Adornee = Viewmodel;
Utility.ViewmodelHighlight.OutlineColor =
Library.Flags.ViewmodelOutlineColor.Color;
end;
do --// Visuals
if Library.Flags.ViewmodelChams and
Library.Flags.ViewmodelChams.Value then

for Index, Part in Viewmodel:GetDescendants() do

if Part:IsA("MeshPart") or Part:IsA("Part") then


--[[
if
(Part.Name == "Sleeve" or Part.Name == "Armor") and Library.Flags.RemoveClothing
and Library.Flags.RemoveClothing.Value then
Part.Transparency = 1;
end;

if (Part.Name == "Sleeve" or Part.Name ==


"Armor") and Library.Flags.ShirtChams and Library.Flags.ShirtChams.Value then
Part.TextureID =
Textures[Library.Flags.Texture.Value];
Part.Material =
Enum.Material[Library.Flags.ViewmodelMaterial.Value];
Part.Color =
Library.Flags.ShirtColor.Color;

if Part.Transparency ~= 1 then
Part.Transparency = Part.Material ==
Enum.Material.Glass and 0.8 or Library.Flags.ShirtColor.Transparency;

if Part.Material == Enum.Material.Glass
then
local TransparencyConnection =
Part:GetPropertyChangedSignal("Transparency"):Connect(function()
Part.Transparency = 0.8;
end);

table.insert(Utility.VMConnections,
TransparencyConnection);
end;
end;
end;

if (Part.Name == "Glove" or Part.Name ==


"Wrap") and Library.Flags.GloveChams and Library.Flags.GloveChams.Value then
Part.TextureID =
Textures[Library.Flags.Texture.Value];
Part.Material =
Enum.Material[Library.Flags.ViewmodelMaterial.Value];
Part.Color =
Library.Flags.GloveColor.Color;

if Part.Transparency ~= 1 then
Part.Transparency = Part.Material ==
Enum.Material.Glass and 0.8 or Library.Flags.GloveColor.Transparency;

if Part.Material == Enum.Material.Glass
then
local TransparencyConnection =
Part:GetPropertyChangedSignal("Transparency"):Connect(function()
Part.Transparency = 0.8;
end);

table.insert(Utility.VMConnections,
TransparencyConnection);
end;
end;
end;

if (Part.Name == "RightArm" or Part.Name ==


"LeftArm") and Library.Flags.ArmChams and Library.Flags.ArmChams.Value then
Part.TextureID =
Textures[Library.Flags.Texture.Value];
Part.Material =
Enum.Material[Library.Flags.ViewmodelMaterial.Value];
Part.Color = Library.Flags.ArmColor.Color;

if Part.Transparency ~= 1 then
Part.Transparency = Part.Material ==
Enum.Material.Glass and 0.8 or Library.Flags.ArmColor.Transparency;

if Part.Material == Enum.Material.Glass
then
local TransparencyConnection =
Part:GetPropertyChangedSignal("Transparency"):Connect(function()
Part.Transparency = 0.8;
end);

table.insert(Utility.VMConnections,
TransparencyConnection);
end;
end;
end;
]]
do --// Arms
if Library.Flags.ArmChams and
Library.Flags.ArmChams.Value then
if Part.Name:lower():find("arm") or
Part.Name:lower():find("hand") then
Part.Material =
Enum.Material[Library.Flags.ViewmodelMaterial.Value];
Part.Color =
Library.Flags.ArmColor.Color;

if Part.Transparency ~= 1 then
Part.Transparency =
Part.Material == Enum.Material.Glass and 0.8 or 0;

if Part.Material ==
Enum.Material.Glass then
local
TransparencyConnection =
Part:GetPropertyChangedSignal("Transparency"):Connect(function()
Part.Transparency =
0.8;
end);

table.insert(Utility.VMConnections, TransparencyConnection);
end;
end;
end;
end;
end;

do --// Shirt
if Library.Flags.ShirtChams and
Library.Flags.ShirtChams.Value and Part:IsA("MeshPart") then
if Part:FindFirstAncestor("CamoShirt")
or Part:FindFirstAncestor("CivilianShirt") or
Part:FindFirstAncestor("GhillieShirt") or Part:FindFirstAncestor("GorkaShirt") or
Part:FindFirstAncestor("WastelandShirt") or
Part:FindFirstAncestor("LiquidatorSuitUpper") then
Part.TextureID =
Textures[Library.Flags.Texture.Value];
Part.Material =
Enum.Material[Library.Flags.ViewmodelMaterial.Value];
Part.Color =
Library.Flags.ShirtColor.Color;

if Part.Transparency ~= 1 then
Part.Transparency =
Part.Material == Enum.Material.Glass and 0.8 or
Library.Flags.ShirtColor.Transparency;

if Part.Material ==
Enum.Material.Glass then
local
TransparencyConnection =
Part:GetPropertyChangedSignal("Transparency"):Connect(function()
Part.Transparency =
0.8;
end);

table.insert(Utility.VMConnections, TransparencyConnection);
end;
end;
end;
end;

if Library.Flags.RemoveClothing and
Library.Flags.RemoveClothing.Value then
if Part:FindFirstAncestor("CamoShirt")
or Part:FindFirstAncestor("CivilianShirt") or
Part:FindFirstAncestor("GhillieShirt") or Part:FindFirstAncestor("GorkaShirt") or
Part:FindFirstAncestor("WastelandShirt") or
Part:FindFirstAncestor("LiquidatorSuitUpper") then
Part:Destroy();
end;
end;
end;
do --// Gloves
if Library.Flags.GloveChams and
Library.Flags.GloveChams.Value and Part:IsA("MeshPart") then
if
Part:FindFirstAncestor("CombatGloves") or Part:FindFirstAncestor("HandWraps") then
Part.TextureID =
Textures[Library.Flags.Texture.Value];
Part.Material =
Enum.Material[Library.Flags.ViewmodelMaterial.Value];
Part.Color =
Library.Flags.GloveColor.Color;

if Part.Transparency ~= 1 then
Part.Transparency =
Part.Material == Enum.Material.Glass and 0.8 or
Library.Flags.GloveColor.Transparency;

if Part.Material ==
Enum.Material.Glass then
local
TransparencyConnection =
Part:GetPropertyChangedSignal("Transparency"):Connect(function()
Part.Transparency =
0.8;
end);

table.insert(Utility.VMConnections, TransparencyConnection);
end;
end;
end;
end;
end;

do --// Item
if Library.Flags.ItemChams and
Library.Flags.ItemChams.Value and Part:FindFirstAncestor("Item") and
Part:IsA("MeshPart") then
Part.Material =
Enum.Material[Library.Flags.ViewmodelMaterial.Value];
Part.Color =
Library.Flags.ItemColor.Color;
Part.TextureID =
Textures[Library.Flags.Texture.Value];

if Part.Transparency ~= 1 then
Part.Transparency = Part.Material
== Enum.Material.Glass and 0.8 or Library.Flags.ItemColor.Transparency;

if Part.Material ==
Enum.Material.Glass then
local TransparencyConnection =
Part:GetPropertyChangedSignal("Transparency"):Connect(function()
Part.Transparency = 0.8;
end);

table.insert(Utility.VMConnections, TransparencyConnection);
end;
end;
end;

end;
end;

do --// Surface Appearances


if Part:IsA("SurfaceAppearance") then
if Library.Flags.ArmChams and
Library.Flags.ArmChams.Value then
if Part.Name:lower():find("arm") or
Part.Name:lower():find("hand") then
Part:Destroy();
end;
end;

if Library.Flags.GloveChams and
Library.Flags.GloveChams.Value then
if
Part:FindFirstAncestor("CombatGloves") or Part:FindFirstAncestor("HandWraps") then
Part:Destroy();
end;
end;

if Library.Flags.ShirtChams and
Library.Flags.ShirtChams.Value then
if Part:FindFirstAncestor("CamoShirt")
or Part:FindFirstAncestor("CivilianShirt") or
Part:FindFirstAncestor("GhillieShirt") or Part:FindFirstAncestor("GorkaShirt") or
Part:FindFirstAncestor("WastelandShirt") or
Part:FindFirstAncestor("LiquidatorSuitUpper") then
Part:Destroy();
end;
end;

if Library.Flags.ItemChams and
Library.Flags.ItemChams.Value and Part:FindFirstAncestor("Item") then
Part:Destroy();
end;
end;
end;
end;
end;
end;
end);
end;

if GameName == "Criminality" then


if Library.Flags.HighlightViewmodel and
Library.Flags.HighlightViewmodel.Value then
Utility.ViewmodelHighlight.Adornee = Viewmodel;
Utility.ViewmodelHighlight.OutlineColor =
Library.Flags.ViewmodelOutlineColor.Color;
end;

task.wait(0.2);
for Index, Value in next, Viewmodel:GetDescendants() do
if Viewmodel:FindFirstChild("Tool") and
Value:IsDescendantOf(Viewmodel.Tool) then
if Library.Flags.ItemChams.Value and (Value:IsA("Part") or
Value:IsA("MeshPart")) and Value.Transparency ~= 1 then
Value.Material = Library.Flags.ViewmodelMaterial.Value;
Value.Color = Library.Flags.ItemColor.Color;
Value.Transparency = Value.Material ==
Enum.Material.Glass and 0.8 or 0;
if Value:IsA("MeshPart") then
Value.TextureID = "";
end;
end;
else
if Library.Flags.ArmChams.Value and (Value:IsA("Part") or
Value:IsA("MeshPart")) and Value.Name ~= "HumanoidRootPart" and not
Value.Name:find("ArmHolder") and Value.Transparency ~= 1 then
Value.Material = Library.Flags.ViewmodelMaterial.Value
Value.Color = Library.Flags.ArmColor.Color;

Value.Transparency = Value.Material ==
Enum.Material.Glass and 0.8 or 0;
if Value:IsA("MeshPart") then
Value.TextureID = "";
end;
end;
end;

if Value:IsA("SurfaceAppearance") then
Value:Destroy();
end;

end;

Viewmodel.HumanoidRootPart.Transparency = 1;
Viewmodel.LArmHolder.Transparency = 1;
Viewmodel.RArmHolder.Transparency = 1;
end;
end;

function Utility:IsVisible(Destination)
if not Destination then return false end;

local RaycastResult = Workspace:Raycast(Camera.CFrame.p,


(Destination.Position - Camera.CFrame.p).Unit * 10000, RayParams);
if RaycastResult and RaycastResult.Instance then
if RaycastResult.Instance:IsDescendantOf(Destination.Parent) then
return true;
end;
end;
return false;
end;

function Utility:AutoWall(Origin, Destination)


if not Destination then return false end;

CustomRayParams = RayParams;

local RaycastResult = Workspace:Raycast(Origin.Position,


(Destination.Position - Origin.Position).Unit * 10000, CustomRayParams);
local LastStoppingPoint
if (Destination.Position - Origin.Position).Magnitude <
Library.Flags.OverrideDistance.Value then
return true;
end;

for i = 1, Library.Flags.AutoWalls.Value do
if RaycastResult.Instance then
if RaycastResult.Instance:IsDescendantOf(Destination.Parent)
then
return true;
else
LastStoppingPoint = RaycastResult.Position;
table.insert(CustomRayParams.FilterDescendantsInstances,
RaycastResult.Instance)
RaycastResult = Workspace:Raycast(LastStoppingPoint,
(Destination.Position - LastStoppingPoint).Unit * 10000, CustomRayParams);

if
RaycastResult.Instance:IsDescendantOf(Destination.Parent) then
return true;
end;
end;
end;
end;

return false;
end;

function Utility:IsPartVisible(Destination, Origin)


if not Destination then return false end;

local RaycastResult = Workspace:Raycast(Origin, (Destination.Position -


Origin).Unit * 10000, RayParams);
if RaycastResult and RaycastResult.Instance then
if RaycastResult.Instance:IsDescendantOf(Destination.Parent) then
return true;
end;
end;
return false;
end;

function Utility:FindVisiblePosition(Origin, Destination)


local OriginalDestination = Destination;

if Utility:IsPartVisible(OriginalDestination, Origin) then


GameFramework.Manipulated = false;

return Origin
end;

if typeof(Destination) ~= "Vector3" then


Destination = Destination.CFrame.p;
end;

if typeof(Origin) ~= "Vector3" then


Origin = Origin.CFrame.p;
end;

local ManipulationAmount = Library.Flags.ManipulationDistance.Value;

for Index = 1, ManipulationAmount do


local FoundSpot = false;
local PotentialOrigins = {
Vector3.new(Origin.X + Index, Origin.Y, Origin.Z),
Vector3.new(Origin.X, Origin.Y + Index, Origin.Z),
Vector3.new(Origin.X, Origin.Y, Origin.Z + Index),
Vector3.new(Origin.X - Index, Origin.Y, Origin.Z),
Vector3.new(Origin.X, Origin.Y - Index, Origin.Z),
Vector3.new(Origin.X, Origin.Y, Origin.Z - Index)
};

for _, NewOrigin in next, PotentialOrigins do


if Utility:IsPartVisible(OriginalDestination, NewOrigin) then
GameFramework.Manipulated = true;
GameFramework.ManipulatedIndex = Index;
FoundSpot = true;
return NewOrigin;
end;

end

if FoundSpot then
break
else
GameFramework.Manipulated = false;
end;
end;

return Origin
end

function Utility:GetPartsBetween(Origin, Destination)


local RaycastParameters = RaycastParams.new();
RaycastParameters.FilterDescendantsInstances = {Client.Character,
Camera};

local Direction = (Destination - Origin).unit;


local Distance = (Destination - Origin).magnitude;

local RayDirection = Direction * Distance;

local PartCount = 0;
local Elapsed = tick();

local RaycastResult = Workspace:Raycast(Origin, RayDirection,


RaycastParameters);

while RaycastResult do
if tick() - Elapsed > 1 then
break;
end;

if RaycastResult.Instance:IsA("Part") then
PartCount = PartCount + 1;
elseif RaycastResult.Instance:IsA("BasePart") then
break;
end;

Origin = RaycastResult.Position + Direction * 0.01;


RaycastResult = Workspace:Raycast(Origin, RayDirection,
RaycastParameters);
end;

return PartCount;
end
end;
end;

do --// Plugin stuff


UsableModules.Library = Library;
UsableModules.NewListener = ESPConstructor.NewListener;
UsableModules.AddFlag = ESPConstructor.AddFlag;
UsableModules.NewSky = Visuals.NewSky;
UsableModules.IsVisible = Utility.IsVisible;
UsableModules.AddESP = ESPConstructor.New

function UsableModules:RemoveESP(Object)
if Visuals.Enemies[Object] then
Visuals.Enemies[Object]:Remove();
end;
end;

function UsableModules:AddHitmarker(Name, SoundId)


HitmarkerSounds[Name] = SoundId;
if Library.Flags.HeadshotDropdown then
Library.Flags.HeadshotDropdown:AddOption(Name)
Library.Flags.HeadshotDropdown.Max += 1
end
if Library.Flags.BodyshotDropdown then
Library.Flags.BodyshotDropdown:AddOption(Name)
Library.Flags.BodyshotDropdown.Max += 1
end
if Library.Flags.KillsoundDropdown then
Library.Flags.KillsoundDropdown:AddOption(Name)
Library.Flags.KillsoundDropdown.Max += 1
end

end;

if not LPH_OBFUSCATED then


UsableModules.GameFramework = GameFramework;
end;
end;

do --// Library functions


LPH_JIT_MAX(function()
--// Notifications
local Notifications = {};

--// For UI Dragging and Resizing


local IsDragging;
local DragInput;
local DragStart
local StartPos;
local MinimumSize = Vector2.new(200, 200);
local ResizeInput = nil;
local IsResizing = false;
local LastPosition, StartSize

do --// Hitmarker
if GameName ~= "Fallen" then
Library.Hitmarker = Instance.new("Sound"); do
Library.Hitmarker.Parent = gethui();
Library.Hitmarker.Volume = 5;
end;

function Library:UpdateSounds(Type)
Library.Hitmarker.Volume = Library.Flags.HitmarkerVolume.Value;
Headshot.Volume = Library.Flags.HitmarkerVolume.Value;
Bodyshot.Volume = Library.Flags.HitmarkerVolume.Value;
if Type == "Headshot" then
Headshot.SoundId =
HitmarkerSounds[Library.Flags.HeadshotSound.Value];
Library.Hitmarker.SoundId =
HitmarkerSounds[Library.Flags.HeadshotSound.Value];
else
Bodyshot.SoundId =
HitmarkerSounds[Library.Flags.BodyshotSound.Value];
Library.Hitmarker.SoundId =
HitmarkerSounds[Library.Flags.BodyshotSound.Value];
end;
Library.Hitmarker:Play();
end;
end;
end;

do --// Keybind UI
local KeybindsUI;

KeybindsUI = Instance.new("ScreenGui");
KeybindsUI.Parent = gethui()
local KeybindsOutline = Instance.new("Frame")
local KeybindsInner = Instance.new("Frame")
local KeybindsTitle = Instance.new("TextLabel")
local KeybindsAccent = Instance.new("Frame")
local KeybindsContainer = Instance.new("Frame")
local KeybindsContainerOutline = Instance.new("Frame");

do --// Properties
KeybindsUI.Name = "9391203j312i3kashd9q312093ajsdokake219183213h";
KeybindsUI.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

KeybindsOutline.Visible = false;
KeybindsOutline.Parent = KeybindsUI
KeybindsOutline.BackgroundColor3 = Library.Theme.LightContrast
KeybindsOutline.BorderColor3 = Library.Theme.Border
KeybindsOutline.Position = UDim2.new(0.161736935, 0, 0.351219505,
0)
KeybindsOutline.Size = UDim2.new(0, 130, 0, 20)

KeybindsInner.Parent = KeybindsOutline
KeybindsInner.BackgroundColor3 = Library.Theme.MedianContrast
KeybindsInner.BorderColor3 = Library.Theme.Border
KeybindsInner.Position = UDim2.new(0, 2, 0, 2)
KeybindsInner.Size = UDim2.new(1, -4, 1, -4)

KeybindsTitle.Parent = KeybindsInner
KeybindsTitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
KeybindsTitle.BackgroundTransparency = 1.000
KeybindsTitle.BorderColor3 = Library.Theme.Border
KeybindsTitle.BorderSizePixel = 0
KeybindsTitle.Position = UDim2.new(0, 0, 0, 2)
KeybindsTitle.Size = UDim2.new(0, 126, 1, 0)
KeybindsTitle.FontFace = Library.MenuFont
KeybindsTitle.Text = "Keybinds"
KeybindsTitle.TextColor3 = Library.Theme.ElementOn
KeybindsTitle.TextSize = Library.TextSize

KeybindsAccent.Parent = KeybindsInner
KeybindsAccent.BackgroundColor3 = Library.Theme.Accent
KeybindsAccent.BorderColor3 = Library.Theme.Border
KeybindsAccent.Size = UDim2.new(1, 0, 0, 1)

KeybindsContainerOutline.Visible = true;
KeybindsContainerOutline.Parent = KeybindsOutline
KeybindsContainerOutline.BackgroundColor3 =
Library.Theme.LightContrast
KeybindsContainerOutline.BorderColor3 = Library.Theme.Border
KeybindsContainerOutline.Position = UDim2.new(0, 0, 0, 21)
KeybindsContainerOutline.Size = UDim2.new(1, 0, 0, 0)
KeybindsContainerOutline.ClipsDescendants = true;

KeybindsContainer.Parent = KeybindsContainerOutline
KeybindsContainer.BackgroundColor3 = Library.Theme.MedianContrast
KeybindsContainer.BorderColor3 = Library.Theme.Border
KeybindsContainer.Position = UDim2.new(0, 2, 0, 2)
KeybindsContainer.Size = UDim2.new(1, -4, 1, -4)

local KeybindLayout = Instance.new("UIListLayout")


local UIPadding = Instance.new("UIPadding")

KeybindLayout.Parent = KeybindsContainer
KeybindLayout.SortOrder = Enum.SortOrder.LayoutOrder
KeybindLayout.Padding = UDim.new(0, 2);
UIPadding.Parent = KeybindsContainer
UIPadding.PaddingTop = UDim.new(0, 1)

Library.KeybindsContainer = KeybindsContainer
Library.KeybindIndex = 0;
Library.KeybindsGUI = KeybindsOutline;
Library.KeybindsAccent = KeybindsAccent;
end;

do --// Functions
KeybindsContainer.ChildAdded:Connect(function()
Library.KeybindIndex = Library.KeybindIndex + 1;
local Size;-- = UDim2.new(1, 0, 0, 5 + (Library.KeybindIndex *
11));

if Library.KeybindIndex ~= 1 then
Size = UDim2.new(1, 0, 0, (11 * Library.KeybindIndex) + 3);
else
Size = UDim2.new(1, 0, 0, 14);
end;

Library:Tween(KeybindsContainerOutline, TweenInfo.new(0.2,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size = Size});
end);

KeybindsContainer.ChildRemoved:Connect(function()
Library.KeybindIndex = Library.KeybindIndex - 1;
local Size;-- = UDim2.new(1, 0, 0, 5 + (Library.KeybindIndex *
11));

if Library.KeybindIndex ~= 1 then
Size = UDim2.new(1, 0, 0, (11* Library.KeybindIndex) + 3);
else
Size = UDim2.new(1, 0, 0, 14);
end;

if Library.KeybindIndex == 0 then
Size = UDim2.new(1, 0, 0, 0);
end;

Library:Tween(KeybindsContainerOutline, TweenInfo.new(0.2,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), {Size = Size});
end);
end;
end;

do --// Watermark UI
local WatermarkUI;

WatermarkUI = Instance.new("ScreenGui")
WatermarkUI.Parent = gethui();
local WatermarkOutline = Instance.new("Frame")
local WatermarkInner = Instance.new("Frame")
local WatermarkAccent = Instance.new("Frame")
local WatermarkText = Instance.new("TextLabel")
local FakeText = Instance.new("TextLabel");

do --// Properties
WatermarkUI.Name = "9391203j312i3kashd9q312093ajsdokake219183213h";
WatermarkUI.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

WatermarkOutline.Name = "WatermarkOutline"
WatermarkOutline.Visible = false;
WatermarkOutline.Parent = WatermarkUI
WatermarkOutline.BackgroundColor3 = Color3.fromRGB(37, 37, 37)
WatermarkOutline.BorderColor3 = Color3.fromRGB(0, 0, 0)
WatermarkOutline.Position = UDim2.new(0.001, 97, 0.202453986, -
224);
WatermarkOutline.Size = UDim2.new(0, 200, 0, 20)

WatermarkInner.Parent = WatermarkOutline
WatermarkInner.BackgroundColor3 = Color3.fromRGB(17, 17, 17)
WatermarkInner.BorderColor3 = Color3.fromRGB(0, 0, 0)
WatermarkInner.Position = UDim2.new(0, 2, 0, 2)
WatermarkInner.Size = UDim2.new(1, -4, 1, -4)
WatermarkAccent.Parent = WatermarkInner
WatermarkAccent.BackgroundColor3 = Library.Theme.Accent;
WatermarkAccent.BorderColor3 = Color3.fromRGB(0, 0, 0)
WatermarkAccent.Size = UDim2.new(1, 0, 0, 1)

WatermarkText.Parent = WatermarkInner
WatermarkText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
WatermarkText.BackgroundTransparency = 1.000
WatermarkText.BorderColor3 = Color3.fromRGB(0, 0, 0)
WatermarkText.BorderSizePixel = 0
WatermarkText.Position = UDim2.new(0, 1, 0, 2)
WatermarkText.Size = UDim2.new(1, 0, 1, 0)
WatermarkText.FontFace = Library.MenuFont
WatermarkText.TextColor3 = Color3.fromRGB(255, 255, 255)
WatermarkText.TextSize = Library.TextSize
WatermarkText.TextXAlignment = Enum.TextXAlignment.Center;
end;

WatermarkText:GetPropertyChangedSignal("Text"):Connect(function()
WatermarkOutline.Size = UDim2.new(0,
(string.len(WatermarkText.Text) * 5) + 10, 0, 20);
end);

WatermarkText.Text = ("Ethereal | %s | %s | Config -


%s"):format(GameName, LRM_LinkedDiscordID, Library.Config);

WatermarkOutline.Size = UDim2.new(0, 400, 0, 20);

Library.WatermarkAccent = WatermarkAccent;
Library.WatermarkText = WatermarkText;
Library.WatermarkOutline = WatermarkOutline;
end;

do --// Functions

do --// Standard
function Library:Round(Number, Divider)
if typeof(Number) == "Vector2" then
return Vector2.new(Library:Round(Number.X),
Library:Round(Number.Y))
elseif typeof(Number) == "Vector3" then
return Vector3.new(Library:Round(Number.X),
Library:Round(Number.Y), Library:Round(Number.Z))
elseif typeof(Number) == "Color3" then
return Library:Round(Number.r * 255),
Library:Round(Number.g * 255), Library:Round(Number.b * 255)
else
return Number - Number % (Divider or 1);
end
end;

function Library:Tween(...)
local NewTween = TweenService:Create(...)
NewTween:Play();
return NewTween;
end;

function Library:MakeDraggable(Input, UI, Other)


UI.BackgroundColor3 = Library.Theme.Accent;
Other.BackgroundColor3 = Library.Theme.Accent;
local Delta = Input.Position - DragStart;
UI.Position = UDim2.new(StartPos.X.Scale, StartPos.X.Offset +
Delta.X, StartPos.Y.Scale, StartPos.Y.Offset + Delta.Y);
end;
end;

do --// Keybinds
function Library:ToggleBind(Name, Key)
if Name ~= "Open/Close" then
if Library.KeybindsContainer:FindFirstChild(Name) then
--Library.KeybindIndex = Library.KeybindIndex - 1;

Library.KeybindsContainer:FindFirstChild(Name):Destroy();
else
local NewBind = Instance.new("TextLabel")
NewBind.Name = Name
NewBind.Parent = Library.KeybindsContainer;
--NewBind.Position = UDim2.new(0, 0, 0, 2 +
(Library.KeybindIndex*10));
NewBind.BackgroundColor3 = Color3.fromRGB(17, 17, 17)
NewBind.BackgroundTransparency = 1.000
NewBind.BorderColor3 = Color3.fromRGB(0, 0, 0)
NewBind.Size = UDim2.new(1, 0, 0, 9)
NewBind.FontFace = Library.MenuFont
NewBind.Text = Name .. (" [%s]"):format(Key);
NewBind.TextColor3 = Library.Theme.ElementOn;
NewBind.TextSize = Library.TextSize
NewBind.TextStrokeTransparency = 0.000
NewBind.TextWrapped = true
NewBind.TextXAlignment = Enum.TextXAlignment.Left;
--Library.KeybindIndex = Library.KeybindIndex+1;
end;
end;
end;
end;

do --// Configs
function Library:GetConfig()
local Config = {}

for Index, Value in pairs(Library.Flags) do


if type(Value) == "table" then
if rawget(Value, "Value") or Value.Value then
Config[Index] = Value.Value;
elseif rawget(Value, "Color") then
Config[Index] = {Color = {R = Value.Color.R, G =
Value.Color.G, B = Value.Color.B}, Transparency = Value.Transparency};
elseif rawget(Value, "Key") and rawget(Value, "Name")
then
Config[Index] = {Name = Value.Key.Name};
else
if not Config[Index] then
Config[Index] = Value.Value;
end;
end;
end;
end;
return Config, HttpService:JSONEncode(Config)
end;

function Library:SaveConfig(ConfigName)
local _, Encoded = Library:GetConfig();

if ConfigName and type(ConfigName) == "string" then


writefile("Ethereal/Configs/"..ConfigName..".txt",
Encoded);
end;
end;

function Library:DeleteConfig(ConfigName)
if isfile("Ethereal/Configs/"..ConfigName..".txt") then
delfile("Ethereal/Configs/"..ConfigName..".txt");
end;
end;

function Library:LoadConfig(Config)
if not Config or Config == nil then
Library:Notify("Config not found, did you possibly delete
it and not reselect a new one?");
return
end;

local DecodedConfig = HttpService:JSONDecode(Config);

for Index, Value in pairs(DecodedConfig) do


task.spawn(function()
local Succ, Err = pcall(function()
local ToLib = Library.Flags[Index];

if ToLib then
if rawget(ToLib, "Key") and type(Value) ~=
"boolean" then
if
table.find({"MouseButton1","MouseWheel","MouseButton2","MouseButton3"},
tostring(Value.Name)) then
ToLib:Set(Value, true)
else
ToLib:Set(Value);
end
elseif rawget(ToLib, "Color") then
ToLib:Set({
Color = Color3.new(Value.Color.R,
Value.Color.G, Value.Color.B),
Transparency = Value.Transparency
});
elseif rawget(ToLib, "Value") and not
rawget(ToLib, "Color") and not rawget(ToLib, "Key") then
if rawget(ToLib, "Multi") and type(Value)
~= "table" then
ToLib:Set({Value})
else
if ToLib.Min then
if Value > ToLib.Max then
ToLib:Set(ToLib.Max);
else
ToLib:Set(Value);
end;
else
ToLib:Set(Value);
end;
end
else
ToLib:Set(Value)
end;
end;
end);
if not Succ and Err then warn("[Ethereal ERROR]:
"..tostring(Err)) end;
end);
end;
end;
end;

function Library:NewWindow(Data)
local Window = {
TabAmount = 0;
Name = Data.Name;
Tabs = {};
DefaultSize = Data.Size or UDim2.new(0, 583, 0, 753);
ImportantIndex = 9999999;
CurrentTab = nil;
};

LibraryScreenGui = Instance.new("ScreenGui");
LibraryScreenGui.Parent = gethui();
LibraryScreenGui.Enabled = false;

LibraryMouseGui = Instance.new("ScreenGui");
LibraryMouseGui.Parent = gethui();
LibraryMouseGui.Enabled = false;
LibraryMouseGui.Name =
"9391203j312i3kashd9q312093ajsdokake219183213h";
LibraryMouseGui.IgnoreGuiInset = true;

local MouseCursor = Instance.new("ImageLabel", LibraryMouseGui); do


MouseCursor.Image = "http://www.roblox.com/asset/?
id=5545698398";
MouseCursor.BackgroundTransparency = 1;
MouseCursor.Size = UDim2.new(0, 36, 0, 36);
MouseCursor.Parent = LibraryMouseGui;
Library.MouseCursor = MouseCursor;
end;

LibraryMouseGui.Enabled = true;

Mouse.Move:Connect(function()
if LibraryScreenGui.Enabled then
LibraryMouseGui.Enabled = true;
MouseLocation = UserInputService:GetMouseLocation();
MouseCursor.Position = UDim2.new(0, MouseLocation.X - 18,
0, MouseLocation.Y - 18);
else
LibraryMouseGui.Enabled = false;
end;
end);
local TabSize = 545 / Window.TabAmount;
local Title = Instance.new("TextLabel")
local WindowBorder = Instance.new("TextButton");
local BorderInner = Instance.new("Frame")
local WorkspaceOutter = Instance.new("Frame");
local WorkspaceInner = Instance.new("Frame");
local Tabs = Instance.new("Frame");
local TabsLayout = Instance.new("UIListLayout");
local Resizer = Instance.new("ImageButton");

local PageArea = Instance.new("Frame");


local PageAreaInner = Instance.new("Frame");
local TabTransitioner = Instance.new("Frame");
local TabTransitioner2 = Instance.new("Frame");

local UIShadow = Instance.new("ImageLabel");

local VisibleBorder = Instance.new("Frame");

Window.MainFrame = WindowBorder;

do --// Element Properties


LibraryScreenGui.Parent = gethui();
LibraryScreenGui.Name =
"9391203j312i3kashd9q312093ajsdokake219183213h";
LibraryScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling;

WindowBorder.AutoButtonColor = false;
WindowBorder.Text = ""
WindowBorder.Parent = LibraryScreenGui
WindowBorder.BackgroundColor3 = Library.Theme.LightContrast
WindowBorder.BorderColor3 = Library.Theme.Border
WindowBorder.Position = UDim2.new(0.104468189, 0, 0.202439025,
0)
WindowBorder.Size = Window.DefaultSize;

UIShadow.Parent = WindowBorder;
UIShadow.Image = "rbxassetid://6015897843";

UIShadow.ScaleType = Enum.ScaleType.Slice;
UIShadow.SliceCenter = Rect.new(49, 49, 450, 450);
UIShadow.ImageColor3 = Library.Theme.Accent;
UIShadow.ImageTransparency = 0.5;
UIShadow.BackgroundTransparency = 1;
UIShadow.Size = UDim2.new(1, 47, 1, 47);
UIShadow.Position = UDim2.new(0.5, 0, 0.5, 0);
UIShadow.AnchorPoint = Vector2.new(0.5, 0.5);

VisibleBorder.Parent = WindowBorder;
VisibleBorder.Size = UDim2.new(1, 0, 1, 0);
VisibleBorder.BackgroundColor3 = Library.Theme.LightContrast;
VisibleBorder.BorderColor3 = Library.Theme.Border;

BorderInner.Parent = WindowBorder
BorderInner.BackgroundColor3 = Library.Theme.VeryDarkContrast
BorderInner.BorderColor3 = Library.Theme.Border
BorderInner.Position = UDim2.new(0, 2, 0, 2)
BorderInner.Size = UDim2.new(1, -4, 1, -4)
Resizer.Parent = BorderInner
Resizer.BackgroundColor3 = Library.Theme.Accent
Resizer.BackgroundTransparency = 1.000
Resizer.BorderColor3 = Color3.fromRGB(0, 0, 0)
Resizer.BorderSizePixel = 0
Resizer.Position = UDim2.new(1, -12, 1, -12)
Resizer.Size = UDim2.new(0, 12, 0, 12)
Resizer.Image = "rbxassetid://7368471234"
Resizer.ImageColor3 = Library.Theme.Accent;
Resizer.AutoButtonColor = false;
if not IsElectron then
Resizer.Modal = true;
end
WorkspaceOutter.Parent = BorderInner
WorkspaceOutter.BackgroundColor3 = Library.Theme.LightContrast
WorkspaceOutter.BorderColor3 = Library.Theme.Border
WorkspaceOutter.Position = UDim2.new(0, 5, 0, 20)
WorkspaceOutter.Size = UDim2.new(1, -15, 1, -32)

WorkspaceInner.Parent = WorkspaceOutter
WorkspaceInner.BackgroundColor3 =
Library.Theme.VeryDarkContrast
WorkspaceInner.BorderColor3 = Library.Theme.Border
WorkspaceInner.NextSelectionUp = WorkspaceOutter
WorkspaceInner.Position = UDim2.new(0, 2, 0, 2)
WorkspaceInner.Size = UDim2.new(1, -4, 1, -4)

Tabs.Parent = WorkspaceInner
Tabs.BackgroundColor3 = Library.Theme.ElementOn
Tabs.BackgroundTransparency = 1.000
Tabs.BorderColor3 = Library.Theme.Border
Tabs.BorderSizePixel = 0
Tabs.Position = UDim2.new(0.0136363637, 0, 0, 0)
Tabs.Size = UDim2.new(1, -15, 0, 24)

TabsLayout.Parent = Tabs
TabsLayout.FillDirection = Enum.FillDirection.Horizontal
TabsLayout.SortOrder = Enum.SortOrder.LayoutOrder

PageArea.Parent = WorkspaceInner
PageArea.BackgroundColor3 = Library.Theme.LightContrast
PageArea.BorderColor3 = Library.Theme.Border

PageArea.Position = UDim2.new(0, 7, 0, 25)


PageArea.Size = UDim2.new(1, -13, 1, -30)

PageAreaInner.Parent = PageArea
PageAreaInner.BackgroundColor3 = Library.Theme.DarkContrast
PageAreaInner.BorderColor3 = Library.Theme.Border
PageAreaInner.Position = UDim2.new(0, 2, 0, 2)
PageAreaInner.Size = UDim2.new(1, -4, 1, -4)

TabTransitioner.Parent = PageAreaInner;
TabTransitioner.BackgroundColor3 = Library.Theme.DarkContrast;
TabTransitioner.BorderSizePixel = 0;
TabTransitioner.Size = UDim2.new(1, -4, 1, -4);
TabTransitioner.Position = UDim2.new(0, 2, 0, 2);
TabTransitioner.ZIndex = 1000;
TabTransitioner.Name = "TabTransitioner";
TabTransitioner2.Parent = PageAreaInner;
TabTransitioner2.BackgroundColor3 = Library.Theme.DarkContrast;
TabTransitioner2.BorderSizePixel = 0;
TabTransitioner2.Size = UDim2.new(1, -4, 1, -24);
TabTransitioner2.Position = UDim2.new(0, 2, 0, 26);
TabTransitioner2.ZIndex = 1000;
TabTransitioner2.Name = "TabTransitioner2";

Title.Parent = WindowBorder
Title.BackgroundColor3 = Library.Theme.ElementOn
Title.BackgroundTransparency = 1.000
Title.BorderColor3 = Library.Theme.Border
Title.BorderSizePixel = 0
Title.Position = UDim2.new(0, 0, 0, 5);
Title.Size = UDim2.new(1, 0, 0, 15)
Title.FontFace = Library.MenuFont
Title.RichText = true;
Title.Text = ("Ethereal | <font color =\"rgb(%d, %d, %d)\">
%s</font>"):format(Library.Theme.Accent.R * 255, Library.Theme.Accent.G * 255,
Library.Theme.Accent.B * 255, GameName);
Window.TitleLabel = Title;
Title.TextColor3 = Library.Theme.ElementOn
Title.TextSize = Library.TextSize
end;

do --// Setting some stuff in the window table (ignore)


Window.ResizeButton = Resizer;
Window.Border = WindowBorder;
-- Window.Image = PageAreaInner;
end;

do --// Window functions


do --// Window connections
do --// Dragging
WindowBorder.InputBegan:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch
then
Dragging = true;
DragStart = Input.Position;
StartPos = WindowBorder.Position;

Input.Changed:Connect(function()
if Input.UserInputState ==
Enum.UserInputState.End then
Dragging = false;
VisibleBorder.BackgroundColor3 =
Library.Theme.LightContrast
WindowBorder.BackgroundColor3 =
Library.Theme.LightContrast
end;
end);
end;
end);

WindowBorder.InputChanged:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseMovement or Input.UserInputType == Enum.UserInputType.Touch
then
DragInput = Input;
end;
end);
end;

do --// Resizer
Resizer.InputBegan:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch
then
IsResizing = true;
if not LastPosition then
StartSize = WindowBorder.AbsoluteSize;
LastPosition = Vector2.new(Mouse.X,
Mouse.Y);
end;
Input.Changed:Connect(function()
if Input.UserInputState ==
Enum.UserInputState.End then
IsResizing = false;
StartSize = WindowBorder.AbsoluteSize;
LastPosition = nil;
end;
end);
end;
end);

Resizer.InputChanged:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseMovement or Input.UserInputType == Enum.UserInputType.Touch
then
ResizeInput = Input;
end;
end);
end;

do --// UserinputService
UserInputService.InputChanged:Connect(function(Input)
if Input == DragInput and Dragging then
Library:MakeDraggable(Input, WindowBorder,
VisibleBorder);
end;

if Input == ResizeInput and IsResizing then


if LastPosition then
local MousePos = Vector2.new(Mouse.X,
Mouse.Y);
local Displacement = Vector2.new(MousePos.X
- LastPosition.X, MousePos.Y - LastPosition.Y);

local Scale = StartSize + Displacement;

local ScaleX = Scale.X;


local ScaleY = Scale.Y;

if ScaleX > Window.DefaultSize.X.Offset


then
WindowBorder.Size =
UDim2.fromOffset(ScaleX, WindowBorder.Size.Y.Offset);
end;

if ScaleY > Window.DefaultSize.Y.Offset


then
WindowBorder.Size =
UDim2.fromOffset(WindowBorder.Size.X.Offset, ScaleY);
end;
end;
end;
end);

end;
end;

function Window:TransitionTab(IsNested, IsPrevious)


if not IsNested then
if not IsPrevious then
Library:Tween(TabTransitioner, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0});
Library:Tween(TabTransitioner2, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0});
task.wait(0.1);
Library:Tween(TabTransitioner, TweenInfo.new(0.2,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1});
Library:Tween(TabTransitioner2, TweenInfo.new(0.2,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1});
else
Library:Tween(TabTransitioner, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0});
task.wait(0.1);
Library:Tween(TabTransitioner, TweenInfo.new(0.2,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1});
end;
else
if not IsPrevious then
Library:Tween(TabTransitioner2, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0});
task.wait(0.1);
Library:Tween(TabTransitioner2, TweenInfo.new(0.2,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1});
end;
end;
end;

function Window:CreateColorpicker(Parent, Name)


local ColorFrame = Instance.new("Frame")
local Innercolor = Instance.new("Frame")
local HueOutline = Instance.new("Frame")
local HuePicker = Instance.new("TextButton")
local UIGradient = Instance.new("UIGradient")
local HuePick = Instance.new("Frame")
local PickerOutline_3 = Instance.new("Frame")
local ColorPicker = Instance.new("ImageButton")
local ColorPick = Instance.new("Frame")
local TOutline = Instance.new("Frame")
local TransparencyPicker = Instance.new("ImageButton")
local TransparencyColor = Instance.new("ImageLabel")
local TransparencyPick = Instance.new("Frame")
local TitleFrame = Instance.new("Frame")
local ColorpickerTitle_2 = Instance.new("TextLabel")

local CopyButtonOutter = Instance.new("Frame");


local CopyButton = Instance.new("TextButton");
local PasteButtonOutter = Instance.new("Frame");
local PasteButton = Instance.new("TextButton")

local SetBoxOutter = Instance.new("Frame");


local SetBox = Instance.new("TextBox");

--// Properties (its long)


do
ColorFrame.Name = "ColorFrame"
ColorFrame.Parent = Parent

ColorFrame.BackgroundColor3 =
Library.Theme.LightContrast
ColorFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
ColorFrame.BorderSizePixel = 0
--{-10, 0},{3, 0}
ColorFrame.Position = UDim2.new(-10, 20, 3, 0)
ColorFrame.Size = UDim2.new(0, 200, 0, 240);

ColorFrame.Visible = false
ColorFrame.ZIndex = 11;

Innercolor.Name = "Innercolor"
Innercolor.Parent = ColorFrame
Innercolor.BackgroundColor3 =
Library.Theme.DarkContrast
Innercolor.BorderColor3 = Color3.fromRGB(0, 0, 0)
Innercolor.BorderSizePixel = 1
Innercolor.Position = UDim2.new(0, 2, 0, 2)
Innercolor.Size = UDim2.new(1, -4, 1, -4)

HueOutline.Name = "HueOutline"
HueOutline.Parent = Innercolor
HueOutline.BackgroundColor3 =
Library.Theme.LightContrast
HueOutline.BorderColor3 = Color3.fromRGB(0, 0, 0)
HueOutline.BorderSizePixel = 1
HueOutline.Position = UDim2.new(0.899999976, -5,
0.00600000005, 0)
HueOutline.Size = UDim2.new(0, 23, 0, 162)

HuePicker.Name = "HuePicker"
HuePicker.Parent = HueOutline
HuePicker.BackgroundColor3 =
Color3.fromRGB(255,255,255)
HuePicker.BorderColor3 = Color3.fromRGB(0, 0, 0)
HuePicker.BorderSizePixel = 1
HuePicker.Position = UDim2.new(0, 2, 0, 2)
HuePicker.Size = UDim2.new(1, -4, 1, -4)
HuePicker.AutoButtonColor = false
HuePicker.FontFace = Library.MenuFont
HuePicker.Text = ""
HuePicker.TextColor3 = Color3.fromRGB(0, 0, 0)
HuePicker.TextSize = Library.TextSize
UIGradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0.17, Color3.fromRGB(255, 0, 255)),
ColorSequenceKeypoint.new(0.33, Color3.fromRGB(0, 0, 255)),
ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 255, 255)),
ColorSequenceKeypoint.new(0.67, Color3.fromRGB(0, 255, 0)),
ColorSequenceKeypoint.new(0.83, Color3.fromRGB(255, 255, 0)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 0))}
UIGradient.Rotation = 90
UIGradient.Parent = HuePicker

HuePick.Name = "HuePick"
HuePick.Parent = HuePicker
HuePick.BackgroundColor3 = Library.Theme.ElementOn
HuePick.BorderColor3 = Color3.fromRGB(0, 0, 0)
HuePick.Size = UDim2.new(1, 0, 0, 1)

PickerOutline_3.Name = "PickerOutline"
PickerOutline_3.Parent = Innercolor
PickerOutline_3.BackgroundColor3 =
Library.Theme.LightContrast
PickerOutline_3.BorderColor3 = Color3.fromRGB(0, 0, 0)
PickerOutline_3.BorderSizePixel = 1
PickerOutline_3.Position = UDim2.new(0, 2, 0, 2)
PickerOutline_3.Size = UDim2.new(0, 162, 0, 162)

ColorPicker.Name = "ColorPicker"
ColorPicker.Parent = PickerOutline_3
ColorPicker.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
ColorPicker.BorderColor3 = Color3.fromRGB(0, 0, 0)
ColorPicker.BorderSizePixel = 1
ColorPicker.Position = UDim2.new(0, 2, 0, 2)
ColorPicker.Size = UDim2.new(1, -4, 1, -4)
ColorPicker.Image = "rbxassetid://4155801252"
ColorPicker.ImageColor3 = Color3.fromRGB(255, 0, 2)
ColorPicker.AutoButtonColor = false;

ColorPick.Name = "ColorPick"
ColorPick.Parent = ColorPicker
ColorPick.BackgroundColor3 = Library.Theme.ElementOn
ColorPick.BorderColor3 = Color3.fromRGB(0, 0, 0)
ColorPick.Size = UDim2.new(0, 1, 0, 1)

TOutline.Name = "TOutline"
TOutline.Parent = Innercolor
TOutline.BackgroundColor3 = Library.Theme.LightContrast
TOutline.BorderColor3 = Color3.fromRGB(0, 0, 0)
TOutline.BorderSizePixel = 1
TOutline.Position = UDim2.new(0, 2, 0, 169)
TOutline.Size = UDim2.new(1, -4, 0, 20)

TransparencyPicker.Name = "TransparencyPicker"
TransparencyPicker.Parent = TOutline
TransparencyPicker.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
TransparencyPicker.BackgroundTransparency = 0
TransparencyPicker.BorderColor3 = Color3.fromRGB(0, 0,
0)
TransparencyPicker.BorderSizePixel = 0;
TransparencyPicker.Position = UDim2.new(0, 2, 0, 2)
TransparencyPicker.Size = UDim2.new(1, -4, 1, -4)
TransparencyPicker.ScaleType = Enum.ScaleType.Tile
TransparencyPicker.TileSize = UDim2.new(0, 10, 0, 10)
TransparencyPicker.AutoButtonColor = false;

TransparencyColor.Name = "TransparencyColor"
TransparencyColor.Parent = TransparencyPicker
TransparencyColor.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
TransparencyColor.BackgroundTransparency = 0;
TransparencyColor.BorderColor3 = Color3.fromRGB(0, 0,
0)
TransparencyColor.BorderSizePixel = 1;
TransparencyColor.Size = UDim2.new(1, 0, 1, 0)
TransparencyColor.Position = UDim2.new(0, 0, 0, 0)
TransparencyColor.Image = "rbxassetid://3887017050"
TransparencyColor.ImageColor3 = Color3.fromRGB(255, 0,
0)

TransparencyPick.Name = "TransparencyPick"
TransparencyPick.Parent = TransparencyPicker
TransparencyPick.BackgroundColor3 = Color3.fromRGB(255,
255, 255)
TransparencyPick.BorderColor3 = Color3.fromRGB(0, 0, 0)
TransparencyPick.Size = UDim2.new(0, 1, 1, 0)

TitleFrame.Name = "TitleFrame"
TitleFrame.Parent = ColorFrame
TitleFrame.BackgroundColor3 =
Library.Theme.LightContrast
TitleFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
TitleFrame.BorderSizePixel = 0
TitleFrame.Position = UDim2.new(0, 0, 0, -14)
TitleFrame.Size = UDim2.new(1, 0, 0, 15)

ColorpickerTitle_2.Name = "ColorpickerTitle"
ColorpickerTitle_2.Parent = TitleFrame
ColorpickerTitle_2.BackgroundColor3 =
Library.Theme.MedianContrast
ColorpickerTitle_2.BorderColor3 = Color3.fromRGB(0, 0,
0)
ColorpickerTitle_2.BorderSizePixel = 1
ColorpickerTitle_2.Position = UDim2.new(0, 2, 0, 2)
ColorpickerTitle_2.Size = UDim2.new(1, -4, 1, -4)
ColorpickerTitle_2.FontFace = Library.MenuFont
ColorpickerTitle_2.Text = Name
ColorpickerTitle_2.TextColor3 = Library.Theme.ElementOn
ColorpickerTitle_2.TextSize = Library.TextSize
ColorpickerTitle_2.TextWrapped = true;

CopyButtonOutter.Name = "Copy"
CopyButtonOutter.Parent = Innercolor
CopyButtonOutter.BackgroundColor3 = Color3.fromRGB(37,
37, 37)
CopyButtonOutter.BorderColor3 = Color3.fromRGB(0, 0, 0)
CopyButtonOutter.Position = UDim2.new(0, 2, 0, 193)
CopyButtonOutter.Size = UDim2.new(0, 93, 0, 18)

CopyButton.Name = "CopyButton"
CopyButton.Parent = CopyButtonOutter
CopyButton.BackgroundColor3 =
Library.Theme.MedianContrast
CopyButton.BorderColor3 = Color3.fromRGB(0, 0, 0)
CopyButton.Position = UDim2.new(0, 2, 0, 2)
CopyButton.Size = UDim2.new(1, -4, 1, -4)
CopyButton.FontFace = Library.MenuFont;
CopyButton.Text = "Copy"
CopyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CopyButton.TextSize = Library.TextSize
CopyButton.AutoButtonColor = false;

PasteButtonOutter.Name = "Paster"
PasteButtonOutter.Parent = Innercolor
PasteButtonOutter.BackgroundColor3 = Color3.fromRGB(37,
37, 37)
PasteButtonOutter.BorderColor3 = Color3.fromRGB(0, 0,
0)
PasteButtonOutter.Position = UDim2.new(0, 101, 0, 193)
PasteButtonOutter.Size = UDim2.new(0, 93, 0, 18)

PasteButton.Name = "PasteButton"
PasteButton.Parent = PasteButtonOutter
PasteButton.BackgroundColor3 =
Library.Theme.MedianContrast
PasteButton.BorderColor3 = Color3.fromRGB(0, 0, 0)
PasteButton.Position = UDim2.new(0, 2, 0, 2)
PasteButton.Size = UDim2.new(1, -4, 1, -4)
PasteButton.FontFace = Library.MenuFont;
PasteButton.AutoButtonColor = false;
PasteButton.Text = "Paste"
PasteButton.TextColor3 = Color3.fromRGB(255, 255, 255)
PasteButton.TextSize = Library.TextSize

SetBoxOutter.Name = "Setbox"
SetBoxOutter.Parent = Innercolor
SetBoxOutter.BackgroundColor3 = Color3.fromRGB(37, 37,
37)
SetBoxOutter.BorderColor3 = Color3.fromRGB(0, 0, 0)
SetBoxOutter.Position = UDim2.new(0, 2, 0, 216)
SetBoxOutter.Size = UDim2.new(0, 192, 0, 18)

SetBox.Name = "SetBox"
SetBox.Parent = SetBoxOutter
SetBox.BackgroundColor3 = Library.Theme.MedianContrast
SetBox.BorderColor3 = Color3.fromRGB(0, 0, 0)
SetBox.Position = UDim2.new(0, 2, 0, 2)
SetBox.Size = UDim2.new(1, -4, 1, -4)
SetBox.FontFace = Library.MenuFont;
SetBox.Text = "";
SetBox.TextColor3 = Color3.fromRGB(255, 255, 255)
SetBox.TextSize = Library.TextSize
end;

return ColorFrame, InnerColor, HueOutline, HuePicker,


UIGradient, HuePick, PickerOutline_3, HuePick, ColorPicker, ColorPick, TOutline,
TransparencyPicker, TransparencyColor, TransparencyPick, TitleFrame,
ColorpickerTitle_2, PasteButton, CopyButton, SetBox

end;

function Window:SetTab(Name)
Window.CurrentTab = Name;
Window:TransitionTab(false, false);
for Index, Value in next, Window.Tabs do
if not Value.Name:find("Nested") then
local TabName = Value.Name;
local TabButton = Value.Button;
--local Underline = Value.Underline;
if Name ~= TabName then
Library:Tween(TabButton, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
--Library:Tween(Underline, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1});
Value.Page.Visible = false;
Value.IsOpen = false;
if Value.IncludeNested then
for Index2, Value2 in next,
Value.NestedTabs do
Value2.Page.Visible = false;
Value2.IsOpen = false;

if Value2.Button then
Library:Tween(Value2.Button,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
--Library:Tween(Value2.Underline,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 0});
end;
end;
end;
else
Library:Tween(TabButton, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
--Library:Tween(Underline, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0});
Value.Page.Visible = true;
Value.IsOpen = true;
if Value.LastOpenedTab then
Value:SetTab(Value.LastOpenedTab, true)
end;
end;
end;
end;
end;

function Window:UpdateTabs()
local TabSize = Tabs.AbsoluteSize.X / Window.TabAmount;
for Index, Value in next, Window.Tabs do
Value.Button.Size = UDim2.new(0, TabSize, 0, 26);
end;
end;
function Window:NewTab(Data)
local Tab = {
Name = Data.Name;
Sections = {};
NestedTabs = {};
Page = nil;
IsOpen = false;
SectionZIndex = 1000;
IncludeNested = Data.IncludeNested;
Left = nil;
Right = nil;
TabAmount = 0;
LastOpenedTab = nil;
IsPlayerlist = Data.IsPlayerlist;
Playerlist = {};
SelectedPlayer = nil;
};
Window.TabAmount = Window.TabAmount + 1;

Tab.__index = Tab;

local Left, Right


local CurrentPage = Instance.new("ImageLabel");
local NestedTabsOutline, NestedTabs = nil, nil

do --// Elements
local TabButton = Instance.new("TextButton");
--local TabUnderline = Instance.new("Frame");
local TabGradient = Instance.new("UIGradient");

Left = Instance.new("Frame");
local LeftPadding = Instance.new("UIPadding");
local LeftListLayout = Instance.new("UIListLayout");

Tab.Left = Left;

Right = Instance.new("Frame");
local RightListLayout = Instance.new("UIListLayout");
local RightPadding = Instance.new("UIPadding");

Tab.Right = Right;

do --// Tab element properties


CurrentPage.Name = "Page"..Data.Name;
CurrentPage.Parent = PageAreaInner
CurrentPage.BackgroundColor3 =
Library.Theme.ElementOn
CurrentPage.BackgroundTransparency = 1.000;
CurrentPage.ImageTransparency = 1;
CurrentPage.BorderColor3 = Library.Theme.Border
CurrentPage.BorderSizePixel = 0
CurrentPage.Position = UDim2.new(0, 0, 0, 0)
CurrentPage.Size = UDim2.new(1, 0, 1, -5);

CurrentPage.Visible = false;

Left.Name = "Left"
Left.Parent = CurrentPage
Left.BackgroundColor3 = Library.Theme.ElementOn
Left.BackgroundTransparency = 1.000
Left.BorderColor3 = Library.Theme.Border
Left.BorderSizePixel = 0
Left.Size = UDim2.new(0.5, -3, 1, 0)

LeftPadding.Name = "LeftPadding"
LeftPadding.Parent = Tab.Left
LeftPadding.PaddingTop = UDim.new(0, 9)
LeftPadding.PaddingLeft = UDim.new(0, 2);

LeftListLayout.Name = "LeftListLayout"
LeftListLayout.Parent = Tab.Left
LeftListLayout.SortOrder =
Enum.SortOrder.LayoutOrder
LeftListLayout.Padding = UDim.new(0, 8);

Right.Name = "Right"
Right.Parent = CurrentPage
Right.BackgroundColor3 = Library.Theme.ElementOn
Right.BackgroundTransparency = 1.000
Right.BorderColor3 = Library.Theme.Border
Right.BorderSizePixel = 0
Right.Position = UDim2.new(0.5, 3, 0, 0)
Right.Size = UDim2.new(0.5, -3, 1, 0)

RightListLayout.Name = "RightListLayout"
RightListLayout.Parent = Tab.Right
RightListLayout.SortOrder =
Enum.SortOrder.LayoutOrder
RightListLayout.Padding = UDim.new(0, 8);

RightPadding.Name = "RightPadding";
RightPadding.Parent = Tab.Right;
RightPadding.PaddingTop = UDim.new(0, 9);
RightPadding.PaddingRight = UDim.new(0, 2);

TabButton.Name = "TabButton"
TabButton.Parent = Tabs
TabButton.BackgroundColor3 =
Library.Theme.ElementOn
TabButton.BackgroundTransparency = 1.000
TabButton.BorderColor3 = Library.Theme.Border
TabButton.BorderSizePixel = 0
TabButton.Size = UDim2.new(0, TabSize, 0, 26)
TabButton.FontFace = Library.MenuFont
TabButton.Text = Tab.Name;
Tab.Button = TabButton;

TabButton.TextColor3 = Library.Theme.ElementOff
TabButton.TextSize = Library.TextSize

--[[TabUnderline.Name = "TabUnderline"
TabUnderline.Parent = TabButton
TabUnderline.BackgroundColor3 =
Library.Theme.ElementOn
TabUnderline.BorderColor3 = Library.Theme.Border
TabUnderline.BorderSizePixel = 0
TabUnderline.Position = UDim2.new(0, 0, 1, -5)
TabUnderline.Size = UDim2.new(1, 0, 0, 1)
TabUnderline.BackgroundTransparency = 1;
TabUnderline.Visible = true;]]

--Tab.Underline = TabUnderline;
--TabGradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Library.Theme.DarkContrast),
ColorSequenceKeypoint.new(0.50, Library.Theme.Accent),
ColorSequenceKeypoint.new(1.00, Library.Theme.DarkContrast)}
--TabGradient.Name = "TabGradient"
--TabGradient.Parent = TabUnderline

TabButton.MouseButton1Down:Connect(function()
Window:SetTab(Tab.Name);
end);
TabButton.MouseEnter:Connect(function()
Library:Tween(TabButton, TweenInfo.new(0.1,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
end);
TabButton.MouseLeave:Connect(function()
if Tab.IsOpen == false or not Tab.IsOpen then
Library:Tween(TabButton, TweenInfo.new(0.1,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
end;
end);
end;

do --// If is nested
if Data.IncludeNested then
NestedTabsOutline = Instance.new("Frame");
NestedTabs = Instance.new("Frame");

local NestedLayout =
Instance.new("UIListLayout");

do --// Properties

NestedTabsOutline.Parent = CurrentPage;
NestedTabsOutline.BorderColor3 =
Library.Theme.Border;
NestedTabsOutline.Size = UDim2.new(1, 0, 0,
24);
NestedTabsOutline.BackgroundColor3 =
Library.Theme.LightContrast;

NestedTabs.Parent = NestedTabsOutline;
NestedTabs.Size = UDim2.new(1, -4, 1, -4);
NestedTabs.Position = UDim2.new(0, 2, 0,
2);
NestedTabs.BackgroundColor3 =
Library.Theme.DarkContrast;
NestedTabs.BorderColor3 =
Library.Theme.Border;

NestedLayout.Parent = NestedTabs
NestedLayout.FillDirection =
Enum.FillDirection.Horizontal
NestedLayout.SortOrder =
Enum.SortOrder.LayoutOrder
end;
end;
end;

Tab.Page = CurrentPage;

if Tab.IsPlayerlist then
Left:Destroy();
Right:Destroy();

local PlayerlistBorder = Instance.new("Frame")


local PlayerlistInner = Instance.new("Frame")
local PlayerlistTitle = Instance.new("TextLabel")
local ScrollingBorder = Instance.new("Frame")
local PlayersList = Instance.new("ScrollingFrame")

local UIPadding = Instance.new("UIPadding")


local UIListLayout = Instance.new("UIListLayout")
local PlayerInteractionBorder =
Instance.new("Frame")
local InteractionInner = Instance.new("Frame")
local PlayerBorder = Instance.new("Frame")
local Headshot = Instance.new("ImageLabel");
local PlayerId = Instance.new("TextLabel");
local PlayerName_2 = Instance.new("TextLabel");
local PlayerDisplay = Instance.new("TextLabel");
local FriendlyBorder = Instance.new("Frame")
local MakeFriendly = Instance.new("TextButton")
local NeutralBorder = Instance.new("Frame")
local MakeNeutral = Instance.new("TextButton")

Tab.PlayerTitle = PlayerlistTitle;
do --// Elements
do --// Element Properties
PlayerlistBorder.Name = "PlayerlistBorder"
PlayerlistBorder.Parent = CurrentPage
PlayerlistBorder.BackgroundColor3 =
Library.Theme.LightContrast;
PlayerlistBorder.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerlistBorder.Position = UDim2.new(0, 2,
0, 2)
PlayerlistBorder.Size = UDim2.new(1, -4, 1,
1)

PlayerlistInner.Name = "PlayerlistInner"
PlayerlistInner.Parent = PlayerlistBorder
PlayerlistInner.BackgroundColor3 =
Library.Theme.DarkContrast
PlayerlistInner.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerlistInner.Position = UDim2.new(0, 2,
0, 2)
PlayerlistInner.Size = UDim2.new(1, -4, 1,
-4)

PlayerlistTitle.Name = "PlayerlistTitle"
PlayerlistTitle.Parent = PlayerlistInner
PlayerlistTitle.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
PlayerlistTitle.BackgroundTransparency =
1.000
PlayerlistTitle.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerlistTitle.BorderSizePixel = 0
PlayerlistTitle.Position = UDim2.new(0, 6,
0, 4)
PlayerlistTitle.Size = UDim2.new(0, 50, 0,
14)
PlayerlistTitle.FontFace = Library.MenuFont
PlayerlistTitle.Text = "Player List
(Displaying ??)"
PlayerlistTitle.TextColor3 =
Color3.fromRGB(255, 255, 255)
PlayerlistTitle.TextSize = Library.TextSize
PlayerlistTitle.TextXAlignment =
Enum.TextXAlignment.Left
PlayerlistTitle.TextYAlignment =
Enum.TextYAlignment.Top

ScrollingBorder.Name = "ScrollingBorder"
ScrollingBorder.Parent = PlayerlistInner
ScrollingBorder.BackgroundColor3 =
Library.Theme.LightContrast
ScrollingBorder.BorderColor3 =
Color3.fromRGB(0, 0, 0)
ScrollingBorder.Position = UDim2.new(0, 6,
0, 18)
ScrollingBorder.Size = UDim2.new(1, -12,
0.5, 0)

PlayersList.Name = "PlayersList"
PlayersList.Parent = ScrollingBorder
PlayersList.Active = true
PlayersList.BackgroundColor3 =
Library.Theme.DarkContrast
PlayersList.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayersList.Position = UDim2.new(0, 2, 0,
2)
PlayersList.Size = UDim2.new(1, -4, 1, -4)
PlayersList.ScrollBarThickness = 0
PlayersList.AutomaticCanvasSize =
Enum.AutomaticSize.Y;

UIPadding.Parent = PlayersList
UIPadding.PaddingLeft = UDim.new(0, 4)
UIPadding.PaddingTop = UDim.new(0, 2)

UIListLayout.Parent = PlayersList
UIListLayout.SortOrder =
Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 2)

PlayerInteractionBorder.Name =
"PlayerInteractionBorder"
PlayerInteractionBorder.Parent =
PlayerlistInner
PlayerInteractionBorder.BackgroundColor3 =
Color3.fromRGB(37, 37, 37)
PlayerInteractionBorder.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerInteractionBorder.BorderSizePixel = 0
PlayerInteractionBorder.Position =
UDim2.new(0, 6, 0.5, 23)
PlayerInteractionBorder.Size = UDim2.new(1,
-12, 0.5, -249)

InteractionInner.Name = "InteractionInner"
InteractionInner.Parent =
PlayerInteractionBorder
InteractionInner.BackgroundColor3 =
Color3.fromRGB(18, 18, 18)
InteractionInner.BorderColor3 =
Color3.fromRGB(0, 0, 0)
InteractionInner.Position = UDim2.new(0, 2,
0, 2)
InteractionInner.Size = UDim2.new(1, -4, 1,
-4)

PlayerBorder.Name = "PlayerBorder"
PlayerBorder.Parent = InteractionInner
PlayerBorder.BackgroundColor3 =
Color3.fromRGB(37, 37, 37)
PlayerBorder.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerBorder.Position = UDim2.new(0, 4, 0,
3)
PlayerBorder.Size = UDim2.new(0, 100, 0,
100)

Headshot.Name = "Headshot"
Headshot.Parent = PlayerBorder
Headshot.BackgroundColor3 =
Color3.fromRGB(18, 18, 18)
Headshot.BorderColor3 = Color3.fromRGB(0,
0, 0)
Headshot.Position = UDim2.new(0, 2, 0, 2)
Headshot.Size = UDim2.new(1, -4, 1, -4)
if GameName ~= 'Fallen' then
Headshot.Image = ""
end;
PlayerId.Name = "PlayerId"
PlayerId.Parent = PlayerBorder
PlayerId.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
PlayerId.BackgroundTransparency = 1.000
PlayerId.BorderColor3 = Color3.fromRGB(0,
0, 0)
PlayerId.BorderSizePixel = 0
PlayerId.Position = UDim2.new(0, 106, 0, 4)
PlayerId.Size = UDim2.new(0, 50, 0, 9)
PlayerId.FontFace = Library.MenuFont;
PlayerId.Text = ""
PlayerId.TextColor3 = Color3.fromRGB(255,
255, 255)
PlayerId.TextSize = Library.TextSize
PlayerId.TextXAlignment =
Enum.TextXAlignment.Left
PlayerId.TextYAlignment =
Enum.TextYAlignment.Top

PlayerName_2.Name = "PlayerName"
PlayerName_2.Parent = PlayerBorder
PlayerName_2.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
PlayerName_2.BackgroundTransparency = 1.000
PlayerName_2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerName_2.BorderSizePixel = 0
PlayerName_2.Position = UDim2.new(0, 106,
0, 14)
PlayerName_2.Size = UDim2.new(0, 50, 0, 9)
PlayerName_2.FontFace = Library.MenuFont;
PlayerName_2.Text = ""
PlayerName_2.TextColor3 =
Color3.fromRGB(255, 255, 255)
PlayerName_2.TextSize = Library.TextSize
PlayerName_2.TextXAlignment =
Enum.TextXAlignment.Left
PlayerName_2.TextYAlignment =
Enum.TextYAlignment.Top

PlayerDisplay.Name = "PlayerDisplay"
PlayerDisplay.Parent = PlayerBorder
PlayerDisplay.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
PlayerDisplay.BackgroundTransparency =
1.000
PlayerDisplay.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerDisplay.BorderSizePixel = 0
PlayerDisplay.Position = UDim2.new(0, 106,
0, 24)
PlayerDisplay.Size = UDim2.new(0, 50, 0, 9)
PlayerDisplay.FontFace = Library.MenuFont;
PlayerDisplay.Text = ""
PlayerDisplay.TextColor3 =
Color3.fromRGB(255, 255, 255)
PlayerDisplay.TextSize = Library.TextSize
PlayerDisplay.TextXAlignment =
Enum.TextXAlignment.Left
PlayerDisplay.TextYAlignment =
Enum.TextYAlignment.Top

FriendlyBorder.Name = "FriendlyBorder"
FriendlyBorder.Parent = InteractionInner
FriendlyBorder.BackgroundColor3 =
Color3.fromRGB(37, 37, 37)
FriendlyBorder.BorderColor3 =
Color3.fromRGB(0, 0, 0)
FriendlyBorder.Position = UDim2.new(1, -
104, 0, 4)
FriendlyBorder.Size = UDim2.new(0, 100, 0,
18)

MakeFriendly.Name = "MakeFriendly"
MakeFriendly.Parent = FriendlyBorder
MakeFriendly.BackgroundColor3 =
Library.Theme.MedianContrast
MakeFriendly.BorderColor3 =
Color3.fromRGB(0, 0, 0)
MakeFriendly.Position = UDim2.new(0, 2, 0,
2)
MakeFriendly.Size = UDim2.new(1, -4, 1, -4)
MakeFriendly.FontFace = Library.MenuFont;
MakeFriendly.Text = "Make Friendly"
MakeFriendly.TextColor3 =
Color3.fromRGB(60, 255, 0)
MakeFriendly.TextSize = Library.TextSize
MakeFriendly.AutoButtonColor = false;

NeutralBorder.Name = "Neutral Border"


NeutralBorder.Parent = InteractionInner
NeutralBorder.BackgroundColor3 =
Color3.fromRGB(37, 37, 37)
NeutralBorder.BorderColor3 =
Color3.fromRGB(0, 0, 0)
NeutralBorder.Position = UDim2.new(1, -104,
0, 26)
NeutralBorder.Size = UDim2.new(0, 100, 0,
18)

MakeNeutral.Name = "MakeNeutral"
MakeNeutral.Parent = NeutralBorder
MakeNeutral.BackgroundColor3 =
Library.Theme.MedianContrast
MakeNeutral.BorderColor3 =
Color3.fromRGB(0, 0, 0)
MakeNeutral.Position = UDim2.new(0, 2, 0,
2)
MakeNeutral.Size = UDim2.new(1, -4, 1, -4)
MakeNeutral.FontFace = Library.MenuFont;
MakeNeutral.AutoButtonColor = false;
MakeNeutral.Text = "Make Neutral"
MakeNeutral.TextColor3 =
Color3.fromRGB(255, 255, 255)
MakeNeutral.TextSize = Library.TextSize
end;
end;

do --// Connections

MakeFriendly.MouseButton1Down:Connect(function()
if Tab.SelectedPlayer then

Visuals.Enemies[Tab.SelectedPlayer.Player].Info.IsFriendly = true;
Tab.SelectedPlayer.CurrentStatus =
"Friendly";
Tab.SelectedPlayer.PlayerRelation.Text
= "Friendly";

Library:Tween(Tab.SelectedPlayer.PlayerRelation, TweenInfo.new(0.1,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 = Color3.fromRGB(0,
255, 0)});
end;
Library:Tween(MakeFriendly,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Color3.fromRGB(0, 255, 0)});
task.wait(0.1)
Library:Tween(MakeFriendly,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);

MakeFriendly.MouseEnter:Connect(function()
Library:Tween(MakeFriendly,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Color3.fromRGB(0, 255, 0)});
end);

MakeFriendly.MouseLeave:Connect(function()
Library:Tween(MakeFriendly,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Border});
end);

MakeNeutral.MouseButton1Down:Connect(function()
if Tab.SelectedPlayer then

Visuals.Enemies[Tab.SelectedPlayer.Player].Info.IsFriendly = false;
Tab.SelectedPlayer.CurrentStatus =
"Neutral";
Tab.SelectedPlayer.PlayerRelation.Text
= "Neutral";

Library:Tween(Tab.SelectedPlayer.PlayerRelation, TweenInfo.new(0.1,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 = Color3.fromRGB(255,
255, 255)});
end;
Library:Tween(MakeNeutral,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1)
Library:Tween(MakeNeutral,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);

MakeNeutral.MouseEnter:Connect(function()
Library:Tween(MakeNeutral,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Accent});
end);

MakeNeutral.MouseLeave:Connect(function()
Library:Tween(MakeNeutral,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Border});
end);
end;
do --// Functions
function Tab.Playerlist:SetCurrent(Name)
local PlayerData = Tab.Playerlist[Name];
if not PlayerData then
Library:Notify("ERROR: PLAYER_DATA
<"..Name.."> NOT FOUND! FUNCTION <tab.Playerlist:SetCurrent>", 5,
Color3.fromRGB(255, 0, 0));
return;
end;

Tab.SelectedPlayer = PlayerData;

local Username = Name;


local ActualPlayer = PlayerData.Player;
local DisplayName =
PlayerData.DisplayName;
local UserId = PlayerData.UserId;

PlayerId.Text = "ID:" .. tostring(UserId);


PlayerName_2.Text = "Name: "..Username;
PlayerDisplay.Text = "Display:
"..DisplayName;

local ThumbnailType =
Enum.ThumbnailType.HeadShot
local ThumbnailSize =
Enum.ThumbnailSize.Size420x420
local Content, IsReady =
Players:GetUserThumbnailAsync(UserId, ThumbnailType, ThumbnailSize)

if Content and IsReady and GameName ~=


"Fallen" then
Headshot.Image = Content;
end;
end;

function Tab.Playerlist:Add(Data)
local PlayerData = {
Name = Data.Name;
DisplayName = Data.DisplayName;
Player = Data.Player;
UserId = Data.UserId;
CurrentStatus = "Neutral";
};

do --// Elements
local NewPlayer = Instance.new("Frame")
local InnerPlayer =
Instance.new("TextButton")
local PlayerName =
Instance.new("TextLabel")
local PlayerRelation =
Instance.new("TextLabel")

PlayerData.MainFrame = NewPlayer;
PlayerData.InnerFrame = InnerPlayer;
PlayerData.PlayerName = PlayerName;
PlayerData.PlayerRelation =
PlayerRelation;
do --// Properties
NewPlayer.Name = "NewPlayer"
NewPlayer.Parent = PlayersList
NewPlayer.BackgroundColor3 =
Library.Theme.LightContrast
NewPlayer.BorderColor3 =
Color3.fromRGB(0, 0, 0)
NewPlayer.Size = UDim2.new(1, -4,
0, 24)

InnerPlayer.Name = "InnerPlayer"
InnerPlayer.Parent = NewPlayer
InnerPlayer.BackgroundColor3 =
Library.Theme.MedianContrast
InnerPlayer.BorderColor3 =
Color3.fromRGB(0, 0, 0)
InnerPlayer.Position = UDim2.new(0,
2, 0, 2)
InnerPlayer.Size = UDim2.new(1, -4,
1, -4)
InnerPlayer.AutoButtonColor =
false;
InnerPlayer.Text = "";

PlayerName.Name = "PlayerName"
PlayerName.Parent = InnerPlayer
PlayerName.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
PlayerName.BackgroundTransparency =
1.000
PlayerName.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerName.BorderSizePixel = 0
PlayerName.Position = UDim2.new(0,
4, 0, 2)
PlayerName.Size = UDim2.new(0, 50,
1, -4)
PlayerName.FontFace =
Library.MenuFont;
PlayerName.Text = Data.Name;
PlayerName.TextColor3 =
Color3.fromRGB(255, 255, 255)
PlayerName.TextSize =
Library.TextSize
PlayerName.TextXAlignment =
Enum.TextXAlignment.Left

PlayerRelation.Name =
"PlayerRelation"
PlayerRelation.Parent = InnerPlayer
PlayerRelation.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)

PlayerRelation.BackgroundTransparency = 1.000
PlayerRelation.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PlayerRelation.BorderSizePixel = 0
PlayerRelation.Position =
UDim2.new(1, -52, 0, 2)
PlayerRelation.Size = UDim2.new(0,
50, 1, -4)
PlayerRelation.FontFace =
Library.MenuFont;
PlayerRelation.Text = "Neutral"
PlayerRelation.TextColor3 =
Color3.fromRGB(255, 255, 255)
PlayerRelation.TextSize =
Library.TextSize
PlayerRelation.TextXAlignment =
Enum.TextXAlignment.Right;
end;

end;

do --// Functions/Connections

PlayerData.InnerFrame.MouseButton1Down:Connect(function()

Tab.Playerlist:SetCurrent(PlayerData.Name);

Library:Tween(PlayerData.InnerFrame, TweenInfo.new(0.1, Enum.EasingStyle.Quad,


Enum.EasingDirection.Out), {BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1)

Library:Tween(PlayerData.InnerFrame, TweenInfo.new(0.1, Enum.EasingStyle.Quad,


Enum.EasingDirection.Out), {BackgroundColor3 = Library.Theme.MedianContrast});
end);

PlayerData.InnerFrame.MouseEnter:Connect(function()

Library:Tween(PlayerData.InnerFrame, TweenInfo.new(0.1, Enum.EasingStyle.Quad,


Enum.EasingDirection.Out), {BorderColor3 = Library.Theme.Accent});
end);

PlayerData.InnerFrame.MouseLeave:Connect(function()

Library:Tween(PlayerData.InnerFrame, TweenInfo.new(0.1, Enum.EasingStyle.Quad,


Enum.EasingDirection.Out), {BorderColor3 = Library.Theme.Border});
end);
end;
Tab.Playerlist[Data.Name] = PlayerData;
end;

--[[Tab.Playerlist:Add({
Name = "DranghetaLurk";
DisplayName = "lurk";
Player = Client;
UserId = Client.UserId;
});]]

Players.PlayerAdded:Connect(function(Player)
if Player:IsA("Player") then
Tab.Playerlist:Add({
Name = Player.Name,
DisplayName = Player.DisplayName,
UserId = Player.UserId,
Player = Player
});

Tab.PlayerTitle.Text = "Player List


(Displaying "..tostring(#Players:GetPlayers() - 1)..")"
end;
end);

Players.PlayerRemoving:Connect(function(Player)

Tab.Playerlist[Player.Name].MainFrame:Destroy();
Tab.Playerlist[Player.Name] = nil;
Tab.PlayerTitle.Text = "Player List
(Displaying "..tostring(#Players:GetPlayers() - 1)..")"
end);

for Index, Player in next,


Players:GetChildren() do
if Player ~= Client and
Player:IsA("Player") then
Tab.Playerlist:Add({
Name = Player.Name,
DisplayName = Player.DisplayName,
UserId = Player.UserId,
Player = Player
});
end;
Tab.PlayerTitle.Text = "Player List
(Displaying "..tostring(#Players:GetPlayers() - 1)..")"
end;
end;
end;
end;

function Tab:Update()
Tab.TabAmount = Tab.TabAmount + 1;

for Index, Value in next, Tab.NestedTabs do


Value.Button.Size = UDim2.new(0,
NestedTabs.AbsoluteSize.X / Tab.TabAmount, 0, Value.Button.Size.Y.Offset);
end;
end;

function Tab:Add(Data)
local NewTab = {
Name = Data.Name;
Page = nil;
SectionZIndex = 1000;
Sections = {};
Parent = Tab;
IsOpen = false;
Left = nil;
Right = nil;
CurrentTab = nil;
};

do --// Elements
local NewPage = Instance.new("ImageLabel");

local TabButton = Instance.new("TextButton");


-- local TabUnderline = Instance.new("Frame");
local TabGradient = Instance.new("UIGradient");

Left = Instance.new("Frame");
local LeftPadding = Instance.new("UIPadding");
local LeftListLayout =
Instance.new("UIListLayout");

NewTab.Left = Left;

Right = Instance.new("Frame");
local RightListLayout =
Instance.new("UIListLayout");
local RightPadding = Instance.new("UIPadding");

NewTab.Right = Right;

NewTab.Page = NewPage;

do --// Tab element properties


NewPage.Name = "NestedPage"..Data.Name;
NewPage.Parent = PageAreaInner
NewPage.BackgroundColor3 =
Library.Theme.ElementOn
NewPage.BackgroundTransparency = 1.000;
NewPage.ImageTransparency = 1;
NewPage.BorderColor3 = Library.Theme.Border
NewPage.BorderSizePixel = 0
NewPage.Position = UDim2.new(0, 0, 0, 0)
NewPage.Size = UDim2.new(1, 0, 1, -20);

NewPage.Visible = false;

Left.Name = "Left"
Left.Parent = NewPage;
Left.BackgroundColor3 = Library.Theme.ElementOn
Left.BackgroundTransparency = 1.000
Left.BorderColor3 = Library.Theme.Border
Left.BorderSizePixel = 0
Left.Size = UDim2.new(0.5, -3, 1, 0)
Left.Position = UDim2.new(0, 0, 0, 24);

LeftPadding.Name = "LeftPadding"
LeftPadding.Parent = NewTab.Left
LeftPadding.PaddingTop = UDim.new(0, 9)

LeftListLayout.Name = "LeftListLayout"
LeftListLayout.Parent = NewTab.Left
LeftListLayout.SortOrder =
Enum.SortOrder.LayoutOrder
LeftListLayout.Padding = UDim.new(0, 8);

Right.Name = "Right"
Right.Parent = NewPage
Right.BackgroundColor3 =
Library.Theme.ElementOn
Right.BackgroundTransparency = 1.000
Right.BorderColor3 = Library.Theme.Border
Right.BorderSizePixel = 0
Right.Position = UDim2.new(0.5, 3, 0, 24)
Right.Size = UDim2.new(0.5, -3, 1, 0)

RightListLayout.Name = "RightListLayout"
RightListLayout.Parent = NewTab.Right
RightListLayout.SortOrder =
Enum.SortOrder.LayoutOrder
RightListLayout.Padding = UDim.new(0, 8);

RightPadding.Name = "RightPadding"
RightPadding.Parent = NewTab.Right
RightPadding.PaddingTop = UDim.new(0, 9)

TabButton.Name = "TabButton"
TabButton.Parent = NestedTabs
TabButton.BackgroundColor3 =
Library.Theme.ElementOn
TabButton.BackgroundTransparency = 1.000
TabButton.BorderColor3 = Library.Theme.Border
TabButton.BorderSizePixel = 0
TabButton.Size = UDim2.new(0,
NestedTabs.AbsoluteSize.X / Tab.TabAmount, 0, 24)
TabButton.FontFace = Library.MenuFont
TabButton.Text = NewTab.Name;
NewTab.Button = TabButton;

TabButton.TextColor3 = Library.Theme.ElementOff
TabButton.TextSize = Library.TextSize

--[[TabUnderline.Name = "TabUnderline"
TabUnderline.Parent = TabButton
TabUnderline.BackgroundColor3 =
Library.Theme.ElementOn
TabUnderline.BorderColor3 =
Library.Theme.Border
TabUnderline.BorderSizePixel = 0
TabUnderline.Position = UDim2.new(0, 0, 1, -5)
TabUnderline.Size = UDim2.new(1, 0, 0, 1)
TabUnderline.BackgroundTransparency = 1;
TabUnderline.Visible = false;]]

--NewTab.Underline = TabUnderline;
-- TabGradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Library.Theme.DarkContrast),
ColorSequenceKeypoint.new(0.50, Library.Theme.Accent),
ColorSequenceKeypoint.new(1.00, Library.Theme.DarkContrast)}
--TabGradient.Name = "TabGradient"
--TabGradient.Parent = TabUnderline

TabButton.MouseButton1Down:Connect(function()
Tab:SetTab(NewTab.Name);
end);
TabButton.MouseEnter:Connect(function()
if Tab.CurrentTab == NewTab.Name then
Library:Tween(TabButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.Accent});
else
Library:Tween(TabButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
end;
end);
TabButton.MouseLeave:Connect(function()
if NewTab.IsOpen == false or not
NewTab.IsOpen then
Library:Tween(TabButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
end;
end);
end;
end;

Tab.NestedTabs[Data.Name] = NewTab;
Tab:Update()
return setmetatable(NewTab, Tab);
end;

function Tab:SetTab(Name, ShouldTransition)


Tab.CurrentTab = Name;
if not ShouldTransition then
Window:TransitionTab(true, false);
end;
for Index, Value in next, Tab.NestedTabs do
local TabName = Value.Name;
local TabButton = Value.Button;
--local Underline = Value.Underline;
if Name ~= TabName then
Library:Tween(TabButton, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
--Library:Tween(Underline, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1});
Value.Page.Visible = false;
Value.IsOpen = false;
else
Library:Tween(TabButton, TweenInfo.new(0.3,
Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.Accent});
Value.Page.Visible = true;
Value.IsOpen = true;
Tab.LastOpenedTab = Name;
end;
end;
end;

function Tab:NewSection(Data)
local Section = {
Name = Data.Name;
Side = Data.Side;
DropdownZIndex = 10000;
Bounds = 14;
};
local SectionTitle = Instance.new("TextLabel");
local SectionBorder = Instance.new("Frame");
local SectionInner = Instance.new("Frame");
local SectionAccent = Instance.new("Frame");
local SectionGradient = Instance.new("UIGradient");

do --// Section Element Properties


SectionBorder.Name = "SectionBorder"
SectionBorder.BackgroundColor3 =
Library.Theme.LightContrast
SectionBorder.BorderColor3 = Library.Theme.Border
SectionBorder.Size = UDim2.new(1, 0, 0, 34)
SectionBorder.ZIndex = self.SectionZIndex;

self.SectionZIndex = self.SectionZIndex - 1;
if Section.Side == "Left" then
SectionBorder.Parent = self.Left;
elseif Section.Side == "Right" then
SectionBorder.Parent = self.Right;
else
SectionBorder.Parent = self.Left;
end;

SectionInner.Name = "SectionInner"
SectionInner.Parent = SectionBorder
SectionInner.BackgroundColor3 =
Library.Theme.DarkContrast
SectionInner.BorderColor3 = Library.Theme.Border
SectionInner.Position = UDim2.new(0, 2, 0, 2)
SectionInner.Size = UDim2.new(1, -4, 1, -4)

SectionAccent.Name = "SectionAccent"
SectionAccent.Parent = SectionInner
SectionAccent.BackgroundColor3 =
Library.Theme.ElementOn
SectionAccent.BorderColor3 = Library.Theme.Border
SectionAccent.BorderSizePixel = 0
SectionAccent.Size = UDim2.new(1, 0, 0, 1)

SectionGradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Library.Theme.GradiantContrast),
ColorSequenceKeypoint.new(0.50, Library.Theme.Accent),
ColorSequenceKeypoint.new(1.00, Library.Theme.GradiantContrast)}
SectionGradient.Name = "SectionGradient"
SectionGradient.Parent = SectionAccent;

SectionTitle.Name = "SectionTitle"
SectionTitle.Parent = SectionBorder
SectionTitle.BackgroundColor3 =
Library.Theme.DarkContrast
SectionTitle.BorderColor3 = Library.Theme.Border
SectionTitle.BorderSizePixel = 0
SectionTitle.Position = UDim2.new(0, 10, 0, -3)
SectionTitle.Size = UDim2.new(0, 68, 0, 12)
SectionTitle.FontFace = Library.MenuFont
SectionTitle.Text = Section.Name
SectionTitle.TextColor3 = Library.Theme.ElementOn
SectionTitle.TextSize = Library.TextSize
SectionTitle.TextYAlignment =
Enum.TextYAlignment.Top;

SectionTitle:GetPropertyChangedSignal("TextBounds"):Connect(function()
SectionTitle.Size = UDim2.new(0, 5 +
SectionTitle.TextBounds.X, 0, 14)
end);
end;

do --// Section Functions

--// Button
function Section:Button(Data)
local Button = {
Callback = Data.Callback,
ParentSection = Section,
Name = Data.Name,
Frame = nil;
};

local NewButton = Instance.new("Frame")


local ActualButton = Instance.new("TextButton")

Button.Frame = NewButton;
do --// Button element properties
NewButton.Name = "NewButton"
NewButton.Parent = SectionInner
NewButton.BackgroundColor3 =
Library.Theme.LightContrast
NewButton.BorderColor3 =
Library.Theme.Border
NewButton.Position = UDim2.new(0, 2, 0,
Section.Bounds)
NewButton.Size = UDim2.new(1, -4, 0, 18)

ActualButton.Name = "ActualButton"
ActualButton.Parent = NewButton
ActualButton.BackgroundColor3 =
Library.Theme.MedianContrast
ActualButton.BorderColor3 =
Library.Theme.Border
ActualButton.Position = UDim2.new(0, 2, 0,
2)
ActualButton.Size = UDim2.new(1, -4, 1, -4)
ActualButton.AutoButtonColor = false
ActualButton.FontFace = Library.MenuFont
ActualButton.TextColor3 =
Library.Theme.ElementOn
ActualButton.TextSize = Library.TextSize
ActualButton.Text = Button.Name
ActualButton.TextYAlignment =
Enum.TextYAlignment.Center
end;

--// Button functions


do

ActualButton.MouseButton1Down:Connect(function()
if Button.Callback then
pcall(Button.Callback) end;
Library:Tween(ActualButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1)
Library:Tween(ActualButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);

ActualButton.MouseEnter:Connect(function()
Library:Tween(NewButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
end);

ActualButton.MouseLeave:Connect(function()
Library:Tween(NewButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
end);
end;
Section.Bounds = Section.Bounds + 23
SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);
end;

--// Textbox
function Section:Textbox(Data)
local TextBox = {
Value = "";
Frame = nil;
};

TextBox.Value = Data.Default or "";


TextBox.Name = Data.Name;

local NewTextbox = Instance.new("Frame")


local TextboxInp = Instance.new("TextBox")

TextBox.Frame = NewTextbox;

do --// Properties
Library.Flags[Data.Flag] = TextBox.Value;

NewTextbox.Name = "NewTextbox"
NewTextbox.Parent = SectionInner
NewTextbox.BackgroundColor3 =
Library.Theme.LightContrast
NewTextbox.BorderColor3 = Color3.fromRGB(0,
0, 0)
NewTextbox.BorderSizePixel = 1
NewTextbox.Position = UDim2.new(0, 1, 0,
Section.Bounds)
NewTextbox.Size = UDim2.new(1, -4, 0, 18);

TextboxInp.Name = "TextboxInp"
TextboxInp.Parent = NewTextbox
TextboxInp.BackgroundColor3 =
Library.Theme.MedianContrast
TextboxInp.BorderColor3 = Color3.fromRGB(0,
0, 0)
TextboxInp.BorderSizePixel = 1
TextboxInp.Position = UDim2.new(0, 2, 0, 2)
TextboxInp.Size = UDim2.new(1, -4, 1, -4)
TextboxInp.FontFace = Library.MenuFont
TextboxInp.PlaceholderColor3 =
Library.Theme.ElementOff
TextboxInp.Text = Data.Name;
TextboxInp.TextColor3 =
Library.Theme.ElementOff
TextboxInp.TextSize = Library.TextSize

TextboxInp.ClipsDescendants = true
end;

do --// Functions
function TextBox:Set(Value)
TextBox.Value = Value;
end;

TextboxInp.MouseEnter:Connect(function()
Library:Tween(NewTextbox,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
Library:Tween(TextboxInp,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
end);

TextboxInp.MouseLeave:Connect(function()
Library:Tween(NewTextbox,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
Library:Tween(TextboxInp,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
end);

TextboxInp.Focused:Connect(function()
Library:Tween(TextboxInp,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1);
Library:Tween(TextboxInp,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);

TextboxInp.FocusLost:Connect(function(IsEnter, Inpt)
Library:Tween(TextboxInp,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1);
Library:Tween(TextboxInp,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});

TextBox:Set(TextboxInp.Text)
end);

TextboxInp:GetPropertyChangedSignal("Text"):Connect(function()
TextBox:Set(TextboxInp.Text);
end);
end;

Section.Bounds = Section.Bounds + 20;


SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);
Library.Flags[Data.Flag] = TextBox;
return TextBox;
end;

--// Toggle
function Section:Toggle(Data)
local Toggle = {
Flag = Data.Flag;
Name = Data.Name;
Value = false;
Callback = Data.Callback or function() end;
Risky = Data.Risky;
Default = Data.Default;
Frame = nil;
};

local NewToggle = Instance.new("TextButton")


local ButtonOutline = Instance.new("Frame")
local ButtonInner = Instance.new("Frame")
local ToggleGradient =
Instance.new("UIGradient")
local ToggleTitle = Instance.new("TextLabel");
local Items = Instance.new("Frame");

Toggle.Frame = NewToggle;

do --// Toggle properties


NewToggle.Name = "NewToggle"
NewToggle.Parent = SectionInner
NewToggle.BackgroundColor3 =
Library.Theme.ElementOn
NewToggle.BackgroundTransparency = 1.000
NewToggle.BorderColor3 =
Library.Theme.Border
NewToggle.BorderSizePixel = 0
NewToggle.Position = UDim2.new(0, 2, 0,
Section.Bounds)
NewToggle.Size = UDim2.new(1, -4, 0, 18)
NewToggle.FontFace = Library.MenuFont
NewToggle.Text = ""
NewToggle.TextColor3 = Library.Theme.Border
NewToggle.TextSize = Library.TextSize
NewToggle.ZIndex = Window.ImportantIndex;

Window.ImportantIndex =
Window.ImportantIndex-1

ButtonOutline.Name = "ButtonOutline"
ButtonOutline.Parent = NewToggle
ButtonOutline.BackgroundColor3 =
Library.Theme.LightContrast
ButtonOutline.BorderColor3 =
Library.Theme.Border
ButtonOutline.Size = UDim2.new(0, 18, 0,
18)

ButtonInner.Name = "ButtonInner"
ButtonInner.Parent = ButtonOutline
ButtonInner.BackgroundColor3 =
Library.Theme.MedianContrast;
ButtonInner.BorderColor3 =
Library.Theme.Border
ButtonInner.Position = UDim2.new(0, 2, 0,
2)
ButtonInner.Size = UDim2.new(1, -4, 1, -4)

ToggleGradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Library.Theme.Accent),
ColorSequenceKeypoint.new(1.00, Library.Theme.GradiantContrast2)}
ToggleGradient.Rotation = 90
ToggleGradient.Name = "ToggleGradient"
ToggleGradient.Parent = ButtonInner
ToggleGradient.Enabled = false;

ToggleTitle.Name = "ToggleTitle"
ToggleTitle.Parent = NewToggle
ToggleTitle.BackgroundColor3 =
Library.Theme.ElementOn
ToggleTitle.BackgroundTransparency = 1.000
ToggleTitle.BorderColor3 =
Library.Theme.Border
ToggleTitle.BorderSizePixel = 0
ToggleTitle.Position = UDim2.new(0, 23, 0,
2)
ToggleTitle.Size = UDim2.new(0, 176, 0, 16)
ToggleTitle.FontFace = Library.MenuFont
ToggleTitle.Text = Toggle.Name;

if not Toggle.Risky then


ToggleTitle.TextColor3 =
Library.Theme.ElementOff
else
ToggleTitle.TextColor3 =
Library.Theme.RiskyOff;
end;
ToggleTitle.TextSize = Library.TextSize
ToggleTitle.TextXAlignment =
Enum.TextXAlignment.Left

--// Toggle items (keybinds, colorpickers,


etc)
do
Items.Parent = NewToggle;
Items.Size = UDim2.new(0, 40, 0, 14);
Items.Position = UDim2.new(1, -42, 0,
0);
Items.BackgroundTransparency = 1;

local ItemsLayout =
Instance.new("UIListLayout", Items);
ItemsLayout.FillDirection =
Enum.FillDirection.Horizontal;
ItemsLayout.HorizontalAlignment =
Enum.HorizontalAlignment.Right;
ItemsLayout.Padding = UDim.new(0, 3)
local ItemsPadding =
Instance.new("UIPadding", Items);
ItemsPadding.PaddingRight = UDim.new(0,
-1);
end;
end;

do --// Toggle functions

function Toggle:Set(Value)

Toggle.Value = Value;

if Toggle.Value then
ToggleGradient.Enabled = true;
Library:Tween(ButtonInner,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Color3.fromRGB(255, 255, 255)});
if not Toggle.Risky then
Library:Tween(ToggleTitle,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
else
Library:Tween(ToggleTitle,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.RiskyOn});
end;
else
task.spawn(function()
local NewTween =
Library:Tween(ButtonInner, TweenInfo.new(0.1, Enum.EasingStyle.Quad,
Enum.EasingDirection.Out), {BackgroundColor3 = Library.Theme.MedianContrast});
NewTween.Completed:Wait();
ToggleGradient.Enabled = false;
end);
if not Toggle.Risky then
Library:Tween(ToggleTitle,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
else
Library:Tween(ToggleTitle,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.RiskyOff});
end;
end;
if Toggle.Callback then
pcall(Toggle.Callback) end;
end;

NewToggle.MouseButton1Down:Connect(function()
Toggle:Set(not Toggle.Value);
end);

NewToggle.MouseEnter:Connect(function()
if not Toggle.Risky then
Library:Tween(ToggleTitle,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
else
Library:Tween(ToggleTitle,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.RiskyOn});
end;

Library:Tween(ButtonOutline,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
end);

NewToggle.MouseLeave:Connect(function()
Library:Tween(ButtonOutline,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
if not Toggle.Value then
if not Toggle.Risky then
Library:Tween(ToggleTitle,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
else
Library:Tween(ToggleTitle,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.RiskyOff});
end;
end
end);

function Toggle:Colorpicker(Data)
local ColorPickerTab = {Color =
Color3.fromRGB(255,255,255), Transparency = 0.1};

local Name = Data.Name;


local Flag = Data.Flag;
local DefaultTransparency =
Data.DefaultTrans or 0.5
if Data.Default == nil then
Data.Default = Color3.fromRGB(255,0,0) end;

--Library.Flags[Data.Flag] = {Set =
nil, Color = Data.Default, Transparency = DefaultTransparency};

ColorPickerTab.IsOpen = false;

local PickerOutline =
Instance.new("Frame")
local PickerButton =
Instance.new("TextButton")

PickerOutline.Name = "PickerOutline"
PickerOutline.Parent = Items
PickerOutline.BackgroundColor3 =
Library.Theme.LightContrast
PickerOutline.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PickerOutline.BorderSizePixel = 1
PickerOutline.Size = UDim2.new(0, 20,
0, 15)

PickerButton.Name = "PickerButton"
PickerButton.Parent = PickerOutline
PickerButton.BackgroundColor3 =
Color3.fromRGB(255, 0, 4)
PickerButton.BorderColor3 =
Color3.fromRGB(0, 0, 0)
PickerButton.BorderSizePixel = 1
PickerButton.Position = UDim2.new(0, 2,
0, 2)
PickerButton.Size = UDim2.new(1, -4, 1,
-4)
PickerButton.FontFace =
Library.MenuFont
PickerButton.Text = ""
PickerButton.TextColor3 =
Color3.fromRGB(0, 0, 0)
PickerButton.TextSize =
Library.TextSize
PickerButton.AutoButtonColor = false;

local IsInColor2 = false;


local IsInColor1 = false;
local IsInTransparency = false;
local ColorFrame, InnerColor,
HueOutline, HuePicker, UIGradient, HuePick, PickerOutline_3, HuePick, ColorPicker,
ColorPick, TOutline, TransparencyPicker, TransparencyColor, TransparencyPick,
TitleFrame, ColorpickerTitle_2, PasteButton, CopyButton, SetBox =
Window:CreateColorpicker(PickerOutline, Data.Name)
local Colors = {}; do
Colors.h =
(math.clamp(HuePick.AbsolutePosition.Y-HuePicker.AbsolutePosition.Y, 0,
HuePicker.AbsoluteSize.Y)/HuePicker.AbsoluteSize.Y)
Colors.s = 1-
(math.clamp(ColorPick.AbsolutePosition.X-ColorPick.AbsolutePosition.X, 0,
ColorPick.AbsoluteSize.X)/ColorPick.AbsoluteSize.X)
Colors.v = 1-
(math.clamp(ColorPick.AbsolutePosition.Y-ColorPick.AbsolutePosition.Y, 0,
ColorPick.AbsoluteSize.Y)/ColorPick.AbsoluteSize.Y)
end;

do --// functions
do --// Buttons

CopyButton.MouseButton1Down:Connect(function()
Library.CopiedColor =
{Color = ColorPickerTab.Color};
Library:Tween(CopyButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1)
Library:Tween(CopyButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);

CopyButton.MouseEnter:Connect(function()
Library:Tween(CopyButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Accent});
end);

CopyButton.MouseLeave:Connect(function()
Library:Tween(CopyButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Border});
end);

PasteButton.MouseButton1Down:Connect(function()
if Library.CopiedColor then

ColorPickerTab:Set({Color = Library.CopiedColor.Color, Transparency =


ColorPickerTab.Transparency}, true);
end;
Library:Tween(PasteButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1)
Library:Tween(PasteButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);

PasteButton.MouseEnter:Connect(function()
Library:Tween(PasteButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Accent});
end);

PasteButton.MouseLeave:Connect(function()
Library:Tween(PasteButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Border});
end);

SetBox.MouseEnter:Connect(function()
Library:Tween(SetBox,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Accent});
end);
SetBox.MouseLeave:Connect(function()
Library:Tween(SetBox,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BorderColor3
= Library.Theme.Border});
end);

SetBox.FocusLost:Connect(function()
local Text = SetBox.Text;
local Split = Text:split(",
");
ColorPickerTab:Set({Color =
Color3.fromRGB(Split[1], Split[2], Split[3]), Transparency =
ColorPickerTab.Transparency});

Library:Tween(SetBox,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Color3.fromRGB(Split[1], Split[2], Split[3])});
task.wait(0.1);
Library:Tween(SetBox,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);
end;

function ColorPickerTab:ToHex(RGB)
local Hexadecimal = "#"

for Key, Value in pairs(RGB) do


local Hex = ""

while(Value > 0)do


local index =
math.fmod(Value, 16) + 1
Value =
math.floor(Value / 16)
Hex =
string.sub("0123456789ABCDEF", index, index) .. Hex
end

if(string.len(Hex) ==
0)then
Hex = "00"

elseif(string.len(Hex) ==
1)then
Hex = "0" .. Hex
end

Hexadecimal =
Hexadecimal .. Hex
end

return Hexadecimal
end;

function
ColorPickerTab:UpdateColor()
local ColorX =
(math.clamp(Mouse.X - ColorPicker.AbsolutePosition.X, 0,
ColorPicker.AbsoluteSize.X)/ColorPicker.AbsoluteSize.X)
local ColorY =
(math.clamp(Mouse.Y - ColorPicker.AbsolutePosition.Y, 0,
ColorPicker.AbsoluteSize.Y)/ColorPicker.AbsoluteSize.Y)
ColorPick.Position =
UDim2.new(ColorX, 0, ColorY, 0)

Colors.s = 1 - ColorX
Colors.v = 1 - ColorY

PickerButton.BackgroundColor3 =
Color3.fromHSV(Colors.h, Colors.s, Colors.v)
ColorPickerTab.Color =
Color3.fromHSV(Colors.h, Colors.s, Colors.v);

local R =
math.floor((ColorPickerTab.Color.R * 255) * 255);
local G =
math.floor((ColorPickerTab.Color.G * 255) * 255);
local B =
math.floor((ColorPickerTab.Color.B * 255) * 255);

local ToRGB =
Color3.fromRGB(math.ceil(R), math.ceil(G), math.ceil(B));
SetBox.Text = tostring(ToRGB);

if Data.Callback then
pcall(Data.Callback) end
end;

function
ColorPickerTab:Set(new_Value, cb)
local NColor, NTransparency =
new_Value.Color, new_Value.Transparency;

ColorPickerTab.Color = NColor;
ColorPickerTab.Transparency = NTransparency;

local duplicate =
Color3.new(new_Value.Color.R, new_Value.Color.G, new_Value.Color.B);
Colors.h, Colors.s, Colors.v =
duplicate:ToHSV()
Colors.h = math.clamp(Colors.h,
0, 1)
Colors.s = math.clamp(Colors.s,
0, 1)
Colors.v = math.clamp(Colors.v,
0, 1)

local R =
math.floor((ColorPickerTab.Color.R * 255) * 255);
local G =
math.floor((ColorPickerTab.Color.G * 255) * 255);
local B =
math.floor((ColorPickerTab.Color.B * 255) * 255);
local ToRGB =
Color3.fromRGB(math.ceil(R), math.ceil(G), math.ceil(B));
SetBox.Text = tostring(ToRGB);

ColorPick.Position =
UDim2.new(1 - Colors.s, 0, 1 - Colors.v, 0)
ColorPicker.ImageColor3 =
Color3.fromHSV(Colors.h, 1, 1)
PickerButton.BackgroundColor3 =
Color3.fromHSV(Colors.h, Colors.s, Colors.v)
HuePick.Position = UDim2.new(0,
0, 1 - Colors.h, -1)
if TransparencyColor then

TransparencyColor.ImageColor3 = Color3.fromHSV(Colors.h, 1, 1)

TransparencyPick.Position =
UDim2.new(ColorPickerTab.Transparency, -1, 0, 0)
end

if Data.Callback then
pcall(Data.Callback) end;

if cb == nil or not cb then

end
end;

function ColorPickerTab:UpdateHue()
local y = math.clamp(Mouse.Y -
HuePicker.AbsolutePosition.Y, 0, 157)
HuePick.Position = UDim2.new(0,
0, 0, y)
local hue = y/157
Colors.h = 1-hue
ColorPicker.ImageColor3 =
Color3.fromHSV(Colors.h, 1, 1)
PickerButton.BackgroundColor3 =
Color3.fromHSV(Colors.h, Colors.s, Colors.v)
if TransparencyColor then

TransparencyColor.ImageColor3 = Color3.fromHSV(Colors.h, 1, 1)
end
ColorPickerTab.Color =
Color3.fromHSV(Colors.h, Colors.s, Colors.v)
local R =
math.floor((ColorPickerTab.Color.R * 255) * 255);
local G =
math.floor((ColorPickerTab.Color.G * 255) * 255);
local B =
math.floor((ColorPickerTab.Color.B * 255) * 255);

local ToRGB =
Color3.fromRGB(math.ceil(R), math.ceil(G), math.ceil(B));
SetBox.Text = tostring(ToRGB);
end;
PickerButton.MouseEnter:Connect(function()
Library:Tween(PickerOutline,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
end);

PickerButton.MouseLeave:Connect(function()
Library:Tween(PickerOutline,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
end);

ColorFrame.MouseEnter:Connect(function()
IsInColor1 = true;
end);

ColorFrame.MouseLeave:Connect(function()
IsInColor1 = false;
end);

TransparencyPicker.MouseEnter:Connect(function()
IsInTransparency = true;
end);

TransparencyPicker.MouseLeave:Connect(function()
IsInTransparency = false;
end);

HuePicker.MouseEnter:Connect(function()
IsInColor2 = true;
end);

HuePicker.MouseLeave:Connect(function()
IsInColor2 = false;
end);

ColorPickerTab.ColorFrame =
ColorFrame

PickerButton.MouseButton1Down:Connect(function()
ColorPickerTab.IsOpen = not
ColorPickerTab.IsOpen;
ColorFrame.Visible =
ColorPickerTab.IsOpen;
if ColorPickerTab.IsOpen then
if
Library.CurrentColorpicker then

Library.CurrentColorpicker.ColorFrame.Visible = false;

Library.CurrentColorpicker.IsOpen = false;
end;

Library.CurrentColorpicker
= ColorPickerTab;

Library.CurrentColorpicker.ColorFrame.Visible = true;
else

Library.CurrentColorpicker.ColorFrame.Visible = false;
Library.CurrentColorpicker
= nil;
end;

end);

UserInputService.InputBegan:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton2 then
if not IsInColor1 and not
IsInColor2 and not IsInTransparency then
ColorFrame.Visible =
false;
ColorPickerTab.IsOpen =
false;
end;
end;
end);

function
ColorPickerTab:UpdateTransparency()
local X = math.clamp(Mouse.X -
TransparencyPicker.AbsolutePosition.X, 0, TransparencyPicker.AbsoluteSize.X)
TransparencyPick.Position =
UDim2.new(0, X, 0, 0)
local NewTransparency =
X/TransparencyPicker.AbsoluteSize.X;

ColorPickerTab.Transparency =
NewTransparency;
if Data.Callback then
pcall(Data.Callback); end;
end;

TransparencyPicker.MouseButton1Down:Connect(function()

ColorPickerTab:UpdateTransparency()
local MoveConn =
Mouse.Move:Connect(function()

ColorPickerTab:UpdateTransparency()
end)
ReleaseConn =
UserInputService.InputEnded:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseButton1 then

ColorPickerTab:UpdateTransparency()
MoveConn:Disconnect()

ReleaseConn:Disconnect()
end
end)

end);

ColorPickerTab.Color =
Color3.fromHSV(Colors.h, Colors.s, Colors.v)

ColorPicker.MouseButton1Down:Connect(function()
ColorPickerTab:UpdateColor()
local MoveConnection =
Mouse.Move:Connect(function()

ColorPickerTab:UpdateColor()
end)
ReleaseConnection =
UserInputService.InputEnded:Connect(function(Mouse)
if Mouse.UserInputType ==
Enum.UserInputType.MouseButton1 then

ColorPickerTab:UpdateColor()

MoveConnection:Disconnect()

ReleaseConnection:Disconnect()
end
end)
end);

HuePicker.MouseButton1Down:Connect(function()
ColorPickerTab:UpdateHue()
local MoveConnection =
Mouse.Move:Connect(function()
ColorPickerTab:UpdateHue()
end)
ReleaseConnection =
UserInputService.InputEnded:Connect(function(Mouse)
if Mouse.UserInputType ==
Enum.UserInputType.MouseButton1 then

ColorPickerTab:UpdateHue()

MoveConnection:Disconnect()

ReleaseConnection:Disconnect()
end
end)
end);
end;

ColorPickerTab:Set({Color =
Data.Default or Color3.fromRGB(255, 255, 255), Transparency = DefaultTransparency},
true)
Library.Flags[Flag] = ColorPickerTab

if Data.Callback then
pcall(Data.Callback) end;
return ColorPicker
end;

function Toggle:Keybind(Data)
local BindOutline_2 =
Instance.new("Frame")

local Keybind = {
Name = Data.Name;
Key = "";
Flag = Data.Flag;
Mode = Data.Mode or "Toggle",
Value = false;
Callback = Data.Callback or
function() end;
IsBeingSelected = false;
Components = BindOutline_2;
Default = Data.Default;
AbKey = "";
};

local KeybindPicker_2 =
Instance.new("TextButton")

BindOutline_2.Name = "BindOutline"
BindOutline_2.Parent = Items
BindOutline_2.BackgroundColor3 =
Library.Theme.LightContrast
BindOutline_2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
BindOutline_2.BorderSizePixel = 1
BindOutline_2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
BindOutline_2.Position = UDim2.new(1, -
23, 0, 0)
BindOutline_2.Size = UDim2.new(0, 20,
0, 15)
BindOutline_2.BackgroundTransparency =
1;

KeybindPicker_2.Name = "KeybindPicker"
KeybindPicker_2.Parent = BindOutline_2
KeybindPicker_2.BackgroundColor3 =
Library.Theme.MedianContrast
KeybindPicker_2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
KeybindPicker_2.BorderSizePixel = 1
KeybindPicker_2.Position = UDim2.new(0,
2, 0, 2)
KeybindPicker_2.Size = UDim2.new(1, -4,
1, -4)
KeybindPicker_2.FontFace =
Library.MenuFont
KeybindPicker_2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
KeybindPicker_2.Text = "[NONE]"
KeybindPicker_2.TextColor3 =
Library.Theme.ElementOff
KeybindPicker_2.TextSize =
Library.TextSize
KeybindPicker_2.AutoButtonColor =
false;
KeybindPicker_2.BackgroundTransparency
= 1;
KeybindPicker_2.TextXAlignment =
Enum.TextXAlignment.Right;

function Keybind:Set(Key, IsMouse)


if not IsMouse then
if Key and (type(Key) ==
"table" or typeof(Key) == "EnumItem") and Key.Name then
Keybind.IsBeingSelected =
true;

if Keys[Key.Name] then
KeybindPicker_2.Text =
"["..Keys[Key.Name].."]";
Keybind.AbKey =
Keys[Key.Name]
else
KeybindPicker_2.Text =
"["..Key.Name:sub(1, 2).."]";

Keybind.AbKey =
Key.Name:sub(1, 2)
end;

if type(Key) == "table" and


Key.Name ~= "" then

Keybind.Key =
Enum.KeyCode[Key.Name];
else
Keybind.Key = Key;
end;
Keybind.IsBeingSelected =
false;
end;
else
if type(Key) == "table" then
Key =
Enum.UserInputType[Key.Name];
end
Keybind.IsBeingSelected = true;
local Shortened = "";
if Key ==
Enum.UserInputType.MouseButton1 then
Shortened = "M1";
elseif Key ==
Enum.UserInputType.MouseButton2 then
Shortened = "M2";
elseif Key ==
Enum.UserInputType.MouseButton3 then
Shortened = "M3";
elseif Key ==
Enum.UserInputType.MouseWheel then
Shortened = "M4";
end;

Keybind.Key = Key;
Keybind.AbKey = Shortened;

KeybindPicker_2.Text =
"["..Shortened.."]";
Keybind.IsBeingSelected = false
end;
end;

KeybindPicker_2.MouseEnter:Connect(function()
Library:Tween(BindOutline_2,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
end);

KeybindPicker_2.MouseLeave:Connect(function()
Library:Tween(BindOutline_2,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
end);

KeybindPicker_2.MouseButton1Down:Connect(function()
task.spawn(function()
Library:Tween(KeybindPicker_2,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1)
Library:Tween(KeybindPicker_2,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);

task.wait(0.1)
KeybindPicker_2.Text = " ..."
Keybind.IsBeingSelected = true;

UserInputService.InputBegan:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.Keyboard and Keybind.IsBeingSelected then
Keybind:Set(Input.KeyCode);
Keybind.IsBeingSelected =
false;
elseif Input.UserInputType ==
Enum.UserInputType.MouseButton1 and Keybind.IsBeingSelected then

Keybind:Set(Enum.UserInputType.MouseButton1, true)
elseif Input.UserInputType ==
Enum.UserInputType.MouseButton2 and Keybind.IsBeingSelected then
Keybind:Set(Enum.UserInputType.MouseButton2, true)
elseif Input.UserInputType ==
Enum.UserInputType.MouseButton3 and Keybind.IsBeingSelected then

Keybind:Set(Enum.UserInputType.MouseButton3, true)
elseif Input.UserInputType ==
Enum.UserInputType.MouseWheel and Keybind.IsBeingSelected then

Keybind:Set(Enum.UserInputType.MouseWheel, true)
else
Keybind.IsBeingSelected =
false;
end;
end);
end);

UserInputService.InputBegan:Connect(function(Input)
if Input.KeyCode == Keybind["Key"]
and not Keybind.IsBeingSelected then
if Keybind["Mode"] == "Toggle"
then
Keybind.Value = not
Keybind.Value;
if Keybind.Name ~=
"Open/Close" and Keybind.Name ~= "Open / Close" then

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
end;
pcall(Keybind.Callback)
elseif Keybind["Mode"] ==
"Hold" then
Keybind.Value = true;
if not
Library.KeybindsContainer:FindFirstChild(Keybind.Name) then

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
end;
pcall(Keybind.Callback)
elseif Keybind["Mode"] ==
"Press" then
pcall(Keybind.Callback)
end
end
end);

UserInputService.InputEnded:Connect(function(Input)
if Input.KeyCode == Keybind["Key"]
and not Keybind.IsBeingSelected then
if Keybind["Mode"] == "Hold"
then
Keybind.Value = false;

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
if Data.Callback then
pcall(Data.Callback) end;
end
end
end);

if Keybind.Default then
Keybind:Set(Keybind.Default);
end;
Library.Flags[Data.Flag] = Keybind;
return Keybind;
end;

function Toggle:MultiSettings(Data)
local Settings = {

};

local Button =
Instance.new("ImageButton");

local ContainerOutline =
Instance.new("Frame");
local Container =
Instance.new("Frame");

do --// properties

end;

do --// functions

end;

return Settings;
end;
end;

Section.Bounds = Section.Bounds + 24;


SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);

if Toggle.Default then
Toggle:Set(Toggle.Default);
end;

Library.Flags[Data.Flag] = Toggle;
return Toggle;
end;

--// Dropdown
function Section:Dropdown(Data)
local Dropdown = {
Name = Data.Name,
Flag = Data.Flag,
Value = nil,
Options = {};
Max = Data.Max or #Data.Options;
IsOpen = false;
Callback = Data.Callback or function() end;
Default = Data.Default;
Frame = nil;
};
local NewDropdown = Instance.new("Frame")
local DropdownOutline = Instance.new("Frame")
local DropdownInner =
Instance.new("TextButton")
local DropdownFlag = Instance.new("TextLabel")
local DropdownStatus =
Instance.new("TextLabel")
local ContainerOutline = Instance.new("Frame")
local Container = Instance.new("Frame")
local ContainerLayout =
Instance.new("UIListLayout")
local DropdownTitle = Instance.new("TextLabel")

Dropdown.Frame = NewDropdown;

do --// Dropdown properties


NewDropdown.Name = "NewDropdown";
NewDropdown.Parent = SectionInner;
NewDropdown.BackgroundColor3 =
Color3.fromRGB(255, 0, 0);
NewDropdown.BackgroundTransparency = 1.000;
NewDropdown.BorderColor3 =
Library.Theme.Border;
NewDropdown.BorderSizePixel = 0;
NewDropdown.Position = UDim2.new(0, 2, 0,
Section.Bounds);
NewDropdown.Size = UDim2.new(1, -4, 0, 32);
NewDropdown.ZIndex = Window.ImportantIndex;

Window.ImportantIndex =
Window.ImportantIndex - 1;

DropdownOutline.Name = "DropdownOutline";
DropdownOutline.Parent = NewDropdown;
DropdownOutline.BackgroundColor3 =
Library.Theme.LightContrast;
DropdownOutline.BorderColor3 =
Library.Theme.Border;
DropdownOutline.Position = UDim2.new(0, 0,
0, 15);
DropdownOutline.Size = UDim2.new(1, 0, 0,
16);

DropdownInner.Name = "DropdownInner";
DropdownInner.Parent = DropdownOutline;
DropdownInner.BackgroundColor3 =
Library.Theme.MedianContrast;
DropdownInner.BorderColor3 =
Library.Theme.Border;
DropdownInner.Position = UDim2.new(0, 2, 0,
2);
DropdownInner.Size = UDim2.new(1, -4, 1, -
4);
DropdownInner.Text = "";

DropdownInner.AutoButtonColor = false;
DropdownFlag.Name = "DropdownFlag";
DropdownFlag.Parent = DropdownInner;
DropdownFlag.BackgroundColor3 =
Library.Theme.ElementOn;
DropdownFlag.BackgroundTransparency =
1.000;
DropdownFlag.BorderColor3 =
Library.Theme.Border;
DropdownFlag.BorderSizePixel = 0;
DropdownFlag.Size = UDim2.new(1, 0, 1, 0);
DropdownFlag.FontFace = Library.MenuFont;
DropdownFlag.Text = "";
DropdownFlag.TextColor3 =
Library.Theme.ElementOn;
DropdownFlag.TextSize = Library.TextSize;

DropdownStatus.Name = "DropdownStatus";
DropdownStatus.Parent = DropdownInner;
DropdownStatus.BackgroundColor3 =
Library.Theme.ElementOn;
DropdownStatus.BackgroundTransparency =
1.000;
DropdownStatus.BorderColor3 =
Library.Theme.Border;
DropdownStatus.BorderSizePixel = 0;
DropdownStatus.Position =
UDim2.new(0.929292917, 0, 0, 1);
DropdownStatus.Size = UDim2.new(0, 14, 1,
0);
DropdownStatus.FontFace = Library.MenuFont;
DropdownStatus.Text = "+";
DropdownStatus.TextColor3 =
Library.Theme.ElementOn;
DropdownStatus.TextSize = Library.TextSize;

ContainerOutline.Name = "ContainerOutline"
ContainerOutline.Parent = DropdownInner
ContainerOutline.BackgroundColor3 =
Library.Theme.LightContrast
ContainerOutline.BorderColor3 =
Library.Theme.Border
ContainerOutline.Position = UDim2.new(0, -
2, 1, 4);
ContainerOutline.ClipsDescendants = true;
ContainerOutline.Size = UDim2.new(1, 4, 0,
0)
ContainerOutline.Visible = false
Dropdown.Container = ContainerOutline;

Container.Name = "Container"
Container.Parent = ContainerOutline
Container.BackgroundColor3 =
Library.Theme.MedianContrast
Container.BorderColor3 =
Library.Theme.Border
Container.Position = UDim2.new(0, 2, 0, 2)
Container.Size = UDim2.new(1, -4, 1, -4)
Container.Visible = true;
ContainerLayout.Parent = Container
ContainerLayout.SortOrder =
Enum.SortOrder.LayoutOrder

DropdownTitle.Name = "DropdownTitle"
DropdownTitle.Parent = NewDropdown
DropdownTitle.BackgroundColor3 =
Library.Theme.ElementOn
DropdownTitle.BackgroundTransparency =
1.000
DropdownTitle.BorderColor3 =
Library.Theme.Border
DropdownTitle.BorderSizePixel = 0
DropdownTitle.Position =
UDim2.new(0.00990098994, 0, 0, 0)
DropdownTitle.Size = UDim2.new(0.990099013,
0, 0, 14)
DropdownTitle.FontFace = Library.MenuFont
DropdownTitle.Text = Data.Name;
DropdownTitle.TextColor3 =
Library.Theme.ElementOn
DropdownTitle.TextSize = Library.TextSize
DropdownTitle.TextXAlignment =
Enum.TextXAlignment.Left
DropdownTitle.TextYAlignment =
Enum.TextYAlignment.Top
end;

do --// Dropdown functions

function Dropdown:Toggle()
Dropdown.IsOpen = not Dropdown.IsOpen;
local SizeToTween;

if Dropdown.IsOpen then
Dropdown.Container.Visible = true;
end;

if Dropdown.Max ~= 1 then
SizeToTween = UDim2.new(1, 4, 0,
(14 * Dropdown.Max) + 4);
else
SizeToTween = UDim2.new(1, 4, 0,
14);
end;

if Dropdown.IsOpen then
if Library.CurrentDropdown then

Library.CurrentDropdown.Container.Visible = false;

Library.CurrentDropdown.Container.Size = UDim2.new(1, 4, 0, 0)
Library.CurrentDropdown.IsOpen
= false;
end;
Library.CurrentDropdown = Dropdown;

Library:Tween(Dropdown.Container,
TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size =
SizeToTween});
else
Library.CurrentDropdown = nil;
Library:Tween(Dropdown.Container,
TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size =
UDim2.new(1, 4, 0, 0)});
task.wait(0.2);
Dropdown.Container.Visible = false;
end;
end;

function Dropdown:Update()
--if Dropdown.Max ~= 1 then
-- ContainerOutline.Size =
UDim2.new(1, 4, 0, (14 * Dropdown.Max) + 4);
--else
-- ContainerOutline.Size =
UDim2.new(1, 4, 0, 14);
--end;
end;

DropdownInner.MouseEnter:Connect(function()
Library:Tween(DropdownOutline,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
end);

DropdownInner.MouseLeave:Connect(function()
Library:Tween(DropdownOutline,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
end);

DropdownInner.MouseButton1Down:Connect(function()
Dropdown:Toggle();
end);

function Dropdown:Set(Value)
if Dropdown.Options[Value] then
Dropdown.Value = Value;
DropdownFlag.Text =
tostring(Value);
Dropdown.Options[Value].IsSelected
= true;

Dropdown.Options[Value].Selector.Visible = true;

Library:Tween(Dropdown.Options[Value].Button, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
end;

for Index, Val in


pairs(Dropdown.Options) do
if Val ~= Dropdown.Options[Value]
then
Val.IsSelected = false;
Val.Selector.Visible = false;
Library:Tween(Val.Button,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Library.Theme.ElementOff});
end;
end;

if Dropdown.Callback then
pcall(Dropdown.Callback); end;
end;

function Dropdown:AddOption(Name)
local NewOption =
Instance.new("TextButton")
local Frame = Instance.new("Frame")

local Option = {
Name = Name;
IsSelected = false;
Selector = Frame;
Button = NewOption;
};

NewOption.Name = "NewOption"
NewOption.Parent = Container
NewOption.BackgroundColor3 =
Library.Theme.ElementOff
NewOption.BackgroundTransparency =
1.000
NewOption.BorderColor3 =
Library.Theme.Border
NewOption.BorderSizePixel = 0
NewOption.Size = UDim2.new(1, 0, 0, 14)
NewOption.FontFace = Library.MenuFont
NewOption.Text = Name;
NewOption.TextColor3 =
Library.Theme.ElementOff;
NewOption.TextSize = Library.TextSize

Frame.Parent = NewOption
Frame.BackgroundColor3 =
Library.Theme.Accent
Frame.BorderColor3 =
Library.Theme.Border
Frame.BorderSizePixel = 0
Frame.Size = UDim2.new(0, 2, 1, 0);
Frame.Visible = false;

NewOption.MouseButton1Down:Connect(function()
Option.IsSelected = not
Option.IsSelected

for Index, Value in next,


Dropdown.Options do
if Value ~= Option then
Value.IsSelected = false;
Library:Tween(Value.Button,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Library.Theme.ElementOff});
Value.Selector.Visible =
false;
end;
end;
if Option.IsSelected then
Dropdown:Set(Option.Name);
else
Frame.Visible = false;
Library:Tween(NewOption,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Library.Theme.ElementOff});
end;
end);
Dropdown.Options[Option.Name] = Option;

return Option;
end;

function Dropdown:RemoveOption(Name)
if Dropdown.Options[Name] then

Dropdown.Options[Name].Button:Destroy();
Dropdown.Options[Name] = nil;
end;
end;
end;

for Index, Value in next, Data.Options do


Dropdown:AddOption(Value);
end;

Section.Bounds = Section.Bounds + 37;


SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);

if Dropdown.Default then
Dropdown:Set(Dropdown.Default);
else
Dropdown:Set(Data.Options[1])
end;

Library.Flags[Data.Flag] = Dropdown;
return Dropdown;
end;

--// Keybind
function Section:Keybind(Data)
local Keybind = {
Name = Data.Name;
Key = "";
Flag = Data.Flag;
Mode = Data.Mode or "Toggle",
IsEnabled = false;
Callback = Data.Callback or function() end;
IsBeingSelected = false;
Default = Data.Default;
Components = nil;
Frame = nil;
AbKey = "";
};

local NewKeybind = Instance.new("Frame")


local KeybindTitle = Instance.new("TextLabel");
local BindOutline_2 = Instance.new("Frame")
local KeybindPicker_2 =
Instance.new("TextButton")

Keybind.Components = BindOutline_2;
Keybind.Frame = NewKeybind;

do --// Properties
NewKeybind.Name = "NewKeybind"
NewKeybind.Parent = SectionInner
NewKeybind.BackgroundColor3 =
Color3.fromRGB(255, 0, 4)
NewKeybind.BackgroundTransparency = 1.000
NewKeybind.BorderColor3 = Color3.fromRGB(0,
0, 0)
NewKeybind.BorderSizePixel = 0
NewKeybind.Size = UDim2.new(1, 0, 0, 15)
NewKeybind.Position = UDim2.new(0, 2, 0,
Section.Bounds);

KeybindTitle.Name = "KeybindTitle"
KeybindTitle.Parent = NewKeybind
KeybindTitle.BackgroundColor3 =
Library.Theme.ElementOn
KeybindTitle.BackgroundTransparency = 1.000
KeybindTitle.BorderColor3 =
Color3.fromRGB(0, 0, 0)
KeybindTitle.BorderSizePixel = 0
KeybindTitle.Position = UDim2.new(0, 1, 0,
0)
KeybindTitle.Size = UDim2.new(0.875706196,
0, 1, 0)
KeybindTitle.FontFace = Library.MenuFont
KeybindTitle.Text = Data.Name
KeybindTitle.TextColor3 =
Library.Theme.ElementOn
KeybindTitle.TextSize = Library.TextSize
KeybindTitle.TextXAlignment =
Enum.TextXAlignment.Left

BindOutline_2.Name = "BindOutline"
BindOutline_2.Parent = NewKeybind
BindOutline_2.BackgroundColor3 =
Library.Theme.LightContrast
BindOutline_2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
BindOutline_2.BorderSizePixel = 1
BindOutline_2.Position = UDim2.new(1, -23,
0, 0)
BindOutline_2.Size = UDim2.new(0, 20, 0,
15)
BindOutline_2.BackgroundTransparency = 1;

KeybindPicker_2.Name = "KeybindPicker"
KeybindPicker_2.Parent = BindOutline_2
KeybindPicker_2.BackgroundColor3 =
Library.Theme.MedianContrast
KeybindPicker_2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
KeybindPicker_2.BorderSizePixel = 1
KeybindPicker_2.Position = UDim2.new(0, 2,
0, 2)
KeybindPicker_2.Size = UDim2.new(1, -4, 1,
-4)
KeybindPicker_2.FontFace = Library.MenuFont
KeybindPicker_2.Text = "[NONE]"
KeybindPicker_2.TextColor3 =
Library.Theme.ElementOn
KeybindPicker_2.TextSize = Library.TextSize
KeybindPicker_2.AutoButtonColor = false;
KeybindPicker_2.BackgroundTransparency = 1;

KeybindPicker_2.TextXAlignment =
Enum.TextXAlignment.Right;
end;

do --// Functions
function Keybind:Set(Key, IsMouse)
if not IsMouse then
if Key and (type(Key) == "table" or
typeof(Key) == "EnumItem") and Key.Name then
Keybind.IsBeingSelected = true;

if Keys[Key.Name] then
KeybindPicker_2.Text =
"["..Keys[Key.Name].."]";
Keybind.AbKey =
Keys[Key.Name]
else
KeybindPicker_2.Text =
"["..Key.Name:sub(1, 2).."]";

Keybind.AbKey =
Key.Name:sub(1, 2)
end;

if type(Key) == "table" and


Key.Name ~= "" then

Keybind.Key =
Enum.KeyCode[Key.Name];
else
Keybind.Key = Key;
end;
Keybind.IsBeingSelected =
false;
end;
else
if type(Key) == "table" then
Key =
Enum.UserInputType[Key.Name];
end
Keybind.IsBeingSelected = true;
local Shortened = "";
if Key ==
Enum.UserInputType.MouseButton1 then
Shortened = "M1";
elseif Key ==
Enum.UserInputType.MouseButton2 then
Shortened = "M2";
elseif Key ==
Enum.UserInputType.MouseButton3 then
Shortened = "M3";
elseif Key ==
Enum.UserInputType.MouseWheel then
Shortened = "M4";
end;

Keybind.Key = Key;
Keybind.AbKey = Shortened;

KeybindPicker_2.Text =
"["..Shortened.."]";
Keybind.IsBeingSelected = false
end;
end;

KeybindPicker_2.MouseEnter:Connect(function()
Library:Tween(BindOutline_2,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
end);

KeybindPicker_2.MouseLeave:Connect(function()
Library:Tween(BindOutline_2,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
end);

KeybindPicker_2.MouseButton1Down:Connect(function()
task.spawn(function()
Library:Tween(KeybindPicker_2,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
task.wait(0.1)
Library:Tween(KeybindPicker_2,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.MedianContrast});
end);

task.wait(0.1)
KeybindPicker_2.Text = " ..."
Keybind.IsBeingSelected = true;

UserInputService.InputBegan:Connect(function(Input)
if Input.UserInputType ==
Enum.UserInputType.Keyboard and Keybind.IsBeingSelected then
Keybind:Set(Input.KeyCode);
Keybind.IsBeingSelected =
false;
elseif Input.UserInputType ==
Enum.UserInputType.MouseButton1 and Keybind.IsBeingSelected then

Keybind:Set(Enum.UserInputType.MouseButton1, true)
elseif Input.UserInputType ==
Enum.UserInputType.MouseButton2 and Keybind.IsBeingSelected then

Keybind:Set(Enum.UserInputType.MouseButton2, true)
elseif Input.UserInputType ==
Enum.UserInputType.MouseButton3 and Keybind.IsBeingSelected then

Keybind:Set(Enum.UserInputType.MouseButton3, true)
elseif Input.UserInputType ==
Enum.UserInputType.MouseWheel and Keybind.IsBeingSelected then

Keybind:Set(Enum.UserInputType.MouseWheel, true)
else
Keybind.IsBeingSelected =
false;
end;
end);
end);

UserInputService.InputBegan:Connect(function(Input)
if Input.KeyCode == Keybind["Key"] and
not Keybind.IsBeingSelected then
if Keybind["Mode"] == "Toggle" then
Keybind.Value = not
Keybind.Value;
if Keybind.Name ~= "Open/Close"
and Keybind.Name ~= "Open / Close" then

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
end;
pcall(Keybind.Callback)
elseif Keybind["Mode"] == "Hold"
then
Keybind.Value = true;
if not
Library.KeybindsContainer:FindFirstChild(Keybind.Name) then

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
end;
pcall(Keybind.Callback)
elseif Keybind["Mode"] == "Press"
then
pcall(Keybind.Callback)
end
end

if Input.UserInputType ==
Keybind["Key"] and not Keybind.IsBeingSelected then
if Keybind["Mode"] == "Toggle" then
Keybind.Value = not
Keybind.Value;
if Keybind.Name ~= "Open/Close"
and Keybind.Name ~= "Open / Close" then

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
end;
pcall(Keybind.Callback)
elseif Keybind["Mode"] == "Hold"
then
Keybind.Value = true;
if not
Library.KeybindsContainer:FindFirstChild(Keybind.Name) then

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
end;
pcall(Keybind.Callback)
elseif Keybind["Mode"] == "Press"
then
pcall(Keybind.Callback)
end
end
end);

UserInputService.InputEnded:Connect(function(Input)
if Input.KeyCode == Keybind["Key"] and
not Keybind.IsBeingSelected then
if Keybind["Mode"] == "Hold" then
Keybind.Value = false;

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
if Data.Callback then
pcall(Data.Callback) end;
end
end

if Input.UserInputType ==
Keybind["Key"] and not Keybind.IsBeingSelected then
if Keybind["Mode"] == "Hold" then
Keybind.Value = false;

Library:ToggleBind(Keybind.Name, Keybind.AbKey);
pcall(Keybind.Callback)
end
end
end);
end;

if Keybind.Default then
Keybind:Set(Keybind.Default);
end;

Library.Flags[Data.Flag] = Keybind;
Section.Bounds = Section.Bounds + 20;
SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);
return Keybind;
end

--// Slider
function Section:Slider(Data)
local Slider = {
Min = Data.Min,
Max = Data.Max,
Default = Data.Default or Data.Max / 2,
Flag = Data.Flag,
Suffix = Data.Suffix or "",
Value = 0,
Name = Data.Name,
AllowDecimals = Data.AllowDecimals,
Callback = Data.Callback or function() end;
Frame = nil;

};
local NewSlider = Instance.new("Frame")
local SliderTitle = Instance.new("TextLabel")
local SliderOutline = Instance.new("Frame")
local SliderInner = Instance.new("ImageButton")
local SliderButton = Instance.new("ImageLabel")
local SliderGradient =
Instance.new("UIGradient")
local TextLabel = Instance.new("TextLabel");

local SliderPlus = Instance.new("TextButton");


local SliderMinus = Instance.new("TextButton");

Slider.Frame = NewSlider;
do --// Slider properties
NewSlider.Name = "NewSlider"
NewSlider.Parent = SectionInner
NewSlider.BackgroundColor3 =
Color3.fromRGB(75, 75, 75)
NewSlider.BackgroundTransparency = 1.000
NewSlider.BorderColor3 =
Library.Theme.Border
NewSlider.Position = UDim2.new(0, 2, 0,
Section.Bounds)
NewSlider.Size = UDim2.new(1, -4, 0, 30)

SliderMinus.Parent = NewSlider;
SliderMinus.Text = "-";
SliderMinus.Size = UDim2.new(0, 5, 0, 9);
SliderMinus.Position = UDim2.new(1, -7, 0,
0);
SliderMinus.BackgroundTransparency = 1;
SliderMinus.FontFace = Library.MenuFont;
SliderMinus.TextSize = Library.TextSize;
SliderMinus.TextColor3 =
Color3.fromRGB(150, 150, 150);

SliderPlus.BackgroundTransparency = 1;
SliderPlus.Text = "+";
SliderPlus.Parent = NewSlider;
SliderPlus.FontFace = Library.MenuFont;
SliderPlus.TextSize = Library.TextSize
SliderPlus.TextColor3 = Color3.fromRGB(150,
150, 150);
SliderPlus.Position = UDim2.new(1, -20, 0,
0);
SliderPlus.Size = UDim2.new(0, 5, 0, 9);

SliderTitle.Name = "SliderTitle"
SliderTitle.Parent = NewSlider
SliderTitle.BackgroundColor3 =
Library.Theme.ElementOn
SliderTitle.BackgroundTransparency = 1.000
SliderTitle.BorderColor3 =
Library.Theme.Border
SliderTitle.BorderSizePixel = 0
SliderTitle.Position =
UDim2.new(0.00990098994, 0, 0, 0)
SliderTitle.Size = UDim2.new(0, 118, 0, 12)
SliderTitle.FontFace = Library.MenuFont
SliderTitle.Text = Slider.Name;
SliderTitle.TextColor3 =
Library.Theme.ElementOn
SliderTitle.TextSize = Library.TextSize
SliderTitle.TextXAlignment =
Enum.TextXAlignment.Left

SliderOutline.Name = "SliderOutline"
SliderOutline.Parent = NewSlider
SliderOutline.BackgroundColor3 =
Library.Theme.LightContrast
SliderOutline.BorderColor3 =
Library.Theme.Border
SliderOutline.Position = UDim2.new(0, 0, 0,
15)
SliderOutline.Size = UDim2.new(1, 0, 0, 14)

SliderInner.Name = "SliderInner"
SliderInner.Parent = SliderOutline
SliderInner.BackgroundColor3 =
Library.Theme.MedianContrast
SliderInner.BorderColor3 =
Library.Theme.Border
SliderInner.Position = UDim2.new(0, 2, 0,
2)
SliderInner.Size = UDim2.new(1, -4, 1, -4)
SliderInner.AutoButtonColor = false

SliderButton.Name = "SliderButton"
SliderButton.Parent = SliderInner
SliderButton.BackgroundColor3 =
Library.Theme.ElementOn
SliderButton.BorderColor3 =
Library.Theme.Border
SliderButton.BorderSizePixel = 0
SliderButton.Size = UDim2.new(1, 0, 1, 0)

SliderGradient.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0.00, Library.Theme.Accent),
ColorSequenceKeypoint.new(1.00, Library.Theme.GradiantContrast2)}
SliderGradient.Rotation = 90
SliderGradient.Name = "SliderGradient"
SliderGradient.Parent = SliderButton

TextLabel.Parent = SliderInner
TextLabel.BackgroundColor3 =
Library.Theme.ElementOn
TextLabel.BackgroundTransparency = 1.000
TextLabel.BorderColor3 =
Library.Theme.Border
TextLabel.BorderSizePixel = 0
TextLabel.Size = UDim2.new(1, 0, 1, 0)
TextLabel.FontFace = Library.MenuFont
TextLabel.Visible = false;
TextLabel.Text = tostring(Data.Default);
TextLabel.TextColor3 =
Library.Theme.ElementOff
TextLabel.TextSize = Library.TextSize
TextLabel.TextYAlignment =
Enum.TextYAlignment.Top
TextLabel.TextStrokeTransparency = 0;
end;

do --// Slider functions


local isMouseIn = false;
local isSliding = false;
--local Value = {Slider = Default}

SliderPlus.MouseButton1Down:Connect(function()
local NewValue = Slider.Value;
if Slider.AllowDecimals then
NewValue = Slider.Value + (1 /
Slider.AllowDecimals);
if NewValue <= Slider.Max then
Slider:Set(NewValue);

end;
else
if (NewValue + 1) <= Slider.Max
then
Slider:Set(NewValue + 1);
end;
end;
end);

SliderMinus.MouseButton1Down:Connect(function()
local NewValue = Slider.Value
if Slider.AllowDecimals then
NewValue = Slider.Value - (1 /
Slider.AllowDecimals);
if NewValue >= Slider.Min then
Slider:Set(NewValue);
end;
else
if (NewValue - 1) >= Slider.Min
then
Slider:Set(NewValue - 1);
end;
end;
end);

SliderInner.MouseEnter:Connect(function()
Library:Tween(SliderOutline,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
Library:Tween(TextLabel,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
end);

SliderInner.MouseLeave:Connect(function()
Library:Tween(SliderOutline,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
Library:Tween(TextLabel,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
end);

function Slider:Set(NewValue)
if Slider.AllowDecimals then
--// This is stupid, i know, but,
it works really well especially since you would get random decimals
like .0000000000003
local Value = (1 /
Slider.AllowDecimals) * math.floor(NewValue / (1 / Slider.AllowDecimals));
local Total =
string.len(Slider.Suffix) + Slider.AllowDecimals +
string.len(tostring(Slider.Max));

Value = string.sub(tostring(Value),
1, Total);
NewValue = tonumber(Value);
else
NewValue = math.floor(NewValue);
end;

Slider.Value = NewValue;

local Size = (NewValue - Data.Min) /


(Data.Max-Data.Min);
SliderButton.Size = UDim2.new(Size, 0,
1, 0);
SliderTitle.Text = Slider.Name..":
"..tostring(NewValue)..Slider.Suffix;
TextLabel.Text =
tostring(NewValue)..Slider.Suffix;
if Slider.Callback then
pcall(Slider.Callback) end;
end;

SliderInner.MouseButton1Down:Connect(function()
SliderButton.Size = UDim2.new(0,
math.clamp(Mouse.X - SliderInner.AbsolutePosition.X, 0,
math.floor(SliderInner.AbsoluteSize.X)), 1, 0);
local Val = ((((Data.Max - Data.Min) /
math.floor(SliderInner.AbsoluteSize.X)) * math.floor(SliderButton.AbsoluteSize.X))
+ Data.Min);

if Val then
Slider:Set(Val);

if Data.Callback then
pcall(Data.Callback) end;
end

isSliding = true;

MoveConn =
Mouse.Move:Connect(function()
SliderButton.Size = UDim2.new(0,
math.clamp(Mouse.X - SliderInner.AbsolutePosition.X, 0,
math.floor(SliderInner.AbsoluteSize.X)), 1, 0);
local Val = ((((Data.Max -
Data.Min) / math.floor(SliderInner.AbsoluteSize.X)) *
math.floor(SliderButton.AbsoluteSize.X)) + Data.Min);
if Val then
Slider:Set(Val);
if Data.Callback then
pcall(Data.Callback) end;
end
end);

ReleaseConn =
UserInputService.InputEnded:Connect(function(Inp)
if Inp.UserInputType ==
Enum.UserInputType.MouseButton1 then
SliderButton.Size =
UDim2.new(0, math.clamp(Mouse.X - SliderInner.AbsolutePosition.X,
0,math.floor(SliderInner.AbsoluteSize.X)), 1, 0);
local Val = ((((Data.Max -
Data.Min) / math.floor(SliderInner.AbsoluteSize.X)) *
math.floor(SliderButton.AbsoluteSize.X)) + Data.Min);
if Val then
Slider:Set(Val);
if Data.Callback then
pcall(Data.Callback) end;
end

isSliding = false;
ReleaseConn:Disconnect();
MoveConn:Disconnect();
end
end);
end)
end;

Section.Bounds = Section.Bounds + 35;


SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);

Slider:Set(Slider.Default)
Library.Flags[Data.Flag] = Slider;

if Slider.Callback then pcall(Slider.Callback)


end;
return Slider
end;
--// Multi list
function Section:Multidropdown(Data)
local Dropdown = {
Name = Data.Name,
Flag = Data.Flag,
Value = {},
Options = {};
Max = Data.Max or #Data.Options;
IsOpen = false;
Multi = true;
Default = Data.Default;
Frame = nil;
};
local NewDropdown = Instance.new("Frame")
local DropdownOutline = Instance.new("Frame")
local DropdownInner =
Instance.new("TextButton")
local DropdownFlag = Instance.new("TextLabel")
local DropdownStatus =
Instance.new("TextLabel")
local ContainerOutline = Instance.new("Frame")
local Container = Instance.new("Frame")
local ContainerLayout =
Instance.new("UIListLayout")
local DropdownTitle = Instance.new("TextLabel")

Dropdown.Frame = NewDropdown;

do --// Dropdown properties


NewDropdown.Name = "NewDropdown"
NewDropdown.Parent = SectionInner
NewDropdown.BackgroundColor3 =
Color3.fromRGB(255, 0, 0)
NewDropdown.BackgroundTransparency = 1.000
NewDropdown.BorderColor3 =
Library.Theme.Border
NewDropdown.BorderSizePixel = 0
NewDropdown.Position = UDim2.new(0, 2, 0,
Section.Bounds)
NewDropdown.Size = UDim2.new(1, -4, 0, 32)
NewDropdown.ZIndex = Window.ImportantIndex;

Window.ImportantIndex =
Window.ImportantIndex - 1;

DropdownOutline.Name = "DropdownOutline"
DropdownOutline.Parent = NewDropdown
DropdownOutline.BackgroundColor3 =
Library.Theme.LightContrast
DropdownOutline.BorderColor3 =
Library.Theme.Border
DropdownOutline.Position = UDim2.new(0, 0,
0, 15)
DropdownOutline.Size = UDim2.new(1, 0, 0,
16)

DropdownInner.Name = "DropdownInner"
DropdownInner.Parent = DropdownOutline
DropdownInner.BackgroundColor3 =
Library.Theme.MedianContrast
DropdownInner.BorderColor3 =
Library.Theme.Border
DropdownInner.Position = UDim2.new(0, 2, 0,
2)
DropdownInner.Size = UDim2.new(1, -4, 1, -
4)
DropdownInner.Text = "";

DropdownInner.AutoButtonColor = false;

DropdownFlag.Name = "DropdownFlag"
DropdownFlag.Parent = DropdownInner
DropdownFlag.BackgroundColor3 =
Library.Theme.ElementOn
DropdownFlag.BackgroundTransparency = 1.000
DropdownFlag.BorderColor3 =
Library.Theme.Border
DropdownFlag.BorderSizePixel = 0
DropdownFlag.Size = UDim2.new(1, 0, 1, 0)
DropdownFlag.FontFace = Library.MenuFont
DropdownFlag.Text = "";
DropdownFlag.TextColor3 =
Library.Theme.ElementOn
DropdownFlag.TextSize = Library.TextSize

DropdownStatus.Name = "DropdownStatus"
DropdownStatus.Parent = DropdownInner
DropdownStatus.BackgroundColor3 =
Library.Theme.ElementOn
DropdownStatus.BackgroundTransparency =
1.000
DropdownStatus.BorderColor3 =
Library.Theme.Border
DropdownStatus.BorderSizePixel = 0
DropdownStatus.Position =
UDim2.new(0.929292917, 0, -0.166666672, 0)
DropdownStatus.Size = UDim2.new(0, 14, 0,
14)
DropdownStatus.FontFace = Library.MenuFont
DropdownStatus.Text = "+"
DropdownStatus.TextColor3 =
Library.Theme.ElementOn
DropdownStatus.TextSize = Library.TextSize

ContainerOutline.Name = "ContainerOutline"
ContainerOutline.Parent = DropdownInner
ContainerOutline.BackgroundColor3 =
Library.Theme.LightContrast
ContainerOutline.BorderColor3 =
Library.Theme.Border
ContainerOutline.Position = UDim2.new(0, -
2, 1, 4);
ContainerOutline.ClipsDescendants = true;
ContainerOutline.Size = UDim2.new(1, 4, 0,
0);

ContainerOutline.Visible = false
Dropdown.Container = ContainerOutline;

Container.Name = "Container"
Container.Parent = ContainerOutline
Container.BackgroundColor3 =
Library.Theme.MedianContrast
Container.BorderColor3 =
Library.Theme.Border
Container.Position = UDim2.new(0, 2, 0, 2)
Container.Size = UDim2.new(1, -4, 1, -4)
Container.Visible = true;

ContainerLayout.Parent = Container
ContainerLayout.SortOrder =
Enum.SortOrder.LayoutOrder

DropdownTitle.Name = "DropdownTitle"
DropdownTitle.Parent = NewDropdown
DropdownTitle.BackgroundColor3 =
Library.Theme.ElementOn
DropdownTitle.BackgroundTransparency =
1.000
DropdownTitle.BorderColor3 =
Library.Theme.Border
DropdownTitle.BorderSizePixel = 0
DropdownTitle.Position =
UDim2.new(0.00990098994, 0, 0, 0)
DropdownTitle.Size = UDim2.new(0.990099013,
0, 0, 14)
DropdownTitle.FontFace = Library.MenuFont
DropdownTitle.Text = Data.Name;
DropdownTitle.TextColor3 =
Library.Theme.ElementOn
DropdownTitle.TextSize = Library.TextSize
DropdownTitle.TextXAlignment =
Enum.TextXAlignment.Left
DropdownTitle.TextYAlignment =
Enum.TextYAlignment.Top
end;

do --// Dropdown functions

function Dropdown:Toggle()
Dropdown.IsOpen = not Dropdown.IsOpen;
local SizeToTween;

if Dropdown.IsOpen then
Dropdown.Container.Visible = true;
end;

if Dropdown.Max ~= 1 then
SizeToTween = UDim2.new(1, 4, 0,
(14 * Dropdown.Max) + 4);
else
SizeToTween = UDim2.new(1, 4, 0,
14);
end;

if Dropdown.IsOpen then
if Library.CurrentDropdown then

Library.CurrentDropdown.Container.Visible = false;

Library.CurrentDropdown.Container.Size = UDim2.new(1, 4, 0, 0)
Library.CurrentDropdown.IsOpen
= false;
end;
Library.CurrentDropdown = Dropdown;

Library:Tween(Dropdown.Container,
TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size =
SizeToTween});
else
Library.CurrentDropdown = nil;
Library:Tween(Dropdown.Container,
TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size =
UDim2.new(1, 4, 0, 0)});
task.wait(0.2);
Dropdown.Container.Visible = false;
end;
end;

function Dropdown:Update()
--if Dropdown.Max ~= 1 then
-- ContainerOutline.Size =
UDim2.new(1, 4, 0, (14 * Dropdown.Max) + 4);
--else
-- ContainerOutline.Size =
UDim2.new(1, 4, 0, 14);
--end;
end;

DropdownInner.MouseEnter:Connect(function()
Library:Tween(DropdownOutline,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.Accent});
end);

DropdownInner.MouseLeave:Connect(function()
Library:Tween(DropdownOutline,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundColor3 = Library.Theme.LightContrast});
end);

DropdownInner.MouseButton1Down:Connect(function()
Dropdown:Toggle();
end);

function Dropdown:Set(Value)
Dropdown.Value = {};
DropdownFlag.Text = "";

for Index, Value in next,


Dropdown.Options do
Dropdown.Options[Index].IsSelected
= false;
Dropdown.Options[Index].Selector.Visible = false;

Library:Tween(Dropdown.Options[Index].Button, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
end;

if type(Value) == "table" then


for Index, Value in next, Value do
DropdownFlag.Text =
DropdownFlag.Text .. Value..", "
end;
DropdownFlag.Text =
DropdownFlag.Text:sub(1, -3);
local Split =
DropdownFlag.Text:split();

if DropdownFlag.TextBounds.X >
(DropdownFlag.AbsoluteSize.X - 10) then
DropdownFlag.Text =
DropdownFlag.Text:sub(1, 17) .. "...";
end;

end;

for Index, Value in next, Value do


if Dropdown.Options[Value] then
table.insert(Dropdown.Value,
Value)

Dropdown.Options[Value].Selector.Visible = true;

Library:Tween(Dropdown.Options[Value].Button, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});

Dropdown.Options[Value].IsSelected = true;
end;
end;

--[[local TempTable = {};


for Index, Value in next,
Dropdown.Value do
TempTable[Value] = Value;
end;

for I, V in next, Dropdown.Options do


if not TempTable[V] then
Dropdown.Options[I].IsSelected
= false;

Dropdown.Options[I].Selector.Visible = false;

Dropdown.Options[I].Button.TextColor3 = Library.Theme.ElementOff;
end;
end;

for Index, Value in next,


Dropdown.Options do
warn(Index, Value);
end;]]
if Dropdown.Callback then
pcall(Dropdown.Callback); end;
end;

function Dropdown:AddOption(Name)
local NewOption =
Instance.new("TextButton")
local Frame = Instance.new("Frame")

local Option = {
Name = Name;
IsSelected = false;
Selector = Frame;
Button = NewOption;
};

NewOption.Name = "NewOption"
NewOption.Parent = Container
NewOption.BackgroundColor3 =
Library.Theme.ElementOff
NewOption.BackgroundTransparency =
1.000
NewOption.BorderColor3 =
Library.Theme.Border
NewOption.BorderSizePixel = 0
NewOption.Size = UDim2.new(1, 0, 0, 14)
NewOption.FontFace = Library.MenuFont
NewOption.Text = Name;
NewOption.TextColor3 =
Library.Theme.ElementOff;
NewOption.TextSize = Library.TextSize

Frame.Parent = NewOption
Frame.BackgroundColor3 =
Library.Theme.Accent
Frame.BorderColor3 =
Library.Theme.Border
Frame.BorderSizePixel = 0
Frame.Size = UDim2.new(0, 2, 1, 0);
Frame.Visible = false;

NewOption.MouseButton1Down:Connect(function()
Option.IsSelected = not
Option.IsSelected;
if Option.IsSelected then
Library:Tween(NewOption,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
Frame.Visible = true;
task.spawn(function()

Dropdown.Value[#Dropdown.Value+1] = Option.Name

Dropdown:Set(Dropdown.Value);
end);
else
task.spawn(function()
for Index, Value in next,
Dropdown.Value do
if Value == Option.Name
then

Dropdown.Value[Index] = nil;
end;
end;

Dropdown:Set(Dropdown.Value);
end);
Frame.Visible = false;
Library:Tween(NewOption,
TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
end;
end);
Dropdown.Options[Option.Name] = Option;

return Option;
end;

function Dropdown:RemoveOption(Name)
if Dropdown.Options[Name] then

Dropdown.Options[Name].Button:Destroy();
Dropdown.Options[Name] = nil;
end;
end;
end;

for Index, Value in next, Data.Options do


Dropdown:AddOption(Value);
end;

if Dropdown.Default then
Dropdown:Set(Dropdown.Default);
else
Dropdown:Set({Data.Options[1]});
end;
Section.Bounds = Section.Bounds + 37;
SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);

Library.Flags[Data.Flag] = Dropdown;
return Dropdown;
end;

function Section:List(Data)
local List = {
Options = {};
Value = "";
Name = Data.Name;
Flag = Data.Flag;
Callback = Data.Callback or function() end;
};
local Holder = Instance.new("Frame")
local TextLabel = Instance.new("TextLabel")
local MainOutline = Instance.new("Frame")
local MainOutline2 = Instance.new("Frame")
local ScrollingFrame =
Instance.new("ScrollingFrame")
local UIListLayout =
Instance.new("UIListLayout")

do --// Properties
Holder.Name = "Holder"
Holder.Parent = SectionInner
Holder.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
Holder.BackgroundTransparency = 1.000
Holder.BorderColor3 = Color3.fromRGB(0, 0,
0)
Holder.BorderSizePixel = 0
Holder.Position = UDim2.new(0, 2, 0,
Section.Bounds)
Holder.Size = UDim2.new(1, -4, 0, 100)

TextLabel.Parent = Holder
TextLabel.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
TextLabel.BackgroundTransparency = 1.000
TextLabel.BorderColor3 = Color3.fromRGB(0,
0, 0)
TextLabel.BorderSizePixel = 0
TextLabel.Position =
UDim2.new(0.00999999978, 0, 0, 0)
TextLabel.Size = UDim2.new(0.899999976, 0,
0, 14)
TextLabel.FontFace = Library.MenuFont
TextLabel.Text = Data.Name
TextLabel.TextColor3 = Color3.fromRGB(255,
255, 255)
TextLabel.TextSize = Library.TextSize
TextLabel.TextXAlignment =
Enum.TextXAlignment.Left

MainOutline.Name = "MainOutline"
MainOutline.Parent = Holder
MainOutline.BackgroundColor3 =
Color3.fromRGB(37, 37, 37)
MainOutline.BorderColor3 =
Color3.fromRGB(0, 0, 0)
MainOutline.Position = UDim2.new(0, 0, 0,
14)
MainOutline.Size = UDim2.new(1, 0, 0, 100)

MainOutline2.Name = "MainOutline2"
MainOutline2.Parent = MainOutline
MainOutline2.BackgroundColor3 =
Library.Theme.MedianContrast;
MainOutline2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
MainOutline2.Position = UDim2.new(0, 2, 0,
2)
MainOutline2.Size = UDim2.new(1, -4, 1, -4)

ScrollingFrame.Parent = MainOutline2
ScrollingFrame.Active = true
ScrollingFrame.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
ScrollingFrame.BackgroundTransparency =
1.000
ScrollingFrame.BorderColor3 =
Color3.fromRGB(0, 0, 0)
ScrollingFrame.BorderSizePixel = 0
ScrollingFrame.Size = UDim2.new(1, 0, 1, 0)
ScrollingFrame.ScrollBarThickness = 3
ScrollingFrame.ScrollBarImageColor3 =
Color3.fromRGB(34, 34, 34);
ScrollingFrame.AutomaticCanvasSize =
Enum.AutomaticSize.Y;
UIListLayout.Parent = ScrollingFrame
UIListLayout.SortOrder =
Enum.SortOrder.LayoutOrder
end;

do --// Functions
function List:AddOption(Name)
local OptionData = {
Name = Name;
IsSelected = false;
};

local Option =
Instance.new("TextButton");
OptionData.Button = Option;
Option.Name = "Option"
Option.Parent = ScrollingFrame
Option.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
Option.BackgroundTransparency = 1.000
Option.BorderColor3 = Color3.fromRGB(0,
0, 0)
Option.BorderSizePixel = 0
Option.Size = UDim2.new(1, 0, 0, 14)
Option.AutoButtonColor = false
Option.FontFace = Library.MenuFont;
Option.TextColor3 =
Library.Theme.ElementOff
Option.TextSize = Library.TextSize
Option.Text = OptionData.Name;

Option.MouseButton1Down:Connect(function()
OptionData.IsSelected = not
OptionData.IsSelected

for Index, Value in next,


List.Options do
if Value ~= OptionData then
Value.IsSelected = false;
Library:Tween(Value.Button,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Library.Theme.ElementOff});
end;
end;
if OptionData.IsSelected then
List:Set(OptionData.Name);
else
Library:Tween(Option,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Library.Theme.ElementOff});
end;
end);

List.Options[OptionData.Name] =
OptionData
end;

function List:RemoveOption(Name)
if List.Options[Name] then

List.Options[Name].Button:Destroy();
List.Options[Name] = nil;
end;
end;

function List:Set(Value)
if List.Options[Value] then
List.Value = Value;
List.Options[Value].IsSelected =
true;

Library:Tween(List.Options[Value].Button, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
end;

for Index, Val in pairs(List.Options)


do
if Val ~= List.Options[Value] then
Val.IsSelected = false;
Library:Tween(Val.Button,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Library.Theme.ElementOff});
end;
end;

if List.Callback then
pcall(List.Callback); end;
end;
end;

for Index, Value in next, Data.Options do


List:AddOption(Value);
end;

Library.Flags[Data.Flag] = List;
Section.Bounds = Section.Bounds + 117;
SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);
return List;
end;

function Section:Searchbar(Data)
local List = {
Options = {};
Value = {};
Name = Data.Name;
Flag = Data.Flag;
Callback = Data.Callback or function() end;
};

pcall(function()
local Holder = Instance.new("Frame")
local TextLabel = Instance.new("TextLabel")
local MainOutline = Instance.new("Frame")
local MainOutline2 = Instance.new("Frame")
local ScrollingFrame =
Instance.new("ScrollingFrame")
local UIListLayout =
Instance.new("UIListLayout")
local SearchBoxOutline =
Instance.new("Frame")
local Searchbox = Instance.new("TextBox");

do --// Properties
Holder.Name = "Holder"
Holder.Parent = SectionInner
Holder.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
Holder.BackgroundTransparency = 1.000
Holder.BorderColor3 = Color3.fromRGB(0,
0, 0)
Holder.BorderSizePixel = 0
Holder.Position = UDim2.new(0, 2, 0,
Section.Bounds)
Holder.Size = UDim2.new(1, -4, 0, 100)

SearchBoxOutline.Parent = Holder;
SearchBoxOutline.BackgroundColor3 =
Library.Theme.LightContrast;
SearchBoxOutline.Size = UDim2.new(1, 0,
0, 14);
SearchBoxOutline.Position =
UDim2.new(0, 0, 0, 13);
SearchBoxOutline.BorderColor3 =
Library.Theme.Border;
SearchBoxOutline.BorderSizePixel = 1;

Searchbox.Name = "SetBox"
Searchbox.Parent = SearchBoxOutline
Searchbox.BackgroundColor3 =
Library.Theme.MedianContrast
Searchbox.BorderColor3 =
Color3.fromRGB(0, 0, 0)
Searchbox.Position = UDim2.new(0, 2, 0,
2)
Searchbox.Size = UDim2.new(1, -4, 1, -
4)
Searchbox.FontFace = Library.MenuFont;
Searchbox.TextYAlignment =
Enum.TextYAlignment.Bottom
Searchbox.Text = "";
Searchbox.TextColor3 =
Color3.fromRGB(255, 255, 255)
Searchbox.TextSize = Library.TextSize

TextLabel.Parent = Holder
TextLabel.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
TextLabel.BackgroundTransparency =
1.000
TextLabel.BorderColor3 =
Color3.fromRGB(0, 0, 0)
TextLabel.BorderSizePixel = 0
TextLabel.Position =
UDim2.new(0.00999999978, 0, 0, 0)
TextLabel.Size = UDim2.new(0.899999976,
0, 0, 14)
TextLabel.FontFace = Library.MenuFont
TextLabel.Text = Data.Name
TextLabel.TextColor3 =
Color3.fromRGB(255, 255, 255)
TextLabel.TextSize = Library.TextSize
TextLabel.TextXAlignment =
Enum.TextXAlignment.Left

MainOutline.Name = "MainOutline"
MainOutline.Parent = Holder
MainOutline.BackgroundColor3 =
Color3.fromRGB(37, 37, 37)
MainOutline.BorderColor3 =
Color3.fromRGB(0, 0, 0)
MainOutline.Position = UDim2.new(0, 0,
0, 28)
MainOutline.Size = UDim2.new(1, 0, 0,
50)

MainOutline2.Name = "MainOutline2"
MainOutline2.Parent = MainOutline
MainOutline2.BackgroundColor3 =
Library.Theme.MedianContrast;
MainOutline2.BorderColor3 =
Color3.fromRGB(0, 0, 0)
MainOutline2.Position = UDim2.new(0, 2,
0, 2)
MainOutline2.Size = UDim2.new(1, -4, 1,
-4)

ScrollingFrame.Parent = MainOutline2
ScrollingFrame.Active = true
ScrollingFrame.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
ScrollingFrame.BackgroundTransparency =
1.000
ScrollingFrame.BorderColor3 =
Color3.fromRGB(0, 0, 0)
ScrollingFrame.BorderSizePixel = 0
ScrollingFrame.Size = UDim2.new(1, 0,
1, 0)
ScrollingFrame.ScrollBarThickness = 3
ScrollingFrame.ScrollBarImageColor3 =
Color3.fromRGB(34, 34, 34);
ScrollingFrame.AutomaticCanvasSize =
Enum.AutomaticSize.Y;
UIListLayout.Parent = ScrollingFrame
UIListLayout.SortOrder =
Enum.SortOrder.LayoutOrder
end;

do --// Functions
function List:BeginSearching()
for Index, Value in next,
ScrollingFrame:GetChildren() do
if Value:IsA("GuiButton") then
local Text =
string.lower(Value.Text);
local Search =
string.lower(Searchbox.Text);
if Searchbox.Text == ""
then
Value.Visible = true;
else
if string.find(Text,
Search) then
Value.Visible =
true;
else
Value.Visible =
false;
end;
end;
end;
end;
end;

function List:AddOption(Name)
local OptionData = {
Name = Name;
IsSelected = false;
};

local Option =
Instance.new("TextButton");
OptionData.Button = Option;
Option.Name = "Option"
Option.Parent = ScrollingFrame
Option.BackgroundColor3 =
Color3.fromRGB(255, 255, 255)
Option.BackgroundTransparency =
1.000
Option.BorderColor3 =
Color3.fromRGB(0, 0, 0)
Option.BorderSizePixel = 0
Option.Size = UDim2.new(1, 0, 0,
14)
Option.AutoButtonColor = false
Option.FontFace = Library.MenuFont;
Option.TextColor3 =
Library.Theme.ElementOff
Option.TextSize = Library.TextSize
Option.Text = OptionData.Name;

Option.MouseButton1Down:Connect(function()
OptionData.IsSelected = not
OptionData.IsSelected

if OptionData.IsSelected then
task.spawn(function()

List.Value[#List.Value+1] = OptionData.Name
List:Set(List.Value);
end);
else
for Index, Value in next,
List.Value do
if Value ==
OptionData.Name then
List.Value[Index] =
nil;
end;
end;

Library:Tween(Option,
TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3
= Library.Theme.ElementOff});
end;
end);

OptionData.Button = Option;

List.Options[OptionData.Name] =
OptionData
end;

function List:Set(Value)
List.Value = {};
for Index, Value in next,
List.Options do
List.Options[Index].IsSelected
= false;

Library:Tween(List.Options[Index].Button, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOff});
end;

for Index, Value in next, Value do


if List.Options[Value] then
table.insert(List.Value,
Value)

Library:Tween(List.Options[Value].Button, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {TextColor3 =
Library.Theme.ElementOn});
List.Options[Value].IsSelected = true;
end;
end;
if List.Callback then
pcall(List.Callback); end;
end;

function List:RemoveOption(Name)
if List.Options[Name] then

List.Options[Name].Button:Destroy();
List.Options[Name] = nil;
end;
end;

end;

do --// Searching

Searchbox:GetPropertyChangedSignal("Text"):Connect(function()
List:BeginSearching();
end);
end;

for Index, Value in next, Data.Options do


List:AddOption(Value);
end;
end);

Library.Flags[Data.Flag] = List;
Section.Bounds = Section.Bounds + 84;
SectionBorder.Size = UDim2.new(1, 0, 0,
Section.Bounds);
return List;
end;

end;
Window.Tabs[Tab.Name].Sections[Data.Name] = Section
return Section
end;

Window.Tabs[Tab.Name] = Tab;
Window:UpdateTabs();
return Tab;
end;

function Window:Tooltip(Data)
local Tooltip = {
Text = Data.Text;
Parent = Data.Parent;
PhysicalParent = nil;
Frame = nil;
IsIn = false;
};

local Parent = Tooltip.Parent;


Tooltip.PhysicalParent = Parent.Frame;
local Outline_Tip = Instance.new("Frame");
local Inner_Tip = Instance.new("Frame", Outline_Tip);
local New_Text = Instance.new("TextLabel", Inner_Tip);

local Frame = Tooltip.PhysicalParent;


Tooltip.Frame = Outline_Tip;

do --// Properties
Outline_Tip.Parent = WindowBorder;
Outline_Tip.Name = "Tooltip - "..Data.Text;
Outline_Tip.BackgroundColor3 =
Library.Theme.LightContrast;
Outline_Tip.ZIndex = 1001;
Outline_Tip.BorderSizePixel = 1;
Outline_Tip.BorderColor3 = Library.Theme.Border;
Outline_Tip.Visible = true;
Outline_Tip.BackgroundTransparency = 1;
Outline_Tip.Size = UDim2.new(1, 0, 0, 12)
Outline_Tip.Position = UDim2.new(0, 0, 1, 3);

Inner_Tip.BackgroundColor3 =
Library.Theme.DarkContrast;
Inner_Tip.BorderSizePixel = 1;
Inner_Tip.Size = UDim2.new(1, -4, 1, -4);
Inner_Tip.Position = UDim2.new(0, 2, 0, 2);
Inner_Tip.BorderColor3 = Library.Theme.Border;
Inner_Tip.BackgroundTransparency = 1;

New_Text.BackgroundTransparency = 1;
New_Text.TextTransparency = 1;
New_Text.FontFace = Library.MenuFont;
New_Text.TextSize = Library.TextSize;
New_Text.TextColor3 = Color3.new(1,1,1);
New_Text.Size = UDim2.new(1, 0, 1, 0);
New_Text.Name = "New_TextTip"
end;

do --// Functions

Frame.MouseEnter:Connect(function()
Tooltip.IsIn = true;
Library:Tween(Inner_Tip, TweenInfo.new(0.3,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), {BackgroundTransparency = 0});
Library:Tween(Outline_Tip, TweenInfo.new(0.3,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), {BackgroundTransparency = 0});
Library:Tween(New_Text, TweenInfo.new(0.3,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), {TextTransparency = 0});
end);

Frame.MouseLeave:Connect(function()
Tooltip.IsIn = false;
Library:Tween(Inner_Tip, TweenInfo.new(0.5,
Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {BackgroundTransparency = 1});
Library:Tween(Outline_Tip, TweenInfo.new(0.5,
Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {BackgroundTransparency = 1});
local TextTween = Library:Tween(New_Text,
TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out),
{TextTransparency = 1});
end);
end;
New_Text.Text = Tooltip.Text;
end;
end;

Window.Main = LibraryScreenGui;

Library.Windows[#Library.Windows+1] = Window;
return Window
end;

function Library:AddSettingsTab(Window)
local SettingsTab = Window:NewTab({Name = "Settings"});

do --// Settings sections


local MenuSection = SettingsTab:NewSection({Name = "Menu", Side
= "Left"}); do

MenuSection:Keybind({Name = "Open / Close", Mode =


"Toggle", Flag = "Open/Close", Default = Enum.KeyCode.LeftBracket, Callback =
function()
Library:ToggleMenu()
end});

MenuSection:Toggle({Name = "Blur background when open",


Flag = "Blurbackground"});

MenuSection:Toggle({Name = "Watermark", Flag =


"ShowWatermark", Callback = function()
Library.WatermarkOutline.Visible =
Library.Flags.ShowWatermark.Value;
end});

MenuSection:Slider({Suffix = "%", Name = "Watermark Offset


X", Flag = "WatermarkX", Default = 7, Min = 0, Max = 100, Callback = function()
Library.WatermarkOutline.Position =
UDim2.new(Library.Flags.WatermarkX.Value / 100, 0, Library.Flags.WatermarkY.Value /
100, 0)
end});

MenuSection:Slider({Suffix = "%", Name = "Watermark Offset


Y", Flag = "WatermarkY", Default = 0, Min = 0, Max = 100, Callback = function()
Library.WatermarkOutline.Position =
UDim2.new(Library.Flags.WatermarkX.Value / 100, 0, Library.Flags.WatermarkY.Value /
100, 0)
end});

MenuSection:Toggle({Name = "Keybinds", Flag =


"ShowKeybinds", Callback = function()
Library.KeybindsGUI.Visible =
Library.Flags.ShowKeybinds.Value;
end})

MenuSection:Slider({Suffix = "%", Name = "Keybinds Offset


X", Flag = "KeybindX", Default = 2, Min = 0, Max = 100, Callback = function()
Library.KeybindsGUI.Position =
UDim2.new(Library.Flags.KeybindX.Value / 100, 0, Library.Flags.KeybindY.Value /
100, 0)
end});

MenuSection:Slider({Suffix = "%", Name = "Keybinds Offset


Y", Flag = "KeybindY", Default = 46, Min = 0, Max = 100, Callback = function()
Library.KeybindsGUI.Position =
UDim2.new(Library.Flags.KeybindX.Value / 100, 0, Library.Flags.KeybindY.Value /
100, 0)
end});

MenuSection:Button({Name = "Revert to default size",


Callback = function()
Window.Border.Size = Window.DefaultSize;
end})
end;

local GameSection = SettingsTab:NewSection({Name = "Game", Side


= "Left"}); do
GameSection:Toggle({Flag = "Telemetry", Name = "Broadcast
status (TELEMETRY)", Risky = true, Callback = function()
if Library.Flags.Telemetry.Value then
Websocket:Initialize()
end;
end})
GameSection:Slider({Default = 60, Flag = "FPSCAP", Name =
"FPS Cap", Min = 0, Max = 400, Callback = function()
setfpscap(Library.Flags.FPSCAP.Value)
end})
GameSection:Button({Name = "Rejoin", Callback = function()
TeleportService:Teleport(game.PlaceId);
end});
end;

local ConfigDropdown;

local function RefreshConfigs()


if listfiles then
for Index, Value in next, ConfigDropdown.Options do
ConfigDropdown:RemoveOption(Index)
end;

local List = {};


for Index, File in
ipairs(listfiles("Ethereal/Configs")) do
local FileName = File:gsub("Ethereal/Configs\\",
""):gsub(".txt", "")
List[#List + 1] = FileName;
end;

for Index, Value in next, List do


ConfigDropdown:AddOption(Value);
end;

--ConfigDropdown:Update();
else
for Index, Value in next, ConfigDropdown.Options do
ConfigDropdown:RemoveOption(Index)
end;
ConfigDropdown:AddOption("Legit");
ConfigDropdown:AddOption("Rage");
ConfigDropdown:AddOption("Semirage");
ConfigDropdown:AddOption("Semilegit");
--ConfigDropdown:Update();
end;
end;

local ConfigSection = SettingsTab:NewSection({Name = "Config",


Side = "Right"}); do
ConfigDropdown = ConfigSection:List({Name = "Selected
config", Options = {""}, Flag = "SelectedConfig"});

Library.WatermarkText.Text = ("Ethereal | %s | %s | Config


- %s"):format(GameName, LRM_LinkedDiscordID, Library.Config);
ConfigSection:Button({Name = "Load selected config",
Callback = function()
Library.Config = Library.Flags.SelectedConfig.Value;
Library.WatermarkText.Text = ("Ethereal | %s | %s |
Config - %s"):format(GameName, LRM_LinkedDiscordID, Library.Config);
Library:Notify("Loading config | Config name: "..
Library.Flags.SelectedConfig.Value, 3);

Library:LoadConfig(readfile("Ethereal/Configs/"..Library.Flags["SelectedConfig"].Va
lue..".txt"));
end});

ConfigSection:Button({Name = "Save selected config",


Callback = function()
Library:Notify("Saving config | Config name: "..
Library.Flags.SelectedConfig.Value, 3);

Library:SaveConfig(Library.Flags["SelectedConfig"].Value);
end})
ConfigSection:Button({Name = "Delete selected Config",
Callback = function()
task.spawn(function()
Library:Notify("Deleting config | Config name: "..
Library.Flags.SelectedConfig.Value, 3);

Library:DeleteConfig(Library.Flags["SelectedConfig"].Value)
task.wait(0.2);
Library:Notify("Refreshing configs...");

RefreshConfigs()
end);
end});
ConfigSection:Button({Name = "Refresh configs", Callback =
function()
task.spawn(function()
Library:Notify("Refreshing configs...");
RefreshConfigs()
end);
end});

--// Refreshing configs


do
RefreshConfigs();
end;
end;
local CreateSection = SettingsTab:NewSection({Name = "Create",
Side = "Right"}); do
CreateSection:Textbox({Name = "New Config Name Here", Flag
= "NewConfigName"});
CreateSection:Button({Name = "Create new config", Callback
= function()
task.spawn(function()
Library:Notify("Creating config | Config name: "..
Library.Flags.NewConfigName.Value, 3)

Library:SaveConfig(Library.Flags["NewConfigName"].Value);
task.wait(0.3);
Library.WatermarkText.Text = ("Ethereal | %s | %s |
Config - %s"):format(GameName, LRM_LinkedDiscordID, Library.Config);
RefreshConfigs()
Library:Notify("Created config! | Config name: "..
Library.Flags.NewConfigName.Value .. ", refreshing configs now!", 3);

end);
end})
end;

local PluginSection = SettingsTab:NewSection({Name = "Plugins",


Side = "Right"}); do
local function RefreshPlugins()
local List = {};
for Index, Value in next,
Library.Flags.SelectedPlugin.Options do
Library.Flags.SelectedPlugin:RemoveOption(Index)
end;

if listfiles then
for Index, File in
ipairs(listfiles("Ethereal/Plugins")) do
local FileName =
File:gsub("Ethereal/Plugins\\", ""):gsub(".lua", "")
List[#List + 1] = FileName;
end;

for Index, Value in next, List do


Library.Flags.SelectedPlugin:AddOption(Value);
end;
end;

Library.Flags.SelectedPlugin.Max = #List;
Library.Flags.SelectedPlugin:Update()
end;
PluginSection:Dropdown({Name = "Selected plugin", Flag =
"SelectedPlugin", Max = 3, Options = {""}});
PluginSection:Button({Name = "Load plugin", Callback =
function()
Library:Notify("Loading plugin | Plugin name:
"..Library.Flags.SelectedPlugin.Value, 2);

loadfile("Ethereal/Plugins/"..Library.Flags.SelectedPlugin.Value..".lua")();
end})
PluginSection:Button({Name = "Refresh plugins", Callback =
function()
Library:Notify("Refreshing plugins...", 2);
RefreshPlugins()
end})
RefreshPlugins()
end;

if not LPH_OBFUSCATED then


local Test = SettingsTab:NewSection({Name = "Studio
Testing", Side = "Left"}); do
Test:Searchbar({Options = {"762x39", "762x39AP",
"Altyn", "6b43", "DV2", "AKM", "6b12", "Makarov", "APS", "Nuts", "Oil can"}, Max =
3, Name = "Searchbar", Flag = "Searchbar"})
end;
end;
end;
end;

function Library:AddStandardWorldTab(VisualsTab)
local WorldTab = VisualsTab:Add({Name = "World"});

do --// Visuals sections


local LightingSection = WorldTab:NewSection({Name = "Lighting",
Side = "Left"}); do
LightingSection:Toggle({Name = "Ambient", Flag =
"AllowAmbient"}):Colorpicker({Name = "Ambience", Flag = "Ambience"});
LightingSection:Toggle({Name = "ClockTime", Flag =
"AllowTime"});
LightingSection:Slider({Min = 0, Max = 14, Name = "Time",
Flag = "Time"});
end;

local SkySection = WorldTab:NewSection({Name = "Skybox", Side =


"Right"}); do
local Skys = {};
local TotalSkys = 0;
for Index, Value in pairs(Skyboxes) do
Skys[Index] = Index;
TotalSkys = TotalSkys + 1
end;

Library.SkyDropdown = SkySection:Dropdown({Name = "Sky",


Flag = "Sky", Max = TotalSkys, Options = Skys, Callback = function()
Visuals:SwitchSkybox(Library.Flags.Sky.Value);
end});
end;
end;

local TerrainSection = WorldTab:NewSection({Name = "Terrain", Side


= "Left"}); do

if GameName == "Project Delta" then


TerrainSection:Toggle({Name = "Remove foliage", Flag =
"RemoveFoliage", Callback = function()
if GameName == "Project Delta" then
if Workspace:FindFirstChild("SpawnerZones") then
for Index, Value in next,
Workspace.SpawnerZones.Foliage:GetDescendants() do
Visuals:CheckFoliage(Value);
end;
end;
end;
end});
end;

TerrainSection:Toggle({Name = "Remove grass", Flag =


"RemoveGrass", Callback = function()
sethiddenproperty(Workspace.Terrain, "Decoration", not
Library.Flags.RemoveGrass.Value);
end});

for Index, Value in next, {"Grass", "LeafyGrass", "Ground",


"Rock", "Sand"} do
Properties.Terrain[Value] =
Workspace.Terrain:GetMaterialColor(Enum.Material[Value]);

TerrainSection:Toggle({Name = Value.." color", Flag =


Value.."Enabled"}):Colorpicker({Name = Value .. " Color", Default =
Properties.Terrain[Value], Flag = Value.."Color"})
end;
end;

local Weather = WorldTab:NewSection({Name = "Atmosphere", Side =


"Right"}); do
Weather:Toggle({Name = "Fog density", Flag = "FogDensity"});
Weather:Slider({Name = "Density amount", Flag =
"FogDensityValue", Min = 0, Max = 1, AllowDecimals = 100})

Weather:Toggle({Name = "Haze", Flag = "EnableHaze"});


Weather:Slider({Name = "Haze amount", Flag = "HazeValue", Min =
0, Max = 1, AllowDecimals = 100})

Weather:Toggle({Name = "Glare", Flag = "EnableGlare"});


Weather:Slider({Name = "Glare amount", Flag = "GlareValue", Min
= 0, Max = 1, AllowDecimals = 100})

Weather:Toggle({Name = "Haze color", Flag =


"EnableFogColor"}):Colorpicker({Name = "Fog Color", Default = Library.Theme.Accent,
Flag = "FogColor"});
end;

local Weather2 = WorldTab:NewSection({Name = "Clouds", Side =


"Right"}); do
Weather2:Toggle({Name = "Cloud density", Flag =
"CloudDensity"});
Weather2:Slider({Name = "Density amount", Flag =
"CloudDensityValue", Min = 0, Max = 1, AllowDecimals = 100})

Weather2:Toggle({Name = "Cloud color", Flag =


"EnableCloudColor"}):Colorpicker({Name = "Cloud Color", Default =
Library.Theme.Accent, Flag = "CloudColor"});
end;

return WorldTab;
end;

function Library:AddFontSection(Tab, Side)


local FontSection = Tab:NewSection({Name = "Font", Side = Side});
local Options = {"Menu", "Smallest Pixel"}
FontSection:Dropdown({Name = "World ESP Font", Options = Options,
Max = 2, Flag = "WorldFont"});
end;

function Library:AddFOVSection(CombatTab)
local Visuals = CombatTab:NewSection({Name = "Visuals", Side =
"Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag = "EnableFOV",


Callback = function()
Visuals.FOVCircle.Visible = Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag = "FOVColor",
Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end,})

Visuals:Toggle({Name = "FOV Effects", Flag = "FOVEffects",


Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});

Visuals:Toggle({Name = "Dynamic FOV", Flag = "DynamicFOV"});


Visuals:Dropdown({Name = "FOV Position", Flag = "FOVPosition",
Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min = 0, Max
= 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end

Visuals:Dropdown({Default = "Sine", Max = #StyleOptions, Name =


"Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name = "Direction",
Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed", Min = 0,


Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition duration", Min
= 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;
end;

function Library:AddPreview(ShowOn)
local Preview = {
Elements = {Corner = {}},
Components = {},
BodyParts = {},
};

local Window = Library.Windows[1];


local MainFrame = Window.MainFrame;

local ESPPreviewOutter = Instance.new("Frame")


local ESPPreviewInner = Instance.new("Frame")
local PreviewTitleOutter = Instance.new("TextLabel")
local Previewtitle = Instance.new("TextLabel")
local Character = Instance.new("Folder")
local Head = Instance.new("Frame")
local RightLeg = Instance.new("Frame")
local LeftLeg = Instance.new("Frame")
local RightArm = Instance.new("Frame")
local Torso = Instance.new("Frame")
local LeftArm = Instance.new("Frame")
local Box = Instance.new("Frame")
local BoxStroke = Instance.new("UIStroke")
local NameText = Instance.new("TextLabel")
local DistanceText = Instance.new("TextLabel")
local WeaponText = Instance.new("TextLabel")
local WeaponImage = Instance.new("ImageLabel")
local Flags = Instance.new("TextLabel")
local Healthbar = Instance.new("Frame")
local Ammobar = Instance.new("Frame")
local Healthtext = Instance.new("TextLabel")
local InventoryText = Instance.new("TextLabel")

local HealthbarInvert = Instance.new("Frame");


local AmmobarInvert = Instance.new("Frame");

Preview.MainFrame = MainFrame;

local Health = 100;


local Ammo = 10;
local MaxAmmo = 10;
local MaxHealth = 100;
local StartTime = tick();

do --// Properties
do --/ Main
ESPPreviewOutter.Name = "ESPPreviewOutter"
ESPPreviewOutter.Parent = MainFrame;
ESPPreviewOutter.BackgroundColor3 =
Library.Theme.LightContrast
ESPPreviewOutter.BorderColor3 = Library.Theme.Border

ESPPreviewOutter.Position = UDim2.new(1, 10, 0, 13)


ESPPreviewOutter.Size = UDim2.new(0, 264, 0, 381)
ESPPreviewInner.Name = "ESPPreviewInner"
ESPPreviewInner.Parent = ESPPreviewOutter
ESPPreviewInner.BackgroundColor3 =
Library.Theme.DarkContrast
ESPPreviewInner.BorderColor3 = Color3.fromRGB(0, 0, 0)
ESPPreviewInner.Position = UDim2.new(0, 2, 0, 2)
ESPPreviewInner.Size = UDim2.new(1, -4, 1, -4)

PreviewTitleOutter.Name = "PreviewTitleOutter"
PreviewTitleOutter.Parent = ESPPreviewInner
PreviewTitleOutter.BackgroundColor3 =
Library.Theme.LightContrast
PreviewTitleOutter.BorderColor3 = Library.Theme.Border
PreviewTitleOutter.Position = UDim2.new(0, -2, 0, -15)
PreviewTitleOutter.Size = UDim2.new(1, 4, 0, 12)
PreviewTitleOutter.FontFace = Library.MenuFont
PreviewTitleOutter.Text = "Preview"
PreviewTitleOutter.TextColor3 = Color3.fromRGB(0, 0, 0)
PreviewTitleOutter.TextSize = Library.TextSize;

Previewtitle.Name = "Previewtitle"
Previewtitle.Parent = PreviewTitleOutter
Previewtitle.BackgroundColor3 = Library.Theme.DarkContrast
Previewtitle.BorderColor3 = Color3.fromRGB(0, 0, 0)
Previewtitle.Position = UDim2.new(0, 2, 0, 2)
Previewtitle.Size = UDim2.new(1, -4, 1, -4)
Previewtitle.FontFace = Library.MenuFont
Previewtitle.Text = "Visuals Preview"
Previewtitle.TextColor3 = Color3.fromRGB(255, 255, 255)
Previewtitle.TextSize = Library.TextSize;

Character.Name = "Character"
Character.Parent = ESPPreviewInner

Head.Name = "Head"
Head.Parent = Character
Head.AnchorPoint = Vector2.new(0.5, 0)
Head.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Head.BorderColor3 = Color3.fromRGB(0, 0, 0)
Head.BorderSizePixel = 0
Head.Position = UDim2.new(0.499702811, 0, 0.196660534, -1)
Head.Size = UDim2.new(0, 42, 0, 44)

RightLeg.Name = "RightLeg"
RightLeg.Parent = Character
RightLeg.AnchorPoint = Vector2.new(0.5, 0)
RightLeg.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
RightLeg.BorderColor3 = Color3.fromRGB(0, 0, 0)
RightLeg.BorderSizePixel = 0
RightLeg.Position = UDim2.new(0.549000025, 3, 0.556999981,
1)
RightLeg.Size = UDim2.new(0, 30, 0, 92)

LeftLeg.Name = "LeftLeg"
LeftLeg.Parent = Character
LeftLeg.AnchorPoint = Vector2.new(0.5, 0)
LeftLeg.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
LeftLeg.BorderColor3 = Color3.fromRGB(0, 0, 0)
LeftLeg.BorderSizePixel = 0
LeftLeg.Position = UDim2.new(0.43900001, 0, 0.556999981, 1)
LeftLeg.Size = UDim2.new(0, 30, 0, 92)

RightArm.Name = "RightArm"
RightArm.Parent = Character
RightArm.AnchorPoint = Vector2.new(0.5, 0)
RightArm.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
RightArm.BorderColor3 = Color3.fromRGB(0, 0, 0)
RightArm.BorderSizePixel = 0
RightArm.Position = UDim2.new(0.671864212, 0, 0.313197464,
0)
RightArm.Size = UDim2.new(0, 26, 0, 92)

Torso.Name = "Torso"
Torso.Parent = Character
Torso.AnchorPoint = Vector2.new(0.5, 0)
Torso.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Torso.BorderColor3 = Color3.fromRGB(0, 0, 0)
Torso.BorderSizePixel = 0
Torso.Position = UDim2.new(0.49935773, 0, 0.31028387, 1)
Torso.Size = UDim2.new(0, 62, 0, 92)

LeftArm.Name = "LeftArm"
LeftArm.Parent = Character
LeftArm.AnchorPoint = Vector2.new(0.5, 0)
LeftArm.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
LeftArm.BorderColor3 = Color3.fromRGB(0, 0, 0)
LeftArm.BorderSizePixel = 0
LeftArm.Position = UDim2.new(0.324000001, 0, 0.312999994,
0)
LeftArm.Size = UDim2.new(0, 26, 0, 92)
end;

do --// ESP Elements


Box.Name = "Box"
Box.Parent = ESPPreviewInner
Box.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Box.BackgroundTransparency = 1.000
Box.BorderColor3 = Color3.fromRGB(0, 0, 0)
Box.BorderSizePixel = 0
Box.Position = UDim2.new(0.246212527, 0, 0.18302387, 0)
Box.Size = UDim2.new(0, 130, 0, 239)

BoxStroke.Parent = Box;
BoxStroke.LineJoinMode = "Miter";
BoxStroke.ApplyStrokeMode = "Border";
BoxStroke.Color = Color3.fromRGB(255, 255, 255);
BoxStroke.Transparency = 0;

NameText.Name = "NameText"
NameText.Parent = Box
NameText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
NameText.BackgroundTransparency = 1.000
NameText.BorderColor3 = Color3.fromRGB(0, 0, 0)
NameText.BorderSizePixel = 0
NameText.Position = UDim2.new(0, 0, -0.079497911, 0)
NameText.Size = UDim2.new(0, 132, 0, 19)
NameText.FontFace = Library.MenuFont
NameText.Text = "DranghetaLurk"
NameText.TextColor3 = Color3.fromRGB(255, 255, 255)
NameText.TextSize = Library.TextSize;
NameText.Visible = false;

DistanceText.Name = "DistanceText"
DistanceText.Parent = Box
DistanceText.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
DistanceText.BackgroundTransparency = 1.000
DistanceText.BorderColor3 = Color3.fromRGB(0, 0, 0)
DistanceText.BorderSizePixel = 0
DistanceText.Position = UDim2.new(-0.0075757578, 0,
1.02092052, 0)
DistanceText.Size = UDim2.new(0, 132, 0, 16)
DistanceText.FontFace = Library.MenuFont
DistanceText.Text = "100 meters"
DistanceText.TextColor3 = Color3.fromRGB(255, 255, 255)
DistanceText.TextSize = Library.TextSize;
DistanceText.Visible = false;

WeaponText.Name = "WeaponText"
WeaponText.Parent = Box
WeaponText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
WeaponText.BackgroundTransparency = 1.000
WeaponText.BorderColor3 = Color3.fromRGB(0, 0, 0)
WeaponText.BorderSizePixel = 0
WeaponText.Position = UDim2.new(-0.0075757578, 0,
1.06276155, 0)
WeaponText.Size = UDim2.new(0, 132, 0, 16)
WeaponText.FontFace = Library.MenuFont
WeaponText.Text = "M4A1-S"
WeaponText.TextColor3 = Color3.fromRGB(255, 255, 255)
WeaponText.TextSize = Library.TextSize
WeaponText.Visible = false;

Healthtext.Name = "Healthtext"
Healthtext.Parent = Healthbar
Healthtext.Position = UDim2.new(1, -20, 0, 0);
Healthtext.Size = UDim2.new(0, 24, 0, 3);
Healthtext.TextXAlignment = Enum.TextXAlignment.Center;

Healthtext.BackgroundColor3 = Color3.fromRGB(255, 255, 255)


Healthtext.BackgroundTransparency = 1.000
Healthtext.BorderColor3 = Color3.fromRGB(0, 0, 0)
Healthtext.BorderSizePixel = 0

Healthtext.FontFace = Library.SmallFont
Healthtext.Text = "100"
Healthtext.TextColor3 = Color3.fromRGB(255, 255, 255)
Healthtext.TextSize = Library.TextSize;
Healthtext.Visible = false;

InventoryText.Name = "InventoryText"
InventoryText.Parent = Box
InventoryText.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
InventoryText.BackgroundTransparency = 1.000
InventoryText.BorderColor3 = Color3.fromRGB(0, 0, 0)
InventoryText.BorderSizePixel = 0
InventoryText.Position = UDim2.new(-0.0075757578, 0,
1.06276155, 0)
InventoryText.Size = UDim2.new(0, 132, 0, 16)
InventoryText.FontFace = Library.MenuFont
InventoryText.Text = "[Bandages, Medkit, Knife]"
InventoryText.TextColor3 = Color3.fromRGB(255, 255, 255)
InventoryText.TextSize = Library.TextSize
InventoryText.Visible = false;

WeaponImage.Name = "WeaponImage"
WeaponImage.Parent = Box
WeaponImage.BackgroundColor3 = Color3.fromRGB(255, 255,
255)
WeaponImage.BackgroundTransparency = 1.000
WeaponImage.BorderColor3 = Color3.fromRGB(0, 0, 0)
WeaponImage.BorderSizePixel = 0
WeaponImage.Size = UDim2.new(0, 40, 0, 16)
WeaponImage.Image = "rbxassetid://16600641613"
WeaponImage.ScaleType = Enum.ScaleType.Crop
WeaponImage.Position = UDim2.new(0.5, 0, 0, 0);
WeaponImage.AnchorPoint = Vector2.new(0.5, 0);
WeaponImage.Visible = false;

Flags.Name = "Flags"
Flags.Parent = Box
Flags.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Flags.BackgroundTransparency = 1.000
Flags.BorderColor3 = Color3.fromRGB(0, 0, 0)
Flags.BorderSizePixel = 0
Flags.Position = UDim2.new(1.0454545, 0, -0.00418410031, 0)
Flags.Size = UDim2.new(0, 40, 0, 16)
Flags.FontFace = Library.SmallFont
Flags.Text = "VIS\nSCOPE\nCROUCH\nRELIC"
Flags.TextColor3 = Color3.fromRGB(255, 255, 255)
Flags.TextSize = Library.SmallSize;
Flags.TextXAlignment = Enum.TextXAlignment.Left
Flags.Visible = false;

Healthbar.Name = "Healthbar"
Healthbar.Parent = Box
Healthbar.BackgroundColor3 = Color3.fromRGB(115, 255, 83)
Healthbar.BorderColor3 = Color3.fromRGB(0, 0, 0)
Healthbar.Position = UDim2.new(-0.0610000007, 0, 0, -1)
Healthbar.Size = UDim2.new(0, 1, 1, 2)
Healthbar.Visible = false;

Ammobar.Name = "Ammobar"
Ammobar.Parent = Box
Ammobar.BackgroundColor3 = Color3.fromRGB(48, 103, 255)
Ammobar.BorderColor3 = Color3.fromRGB(0, 0, 0)
Ammobar.BorderSizePixel = 0
Ammobar.Position = UDim2.new(0, -1, 1, 5)
Ammobar.Size = UDim2.new(1, 2, 0, 1)
Ammobar.Visible = false;

HealthbarInvert.Parent = Healthbar;
HealthbarInvert.BackgroundColor3 = Color3.fromRGB(0, 0, 0);
HealthbarInvert.BorderColor3 = Color3.fromRGB(0, 0, 0);
HealthbarInvert.BorderSizePixel = 0;
HealthbarInvert.Size = UDim2.new(1, 0, 0, 0);

AmmobarInvert.Parent = Ammobar;
AmmobarInvert.BackgroundColor3 = Color3.fromRGB(0, 0, 0);
AmmobarInvert.BorderColor3 = Color3.fromRGB(0, 0, 0);
AmmobarInvert.BorderSizePixel = 0;
AmmobarInvert.Size = UDim2.new(1, 0, 0, 0);
end;

do --// Corner
do --// Corners creation
local Corners = Preview.Elements.Corner
do --// Inline
Corners[1] = Instance.new("Frame");
Corners[1].Parent = Box
Corners[1].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[1].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[1].BorderSizePixel = 0
Corners[1].Size = UDim2.new(0.3, 0, 0, 1)
Corners[1].Position = UDim2.new(0, 0, 0, -2);

Corners[2] = Instance.new("Frame");
Corners[2].Parent = Box
Corners[2].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[2].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[2].BorderSizePixel = 0
Corners[2].Size = UDim2.new(0, 1, 0.3, 0)
Corners[2].Position = UDim2.new(0, 0, 0, -2)

Corners[3] = Instance.new("Frame");
Corners[3].Parent = Box
Corners[3].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[3].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[3].BorderSizePixel = 0
Corners[3].Position = UDim2.new(0.7, -1, 0, -2)
Corners[3].Size = UDim2.new(0.3, 0, 0, 1)

Corners[4] = Instance.new("Frame");
Corners[4].Parent = Box
Corners[4].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[4].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[4].BorderSizePixel = 0
Corners[4].Position = UDim2.new(1, -1, 0, -2)
Corners[4].Size = UDim2.new(0, 1, 0.3, 1)

Corners[5] = Instance.new("Frame");
Corners[5].Parent = Box
Corners[5].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[5].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[5].BorderSizePixel = 0
Corners[5].Position = UDim2.new(0, 0, 0.7, 1)
Corners[5].Size = UDim2.new(0, 1, 0.3, 0)
Corners[6] = Instance.new("Frame");
Corners[6].Parent = Box
Corners[6].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[6].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[6].BorderSizePixel = 0
Corners[6].Position = UDim2.new(0, 0, 1, 1)
Corners[6].Size = UDim2.new(0.3, 0, 0, 1)

Corners[7] = Instance.new("Frame");
Corners[7].Parent = Box
Corners[7].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[7].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[7].BorderSizePixel = 0
Corners[7].Position = UDim2.new(1, -1, 0.7, 1)
Corners[7].Size = UDim2.new(0, 1, 0.3, 0)

Corners[8] = Instance.new("Frame");
Corners[8].Parent = Box
Corners[8].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[8].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[8].BorderSizePixel = 0
Corners[8].Position = UDim2.new(0.7, 0, 1, 1)
Corners[8].Size = UDim2.new(0.3, 0, 0, 1);
end;

do --// Outline
Corners[9] = Instance.new("Frame");
Corners[9].Parent = Box
Corners[9].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[9].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[9].BorderSizePixel = 1
Corners[9].Size = UDim2.new(0.3, 0, 0, 1)
Corners[9].Position = UDim2.new(0, 0, 0, -2)

Corners[10] = Instance.new("Frame");
Corners[10].Parent = Box
Corners[10].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[10].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[10].BorderSizePixel = 1
Corners[10].Size = UDim2.new(0, 1, 0.3, 0)
Corners[10].Position = UDim2.new(0, 0, 0, -2);

Corners[11] = Instance.new("Frame");
Corners[11].Parent = Box
Corners[11].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[11].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[11].BorderSizePixel = 1
Corners[11].Position = UDim2.new(0.7, -1, 0, -2)
Corners[11].Size = UDim2.new(0.3, 0, 0, 1)

Corners[12] = Instance.new("Frame");
Corners[12].Parent = Box
Corners[12].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[12].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[12].BorderSizePixel = 1
Corners[12].Position = UDim2.new(1, -1, 0, -2)
Corners[12].Size = UDim2.new(0, 1, 0.3, 0)

Corners[13] = Instance.new("Frame");
Corners[13].Parent = Box
Corners[13].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[13].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[13].BorderSizePixel = 1
Corners[13].Position = UDim2.new(0, 0, 0.7, 1)
Corners[13].Size = UDim2.new(0, 1, 0.3, 0)

Corners[14] = Instance.new("Frame");
Corners[14].Parent = Box
Corners[14].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[14].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[14].BorderSizePixel = 1
Corners[14].Position = UDim2.new(0, 0, 1, 1)
Corners[14].Size = UDim2.new(0.3, 0, 0, 1)

Corners[15] = Instance.new("Frame");
Corners[15].Parent = Box
Corners[15].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[15].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[15].BorderSizePixel = 1
Corners[15].Position = UDim2.new(1, -1, 0.7, 1)
Corners[15].Size = UDim2.new(0, 1, 0.3, 0)

Corners[16] = Instance.new("Frame");
Corners[16].Parent = Box
Corners[16].BackgroundColor3 = Color3.fromRGB(255,
255, 255)
Corners[16].BorderColor3 = Color3.fromRGB(0, 0, 0)
Corners[16].BorderSizePixel = 1
Corners[16].Position = UDim2.new(0.7, 0, 1, 1)
Corners[16].Size = UDim2.new(0.3, 0, 0, 1);
end;
end;

end;

do --// Add components to table


Preview.Components.Outter = ESPPreviewOutter
Preview.Components.Innner = ESPPreviewInner
Preview.Components.TitleOutter = PreviewTitleOutter
Preview.Components.Title = Previewtitle

Preview.BodyParts.Head = Head;
Preview.BodyParts.RightLeg = RightLeg;
Preview.BodyParts.RightArm = RightArm;
Preview.BodyParts.LeftLeg = LeftLeg;
Preview.BodyParts.LeftArm = LeftArm;
Preview.BodyParts.Torso = Torso;
Preview.Elements.RegularStroke = BoxStroke
Preview.Elements.Box = Box;
Preview.Elements.Username = NameText;
Preview.Elements.Distance = DistanceText;
Preview.Elements.Flags = Flags;
Preview.Elements.WeaponImage = WeaponImage;
Preview.Elements.Weapon = WeaponText;
Preview.Elements.Healthbar = Healthbar;
Preview.Elements.HealthValue = Healthtext;
Preview.Elements.Ammobar = Ammobar;
Preview.Elements.Inventory = InventoryText;
Preview.Elements.AmmobarInvert = AmmobarInvert;
Preview.Elements.HealthbarInvert = HealthbarInvert;
end;
end;

do --// Functions
function Preview:Update()
if Library.Windows[1].CurrentTab == ShowOn then
ESPPreviewOutter.Visible = true;
local ElapsedTime = tick() - StartTime

Health = MaxHealth * (1 + math.sin(ElapsedTime)) / 2


Ammo = MaxAmmo * (1 + math.sin(ElapsedTime * 2)) / 2

local Components = self.Elements


local BottomOffset = UDim2.new(0, 0, 1, 3);
local TopOffset = UDim2.new(0, 0, 0, -20);
local LeftOffset = UDim2.new(0, -6, 0, -2);
local RightOffset = UDim2.new(1, 6, 0, -2);

local BottomBounds = 0;
local TopBounds = 0;
local LeftBounds = 0;
local RightBounds = 0;

do --// Boxes
local Corners = Components.Corner;
if Library.Flags.ESPBox and
Library.Flags.ESPBox.Value then
Components.RegularStroke.Color =
Library.Flags.BoxColor.Color;

Components.RegularStroke.Color =
Library.Flags.BoxColor.Color

do --// Corners
if Library.Flags.BoxStyle and
Library.Flags.BoxStyle.Value == "Corner" then
--// Inline
do
Corners[1].Visible = true;
Corners[1].ZIndex = 3;
Corners[1].BackgroundColor3 =
Components.RegularStroke.Color;

Corners[2].Visible = true;
Corners[2].ZIndex = 3;
Corners[2].BackgroundColor3 =
Components.RegularStroke.Color;

Corners[3].Visible = true;
Corners[3].BackgroundColor3 =
Components.RegularStroke.Color;
Corners[3].ZIndex = 3;

Corners[4].Visible = true;
Corners[4].BackgroundColor3 =
Components.RegularStroke.Color;
Corners[4].ZIndex = 3;

Corners[5].Visible = true;
Corners[5].ZIndex = 3;
Corners[5].BackgroundColor3 =
Components.RegularStroke.Color;

Corners[6].Visible = true;
Corners[6].BackgroundColor3 =
Components.RegularStroke.Color;
Corners[6].ZIndex = 3;

Corners[7].Visible = true;
Corners[7].ZIndex = 3;
Corners[7].BackgroundColor3 =
Components.RegularStroke.Color;

Corners[8].Visible = true;
Corners[8].BackgroundColor3 =
Components.RegularStroke.Color;
Corners[8].ZIndex = 3;
end;

--// Outline
do
Corners[9].Visible = true;
Corners[9].ZIndex = 2;
Corners[9].BorderSizePixel = 1;
Corners[9].BackgroundColor3 =
Components.RegularStroke.Color;

Corners[10].Visible = true;
Corners[10].ZIndex = 2;
Corners[10].BorderSizePixel = 1;
Corners[10].BackgroundColor3 =
Components.RegularStroke.Color;

Corners[11].BorderSizePixel = 1;
Corners[11].Visible = true;
Corners[11].BackgroundColor3 =
Components.RegularStroke.Color;
Corners[11].ZIndex = 2;

Corners[12].BorderSizePixel = 1;
Corners[12].Visible = true;
Corners[12].BackgroundColor3 =
Components.RegularStroke.Color;
Corners[12].ZIndex = 2;
Corners[13].BorderSizePixel = 1;
Corners[13].Visible = true;
Corners[13].ZIndex = 2;
Corners[13].BackgroundColor3 =
Components.RegularStroke.Color;

Corners[14].BorderSizePixel = 1;
Corners[14].Visible = true;
Corners[14].BackgroundColor3 =
Components.RegularStroke.Color;
Corners[14].ZIndex = 2;

Corners[15].BorderSizePixel = 1;
Corners[15].Visible = true;
Corners[15].ZIndex = 2;
Corners[15].BackgroundColor3 =
Components.RegularStroke.Color;

Corners[16].BorderSizePixel = 1;
Corners[16].Visible = true;
Corners[16].BackgroundColor3 =
Color3.fromRGB();
Corners[16].ZIndex = 2;
end;
else
if Corners[1].Visible then
for Index = 1, 16 do
Corners[Index].Visible = false;
end;
end;
end;
end;

if Library.Flags.BoxStyle and
Library.Flags.BoxStyle.Value == "Corner" then
Components.RegularStroke.Enabled = false;
else
Components.RegularStroke.Enabled = true;
end;
else
if Corners[1].Visible then
for Index = 1, 16 do
Corners[Index].Visible = false;
end;
end;
Components.RegularStroke.Enabled = false;
end;
end;

do --// Healthbar
if Library.Flags.ESPHealthBar and
Library.Flags.ESPHealthBar.Value then
local LerpedColor =
Library.Flags["HealthBarColorLower"].Color:lerp(Library.Flags["HealthBarColorHigher
"].Color, Health / MaxHealth);

if (Health < MaxHealth and


Library.Flags.HealthWhenDamaged.Value or not Library.Flags.HealthWhenDamaged.Value)
and Library.Flags.ESPHealth and Library.Flags.ESPHealth.Value and
Library.Flags.HealthbarPosition and Library.Flags.HealthbarPosition.Value == "Left"
and (Library.Flags.ESPAmmoBar and (((Library.Flags.ESPAmmoBar.Value == false and
Library.Flags.AmmobarPosition.Value ~= "Left") or Library.Flags.ESPAmmoBar.Value ==
false) or Library.Flags.AmmobarPosition.Value ~= "Left") or not
Library.Flags.ESPAmmoBar) then
Components.HealthValue.Visible = true;
Components.HealthValue.Text =
tostring(math.floor(Health));
Components.HealthValue.TextColor3 =
Library.Flags.HealthColor.Color;
Components.HealthValue.TextSize =
Library.SmallSize;
Components.HealthValue.FontFace =
Library.SmallFont;
else
Components.HealthValue.Visible = false;
end;

do --// Sizing for custom positions


if Library.Flags.HealthbarPosition and
(Library.Flags.HealthbarPosition.Value == "Bottom" or
Library.Flags.HealthbarPosition.Value == "Top") then
if Library.Flags.BoxStyle and
Library.Flags.BoxStyle.Value ~= "Corner" then
Components.Healthbar.Size =
UDim2.new(1, 4, 0, 1);
else
Components.Healthbar.Size =
UDim2.new(1, 0, 0, 1);
end;
Components.HealthbarInvert.Size =
UDim2.new(0, (Components.Healthbar.AbsoluteSize.X * (1 - Health / MaxHealth)), 0,
1);
Components.HealthbarInvert.AnchorPoint
= Vector2.new(1, 0);
else
Components.HealthbarInvert.AnchorPoint
= Vector2.new(0, 0);
Components.Healthbar.Size =
UDim2.new(0, 1, 1, 4)
Components.HealthbarInvert.Size =
UDim2.new(1, 0, 0, (Components.Healthbar.AbsoluteSize.Y* (1 - Health /
MaxHealth)));
end;
end;

do --// Positioning for custom positions


if Library.Flags.HealthbarPosition and
Library.Flags.HealthbarPosition.Value == "Bottom" then
if Library.Flags.BoxStyle and
Library.Flags.BoxStyle.Value ~= "Corner" then
Components.Healthbar.Position =
BottomOffset + UDim2.new(0, -2, 0, BottomBounds + 2);
else
Components.Healthbar.Position =
BottomOffset + UDim2.new(0, 0, 0, BottomBounds + 2);
end;
Components.HealthbarInvert.Position =
UDim2.new(1, 0, 0, 0);
BottomBounds = BottomBounds + 6;
elseif Library.Flags.HealthbarPosition and
Library.Flags.HealthbarPosition.Value == "Top" then
if Library.Flags.BoxStyle and
Library.Flags.BoxStyle.Value ~= "Corner" then
Components.Healthbar.Position =
TopOffset + UDim2.new(0, -2, 0, 12 + 1 - TopBounds);
else
Components.Healthbar.Position =
TopOffset + UDim2.new(0, 0, 0, 12 + 1 - TopBounds);
end;
Components.HealthbarInvert.Position =
UDim2.new(1, 0, 0, 0);
TopBounds = TopBounds + 1 + 4;
elseif Library.Flags.HealthbarPosition and
Library.Flags.HealthbarPosition.Value == "Left" then
Components.Healthbar.Position =
LeftOffset + UDim2.new(0, LeftBounds, 0, 0);
Components.HealthbarInvert.Position =
UDim2.new(0, 0, 0, 0);
LeftBounds = LeftBounds - (1 + 4);
elseif Library.Flags.HealthbarPosition and
Library.Flags.HealthbarPosition.Value == "Right" then
Components.Healthbar.Position =
RightOffset + UDim2.new(0, RightBounds, 0, 0);
Components.HealthbarInvert.Position =
UDim2.new(0, 0, 0, 0);
RightBounds = RightBounds + 1 + 6;
end;
end;

Components.Healthbar.BackgroundColor3 =
LerpedColor;
Components.Healthbar.Visible = true;
else
Components.Healthbar.Visible = false;
end;
end;

do --// Ammobar

if Library.Flags.ESPAmmoBar and
Library.Flags.ESPAmmoBar.Value then
local LerpedColor =
Library.Flags["AmmobarColorLower"].Color:lerp(Library.Flags["AmmobarColorHigher"].C
olor, Ammo / MaxAmmo);
do --// Sizing for custom positions
if Library.Flags.AmmobarPosition and
(Library.Flags.AmmobarPosition.Value == "Bottom" or
Library.Flags.AmmobarPosition.Value == "Top") then
if Library.Flags.BoxStyle and
Library.Flags.BoxStyle.Value ~= "Corner" then
Components.Ammobar.Size =
UDim2.new(1, 4, 0, 1);
else
Components.Ammobar.Size =
UDim2.new(1, 0, 0, 1);
end;
Components.AmmobarInvert.Size =
UDim2.new(0, (Components.Ammobar.AbsoluteSize.X * (1 - Ammo / MaxAmmo)), 0, 1);
Components.AmmobarInvert.AnchorPoint =
Vector2.new(1, 0);
else
Components.AmmobarInvert.AnchorPoint =
Vector2.new(0, 0);
Components.Ammobar.Size = UDim2.new(0,
1, 1, 4)
Components.AmmobarInvert.Size =
UDim2.new(1, 0, 0, (Components.Ammobar.AbsoluteSize.Y* (1 - Ammo / MaxAmmo)));
end;
end;

do --// Positioning for custom positions


if Library.Flags.AmmobarPosition and
Library.Flags.AmmobarPosition.Value == "Bottom" then
if Library.Flags.BoxStyle and
Library.Flags.BoxStyle.Value ~= "Corner" then
Components.Ammobar.Position =
BottomOffset + UDim2.new(0, -2, 0, BottomBounds + 1 + 2);
Components.AmmobarInvert.Position =
UDim2.new(1, 0, 0, 0);
else
Components.Ammobar.Position =
BottomOffset + UDim2.new(0, 0, 0, BottomBounds + 1 + 2);
Components.AmmobarInvert.Position =
UDim2.new(1, 0, 0, 0);
end;
BottomBounds = BottomBounds + 1 + 6;
elseif Library.Flags.AmmobarPosition and
Library.Flags.AmmobarPosition.Value == "Top" then

if Library.Flags.BoxStyle and
Library.Flags.BoxStyle.Value ~= "Corner" then
Components.Ammobar.Position =
TopOffset + UDim2.new(0, -2, 0, 12 + 1 - TopBounds);
Components.AmmobarInvert.Position =
UDim2.new(1, 0, 0, 0);
else
Components.Ammobar.Position =
TopOffset + UDim2.new(0, 0, 0, 12 + 1 - TopBounds);
Components.AmmobarInvert.Position =
UDim2.new(1, 0, 0, 0);
end;
TopBounds = TopBounds + 1 + 4;
elseif Library.Flags.AmmobarPosition and
Library.Flags.AmmobarPosition.Value == "Left" then
Components.AmmobarInvert.Position =
UDim2.new(0, 0, 0, 0);
Components.Ammobar.Position =
LeftOffset + UDim2.new(0, LeftBounds, 0, 0);
LeftBounds = LeftBounds - (1 + 6);
elseif Library.Flags.AmmobarPosition and
Library.Flags.AmmobarPosition.Value == "Right" then
Components.AmmobarInvert.Position =
UDim2.new(0, 0, 0, 0);
Components.Ammobar.Position =
RightOffset + UDim2.new(0, RightBounds, 0, 0);
RightBounds = RightBounds + 1 + 6;
end;
end;
Components.Ammobar.BackgroundColor3 =
LerpedColor;
Components.Ammobar.Visible = true;

else
Components.Ammobar.Visible = false;
end;
end;

do --// Flags
local TotalFlags = 0;

if Library.Flags.ESPFlags and
Library.Flags.ESPFlags.Value then
Components.Flags.Visible = true
Components.Flags.FontFace = Library.SmallFont
Components.Flags.TextSize = Library.SmallSize
Components.Flags.Position = RightOffset +
UDim2.new(0, RightBounds, 0, -3)
Components.Flags.TextTransparency =
Transparency
Components.Flags.RichText = true
Components.Flags.TextYAlignment =
Enum.TextYAlignment.Top

local FlagsText = ""

for _, Value in next, ESPConstructor.Flags do


if table.find(Library.Flags.Flags.Value,
Value.Flag) then
local Text = Value.Text(self, true)
local Color =
Library.Flags["Flag"..Value.Flag].Color
Color = string.format("#%02X%02X%02X",
Color.R * 255, Color.G * 255, Color.B * 255)
if Text then
TotalFlags = TotalFlags + 1
FlagsText = FlagsText ..
string.format('<font color="%s">%s</font>\n', Color, Text)
end
end
end

Components.Flags.Text = FlagsText
RightBounds = RightBounds + 10
else
Components.Flags.Visible = false
end
end;

do --// Username
if Library.Flags.ESPName and
Library.Flags.ESPName.Value then
Components.Username.Visible = true;
Components.Username.Text = "Username";
Components.Username.TextColor3 =
Library.Flags.NameColor.Color

if Library.Flags.UsernamePosition and
Library.Flags.UsernamePosition.Value == "Bottom" then
Components.Username.TextYAlignment =
Enum.TextYAlignment.Top;
Components.Username.Position = BottomOffset
+ UDim2.new(0, 0, 0, BottomBounds);
BottomBounds = BottomBounds +
Components.Username.TextSize + 1;
else
Components.Username.TextYAlignment =
Enum.TextYAlignment.Center;
Components.Username.Position = TopOffset +
UDim2.new(0, 0, 0, -TopBounds);
TopBounds = TopBounds +
Components.Username.TextSize + 1;

end;
else
Components.Username.Visible = false;
end;
end;

do --// Inventory / Hotbar


if Library.Flags.ESPInventory and
Library.Flags.ESPInventory.Value then
local Inventory = "[Bandages, Scout, Medkit,
Knife]"
if Inventory then
Components.Inventory.Visible = true;

Components.Inventory.TextColor3 =
Library.Flags.InventoryColor.Color

local ReturnedText = Inventory;


Components.Inventory.Text = ReturnedText;
if Library.Flags.InventoryPosition and
Library.Flags.InventoryPosition.Value == "Top" then
Components.Inventory.TextYAlignment =
Enum.TextYAlignment.Center;
Components.Inventory.Position =
TopOffset + UDim2.new(0, 0, 0, -TopBounds);
TopBounds = TopBounds +
Components.Inventory.TextSize + 1;
else
Components.Inventory.TextYAlignment =
Enum.TextYAlignment.Top;
Components.Inventory.Position =
BottomOffset + UDim2.new(0, 0, 0, BottomBounds);
BottomBounds = BottomBounds +
Components.Inventory.TextSize + 1;
end;
else
Components.Inventory.Visible = false;
end;
else
Components.Inventory.Visible = false;
end;

end;

do --// Weapon
if Library.Flags.ESPWeapon and
Library.Flags.ESPWeapon.Value and WeaponName ~= "None" then
Components.Weapon.Visible = true;
Components.Weapon.Text = "M4A1-S";

Components.Weapon.Text = Components.Weapon.Text
.. " ["..tostring(30).."/"..tostring(30).."]";

Components.Weapon.TextColor3 =
Library.Flags.WeaponColor.Color;

if Library.Flags.WeaponPosition and
Library.Flags.WeaponPosition.Value == "Top" then
Components.Weapon.TextYAlignment =
Enum.TextYAlignment.Center;
Components.Weapon.Position = TopOffset +
UDim2.new(0, 0, 0, -TopBounds);
TopBounds = TopBounds +
Components.Weapon.TextSize + 1;
else
Components.Weapon.TextYAlignment =
Enum.TextYAlignment.Top;
Components.Weapon.Position = BottomOffset +
UDim2.new(0, 0, 0, BottomBounds);
BottomBounds = BottomBounds +
Components.Weapon.TextSize + 1;
end;
else
Components.Weapon.Visible = false;
end;
end;

do --// Weapon Image


if Library.Flags.ESPWeaponImage and
Library.Flags.ESPWeaponImage.Value then
Components.WeaponImage.Image =
WeaponIcons["M4A1-S"];
Components.WeaponImage.Visible = true;
Components.WeaponImage.Position = BottomOffset
+ UDim2.new(0.5, 0, 0, BottomBounds);
BottomBounds = BottomBounds +
Components.WeaponImage.Size.Y.Offset;
else
Components.WeaponImage.Visible = false;
end;
end;

do --// Distance
if Library.Flags.ESPDistance and
Library.Flags.ESPDistance.Value then
Components.Distance.Visible = true;
Components.Distance.Text = "100" .. ""..
DistanceConversions[PreferredDistances[GameName]].Suffix;

Components.Distance.TextColor3 =
Library.Flags.DistanceColor.Color

if Library.Flags.DistancePosition and
Library.Flags.DistancePosition.Value == "Top" then
Components.Distance.TextYAlignment =
Enum.TextYAlignment.Center;
Components.Distance.Position = TopOffset +
UDim2.new(0, 0, 0, -TopBounds);
TopBounds = TopBounds +
Components.Distance.TextSize + 1;
else
Components.Distance.TextYAlignment =
Enum.TextYAlignment.Top;
Components.Distance.Position = BottomOffset
+ UDim2.new(0, 0, 0, BottomBounds);
BottomBounds = BottomBounds +
Components.Distance.TextSize + 1;
end;
else
Components.Distance.Visible = false;
end;
end;
else
ESPPreviewOutter.Visible = false;
end;
end;
end;

if Library.Windows[1] then
Library.Windows[1].CurrentPreview = Preview;
end

return Preview;
end;
end;

do --// Notifications
local NotificationContainer;
NotificationContainer = Instance.new("ScreenGui");
NotificationContainer.Parent = gethui();

function Library:UpdateNotifications()
local i = 0
for v in next, Notifications do
if v.Holder then
local tween = Library:Tween(v.Holder, TweenInfo.new(0.8,
Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Position = UDim2.new(0, 20, 0,
75 + (i * 25))})
i = i + 1
end
end
end;

function Library:UpdateNotifications2(Item)
for i,v in pairs(Item) do
if typeof(v) == "Instance" then
task.spawn(function()
local tween = Library:Tween(v, TweenInfo.new(1,
Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {BackgroundTransparency = 1});

tween.Completed:Connect(function()
if v.Name == "Holder" then
v:Destroy();
end
end)
end);
if v.ClassName == "TextLabel" then
local tween = Library:Tween(v, TweenInfo.new(1,
Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 1})
end
end
end
end

function Library:Notify(Text, Time, Color)


Time = Time or 2;
Color = Color or Library.Theme.Accent;
Text = Text or "No text provided? retard?
"..tostring(math.random());

local Notification = {};

local Holder = Instance.new("Frame")


Holder.Position = UDim2.new(0, -30, 0, 75);
Holder.Size = UDim2.new(0, 0, 0, 23);
Holder.BackgroundTransparency = 0;
Holder.Parent = NotificationContainer;
Holder.BackgroundColor3 = Library.Theme.LightContrast;
Holder.BorderSizePixel = 1
Holder.BorderColor3 = Library.Theme.Border
Notification.Holder = Holder;

local Background = Instance.new("Frame");


Background.Parent = Holder;
Background.Size = UDim2.new(1, -4, 1, -4);
Background.BackgroundColor3 = Library.Theme.MedianContrast;
Background.Position = UDim2.new(0, 2, 0, 2);
Background.BorderSizePixel = 1
Background.BorderColor3 = Library.Theme.Border
Notification.Background = Background;

local AccentBar = Instance.new("Frame");


AccentBar.Size = UDim2.new(0, 1, 1, 0);
AccentBar.Parent = Background;
AccentBar.BackgroundColor3 = Color;
AccentBar.Position = UDim2.new(0, 0, 0, 0);
AccentBar.BorderSizePixel = 0
Notification.AccentBar = AccentBar;

local AccentBar2 = Instance.new("Frame");


AccentBar2.Size = UDim2.new(0, 0, 0, 1);
AccentBar2.Position = UDim2.new(0, 0, 0, 15);
AccentBar2.Parent = Background;
AccentBar2.BackgroundColor3 = Color;
AccentBar2.BorderSizePixel = 0

Notification.AccentBar2 = AccentBar2
local NotifText = Instance.new("TextLabel");
NotifText.TextXAlignment = Enum.TextXAlignment.Left;
NotifText.Position = UDim2.new(0, 3, 0, 0);
NotifText.Size = UDim2.new(1, 0, 1, 0)
NotifText.Parent = Background;
NotifText.FontFace = Library.MenuFont;
NotifText.TextColor3 = Color3.new(1,1,1);
NotifText.BackgroundTransparency = 1;
NotifText.TextSize = Library.TextSize;
NotifText.Text = Text;

Notification.NotifText = NotifText;
Notification.Holder.Size = UDim2.new(0, (string.len(NotifText.Text)
* 5) + 10, 0, 19);

AccentBar2.Size = UDim2.new(0, 1, 0, 1)

Notifications[Notification] = true

local Connection
function Notification:Remove()
Notifications[Notification] = nil
Library:UpdateNotifications();
end;
task.spawn(function()
Library:UpdateNotifications()
Notification.AccentBar2:TweenSize(UDim2.new(0,
Background.AbsoluteSize.X - 1, 0, 1), Enum.EasingDirection.Out,
Enum.EasingStyle.Linear, Time, false);
task.wait(Time)

Library:UpdateNotifications2(Notification)
task.wait(1.2)
Notification:Remove()
end);
end;
end;
end)()

LPH_NO_VIRTUALIZE(function()
function Library:ToggleMenu()
if Library.Fading then
return
end;

Library.Fading = true;
local Window = Library.Windows[1];
local IsOpen = not Library.Flags["Open/Close"].Value;
MouseLocation = UserInputService:GetMouseLocation();
Library.MouseCursor.Position = UDim2.new(0, MouseLocation.X - 18, 0,
MouseLocation.Y - 18);

local FadeTime = 0.25;

if IsOpen then
Window.Main.Enabled = true;
end;

do --// Fade In/Out


local Goal = IsOpen and 0 or 1;

if not Library.Properties then


Library.Properties = {};
local Blur = Instance.new("BlurEffect", Lighting);
Blur.Size = 0;
Blur.Enabled = true;
Library.Blur = Blur;

for _, Value in next, Window.Main:GetDescendants() do


local Class = Value.ClassName;

if Value.Name ~= "TabTransitioner" and Value.Name ~=


"TabTransitioner2" then
if Class == "Frame" and Value.BackgroundTransparency ~=
1 then
Library.Properties[Value] =
{["BackgroundTransparency"] = true};
end;

if Class == "TextLabel" and Value.Name ~= "New_TextTip"


then
if Value.BackgroundTransparency ~= 1 then
Library.Properties[Value] =
{["BackgroundTransparency"] = true, ["TextTransparency"] = true};
else
Library.Properties[Value] =
{["TextTransparency"] = true};
end;
end;

if Class == "TextButton" then


if Value.BackgroundTransparency ~= 1 then
Library.Properties[Value] =
{["BackgroundTransparency"] = true, ["TextTransparency"] = true};
else
Library.Properties[Value] =
{["TextTransparency"] = true};
end;
end;

if Class == "ScrollingFrame" then


if Value.BackgroundTransparency ~= 1 then
Library.Properties[Value] =
{["BackgroundTransparency"] = true};
elseif Value.BackgroundTransparency ~= 1 and
Value.ScrollBarImageTransparency ~= 1 then
Library.Properties[Value] =
{["BackgroundTransparency"] = true, ["ScrollBarImageTransparency"] = true};
elseif Value.BackgroundTransparency == 1 and
Value.ScrollBarImageTransparency ~= 1 then
Library.Properties[Value] =
{["ScrollBarImageTransparency"] = true};
end;
end;
if Class == "TextBox" then
Library.Properties[Value] = {["TextTransparency"] =
true, ["BackgroundTransparency"] = true}
end;

if Class == "ImageLabel" then


if Value.BackgroundTransparency ~= 1 and
Value.ImageTransparency ~= 1 then
Library.Properties[Value] =
{["BackgroundTransparency"] = true, ["ImageTransparency"] = true};
elseif Value.ImageTransparency ~= 1 and
Value.BackgroundTransparency == 1 then
Library.Properties[Value] =
{["ImageTransparency"] = true};
end;
end;

if Class == "ImageButton" then


if Value.BackgroundTransparency ~= 1 and
Value.ImageTransparency ~= 1 then
Library.Properties[Value] =
{["BackgroundTransparency"] = true, ["ImageTransparency"] = true};
elseif Value.ImageTransparency ~= 1 and
Value.BackgroundTransparency == 1 then
Library.Properties[Value] =
{["ImageTransparency"] = true};
end;
end;

if Class == "UIStroke" then


Library.Properties[Value] = {["Transparency"] =
true}
end;
end;
end;
end;

if Library.Properties then
local Info = TweenInfo.new(FadeTime, Enum.EasingStyle.Linear,
Enum.EasingDirection.Out)
local TweenData = {}

for Object, Properties in next, Library.Properties do


local Data = {}

if Properties["BackgroundTransparency"] then
Data.BackgroundTransparency = Goal
end

if Properties["TextTransparency"] then
Data.TextTransparency = Goal
end

if Properties["ImageTransparency"] then
Data.ImageTransparency = Goal
end

if Properties["ScrollBarImageTransparency"] then
Data.ScrollBarImageTransparency = Goal
end

if Properties["Transparency"] then
Data.Transparency = Goal
end
table.insert(TweenData, {Object = Object, Data = Data})
end

task.spawn(function()
for _, TweenInfo in ipairs(TweenData) do
local Object = TweenInfo.Object
local Data = TweenInfo.Data
Library:Tween(Object, Info, Data)
end
end)
end
end;

do --// Blur
if Library.Flags.Blurbackground and
Library.Flags.Blurbackground.Value then
task.spawn(function()
local SizeGoal = IsOpen and 15 or 0
Library:Tween(Library.Blur, TweenInfo.new(FadeTime,
Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size = SizeGoal})
end);
else
Library.Blur.Size = 0;
end;
end;

task.wait(FadeTime);

if not IsOpen then


Window.Main.Enabled = false;
end;

Library.Fading = false;
end;
end)();
end;

do --// Game Framework

do --// Aftermath
if GameName == "Aftermath" then
local FakePart = Instance.new("Part", Camera)
FakePart.Transparency = 1
FakePart.CanCollide = false
FakePart.Size = Vector3.new(0.1, 0.1, 0.1)
FakePart.Anchored = true
GameFramework.FakePart = FakePart
end
end

do --// Original Frameworking stuff


local Originals = {};
GameFramework.LastShotTick = tick();
GameFramework.ShotNumber = 0;
GameFramework.CrimTags = "";
GameFramework.CrimItems = {};
GameFramework.PDCodes = {}
GameFramework.LastReloadTick = tick();

GameFramework.CrimColors = {
["0 1 0.184314 0.184314 0 "] = "Red";
["0 0.184314 1 0.4 0 "] = "Green";
};

GameFramework.CrimBounties = {};

GameFramework.CrimMeshes = {
["rbxassetid://9029331092"] = "Grenade";
["rbxassetid://9029118683"] = "CS-Grenade";
["rbxassetid://9029118683"] = "Smoke-Grenade";
["rbxassetid://9029276496"] = "Flashbang";
["rbxassetid://9029118683"] = "Incendiary-Grenade";
["rbxassetid://9029306256"] = "Stun-Grenade";
["rbxassetid://9028964777"] = "Molotov";
};

GameFramework.CrimTextures = {
["rbxassetid://9029173190"] = "Incendiary-Grenade";
["rbxassetid://9029151773"] = "Smoke-Grenade";
["rbxassetid://9029129154"] = "CS-Grenade";
};

if GameName == "Project Delta" then


Originals = {
Springs = {
strafeTilt = {
Force = 50;
Speed = 4;
};
sway = {
Force = 100;
Speed = 4;
};
walkCycle = {
Force = 50;
Speed = 4;
};
sprintCycle = {
Force = 50;
Speed = 4;
};

recoilPos = {
Speed = 5;
Force = 75;
};
cameraRecoil = {
Force = 100;
Speed = 6;
};
recoilRot = {
Speed = 3;
Force = 35;
};
jumpTilt = {
Speed = 4;
Force = 90;
};
leanAlpha = {
Speed = 4; -- 50 for instant lean
Force = 50 -- 25 for instant lean
};
wallTouchTilt = {
Speed = 4;
Force = 50;
};
}
};
end;

if GameName == "Gunfight Arena" then


local Module =
require(game:GetService("ReplicatedStorage").BulletData);

for Index, Value in next, Module do


Originals[Index] = {
BaseVelocity = Value.BaseVelocity;
Weight = Value.Weight;
EnergyCoefficient = Value.EnergyCoefficient
}
end;

function GameFramework:ApplyMods()
for Index, Value in next, Module do
if Library.Flags.NoRecoil.Value then
Value.Weight = 0;
else
Value.Weight = Originals[Index].Weight
end;

if Library.Flags.FastBullet.Value then
Value.BaseVelocity = 50000;
else
Value.BaseVelocity = Originals[Index].BaseVelocity
end;
end;
end;

setreadonly(math, false);
local old = math.random;

math.random = function(...)
if debug.traceback() and debug.traceback():find("Fire", 1, true)
and not debug.traceback():find("Reload", 1, true) and not
debug.traceback():find("RunAnimation", 1, true) and Library.Flags.NoSpread and
Library.Flags.NoSpread.Value then
return 0
end;

return old(...)
end;
end;
if GameName == "Criminality" then
local ItemStats = ReplicatedStorage.Storage.ItemStats;
local Items = {};

for Index, Value in next, ItemStats:GetChildren() do


for Index, Item in next, Value:GetChildren() do
table.insert(Items, Item.Name);
end;
end;

GameFramework.CrimItems = Items;
end;

GameFramework.Originals = Originals;
end;

do --// GetGC
LPH_NO_VIRTUALIZE(function()
if GameName == "Project Delta" then
for Index, Value in next, getgc(true) do
if type(Value) == "table" then
if rawget(Value, "updateClient") then
GameFramework.FPS = Value;
elseif rawget(Value, "SetZoomTarget") then
GameFramework.SetTargets = Value;
elseif rawget(Value, "CreateBullet") then
GameFramework.Bullet = Value;
elseif rawget(Value, "RangedWeaponDefault") then
GameFramework.WeaponFunctions = Value;
end;
end;
end;
end;

if GameName == "Blackout" then


GameFramework.BulletHandler = nil

for Index, Value in next, getgc(true) do


if type(Value) == "table" and rawget(Value, "Fire") and
type(rawget(Value, "Fire")) == "function" then
if debug.getinfo(Value.Fire).short_src ==
"ReplicatedStorage.GunStorage.Mods.BulletHandler" then
GameFramework.BulletHandler = Value
end
end
end

for Index, Value in next, getgc(true) do


if type(Value) == "table" and rawget(Value, "Springs") and
type(rawget(Value, "Springs")) == "table" then
GameFramework.Main = Value;

for Index, Value in next, Value.Springs do


local Clone = {};
for Idx, Val in next, Value do
Clone[Idx] = Val;
end;
GameFramework.Originals[tostring(Index)] = Clone;
end;
end;
end;
end;

if GameName == "Apocalypse Rising 2" then


local Framework = require(ReplicatedFirst.Framework);
local PlayerClass = Framework.Classes.Players.get();
local Bullets = Framework.Libraries.Bullets;
local Network = Framework.Libraries.Network;
local Raycasting = Framework.Libraries.Raycasting;
local CameraLibrary = Framework.Libraries.Cameras;

local Animators = Framework.Classes.Animators;


local VehicleController = Framework.Classes.vehicle_controller;

GameFramework.Framework = Framework;
GameFramework.Players = PlayerClass;
GameFramework.Bullets = Bullets;
GameFramework.Network = Network;
GameFramework.Raycast = Raycasting;
GameFramework.Camera = CameraLibrary;
GameFramework.Animators = Animators;
GameFramework.Vehicle = VehicleController;
end;

if GameName == "Criminality" then


local ACTable;
local RCHBFunction;
local ONRH_S4;
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value, "A") and
rawget(Value, "B") and rawget(Value, "GP") and rawget(Value, "EN") and
rawget(Value, "CX1") then
ACTable = Value;
end;
end;

--[[for Index, Value in next, getgc(true) do


if type(Value) == "table" and rawget(Value, "ONRH_S4") and
type(rawget(Value, "ONRH_S4")) == "function" then
ONRH_S4 = Value.ONRH_S4
break;
end;
end;

for Index, Value in next, getgc(true) do


if type(Value) == "table" and rawget(Value, "lol") and
type(rawget(Value, "lol")) == "function" and
getinfo(Value.lol).source:find(".RCHB") then
RCHBFunction = Value.lol
break;
end;
end;]]

--// we're gonna manipulate this here


--[[for Index, Value in next, debug.getconstants(RCHBFunction) do
if Value == 1.75 or Value == 10 then
setconstant(RCHBFunction, Index, 20);
end;
end;

for Index, Value in next, debug.getconstants(ONRH_S4) do


if Value == 1.5 or Value == 10 then
setconstant(ONRH_S4, Index, 20);
end;
end;]]
end;
end)();
end;

do --// Modules
if GameName == "Criminality" then
GameFramework.Modules = {};
local Modules = ReplicatedStorage:FindFirstChild("NewModules");
if Modules and Modules:FindFirstChild("Shared") then
local FastCast = require(Modules.Shared.Services.FastCastRedux);
--for Index, Value in next, getgc(true) do
-- if type(Value) == "table" and rawget(Value,
"FireWithBlacklist") and type(rawget(Value, "FireWithBlacklist")) == "function"
then
-- local Src =
debug.getinfo(Value.FireWithBlacklist).short_src
-- if Src:find("FastCastRedux") then
-- FastCast = Value
-- end
-- end
--end
GameFramework.Modules.FastCast = FastCast;
end;
end;
end;

do --// Functions
LPH_NO_VIRTUALIZE(function()

function GameFramework:ApplyModifications()
for Index, Value in next, GameFramework.Main.Springs do
if Library.Flags.RemoveRecoil and
Library.Flags.RemoveRecoil.Value then
Value.Speed = 0;
Value.Force = 0;
else
Value.Speed =
GameFramework.Originals[tostring(Index)].Speed;
Value.Force =
GameFramework.Originals[tostring(Index)].Force;
end;
end;
end;

function GameFramework:Fit(Table, Key)


for Index, Value in pairs(Table) do
if Value == Key then
return Index;
end;
end;
end;

function GameFramework:CrimRandomStr(Length)
local t = ""
for i = 1, Length do
t = t .. string.char(math.random(65,122))
end
return t
end;

function GameFramework:FireBullet()
local Emoji = "🍯";
local Tool = Client.Character:FindFirstChildOfClass("Tool")
local String =
GameFramework:CrimRandomStr(30)..tostring(GameFramework.ShotNumber);
local Num = 1;
local Part = Combat.TargetPart;
local Position = Part.Position;
local Unit = (Camera.CFrame.p - Position).Unit;
local NinthArg = nil;

if rawget(require(Tool.Config), "FireRate") and


Tool:FindFirstChild("Values") and Tool.Values:FindFirstChild("Ammo").Value ~= 0
then
local FireRate = 0.4

if Library.Flags.RapidFire and Library.Flags.RapidFire.Value


and (Tool.Name == "TEC-9" or Tool.Name == "Beretta") then
FireRate = 1 / Library.Flags.FireRate.Value
end;

if tick() - GameFramework.LastShotTick > FireRate and


Utility:AutoWall(Client.Character.Head, Part, 4) and not
GameFramework.IsSettingUpReload then
task.spawn(function()
GameFramework.ShotNumber += 1
delay(5, function()
GameFramework.ShotNumber -= 1
end);
end);

local ShootRemote = ReplicatedStorage.Events.GNX_S;


local HitRemote = ReplicatedStorage.Events.ZFKLF_H;

ShootRemote:FireServer(
tick(),
String,
Tool,
"FDS9I83",
Camera.CFrame.p,
{
[1] = Unit
}
);

HitRemote:FireServer(
Emoji,
Tool,
String,
1,
Part,
Position,
Unit,
nil,
NinthArg
);

Headshot.SoundId =
HitmarkerSounds[Library.Flags["HitSound"].Value];
Headshot.Volume = Library.Flags.HitmarkerVolume.Value;

Headshot:Play()

if Library.Flags.Tracers.Value then
task.spawn(function()
if Library.Flags.TracerMode.Value == "Line" then
Visuals:NewLine(Client.Character.Head.Position,
Position);
else

Visuals:NewTracer(Client.Character.Head.Position, Position,
Workspace.Filter.ToolSpawns)
end;
end);
end;

GameFramework.LastShotTick = tick()
end;
end;
end;

function GameFramework:CrimMods()

if not GameFramework.GunHasBeenModified then


local GunTable = {};
GunTable.HasShot = false;
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value, "Shoot") then
GunTable = Value;
end;
end;

do --// GunTable (Silent Aim)


local OldShoot = GunTable.Shoot;
GunTable.Shoot = function(self, ...)
local Args = {...};
GameFramework.GunHasBeenModified = true;
if Client.Character and Combat.TargetPart and
Library.Flags.SilentAim and Library.Flags.SilentAim.Value and
Library.Flags.AimMode.Value == "Silent Aim" and
Client.Character:IsAncestorOf(Args[3]) then
setreadonly(Args[5], false);

local Origin = Args[4];


local BulletVelocity =
GameFramework.CurrentVelocity or 1100;
local Velocity = Combat.TargetPart.Velocity;

Velocity = Vector3.new(Velocity.X, 0, Velocity.Y);


if Velocity and BulletVelocity and not
Library.Flags.InstantHit.Value then
local Distance = (Args[4] -
Combat.TargetPart.Position).Magnitude;
local TimeToHit = Distance / BulletVelocity;

local PredictedPosition =
Combat.TargetPart.Position + (Velocity * TimeToHit);

if Library.Flags.InstantHit and
Library.Flags.InstantHit.Value then
PredictedPosition =
Combat.TargetPart.Position + (Velocity / math.huge) + (Velocity / math.huge)
end;
local Direction = (PredictedPosition -
Origin).Unit;

Args[5][1] = Direction;
end;

if Library.Flags.MagicBullet and
Library.Flags.MagicBullet.Value then
Args[4] =
(CFrame.new(Combat.TargetPart.Position) * CFrame.new(0, 0, -3)).p;
Args[5][1] = (Combat.TargetPart.Position -
Args[4]).Unit * 9e9

Origin = Args[4];
end;

if Library.Flags.InstantHit.Value and not


Library.Flags.MagicBullet.Value then
local Direction = ((Combat.TargetPart.Position
- Origin).Unit * 9e9)
Args[5][1] = Direction;
end;

--[[if Library.Flags.ForceHit and


Library.Flags.ForceHit.Value then
task.spawn(function()
task.wait(0.05);
local Emoji = "🍯";
local Tag = GameFramework.CrimTags;

ReplicatedStorage.Events:FindFirstChild("ZFKLF_H"):FireServer(
Emoji,

Client.Character:FindFirstChildOfClass("Tool"),
Tag,
1,
Combat.TargetPart,
Combat.TargetPart.Position,
Args[5][1]
);
end);
end;]]
end;

do --// Tracers
if Library.Flags.Tracers and
Library.Flags.Tracers.Value then
task.spawn(function()
local Origin = Args[4];
local Direction = Args[5][1] * 1000;
local RayHit, HitPos =
Workspace:FindPartOnRayWithIgnoreList(
Ray.new(Origin, Direction),
{Camera, Client.Character},
false,
true,
""
);

if HitPos then
if Library.Flags.TracerMode.Value ==
"Line" then
Visuals:NewLine(Origin, HitPos);
else
Visuals:NewTracer(Origin, HitPos,
Workspace.Filter.ToolSpawns)
end;
end;
end);
end;
end;
return OldShoot(self, unpack(Args));
end;
end;
end;
end;

function GameFramework:CheckDowned(Target)
local Name = Target.Name;
local PlayerStats = ReplicatedStorage.CharStats[Name]

return (PlayerStats and PlayerStats.Downed.Value) or false


end;

function GameFramework:CrimHitObject(Object, Class, Part, WeaponInfo)


if Object and Class ~= "Weapon" then
local RemoteTick =
ReplicatedStorage.Events:FindFirstChild("XMHH.2"):InvokeServer(
"🍞",
tick(),
Client.Character:FindFirstChildOfClass("Tool"),
"DZDRRRKI",
Object,
Class
);

ReplicatedStorage.Events:FindFirstChild("XMHH2.2"):FireServer(
"🍞",
tick(),
Client.Character:FindFirstChildOfClass("Tool"),
"2389ZFX34",
RemoteTick,
false,
Client.Character["Right Arm"],
Part,
Object,
Client.Character["Right Arm"].Position,
Part.Position
);
end;

if Object and Class == "Weapon" then


if WeaponInfo and WeaponInfo.Delay and WeaponInfo.AttackType
then
if WeaponInfo.AttackType == "Hit" then
local RemoteTick =
ReplicatedStorage.Events:FindFirstChild("XMHH.2"):InvokeServer(
"🍞",
tick(),
Client.Character:FindFirstChildOfClass("Tool"),
"43TRFWX",
"Normal",
tick(),
true,
true
);

task.wait(WeaponInfo.Delay) --// Wait delay so it


registers.

ReplicatedStorage.Events:FindFirstChild("XMHH2.2"):FireServer(
"🍞",
tick(),
Client.Character:FindFirstChildOfClass("Tool"),
"2389ZFX34",
RemoteTick,
true,
Client.Character["Left Arm"],
Part,
Object,
Client.Character["Left Arm"].Position,
Part.Position
);
end;

if WeaponInfo.AttackType == "Finish" then


local RemoteTick =
ReplicatedStorage.Events:FindFirstChild("XMHH.2"):InvokeServer(
"🍞",
tick(),
Client.Character:FindFirstChildOfClass("Tool"),
"EXECQX"
);

task.wait(0.5);
ReplicatedStorage.Events:FindFirstChild("XMHH2.2"):FireServer(
"🍞",
tick(),
Client.Character:FindFirstChildOfClass("Tool"),
"2389ZFX34",
RemoteTick,
false,
Client.Character["Right Leg"],
Part,
Object,
Client.Character["Right Leg"].Position,
Part.Position
);
end;
end;
end;
end;

function GameFramework:RunCharacterFunctions()

--[[
local Module =
require(game:GetService("Players").LocalPlayer.Backpack["AKM 1P63"].Gun_Statistics)

Module.CameraRecoilUp = 0
Module.CameraRecoilSides = 0
Module.GunRecoilUp = 0
Module.GunRecoilSides = 0
]]

do --// Eastern War


if GameName == "Eastern War" then
Client.Character.ChildAdded:Connect(function(Tool)
if Tool:IsA("Tool") then
task.spawn(function()
local Module =
Tool:WaitForChild("Gun_Statistics", 5);

if Module then
Module = require(Module)
if Library.Flags.RemoveRecoil and
Library.Flags.RemoveRecoil.Value then
Module.CameraRecoilUp = 0
Module.CameraRecoilSides = 0
Module.GunRecoilUp = 0
Module.GunRecoilSides = 0
end

if Library.Flags.RemoveSway and
Library.Flags.RemoveSway.Value then
Module.SwaySpringSpeed1 = 0
Module.SwaySpringSpeed2 = 0
end
end

end)
end
end)
end
end

do --// Universal stuff


if IsStudio then
RayParams.FilterDescendantsInstances = {Client.Character,
Camera, Workspace.ACS_WorkSpace.Client}
end;
end;

do --// Delta
if GameName == "Project Delta" then
RayParams.FilterDescendantsInstances = {Client.Character,
Camera, Workspace.NoCollision}
end;
end;

do --// Criminality
if GameName == "Criminality" then
GameFramework.HeadGlitch = false;
GameFramework.StaminaTables = {};

RayParams.FilterDescendantsInstances = {Client.Character,
Camera, Workspace.Filter}

for Index, Value in pairs(getgc(true)) do


if type(Value) == "table" and rawget(Value, "S") then

GameFramework.StaminaTables[#GameFramework.StaminaTables + 1] = Value;
end;
end;

local ClientGUI = Client.PlayerGui;


local Viewmodel = Camera:FindFirstChild("ViewModel");
do --// Visuals, Lockpicking, Instant Reload
Client.Character.ChildAdded:Connect(function(Tool)
if Tool.ClassName == "Tool" then

if Tool and Tool:FindFirstChild("Config") then


GameFramework.CurrentConfig =
require(Tool.Config);

if Library.Flags.InstantReload and
Library.Flags.InstantReload.Value then
GameFramework.IsSettingUpReload =
Tool:FindFirstChild("IsGun");

if GameFramework.IsSettingUpReload then
local Remote =
ReplicatedStorage.Events.GNX_R;
local Tool =
Client.Character:FindFirstChildOfClass("Tool");
Remote:FireServer(tick(), "STZNRD",
Tool, math.random() / 10);

--task.wait(3);
--Remote:FireServer(tick(),
"KLWE89U0", Tool);
task.wait(0.2);
GameFramework.IsSettingUpReload =
false;
end;
end;
end;

GameFramework.GunHasBeenModified = false;
end;
end);

repeat wait() until Viewmodel;


Viewmodel.ChildAdded:Connect(function(Tool)
if Tool:IsA("Tool") then
Utility:UpdateViewmodel(Viewmodel);
end;
end);

ClientGUI.ChildAdded:Connect(function(GUI)
task.spawn(function()
if GUI.Name == "LockpickGUI" then
if Library.Flags.InstantLockpick and
Library.Flags.InstantLockpick.Value then
task.wait(0.1);
local Bars = GUI.MF.LP_Frame.Frames
for Index = 1, 3 do
local BarFrame =
Bars:FindFirstChild("B"..tostring(Index));
local ActualBar =
BarFrame:FindFirstChild("Bar");
ActualBar.Size = UDim2.new(0, 0, 0,
500)
end;

for Index = 1, 3 do
task.wait(0.1);
mouse1click();
task.wait(0.1);
end;

task.wait(0.1);
mouse1click()
task.wait(0.1);
mouse1click()
else
task.wait(0.1);
local Bars = GUI.MF.LP_Frame.Frames
for Index = 1, 3 do
local BarFrame =
Bars:FindFirstChild("B"..tostring(Index));
local ActualBar =
BarFrame:FindFirstChild("Bar");
ActualBar.Size = UDim2.new(0, 30,
0, 30)
end;
end;
end;

if GUI.Name == "FlashedGUI" and


Library.Flags.NoFlash and Library.Flags.NoFlash.Value then
GUI.Enabled = false;

GUI:GetPropertyChangedSignal("Enabled"):Connect(function()
GUI.Enabled = false;
end);
end;

if GUI.Name == "SmokeScreenGUI" and


Library.Flags.NoSmoke and Library.Flags.NoSmoke.Value then
GUI.Enabled = false;

GUI:GetPropertyChangedSignal("Enabled"):Connect(function()
GUI.Enabled = false;
end);
end;

if GUI.Name == "HelmetOverlayGUI" and


Library.Flags.NoVisor and Library.Flags.NoVisor.Value then
GUI.Enabled = false;

GUI:GetPropertyChangedSignal("Enabled"):Connect(function()
GUI.Enabled = false;
end);
end;

end);
end);

--game:GetService("Players")
["99str4lif"].PlayerGui.CoreGUI.NotificationFrame:GetChildren()
[4].Frame.NotificationText
--#d900: $1660
--ClientCoreGui = ClientGUI:WaitForChild("CoreGUI");
--task.wait(0.1);
--local NotificationFrame =
ClientCoreGui:WaitForChild("NotificationFrame");

--for Index, Frame in next,


NotificationFrame:GetChildren() do
-- local NotificationText =
Frame:WaitForChild("NotificationText");
-- local Text = NotificationText.Text;
-- local Split = Text:split(": ");
-- if Split[1] and Split[2] then
-- GameFramework.CrimBounties[Split[1]] =
Split[2];
-- end;
--
-- local OtherSplit = Text:split("'s $")
-- if OtherSplit[1] and OtherSplit[2] and
GameFramework.CrimBounties[OtherSplit[1]] then
-- GameFramework.CrimBounties[OtherSplit[1]] =
nil;
-- end;
--end;

--
NotificationFrame.DescendantAdded:Connect(function(Frame)
-- task.wait(0.3)
-- if Frame.Name == "NotificationText" then
-- task.wait(0.3);
-- NotificaitonText = Frame
-- local Text = NotificationText.Text;
-- local Split = Text:split(": ");
-- if Split[1] and Split[2] then
-- print('hi')
-- GameFramework.CrimBounties[Split[1]] =
Split[2];
-- end;
--
-- local OtherSplit = Text:split("'s $")
-- if OtherSplit[1] and OtherSplit[2] and
GameFramework.CrimBounties[OtherSplit[1]] then
-- print("woahashs")
-- GameFramework.CrimBounties[OtherSplit[1]]
= nil;
-- end;
-- end
-- end);

Client.Character.ChildAdded:Connect(function(Object)
task.wait(0.05);
if Object.Name == "BurningScript" and
Library.Flags.AntiFire and Library.Flags.AntiFire.Value then
task.wait(0.1);
Object:ClearAllChildren();
Object:Destroy();

for Index, Value in next,


Client.Character:GetChildren() do
if Value:IsA("BasePart") then
if Value:FindFirstChild("Flames") then
Value.Flames:Destroy();
end;

if Value:FindFirstChild("Flames1") then
Value.Flames1:Destroy();
end;

if Value:FindFirstChild("Flames2") then
Value.Flames2:Destroy();
end;
end;
end;
end;
end);
end;
end;
end;

do --// Project Delta


if GameName == "Project Delta" then
local Humanoid =
Client.Character:FindFirstChildOfClass("Humanoid");

Humanoid.StateChanged:Connect(function(OldState, NewState)
if Library.Flags.AntiFall and
Library.Flags.AntiFall.Value and (NewState == Enum.HumanoidStateType.FallingDown or
NewState == Enum.HumanoidStateType.Freefall) then

Humanoid:ChangeState(Enum.HumanoidStateType.Landed);
end;
end);

local PlayerGui = Client.PlayerGui


local MainGui = PlayerGui and
PlayerGui:WaitForChild("MainGui");

task.spawn(function()
repeat task.wait() until MainGui ~= nil;
MainGui.ChildAdded:Connect(function(Sound)
if Sound and Sound:IsA("Sound") and
Library.Flags.CustomHitSounds and Library.Flags.CustomHitSounds.Value then
local SoundId = Sound.SoundId

if SoundId == "rbxassetid://4585351098" or
SoundId == "rbxassetid://4585382589" then
Sound.SoundId =
HitmarkerSounds[Library.Flags["HeadshotSound"].Value];
Sound.Volume =
Library.Flags.HitmarkerVolume.Value;
end;

if SoundId == "rbxassetid://4585382046" or
SoundId == "rbxassetid://4585364605" then
Sound.SoundId =
HitmarkerSounds[Library.Flags["BodyshotSound"].Value];
Sound.Volume =
Library.Flags.HitmarkerVolume.Value;
end;

if Sound.SoundId == "rbxassetid://9120454415"
then
if Library.Flags.EliminateKillSound.Value
then
Sound.Volume = 0;
Sound.SoundId = "";
else
Sound.SoundId =
HitmarkerSounds[Library.Flags["KillSound"].Value]
end;
end;

end;
end);
end);
end;
end;

do --// Blood and Iron


if GameName == "Blood and Iron" then
if not GameFramework.BulletTables then
GameFramework.BulletTables = {};
end;
task.wait(4);
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value,
"BulletMuzzleVelocity") then
if Library.Flags.InstantBullet.Value then
Value.BulletMuzzleVelocity = 5000;
Value.BulletMaximumDeviation = 0.000005;
end;
end;
end;
end;
end;

do --// Blackout
if GameName == "Blackout" then
task.wait(0.5);

if Library.Flags.RemoveBobbing and
Library.Flags.RemoveBobbing.Value then
Client.Character.ScreenShake.Disabled = true;
end;

local Module-- =
require(Client.PlayerGui.Minigames.MinigameHandler.Minigames);
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value, "Lockpick")
and type(rawget(Value, "Lockpick")) == "function" then
Module = Value
end
end

local Lockpick = Module.Lockpick;

Module.Lockpick = function(...)
local Args = {...};

if Library.Flags.InstantLockpick and
Library.Flags.InstantLockpick.Value then
local Object = Args[2];

ReplicatedStorage.Events.Loot.MinigameResult:FireServer(Object, true);

task.wait(0.4);
keypress(0x45);
end;

return Lockpick(...)
end;

end;
end;

do --// la skeets
if GameName == "The Streets" then
local Humanoid = Client.Character:WaitForChild("Humanoid");
local Stamina = Client.Character:WaitForChild("Stamina")

Stamina:GetPropertyChangedSignal("Value"):Connect(function()
if Library.Flags.InfiniteStamina and
Library.Flags.InfiniteStamina.Value then
Stamina.Value = 100;
end;
end);

for _, Part in next, Client.Character:GetDescendants() do


if (Part:IsA("BasePart") or Part:IsA("Part")) then
for Index, Value in next,
getconnections(Part.Touched) do
Value:Disable()
end;

Part.Touched:Connect(function(Value)
if (Library.Flags.Noclip and
Library.Flags.Noclip.Value and Library.Flags.NoClip.Value and Value.Name ~=
"Baseplate") or (Library.Flags.Fly.Value and Library.Flags.CanFly.Value) then
Value.CanCollide = false;
task.wait(0.2)
Value.CanCollide = true
end;
end)
end;
end;
end;
end;
end;

function GameFramework:Bypass()
for _, Value in pairs(Workspace.Vehicles:GetDescendants()) do
if Value:IsA("VehicleSeat") then
local Body = Value.Parent.Parent.Body;
local Vehicle = Value.Parent.Parent;

Value:Sit(Client.Character.Humanoid);

ReplicatedStorage.Remotes.VehicleInteractions:FireServer({["Vehicle"] = Vehicle,
["Action"] = "Enter", ["Door"] = Body.FRdoor.FR_Door});
--Client.Character.PrimaryPart.CFrame =
(Client.Character.PrimaryPart.Position - Vector3.new(0, 5, 0), Vector3.new())
break;
end;
end;
end;

function GameFramework:New()
local NewData;
if GameName == "Project Delta" then
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value, "springs") and
rawget(Value.springs, "sway") then
NewData = Value;
end;
end;
end;

GameFramework.CurrentData = NewData;
return NewViewmodel;
end;
end)()
end;

do --// Blackout teleports


if GameName == "Blackout" then
local Locations = {
["Military Outpost"] = Vector3.new(1109.3585205078125,
61.53301239013672, -405.55517578125);
["Vulture Warehouse"] = Vector3.new(1325.2720947265625,
104.73978424072266, 27.61532974243164);
["Science Labs"] = Vector3.new(568.319580078125,
38.16761779785156, -427.5185852050781);
["Train Station"] = Vector3.new(672.1238403320312,
13.64058780670166, 31.360015869140625);
["Scav Outskirts"] = Vector3.new(359.0443115234375,
38.1496467590332, -453.2912902832031);
["Shipment"] = Vector3.new(1351.1065673828125,
64.10723114013672, 412.8721923828125);
["Border"] = Vector3.new(276.28631591796875,
215.1169891357422, 530.3408203125);
["Bunker"] = Vector3.new(140.03817749023438,
55.033817291259766, 70.00415802001953);
["Feast Alley"] = Vector3.new(781.3847045898438,
84.98567962646484, 312.5820007324219);
["Mall Roof"] = Vector3.new(1116.01806640625,
145.32472229003906, 299.28173828125);
["Bridge"] = Vector3.new(675.9490356445312,
36.689674377441406, 76.6071548461914);
["ATM-1"] = Vector3.new(751.5917358398438,
37.6195068359375, 265.22186279296875);
["ATM-2"] = Vector3.new(1146.425048828125,
37.64427947998047, -57.51604461669922);
["Broker-1"] = Vector3.new(766.7476196289062,
37.61959457397461, 164.548828125);
["Broker-2"] = Vector3.new(1228.158447265625,
80.88734436035156, -110.68136596679688);
["Merchant-1"] = Vector3.new(899.6065673828125,
37.691688537597656, 335.113037109375);
["Merchant-2"] = Vector3.new(1017.595703125,
37.675819396972656, -148.60220336914062);
["Blitz"] = Vector3.new(492.2814025878906,
37.300048828125, 767.5679931640625);
["Scourge"] = Vector3.new(1157.1251220703125, -
108.26828002929688, -81.69584655761719);
};

table.sort(Locations, function(a, b)
return a < b;
end);

GameFramework.Locations = Locations;
end;
end;

do --// Scorched Earth


if GameName == "Scorched Earth" then
local RandomEntity = Workspace.charColliders:GetChildren()[1]
for Index, Value in next, getgc(true) do
if type(Value) == "table" and type(rawget(Value,
RandomEntity.Name)) == "table" then
local Player = rawget(Value, RandomEntity.Name)
if rawget(Player, "colliderModel") then
GameFramework.EntityData = Value;
break
end
end
end
end
end

do --// Bad Bus


if GameName == "Bad Business" then
local TS = getupvalue(require(ReplicatedStorage.TS), 1)
GameFramework.TS = TS

local Projectile = getupvalue(TS.Projectiles.InitProjectile, 1)


local WeaponData = getupvalue(TS.Items.GetConfig, 3)
local EntityList = getupvalue(TS.Characters.GetCharacter, 1)

GameFramework.Projectile = Projectile
GameFramework.WeaponData = WeaponData
GameFramework.EntityList = EntityList
end
end

do --// jit MaxXing


LPH_JIT_MAX(function()

do --// Aftermath
if GameName == "Aftermath" then
local SENV = getsenv(Client.PlayerScripts.GunController)

local Old; Old = hookfunction(SENV.getLookDirection2,


LPH_NO_UPVALUES(function(...)
if Combat.TargetPart and Library.Flags.AimMode.Value ==
"Silent Aim" and not checkcaller() and GameFramework.FakePart then
local Position = Combat.TargetPart.CFrame.p
local Origin = GameFramework.FakePart.CFrame.p
return (Position - Origin).Unit
end

return Old(...)
end));

end
end

do --// CBRO
if GameName == "Counter Blox" then
do --// Client
local SENV = getsenv(Client.PlayerGui.Client)

local Recoil; Recoil = hookfunction(SENV.getrec,


LPH_NO_UPVALUES(function()
local Old = Recoil();
--Originals[tostring(Index)].Recoil.Camera.FinishStart
* (Library.Flags.RecoilPercent.Value / 100)
if Library.Flags.ModRecoil and
Library.Flags.ModRecoil.Value then
return Old * (Library.Flags.RecoilPercent.Value /
100)
end;

return Old
end))
end;

do --// silent aim


local Old; Old = hookfunction(Ray.new,
LPH_NO_UPVALUES(function(...)
local Args = {...}

if Combat.TargetPart and Library.Flags.AimMode.Value ==


"Silent Aim" then
local Origin = Args[1]

Args[2] = (Combat.TargetPart.CFrame.p -
Origin).Unit * 9e9;
end;

return Old(unpack(Args))
end))
end;

end;
end;
end)();

end;
end;

do --// Hooks
LPH_NO_VIRTUALIZE(function()
do --// Metamethods

do --// aftermath
if GameName == "Aftermath" then

do --// Blah
--local Hit; Hit = hookfunction(SENV.getHitInternal,
function(...)
-- local Args = {...}
-- if Combat.TargetPart and Library.Flags.AimMode.Value
== "Silent Aim" and not checkcaller() then
-- Args[1] = Combat.TargetPart
-- end
-- return Hit(unpack(Args))
--end)

local Index; Index = hookmetamethod(game, "__index",


function(self, Property)
if not checkcaller() then
if tostring(self) == "CurrentDirection" and
Property == "Value" then
if Combat.TargetPart and
Library.Flags.AimMode.Value == "Silent Aim" and GameFramework.FakePart then
local Position = Combat.TargetPart.CFrame.p
local Origin =
GameFramework.FakePart.CFrame.p

return (Position - Origin).Unit


end;
end;

if self == Camera and Property == "CFrame" and


Combat.TargetPart and Library.Flags.AimMode.Value == "Silent Aim" then
local Traceback = debug.traceback()
if Traceback:find("GunController") and not
Traceback:find("Position", 1, true) and Client.Character and
Client.Character:FindFirstChild("WorldCharacter") then
return GameFramework.FakePart.CFrame
end
end
end

return Index(self, Property)


end)
end

do --// Errors
local Cache = LogService:GetLogHistory()
local Old;

Old = hookfunction(LogService.GetLogHistory, function(...)


if not checkcaller() then
return {unpack(Cache)};
end;
return Old(...);
end);

for _, Value in pairs(getconnections(ScriptContext.Error))


do
Value:Disable();
end

end;

local Namecall; Namecall = hookmetamethod(game, "__namecall",


function(self, ...)
local Args = {...}
local Method = getnamecallmethod()

if not checkcaller() then


if Method == "FireServer" then

if string.lower(tostring(self)) == "error" then


return
end

end
end
return Namecall(self, ...)
end);
end
end

do --// Combat warriors


if GameName == "Combat Warriors" then
local Remotes = {}

local ActualRemotes = {}
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value, "Remote") then
Remotes[Value.Remote] = Value.Remote.Name
Remotes[Value.Name] = Value.Remote
for Index, Connection in next,
getconnections(Value.Remote:GetPropertyChangedSignal("Name")) do
Connection:Disable()
end;

for Index, Connection in next,


getconnections(Value.Remote.Changed) do
Connection:Disable()
end;

Value.Remote.Name = Value.Name
end

if type(Value) == "table" and rawget(Value,


"calculateFireDirection") then
GameFramework.Projectiles = Value
end

if type(Value) == "table" and rawget(Value, "_setStamina")


then
GameFramework.Stamina = Value
table.foreach(Value, warn)
end

if type(Value) == "table" and rawget(Value,


"DASH_COOLDOWN") then
GameFramework.Dash = Value
table.foreach(Value, print)
end
end

local Index; Index = hookmetamethod(game, "__index",


function(self, Property)
if not checkcaller() then
if Property == "Name" and Remotes[self] then
print(self.Name, " - Fake:", Remotes[self])
return Remotes[self]
end

if self == Mouse and Combat.TargetPart and


Library.Flags.AimMode.Value == "Silent Aim" then
if Property == "UnitRay" then
local Old = Index(self, Property)
return Ray.new(Old.Origin,
(Combat.TargetPart.Position - Old.Origin).Unit)
end
if Property == "Hit" then
return Combat.TargetPart.CFrame
end

if Property == "Position" then


local Position, _ =
Camera:WorldToScreenPoint(Combat.TargetPart.Position)

return Position
end
end
end
return Index(self, Property)
end);

local Namecall; Namecall = hookmetamethod(game, "__namecall",


function(self, ...)
local Args = {...}
local Method = getnamecallmethod()

if not checkcaller() then


if Method == "FireServer" then
if (tostring(self) == "TakeFallDamage" or
tostring(self) == "StartFallDamage" or tostring(self) == "RagdollRemoteEvent") and
Library.Flags.AntiFall and Library.Flags.AntiFall.Value then
return
end

if tostring(self) == "UpdateLastDashTick" and


Library.Flags.NoDashCooldown and Library.Flags.NoDashCooldown.Value then
return
end

if tostring(self) == "GotHitRE" and


Library.Flags.NoBear and Library.Flags.NoBear.Value then
return
end

if tostring(self) == "tut4" or tostring(self) ==


"tut3" or tostring(self) == "FinishTutorial" then
return
end

end
end
return Namecall(self, ...)
end);

local Old = GameFramework.Projectiles.calculateFireDirection


GameFramework.Projectiles.calculateFireDirection =
function(...)
local Args = {...}
if Combat.TargetPart and Library.Flags.AimMode.Value ==
"Silent Aim" then
local Tool =
Client.Character:FindFirstChildOfClass("Tool")
return
(CFrame.lookAt(Tool.Contents.Handle.FirePoint.WorldCFrame.Position,
Combat.TargetPart.Position)).LookVector * 30;
end

return Old(unpack(Args))
end;

local Stamina = GameFramework.Stamina._setStamina


GameFramework.Stamina._setStamina = function(...)
local Args = {...}
if Library.Flags.InfiniteStamina.Value then

Args[1]._stamina = 100
--Args[1]._staminaChangedSignal:Fire(100)

return
end

return Stamina(unpack(Args))
end

end;
end

do --// Anarchy
if GameName == "State Of Anarchy" then
local Index; Index = hookmetamethod(game, "__index",
function(self, Property)
if tostring(self) == "Shoot" and Property == "CFrame" and
debug.traceback() then
if Library.Flags.AimMode.Value == "Silent Aim" and
Combat.TargetPart and debug.traceback():find("shootGun", 1, true) then
if Library.Flags.MagicBullet.Value then
local Behind = (Combat.TargetPart.CFrame *
CFrame.new(0,0,1)).p;

return CFrame.new(Behind,
Combat.TargetPart.CFrame.p)
end

return CFrame.new(self.Position,
Combat.TargetPart.Position)
end
end

return Index(self, Property)


end)
end
end

do --// Scorched
if GameName == "Scorched Earth" then
local Index; Index = hookmetamethod(game, "__index",
function(self, Property)
if tostring(self):lower() == "muzzle" and Property ==
"CFrame" then
if Library.Flags.AimMode.Value == "Silent Aim" and
Combat.TargetPart then
if Library.Flags.Manipulation and
Library.Flags.Manipulation.Value then
local Destination = Combat.TargetPart;
local Origin = self.Position;

if Origin and Destination then


local VisiblePosition =
Utility:FindVisiblePosition(Origin, Destination);

if VisiblePosition then
Combat.ManipulatedPosition =
VisiblePosition;
local Player = GameFramework.EntityData
and rawget(GameFramework.EntityData, Client.Name)

local Speed =
Player.loadoutData.primary.staticData.velocity
local Drag =
Player.loadoutData.primary.staticData.drag
if Drag == 0 then
Drag = 0.0001
end
local Distance = (Origin -
Destination.Position).Magnitude;
local TimeToHit = Distance / Speed;
local Velocity =
rawget(GameFramework.EntityData,
Combat.Target.Name).colliderModel:FindFirstChildOfClass("MeshPart").Velocity

local Predicted = Destination.CFrame.p


+ (Velocity * TimeToHit);
local Delta = (Predicted -
Destination.CFrame.p).Magnitude;

local NewSpeed = Speed - Drag * Speed ^


2 * TimeToHit ^ 2;
TimeToHit += (Delta / NewSpeed);

Predicted = Destination.CFrame.p +
(Velocity * TimeToHit)
return CFrame.new(VisiblePosition,
Predicted);
else
Combat.ManipulatedDirection =
(Destination.Position - Origin).Unit;
Combat.ManipulatedPosition = Origin;
end;
end;
end;

local Player = GameFramework.EntityData and


rawget(GameFramework.EntityData, Client.Name)

local Speed =
Player.loadoutData.primary.staticData.velocity
local Drag =
Player.loadoutData.primary.staticData.drag
if Drag == 0 then
Drag = 0.0001
end

local Distance = (self.Position -


Destination.CFrame.p).Magnitude;
local TimeToHit = Distance / Speed;
local Velocity = rawget(GameFramework.EntityData,
Combat.Target.Name).colliderModel:FindFirstChildOfClass("MeshPart").Velocity

local Predicted = Destination.CFrame.p + (Velocity


* TimeToHit);
local Delta = (Predicted -
Destination.CFrame.p).Magnitude;

local NewSpeed = Speed - Drag * Speed ^ 2 *


TimeToHit ^ 2;
TimeToHit += (Delta / NewSpeed);

Predicted = Destination.CFrame.p + (Velocity *


TimeToHit)
return CFrame.new(self.Position,
Combat.TargetPart.Position)
end
end

return Index(self, Property)


end)
end
end

do --// Eastern War

if GameName == "Eastern War" then


do --// Game
local NewIndex; NewIndex = hookmetamethod(game,
"__newindex", function(self, Property, Value)
if self == Camera and Property == "CFrame" and
Library.Flags.RemoveCameraBobbing and Library.Flags.RemoveCameraBobbing.Value and
debug.traceback() then
if debug.traceback():find("Framework", 1 , true)
then
Value = Camera.CFrame
end
end

return NewIndex(self, Property, Value)


end);

local Index; Index = hookmetamethod(game, "__index",


function(self, Property)
if tostring(self) == "FirePart" and Property ==
"CFrame" and debug.traceback() then
if Library.Flags.AimMode.Value == "Silent Aim" and
Combat.TargetPart then
if Library.Flags.BulletTP.Value then
local Behind = (Combat.TargetPart.CFrame *
CFrame.new(0,0,1)).p;

return CFrame.new(Behind,
Combat.TargetPart.CFrame.p)
end

return CFrame.new(self.Position,
Combat.TargetPart.Position)
end
end

return Index(self, Property)


end)

--[[local Namecall; Namecall = hookmetamethod(game,


"__namecall", function(self, ...)
local Args = {...};
local Method = getnamecallmethod()

if self == workspace and not checkcaller() then --//


Silent aim
if debug.traceback() and Method == "Raycast" and
Library.Flags.SilentAim and Library.Flags.SilentAim.Value and Library.Flags.AimMode
and Library.Flags.AimMode.Value == "Silent Aim" and Combat.TargetPart then
local Trace = debug.traceback()
if not Trace:find("ViewmodelDistance") and not
Trace:find("RenderViewmodel") then
print(debug.traceback())
local HitPart = Combat.TargetPart;
local Origin = Args[1];

if Library.Flags.BulletTP and
Library.Flags.BulletTP.Value then
Args[1] = (HitPart.CFrame *
CFrame.new(0,0,1)).p;
Origin = (HitPart.CFrame *
CFrame.new(0,0,1)).p;
end;
Args[2] = (HitPart.Position - Origin).Unit
* 1000;
end;
end;

end;

return Namecall(self, unpack(Args));


end);]]
end

end;
end;

do --// Universal
if not IsStudio and GameName == "Universal" then

do --// Main
local Index; Index = hookmetamethod(game, "__index",
function(self, Property)
if not checkcaller() then
if self == Lighting and Properties["Lighting"]
[Property] then
return Properties["Lighting"][Property];
end;
end;
return Index(self, Property)
end);
local Namecall; Namecall = hookmetamethod(game,
"__namecall", function(self, ...)
local Args = {...};
local Method = getnamecallmethod()

local Blocked = Library.Flags.BlockedMethods and


Library.Flags.BlockedMethods.Value or {};

if Method == "Destroy" and self == Client then


return
end
if Method == "BulkMoveTo" and table.find(Blocked,
Method) then
return
end;

if Method == "PivotTo" and table.find(Blocked, Method)


then
return
end;

if Method == "TranslateBy" and table.find(Blocked,


Method) then
return
end;

if Method == "SetPrimaryPartCFrame" and


table.find(Blocked, Method) then
return
end;

if self == workspace and not checkcaller() then --//


Silent aim
local Ignored;
local OGOrigin;
local CanContinue = false;

if Library.Flags.CheckForFireFunc and
Library.Flags.CheckForFireFunc.Value and debug.traceback() and (Method ==
"FindPartOnRay" or Method == "FindPartOnRayWithWhitelist" or Method ==
"FindPartOnRayWithIgnoreList" or Method == "Raycast" or Method ==
"ViewportPointToRay" or Method == "ScreenPointToRay") then
local Traceback =
tostring(debug.traceback()):lower();

if Traceback:find("bullet") or
Traceback:find("gun") or Traceback:find("fire") then
CanContinue = true;
else
return Namecall(self, ...);
end;
end;

if Method == "Raycast" then


OGOrigin = Args[1];
Ignored = Args[3] and
Args[3].FilterDescendantsInstances;
end;
if Method == "FindPartOnRayWithIgnoreList" then
OGOrigin = Args[1].Origin;
Ignored = Args[2];
end;
if Method == "FindPartOnRayWithWhitelist" then
OGOrigin = Args[1].Origin;
end;
if Method == "FindPartOnRay" then
OGOrigin = Args[1].Origin;
end;

if Origin and Library.Flags.Origin then


if table.find(Library.Flags.Origin.Value,
"Camera") and OGOOrigin == Camera.CFrame.p then
CanContinue = true;
end;
else
CanContinue = true;
end;

if Ignored and Library.Flags.Include then


if table.find(Library.Flags.Include.Value,
"Camera") and not table.find(Ignored, Camera) then
return Namecall(self, ...);
end;

if table.find(Library.Flags.Include.Value,
"Character") and not table.find(Ignored, Client.Character) then
return Namecall(self, ...);
end;
end;

if CanContinue and Method == "ViewportPointToRay"


and Library.Flags.SilentAim and Library.Flags.SilentAim.Value and
Library.Flags.AimMode and Library.Flags.AimMode.Value == "Silent Aim" and
Library.Flags.SilentMethod and Library.Flags.SilentMethod.Value == Method and
Combat.TargetPart then
local Origin = Camera.CFrame.p;

if Library.Flags.BulletTP and
Library.Flags.BulletTP.Value then
Origin = (Camera.CFrame *
CFrame.new(0,0,1)).p;
end;

local HitPart = Combat.TargetPart

return Ray.new(Origin, (HitPart.Position -


Origin).Unit * Library.Flags.MultiplyUnitBy.Value);
end;

if CanContinue and Method == "ScreenPointToRay" and


Library.Flags.SilentAim and Library.Flags.SilentAim.Value and Library.Flags.AimMode
and Library.Flags.AimMode.Value == "Silent Aim" and Library.Flags.SilentMethod and
Library.Flags.SilentMethod.Value == Method and Combat.TargetPart then
local Origin = Camera.CFrame.p;

if Library.Flags.BulletTP and
Library.Flags.BulletTP.Value then
Origin = (Camera.CFrame *
CFrame.new(0,0,1)).p;
end;
local HitPart = Combat.TargetPart

return Ray.new(Origin, (HitPart.Position -


Origin).Unit * Library.Flags.MultiplyUnitBy.Value);
end;

if CanContinue and Method == "Raycast" and


Library.Flags.SilentAim and Library.Flags.SilentAim.Value and Library.Flags.AimMode
and Library.Flags.AimMode.Value == "Silent Aim" and Library.Flags.SilentMethod and
Library.Flags.SilentMethod.Value == "Raycast" and Combat.TargetPart then
local HitPart = Combat.TargetPart;
local Origin = Args[1];

if Library.Flags.BulletTP and
Library.Flags.BulletTP.Value then
Args[1] = (HitPart.CFrame *
CFrame.new(0,0,1)).p;
Origin = (HitPart.CFrame *
CFrame.new(0,0,1)).p;
end;
Args[2] = (HitPart.Position - Origin).Unit *
Library.Flags.MultiplyUnitBy.Value;
end;

if CanContinue and Method ==


"FindPartOnRayWithIgnoreList" and Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and Library.Flags.AimMode and
Library.Flags.AimMode.Value == "Silent Aim" and Library.Flags.SilentMethod and
Combat.TargetPart and Library.Flags.SilentMethod.Value ==
"FindPartOnRayWithIgnoreList" then
local HitPart = Combat.TargetPart;
local OriginalRay = Args[1];
local Origin = OriginalRay.Origin;

if Library.Flags.BulletTP and
Library.Flags.BulletTP.Value then
Origin = (HitPart.CFrame *
CFrame.new(0,0,1)).p;
end;

Args[1] = Ray.new(Origin, (HitPart.Position -


Origin).Unit * Library.Flags.MultiplyUnitBy.Value);
end;

if CanContinue and Method ==


"FindPartOnRayWithWhitelist" and Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and Library.Flags.AimMode and
Library.Flags.AimMode.Value == "Silent Aim" and Library.Flags.SilentMethod and
Combat.TargetPart and Library.Flags.SilentMethod.Value ==
"FindPartOnRayWithWhitelist" then
local HitPart = Combat.TargetPart;
local OriginalRay = Args[1];
local Origin = OriginalRay.Origin;

if Library.Flags.BulletTP and
Library.Flags.BulletTP.Value then
Origin = (HitPart.CFrame *
CFrame.new(0,0,1)).p;
end;

Args[1] = Ray.new(Origin, (HitPart.Position -


Origin).Unit * Library.Flags.MultiplyUnitBy.Value);
end;

if CanContinue and Method == "FindPartOnRay" and


Library.Flags.SilentAim and Library.Flags.SilentAim.Value and Library.Flags.AimMode
and Library.Flags.AimMode.Value == "Silent Aim" and Library.Flags.SilentMethod and
Combat.TargetPart and Library.Flags.SilentMethod.Value == "FindPartOnRay" then
local HitPart = Combat.TargetPart;
local OriginalRay = Args[1];
local Origin = OriginalRay.Origin;

if Library.Flags.BulletTP and
Library.Flags.BulletTP.Value then
Origin = (HitPart.CFrame *
CFrame.new(0,0,1)).p;
end;
Args[1] = Ray.new(Origin, (HitPart.Position -
Origin).Unit * Library.Flags.MultiplyUnitBy.Value);
end;
end;

return Namecall(self, unpack(Args));


end);
end;
end;
end;

do --// CBRO
if GameName == "Counter Blox" or GameName == "Arsenal" then
local Index; Index = hookmetamethod(game, '__index',
function(self, Property)
if not checkcaller() then --// Gun mods
if Property == "Value" then

--// Spread
if (self.Name == "SpreadRecovery" or self.Name ==
"Spread" or self.Name == "Fire" or self.Name == "Jump" or self.Name == "Stand" or
self.Name == "Land" or self.Name == "Move" or self.Name == "Ladder" or self.Name ==
"InitialJump" or self.Name == "Crouch") and Library.Flags.ReduceSpread and
Library.Flags.ReduceSpread.Value then
local Old = Index(self, Property)
return Old * (Library.Flags.SpreadPercent.Value
/ 100)
end;

if (self.Name == "RecoilControl") and GameName ==


"Arsenal" and Library.Flags.ModRecoil and Library.Flags.ModRecoil.Value then
local Old = Index(self, Property)
return Old * (Library.Flags.RecoilPercent.Value
/ 100)
end;

if self.Name == "ReloadTime" and


Library.Flags.InstantReload and Library.Flags.InstantReload.Value then
return 0.1;
end;

if self.Name == "EquipTime" and


Library.Flags.InstantEquip and Library.Flags.InstantEquip.Value then
return 0.1;
end;
end;

if self == Camera and Property == "CFrame" and GameName


== "Arsenal" and Combat.TargetPart and Library.Flags.AimMode.Value == "Silent Aim"
then
local Traceback = debug.traceback();

if Traceback and (Traceback:find("Weapons")) then


task.spawn(function()
GameFramework.IsFiring = true
task.wait(0.1)
GameFramework.IsFiring = false;
end);
return
CFrame.new(Client.Character.Head.CFrame.p, Combat.TargetPart.CFrame.p)
end;

if Traceback and Traceback:find("Functions") and


GameFramework.IsFiring then
return
CFrame.new(Client.Character.Head.CFrame.p, Combat.TargetPart.CFrame.p)
end;

end;

end;

return Index(self, Property)


end)
end;

end

do --// Project Delta


if GameName == "Project Delta" then

local Namecall; Namecall = hookmetamethod(game, "__namecall",


function(self, ...)
local Args = {...};
local Method = getnamecallmethod();
local ExecutorCall = checkcaller();

if not ExecutorCall then


if Method == "GetAttribute" then
if Args[1] == "AccuracyDeviation" and
Library.Flags.RemoveSpread and Library.Flags.RemoveSpread.Value then
return 0;
end;

if Args[1] == "MovementModifer" and


Library.Flags.RemoveWeight and Library.Flags.RemoveWeight.Value then
return 0;
end;

if Args[1] == "BlockADS" and


Library.Flags.PreventAntiScope and Library.Flags.PreventAntiScope.Value then
return false
end;

if Args[1] == "UpAngle" and


Library.Flags.ForcePitch and Library.Flags.ForcePitch.Value then
return 0;
end;
end;

if Method == "Raycast" then


local Traceback = debug.traceback();
if ((Library.Flags.InstantBullet and
Library.Flags.InstantBullet.Value) or (Library.Flags.Manipulation and
Library.Flags.Manipulation.Value)) and Traceback and Traceback:find("onStep", 1,
true) then

if Library.Flags.Manipulation and
Library.Flags.Manipulation.Value and Combat.ManipulatedPosition and
Combat.TargetPart and GameFramework.IsShooting then
Args[1] = Combat.ManipulatedPosition;
Args[2] = (Combat.TargetPart.Position -
Combat.ManipulatedPosition).Unit
end;

if Library.Flags.InstantBullet and
Library.Flags.InstantBullet.Value then
Args[2] = Args[2] * 9e9
end;
end;
end;

if Method == "FireServer" then


if self.Name == "Drowning" and
Library.Flags.AntiDrown and Library.Flags.AntiDrown.Value then
return
end;
if self.Name == "ProjectileInflict" then

if Args[1] == Client.Character.HumanoidRootPart
then
return coroutine.yield();
end;

if Library.Flags.InstantBullet and
Library.Flags.InstantBullet.Value then
if GameFramework.PDCodes[Args[3]] then
local Info =
GameFramework.PDCodes[Args[3]]
local Origin = Info.Origin
local Speed = Info.Speed
local Tick = Info.Tick
local Destination = Args[1].CFrame.p
local EquippedItem =
ReplicatedStorage.Players[Client.name].Status.GameplayVariables.EquippedTool.Value

local Distance = (Origin -


Destination).Magnitude;
local TimeToHit = Distance / Speed;
local Velocity = Args[1].Velocity

local Predicted = Destination +


(Velocity * TimeToHit);
local Delta = (Predicted -
Destination).Magnitude;

local NewSpeed = Speed - 0.013 * Speed


^ 2 * TimeToHit ^ 2;
TimeToHit += (Delta / NewSpeed);

if TimeToHit > 0 then


Tick = TimeToHit + Tick
end

Args[4] = Tick --// FUCK YOU


end
end

if (Library.Flags.VisualizeHits and
Library.Flags.VisualizeHits.Value) or (Library.Flags.DisplayDamage and
Library.Flags.DisplayDamage.Value) then
task.spawn(function()
if Library.Flags.VisualizeHits and
Library.Flags.VisualizeHits.Value then

Visuals:NewHitmarker(Args[1].Position)
end;

if Library.Flags.DisplayDamage and
Library.Flags.DisplayDamage.Value then
task.spawn(function()
local Part = Args[1];
local IsHeadshot =
(Part.Name:find("Head") or Part.Name:find("Face")) and true or false;
local Armor =
Utility:GetArmor(Part)
local ArmorProtection = 1;
if Armor then
ArmorProtection =
Utility:GetArmorProtection(Armor, Part.Parent.Name);
end;

local BulletStats =
Utility:GetBulletStats(GameFramework.LastBulletType);
local Damage =
BulletStats.Damage
local ArmorPen =
BulletStats.Penetration

if ArmorProtection ~= 1 then
local FinalizedDamage =
Utility:CalculateDamage(Damage, ArmorPen, ArmorProtection, IsHeadshot)
Damage = FinalizedDamage
else
if IsHeadshot then
Damage = Damage * 2
end;
end;

Visuals:NewHitDamage(Part.Position, Damage, Args[1])


end);
end;
end);
end;
end;
end;

if Method == "InvokeServer" then


--[[
local args = {
[1] = Vector3.new(0.982620894908905, -
0.007612740155309439, 0.18546777963638306),
[2] = -48571,
[3] = 1722411459.4940598
}

game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("FireProj
ectile"):InvokeServer(unpack(args))

GameFramework.HitCodes = {
Args[2] = {
["Origin"] = Camera.CFrame
["Direction"] = Args[1]
["Hit"] = inflict Args[2]
}
}
local args = {
[1] =
game:GetService("Players"):WaitForChild("Mother45896").Character.FaceHitBox,
[2] = CFrame.new(-0.138916015625,
0.284637451171875, -0.28125, 0.8023183345794678, 0.025571443140506744, -
0.5963485240936279, -0.08943109959363937, 0.9929543733596802, -0.07774131000041962,
0.5901589393615723, 0.11570535600185394, 0.7989522814750671),
[3] = -48571,
[4] = 1722411459.4950824
}

game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Projecti
leInflict"):FireServer(unpack(args))

]]

if self.Name == "FireProjectile" then

task.spawn(function()
local EquippedItem =
ReplicatedStorage.Players[Client.Name].Status.GameplayVariables.EquippedTool.Value;
local BulletCaliber = nil;
if EquippedItem then
local Attachments =
EquippedItem:FindFirstChild("Attachments");
local ItemProperties =
EquippedItem:FindFirstChild("ItemProperties")

if Attachments then
local Magazine =
Attachments:FindFirstChild("Magazine");
if Magazine then
Magazine =
Magazine:GetChildren()[1];
if Magazine then
local Caliber =
Magazine.ItemProperties["LoadedAmmo"]:GetChildren()[1]
if Caliber then
BulletCaliber =
Caliber:GetAttribute("AmmoType")
Caliber =
Caliber:GetAttribute("AmmoType");
end;
end
else
if ItemProperties["LoadedAmmo"]
then
local LoadedAmmo =
ItemProperties:GetAttribute("LoadedAmmo");
local Caliber =
ItemProperties["LoadedAmmo"]:GetChildren()
if Caliber and Caliber[1]
then
BulletCaliber =
Caliber[1]:GetAttribute("AmmoType")
Caliber =
Caliber[1]:GetAttribute("AmmoType");
end;
end;
end;
end;
end;
GameFramework.PDCodes[Args[2]] = {
Tick = Args[3],
Direction = Args[1],
Origin = Camera.CFrame.p,
Speed =
ReplicatedStorage.AmmoTypes:FindFirstChild(BulletCaliber):GetAttribute("MuzzleVeloc
ity"),
};

if not LPH_OBFUSCATED then


warn(Args[2])

print(GameFramework.PDCodes[Args[2]].Speed)

print(GameFramework.PDCodes[Args[2]].Tick)

print(GameFramework.PDCodes[Args[2]].Origin)
end;
end);
end

if self.Name == "FireProjectile" and


Combat.ManipulatedPosition and Combat.ManipulatedDirection and
Library.Flags.Manipulation and Library.Flags.Manipulation.Value and
Combat.TargetPart then
Args[1] = Combat.ManipulatedDirection;
end;

if self.Name == "Reload" and


Library.Flags.InstantReload and Library.Flags.InstantReload.Value then
if Args[2] then
Args[1] = nil
Args[2] = 0/0
Args[3] = nil
end;
end;
end;

end;

return Namecall(self, unpack(Args))


end);

local NewIndex; NewIndex = hookmetamethod(game, "__newindex",


function(self, Property, Value)

if self == Lighting and ((Library.Flags.AllowAmbient and


Library.Flags.AllowAmbient.Value) or (Library.Flags.AllowTime and
Library.Flags.AllowTime.Value)) then
if Property == "Ambient" and Library.Flags.AllowAmbient
and Library.Flags.AllowAmbient.Value then
Value = Library.Flags.Ambience.Color;
end;

if Property == "ClockTime" and Library.Flags.AllowTime


and Library.Flags.AllowTime.Value then
Value = Library.Flags.Time.Value
end;
end;

if self == Camera and not checkcaller() and Property ==


"CFrame" then
do --// Camera Bobbing and third person
if Library.Flags.RemoveCameraBobbing and
Library.Flags.RemoveCameraBobbing.Value then
local Traceback = debug.traceback();

if Traceback:find("updateClient", 1, true) or
Traceback:find("updateShake", 1, true) then
Value = Camera.CFrame;
end;
end;
if Library.Flags.ThirdPerson and
Library.Flags.ThirdPerson.Value and Library.Flags.ThirdPersonToggle and
Library.Flags.ThirdPersonToggle.Value then
Value = Value + Camera.CFrame.LookVector * -
Library.Flags.ThirdPersonDistance.Value;
end;
end;
end;
return NewIndex(self, Property, Value)
end);

end;
end;

do --// Blackout
if GameName == "Blackout" then
local Namecall; Namecall = hookmetamethod(game, "__namecall",
function(self, ...)
local Args = {...};
local Method = getnamecallmethod();
local ExecutorCall = checkcaller();

if not ExecutorCall then


if Method == "GetAttribute" then
if Args[1] == "Stamina" and
Library.Flags.InfiniteStamina and Library.Flags.InfiniteStamina.Value then
return 100;
end;
end;

if Method == "FireServer" then


if self.Name == "Stamina" and
Library.Flags.InfiniteStamina and Library.Flags.InfiniteStamina.Value then
return;
end;

if self.Name == "MinigameMistake" and


Library.Flags.InfiniteLockpick and Library.Flags.InfiniteLockpick.Value then
return
end;

if self.Name == "Shoot" and Library.Flags.SilentAim


and Library.Flags.SilentAim.Value and Combat.TargetPart and
Library.Flags.AimMode.Value == "Silent Aim" then
local Origin = Args[1];
local BulletDestination =
Combat.TargetPart.Position;

local Direction = (BulletDestination -


Origin).unit;

local Orientation = CFrame.new(Origin,


BulletDestination);

Args[2] = Orientation;
end;

if self.Name == "Damage" and Library.Flags.AntiFall


and Library.Flags.AntiFall.Value then
return;
end;

if self.Name == "MinigameResult" and


Library.Flags.InstantLockpick and Library.Flags.InstantLockpick.Value then
if Args[2] == nil then
Args[2] = true;
end;
end;
end;

if Method == "Raycast" and debug.traceback() then


local Traceback = debug.traceback()
if (Traceback:find("ActiveCast") or
Traceback:find("CanRayPierce")) and Library.Flags.InstantBullet and
Library.Flags.InstantBullet.Value then
Args[2] = Args[2] * 9e9;
end;

if (Traceback:find("HitboxCaster")) and
Library.Flags.ExtendReach and Library.Flags.ExtendReach.Value then
Args[2] = Args[2] * 1000;
end;

--[[if (Traceback:find("ActiveCast") or
Traceback:find("CanRayPierce")) and Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and Library.Flags.MagicBullet and
Library.Flags.MagicBullet.Value and Combat.TargetPart then
Args[1] =
(CFrame.new(Combat.TargetPart.Position) * CFrame.new(0, 0, -3)).p;
Args[2] = (Combat.TargetPart.Position -
Args[1]).Unit * 9e9;
end;]]
end;
end;

return Namecall(self, unpack(Args))


end);

--[[local NewIndex; NewIndex = hookmetamethod(game,


"__newindex", function(self, Property, Value)
if not checkcaller() then

if self == Lighting and ((Library.Flags.AllowAmbient


and Library.Flags.AllowAmbient.Value) or (Library.Flags.AllowTime and
Library.Flags.AllowTime.Value)) then
if Property == "Ambient" and
Library.Flags.AllowAmbient and Library.Flags.AllowAmbient.Value then
Value = Library.Flags.Ambience.Color;
end;

if Property == "ClockTime" and


Library.Flags.AllowTime and Library.Flags.AllowTime.Value then
Value = Library.Flags.Time.Value
end;
end;

if Property == "CFrame" and self == Camera then


local Traceback = debug.traceback();

if Traceback:find("ScreenShake") and
Library.Flags.RemoveBobbing and Library.Flags.RemoveBobbing.Value then
return NewIndex(self, Property, Camera.CFrame);
end;

if Traceback:find("RenderSteppedUpdate", 1, true)
and Library.Flags.RemoveRecoil and Library.Flags.RemoveRecoil.Value then
return NewIndex(self, Property, Camera.CFrame);
end;
end;
end;

return NewIndex(self, Property, Value);


end);]]
end;
end;

do --// Apoc
if GameName == "Apocalypse Rising 2" then
local OldGroundCast =
GameFramework.Raycast.CharacterGroundCast;
local OldSwimCheck = GameFramework.Raycast.SwimCheckCast;
local OldFire = GameFramework.Bullets.Fire;

local OldSend = GameFramework.Network.Send;


--[[do --// Guns
setupvalue(GameFramework.Bullets.Fire, 7,
function(Character, Item, ...)
if Library.Flags.RemoveRecoil and
Library.Flags.RemoveRecoil.Value then
local Impulse = GameFramework.Recoil(Character,
Item, ...);
Impulse[1] = Impulse[1] * 0;
Impulse[2] = Impulse[2] * 0;
Impulse[3] = Impulse[3] * 0;
Impulse[4] = Impulse[4] * 0;
Impulse[5] = Impulse[5] * 0;
end;
return GameFramework.Recoil(Character, Item, ...)
end);

setupvalue(GameFramework.Bullets.Fire, 1,
function(Character, Camera, ...)
if Library.Flags.RemoveSpread and
Library.Flags.RemoveSpread.Value then
return GameFramework.Spread(
{
MoveState = "Walking",
Zooming = true,
},
{
FirstPerson = true;
}
);
end;
return GameFramework.Spread(Character, Camera, ...);
end);

GameFramework.Bullets.Fire = function(self, ...)


local Args = {...};

if Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and Library.Flags.AimMode.Value == "Silent Aim" and
Combat.TargetPart then
local Position = Combat.TargetPart.Position;
local Origin = Args[4];

Args[5] = (Destination - Origin).Unit;


end;
return OldFire(self, unpack(Args))
end;
end;]]

do --// Networking

--[[local DirtyNames = {
["Statistic Report"] = true,
["Zombie State Resync Attempt"] = true,
["Resync Leaderboard"] = true,
["Sync Debug Info"] = true,
["Resync Character Physics"] = true,
["Update Character Position"] = true,
["Get Player Stance Speed"] = true,
["Force Charcter Save"] = true,
["Update Character State"] = true,
["Sync Near Chunk Loot"] = true,
["Character Config Resync"] = true,
["Animator State Desync Check"] = true,
["Character Humanoid Update"] = true,
["Character Root Update"] = true,
};

GameFramework.Network.Send = function(self, Name, ...)


local Args = {...};

if DirtyNames[Name] then
return
end;

if Name:find("Set Char") then


Args[1] = "Climbing";

if Library.Flags.RemoveSpread and
Library.Flags.RemoveSpread.Valu then
Args[3] = true;
Args[4] = true;
end;
end;

if Name == "Character Reload Firearm Intiated" and


Library.Flags.InstantReload and Library.Flags.InstantReload.Value then
local Item =
GameFramework.Players.Character.EquippedItem.__item.Id;
local Second = Args[2];

task.spawn(function()
GameFramework.Network:Send("Character Reload
Firearm Comitted", Item, Second);
GameFramework.Network:Send("Character Reload
Firearm Clear", Item);
GameFramework.Network:Send("Character Reload
Firearm Clear", Item);
end);
end;
return OldSend(self, Name, unpack(Args));
end;]]

end;

end;
end;

do --// Criminality
if GameName == "Criminality" then

do --// Adonis Bypass


for _, Value in pairs(getgc(true)) do
if type(Value) == "table" and type(rawget(Value,
"Detected")) == "function" then

local Old; Old = hookfunction(Value.Detected,


function(self, ...)
local Args = {...};
return Old("_", unpack(Args))
end);
end;
end;
end;

do --// Errors
local Cache = LogService:GetLogHistory()
local Old;

Old = hookfunction(LogService.GetLogHistory, function(...)


if not checkcaller() then
return {unpack(Cache)};
end;
return Old(...);
end);

for _, Value in pairs(getconnections(ScriptContext.Error))


do
Value:Disable();
end

end;

local NewIndex; NewIndex = hookmetamethod(game, "__newindex",


function(self, Property, Value)
if not checkcaller() then
if self == Lighting and ((Library.Flags.AllowAmbient
and Library.Flags.AllowAmbient.Value) or (Library.Flags.AllowTime and
Library.Flags.AllowTime.Value)) then
if Property == "Ambient" and
Library.Flags.AllowAmbient and Library.Flags.AllowAmbient.Value then
Value = Library.Flags.Ambience.Color;
end;

if Property == "ClockTime" and


Library.Flags.AllowTime and Library.Flags.AllowTime.Value then
Value = Library.Flags.Time.Value
end;
end;

if self == Camera and (Property == "CoordinateFrame" or


Property == "coordinateFrame") and ((Library.Flags.RemoveBobbing and
Library.Flags.RemoveBobbing.Value) or Library.Flags.RemoveRecoil and
Library.Flags.RemoveRecoil.Value) then
return NewIndex(self, Property, Camera.CFrame)
end;

if Property == "Value" and (tostring(self) == "Broken"


or tostring(self) == "Destroyed") and Library.Flags.AntiBreak and
Library.Flags.AntiBreak.Value then
if Value == false then
Value = true;
end;
end;
end;

return NewIndex(self, Property, Value);


end);

--[[local Index; Index = hookmetamethod(game, "__index",


function(self, Property)
if tostring(self) == "Head" and Property == "Size" and not
checkcaller() then
return Vector3.new(1.2000000476837158, 1, 1);
end;

if Property == "Value" and (tostring(self) == "Broken" or


tostring(self) == "Destroyed") and Library.Flags.AntiBreak and
Library.Flags.AntiBreak.Value and not checkcaller() and Client.Character then
return false;
end;

return Index(self, Property)


end);]]

local Namecall; Namecall = hookmetamethod(game, "__namecall",


function(self, ...)
local Args = {...};
local Method = getnamecallmethod();

if string.lower(Method) == "fireserver" and not


checkcaller() then

if (Args[1] == "__--r" or Args[1] == "HITRGP" or


Args[1] == "FllH") and Library.Flags.AntiRagdoll and
Library.Flags.AntiRagdoll.Value then
return
end;

if Args[1] == "Drown" and Library.Flags.AntiDrown and


Library.Flags.AntiDrown.Value then
return
end;

if self.Name == "__DFfDD" and Library.Flags.AntiFall


and Library.Flags.AntiWire and (Library.Flags.AntiFall.Value or
Library.Flags.AntiWire.Value) and Client.Character and
Client.Character.Humanoid.Health >= 16 then
return
end;

if self.Name == "GNX_S" then


if Library.Flags.RapidFire and
Library.Flags.RapidFire.Value then
Args[1] = 0/0;
end;

if (Library.Flags.InstantHit and
Library.Flags.InstantHit.Value) or (Library.Flags.MagicBullet and
Library.Flags.MagicBullet.Value) then
Args[6][1] = Args[6][1] / 9e9;
end;

task.spawn(function()
GameFramework.ShotNumber += 1
delay(5, function()
GameFramework.ShotNumber -= 1
end);
end);
end;

if self.Name == "ZFKLF_H" then


local Tool = Args[2];
local Part = Args[5];
local Position = Args[6];

if Library.Flags.DisplayDamage and
Library.Flags.DisplayDamage.Value then
task.spawn(function()

local Module =
require(Tool:FindFirstChild("Config"));

if Module.Damage then
local Damage = Module.Damage;
if Part.Name == "Head" then
Damage = Damage *
Module.HeadshotMultiplier
elseif Part.Name == "Left Leg" or
Part.Name == "Right Leg" then
Damage = Damage *
Module.LimbMultiplier
end
Visuals:NewHitDamage(Position, Damage,
Part)
end
end);
end
end
--[[
local HitRemote =
ReplicatedStorage.Events.ZFKLF_H;

ShootRemote:FireServer(
tick(),
String,
Tool,
"FDS9I83",
Camera.CFrame.p,
{
[1] = Unit
}
);

HitRemote:FireServer(
Emoji,
Tool,
String,
1,
Part,
Position,
Unit,
nil,
NinthArg
);
]]
end;

return Namecall(self, unpack(Args));


end);

do --// getrenv stuff


if getrenv() and getrenv()._G then
setmetatable(getrenv()._G, {
__newindex = function(self, Index, Value)
if Index == "TTT" then
local Upvalues = getupvalues(2);

if Upvalues then
local GunSettings = Upvalues[2].fcf;

if GunSettings and typeof(GunSettings)


== "userdata" then --// check if table is proxied
local RawMetaTable =
getrawmetatable(GunSettings); --// fuck you pedovvz
local FireRateIndex = nil;
local RealFireRate = nil;

if RawMetaTable then
setreadonly(RawMetaTable,
false); --// incase he ever makes it readonly

if type(RawMetaTable.__index)
== "table" then --// check if its a table (majority of gunmods go here);

do --// Main Mods


if
RawMetaTable.__index["FireModeSettings"] and Library.Flags.RapidFire and
Library.Flags.RapidFire.Value then

RawMetaTable.__index["FireModeSettings"].SemiRate = Library.Flags.FireRate.Value

RawMetaTable.__index["FireModeSettings"].BurstRate = Library.Flags.FireRate.Value
RawMetaTable.__index["FireModeSettings"].AutoRate = Library.Flags.FireRate.Value

RawMetaTable.__index["FireModeSettings"].FireRate = Library.Flags.FireRate.Value
end;

if
RawMetaTable.__index["FireSlowDown"] and Library.Flags.Walkshoot and
Library.Flags.Walkshoot.Value then

RawMetaTable.__index["FireSlowDown"].Enabled = false;
end;

if
RawMetaTable.__index["BulletSettings"] then

GameFramework.CurrentVelocity = RawMetaTable.__index["BulletSettings"].Velocity;
end;

if
RawMetaTable.__index["AimSettings"] and Library.Flags.RemoveSpread and
Library.Flags.RemoveSpread.Value then

RawMetaTable.__index["AimSettings"].Spread = 0;
end;

if
RawMetaTable.__index["SniperSettings"] and Library.Flags.RemoveSpread and
Library.Flags.RemoveSpread.Value then

RawMetaTable.__index["SniperSettings"].Spread = 0;
end;

if
RawMetaTable.__index["Spread"] and Library.Flags.RemoveSpread and
Library.Flags.RemoveSpread.Value then

RawMetaTable.__index["Spread"] = 0;
end;

if
RawMetaTable.__index["ChargeupEnabled"] and Library.Flags.InstantCharge and
Library.Flags.InstantCharge.Value then

RawMetaTable.__index["ChargeupEnabled"] = false
end;

if
RawMetaTable.__index["ShotgunSettings"] and Library.Flags.InstantCharge and
Library.Flags.InstantCharge.Value then

RawMetaTable.__index["ShotgunSettings"].FirePump = false;
end;

if
RawMetaTable.__index["AimSpeed"] and Library.Flags.InstantAim and
Library.Flags.InstantAim.Value then

RawMetaTable.__index["AimSpeed"] = 0;
end;

if
RawMetaTable.__index["SniperSettings"] and Library.Flags.InstantAim and
Library.Flags.InstantAim.Value then

RawMetaTable.__index["SniperSettings"].AimSpeed = 0;
end;

if
(RawMetaTable.__index["FirePumpWait1"] or RawMetaTable.__index["FirePumpWait2"])
and Library.Flags.InstantCharge and Library.Flags.InstantCharge.Value then

RawMetaTable.__index["FirePumpWait1"] = 0;
end;

if
RawMetaTable.__index["AimSettings"] and Library.Flags.InstantAim and
Library.Flags.InstantAim.Value then

RawMetaTable.__index["AimSettings"].AimSpeed = 0;
end;

if
RawMetaTable.__index["ChargeUpSettings"] then
if
Library.Flags.InstantCharge and Library.Flags.InstantCharge.Value then

RawMetaTable.__index["ChargeUpSettings"] = {
ChargeTime
= 0,
ChargeDB =
0,
};
end;
end;

if
RawMetaTable.__index["EquipTime"] and Library.Flags.InstantEquip and
Library.Flags.InstantEquip.Value then

RawMetaTable.__index["EquipTime"] = 0;
end;

if
RawMetaTable.__index["EquipAnimSpeed"] and Library.Flags.InstantEquip and
Library.Flags.InstantEquip.Value then

RawMetaTable.__index["EquipAnimSpeed"] = 9e9;
end;

end;
end;
end;
end;
end;

task.spawn(function()
if not GameFramework.GunHasBeenModified
then
GameFramework:CrimMods();
end;
end);
end;
end;

--[[__index = function(self, Index)


if debug.getinfo(2).name == "Shoot" then
--// Was shoot called?
for Index, Value in next, getupvalues(2) do
if type(Value) == "function" then --//
Get list of functions that are upvalues (level 2)

--// god this is so fucking aids


for Idx, Val in
pairs(getupvalues(Value)) do --// get upvalues of the upvalues that are functions
if type(Val) == "table" and
rawget(Val, "accelerate") and type(rawget(Val, "accelerate")) == "function" then
--// check if upvalue == table and contains index "accelerate" that is function
local Old = Val.accelerate;

Val.accelerate =
function(self, Vector) --// hook

--// remove recoil


if
Library.Flags.RemoveRecoil and Library.Flags.RemoveRecoil.Value then
return Old(self,
Vector3.new(0, 0, 0));
end;

return Old(self,
Vector);
end;
end;
end;
end;
end;
end;
end;]]
});

else
end
end;
end;
end;

do --// Gunfight arena


if GameName == "Gunfight Arena" then

local NewIndex; NewIndex = hookmetamethod(game, "__newindex",


function(self, Property, Value)

if self == Lighting and ((Library.Flags.AllowAmbient and


Library.Flags.AllowAmbient.Value) or (Library.Flags.AllowTime and
Library.Flags.AllowTime.Value)) then
if Property == "Ambient" and Library.Flags.AllowAmbient
and Library.Flags.AllowAmbient.Value then
Value = Library.Flags.Ambience.Color;
end;

if Property == "ClockTime" and Library.Flags.AllowTime


and Library.Flags.AllowTime.Value then
Value = Library.Flags.Time.Value
end;
end;

if not checkcaller() and Property == "CFrame" and


debug.traceback() and debug.traceback():find("Fire", 1, true) and
Library.Flags.SilentAim and Library.Flags.SilentAim.Value and Combat.TargetPart and
Library.Flags.AimMode.Value == "Silent Aim" then
return
end;

if not checkcaller() and Property == "CFrame" and


debug.traceback() and Library.Flags.RemoveBobbing and
Library.Flags.RemoveBobbing.Value and (debug.traceback():find("UpdateArm", 1, true)
or debug.traceback():find("WeaponRender", 1, true) or
debug.traceback():find("MoveArm", 1, true) or
debug.traceback():find("UpdateWeaponParts", 1, true)) then
Value = Camera.CFrame
end;

return NewIndex(self, Property, Value)


end);

local Index; Index = hookmetamethod(game, "__index",


function(self, Property)
if not checkcaller() and Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and Combat.TargetPart and Library.Flags.AimMode.Value
== "Silent Aim" and Property == "CFrame" and debug.traceback() then
if debug.traceback():find("Fire", 1, true) then
if tostring(self) ~= "Camera" then
return CFrame.new(self.Position,
Combat.TargetPosition);
else
return CFrame.new(Combat.CurrentPosition,
Combat.TargetPosition);
end;
end;
end;
return Index(self, Property)
end);
end;
end;

do --// the skeets lol


if GameName == "The Streets" then
local Namecall; Namecall = hookmetamethod(game, "__namecall",
function(self, ...)
local Args = {...};
local Method = getnamecallmethod()

if Method == "FireServer" then


if self.Name == "Input" and (Args[1] == "ml" or Args[1]
== "moff1") and Combat.TargetPart and Library.Flags.AimMode.Value == "Silent Aim"
then
local Velocity =
Vector3.new(Combat.TargetPart.Velocity.X, 0, Combat.TargetPart.Velocity.Z)
local AimVelocity =
Library.Flags.AimVelocity.Value;

local ShootAt = Combat.TargetPart.CFrame + Velocity


/ AimVelocity + Velocity / math.huge;

Args[2]["mousehit"] = ShootAt;
end;

end;

return Namecall(self, unpack(Args));


end);

local Index; Index = hookmetamethod(game, "__index",


function(self, Property)
if not checkcaller() then
if Property == "Anchored" then
return false
end;
end;

return Index(self, Property)


end);
end;
end;

do --// Lone
if GameName == "Lone Survival" then
do --// namecall
local Namecall; Namecall = hookmetamethod(game,
"__namecall", function(self, ...)
local Method = getnamecallmethod();
local Args = {...};
if not checkcaller() then
if Method == "Raycast" and Library.Flags.AimMode
and Library.Flags.AimMode.Value == "Silent Aim" and Combat.TargetPart and
debug.traceback() then
if debug.traceback():find("Projectile") then
local HitPart = Combat.TargetPart;
local Origin = Args[1];
Args[2] = (HitPart.Position - Origin).Unit
* 9e9;
return Namecall(self, unpack(Args))
end;
end;

if Method == "BulkMoveTo" then return end;


end;
return Namecall(self, ...)
end);
end;

do --// Newindex
local NewIndex; NewIndex = hookmetamethod(game,
"__newindex", function(self, prop, val)

if not checkcaller() and self == Camera and prop ==


"CFrame" and getcallingscript() and tostring(getcallingscript()):lower() ==
"startup" and Library.Flags.RemoveRecoil and Library.Flags.RemoveRecoil.Value then
return NewIndex(self, prop, Camera.CFrame);
end;
return NewIndex(self, prop, val)
end);
end;
end;
end;
end;

do --// Game Functions

do --// Korrupt Zombies


if GameName == "Korrupt Zombies" then
local Manager =
require(ReplicatedStorage.Modules.Client.Managers.ProjectileManager)

local Old = Manager.FireProjectile

Manager.FireProjectile = function(self, ...)


local Args = {...}

if Combat.TargetPart and Library.Flags.AimMode.Value ==


"Silent Aim" and type(Args[1]) == "table" then
Args[1].HitPosition = Combat.TargetPart.Position
end

return Old(self, unpack(Args))


end

local Weapons =
require(ReplicatedStorage.Modules.Shared.Managers.WeaponInfo)

GameFramework.OldWeapons = Utility:DeepCopy(Weapons)

for Index, Value in next, getgc(true) do


if type(Value) == "table" and rawget(Value, "Stamina") then
GameFramework.Character = Value
end
end
end

end

do --// Project Delta


if GameName == "Project Delta" then
local OldUpdateClient = GameFramework.FPS.updateClient;
local OldBullet = GameFramework.Bullet.CreateBullet;
local OldSetZoomTarget =
GameFramework.SetTargets.SetZoomTarget;

GameFramework.FPS.updateClient = function(...)
local Args = {...};

do --// Provided in Args[1]


if Library.Flags.InstantEquip and
Library.Flags.InstantEquip.Value then
Args[1].EquipTValue = 100;
end;

if Library.Flags.RapidFire and
Library.Flags.RapidFire.Value then
Args[1].FireRate = 1 / Library.Flags.FireRate.Value
end;

if Library.Flags.InstantAim and
Library.Flags.InstantAim.Value and rawget(Args[1], "AimInSpeed") and
rawget(Args[1], "AimOutSpeed") then
Args[1].AimInSpeed = 0;
Args[1].AimOutSpeed = 0;
end;

if Library.Flags.UnlockFiremodes and
Library.Flags.UnlockFiremodes.Value and rawget(Args[1], "FireModes")then
Args[1].FireModes = {
"Auto", "Semi"
};
end;

if Library.Flags.RemoveObstructions and
Library.Flags.RemoveObstructions.Value and rawget(Args[1], "TouchWallPosY") then
Args[1].TouchWallPosY = 0;
Args[1].TouchWallPosZ = 0;
Args[1].TouchWallRotX = 0;
Args[1].TouchWallRotY = 0;
end;
end;

do --// GameFramework.CurrentData
task.spawn(function()
if GameFramework.CurrentData then --// Character
Mods
Visuals.CurrentAimPart =
GameFramework.CurrentData.aimPart;
if Library.Flags.RemoveObstructions and
Library.Flags.RemoveObstructions.Value then

GameFramework.CurrentData.springs.wallTouchTilt.Force = 0;

GameFramework.CurrentData.springs.wallTouchTilt.Speed = 0;
else

GameFramework.CurrentData.springs.wallTouchTilt.Force =
GameFramework.Originals.Springs.wallTouchTilt.Force;

GameFramework.CurrentData.springs.wallTouchTilt.Speed =
GameFramework.Originals.Springs.wallTouchTilt.Speed;
end;

if Library.Flags.RemoveRecoil and
Library.Flags.RemoveRecoil.Value then
GameFramework.CurrentData.springs.cameraRecoil.Force = 0;

GameFramework.CurrentData.springs.cameraRecoil.Speed = 0;

GameFramework.CurrentData.springs.recoilPos.Force = 0;

GameFramework.CurrentData.springs.recoilPos.Speed = 0;

GameFramework.CurrentData.springs.recoilRot.Force = 0;

GameFramework.CurrentData.springs.recoilRot.Speed = 0;
else

GameFramework.CurrentData.springs.cameraRecoil.Force =
GameFramework.Originals.Springs.cameraRecoil.Force;

GameFramework.CurrentData.springs.cameraRecoil.Speed =
GameFramework.Originals.Springs.cameraRecoil.Speed;

GameFramework.CurrentData.springs.recoilPos.Force =
GameFramework.Originals.Springs.recoilPos.Force;

GameFramework.CurrentData.springs.recoilPos.Speed =
GameFramework.Originals.Springs.recoilPos.Speed;

GameFramework.CurrentData.springs.recoilRot.Force =
GameFramework.Originals.Springs.recoilRot.Force;

GameFramework.CurrentData.springs.recoilRot.Speed =
GameFramework.Originals.Springs.recoilRot.Speed;
end;

if Library.Flags.InstantLean and
Library.Flags.InstantLean.Value then

GameFramework.CurrentData.springs.leanAlpha.Force = 25;

GameFramework.CurrentData.springs.leanAlpha.Speed = 50;
else

GameFramework.CurrentData.springs.leanAlpha.Force = 50;

GameFramework.CurrentData.springs.leanAlpha.Speed = 4;
end;

if Library.Flags.RemoveSway and
Library.Flags.RemoveSway.Value then

GameFramework.CurrentData.springs.sway.Force = 0;

GameFramework.CurrentData.springs.sway.Speed = 0;
else

GameFramework.CurrentData.springs.sway.Force =
GameFramework.Originals.Springs.sway.Force;
GameFramework.CurrentData.springs.sway.Speed =
GameFramework.Originals.Springs.sway.Speed;
end;

if Library.Flags.RemoveBobbing and
Library.Flags.RemoveBobbing.Value then

GameFramework.CurrentData.springs.jumpTilt.Force = 0;

GameFramework.CurrentData.springs.jumpTilt.Speed = 0;

GameFramework.CurrentData.springs.walkCycle.Speed = 0;

GameFramework.CurrentData.springs.walkCycle.Force = 0;

GameFramework.CurrentData.springs.sprintCycle.Speed = 0;

GameFramework.CurrentData.springs.sprintCycle.Force = 0;

GameFramework.CurrentData.springs.strafeTilt.Speed = 0;

GameFramework.CurrentData.springs.strafeTilt.Force = 0;
else

GameFramework.CurrentData.springs.jumpTilt.Force =
GameFramework.Originals.Springs.jumpTilt.Force;

GameFramework.CurrentData.springs.jumpTilt.Speed =
GameFramework.Originals.Springs.jumpTilt.Speed;

GameFramework.CurrentData.springs.walkCycle.Speed =
GameFramework.Originals.Springs.walkCycle.Speed;

GameFramework.CurrentData.springs.walkCycle.Force =
GameFramework.Originals.Springs.walkCycle.Force;

GameFramework.CurrentData.springs.sprintCycle.Speed =
GameFramework.Originals.Springs.sprintCycle.Speed;

GameFramework.CurrentData.springs.sprintCycle.Force =
GameFramework.Originals.Springs.sprintCycle.Force;

GameFramework.CurrentData.springs.strafeTilt.Speed =
GameFramework.Originals.Springs.strafeTilt.Speed;

GameFramework.CurrentData.springs.strafeTilt.Force =
GameFramework.Originals.Springs.strafeTilt.Force;
end;
end
end);
end;
do --// Autoshoot
task.spawn(function()
if Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and Library.Flags.AimMode.Value == "Silent Aim" and
rawget(Args[1], "weapon") and rawget(Args[1], "WeldedTool") and rawget(Args[1],
"viewModel") and rawget(Args[1], "ToolStance") and rawget(Args[1], "lastUseTime")
and rawget(Args[1], "RecoilPatternPos") and rawget(Args[1], "aimPart") and
Combat.TargetPart then
if Library.Flags.AutoShoot and
Library.Flags.AutoShoot.Value and Library.Flags.AutoShootBind and
Library.Flags.AutoShootBind.Value then
if Library.Flags.AutoShootMode.Value ==
"Standard" then
if Utility:IsVisible(Combat.TargetPart)
then

GameFramework.WeaponFunctions.RangedWeaponDefault(Args[1]);
end;
elseif Library.Flags.AutoShootMode.Value ==
"Adaptive" then
local FoundATarget = false
if Utility:IsVisible(Combat.TargetPart)
then

GameFramework.WeaponFunctions.RangedWeaponDefault(Args[1]);
FoundATarget = true;
end;
if not FoundATarget then
for Index, Part in next,
Combat.TargetPart.Parent:GetChildren() do
if Part:IsA("BasePart") and not
FoundATarget then
if
Part.Name:lower():find("head") and Utility:IsVisible(Part) then
FoundATarget = true;
Combat.TargetPart =
Part;
elseif
Part.Name:lower():find("torso") and Utility:IsVisible(Part) then
FoundATarget = true;
Combat.TargetPart =
Part;

else
if
Utility:IsVisible(Part) then
FoundATarget =
true;
Combat.TargetPart =
Part;
end;
end;
end;
end;
end;

if FoundATarget then

GameFramework.WeaponFunctions.RangedWeaponDefault(Args[1]);
end;
end;
end;
end;
end);
end;
return OldUpdateClient(unpack(Args))
end;

GameFramework.Bullet.CreateBullet = function(self, ...)


local Args = {...};

GameFramework.LastBulletType = tostring(Args[5]);

if Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and Library.Flags.AimMode and
Library.Flags.AimMode.Value == "Silent Aim" and Combat.TargetPart then
local Origin = Camera.CFrame.p;
local Destination = Combat.TargetPart.Position;

Args[8] = {
ClassName = "Part",
CFrame = CFrame.new(Origin, Destination);
};

if Library.Flags.Manipulation and
Library.Flags.Manipulation.Value then
local Destination = Combat.TargetPart;
local Origin = Args[8].CFrame.p;

if Origin and Destination then


local VisiblePosition =
Utility:FindVisiblePosition(Origin, Destination);

if VisiblePosition then
Combat.ManipulatedPosition =
VisiblePosition;
Combat.ManipulatedDirection =
(Destination.Position - VisiblePosition).unit
Args[8] = {
ClassName = "Part";
CFrame = CFrame.new(VisiblePosition,
Destination.CFrame.p);
Position = VisiblePosition;
};
else
Combat.ManipulatedDirection =
(Destination.Position - Origin).Unit;
Combat.ManipulatedPosition = Origin;
end;
end;
end;
end;

if Library.Flags.Tracers and Library.Flags.Tracers.Value


then
task.spawn(function()
local Origin = Vector3.new(0, 0, 0);
local Direction = Args[8].CFrame.lookVector;
local Viewmodel = Utility.CurrentViewmodel;
local Item = Viewmodel:FindFirstChild("Item");
local Barrel = nil;

if Item then
Barrel = Item:FindFirstChild("Barrel");

if not Barrel then


local Attachments =
Item:FindFirstChild("Attachments");
Barrel = Attachments.Front:GetChildren()
[1].Barrel;
end;
end;

Origin = Barrel.Position;

if Library.Flags.Manipulation and
Library.Flags.Manipulation.Value and GameFramework.Manipulated then
Origin = Combat.ManipulatedPosition;
end;

if Barrel then
local RayCast = Workspace:Raycast(Origin,
Direction * 7500, RayParams);

if RayCast and RayCast.Position then


if Library.Flags.TracerMode.Value == "Line"
then
Visuals:NewLine(Origin,
RayCast.Position);
else
Visuals:NewTracer(Origin,
RayCast.Position, Workspace.NoCollision)
end;
end;
end;
end);
end;

task.spawn(function()
GameFramework.IsShooting = true;
task.wait(0.5);
GameFramework.IsShooting = false;
end);
return OldBullet(self, unpack(Args));
end;

GameFramework.SetTargets.SetZoomTarget = function(...)
local Args = {...};

if Library.Flags.InstantAim and
Library.Flags.InstantAim.Value then
Args[4] = 0;
end;

return OldSetZoomTarget(unpack(Args));
end;
end;
end;

do --// Criminality

if GameName == "Criminality" then


local FastCast = GameFramework.Modules.FastCast;
local GunTable = GameFramework.GunTable;
do --// Gun Modules and Bypass
if GameFramework.ACTable then
hookfunction(GameFramework.ACTable.CX1, function()
return end)
hookfunction(GameFramework.ACTable.A, function() return
end)
hookfunction(GameFramework.ACTable.B, function() return
end)
end;
end;

if FastCast then
do --// FastCast (Wallbang)
local OldBlacklist = FastCast.FireWithBlacklist;

FastCast.FireWithBlacklist = function(self, ...)


local Args = {...};

if Args[1].fc[1] then
if Library.Flags.Wallbang and
Library.Flags.Wallbang.Value then
table.insert(Args[5], Workspace.Map);
end;
end;
return OldBlacklist(self, unpack(Args));
end;
end;
end;
end;
end;

do --// Blackout
if GameName == "Blackout" then
local OldFire = GameFramework.BulletHandler.Fire;

GameFramework.BulletHandler.Fire = function(...)
local Args = {...};

if tostring(Args[6].Character) == Client.Name then


if Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and Combat.TargetPart and
Library.Flags.AimMode.Value == "Silent Aim" then
local Origin = Args[2];
--local Behind = (Combat.TargetPart.CFrame *
CFrame.new(0,0,1)).p;
local Behind = (Combat.TargetPart.CFrame *
CFrame.new(0,0,1)).p;
if Library.Flags.MagicBullet.Value then
Args[2] = Behind
Origin = Behind
end
Args[3] = (Combat.TargetPart.Position -
Origin).Unit * 1000
end;

if Library.Flags.Tracers and
Library.Flags.Tracers.Value then
task.spawn(function()
local Origin = Args[2];
local Direction = Args[3];
if Direction and Origin then
local RayCast = Workspace:Raycast(Origin,
Direction, RayParams);

if RayCast and RayCast.Position then


if Library.Flags.TracerMode.Value ==
"Line" then
Visuals:NewLine(Origin,
RayCast.Position);
else
Visuals:NewTracer(Origin,
RayCast.Position, Camera)
end;
end;
end;
end);
end;
end;

return OldFire(unpack(Args))
end;
end;
end;
end;
end)();

LPH_JIT(function() --// Criminality


if GameName == "Criminality" then
--// this is a really bad method of doing it but i had to do this so
wave would work.
local GetConfig =
require(ReplicatedStorage.NewModules.Shared.Extensions.GetConfig)
--for Index, Value in next, getgc(true) do
-- if type(Value) == "function" and debug.getinfo(Value).short_src
and debug.getinfo(Value).short_src:find("GetConfig") and not
debug.getinfo(Value).short_src:find("GetConfigAddon") then
-- GetConfig = Value
-- end
--end

local OldConfig; OldConfig = hookfunction(GetConfig,


LPH_NO_UPVALUES(function(...)
local Table = OldConfig(...)

do --// Modifications
if Table["Recoil"] and Library.Flags.RemoveRecoil and
Library.Flags.RemoveRecoil.Value then
Table["Recoil"] = 0
end;
if Table["FireSlowDown"] and Library.Flags.Walkshoot and
Library.Flags.Walkshoot.Value then
Table["FireSlowDown"].Enabled = false;
end;

if Table["BulletSettings"] then
GameFramework.CurrentVelocity =
Table["BulletSettings"].Velocity;
end;

if Table["AimSettings"] and Library.Flags.RemoveSpread and


Library.Flags.RemoveSpread.Value then
Table["AimSettings"].Spread = 0;
end;

if Table["SniperSettings"] and Library.Flags.RemoveSpread and


Library.Flags.RemoveSpread.Value then
Table["SniperSettings"].Spread = 0;
end;

if Table["Spread"] and Library.Flags.RemoveSpread and


Library.Flags.RemoveSpread.Value then
Table["Spread"] = 0;
end;

if Table["ChargeupEnabled"] and Library.Flags.InstantCharge and


Library.Flags.InstantCharge.Value then
Table["ChargeupEnabled"] = false
end;

if Table["ShotgunSettings"] and Library.Flags.InstantCharge and


Library.Flags.InstantCharge.Value then
Table["ShotgunSettings"].FirePump = false;
end;

if Table["AimSpeed"] and Library.Flags.InstantAim and


Library.Flags.InstantAim.Value then
Table["AimSpeed"] = 0;
end;

if Table["SniperSettings"] and Library.Flags.InstantAim and


Library.Flags.InstantAim.Value then
Table["SniperSettings"].AimSpeed = 0;
end;

if (Table["FirePumpWait1"] or Table["FirePumpWait2"]) and


Library.Flags.InstantCharge and Library.Flags.InstantCharge.Value then
Table["FirePumpWait1"] = 0;
end;

if Table["AimSettings"] and Library.Flags.InstantAim and


Library.Flags.InstantAim.Value then
Table["AimSettings"].AimSpeed = 0;
end;

if Table["ChargeUpSettings"] then
if Library.Flags.InstantCharge and
Library.Flags.InstantCharge.Value then
Table["ChargeUpSettings"] = {
ChargeTime = 0,
ChargeDB = 0,
};
end;
end;

if Table["EquipTime"] and Library.Flags.InstantEquip and


Library.Flags.InstantEquip.Value then
Table["EquipTime"] = 0;
end;

if Table["EquipAnimSpeed"] and Library.Flags.InstantEquip and


Library.Flags.InstantEquip.Value then
Table["EquipAnimSpeed"] = 9e9;
end;

task.spawn(function()
task.wait(1)
GameFramework:CrimMods()
end);
end;

return Table
end));
end;
end)();
end;

do --// Loops
LPH_NO_VIRTUALIZE(function()
if GameName == "Project Delta" then
for Index, Value in next, getconnections(RunService.RenderStepped) do
GameConnections[Index] = Value;
end;
end;

local Current = CFrame.new();

local Fake = {
Real = {
CFrame = CFrame.new(),
};
Fake = {
CFrame = CFrame.new(),
},
};

Loops.RenderStepped = RunService.RenderStepped:Connect(function(DeltaTime)
task.spawn(function()
Camera = Workspace.CurrentCamera;

if GameFramework.FakePart then

if Combat.TargetPart and Library.Flags.AimMode.Value == "Silent


Aim" then
GameFramework.FakePart.CFrame = CFrame.new(Camera.CFrame.p,
Combat.TargetPart.CFrame.p)
else
GameFramework.FakePart.CFrame = Camera.CFrame
end
end

do --// Enemies
--// Variables for targetting
local LastDistance, ClosestTarget, ActualPlayer = nil, nil,
nil;
local LastAimDistance, ClosestAimTarget, ActualAimPlayer = nil,
nil, nil;

do --// Loop through


for Index, Value in next, Visuals.Enemies do
task.spawn(function()
if Value.Info.Class == "AI" then

Value.Info.Team = Value:GetTeam()
Value.Info.Character = Value:GetCharacter();
else
if GameName ~= "Deadline" then
Value.Info.Character =
Value:GetCharacter();
Value.Info.Team = Value:GetTeam()
end;
end;

if GameName == "Scorched Earth" and


GameFramework.EntityData then
Value.Info.Data =
rawget(GameFramework.EntityData, Value.Info.Username)
end

local Class = Value.Info.Class;


local Team = Value.Info.Team;

do --// Vis
if (Library.Flags.ESPFlags and
Library.Flags.ESPFlags.Value and table.find(Library.Flags.Flags.Value, "Visible"))
or (Library.Flags.VisibleCheck and Library.Flags.VisibleCheck.Value) or
(Library.Flags.HighlightVisible and Library.Flags.HighlightVisible.Value) then
local Root = Value:GetRoot();

if Root and Utility:IsVisible(Root) then


Value.Info.IsVisible = true
else
Value.Info.IsVisible = false
end;

else
Value.Info.IsVisible = false;
end;
end;

do --// Targetting
do --// Main
if Library.Flags.SilentAim and
Library.Flags.SilentAim.Value and not Value.Info.IsFriendly and
Library.Flags.VisibleCheck and ((Library.Flags.VisibleCheck.Value and
Value.Info.IsVisible) or not Library.Flags.VisibleCheck.Value) then
if (((Library.Flags.IncludeAi and
Library.Flags.IncludeAi.Value and (Class == "Player" or Class == "AI")) or Class ==
"Player") or (Library.Flags.IncludeAi and not Library.Flags.IncludeAi.Value and
Class ~= "AI")) then
if not Library.Flags.TeamCheck or
(Library.Flags.TeamCheck and Library.Flags.TeamCheck.Value and Team ~=
Utility.Team) or (Library.Flags.TeamCheck and not Library.Flags.TeamCheck.Value)
then
do --// Main
local Character =
Value.Info.Character

local HasHumanoidPassed =
false
local Target = Character
and Value:GetRoot()
local Humanoid = Character
and Character:FindFirstChildOfClass("Humanoid")

if GameName == "Aftermath"
and Character then
if Value.Info.Class ==
"Player" then
Humanoid =
Character.Parent:FindFirstChildOfClass("Humanoid")
end
end;

if GameName ==
"Criminality" and Character then
if
(Library.Flags.IgnoreDowned.Value and GameFramework:CheckDowned(Character)) or
Character:FindFirstChildOfClass("ForceField") or
Character:FindFirstChildOfClass("Forcefield") then
HasHumanoidPassed =
false;
end;
end;

if (Humanoid and
Humanoid.Health >= Library.Flags.MinimumHealth.Value) or not Humanoid or GameName
== "Aftermath" then
HasHumanoidPassed =
true
end

if Target and
HasHumanoidPassed then
local Distance =
(Target.Position - Camera.CFrame.p).Magnitude
Distance = Distance /
DistanceConversions[PreferredDistances[GameName]].Conversion

if Distance <
Library.Flags.MaxDistance.Value then
local ScreenPos,
IsOnScreen = Camera:WorldToViewportPoint(Target.Position)
local Center =
Vector2.new(Visuals.FOVCircle.Position.X.Offset,
Visuals.FOVCircle.Position.Y.Offset);

if IsOnScreen then
local
DistanceFromCenter = (Center - Vector2.new(ScreenPos.X, ScreenPos.Y)).Magnitude

if
DistanceFromCenter <= (LastDistance or (Library.Flags.EnableFOV.Value and
Visuals.FOVCircle.Size.X.Offset / 2) or 2000) then
local
AllowedParts = {}
local List
= Library.Flags.TargettedBones.Value
local
BodyParts = Character
if GameName
== "Bad Business" then

BodyParts = Character:FindFirstChild("Body")
end

if
BodyParts then
for _,
Part in ipairs(BodyParts:GetChildren()) do
if
Part:IsA("BasePart") or Part:IsA("MeshPart") or Part:IsA("Part") then

local PartNameLowered = Part.Name:lower()

if table.find(List, "Thorax") and (PartNameLowered:find("torso") or


PartNameLowered:find("chest")) then

table.insert(AllowedParts, Part)

elseif table.find(List, "Legs") and PartNameLowered:find("leg") then

table.insert(AllowedParts, Part)

elseif table.find(List, "Head") and PartNameLowered:find("head") and not


PartNameLowered:find("hitbox") and not PartNameLowered:find("fake") then

table.insert(AllowedParts, Part)

end
end
end
end;

if
#AllowedParts >= 1 then
local
Random = math.random(1, #AllowedParts)

ClosestTarget = AllowedParts[Random]

LastDistance = DistanceFromCenter
ActualPlayer = Index

if
ClosestTarget and GameName == "Games Unite" then

ClosestTarget = Value:GetRoot()
end
end
end
end
end
end
end;
end
end;
end;
end;
end;

do --// ESP Update


if Library.Flags.MSDelay then
if tick() - Value.Info.LastUpdate >
(Library.Flags.MSDelay.Value / 10000) then
Value.Info.LastUpdate = tick();
Value:Update()
end;
end;
end;

do --// Anti desync


if Value.Info.Class == "Player" and
Library.Flags.ResolveDesync and Library.Flags.ResolveDesync.Value and
Value.Info.Character and Value.Info.Character:FindFirstChild("Head") then
local Position =
ReplicatedStorage.Players:FindFirstChild(Value.Object.Name).Status.UAC:GetAttribute
("LastVerifiedPos");
local Root =
Value.Info.Character:FindFirstChild("HumanoidRootPart");

if Root then
Root.CFrame = (Root.CFrame -
Root.Position) + Position
end;
end;

end;

do --// HBE
if Library.Flags.HBE and
Library.Flags.HBE.Value and Library.Flags.ExpandHeads.Value and (GameName == "Blood
and Iron" or GameName == "Combat Warriors") then
local Character = Value.Info.Character;

if Character and
Character:FindFirstChild("Head") then

Character.Head.Size =
Vector3.new(Library.Flags.Headsize.Value, Library.Flags.Headsize.Value,
Library.Flags.Headsize.Value);
Character.Head.Transparency = 0.7;
Character.Head.CanCollide = false;
end;
else
local Character = Value.Info.Character;

if Character and
Character:FindFirstChild("Head") then
Character.Head.Size =
Vector3.new(1.2000000476837158, 1, 1);
Character.Head.Transparency = 0;
Character.Head.CanCollide = true;
end;
end;
end;
end);
end;
end;

Combat.Target = ActualPlayer;
Combat.TargetName = ActualPlayerName;
Combat.TargetPart = ClosestTarget;

if ClosestTarget then
Combat.TargetPosition = ClosestTarget.Position;
Combat.CurrentPosition = Camera.CFrame.p;
end;

do --// Functions
do --// Aim Assist
task.spawn(function()
Combat:AimAssist(DeltaTime);
end);
end;

do --// Info Viewer


if GameName == "Project Delta" then
if Combat.Target and Combat.TargetPart and
Library.Flags.InventoryViewer and Library.Flags.InventoryViewer.Value then
local PlayerData =
ReplicatedStorage.Players:FindFirstChild(Combat.Target.name)

if PlayerData then
local Inventory = PlayerData.Clothing
local Hotbar = PlayerData.Inventory

local Options =
Library.Flags.InventoryOptions.Value
local Health =
math.floor(Combat.Target.Character.Humanoid.Health);

Visuals.InfoFrame.Visible = true;
Visuals:UpdateInfo(Combat.TargetPart,
Combat.Target, Health, Inventory, Hotbar, Options);
else
Visuals.InfoFrame.Visible = false;
end;
else
Visuals.InfoFrame.Visible = false;
end;
end;

if GameName == "Universal" then


if IsStudio then
if Combat.Target and Combat.TargetPart and
Library.Flags.InventoryViewer and Library.Flags.InventoryViewer.Value then
local Inventory =
Combat.Target:FindFirstChild("Inventory");
local Hotbar =
Combat.Target:FindFirstChild("Hotbar");
local Options =
Library.Flags.InventoryOptions.Value
local Health =
math.floor(Combat.Target.Humanoid.Health);

Visuals.InfoFrame.Visible = true;
Visuals:UpdateInfo(Combat.TargetPart,
Combat.Target, Health, Inventory, Hotbar, Options);
else
Visuals.InfoFrame.Visible = false;
end;
else
if Combat.Target and Combat.TargetPart and
Library.Flags.InventoryViewer and Library.Flags.InventoryViewer.Value then
local Inventory = Combat.Target.Backpack
local Options =
Library.Flags.InventoryOptions.Value
local Health =
math.floor(Combat.TargetPart.Parent.Humanoid.Health);

Visuals.InfoFrame.Visible = true;
Visuals:UpdateInfo(Combat.TargetPart,
Combat.Target, Health, Inventory, nil, Options);
else
Visuals.InfoFrame.Visible = false;
end;
end;
end;

end;
end;

do --// Auras
task.spawn(function()
if Library.Flags.KillAura and
Library.Flags.KillAura.Value then
if GameName == "Combat Warriors" then
local Tool = Client.Character and
Client.Character:FindFirstChildOfClass("Tool")
if not GameFramework.LastHitTick then
GameFramework.LastHitTick = tick()
end

if Tool and
Tool:FindFirstChild("CooldownProgress") and Tool.CooldownProgress.Value == 1 and
Combat.TargetPart and tick() - GameFramework.LastHitTick > 0.5 then
GameFramework.LastHitTick = tick()

ReplicatedStorage.Communication:WaitForChild("Events"):WaitForChild("MeleeSwing"):F
ireServer(Tool, 3)
task.wait(0.1)

local args = {
[1] = Tool,
[2] = Combat.TargetPart,
[3] = Tool.Hitboxes:GetChildren()[1],
[4] = Tool.Hitboxes:GetChildren()
[1].Position,
[5] = Tool.Hitboxes:GetChildren()
[1]:FindFirstChild("DmgPoint").CFrame,
[6] = CFrame.new(Camera.CFrame.p,
Combat.TargetPart.CFrame.p).lookVector,
[7] =
CFrame.new(Tool.Hitboxes:GetChildren()[1].Position,
Combat.TargetPart.CFrame.p).lookVector,
[8] = Tool.Hitboxes:GetChildren()
[1].CFrame.lookVector
}

ReplicatedStorage.Communication:WaitForChild("Events"):WaitForChild("MeleeDamage"):
FireServer(unpack(args))

end

--[[
// SWING
local args = {
[1] =
game:GetService("Players").LocalPlayer:indFirstChildOfClass("Tool"),
[2] = 3
}

game:GetService("ReplicatedStorage"):WaitForChild("Communication"):WaitForChild("Ev
ents"):WaitForChild("MeleeSwing"):FireServer(unpack(args))

// Hit
local args = {
[1] =
game:GetService("Players").LocalPlayer:indFirstChildOfClass("Tool"),
[2] =
game:GetService("Players"):WaitForChild("vtmxrs").Character:FindFirstChild("Right
Leg"),
[3] =
game:GetService("Players").LocalPlayer:FindFirstChildOfClass("Tool").Hitboxes:GetCh
ildren()[1],
[4] =
game:GetService("Players").LocalPlayer:indFirstChildOfClass("Tool").Hitboxes:GetChi
ldren()[1].Position,
[5] =
game:GetService("Players").LocalPlayer:indFirstChildOfClass("Tool").Hitboxes:GetChi
ldren()[1]:FindFirstChild("DmgPoint").CFrame,
[6] = CFrame.new(Camera.CFrame.p,
Target.CFrame.p).lookVector,
[7] =
CFrame.new(game:GetService("Players").LocalPlayer:FindFirstChildOfClass("Tool").Hit
boxes:GetChildren()[1].Position, Target.CFrame.p).lookVector,
[8] =
game:GetService("Players").LocalPlayer:FindFirstChildOfClass("Tool").Hitboxes:GetCh
ildren()[1].CFrame.lookVector
}

game:GetService("ReplicatedStorage"):WaitForChild("Communication"):WaitForChild("Ev
ents"):WaitForChild("MeleeDamage"):FireServer(unpack(args))

]]

end

if GameName == "Blackout" then


if Combat.TargetPart and
(Combat.TargetPart.Position - Camera.CFrame.p).Magnitude < 20 then

ReplicatedStorage.MeleeStorage.Events.Swing:InvokeServer();
--task.wait(0.2);

ReplicatedStorage.MeleeStorage.Events.Hit:FireServer(Combat.TargetPart,
Combat.TargetPart.Position);
end;
end;

if GameName == "Criminality" and


GameFramework.CurrentConfig and Combat.TargetPart then
if not
GameFramework:CheckDowned(Combat.TargetPart.Parent) and GameFramework.CurrentConfig
and rawget(GameFramework.CurrentConfig, "Mains") and
GameFramework.CurrentConfig.Mains.E ~= nil and Combat.TargetPart and
(Combat.TargetPart.Position - Camera.CFrame.p).Magnitude < 20 then
local SwingTime =
GameFramework.CurrentConfig.Mains.E.SwingTime;

if
Client.Character:FindFirstChildOfClass("Tool") and
(Client.Character:FindFirstChildOfClass("Tool").Name == "Fire-Axe" or
Client.Character:FindFirstChildOfClass("Tool").Name == "Sledgehammer") then
SwingTime = 1.5
end;

GameFramework:CrimHitObject(
Combat.TargetPart.Parent,
"Weapon",
Combat.TargetPart,
{Delay = SwingTime, AttackType = "Hit"}
);
end;
end;
end;

if Library.Flags.FinishAura and
Library.Flags.FinishAura.Value and Combat.TargetPart then
if GameName == "Criminality" then
if
GameFramework:CheckDowned(Combat.TargetPart.Parent) and GameFramework.CurrentConfig
and rawget(GameFramework.CurrentConfig, "Mains") and
GameFramework.CurrentConfig.Mains.E ~= nil and Combat.TargetPart and
(Combat.TargetPart.Position - Camera.CFrame.p).Magnitude < 20 then
local SwingTime =
GameFramework.CurrentConfig.Mains.E.SwingTime;
GameFramework:CrimHitObject(
Combat.TargetPart.Parent,
"Weapon",
Combat.TargetPart,
{Delay = SwingTime, AttackType =
"Finish"}
);
end;
end;
end;

if Library.Flags.RegisterAura and
Library.Flags.RegisterAura.Value and Library.Flags["Safe Aura"].Value and GameName
== "Criminality" then
local Closest, Distance;
for Index, Value in next,
Workspace.Map.BredMakurz:GetChildren() do
if Value:FindFirstChild("Values") and
Value:FindFirstChild("MainPart") and Value.Values.Broken.Value == false then
local Root = Value.MainPart;
if
(Client.Character.HumanoidRootPart.Position - Root.Position).Magnitude <= 10 then
Closest = Root;
Distance =
(Client.Character.HumanoidRootPart.Position - Root.Position).Magnitude;
end;
end;
end;

if Closest and
Client.Character:FindFirstChildOfClass("Tool") then
if
Client.Character:FindFirstChildOfClass("Tool").Name == "Crowbar" then
delay(0.4, function()

GameFramework:CrimHitObject(Closest.Parent, "Register", Closest);


end);
else
GameFramework:CrimHitObject(Closest.Parent,
"Register", Closest);
end;
end;
end;
end);
end;

do --// Autoshoot
if GameName == "Criminality" then
task.spawn(function()
if Client.Character:FindFirstChildOfClass("Tool")
and Library.Flags.Autoshoot and Library.Flags.Autoshoot.Value and Combat.TargetPart
then
GameFramework:FireBullet();

end;
--[[local Tool =
Client.Character:FindFirstChildOfClass("Tool");
if Library.Flags.Autoshoot and
Library.Flags.Autoshoot.Value then
if Client.Character and
Client.Character:FindFirstChild("Head") and Combat.TargetPart and
Client.Character:FindFirstChildOfClass("Tool") and
Client.PlayerGui:FindFirstChild("GunGUI") then

if Tool:FindFirstChild("Values") and
Tool:FindFirstChild("IsGun")then

local Origin =
Client.Character.Head.Position;
local Destination =
Combat.TargetPart.Position;

do
Destination = Combat.TargetPart;
if Utility:IsVisible(Destination)
then
local Firemode =
Client.PlayerGui.GunGUI.Frame.Main.Mode.Text;
--"[AUTO]"

GameFramework.IsActivating =
true;
Tool:Activate();
else
if GameFramework.IsActivating
then
GameFramework.IsActivating
= false;
Tool:Deactivate();
end;

end;
end;

end;
end;
else
if GameFramework.IsActivating and Tool then
GameFramework.IsActivating = false;
Tool:Deactivate();
end;
end;]]
end);
end;
end;
end;

do --// ESP Preview


local Preview = Library.Windows[1] and
Library.Windows[1].CurrentPreview;
if Preview then
Preview:Update();
end;
end;

do --// Client

if GameName ~= "Gunfight Arena" then


if GameName ~= "Bad Business" then
Utility.Team = Client.Team;
else
local Beta = game:GetService("Teams").Beta.Players
local Omega = game:GetService("Teams").Omega.Players
local FFA = game:GetService("Teams").FFA.Players
local Infected = game:GetService("Teams").Beta.Players
local Survivors =
game:GetService("Teams").Survivors.Players

if Beta:FindFirstChild(Client.Name) then
return Beta
end

if Omega:FindFirstChild(Client.Name) then
return Omega
end

if FFA:FindFirstChild(Client.Name) then
return "FFA_DISABLE_TEAMS"
end

if Infected:FindFirstChild(Client.Name) then
return Infected
end

if Survivors:FindFirstChild(Client.Name) then
return Survivors
end
end
else
Utility.Team = Client:GetAttribute("Team");
end;

do --// Character
if Client.Character and GameName ~= "Deadline" then
local Character = Client.Character;
local Root =
Character:FindFirstChild("HumanoidRootPart");
local Humanoid =
Character:FindFirstChildOfClass("Humanoid");
do --// Humanoid Related
if Humanoid and Root then
do --// Movement
if GameName == "Combat Warriors" or
GameName == "Project Delta" or GameName == "Criminality" or GameName == "Universal"
or GameName == "Blackout" or GameName == "The Streets" or GameName == "State Of
Anarchy" or GameName == "Korrupt Zombies" then

do --// Viewmodel highlight


if GameName == "Project Delta" then
if
Library.Flags.HighlightViewmodel and Library.Flags.HighlightViewmodel.Value and
Utility.CurrentViewmodel then

Utility.ViewmodelHighlight.Adornee = Utility.CurrentViewmodel;

Utility.ViewmodelHighlight.OutlineColor =
Library.Flags.ViewmodelOutlineColor.Color;
end;
end;
end;

do --// Water blur


if Library.Flags.AntiDrown and
Library.Flags.AntiDrown.Value then
if GameName == "Project Delta"
then
Lighting.WaterBlur.Enabled
= false;
end;
end;
end;

do --// Bunny hop


if Library.Flags.Bunnyhop and
Library.Flags.Bunnyhop.Value then
if GameName == "Project Delta"
then
local Old =
Humanoid:GetAttribute("JumpCooldown");
if Old then

Humanoid:SetAttribute("JumpCooldown", Old - 3);


end;
end;
end;
end;

do --// Anti fall


if GameName == "Blackout" then
if Library.Flags.AntiFall and
Library.Flags.AntiFall.Value then

Client.Character.RagdollClient.Disabled = true;
else

Client.Character.RagdollClient.Disabled = false;
end;
end;
end

do --// Criminality CharStats


if GameName == "Criminality" then
local SelfStats =
ReplicatedStorage.CharStats[Client.Name];

if Library.Flags.AntiRagdoll
and Library.Flags.AntiRagdoll.Value then
SelfStats.RagdollTime.Value
= 0;
SelfStats.Grabbed.Value =
false;

SelfStats.RagdollTime.RagdollSwitch2.Value = false;

SelfStats.RagdollTime.RagdollTime2.Value = 0;

SelfStats.RagdollTime.SRagdolled.Value = false;
SelfStats.Downed.Value =
false;
SelfStats.Handcuffed.Value
= false;
SelfStats.Grabbed.Value =
false;

SelfStats.RagdollTime.RagdollSwitch.Value = false;

SelfStats.RagdollTime.SRagdolled.Value = false;

Humanoid:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics, true)

Humanoid:SetStateEnabled(Enum.HumanoidStateType.Swimming, true)

Humanoid:SetStateEnabled(Enum.HumanoidStateType.Running, true)

Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping,true)

Humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, true)

Humanoid:SetStateEnabled(Enum.HumanoidStateType.GettingUp, true)

Humanoid:SetStateEnabled(Enum.HumanoidStateType.Freefall, true)

Humanoid:SetStateEnabled(Enum.HumanoidStateType.Landed, true)

Humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)

for Index, Value in next,


Character:GetChildren() do
if
Value:FindFirstChild(Value.Name.."Collider") then

Value:FindFirstChild(Value.Name.."Collider").CanCollide = false;
end;
end;

end;

if
SelfStats:FindFirstChild("AccelerationModifier") and
SelfStats:FindFirstChild("AccelerationModifier2") then
if
Library.Flags.LessInertia and Library.Flags.LessInertia.Value then

SelfStats.AccelerationModifier.Value = 9e9;
SelfStats.AccelerationModifier2.Value = 9e9;
else

SelfStats.AccelerationModifier.Value = 1;

SelfStats.AccelerationModifier2.Value = 1;
end;

if Library.Flags.Walkshoot
and Library.Flags.Walkshoot.Value then
for Index, Value in
pairs(GameFramework.StaminaTables) do
Value.WS = 18;
end;
end;

if
Library.Flags.InfiniteStamina and Library.Flags.InfiniteStamina.Value then
for Index, Value in
pairs(GameFramework.StaminaTables) do
Value.S = 100;
end;
end;
end
end;
end;

do --// IncreaseJump and IncreaseSpeed

if GameName ~= "Fallen" then


--// IncreaseSpeed
if Library.Flags.IncreaseSpeed
and Library.Flags.IncreaseSpeed.Value then
if GameName ~=
"Criminality" and GameName ~= "The Streets" then
if getconnections and
GameName ~= "Universal" then
for _, Connection
in ipairs(getconnections(Character.Humanoid:GetPropertyChangedSignal("WalkSpeed")))
do

Connection:Disable()
end
end
Humanoid.WalkSpeed =
Library.Flags.SpeedValue.Value
end

if GameName ==
"Criminality" or GameName == "The Streets" then
task.spawn(function()

RunService.Heartbeat:Wait()
local Direction =
Humanoid.MoveDirection
local Root =
Client.Character:FindFirstChild("HumanoidRootPart")
if Root and
Humanoid:GetState() ~= Enum.HumanoidStateType.Climbing then
Root.CFrame =
Root.CFrame + Vector3.new(Direction.X * Library.Flags.SpeedValue.Value, 0,
Direction.Z * Library.Flags.SpeedValue.Value)
end
end)
end
end

--// IncreaseJump
if Library.Flags.IncreaseJump
and Library.Flags.IncreaseJump.Value then
if GameName ~= "Universal"
and GameName ~= "Criminality" then
if getconnections and
GameName ~= "Universal" then
for _, Connection
in ipairs(getconnections(Humanoid:GetPropertyChangedSignal("JumpPower"))) do

Connection:Disable()
end
end

if GameName == "Project
Delta" then
Humanoid.JumpHeight
= Library.Flags.JumpValue.Value;
end;

Humanoid.JumpPower =
(GameName ~= "Project Delta" and GameName ~= "Criminality") and
Library.Flags.JumpValue.Value;
if GameName ==
"Criminality" then

Humanoid.UseJumpPower = false
end
else
Humanoid.JumpHeight =
Library.Flags.JumpValue.Value
if GameName ==
"Criminality" then

Humanoid.UseJumpPower = false
end
end
else
if GameName ==
"Criminality" then
Humanoid.UseJumpPower =
true
end
end;
end;
end;

do --// Removals
if GameName == "Project Delta" and
Library.Flags.EnableRemovals and Library.Flags.EnableRemovals.Value then
local PlayerGui =
Client.PlayerGui
local MainGui = PlayerGui and
PlayerGui.MainGui
local ScreenVFX = MainGui and
MainGui.MainFrame:FindFirstChild("ScreenEffects")

if ScreenVFX then
local Removals =
Library.Flags.Removals.Value

local Viewmodel =
Utility.CurrentViewmodel

if Viewmodel and
Viewmodel:FindFirstChild("Item") and Viewmodel.Item:FindFirstChild("Attachments")
then
local Sight =
Viewmodel.Item.Attachments:FindFirstChild("Sight")

if Sight and
Sight:FindFirstChildOfClass("Model") then
local Reticle =
Sight:FindFirstChildOfClass("Model"):FindFirstChild("Reticle")
local Prism =
Reticle and Reticle:FindFirstChild("PrismScopeGui")

if Prism then
local
ScopeParallax, ScopeLines = Prism.Parallax, Prism.Sight

if ScopeLines
and table.find(Removals, "ScopeLines") then

ScopeLines.Visible = false
elseif
ScopeLines and not table.find(Removals, "ScopeLines") then

ScopeLines.Visible = true
end

if
ScopeParallax and table.find(Removals, "Scope") then
for _,
Value in next, ScopeLines:GetChildren() do

Value.Visible = false
end

ScopeParallax.Visible = false
elseif
ScopeParallax and not table.find(Removals, "Scope") then

ScopeParallax.Visible = true
for _,
Value in pairs(ScopeLines:GetChildren()) do

Value.Visible = true
end
end
end
end
end

if table.find(Removals,
"Flashbang") then

ScreenVFX.Flashbang.Visible = false;
end;

if table.find(Removals,
"Parallax") then

ScreenVFX.Parallax.Visible = false;
end;

ScreenVFX.Visor.Visible =
not table.find(Removals, "Visor")

ScreenVFX.HelmetMask.Visible = not table.find(Removals, "Visor")


ScreenVFX.Mask.Visible =
not table.find(Removals, "Visor")

PlayerGui.PerformanceMonitor3.Enabled = not table.find(Removals, "ServerInfo")

ScreenVFX.Parent.InteractionFrame.FireMode.Visible = not table.find(Removals,


"WeaponInfo")

ScreenVFX.Parent.InteractionFrame.EquipedItem.Visible = not table.find(Removals,


"WeaponInfo")
end
end
end;

do --// AntiAim
do --// Project Delta
if GameName == "Project Delta"
and Library.Flags.AntiAim and Library.Flags.AntiAim.Value then

do --// Yaw
Humanoid.AutoRotate =
false;
local Root =
Humanoid.RootPart;

local Angle = -
math.atan2(Camera.CFrame.LookVector.Z, Camera.CFrame.LookVector.X) + math.rad(-90);
do
if
Library.Flags.YawBase.Value == "Random" then
Angle = -
math.atan2(Camera.CFrame.LookVector.Z, Camera.CFrame.LookVector.X +
math.rad(math.random(0, 360)));
elseif
Library.Flags.YawBase.Value == "Spin" then
Angle = -
math.atan2(Camera.CFrame.LookVector.Z, Camera.CFrame.LookVector.X) + tick() * 10 %
360;
elseif
Library.Flags.YawBase.Value == "None" then
Angle = -
math.atan2(Camera.CFrame.LookVector.Z, Camera.CFrame.LookVector.X) + math.rad(-90);
end
end;

local Offset =
math.rad(Library.Flags.YawOffset.Value)

local Angled =
CFrame.new(Root.Position) * CFrame.Angles(0, Angle + Offset, 0);

if
Library.Flags.YawBase.Value == "Targets" and Combat.TargetPart then
Angled =
CFrame.new(Root.Position, Combat.TargetPart.Position) * CFrame.Angles(0, Offset,
0);
end;
Root.CFrame =
Utility:Rotate(Angled)
end;

do --// Pitch
local Pitch =
Library.Flags.PitchValue.Value;

if
Library.Flags.PitchBase.Value == "Down" then
Pitch = -1
elseif
Library.Flags.PitchBase.Value == "Up" then
Pitch = 1
elseif
Library.Flags.PitchBase.Value == "Nod" then
local Sine =
math.sin(tick() * 2)
Pitch = Sine
elseif
Library.Flags.PitchBase.Value == "Random" then
Pitch =
math.random() / 10
end;

ReplicatedStorage.Remotes.UpdateTilt:FireServer(Pitch);
end;
else
Humanoid.AutoRotate = true;
end;
end;

do --// Aftermath

if GameName == "Aftermath" then


if
Client.Character:FindFirstChild("WorldCharacter"):FindFirstChild("HumanoidRootPart"
) and Combat.TargetPart then
Humanoid.AutoRotate =
false
local Angle = -
math.atan2(Camera.CFrame.LookVector.Z, Camera.CFrame.LookVector.X) + math.rad(-90)
local Offset =
math.rad(0)
local Angled =
CFrame.new(Client.Character.WorldCharacter.HumanoidRootPart.Position,
Combat.TargetPart.Position) * CFrame.Angles(0, Offset, 0);

Client.Character.WorldCharacter.HumanoidRootPart.CFrame = Utility:Rotate(Angled)
else
Humanoid.AutoRotate =
true
end
end
end
end;

do --// Character Korrupt Zombies


if GameName == "Korrupt Zombies"
and GameFramework.Character then
if
Library.Flags.InfiniteStamina and Library.Flags.InfiniteStamina.Value then

GameFramework.Character.Stamina = 9e9

GameFramework.Character.MaxStamina = 9e9
else
if
GameFramework.Character.Stamina > 10 then

GameFramework.Character.Stamina = 10
end

if
GameFramework.Character.MaxStamina > 10 then

GameFramework.Character.MaxStamina = 10
end
end;
end
end
end;

if GameName == "The Streets" or GameName ==


"Project Delta" or GameName == "State Of Anarchy" or GameName == "Korrupt Zombies"
or GameName == "Blackout" then
task.spawn(function() --// Fly
if Library.Flags.Fly and
Library.Flags.Fly.Value and Library.Flags.CanFly.Value and
RunService.Heartbeat:Wait() then
CameraLookVector =
Camera.CFrame.LookVector
NormalCameraLookVector =
CameraLookVector
local UpPos, DownPos, NonePos =
Vector3.new(0, 1, 0), Vector3.new(0, -1, 0), Vector3.new(0,0,0)
local base =
Humanoid.RootPart.CFrame
local IsUpPressed =
UserInputService:IsKeyDown(Enum.KeyCode.E)
local IsDownPressed =
UserInputService:IsKeyDown(Enum.KeyCode.Q)
local IsForwardPressed =
UserInputService:IsKeyDown(119)
local IsBackwardPressed =
UserInputService:IsKeyDown(115)

Humanoid:ChangeState(Enum.HumanoidStateType.Running)
if GameName == "The Streets"
then
Humanoid.PlatformStand =
false
end;

Humanoid.RootPart.Velocity =
NonePos

--if GameName == "Project


Delta" or GameName == "Blackout" then
--
Humanoid.RootPart.Anchored = true;
--end;

local Delta = DeltaTime *


Library.Flags.FlySpeed.Value * 3

local Vector = ((
Humanoid.MoveDirection +

(IsUpPressed and UpPos or


NonePos) +
(IsDownPressed and DownPos
or NonePos) +

(IsForwardPressed and
Vector3.new(0, NormalCameraLookVector.Y, 0) or NonePos) +
(IsBackwardPressed and
Vector3.new(0, -NormalCameraLookVector.Y, 0) or NonePos)
) * Delta)

base += Vector

local Position = base.Position


Humanoid.RootPart.CFrame =
CFrame.new(Position, Position + CameraLookVector)
end;
end);
end;
end;

do --// Water Walk


if Library.Flags.WaterWalk and
Library.Flags.WaterWalk.Value then
local RAY = Ray.new(Root.Position,
Vector3.new(0, -10, 0))
local _, Position, _, Material =
Workspace:FindPartOnRayWithWhitelist(RAY, {Workspace.Terrain})

if Material and Material ==


Enum.Material.Water then
if not GameFramework.WaterPart then
local WaterPart =
Instance.new("Part", workspace.NoCollision)
WaterPart.Transparency = 1
WaterPart.Size =
Vector3.new(10, 1, 10)
WaterPart.CanCollide = true
WaterPart.Anchored = true
GameFramework.WaterPart =
WaterPart
else

GameFramework.WaterPart.Position = Position
end
end
end
end
end;
end;

do --// Self highlight


if Library.Flags.SelfHighlight and
Library.Flags.SelfHighlight.Value and Character then
Visuals.SelfHighlight.Adornee = Character;
Visuals.SelfHighlight.Enabled = true;

local Fill, Outline =


Library.Flags.SelfFillColor, Library.Flags.SelfOutlineColor;

Visuals.SelfHighlight.FillColor = Fill.Color;
Visuals.SelfHighlight.OutlineColor =
Outline.Color;

Visuals.SelfHighlight.FillTransparency =
Fill.Transparency;
Visuals.SelfHighlight.OutlineTransparency =
Outline.Transparency;
else
Visuals.SelfHighlight.Enabled = false;
end;
end;

do --// head glitch


if GameFramework.HeadGlitch then
Character.Head.CanCollide = false;
Character.Head.CFrame =
Client.Character.HumanoidRootPart.CFrame * CFrame.new(0, -4, 0);
end;
end;
end;
end;
if GameName == "Scorched Earth" then
local Character = GameFramework.EntityData and
rawget(GameFramework.EntityData, Client.Name)
if Character then
local Root = rawget(GameFramework.EntityData,
Client.Name).colliderModel:FindFirstChildOfClass("MeshPart")
local Humanoid = rawget(GameFramework.EntityData,
Client.Name).colliderModel:FindFirstChildOfClass("Humanoid")
task.spawn(function() --// Fly
if Library.Flags.Fly and Library.Flags.Fly.Value
and Library.Flags.CanFly.Value and RunService.Heartbeat:Wait() then
local CameraLookVector =
Camera.CFrame.LookVector
local NormalCameraLookVector = CameraLookVector
local UpPos, DownPos, NonePos = Vector3.new(0,
1, 0), Vector3.new(0, -1, 0), Vector3.new(0, 0, 0)

local base = Root.CFrame


local IsUpPressed =
UserInputService:IsKeyDown(Enum.KeyCode.E)
local IsDownPressed =
UserInputService:IsKeyDown(Enum.KeyCode.Q)
local IsForwardPressed =
UserInputService:IsKeyDown(Enum.KeyCode.W)
local IsBackwardPressed =
UserInputService:IsKeyDown(Enum.KeyCode.S)
local IsLeftPressed =
UserInputService:IsKeyDown(Enum.KeyCode.D)
local IsRightPressed =
UserInputService:IsKeyDown(Enum.KeyCode.A)

Root.Velocity = NonePos

local Delta = DeltaTime *


Library.Flags.FlySpeed.Value * 3

local ForwardBackward =
Vector3.new(NormalCameraLookVector.X, 0, NormalCameraLookVector.Z).Unit
local RightLeft =
Vector3.new(NormalCameraLookVector.Z, 0, -NormalCameraLookVector.X).Unit

local Vector = (
(Humanoid.MoveDirection) +
(IsUpPressed and UpPos or NonePos) +
(IsDownPressed and DownPos or NonePos) +
(IsForwardPressed and ForwardBackward or
NonePos) +
(IsBackwardPressed and -ForwardBackward or
NonePos) +
(IsLeftPressed and -RightLeft or NonePos) +
(IsRightPressed and RightLeft or NonePos)
) * Delta

base += Vector

local Position = base.Position


Root.CFrame = CFrame.new(Position, Position +
CameraLookVector)
end;
end);
end
end

do --// Custom Weapon Info


Visuals.WeaponInfo.Visible = GameName == "Project Delta"
and Library.Flags.WeaponInfo and Library.Flags.WeaponInfo.Value or false;

if Visuals.WeaponInfo.Visible then
Visuals.WeaponInfo.Text = "";
Visuals.WeaponInfo.ZIndex = 3;
Visuals.WeaponInfo.Position = UDim2.new(0,
Camera.ViewportSize.X / 2, 0, (Camera.ViewportSize.Y / 2) + 20);
do
local EquippedItem =
ReplicatedStorage.Players[Client.name].Status.GameplayVariables.EquippedTool.Value;
local Center = Camera.ViewportSize / 2;

if EquippedItem then
local WeaponName = EquippedItem.Name;

local Attachments =
EquippedItem:FindFirstChild("Attachments");
local ItemProperties =
EquippedItem:FindFirstChild("ItemProperties")

if Attachments then
local Magazine =
Attachments:FindFirstChild("Magazine");
if Magazine then
Magazine = Magazine:GetChildren()[1];
if Magazine then
local Ammo, MaxAmmo =
Magazine.ItemProperties:GetAttribute("LoadedAmmo"),
Magazine.ItemProperties:GetAttribute("MaxLoadedAmmo");
local Caliber =
Magazine.ItemProperties["LoadedAmmo"]:GetChildren()[1]
if Caliber then
Caliber =
Caliber:GetAttribute("AmmoType");

Visuals.WeaponInfo.Text =
WeaponName:upper() .. " ["..tostring(Ammo).."/"..tostring(MaxAmmo).."] |
"..tostring(Caliber):upper();
else
Caliber = "NO AMMO";

Visuals.WeaponInfo.Text =
WeaponName:upper() .. " ["..tostring(Ammo).."/"..tostring(MaxAmmo).."] |
"..tostring(Caliber):upper();
end;
else
Visuals.WeaponInfo.Text = WeaponName ..
" [NO MAGAZINE]";
end;
else
if not ItemProperties["LoadedAmmo"]
then
Visuals.WeaponInfo.Text =
WeaponName .. " [NO MAGAZINE]";
else
local MaxLoadedAmmo =
ItemProperties:GetAttribute("MaxLoadedAmmo");
local LoadedAmmo =
ItemProperties:GetAttribute("LoadedAmmo");

local Caliber =
ItemProperties["LoadedAmmo"]:GetChildren()
if Caliber and Caliber[1] then
Caliber =
Caliber[1]:GetAttribute("AmmoType");

Visuals.WeaponInfo.Text =
WeaponName:upper() .. " ["..tostring(LoadedAmmo).."/"..tostring(MaxLoadedAmmo).."]
| "..tostring(Caliber):upper();
else
Caliber = "NO AMMO";

Visuals.WeaponInfo.Text =
WeaponName:upper() .. " ["..tostring(LoadedAmmo).."/"..tostring(MaxLoadedAmmo).."]
| "..tostring(Caliber):upper();
end;
end;
end;
else
Visuals.WeaponInfo.Text = WeaponName;
end;
end;

if Library.Flags.InfoFollowBarrel.Value and
Visuals.CurrentAimPart then
local Origin = Visuals.CurrentAimPart.CFrame.p;
local LookVector =
Visuals.CurrentAimPart.CFrame.lookVector;
local Distance = 1000;

local Ray = Workspace:Raycast(Origin,


LookVector * Distance, RayParams);
if Ray and Ray.Position then
local Position, IsOnScreen =
Camera:WorldToViewportPoint(Ray.Position);

if IsOnScreen then
Visuals.WeaponInfo.Position =
UDim2.new(0, Position.X, 0, Position.Y);
else
Visuals.WeaponInfo.Position =
UDim2.new(0, Center.X, 0, Center.Y + 20);
end;
else
Visuals.WeaponInfo.Position = UDim2.new(0,
Center.X, 0, Center.Y + 20);
end;
else
Visuals.WeaponInfo.Position = UDim2.new(0,
Center.X, 0, Center.Y + 20);
end;
end;
end;

end;
end;

do --// FOV Stuff


if Library.Flags.FOVEffects then
if Library.Flags.FOVPosition.Value == "Camera" then
Visuals.FOVCircle.Position = UDim2.new(0,
Camera.ViewportSize.X / 2, 0, Camera.ViewportSize.Y / 2);
else
local MouseLocation =
UserInputService:GetMouseLocation();
Visuals.FOVCircle.Position = UDim2.new(0,
MouseLocation.X, 0, MouseLocation.Y);
end;
Visuals.FOVGradient.Enabled =
Library.Flags.FOVEffects.Value;
Visuals.FOVCircle.Visible = Library.Flags.EnableFOV.Value;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVEffects.Value and Color3.fromRGB(255, 255, 255) or
Library.Flags.FOVColor.Color;
Visuals.FOVCircle.UIStroke.Transparency =
Library.Flags.FOVColor.Transparency;
if Library.Flags.DynamicFOV.Value then
task.spawn(function()
task.wait(0.01)
local Difference = (OldFieldOfView /
Camera.FieldOfView);
local FOVRadius = Library.Flags.Radius.Value;

Visuals.FOVCircle.Size = UDim2.new(0, Difference *


FOVRadius, 0, Difference * FOVRadius);
end);
else
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end;

--// FOV effects


if Library.Flags["EasingDirection"] and
Library.Flags["FOVEffects"].Value then

Visuals:UpdateFOVColor(Library.Flags["EasingStyle"].Value,
Library.Flags["EasingDirection"].Value, Library.Flags.RainbowFOV.Value);
end;
end;
end;

do --// Custom Objects


for Object, Data in next, CustomObjects do
task.spawn(function()
if tick() - Data.LastTick >
(Library.Flags.MSDelay.Value / 10000) then
Data.LastTick = tick()
local CustomName = Data.CustomName
local Flag = Data.Flag
local Main = Data.Main

--local CanShow = not CustomChecks or


CustomChecks(Object)
local CanShow = false;
if Data.CustomChecks then
CanShow = Data.CustomChecks(Object);
else
CanShow = true;
end;

if Object and Library.Flags[Flag] and


Library.Flags[Flag].Value and CanShow then
if type(CustomName) == "function" then
if (Data.TextUpdate and tick() -
Data.LastTextUpdate > Data.TextUpdate) or not Data.TextUpdate then
CustomName = Data.CustomName(Object)
Data.LastText = CustomName
Data.LastTextUpdate = tick()
else
CustomName = Data.LastText or ""
end
end

local Position = Data.GetPosition(Object)


if Position then
local Distance = (Camera.CFrame.p -
Position).Magnitude
Distance = Distance /
DistanceConversions[PreferredDistances[GameName]].Conversion

if Distance <=
Library.Flags.CustomDistance.Value then
local Pos, IsOnScreen =
Camera:WorldToViewportPoint(Position)

Main.Visible = IsOnScreen
if Main.Visible then
Main.FontFace =
Library.Flags.WorldFont.Value == "Smallest Pixel" and Library.SmallFont or
Library.MenuFont
Main.TextSize =
Library.Flags.WorldFont.Value == "Smallest Pixel" and Library.SmallSize or
Library.TextSize
Main.Text = CustomName
Main.TextColor3 =
Library.Flags[Data.Color].Color
Main.Position = UDim2.new(0, Pos.X,
0, Pos.Y)

Main.TextTransparency =
Library.Flags.FadeObjects and Library.Flags.FadeObjects.Value and
Visuals:Map(Distance, 0, Library.Flags.CustomDistance.Value + 40, 0, 1) or 0

if Object.Name == "Backpack" then


Main.TextXAlignment =
Enum.TextXAlignment.Left
end
end
else
Main.Visible = false
end
else
Main.Visible = false
end
else
Main.Visible = false
end
end
end);
end
end;

do --// Custom items like grenades, mines, etc


ESPConstructor:UpdateItems();
end;

do --// Tracers
if Library.Flags.Tracers and Library.Flags.Tracers.Value then
Visuals:UpdateLines()
end;
end;

do --// Hitmarkers
Visuals:UpdateHitmarkers()
end;

do --// Radar
if Library.Flags.Radar and Library.Flags.Radar.Value then
Visuals.RadarFrame.Visible = true;
local DelayV = Library.Flags.RadarDelay and
Library.Flags.RadarDelay.Value / 2.5 or 200
if tick() - Visuals.RadarTick >= (DelayV / 1000) then
Visuals:UpdateRadar();
Visuals.RadarTick = tick();
end;
else
Visuals.RadarFrame.Visible = false;
end;
end;

do --// Hit damage


Visuals:UpdateDamage()
end;

do --// Lighting
if Library.Flags.AllowAmbient and
Library.Flags.AllowAmbient.Value then
Lighting.Ambient = Library.Flags.Ambience.Color;
else
if GameName == "Blackout" then
Lighting.Ambient = Properties.Lighting.Ambient;
end
end;

if Library.Flags.AllowTime and Library.Flags.AllowTime.Value


then
Lighting.ClockTime = Library.Flags.Time.Value;
end;

do --// Atmosphere
local Atmosphere =
Lighting:FindFirstChildOfClass("Atmosphere")
if Atmosphere then
if Library.Flags["FogDensity"] and
Library.Flags["FogDensity"].Value and Library.Flags["FogDensityValue"] then
Atmosphere.Density =
Library.Flags["FogDensityValue"].Value;
end;

if Library.Flags["EnableFogColor"] and
Library.Flags["EnableFogColor"].Value and Library.Flags["FogColor"] then
Atmosphere.Color = Library.Flags["FogColor"].Color;
Atmosphere.Decay = Library.Flags["FogColor"].Color;
else
Atmosphere.Color = Properties.Atmosphere.Color;
Atmosphere.Decay = Properties.Atmosphere.Decay;
end;

if Library.Flags["EnableGlare"] and
Library.Flags["EnableGlare"].Value and Library.Flags["GlareValue"] then
Atmosphere.Glare =
Library.Flags["GlareValue"].Value;
else
Atmosphere.Glare = Properties.Atmosphere.Glare;
end;

if Library.Flags["EnableHaze"] and
Library.Flags["EnableHaze"].Value and Library.Flags["HazeValue"] then
Atmosphere.Haze = Library.Flags["HazeValue"].Value;
else
Atmosphere.Haze = Properties.Atmosphere.Haze;
end;
end;
end;

do --// Clouds
local Clouds = Workspace:FindFirstChild("Terrain") and
Workspace.Terrain:FindFirstChildOfClass("Clouds")
if Clouds then
if Library.Flags["CloudDensity"] and
Library.Flags["CloudDensity"].Value and Library.Flags["CloudDensityValue"] then
Clouds.Density =
Library.Flags["CloudDensityValue"].Value;
end;

if Library.Flags["EnableCloudColor"] and
Library.Flags["EnableCloudColor"].Value and Library.Flags["CloudColor"] then
Clouds.Color = Library.Flags["CloudColor"].Color;
else
if GameName ~= "Scorched Earth" then
Clouds.Color = Properties.Clouds.Color
end
end;
end;
end;

do --// Terrain
if Workspace:FindFirstChild("Terrain") and GameName ~=
"Fallen" then
for Index, Value in pairs({"Grass", "LeafyGrass",
"Ground", "Rock", "Sand"}) do
if Properties.Terrain[Value] then
local OriginalColor =
Properties.Terrain[Value];
if Library.Flags[Value.."Enabled"] and
Library.Flags[Value.."Enabled"].Value and Library.Flags[Value.."Color"] then

Workspace.Terrain:SetMaterialColor(Enum.Material[Value],
Library.Flags[Value.."Color"].Color);
else

Workspace.Terrain:SetMaterialColor(Enum.Material[Value], OriginalColor);
end;
end;
end;
end;
end;
end;

do --// Chatbot
if tick() - Chatbot.LastTick > 3 then
Chatbot.LastTick = tick()

if Library.Flags.Chatspam and Library.Flags.Chatspam.Value


then
local Emojis = Library.Flags.Emojis.Value and
Chatbot.Emojis or {""};
local Symbols = Library.Flags.Symbols.Value and
Chatbot.Symbols or {""};
local Type = {""};
local Phrase =
Chatbot.Phrases[Library.Flags.Phrase.Value or {""}];
local Wrapped = Chatbot:WrapMessage(Type[math.random(1,
#Type)], Phrase, Emojis, Symbols);

if GameName == "Project Delta" then

ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(Wrapped,
"Global");
else
if
ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") then

ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(Wrapped,
"All");
end;
end;
end;
end;
end;

do --// Crosshair
if GameName == "Universal" then
if not IsStudio and game.PlaceId ~= 3221241066 and
game.PlaceId ~= 17772691665 then
Visuals:UpdateCrosshair(1000, Camera.CFrame.p,
Camera.CFrame.LookVector, Camera);
else
if Camera:FindFirstChildOfClass("Model") then
local GunModel =
Camera:FindFirstChildOfClass("Model"):FindFirstChildOfClass("Model");
if GunModel then
local AimPart =
GunModel:FindFirstChild("AimPart");
local Silencer =
GunModel:FindFirstChild("Silenciador");
Visuals:UpdateCrosshair(1000, AimPart.CFrame.p,
AimPart.CFrame.LookVector, Camera);
else
Visuals.CrossAdornee.Transparency = 1;
end;
else
Visuals.CrossAdornee.Transparency = 1;
end;
end;
elseif GameName == "Project Delta" or GameName == "State Of
Anarchy" or GameName == "Scorched Earth" then
if GameName == "State Of Anarchy" then
local VM = Workspace.Ignore.Rigs:GetChildren()[1]
if VM then
Visuals.CurrentAimPart = VM.Essentials.Shoot
end
end

if Visuals.CurrentAimPart and Library.Flags.Crosshair and


Library.Flags.Crosshair.Value then
if GameName == "Project Delta" then
Visuals:UpdateCrosshair(1000,
Visuals.CurrentAimPart.CFrame.p, Visuals.CurrentAimPart.CFrame.LookVector,
Workspace.NoCollision);
elseif GameName == "State Of Anarchy" or GameName ==
"Scorched Earth" then
Visuals:UpdateCrosshair(1000,
Visuals.CurrentAimPart.CFrame.p, Visuals.CurrentAimPart.CFrame.LookVector, Camera);
end;
else
Visuals.CrossAdornee.Transparency = 1;
end;
end;
end;

do --// Crim instant reload


if GameFramework.LastReloadTick > 0.1 and not
GameFramework.IsSettingUpReload and GameName == "Criminality" and
Library.Flags.InstantReload and Library.Flags.InstantReload.Value then
local Remote = ReplicatedStorage.Events.GNX_R;
local Tool =
Client.Character:FindFirstChildOfClass("Tool");
Remote:FireServer(tick(), "KLWE89U0", Tool);
Remote:FireServer(tick(), "KLWE89U0", Tool);
GameFramework.LastReloadTick = tick();
end;
end;

do --// Korrupt
if not GameFramework.LastModUpdate then
GameFramework.LastModUpdate = tick()
end

if GameName == "Korrupt Zombies" and Library.Flags.NoRecoil


then
local Val = Library.Flags.BulletTP.Value
if not Val and Workspace.Ignore:FindFirstChild("MapFolder")
then
Workspace.Ignore.MapFolder.Parent = Workspace
elseif Val and Workspace:FindFirstChild("MapFolder") then
Workspace.MapFolder.Parent = Workspace.Ignore
end

local Weapons =
require(ReplicatedStorage.Modules.Shared.Managers.WeaponInfo)

if tick() - GameFramework.LastModUpdate > 3 then


GameFramework.LastModUpdate = tick()
if Library.Flags.NoRecoil.Value then
for Index, V in next, Weapons do
if type(Weapons[Index]) == "table" then
Weapons[Index].FirstShotRecoil = 0
Weapons[Index].RecoilPerShot = 0
end
end
else
for Index, V in next, Weapons do
if type(Weapons[Index]) == "table" then
Weapons[Index].FirstShotRecoil =
GameFramework.OldWeapons[Index].FirstShotRecoil
Weapons[Index].RecoilPerShot =
GameFramework.OldWeapons[Index].RecoilPerShot
end
end
end

if Library.Flags.NoSpread.Value then
for Index, V in next, Weapons do
if type(Weapons[Index]) == "table" then
Weapons[Index].SpreadPerShot = 0
Weapons[Index].MaxSpread = 0
end
end
else
for Index, V in next, Weapons do
if type(Weapons[Index]) == "table" then
Weapons[Index].SpreadPerShot =
GameFramework.OldWeapons[Index].SpreadPerShot
Weapons[Index].MaxSpread =
GameFramework.OldWeapons[Index].MaxSpread
end
end
end

end;
end
end

do --// Scorched Earth GunMods


local Player = GameFramework.EntityData and
rawget(GameFramework.EntityData, Client.Name)
if Player then
if Library.Flags.RemoveRecoil and
Library.Flags.RemoveRecoil.Value then
--Player.loadoutData.primary.staticData.recoilS =
0.0001
Player.loadoutData.primary.staticData.recoilCamVisual =
Vector3.new()

--Player.loadoutData.secondary.staticData.recoilS =
0.0001
Player.loadoutData.secondary.staticData.recoilCamVisual
= Vector3.new()
end;

if Library.Flags.RemoveDrag and
Library.Flags.RemoveDrag.Value then
Player.loadoutData.primary.staticData.drag = 0.0001
Player.loadoutData.secondary.staticData.drag = 0.0001
end;

if Library.Flags.RemoveSpread and
Library.Flags.RemoveSpread.Value then
Player.loadoutData.primary.staticData.accuracy = 1
Player.loadoutData.secondary.staticData.accuracy = 1
end;

if Library.Flags.RemoveSway and
Library.Flags.RemoveSway.Value then
Player.loadoutData.primary.staticData.mouseSwayMult =
0.001
Player.loadoutData.primary.staticData.swayMult = 0.001

Player.loadoutData.secondary.staticData.mouseSwayMult =
0.001
Player.loadoutData.secondary.staticData.swayMult =
0.001
end
end
end
end);
end);

if GameName == "Project Delta" then


Loops.Heartbeat = RunService.Heartbeat:Connect(function()
if Client.Character and
Client.Character:FindFirstChild("HumanoidRootPart") then --// Manipulation
local Root = Client.Character.HumanoidRootPart;
Fake.Real.CFrame = Root.CFrame;

do --// Manipulation
if Combat.ManipulatedPosition and
Combat.ManipulatedDirection and Library.Flags.Manipulation and
Library.Flags.Manipulation.Value and Combat.TargetPart then
task.spawn(function()
if GameFramework.Manipulated and
GameFramework.IsShooting then

local OldPos =
Client.Character.HumanoidRootPart.CFrame
Client.Character.HumanoidRootPart.CFrame =
CFrame.new(Combat.ManipulatedPosition, Combat.ManipulatedDirection)
Fake.Fake.CFrame =
Client.Character.HumanoidRootPart.CFrame;
end;
end);
end;
end;

if Client.Character and
Client.Character:FindFirstChild("HumanoidRootPart") and
Client.Character:FindFirstChild("LeftFoot") and
Client.Character:FindFirstChild("Humanoid") and Library.Flags.Spiderman and
Library.Flags.Spiderman.Value and Library.Flags.ClimbWalls and
Library.Flags.ClimbWalls.Value then

pcall(function()
local Foot =
Client.Character:FindFirstChild("LeftFoot");
local Root =
Client.Character:FindFirstChild("HumanoidRootPart");
local Humanoid =
Client.Character:FindFirstChild("Humanoid");
local RaycastResult = Workspace:Raycast(Foot.CFrame.p,
Root.CFrame.lookVector * 2.5, RayParams);

if RaycastResult and RaycastResult.Instance then


if not GameFramework.FlyViolationStart then
GameFramework.FlyViolationStart = tick();
end;

if tick() - GameFramework.FlyViolationStart >= 6


then
GameFramework.FlyViolationStart = nil;
end;

local TimeTillViolation = tick() -


GameFramework.FlyViolationStart;

Visuals.Flybar.Visible = true;
local LerpedColor = Color3.fromRGB(230, 20,
20):lerp(Color3.fromRGB(20, 230, 20), 1 - TimeTillViolation / 6);
Visuals.FlyInvert.BackgroundColor3 = LerpedColor;

Visuals.FlyInvert.Size = UDim2.new(0, -
(Visuals.Flybar.AbsoluteSize.X * (1 - TimeTillViolation / 6)), 1, 0);

Visuals.Flybar.AnchorPoint = Vector2.new(0.5, 0)
Visuals.Flybar.Position = UDim2.new(0.5, 0, 0.5,
270);

local ClimbSpeed =
Library.Flags.SpidermanSpeed.Value
Root.Velocity = Vector3.new(Root.Velocity.X,
ClimbSpeed, Root.Velocity.Z);

if Humanoid:GetState() ~=
Enum.HumanoidStateType.Climbing then

Humanoid:ChangeState(Enum.HumanoidStateType.Climbing)
end;
else
GameFramework.FlyViolationStart = nil;
Visuals.Flybar.Visible = false;
end;
end)
else
GameFramework.FlyViolationStart = nil;
Visuals.Flybar.Visible = false;
end;

if Library.Flags.Manipulation and
Library.Flags.Manipulation.Value and Library.Flags.VisualizeManipulation and
Library.Flags.VisualizeManipulation.Value then

pcall(function()
local Root = Client.Character.Head

if Root and Combat.TargetPart then


local VisiblePosition =
Utility:FindVisiblePosition(Root.Position, Combat.TargetPart);

if VisiblePosition and
GameFramework.ManipulatedIndex then
local Likeliness = 15 -
GameFramework.ManipulatedIndex

Visuals.ManipulationBar.Visible = true;
local LerpedColor = Color3.fromRGB(20, 230,
20):lerp(Color3.fromRGB(230, 20, 20), 1 - Likeliness / 6);
Visuals.ManipulationInvert.BackgroundColor3 =
LerpedColor;

Visuals.ManipulationInvert.Size = UDim2.new(0,
-(Visuals.ManipulationBar.AbsoluteSize.X * (1 - Likeliness / 6)), 1, 0);

Visuals.ManipulationBar.AnchorPoint =
Vector2.new(0.5, 0)
Visuals.ManipulationBar.Position =
UDim2.new(0.5, 0, 0.5, 340);
end;
else

Visuals.ManipulationBar.Visible = false;
end;
end)

else
Visuals.ManipulationBar.Visible = false;
end;
end;
end);

Loops.DesyncRS = RunService:BindToRenderStep("Desync",
Enum.RenderPriority.First.Value, function()
if Client.Character then
local Character = Client.Character;
local Root = Character:FindFirstChild("HumanoidRootPart")

if Root then
Root.CFrame = Fake.Real.CFrame
end;
end;
end);
end;

if GameName == "The Streets" or GameName == "State Of Anarcy" then


RunService.Stepped:Connect(function()
if Client.Character then
for _, Part in next, Client.Character:GetDescendants() do
if (Part:IsA("BasePart") or Part:IsA("Part") or
Part:IsA("MeshPart")) and Library.Flags.Noclip and Library.Flags.Noclip.Value and
Library.Flags.NoClip.Value then
Part.CanCollide = false
end;
end;
end;
end);
end;

end)()
end;

do --// Connections
LPH_NO_VIRTUALIZE(function() --// Macro
do --// Camera
Connections.Camera_ChildAdded =
Camera.ChildAdded:Connect(function(Model)
if GameName == "Project Delta" then
Model:WaitForChild("Humanoid");
Utility:UpdateViewmodel(Model);
end;

task.wait(0.1);
if Model:IsA("Model") and GameName ~= "Project Delta" then
Utility:UpdateViewmodel(Model);
end;

do --// Criminality
if GameName == "Criminality" then
if Model.Name == "BlindEffect" and Library.Flags.NoFlash
and Library.Flags.NoFlash.Value then
Model.Enabled = false;
end;

if Model.Name == "TEGA_Effect" and Library.Flags.NoTega and


Library.Flags.NoTega.Value then
Model.Enabled = false;
end;
if (Model.Name == "Concussion_Effect" or Model.Name ==
"Concussion_Effect2") and Library.Flags.NoConcuss and Library.Flags.NoConcuss.Value
then
Model.Enabled = false;
end;
end;
end;

end);

Connections.CameraFOV_Changed =
Camera:GetPropertyChangedSignal("FieldOfView"):Connect(function()
if Library.Flags.ZoomToggle and Library.Flags.ZoomToggle.Value and
Library.Flags.ZoomKey and Library.Flags.ZoomKey.Value then
Camera.FieldOfView = Library.Flags.ZoomLevel.Value;
return;
end;
end);

Connections.CameraCFChanged =
Camera:GetPropertyChangedSignal("CFrame"):Connect(function()
if GameFramework.FakePart then

if Combat.TargetPart and Library.Flags.AimMode.Value == "Silent


Aim" then
GameFramework.FakePart.CFrame = CFrame.new(Camera.CFrame.p,
Combat.TargetPart.CFrame.p)
else
GameFramework.FakePart.CFrame = Camera.CFrame
end
end
end)
end;

do --// Client
Connections.Client_CharacterAdded =
Client.CharacterAdded:Connect(function()
GameFramework.CurrentData = nil;
task.wait(1);

if GameName == "Project Delta" then


task.wait(2)
GameFramework:New();
end;

repeat task.wait() until Client.Character and


Client.Character:FindFirstChildOfClass("Humanoid");
GameFramework:RunCharacterFunctions();
end);
end;

do --// Studio testing


if IsStudio then
local Bots = Workspace:FindFirstChild("Bots");
local Grenades = Workspace:WaitForChild("Grenades");
local Mines = Workspace:WaitForChild("Mines");
local Claymores = Workspace:WaitForChild("Claymores");

local ACS_WorkSpace = Workspace:WaitForChild("ACS_WorkSpace");


local BulletModel = ACS_WorkSpace:WaitForChild("Client");

if Bots then
for Index, Value in next, Bots:GetChildren() do
if Value ~= Client then
ESPConstructor:New(Value, false);
end;
end
end;

if Grenades then
for Index, Value in next, Grenades:GetChildren() do
ESPConstructor:NewGrenade({
Name = "F1 Grenade";
Model = Value;
Root = Value;
});
end;
end;

if Mines then
for Index, Value in next, Mines:GetChildren() do
ESPConstructor:NewMine({
Name = "Landmine",
Model = Value;
Root = Value;
});
end;
end;

if Claymores then
for Index, Value in next, Claymores:GetChildren() do
ESPConstructor:NewClaymore({
Name = "Claymore",
Model = Value;
Root = Value;
});
end;
end;

if BulletModel then
BulletModel.ChildAdded:Connect(function(Bullet)
if Camera:FindFirstChildOfClass("Model") then
local GunModel =
Camera:FindFirstChildOfClass("Model"):FindFirstChildOfClass("Model");
if GunModel then
local AimPart = GunModel:FindFirstChild("AimPart");
local Silencer =
GunModel:FindFirstChild("Silenciador");

local Ray = Workspace:Raycast(Silencer.Position,


(AimPart.CFrame.LookVector * 1000), RayParams);
if Ray and Ray.Position then
Visuals:NewLine(Silencer.CFrame.p,
Ray.Position)
Visuals:NewHitmarker(Ray.Position)
end;
end;
end;
end);
end;
end;
end;

do --// Grenades
if GameName == "Project Delta" then
--[[
Fuse Timers:
F1 = 3
M84 = 1.2
RGD5 = 3;
RGO = IMPACT
]]
local Effects = Workspace.NoCollision:FindFirstChild("Effects");

if Effects then
Effects.ChildAdded:Connect(function(Grenade)
task.wait(0.3);
local Name = Grenade.Name;
if Name == "RGD5" or Name == "F1" or Name == "M84" or Name
== "RGO" or Name == "PG4" then

if Name == "RGO" or Name == "RGN" or Name == "PG4" then


ESPConstructor:NewGrenade({
Name = Name;
Model = Grenade;
Root = Grenade.PrimaryPart or
Grenade:FindFirstChildOfClass("MeshPart") or Grenade:FindFirstChildOfClass("Part");
TimeForExplosion = 5 - 0.3;
IsImpact = true;
});
else
ESPConstructor:NewGrenade({
Name = Name;
Model = Grenade;
Root = Grenade.PrimaryPart or
Grenade:FindFirstChildOfClass("MeshPart") or Grenade:FindFirstChildOfClass("Part");
TimeForExplosion = 3 - 0.3;
IsImpact = false;
});
end;
end;
end);

Effects.ChildRemoved:Connect(function(Grenade)
if Visuals.Items[Grenade] then
for Index, Value in next,
Visuals.Items[Grenade].Components do
Value:Destroy();
end;
Visuals.Items[Grenade] = nil;
end;
end);
end;
end;

if GameName == "Criminality" then


local Effects = Workspace.Debris.VParts;
if Effects then
Effects.ChildAdded:Connect(function(Grenade)
repeat task.wait() until Grenade
local Base = Grenade:WaitForChild("Base");
local Name = GameFramework.CrimMeshes[Base.MeshId];

if Name then
if GameFramework.CrimTextures[Base.TextureID] then
Name = GameFramework.CrimTextures[Base.TextureID];
end;

if Name == "Grenade" then


ESPConstructor:NewGrenade({
Name = Name;
Model = Grenade;
Root = Grenade;
TimeForExplosion = 2.5;
IsImpact = false;
});
elseif Name == "Incendiary-Grenade" or Name ==
"Molotov" then
ESPConstructor:NewGrenade({
Name = Name;
Model = Grenade;
Root = Grenade;
TimeForExplosion = 5 - 0.3;
IsImpact = true;
});
else
ESPConstructor:NewGrenade({
Name = Name;
Model = Grenade;
Root = Grenade;
TimeForExplosion = 1.8;
IsImpact = true;
});
end;
end;

--[[if Name == "RGD5" or Name == "F1" or Name == "M84" or


Name == "RGO" or Name == "PG4" then

if Name == "RGO" or Name == "RGN" or Name == "PG4" then


ESPConstructor:NewGrenade({
Name = Name;
Model = Grenade;
Root = Grenade.PrimaryPart or
Grenade:FindFirstChildOfClass("MeshPart") or Grenade:FindFirstChildOfClass("Part");
TimeForExplosion = 5 - 0.3;
IsImpact = true;
});
else
ESPConstructor:NewGrenade({
Name = Name;
Model = Grenade;
Root = Grenade.PrimaryPart or
Grenade:FindFirstChildOfClass("MeshPart") or Grenade:FindFirstChildOfClass("Part");
TimeForExplosion = 3 - 0.3;
IsImpact = false;
});
end;
end;]]
end);

Effects.ChildRemoved:Connect(function(Grenade)
if Visuals.Items[Grenade] then
for Index, Value in next,
Visuals.Items[Grenade].Components do
Value:Destroy();
end;
Visuals.Items[Grenade] = nil;
end;
end);
end;
end;
end;

do --// Players
do --// Main
if GameName ~= "Gunfight Arena" then
for Index, Value in next, Players:GetPlayers() do
if Value ~= Client and Value:IsA("Player") then
ESPConstructor:New(Value, false);
end;
end;

Connections.Players_PlayerAdded =
Players.PlayerAdded:Connect(function(Value)
if Value ~= Client and Value:IsA("Player") then
ESPConstructor:New(Value, false);
end;
-- Library:UpdateFriendliesDropdown();
end);

Connections.Players_PlayerRemoving =
Players.PlayerRemoving:Connect(function(Value)
Visuals.Enemies[Value]:Remove();

end);
elseif GameName == "Gunfight Arena" then
for Index, Value in next, Players:GetChildren() do
if Value ~= Client then
ESPConstructor:New(Value, false);
end;
end;

Connections.Players_PlayerAdded =
Players.ChildAdded:Connect(function(Value)
if Value ~= Client then
ESPConstructor:New(Value, false);
end;
end);

Connections.Players_PlayerRemoving =
Players.ChildRemoved:Connect(function(Value)
Visuals.Enemies[Value]:Remove();
end);
end;
end;

do --// Frontlines
if GameName == "Frontlines" then

for Index, Value in next, Workspace:GetChildren() do


if Value:IsA("Model") and Value.Name == "soldier_model"
then
ESPConstructor:New(Value);
end;
end;

Workspace.ChildAdded:Connect(function(Value)
if Value:IsA("Model") and Value.Name == "soldier_model"
then
ESPConstructor:New(Value)
end
end);

Workspace.ChildRemoved:Connect(function(Value)
if Visuals.Enemies[Value] then
Visuals.Enemies[Value]:Remove();
end
end);
end
end
end;

pcall(function() --// Scorched Earth


GameFramework.Assets = {}

for Index, Value in next, ReplicatedStorage.itemsModels:GetChildren()


do
if Value:FindFirstChild("localModel") and
Value.localModel.PrimaryPart and Value.localModel.PrimaryPart:IsA("MeshPart") then
GameFramework.Assets[Value.localModel.PrimaryPart.MeshId] =
Value.Name;
end;
end;
end)

do --// Blackout
if GameName == "Blackout" then
local NPCS = Workspace:FindFirstChild("NPCs");
local WaveNPCs = Workspace.WaveSurvival.NPCs;
local Arena = Workspace.Arena;
local ActiveTasks = Workspace.ActiveTasks;

do --// Brokers / Merchants


ESPConstructor:NewListener({
Type = "Model",
Parent = NPCS.Other,
Flag = "Traders",
CustomName = function(Object)
local Name = Object.name
if Object.PrimaryPart then
local Distance =
math.floor((Object.PrimaryPart.CFrame.p - Camera.CFrame.p).Magnitude);
local Contents =
Object:FindFirstChild("Inventory");

Name = Name .. " | Distance:


"..tostring(Distance).. "s";
end;

return Name;
end;

GetPosition = function(Object)
if Object.PrimaryPart then
return Object.PrimaryPart.CFrame.p;
end;
end;
});
end;

do --// Ammo boxes


--workspace.Debris.Misc.AmmoBox.Base
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.Debris.Misc,
Flag = "AmmoBox",
Name = "AmmoBox",
CustomName = function(Object)
local Name = Object.Name
if Object:FindFirstChild("Base") then
local Percentage =
Object.Base.AmmoBox.Gui.Percentage;

local Distance =
math.floor((Object:FindFirstChild("Base").CFrame.p - Camera.CFrame.p).Magnitude);
Name = Name .. " | " .. Percentage.Text.. "
remaining\nDistance: "..tostring(Distance).. "s";
end;

return Name;
end;

GetPosition = function(Object)
if Object:FindFirstChild("Base") then
return Object:FindFirstChild("Base").CFrame.p;
end;
end;
CustomChecks2 = function(Object)
if Object.Name == "AmmoBox" then
return true
end;

return false
end;
});
end;

do --// NPCs
do --// Basic hostile NPC
for Index, Value in next, NPCS.Hostile:GetChildren() do
ESPConstructor:New(Value);
end;

NPCS.Hostile.ChildAdded:Connect(function(Value)
ESPConstructor:New(Value);
end);

NPCS.Hostile.ChildRemoved:Connect(function(Value)
Visuals.Enemies[Value]:Remove();
end);
end;

do --// Wave NPC


for Index, Value in next, WaveNPCs:GetChildren() do
ESPConstructor:New(Value);
end;

WaveNPCs.ChildAdded:Connect(function(Value)
ESPConstructor:New(Value);
end);

WaveNPCs.ChildRemoved:Connect(function(Value)
Visuals.Enemies[Value]:Remove();
end);
end;

do --// Arena NPC


for Index, Value in next, Arena:GetChildren() do
if Value:IsA("Model") and
Value:FindFirstChild("CurrentGear") then
ESPConstructor:New(Value);
end;
end;

Arena.ChildAdded:Connect(function(Value)
task.wait(0.5)
if Value:IsA("Model") and
Value:FindFirstChild("CurrentGear") then
ESPConstructor:New(Value);
end;
end);

Arena.ChildRemoved:Connect(function(Value)
if Visuals.Enemies[Value] then
Visuals.Enemies[Value]:Remove();
end;
end);
end;

do --// Task NPCs


for Index, Value in next, ActiveTasks:GetChildren() do
for Index, Value in next, Value:GetChildren() do
if Value:IsA("Model") and
Value:FindFirstChild("CurrentGear") then
ESPConstructor:New(Value);
end;
end;

Value.ChildAdded:Connect(function(Value)
task.wait(0.5);
if Value:IsA("Model") and
Value:FindFirstChild("CurrentGear") then
ESPConstructor:New(Value);
end;
end);

Value.ChildRemoved:Connect(function(Value)
if Visuals.Enemies[Value] then
Visuals.Enemies[Value]:Remove();
end;
end);
end;

ActiveTasks.ChildAdded:Connect(function(Value)
for Index, Value in next, Value:GetChildren() do
if Value:IsA("Model") and
Value:FindFirstChild("CurrentGear") then
ESPConstructor:New(Value);
end;
end;

Value.ChildAdded:Connect(function(Value)
task.wait(0.5);
if Value:IsA("Model") and
Value:FindFirstChild("CurrentGear") then
ESPConstructor:New(Value);
end;
end);

Value.ChildRemoved:Connect(function(Value)
if Visuals.Enemies[Value] then
Visuals.Enemies[Value]:Remove();
end;
end);
end);
end;
end;

do --// Airdrops
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.Debris.Airdrop,
Flag = "Airdrops",
CustomName = function(Object)
local Name = Object.Name;
local Distance = Object.PrimaryPart and
math.floor((Object.PrimaryPart.CFrame.p - Camera.CFrame.p).Magnitude);
Name = Name .. " | Distance: "..tostring(Distance)..
"s";

return Name;
end;

GetPosition = function(Object)
if Object and Object.PrimaryPart then
return Object.PrimaryPart.CFrame.p;
end;
end;
});
end;

do --// Terminals

ESPConstructor:NewListener({
Type = "MeshPart",
Parent = Workspace.Terminals,
Flag = "Terminals",
CustomName = function(Object)
local Name = Object.Name;
local Distance = math.floor((Object.CFrame.p -
Camera.CFrame.p).Magnitude);
Name = Name .. " | Distance: "..tostring(Distance)..
"s";

return Name;
end;

GetPosition = function(Object)
if Object then
return Object.CFrame.p;
end;
end;
});
end;

do --// Corpses
ESPConstructor:NewListener({
Type = "MeshPart",
Parent = Workspace.Debris.Loot,
Flag = "Bodybags",
CustomName = function(Object)
local ObjectName = Object:FindFirstChild("LootTable")
and Object:FindFirstChild("LootTable"):GetAttribute("LootName") or "";
if Object.Position then
local Money, Valuables = 0, 0;
if Object:FindFirstChild("LootTable") then
Money =
Object:FindFirstChild("LootTable"):GetAttribute("Cash");
Valuables =
Object:FindFirstChild("LootTable"):GetAttribute("Valuables");
end;
local Distance = math.floor((Object.Position -
Camera.CFrame.p).Magnitude);
if Object.Name == "DeathBag" then
Name = ObjectName.."'s ".. "Body bag" .." |
Distance: "..tostring(Distance).. "s\n".."Money: "..tostring(Money) .. " Valuables:
"..tostring(Valuables);
else
Name = ObjectName.." | Distance:
"..tostring(Distance).. "s\n".."Money: "..tostring(Money) .. " Valuables:
"..tostring(Valuables);
end;
end;

return Name;
end;
GetPosition = function(Object)
return Object.Position;
end;
});
end;
end;
end;

do --// Aftermath
if GameName == "Aftermath" and Workspace:FindFirstChild("game_assets")
and Workspace.game_assets:FindFirstChild("item_spawns") then
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.game_assets.item_spawns,
Flag = "Items",
CustomName = function(Object)
if Object.PrimaryPart then
local Name = Object.Name
local Distance =
math.floor((Object.PrimaryPart.Position - Camera.CFrame.p).Magnitude);

return Name .. " | " ..tostring(Distance).."s";


end
end;

GetPosition = function(Object)
if Object.PrimaryPart then
return Object.PrimaryPart.Position;
end
end;
});
end

end

do --// SOA
if GameName == "State Of Anarchy" then
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.Interactable.Containers,
Flag = "Corpse",
CustomName = function(Object)
local Name = Object.Name
local Distance = math.floor((Object.PrimaryPart.Position -
Camera.CFrame.p).Magnitude);

return Name .. " | " ..tostring(Distance).."s";


end;

GetPosition = function(Object)
return Object.PrimaryPart.Position;
end;

CustomChecks2 = function(Object)
task.wait(1);

if Object.Name:find("Corpse") then
return true;
end;

return false
end;
});

ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.Interactable.PickUps,
Flag = "Items",
CustomName = function(Object)
local Name = Object.Name
local Root = Object:FindFirstChildOfClass("MeshPart") or
Object.PrimaryPart or Object:FindFirstChildOfClass("Part")
if Root then
local Distance = math.floor((Root.Position -
Camera.CFrame.p).Magnitude);

return Name .. " | " ..tostring(Distance).."s";


end;
end;

GetPosition = function(Object)
local Root = Object:FindFirstChildOfClass("MeshPart") or
Object.PrimaryPart or Object:FindFirstChildOfClass("Part")
if Root then
return Root.Position
end;
end;

});
end

end

do --// la skeets
if GameName == "The Streets" then
local Items = Workspace:FindFirstChild("Item Shops")
do --// Objects
ESPConstructor:NewListener({
Parent = Items,
Name = {"Uzi | $150", "Glock | $400", "Glock | $200",
"Sawed Off | $150", "Sawed Off | $300"},
Flag = "GunShops",
CustomName = function(Object)
local Name = Object.Name;
local Root = Object:FindFirstChild("Head");

if Root then
local Distance = math.floor((Root.CFrame.p -
Camera.CFrame.p).Magnitude);
Name = Name .. " | Distance:
"..tostring(Distance).. "s";
end;
return Name;
end;
GetPosition = function(Object)
local Root = Object:FindFirstChild("Head");
if Root then
return Root.CFrame.p;
end;
return Object.WorldPivot.p;
end;
})
end;

do --// Proximity prompts

ProxPromptService.PromptButtonHoldBegan:Connect(function(Prompt, Player)
if Player == Client and Library.Flags.InstantInteract and
Library.Flags.InstantInteract.Value then
fireproximityprompt(Prompt)
end;
end);
end;
end;
end;

do --// Project Delta


do --// Lobby / Game
if GameName == "Project Delta" then
do --// Items
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.DroppedItems,
Flag = "Items",
CustomName = function(Object)
local Name = "Item";
local Root = Object.PrimaryPart or
Object:FindFirstChildOfClass("MeshPart");
if Root then
local Distance = math.floor((Root.CFrame.p -
Camera.CFrame.p).Magnitude / 3);
Name = Object.Name .." | Distance:
"..tostring(Distance).. "m";
end;

return Name;
end;

GetPosition = function(Object)
local Root = Object.PrimaryPart or
Object:FindFirstChildOfClass("MeshPart");
if Root then
return Root.CFrame.p;
end;
end;

CustomChecks = function(Object)
if not Object:FindFirstChild("Clothing") then
if Library.Flags.FilterItems and
Library.Flags.FilterItems.Value and table.find(Library.Flags.FilteredItems.Value,
Object.Name) then
return true;
elseif Library.Flags.FilterItems and not
Library.Flags.FilterItems.Value then
return true
end;
end;

return false
end;

CustomChecks2 = function(Object)
task.wait(1);

if Object:FindFirstChild("Clothing") then
return false;
end;

return true
end;
});
end;
end;
end;

do --// Game Oonly

if GameName == "Aftermath" and


Workspace:FindFirstChild("game_assets") and
Workspace.game_Assets:FindFirstChild("NPCs") then
local Path = Workspace.game_assets.NPCs
for Index, Value in next, Path:GetChildren() do
if Value.Name == "WorldModel" then
ESPConstructor:New(Value);
end
end;

Path.ChildAdded:Connect(function(Value)
if Value.Name == "WorldModel" then
ESPConstructor:New(Value);
end
end);

Path.ChildRemoved:Connect(function(Value)
Visuals.Enemies[Value]:Remove();
end);
end

if GameName == "Project Delta" and


Workspace:FindFirstChild("NoCollision") and
Workspace.NoCollision:FindFirstChild("ExitLocations") then
do --// AI
for Index, Value in next, Workspace.AiZones:GetChildren()
do
local Name = Value.Name;
if not table.find({"OutpostLandmines",
"OutpostClaymores", "HeliCrashClaymores", "PowerPlant", "HeliCrash"}, Name) then
for _, Value in next, Value:GetChildren() do
ESPConstructor:New(Value, false);
end;
Value.ChildAdded:Connect(function(Value)
ESPConstructor:New(Value, false);
end);

Value.ChildRemoved:Connect(function(Value)
if Visuals.Enemies then
Visuals.Enemies[Value]:Remove();
end;
end);
end;
end;
end;

do --// Landmines
Connections.LandMineAdded =
Workspace.AiZones.OutpostLandmines.ChildAdded:Connect(function(v)
if Library.Flags.RemoveOutpostMines and
Library.Flags.RemoveOutpostMines.Value then
v:Destroy();
end;
end)
end;

do --// Custom ESP Objects


do --// Main
if GameName == "Project Delta" then
do --// Corpses
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.DroppedItems,
Flag = "Corpses",
CustomName = function(Object)
local Name = "Corpse";
if Object.PrimaryPart then
local Distance =
math.floor((Object.PrimaryPart.CFrame.p - Camera.CFrame.p).Magnitude / 3);
local Contents =
Object:FindFirstChild("Inventory");

Name = Object.Name.."'s "..


"Corpse" .." | Distance: "..tostring(Distance).. "m\n";

if Library.Flags.FilterCorpses and
Library.Flags.FilterCorpses.Value then
local Clothing =
Object:FindFirstChild("Clothing");
local Hotbar =
Object:FindFirstChild("Hotbar");
local Hotbarlist = Hotbar and
Hotbar:GetChildren()
local ClothingList = Clothing
and Clothing:GetChildren();

if ClothingList and
#ClothingList > 0 then
for Index, Cloth in next,
ClothingList do
if
table.find(Library.Flags.FilteredItems.Value, Cloth.Name) then
Name =
Name..Cloth.Name.."\n"
end;

for Index, Item in


next, Cloth:GetChildren() do
if
table.find(Library.Flags.FilteredItems.Value, Item.Name) then
Name =
Name..Item.Name.."\n"
end;
end;
end;
end;

if Hotbarlist and #Hotbarlist >


0 then
for Index, Item in next,
Hotbarlist do
if
table.find(Library.Flags.FilteredItems.Value, Item.Name) then
Name =
Name..Item.Name.."\n"
end;
end;
end;
end;
end;

return Name;
end;

GetPosition = function(Object)
if Object.PrimaryPart then
return Object.PrimaryPart.CFrame.p;
end;
end;

CustomChecks = function(Object)
if Object:FindFirstChild("Clothing")
and Object.PrimaryPart then
return true;
end;

return false
end;

CustomChecks2 = function(Object)
task.wait(1);
if Object:FindFirstChild("Clothing")
then
return true;
end;

return false
end;
});
end;
do --// Extracts
ESPConstructor:NewListener({
Type = "Part";
Parent =
Workspace.NoCollision.ExitLocations,
Flag = "Extracts",
CustomName = function(Object)
local Name = "Extract";
local Distance =
math.floor((Object.CFrame.p - Camera.CFrame.p).Magnitude / 3);

Name = Name .. " | Distance:


"..tostring(Distance).."m";

return Name;
end;

GetPosition = function(Object)
return Object.CFrame.p;
end;
});
end;

do --// Vehicles
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.Vehicles,
Flag = "Vehicles",
CustomName = function(Object)
local Name = "[Vehicle] UAZ";
if Object.PrimaryPart then
local Distance =
math.floor((Object.PrimaryPart.CFrame.p - Camera.CFrame.p).Magnitude / 3);
Name = Name.." | Distance:
"..tostring(Distance).. "m"
end;

return Name;
end;

GetPosition = function(Object)
if Object.PrimaryPart then
return Object.PrimaryPart.CFrame.p;
end;
end;

CustomChecks = function(Object)
if Object.PrimaryPart then return true;
end;
end;
});
end;
end;
end;
end;

do --// Foliage
if Workspace:FindFirstChild("SpawnerZones") then
for Index, Value in next,
Workspace.SpawnerZones.Foliage:GetDescendants() do
Visuals:CheckFoliage(Value);
end;

Workspace.SpawnerZones.Foliage.DescendantAdded:Connect(function(Value)
task.wait(0.1);
Visuals:CheckFoliage(Value);
end);
end;
end;

do --// Quests
do --// Quest Items
local QuestItems = Workspace.QuestItems;

ESPConstructor:NewListener({
Type = "Model";
Parent = QuestItems,
Flag = "QuestItems",
CustomName = function(Object)
local Name = "Quest Item - "..Object.Name;
local Root = Object.PrimaryPart;
if Root then
local Distance = math.floor((Root.CFrame.p
- Camera.CFrame.p).Magnitude / 3);

Name = Name .. " | Distance:


"..tostring(Distance).."m";
end;

return Name;
end;

GetPosition = function(Object)
local Root = Object.PrimaryPart;
return Root and Root.CFrame.p or
Object.WorldPivot.p;

end;

CustomChecks = function(Object)
if Object.Name and
Library.Flags.AllowedQuestItems and
table.find(Library.Flags.AllowedQuestItems.Value, Object.Name) then
return true;
end;

return false;
end;
});
end;

do --// Actual quests


local CustomQuestFolder = Instance.new("Folder",
workspace.NoCollision);
CustomQuestFolder.Name = "bismallah";

local QuestModule-- =
require(ReplicatedStorage.Modules.Quests);
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value,
"Quests") and type(rawget(Value, "Quests")) == "table" and rawget(Value,
"QuestsSorted") then
QuestModule = Value
end
end

local function GetPositions(Name, Objectives)


local QuestInfo = {
Name = Name,
Positions = {}
}
for Index, Value in next, Objectives do
if type(Value) == "table" and rawget(Value,
"Position") then
local Position = Value.Position;
if Position then
QuestInfo.Positions[tostring(Index)] =
Position;
end;
end;
end;
return QuestInfo
end;

for Index, Value in next, QuestModule.Quests do


if type(Value) == "table" and rawget(Value,
"Objectives") then
local Objectives = Value.Objectives;

do
local QuestInfo =
GetPositions(tostring(Index), Objectives);

if QuestInfo and QuestInfo.Positions then


for Index, Value in next,
QuestInfo.Positions do
local Part = Instance.new("Part",
CustomQuestFolder);

Part.Name = QuestInfo.Name;
Part.Position = Value;
Part.CanCollide = false;
Part.Anchored = true;
Part.Transparency = 1
Part.Size = Vector3.new(0.5, 0.5,
0.5);
Part:SetAttribute(tostring(Index),
true);
end;
end;
end;
end;
end;

ESPConstructor:NewListener({
Type = "Part";
Parent = CustomQuestFolder,
Flag = "Quests",
CustomName = function(Object)
local Name = "Quest Location - "..Object.Name;
local Root = Object;
if Root then
local Distance = math.floor((Root.CFrame.p
- Camera.CFrame.p).Magnitude / 3);

Name = Name .. " | Distance:


"..tostring(Distance).."m";
end;

return Name;
end;

GetPosition = function(Object)
local Root = Object;
return Root and Root.CFrame.p;

end;

CustomChecks = function(Object)
if Object.Name and Library.Flags.AllowedQuests
and table.find(Library.Flags.AllowedQuests.Value, Object.Name) then
return true;
end;

return false;
end;
});
end;
end;

end;
end;
end;

do --// Criminality
if GameName == "Criminality" and Workspace:FindFirstChild("Map") and
Workspace.Map:FindFirstChild("BredMakurz") and
Workspace.Filter:FindFirstChild("SpawnedPiles") then
do --// Proximity prompts

ProxPromptService.PromptButtonHoldBegan:Connect(function(Prompt, Player)
if Player == Client and Library.Flags.InstantInteract and
Library.Flags.InstantInteract.Value then
fireproximityprompt(Prompt)
end;
end);
end;

do --// ATMs
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.Map.ATMz,
Flag = "ATM",
CustomName = function(Object)
local Name = Object.Name;
local Root = Object:FindFirstChild("MainPart");

if Root then
local Distance = math.floor((Root.CFrame.p -
Camera.CFrame.p).Magnitude);
Name = Name .. " | Distance:
"..tostring(Distance).. "s";
end;
return Name;
end;

GetPosition = function(Object)
local Root = Object:FindFirstChild("MainPart");
if Root then
return Root.CFrame.p;
end;
return Object.WorldPivot.p;
end;
});
end

do --// Safes/Registers

ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.Map.BredMakurz;
Flag = "Safe";
CustomName = function(Object)
local Name = Object.Name;
local Root = Object.PrimaryPart;

local Values = Object:FindFirstChild("Values");

do
if Name:find("SmallSafe") then
Name = "Small safe";
elseif Name:find("MediumSafe") then
Name = "Medium safe";
elseif Name:find("Register") then
Name = "Register";
end;

if Values then
local DropA = Values:FindFirstChild("DropA");
if DropA then
Name = Name .."\
n"..tostring(DropA.MinValue).." - "..tostring(DropA.MaxValue).."$";
end;
end;

if Root then
local Distance = math.floor((Root.CFrame.p -
Camera.CFrame.p).Magnitude);
Name = Name .. " | Distance:
"..tostring(Distance).. "s";
end;
end;

return Name;
end;

CustomChecks = function(Object)
local Values = Object:FindFirstChild("Values");
local Broken = Values and
Values:FindFirstChild("Broken");
if Broken then
return not Broken.Value;
end;

return false;
end;

GetPosition = function(Object)
if Object.PrimaryPart then return
Object.PrimaryPart.Position end;

return Object.WorldPivot.p;
end;
});
end;

do --// Dealers
ESPConstructor:NewListener({
Type = "Model",
Parent = Workspace.Map.Shopz,
Flag = "Dealer",
TextUpdate = 0.9;
CustomName = function(Object)
local Name = Object.Name;
local Root = Object:FindFirstChild("MainPart");

if Root then
local Distance = math.floor((Root.CFrame.p -
Camera.CFrame.p).Magnitude);

Name = Name .. " | Distance:


"..tostring(Distance).. "s";

if Library.Flags.ShowStocks and
Library.Flags.ShowStocks.Value then
local Stocks =
Object:FindFirstChild("CurrentStocks"):GetChildren();
local Restock = Object.RestockTime.Value;

local Minutes = tostring(math.floor(Restock /


60));
local Seconds = tostring(Restock % 60)

local FormattedRestock = string.format("%02d:


%02d", Minutes, Seconds);

Name = Name.." | Restocks in:


"..FormattedRestock .."\n";

for Index, Value in next, Stocks do


if Value.Value ~= 0 then
local Val, MaxVal = Value.Value,
Value.MaxValue;
if Val < 1000 and
table.find(Library.Flags.FilteredItems.Value, Value.Name) then --// avoids the
stuff that has infinite restocks
Name = Name .. " " .. Value.Name ..
" (" ..tostring(Val) .. "/" .. MaxVal .. ")\n";
end;
end;
end;
end;
end;
return Name;
end;

GetPosition = function(Object)
local Root = Object:FindFirstChild("MainPart");
if Root then
return Root.CFrame.p;
end;

return Object.WorldPivot.p;
end;
});
end;

do --// Mystery boxes


local MysteryBoxes = Workspace.Map.MysteryBoxes;

ESPConstructor:NewListener({
Type = "Model",
Parent = MysteryBoxes,
Flag = "Mystery",
CustomName = function(Object)
local Name = Object.Name;
local Root = Object:FindFirstChild("Hitbox");

if Root then
local Distance = math.floor((Root.CFrame.p -
Camera.CFrame.p).Magnitude);
Name = Name .. " | Distance:
"..tostring(Distance).. "s";
end;
return Name;
end;

GetPosition = function(Object)
local Root = Object:FindFirstChild("Hitbox");
if Root then
return Root.CFrame.p;
end;
return Object.WorldPivot.p;
end;
});

end;

do --// Scrap Piles / Crates


local ScrapPiles = Workspace.Filter.SpawnedPiles;
ESPConstructor:NewListener({
Type = "Model",
Parent = ScrapPiles,
Flag = "Scrap",
CustomName = function(Object)
local Name = Object.Name;

if Name == "C1" or Name == "C2" then


Name = "Crate";
elseif Name == "I24" then
Name = "Firework"
else
Name = "Scrap";
end;

local Root = Object:FindFirstChild("MeshPart");


local Particle = Root and
Root:FindFirstChild("Particle");
local Rarity = "Gray";
local CustomRarity = "Gray";

if Root then
if Particle and
GameFramework.CrimColors[tostring(Particle.Color.Keypoints[1])] then
Rarity =
GameFramework.CrimColors[tostring(Particle.Color.Keypoints[1])];
end;

local Distance = math.floor((Root.CFrame.p -


Camera.CFrame.p).Magnitude);
Name = Name .. " | Rarity: "..Rarity.."\nDistance:
"..tostring(Distance).. "s";
end;
return Name;
end;

GetPosition = function(Object)
local Root = Object:FindFirstChild("MeshPart");
if Root then
return Root.CFrame.p;
end;
return Object.WorldPivot.p;
end;

CustomChecks = function(Object)
local Name = Object.Name;
local Root = Object:FindFirstChild("MeshPart");
local Particle = Root and
Root:FindFirstChild("Particle");
local Rarity = "Gray";

if Root then
if Particle and
GameFramework.CrimColors[tostring(Particle.Color.Keypoints[1])] then
Rarity =
GameFramework.CrimColors[tostring(Particle.Color.Keypoints[1])];
end;

if table.find(Library.Flags.Rarities.Value, Rarity)
then
return true;
end;
end;
return false;
end;
});
end;

do --// Controllers
local Debris = workspace.Debris
local VParts = Debris.VParts

local Forward = 0
local Sideways = 0
local RocketSpeed = 300
local Break = false

VParts.ChildAdded:Connect(function(Projectile)
task.wait()

if (Projectile.Name == "RPG_Rocket" or Projectile.Name ==


"GrenadeLauncherGrenade") and Library.Flags.ControlRockets and
Library.Flags.ControlRockets.Value and isnetworkowner(Projectile) then
if Projectile.Name == "RPG_Rocket" then
if not Client.Character:FindFirstChild("RPG-7")
then
return
end;
end;

if Projectile.Name == "GrenadeLauncherGrenade" then


if not isnetworkowner(Projectile) then
return
end;
end;

Camera.CameraSubject = Projectile
Client.Character.HumanoidRootPart.Anchored = true

pcall(function()
if Projectile.Name == "RPG_Rocket" then
Projectile.BodyForce:Destroy()

Projectile.RotPart.BodyAngularVelocity:Destroy()
Projectile.Sound:Destroy();
elseif Projectile.Name == "GrenadeLauncherGrenade"
then
Projectile.BodyForce:Destroy()
Projectile.BodyAngularVelocity:Destroy()
Projectile.Sound:Destroy();
end;
end)

local BV = Instance.new("BodyVelocity", Projectile)


BV.MaxForce = Vector3.new(1e9, 1e9, 1e9)
BV.Velocity = Vector3.new()

local BG = Instance.new("BodyGyro", Projectile)


BG.P = 9e4
BG.MaxTorque = Vector3.new(1e9, 1e9, 1e9)

task.spawn(function()
while true do
RunService.RenderStepped:Wait()

TweenService:Create(BV, TweenInfo.new(0.2),
{Velocity = ((Camera.CFrame.LookVector * Forward) + (Camera.CFrame.RightVector *
Sideways)) * RocketSpeed}):Play()
BG.CFrame = Camera.CoordinateFrame
Camera.CFrame = Projectile.CFrame *
CFrame.new(Vector3.new(0, 1, 1));

if Break then
Break = false

break;
end;
end;

Camera.CameraSubject = Client.Character.Humanoid;
Client.Character.HumanoidRootPart.Anchored = false;
InputEndedConnection = nil;
InputBeganConnection = nil;
end);
end;

UserInputService.InputBegan:Connect(function(Key)
if Key.KeyCode == Enum.KeyCode.W then
Forward = 1
elseif Key.KeyCode == Enum.KeyCode.S then
Forward = -1
elseif Key.KeyCode == Enum.KeyCode.D then
Sideways = 1
elseif Key.KeyCode == Enum.KeyCode.A then
Sideways = -1
end
end);

UserInputService.InputEnded:Connect(function(Key)
if Key.KeyCode == Enum.KeyCode.W or Key.KeyCode ==
Enum.KeyCode.S then
Forward = 0
elseif Key.KeyCode == Enum.KeyCode.D or Key.KeyCode ==
Enum.KeyCode.A then
Sideways = 0
end
end);
end);

Debris.ChildAdded:Connect(function(Result)
task.wait()
pcall(function()
if Client.Character:FindFirstChild("RPG-7") and
(Result.Name == "RPG_Explosion_Long" or Result.Name == "RPG_Explosion_Short") then
Break = true;
task.wait(1);
Break = false;
end;
if (Client.Character:FindFirstChild("M320-1") or
Client.Character:FindFirstChild("SCAR-H-X")) and (Result.Name ==
"GL_Explosion_Long" or Result.Name == "GL_Explosion_Short") then
Break = true;
task.wait(1);
Break = false;
end;
end);
end);
end;
end;

if GameName == "Blackout" then


do --// Proximity prompts

ProxPromptService.PromptButtonHoldBegan:Connect(function(Prompt, Player)
if Player == Client and Library.Flags.InstantInteract and
Library.Flags.InstantInteract.Value then
fireproximityprompt(Prompt)
end;

if Library.Flags.InstantLootCash and
Library.Flags.InstantLootCash.Value then
if Library.Flags.InstantInteract.Value then
if Prompt.Name == "OpenLootTable" and
Prompt.Parent:FindFirstChild("LootTable") then

ReplicatedStorage.Events.Loot.LootObject:FireServer(Prompt.Parent:FindFirstChild("L
ootTable"), "Cash")
end;
else
task.wait(0.3);
if Prompt.Name == "OpenLootTable" and
Prompt.Parent:FindFirstChild("LootTable") then

ReplicatedStorage.Events.Loot.LootObject:FireServer(Prompt.Parent:FindFirstChild("L
ootTable"), "Cash")
end;
end;
end;

if Library.Flags.InstantLootValuables and
Library.Flags.InstantLootValuables.Value then
if Library.Flags.InstantInteract.Value then
if Prompt.Name == "OpenLootTable" and
Prompt.Parent:FindFirstChild("LootTable") then

ReplicatedStorage.Events.Loot.LootObject:FireServer(Prompt.Parent:FindFirstChild("L
ootTable"), "Valuables")
end;
else
task.wait(0.3);
if Prompt.Name == "OpenLootTable" and
Prompt.Parent:FindFirstChild("LootTable") then

ReplicatedStorage.Events.Loot.LootObject:FireServer(Prompt.Parent:FindFirstChild("L
ootTable"), "Valuables")
end;
end;
end;

if Prompt.Parent and Prompt.Parent.Parent and


Library.Flags.InstantLockpick.Value then
local Name = Prompt.Parent.Parent.Name;
task.wait(0.2);
if (Name == "Lid" or Name == "Locker" or Name ==
"Safe") then

ReplicatedStorage.Events.Loot.MinigameResult:FireServer(Prompt.Parent.Parent, true)
end;
end;

if Library.Flags.InstantLootCards and
Library.Flags.InstantLootCards.Value then
if Prompt.Parent and
Prompt.Parent:FindFirstChild("LootTable") then
local Children =
Prompt.Parent.LootTable:GetChildren();

for Index, Value in next, Children do


local Name = Value.Name;
if Name:find("Card") or Name:find("Keycard")
then

ReplicatedStorage.Events.Loot.LootObject:FireServer(Prompt.Parent:FindFirstChild("L
ootTable"), Value, true)
task.wait(0.2);
end;
end;
end;
end;
end);
end;
end;
end;

do --// Lone
if GameName == "Lone Survival" then
do --// Ai
for Index, Value in next, Workspace.AI:GetChildren() do
ESPConstructor:New(Value);
end;

Workspace.AI.ChildAdded:Connect(function(Value)
ESPConstructor:New(Value);
end);

Workspace.AI.ChildRemoved:Connect(function(Value)
Visuals.Enemies[Value]:Remove();
end);
end;

do --// Objects
ESPConstructor:NewListener({
Parent = Workspace.DroppedPacks,
Type = "Model",
Flag = "Corpses",
CustomName = function(Object)
local Name = Object.Name;
local Root = Object.PrimaryPart

Name = "Backpack of " ..


Object:GetAttribute("CharacterName")
if Root then
local Distance = math.floor((Root.CFrame.p -
Camera.CFrame.p).Magnitude);
Name = Name .. " | Distance:
"..tostring(Distance).. "s";
end;
return Name;
end;

GetPosition = function(Object)
local Root = Object.PrimaryPart;
if Root then
return Root.CFrame.p;
end;
return Object.WorldPivot.p;
end;
})

ESPConstructor:NewListener({
Parent = Workspace.OfflinePlayers,
Type = "Model",
Flag = "Sleepers",
CustomName = function(Object)
local Name = Object.Name;
local Root = Object.PrimaryPart

Name = "Sleeper " ..


Object:GetAttribute("CharacterName")
if Root then
local Distance = math.floor((Root.CFrame.p -
Camera.CFrame.p).Magnitude);
Name = Name .. " | Distance:
"..tostring(Distance).. "s";
end;
return Name;
end;

GetPosition = function(Object)
local Root = Object.PrimaryPart;
if Root then
return Root.CFrame.p;
end;
return Object.WorldPivot.p;
end;
})
end;
end;
end;

do --// Korrupt
if GameName == "Korrupt Zombies" then
do --// Ai
for Index, Value in next, Workspace.Zombies:GetChildren() do
ESPConstructor:New(Value);
end;

Workspace.Zombies.ChildAdded:Connect(function(Value)
ESPConstructor:New(Value);
end);

Workspace.Zombies.ChildRemoved:Connect(function(Value)
Visuals.Enemies[Value]:Remove();
end);
end;
end;
end

end)();
end;

do --// UI setup
if GameName == "Project Delta" then
local Window = Library:NewWindow({TabAmount = 6, Name = "DogeHub", Size =
UDim2.new(0, 583, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat", IncludeNested
= true});

do --// Combat Tabs


local Main = CombatTab:Add({Name = "Main"}); do
local AimbotSection = Main:NewSection({Name = "Aimbot",
Side = "Left"}); do
AimbotSection:Toggle({Name = "Enabled", Flag =
"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check",
Flag = "VisibleCheck"});
AimbotSection:Toggle({Name = "Include AI", Flag
= "IncludeAi"});
AimbotSection:Toggle({Name = "Manipulation",
Flag = "Manipulation", Callback = function()
--[[LPH_NO_VIRTUALIZE(function()
if not GameFramework.RanManipulation
then
GameFramework.RanManipulation =
true;
setreadonly(RawMetaTable, false);
local Index = RawMetaTable.__index;

local Index; Index =


hookmetamethod(game, "__index", function(self, Property)
if not checkcaller() and
tostring(self):lower() == "barrel" and Property == "Position" and
Combat.ManipulatedPosition and Library.Flags.Manipulation.Value and
Combat.TargetPart and Library.Flags.AimMode.Value == "Silent Aim" then

return
Combat.ManipulatedPosition
end;
if not checkcaller() and
tostring(self):lower() == "barrel" and Property == "CFrame" and
Combat.ManipulatedPosition and Library.Flags.Manipulation.Value and
Combat.TargetPart and Library.Flags.AimMode.Value == "Silent Aim" then

return
CFrame.new(Combat.ManipulatedPosition, Combat.ManipulatedDirection);
end;

return Index(self, Property)


end);
end;
end)();]]
end});

AimbotSection:Slider({Name = "Manipulation
range", Flag = "ManipulationDistance", Min = 1, Max = 15});

AimbotSection:Toggle({Name = "Autoshoot", Flag


= "AutoShoot"}):Keybind({Name = "Auto shoot", Flag = "AutoShootBind", Mode =
"Hold"});
AimbotSection:Dropdown({Max = 2, Name =
"Autoshoot mode", Flag = "AutoShootMode", Options = {"Standard", "Adaptive"}});

AimbotSection:Slider({Flag = "MaxDistance",
Name = "Max distance", Suffix = "m", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Max = 2, Name = "Mode",
Flag = "AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag
= "CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag
= "CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization
Scale", Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum health",
Flag = "MinimumHealth", Min = 0, Max = 100, Default = 0});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

end;
end;

local Resolver = Main:NewSection({Name = "Resolver",


Side = "Right"}); do
Resolver:Toggle({Name = "Pitch", Flag =
"ForcePitch"});
Resolver:Toggle({Name = "Desync", Flag =
"ResolveDesync"});
end;

local Mods = Main:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "No Recoil", Flag =
"RemoveRecoil"});
Mods:Toggle({Name = "No bobbing", Flag =
"RemoveBobbing"});
Mods:Toggle({Name = "No sway", Flag =
"RemoveSway"});
Mods:Toggle({Name = "Instant reload", Flag =
"InstantReload"});
Mods:Toggle({Name = "Instant bullet", Flag =
"InstantBullet"});
Mods:Toggle({Name = "Instant equip", Flag =
"InstantEquip"});
Mods:Toggle({Name = "No spread", Flag =
"RemoveSpread"})
Mods:Toggle({Name = "Instant aim", Flag =
"InstantAim"});
Mods:Toggle({Name = "Instant lean", Flag =
"InstantLean"});

Mods:Toggle({Name = "No obstructions", Flag =


"RemoveObstructions"})
Mods:Toggle({Name = "Unlock firemodes", Flag =
"UnlockFiremodes"})
Mods:Toggle({Name = "Rapid fire", Flag =
"RapidFire"})
Mods:Slider({Min = 0, Max = 100, Flag = "FireRate",
Name = "Fire rate"});
end;
end;

local VisualsTab = CombatTab:Add({Name = "Visuals"}); do


local VisualsSection = VisualsTab:NewSection({Name =
"Visuals", Side = "Left"}); do

VisualsSection:Toggle({Name = "Visualize
manipulation", Flag = "VisualizeManipulation"})
VisualsSection:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

VisualsSection:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end,})

VisualsSection:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
VisualsSection:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})

VisualsSection:Toggle({Name = "Dynamic FOV", Flag =


"DynamicFOV"});
VisualsSection:Dropdown({Name = "FOV Position",
Flag = "FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
VisualsSection:Slider({Flag = "Radius", Name =
"Radius", Min = 0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end

VisualsSection:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
VisualsSection:Dropdown({Default = "In", Max = 3,
Name = "Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

VisualsSection:Slider({Default = 2, Name =
"Rotation speed", Min = 0, Max = 50, Flag = "RotationSpeed"})
VisualsSection:Slider({Default = 2, Name =
"Transition duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback =
function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local InfoSection = VisualsTab:NewSection({Name =


"Display Info", Side = "Right"}); do
InfoSection:Toggle({Name = "Enabled", Flag =
"InventoryViewer"})
InfoSection:Slider({Suffix = "%", Name = "Position
X ", Flag = "InfoPositionX", Default = 1, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Slider({Suffix = "%", Name = "Position
Y ", Flag = "InfoPositionY", Default = 12, Min = 0, Max = 100, Callback =
function() Visuals:UpdatePosition() end});
InfoSection:Multidropdown({Name = "Options", Flag =
"InventoryOptions", Options = {"Name", "Distance", "Health", "Hotbar",
"Inventory"}});
end;
end;
end;

CombatTab:SetTab("Main");
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});

Players:Toggle({Name = "Include AI",Flag =


"IncludeAiESP"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

local AB_Toggle = Players:Toggle({Name = "Ammobar",


Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
--Players:Toggle({Name = "Armor", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});
Players:Toggle({Name = "Gear", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
local ChamsToggle = Players:Toggle({Name = "Chams",
Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})
local HighlightsToggle = Players:Toggle({Name =
"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;

end;
do --// Custom Object
local Quests = ESPTab:NewSection({Name = "Questing",
Side = "Right"}); do
local ItemOptions = {};
local QuestOptions = {};

do --// Quest tables


if Workspace:FindFirstChild("QuestItems") then
if #Workspace.QuestItems:GetChildren() == 0
then
ItemOptions = {"placeholder"}
else
for Index, Value in next,
Workspace.QuestItems:GetChildren() do
table.insert(ItemOptions,
Value.Name);
end;
end;
else
ItemOptions = {"placeholder"}
end;

if
Workspace.NoCollision:FindFirstChild("bismallah") then
if
#Workspace.NoCollision:FindFirstChild("bismallah"):GetChildren() == 0 then
QuestOptions = {"placeholder"}
else
for Index, Value in next,
Workspace.NoCollision:FindFirstChild("bismallah"):GetChildren() do
if not table.find(QuestOptions,
Value.Name) then
table.insert(QuestOptions,
Value.Name);
end;
end;
end;
else
QuestOptions = {"placeholder"}
end;
end;

Quests:Toggle({Name = "Quest items", Flag =


"ESPQuestItems"}):Colorpicker({Name = "Quest items Color", Flag =
"QuestItemsColor", Default = Color3.fromRGB(0, 255, 0)});
Quests:Multidropdown({Max = #ItemOptions, Flag =
"AllowedQuestItems", Name = "Items", Options = ItemOptions})

Quests:Toggle({Name = "Quest locations", Flag =


"ESPQuests"}):Colorpicker({Name = "Quests Color", Flag = "QuestsColor", Default =
Color3.fromRGB(0, 255, 255)});
Quests:Multidropdown({Max = #QuestOptions, Flag =
"AllowedQuests", Name = "Quests", Options = QuestOptions})
end;

local ItemFilter = ESPTab:NewSection({Name = "Item


filter", Side = "Right"}); do
local ItemsList =
ReplicatedStorage.ItemsListLocal:GetChildren();
local ItemTable = {};

for Index, Value in next, ItemsList do


table.insert(ItemTable, Value.Name)
end;

ItemFilter:Toggle({Name = "Filter items", Flag =


"FilterItems"});
ItemFilter:Toggle({Name = "Filter corpses", Flag =
"FilterCorpses"});
ItemFilter:Toggle({Name = "Apply to inventory
viewer", Flag = "FilterPlayers"});

ItemFilter:Searchbar({Name = "Filtered items", Flag


= "FilteredItems", Options = ItemTable, Max = #ItemTable})
end;

local WorldESPSection = ESPTab:NewSection({Name =


"ESP", Side = "Left"}); do
WorldESPSection:Toggle({Name = "Extracts", Flag =
"ESPExtracts"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Extract Color", Flag = "ExtractsColor"});
WorldESPSection:Toggle({Name = "Items", Flag =
"ESPItems"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Item
Color", Flag = "ItemsColor"});
WorldESPSection:Toggle({Name = "Corpses", Flag =
"ESPCorpses"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Corpses Color", Flag = "CorpsesColor"});
WorldESPSection:Toggle({Name = "Vehicles", Flag =
"ESPVehicles"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Vehicle Color", Flag = "VehiclesColor"});
WorldESPSection:Toggle({Name = "Fade transparency",
Flag = "FadeObjects"})
WorldESPSection:Slider({Name = "Max Distance", Flag
= "CustomDistance", Min = 0, Max = 1000, Suffix = "m"});
end;
end;

do --// Hazards
local Hazards = ESPTab:NewSection({Name = "Hazards",
Side = "Left"}); do
local NadeToggle = Hazards:Toggle({Name =
"Grenades", Flag = "ESPGrenades"})
NadeToggle:Colorpicker({Name = "Grenade Lower",
Default = Color3.fromRGB(255, 0, 0), Flag = "GrenadeLower"});
NadeToggle:Colorpicker({Name = "Grenade Higher",
Default = Color3.fromRGB(0, 255, 0), Flag = "GrenadeHigher"});
end;
end;
do --// ESP OPTIONS
local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight",
Name = "Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth",
Name = "Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize",
Name = "Box size", Default = "Static", Options = {"Static", "Dynamic",
"SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle",
Name = "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"WeaponPosition", Name = "Weapon", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
--ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Armor", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerOrigin", Name = "Tracer origin", Default = "Bottom", Options = {"Bottom",
"Center", "Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name =
"Misc", Side = "Left"}); do
MiscOptions:Toggle({Name = "Show health only
when damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance",
Flag = "LimitDistance"});
MiscOptions:Slider({Name = "Render distance",
Flag = "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag
= "FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time",
Flag = "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;

Library:AddFontSection(Options, "Left")
end;

end;

do --// Radar Tab


local RadarTab = VisualsTab:Add({Name = "Radar"});

local Radar = RadarTab:NewSection({Name = "Radar", Side =


"Left"}); do
local RadarToggle = Radar:Toggle({Name = "Enabled",
Flag = "Radar"})

RadarToggle:Colorpicker({Name = "Radar background


color", Flag = "RadarColor", Default = Color3.fromRGB(0, 0, 0), Callback =
function()
Visuals.RadarFrame.BackgroundColor3 =
Library.Flags.RadarColor.Color;
Visuals.RadarFrame.BackgroundTransparency =
Library.Flags.RadarColor.Transparency;
end});

RadarToggle:Colorpicker({Name = "AI Color", Flag =


"RadarAIColor"});
RadarToggle:Colorpicker({Name = "Player Color", Flag =
"RadarPlayerColor"});
RadarToggle:Colorpicker({Name = "Local Color", Flag =
"LocalColor", Default = Color3.fromRGB(255, 255, 255), Callback = function()
Visuals.RadarClient.BackgroundColor3 =
Library.Flags.LocalColor.Value;
end})
Radar:Slider({Name = "Radius", Flag = "RadarDistance",
Min = 100, Max = 1000});
Radar:Slider({Name = "Delay", Flag = "RadarDelay", Min
= 0, Max = 1000, Suffix = "MS"});
Radar:Slider({Name = "Size", Flag = "RadarSize", Min =
100, Max = 400, Callback = function()
Visuals.RadarFrame.Size = UDim2.new(0,
Library.Flags.RadarSize.Value, 0, Library.Flags.RadarSize.Value);
end});

Radar:Slider({Suffix = "%", Name = "Position X ", Flag


= "RadarPositionX", Default = 1, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
Radar:Slider({Suffix = "%", Name = "Position Y ", Flag
= "RadarPositionY", Default = 12, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});

end;
end ;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab);
end;

do --// Local tab


local LocalTab = VisualsTab:Add({Name = "Local"});

do --// Sections
local TracersSec = LocalTab:NewSection({Name = "Bullet
tracers", Side = "Right"}); do
TracersSec:Toggle({Name = "Enabled", Flag =
"Tracers"}):Colorpicker({Name = "Tracer color", Flag = "TracerColor", Default =
Color3.fromRGB(255, 255, 255)})
TracersSec:Slider({Name = "Lifetime", Flag =
"LifeTime", Max = 5, Min = 1, Default = 3, Suffix = "s"});

TracersSec:Dropdown({Name = "Type", Flag =


"TracerMode", Default = "Beam", Options = {"Beam", "Line"}, Max = 2});

end;

local CameraSec = LocalTab:NewSection({Name = "Camera",


Side = "Left"}); do
CameraSec:Toggle({Name = "Third person", Flag =
"ThirdPersonToggle"}):Keybind({Name = "Third Person", Flag = "ThirdPerson", Mode =
"Toggle"});
CameraSec:Slider({Name = "Distance", Flag =
"ThirdPersonDistance", Min = 0, Max = 10, AllowDecimals = 10});

CameraSec:Toggle({Name = "Remove bobbing", Flag =


"RemoveCameraBobbing"});
CameraSec:Toggle({Name = "Zoom", Flag =
"ZoomToggle"}):Keybind({Name = "Zoom", Flag = "ZoomKey", Mode = "Hold", Callback =
function()
if Library.Flags.ZoomKey.Value then
Camera.FieldOfView =
Library.Flags.ZoomLevel.Value;
else
if
ReplicatedStorage:FindFirstChild("Players") then
Camera.FieldOfView =
ReplicatedStorage.Players[Client.Name].Settings.GameplaySettings:GetAttribute("Defa
ultFOV");
end;
end;
end});

CameraSec:Slider({Name = "Zoom level", Flag =


"ZoomLevel", Min = 0, Max = 120, Default = 30});
CameraSec:Toggle({Name = "Adjust FOV", Flag =
"AdjustFOV", Callback = function()
if ReplicatedStorage:FindFirstChild("Players")
then

ReplicatedStorage.Players[Client.Name].Settings.GameplaySettings:SetAttribute("Defa
ultFOV", Library.Flags.FOVLevel.Value);
end;
end});

CameraSec:Slider({Default =
ReplicatedStorage.Players[Client.Name].Settings.GameplaySettings:GetAttribute("Defa
ultFOV") , Name = "FOV", Flag = "FOVLevel", Min = 0, Max = 120, Suffix = "°",
Callback = function()

ReplicatedStorage.Players[Client.Name].Settings.GameplaySettings:SetAttribute("Defa
ultFOV", Library.Flags.FOVLevel.Value);
end})
end;

local Screen = LocalTab:NewSection({Name = "Screen


effects", Side = "Left"}); do
Screen:Toggle({Name = "Descriptive weapon info",
Flag = "WeaponInfo"});
Screen:Toggle({Name = "Follow barrel", Flag =
"InfoFollowBarrel"})
Screen:Toggle({Name = "Enable removals", Flag =
"EnableRemovals"});
Screen:Multidropdown({Default = {}, Name =
"Removals", Flag = "Removals", Max = 7, Options = {"Visor", "Flashbang",
"Parallax", "WeaponInfo", "ServerInfo", "Scope", "ScopeLines"}});
end;

local SelfHighlight = LocalTab:NewSection({Name = "Self


chams", Side = "Left"}); do
local Toggle = SelfHighlight:Toggle({Name =
"Enabled", Flag = "SelfHighlight"})
Toggle:Colorpicker({Name = "Fill Color", Flag =
"SelfFillColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
Toggle:Colorpicker({Name = "Outline Color", Flag =
"SelfOutlineColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
end;

local ViewmodelSec = LocalTab:NewSection({Name =


"Viewmodel", Side = "Right"}); do
ViewmodelSec:Toggle({Name = "Enabled", Flag =
"ViewmodelChams"});
ViewmodelSec:Toggle({Name = "Arms", Flag =
"ArmChams"}):Colorpicker({Name = "Arm Color", Flag = "ArmColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Item", Flag =
"ItemChams"}):Colorpicker({Name = "Item Color", Flag = "ItemColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Shirt", Flag =
"ShirtChams"}):Colorpicker({Name = "Shirt Color", Flag = "ShirtColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Gloves", Flag =
"GloveChams"}):Colorpicker({Name = "Glove Color", Flag = "GloveColor", Default =
Library.Theme.Accent});

ViewmodelSec:Toggle({Name = "Remove clothing", Flag


= "RemoveClothing"});

local TextureOptions = {}
for Index, Value in next, Textures do
table.insert(TextureOptions, Index);
end;

ViewmodelSec:Dropdown({Name = "Texture", Flag =


"Texture", Options = TextureOptions, Max = #TextureOptions, Default = "Hexagon"})
ViewmodelSec:Toggle({Name = "Outline Viewmodel",
Flag = "HighlightViewmodel"}):Colorpicker({Name = "Viewmodel Outline Color", Flag =
"ViewmodelOutlineColor", Default = Library.Theme.Accent});
ViewmodelSec:Dropdown({Name = "Material", Flag =
"ViewmodelMaterial", Options = {"ForceField", "Neon", "Glass"}});
end;
end;
end;

VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSection = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSection:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSection:Slider({Name = "Speed", AllowDecimals
= 10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSection:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSection:Slider({Name = "Power", AllowDecimals
= 10, Flag = "JumpValue", Max = 60, Min = 0});

CharacterSection:Toggle({Name = "Walk on water/Jesus",


Flag = "WaterWalk"})
CharacterSection:Toggle({Name = "Spiderman", Flag =
"ClimbWalls"}):Keybind({Mode = "Hold", Name = "Spiderman", Flag = "Spiderman"})
CharacterSection:Slider({Name = "Spiderman speed", Flag
= "SpidermanSpeed", Min = 0, Max = 20, AllowDecimals = 10})
--CharacterSection:Toggle({Name = "Fly", Flag =
"CanFly"}):Keybind({Name = "Fly", Flag = "Fly"})
-- CharacterSection:Slider({Min = 1, Max = 100, Flag =
"FlySpeed", Name = "Speed"})

CharacterSection:Toggle({Name = "Remove jump cooldown",


Flag = "Bunnyhop"});
CharacterSection:Toggle({Name = "Prevent ADS Block",
Flag = "PreventAntiScope"});
CharacterSection:Toggle({Name = "Remove weight", Flag =
"RemoveWeight"});
CharacterSection:Toggle({Name = "Remove drowning", Flag
= "AntiDrown"});
CharacterSection:Toggle({Name = "Remove falldamage",
Flag = "AntiFall"});
CharacterSection:Toggle({Name = "Remove outpost
landmines", Flag = "RemoveOutpostMines", Callback = function()
if Library.Flags.RemoveOutpostMines and
Library.Flags.RemoveOutpostMines.Value and Workspace:FindFirstChild("AiZones") and
Workspace.AiZones:FindFirstChild("OutpostLandmines") then
for i, v in next,
Workspace.AiZones.OutpostLandmines:GetChildren() do
if v then
v:Destroy()
end
end
end;
end});
CharacterSection:Keybind({Name = "Drop inventory", Flag
= "QuickDropLoot", Mode = "Hold", Callback = function()
task.spawn(function()
if Library.Flags.QuickDropLoot.Value then
for Index, Value in next,
Client.PlayerGui.MainGui.MainFrame.BackpackFrame.Loot.Inventory.ScrollingFrame:GetD
escendants() do
if Value:IsA("ObjectValue") and
Value.Value ~= nil then

ReplicatedStorage.Remotes.DropItem:FireServer(Value.Value)
end;
end;
end;
end);
end});

--[[ CharacterSection:Button({Name = "Bypass movement


restrictions", Callback = function()
local SeatFound = false;
Library:Notify("Attempting to bypass..")
for Index, Seat in next, Workspace:GetDescendants()
do
if Seat:IsA("VehicleSeat") then
Library:Notify("Found potential vehicle")
Seat:Sit(Client.Character.Humanoid);

wait(0.5);

Client.Character.Humanoid.Sit = false;

wait(0.5);

--Client.Character.Humanoid.Sit = true;

wait(0.5);

ReplicatedStorage.Remotes.VehicleInteractions:FireServer({
["Vehicle"] = Seat.Parent.Parent,
["Action"] = "Enter",
["Door"] =
Seat.Parent.Parent.Body.FLdoor.FL_Door
});

wait(0.5);

--Client.Character.Humanoid.Sit = false;
Client.Character.HumanoidRootPart.CFrame =
Client.Character.HumanoidRootPart.CFrame + Vector3.new(0, 10, 0);
SeatFound = true;
Library:Notify("Successfully bypassed! Feel
free to put your speed really high or use a fly script.", 10)
break;
end;
end;

if not SeatFound then


Library:Notify("Bypass unsuccessful. Failed to
find a vehicle. Maybe travel to a different part of the map.", 10)
end;
end});]]
end;

local AntiAim = MiscTab:NewSection({Name = "Anti aim", Side


= "Right"}); do
AntiAim:Toggle({Flag = "AntiAim", Name = "Enabled"});

AntiAim:Slider({Name = "Pitch", Flag =


"PitchValue" ,Max = 2, Min = -2, AllowDecimals = 10})
AntiAim:Slider({Name = "Yaw offset", Flag =
"YawOffset", Min = -360, Max = 360})

AntiAim:Dropdown({Max = 4, Name = "Yaw base", Flag =


"YawBase", Options = {"None", "Random", "Spin", "Targets"}});
AntiAim:Dropdown({Max = 5, Name = "Pitch base", Flag =
"PitchBase", Options = {"Up", "Down", "Custom", "Random", "Nod"}})
end;

local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",


Side = "Right"}); do
Hitmarkers:Toggle({Name = "Visualize hits", Flag =
"VisualizeHits"}):Colorpicker({Name = "Hitmarker Color", Flag = "HitmarkerColor",
Default = Color3.fromRGB(255, 255, 255)})
Hitmarkers:Toggle({Name = "Display damage", Flag =
"DisplayDamage"}):Colorpicker({Name = "Damage Color", Flag = "DamageColor", Default
= Color3.fromRGB(255, 255, 255)})
Hitmarkers:Toggle({Name = "Hitsounds", Flag =
"CustomHitSounds"});

Hitmarkers:Toggle({Name = "Remove killsound", Flag =


"EliminateKillSound"})
local HitmarkerOptions = {};
local Total = 0;

for Index, Value in next, HitmarkerSounds do


Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Library.KillsoundDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Killsound", Flag = "KillSound", Options = HitmarkerOptions});

Hitmarkers:Slider({Name = "Visualize time", Min = 0,


Max = 5, AllowDecimals = 10, Flag = "HitmarkerTime"})

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;

local GameSection = MiscTab:NewSection({Name = "Game", Side


= "Right"}); do
GameSection:Button({Name = "Reduce lag", Callback =
function()
for _, Value in next, GameConnections do
Value:Disable();
end;
end});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Left"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
Window:SetTab("Combat");

end;
end;

if GameName == "Universal" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"});
AimbotSection:Toggle({Name = "Check for fire func",
Flag = "CheckForFireFunc"})
AimbotSection:Toggle({Name = "Magic bullet", Flag =
"BulletTP"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Dropdown({Max = 6, Name = "Method",
Flag = "SilentMethod", Options = {"Raycast", "FindPartOnRayWithWhitelist",
"FindPartOnRayWithIgnoreList", "FindPartOnRay", "ScreenPointToRay",
"ViewportPointToRay"}})
AimbotSection:Multidropdown({Name = "Origin", Flag
= "Origin", Options = {"Camera"}})
AimbotSection:Multidropdown({Name = "Ignore list",
Flag = "Include", Default = {"Character", "Camera"}, Options = {"Character",
"Camera"}})
AimbotSection:Multidropdown({Name = "Block
methods", Flag = "BlockedMethods", Options = {"PivotTo", "TranslateBy",
"SetPrimaryPartCFrame", "BulkMoveTo"}})
AimbotSection:Slider({Name = "Multiplty ray unit
by", Flag = "MultiplyUnitBy", Min = 1, Max = 10000});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local InfoSection = CombatTab:NewSection({Name = "Display


Info", Side = "Left"}); do
InfoSection:Toggle({Name = "Enabled", Flag =
"InventoryViewer"})
InfoSection:Slider({Suffix = "%", Name = "Position X ",
Flag = "InfoPositionX", Default = 1, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Slider({Suffix = "%", Name = "Position Y ",
Flag = "InfoPositionY", Default = 12, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Multidropdown({Name = "Options", Flag =
"InventoryOptions", Options = {"Name", "Distance", "Health", "Inventory"}});
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
if IsStudio then
Players:Toggle({Name = "Studio AI Testing",Flag
= "IncludeAiESP"});

local AB_Toggle = Players:Toggle({Name =


"Ammobar", Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});
end;

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

local Radar = ESPTab:NewSection({Name = "Radar", Side =


"Left"}); do
local RadarToggle = Radar:Toggle({Name = "Enabled",
Flag = "Radar"})

RadarToggle:Colorpicker({Name = "Radar background


color", Flag = "RadarColor", Default = Color3.fromRGB(0, 0, 0), Callback =
function()
Visuals.RadarFrame.BackgroundColor3 =
Library.Flags.RadarColor.Color;
Visuals.RadarFrame.BackgroundTransparency =
Library.Flags.RadarColor.Transparency;
end});

RadarToggle:Colorpicker({Name = "AI Color", Flag =


"RadarAIColor"});
RadarToggle:Colorpicker({Name = "Player Color", Flag =
"RadarPlayerColor"});
RadarToggle:Colorpicker({Name = "Local Color", Flag =
"LocalColor", Default = Color3.fromRGB(255, 255, 255), Callback = function()
Visuals.RadarClient.BackgroundColor3 =
Library.Flags.LocalColor.Value;
end})
Radar:Slider({Name = "Radius", Flag = "RadarDistance",
Min = 100, Max = 1000});
Radar:Slider({Name = "Delay", Flag = "RadarDelay", Min
= 0, Max = 1000, Suffix = "MS"});
Radar:Slider({Name = "Size", Flag = "RadarSize", Min =
100, Max = 400, Callback = function()
Visuals.RadarFrame.Size = UDim2.new(0,
Library.Flags.RadarSize.Value, 0, Library.Flags.RadarSize.Value);
end});

Radar:Slider({Suffix = "%", Name = "Position X ", Flag


= "RadarPositionX", Default = 1, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
Radar:Slider({Suffix = "%", Name = "Position Y ", Flag
= "RadarPositionY", Default = 12, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});

end;
end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
if IsStudio then
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
end;
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;

Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;
if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Eastern War" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"});
AimbotSection:Toggle({Name = "Magic bullet", Flag =
"BulletTP"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 12000, Default = 2000});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "Remove recoil", Flag =
"RemoveRecoil"})
Mods:Toggle({Name = "Remove sway", Flag =
"RemoveSway"})
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
if IsStudio then
Players:Toggle({Name = "Studio AI Testing",Flag
= "IncludeAiESP"});

local AB_Toggle = Players:Toggle({Name =


"Ammobar", Flag = "ESPAmmoBar"});
AB_Toggle:Colorpicker({Name = "Ammobar color
1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});
end;

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
if IsStudio then
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
end;
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;

Library:AddFontSection(Options, "Left")
end;

do --// Local Tab


local LocalTab = VisualsTab:Add({Name = "Local"})

local CameraSec = LocalTab:NewSection({Name = "Camera",


Side = "Left"}); do
CameraSec:Toggle({Name = "Remove bobbing", Flag =
"RemoveCameraBobbing"});
end;
end

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;

if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Games Unite" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"});
AimbotSection:Toggle({Name = "Check for fire func",
Flag = "CheckForFireFunc"})
AimbotSection:Toggle({Name = "Magic bullet", Flag =
"BulletTP"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Dropdown({Max = 6, Name = "Method",
Flag = "SilentMethod", Options = {"Raycast", "FindPartOnRayWithWhitelist",
"FindPartOnRayWithIgnoreList", "FindPartOnRay", "ScreenPointToRay",
"ViewportPointToRay"}})
AimbotSection:Multidropdown({Name = "Origin", Flag
= "Origin", Options = {"Camera"}})
AimbotSection:Multidropdown({Name = "Ignore list",
Flag = "Include", Default = {"Character", "Camera"}, Options = {"Character",
"Camera"}})
AimbotSection:Multidropdown({Name = "Block
methods", Flag = "BlockedMethods", Options = {"PivotTo", "TranslateBy",
"SetPrimaryPartCFrame", "BulkMoveTo"}})
AimbotSection:Slider({Name = "Multiplty ray unit
by", Flag = "MultiplyUnitBy", Min = 1, Max = 10000});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local InfoSection = CombatTab:NewSection({Name = "Display


Info", Side = "Left"}); do
InfoSection:Toggle({Name = "Enabled", Flag =
"InventoryViewer"})
InfoSection:Slider({Suffix = "%", Name = "Position X ",
Flag = "InfoPositionX", Default = 1, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Slider({Suffix = "%", Name = "Position Y ",
Flag = "InfoPositionY", Default = 12, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Multidropdown({Name = "Options", Flag =
"InventoryOptions", Options = {"Name", "Distance", "Health", "Inventory"}});
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
if IsStudio then
Players:Toggle({Name = "Studio AI Testing",Flag
= "IncludeAiESP"});

local AB_Toggle = Players:Toggle({Name =


"Ammobar", Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});
end;

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
if IsStudio then
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
end;
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;

if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Korrupt Zombies" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Include zombies",
Flag = "IncludeAi"});
AimbotSection:Toggle({Name = "Magic bullet", Flag =
"BulletTP"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "Remove recoil", Flag =
"NoRecoil"});

Mods:Toggle({Name = "Remove spread", Flag =


"NoSpread"});

end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
Players:Toggle({Name = "Include zombies",Flag =
"IncludeAiESP"});

local AB_Toggle = Players:Toggle({Name = "Zombie


Armor", Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Armor", Default = "Bottom", Options = {"Left", "Right",
"Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Infinite stamina", Flag =
"InfiniteStamina"});

end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Lone Survival" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Include Ai", Flag =
"IncludeAi"});
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "FOV circle", Flag =
"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "Remove recoil", Flag =
"RemoveRecoil"})
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
Players:Toggle({Name = "Include Ai", Flag =
"IncludeAiESP"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
-- Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
-- Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

do --// objects
local WorldESPSection = ESPTab:NewSection({Name =
"ESP", Side = "Left"}); do
WorldESPSection:Toggle({Name = "Dropped packs",
Flag = "ESPCorpses"}):Colorpicker({Name = "Dropped packs Color", Flag =
"CorpsesColor"})
WorldESPSection:Toggle({Name = "Sleepers", Flag =
"ESPSleepers"}):Colorpicker({Name = "Sleepers Color", Flag = "SleepersColor"})
WorldESPSection:Toggle({Name = "Fade transparency",
Flag = "FadeObjects"})
WorldESPSection:Slider({Name = "Max Distance", Flag
= "CustomDistance", Min = 0, Max = 1000, Suffix = "m"});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
if IsStudio then
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
end;
--ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Show health only when


damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;

if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;
Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Aftermath" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Include AI", Flag =
"IncludeAi"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});

AimbotSection:Slider({Flag = "MaxDistance", Name =


"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "FOV circle", Flag =
"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
Players:Toggle({Name = "Include AI",Flag =
"IncludeAiESP"});
if IsStudio then
Players:Toggle({Name = "Studio AI Testing",Flag
= "IncludeAiESP"});

local AB_Toggle = Players:Toggle({Name =


"Ammobar", Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});
end;

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;

local WorldESPSection = ESPTab:NewSection({Name =


"ESP", Side = "Left"}); do
WorldESPSection:Toggle({Name = "Items", Flag =
"ESPItems"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Item
Color", Flag = "ItemsColor"});
WorldESPSection:Toggle({Name = "Corpses", Flag =
"ESPCorpse"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Corpses
Color", Flag = "CorpseColor"});
WorldESPSection:Toggle({Name = "Fade transparency",
Flag = "FadeObjects"})
WorldESPSection:Slider({Name = "Max Distance", Flag
= "CustomDistance", Min = 0, Max = 1000, Suffix = "m"});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
if IsStudio then
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
end;
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;

if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Apocalypse Rising 2" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"});
AimbotSection:Toggle({Name = "Check for fire func",
Flag = "CheckForFireFunc"})
AimbotSection:Toggle({Name = "Magic bullet", Flag =
"BulletTP"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local InfoSection = CombatTab:NewSection({Name = "Display


Info", Side = "Left"}); do
InfoSection:Toggle({Name = "Enabled", Flag =
"InventoryViewer"})
InfoSection:Slider({Suffix = "%", Name = "Position X ",
Flag = "InfoPositionX", Default = 1, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Slider({Suffix = "%", Name = "Position Y ",
Flag = "InfoPositionY", Default = 12, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Multidropdown({Name = "Options", Flag =
"InventoryOptions", Options = {"Name", "Distance", "Health", "Inventory"}});
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
if IsStudio then
Players:Toggle({Name = "Studio AI Testing",Flag
= "IncludeAiESP"});

local AB_Toggle = Players:Toggle({Name =


"Ammobar", Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});
end;

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
if IsStudio then
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
end;
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;

if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;
do --// Settings tab
Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Blood and Iron" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"});
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "FOV circle", Flag =
"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;
local Mods = CombatTab:NewSection({Name = "Mods", Side =
"Right"}); do
Mods:Toggle({Name = "Instant bullet", Flag =
"InstantBullet", Callback = function()
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value,
"BulletMuzzleVelocity") then
if Library.Flags.InstantBullet.Value then
Value.BulletMuzzleVelocity = 5000;
Value.BulletMaximumDeviation =
0.000005;
end;
end;
end;
end});
Mods:Toggle({Name = "Hitbox expander", Flag =
"ExpandHeads", Risky = true}):Keybind({Name = "HBE", Flag = "HBE", Mode =
"Toggle"});
Mods:Slider({Name = "Headsize", Flag = "Headsize", Min
= 0, Max = 6});
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
--Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;
end;
do --// Settings tab
Library:AddSettingsTab(Window);
end;
end;
end;
Window:SetTab("Combat");
end;

if GameName == "The Streets" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});

AimbotSection:Slider({Name = "Curving X", Flag =


"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});
AimbotSection:Slider({Name = "Silent aim velocity",
Flag = "AimVelocity", Min = 4, Max = 10});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local InfoSection = CombatTab:NewSection({Name = "Display


Info", Side = "Left"}); do
InfoSection:Toggle({Name = "Enabled", Flag =
"InventoryViewer"})
InfoSection:Slider({Suffix = "%", Name = "Position X ",
Flag = "InfoPositionX", Default = 1, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Slider({Suffix = "%", Name = "Position Y ",
Flag = "InfoPositionY", Default = 12, Min = 0, Max = 100, Callback = function()
Visuals:UpdatePosition() end});
InfoSection:Multidropdown({Name = "Options", Flag =
"InventoryOptions", Options = {"Name", "Distance", "Health", "Inventory"}});
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
local AB_Toggle = Players:Toggle({Name = "Ammobar",
Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;
do --// objects
local WorldESPSection = ESPTab:NewSection({Name =
"ESP", Side = "Left"}); do
WorldESPSection:Toggle({Name = "Gun shops", Flag =
"ESPGunShops"}):Colorpicker({Name = "Gun Shops Color", Flag = "GunShopsColor"})
WorldESPSection:Toggle({Name = "Fade transparency",
Flag = "FadeObjects"})
WorldESPSection:Slider({Name = "Max Distance", Flag
= "CustomDistance", Min = 0, Max = 1000, Suffix = "m"});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Infinite stamina", Flag =
"InfiniteStamina"})
CharacterSec:Toggle({Name = "Noclip", Flag =
"NoClip"}):Keybind({Name = "Noclip", Flag = "Noclip"})
CharacterSec:Toggle({Name = "Fly", Flag =
"CanFly"}):Keybind({Name = "Fly", Flag = "Fly"})
CharacterSec:Slider({Min = 1, Max = 100, Flag =
"FlySpeed", Name = "Speed"})
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
100, Flag = "SpeedValue", Max = 5, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;

local Interaction = MiscTab:NewSection({Name =


"Interaction", Side = "Left"}); do
Interaction:Toggle({Name = "Instant interact", Flag =
"InstantInteract"})
end;
end;

if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "State Of Anarchy" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Magic bullet", Flag =
"MagicBullet"})
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 10000, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});

AimbotSection:Slider({Name = "Curving X", Flag =


"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Left"}); do
Mods:Toggle({Name = "Remove Recoil", Flag =
"RemoveRecoil", Callback = function()
if Library.Flags.RemoveRecoil.Value then
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value,
"velocity") then
Value.vRecoil = Vector3.new()
Value.cRecoil = Vector3.new()
Value.aRecoil = Vector3.new()
end
end
end
end})
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
local AB_Toggle = Players:Toggle({Name = "Ammobar",
Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// objects
local WorldESPSection = ESPTab:NewSection({Name =
"ESP", Side = "Left"}); do
WorldESPSection:Toggle({Name = "Items", Flag =
"ESPItems"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Item
Color", Flag = "ItemsColor"});
WorldESPSection:Toggle({Name = "Corpses", Flag =
"ESPCorpse"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Corpses
Color", Flag = "CorpseColor"});
WorldESPSection:Toggle({Name = "Fade transparency",
Flag = "FadeObjects"})
WorldESPSection:Slider({Name = "Max Distance", Flag
= "CustomDistance", Min = 0, Max = 1000, Suffix = "m"});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Noclip", Flag =
"NoClip"}):Keybind({Name = "Noclip", Flag = "Noclip"})
CharacterSec:Toggle({Name = "Fly", Flag =
"CanFly"}):Keybind({Name = "Fly", Flag = "Fly"})
CharacterSec:Slider({Min = 1, Max = 100, Flag =
"FlySpeed", Name = "Speed"})
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
100, Flag = "SpeedValue", Max = 300, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;

end;

if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;
Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Counter Blox" or GameName == "Arsenal" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"});
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});

AimbotSection:Slider({Name = "Curving X", Flag =


"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});
Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;
Visuals:Dropdown({Default = "Sine", Max =
#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "Instant reload", Flag =
"InstantReload"})
Mods:Toggle({Name = "Instant equip", Flag =
"InstantEquip"})
Mods:Toggle({Name = "Reduce recoil", Flag =
"ModRecoil"});
Mods:Slider({Min = 0, Max = 100, Name = "Recoil
percent", Flag = "RecoilPercent"})
Mods:Toggle({Name = "Reduce spread", Flag =
"ReduceSpread"});
Mods:Slider({Min = 0, Max = 100, Name = "Spread
percent", Flag = "SpreadPercent"})
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
local AB_Toggle = Players:Toggle({Name = "Ammobar",
Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;
Players:Multidropdown({Name = "Flags", Flag =
"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// objects
local WorldESPSection = ESPTab:NewSection({Name =
"ESP", Side = "Left"}); do
WorldESPSection:Toggle({Name = "Guns", Flag =
"ESPGuns"}):Colorpicker({Name = "Gun Color", Flag = "GunsColor"})
WorldESPSection:Toggle({Name = "Fade transparency",
Flag = "FadeObjects"})
WorldESPSection:Slider({Name = "Max Distance", Flag
= "CustomDistance", Min = 0, Max = 1000, Suffix = "m"});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Infinite stamina", Flag =
"InfiniteStamina"})
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
100, Flag = "SpeedValue", Max = 5, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;

end;

if IsStudio then
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;

do --// Playerlist tab


local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;

Window:SetTab("Combat");
end;

if GameName == "Gunfight Arena" then


local Window = Library:NewWindow({TabAmount = 3, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"});
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "Remove spread", Flag =
"NoSpread"});
Mods:Toggle({Name = "Remove recoil", Flag = "NoRecoil",
Callback = function()
GameFramework:ApplyMods()
end});

Mods:Toggle({Name = "Fast bullet", Flag = "FastBullet",


Callback = function()
GameFramework:ApplyMods()
end});

end;

end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
if IsStudio then
Players:Toggle({Name = "Studio AI Testing",Flag
= "IncludeAiESP"});

local AB_Toggle = Players:Toggle({Name =


"Ammobar", Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});
end;

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
if IsStudio then
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
end;
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;
VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Cmera tab


local CameraSection = MiscTab:NewSection({Name = "Camera",
Side = "Left"}); do
CameraSection:Toggle({Name = "Remove bobbing", Flag =
"RemoveBobbing"})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;
end;
end;
Window:SetTab("Combat");
end;

if GameName == "Fallen" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});
Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});

if IsStudio then
AimbotSection:Toggle({Name = "Studio AI
Testing", Flag = "IncludeAi"});
end;

end;
end;

local Visuals = CombatTab:NewSection({Name = "Visuals",


Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;
Visuals:Dropdown({Default = "Sine", Max =
#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
if IsStudio then
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
end;
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;
do --// Misc Options section
local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;

VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 40, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;
do --// Playerlist tab
local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;
Window:SetTab("Combat");
end;

if GameName == "Criminality" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do
AimbotSection:Toggle({Name = "Enabled", Flag =
"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "INFECTION Team
check", Flag = "TeamCheck"});
AimbotSection:Toggle({Name = "Ignore downed", Flag
= "IgnoreDowned"})
AimbotSection:Toggle({Name = "Magic bullet", Flag =
"MagicBullet", Risky = true})
AimbotSection:Toggle({Name = "Autoshoot", Flag =
"Autoshoot", Risky = true})
AimbotSection:Slider({Name = "Autoshoot override
distance", Flag = "OverrideDistance", Min = 0, Max = 200})
AimbotSection:Slider({Name = "Max autoshoot walls",
Flag = "AutoWalls", Min = 0, Max = 4})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});
local HitmarkerOptions = {};
local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

AimbotSection:Dropdown({Max = Total, Name =


"Autoshoot hitmarker", Flag = "HitSound", Options = HitmarkerOptions, Callback =
function()
Library:UpdateSounds("Headshot");
end});

AimbotSection:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "FOV circle", Flag =
"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "GL/RPG Controller", Flag =
"ControlRockets"})
Mods:Toggle({Name = "Remove recoil", Flag =
"RemoveRecoil"});
Mods:Toggle({Name = "Remove spread", Flag =
"RemoveSpread"});
Mods:Toggle({Name = "Instant aim", Flag =
"InstantAim"});
Mods:Toggle({Name = "Instant equip", Flag =
"InstantEquip"});
Mods:Toggle({Name = "Instant pump", Flag =
"InstantCharge"});
Mods:Toggle({Name = "Remove slowdown", Flag =
"Walkshoot", Risky = true});
Mods:Toggle({Name = "Instant bullet", Flag =
"InstantHit", Risky = true});
Mods:Toggle({Name = "Instant reload", Flag =
"InstantReload", Risky = true})
Mods:Toggle({Name = "Custom firerate", Flag =
"RapidFire", Risky = true});
Mods:Slider({Name = "Firerate", Flag = "FireRate", Min
= 0, Max = 30, AllowDecimals = 10})
Mods:Toggle({Name = "Wallbang", Flag = "Wallbang",
Risky = true});
--Mods:Toggle({Name = "Hitbox expander", Flag =
"ExpandHeads", Risky = true}):Keybind({Name = "HBE", Flag = "HBE", Mode =
"Toggle"});
-- Mods:Slider({Name = "Headsize", Flag = "Headsize",
Min = 0, Max = 6});
end;

local Aura = CombatTab:NewSection({Name = "Aura", Side =


"Left"}); do
Aura:Toggle({Name = "Kill aura", Flag = "KillAura"});
Aura:Toggle({Name = "Finish aura", Flag =
"FinishAura"});
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

local AB_Toggle = Players:Toggle({Name = "Ammobar",


Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});
Players:Toggle({Name = "Glow chams", Flag =
"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;
do --// Custom Object
local WorldESPSection = ESPTab:NewSection({Name =
"Custom objects", Side = "Left"}); do

WorldESPSection:Toggle({Name = "ATMs", Flag =


"ESPATM"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "ATM
Color", Flag = "ATMColor"});
WorldESPSection:Toggle({Name = "Dealers", Flag =
"ESPDealer"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Dealer
Color", Flag = "DealerColor"});
WorldESPSection:Toggle({Name = "Safe/Registers",
Flag = "ESPSafe"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Safe Color", Flag = "SafeColor"});
WorldESPSection:Toggle({Name = "Mystery boxes",
Flag = "ESPMystery"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Mystery box Color", Flag = "MysteryColor"});
WorldESPSection:Toggle({Name = "Scrap/Crates", Flag
= "ESPScrap"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Scrap
Color", Flag = "ScrapColor"});
WorldESPSection:Multidropdown({Flag = "Rarities",
Name = "Scrap/Crate Rarities", Max = 3, Options = {"Gray", "Green", "Red"}});

WorldESPSection:Toggle({Name = "Fade transparency",


Flag = "FadeObjects"})
WorldESPSection:Slider({Name = "Max Distance", Flag
= "CustomDistance", Min = 0, Max = 1000, Suffix = "s"});
end;
local Filter = ESPTab:NewSection({Name = "Filter",
Side = "Right"}); do
Filter:Toggle({Name = "Filter dealer stocks", Flag
= "ShowStocks"});
Filter:Searchbar({Name = "Items", Flag =
"FilteredItems", Options = GameFramework.CrimItems});
end;
end;

do --// Hazards
local Hazards = ESPTab:NewSection({Name = "Hazards",
Side = "Right"}); do
local NadeToggle = Hazards:Toggle({Name =
"Grenades", Flag = "ESPGrenades"})
NadeToggle:Colorpicker({Name = "Grenade Lower",
Default = Color3.fromRGB(255, 0, 0), Flag = "GrenadeLower"});
NadeToggle:Colorpicker({Name = "Grenade Higher",
Default = Color3.fromRGB(0, 255, 0), Flag = "GrenadeHigher"});
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do
MiscOptions:Toggle({Name = "INFECTION Team check",
Flag = "ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;

do --// Local tab


local LocalTab = VisualsTab:Add({Name = "Local"}); do
local TracersSec = LocalTab:NewSection({Name = "Bullet
tracers", Side = "Right"}); do
TracersSec:Toggle({Name = "Enabled", Flag =
"Tracers"}):Colorpicker({Name = "Tracer color", Flag = "TracerColor", Default =
Color3.fromRGB(255, 255, 255)})
TracersSec:Slider({Name = "Lifetime", Flag =
"LifeTime", Max = 5, Min = 1, Default = 3, Suffix = "s"});
TracersSec:Dropdown({Name = "Type", Flag =
"TracerMode", Default = "Beam", Options = {"Beam", "Line"}, Max = 2});
end;

local Removals = LocalTab:NewSection({Name =


"Removals", Side = "Right"}); do
Removals:Toggle({Name = "Smoke", Flag =
"NoSmoke"});
Removals:Toggle({Name = "Flashbangs", Flag =
"NoFlash"});
Removals:Toggle({Name = "Teargas blur", Flag =
"NoTega"});
Removals:Toggle({Name = "Concussion", Flag =
"NoConcuss"});
Removals:Toggle({Name = "Visor / Helmet", Flag =
"NoVisor"});
end;

local CameraSection = LocalTab:NewSection({Name =


"Camera", Side = "Left"}); do
CameraSection:Toggle({Name = "Remove bobbing", Flag
= "RemoveBobbing"})
end;

local ViewmodelSec = LocalTab:NewSection({Name =


"Viewmodel", Side = "Left"}); do
ViewmodelSec:Toggle({Name = "Enabled", Flag =
"ViewmodelChams"});
ViewmodelSec:Toggle({Name = "Arms", Flag =
"ArmChams"}):Colorpicker({Name = "Arm Color", Flag = "ArmColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Item", Flag =
"ItemChams"}):Colorpicker({Name = "Item Color", Flag = "ItemColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Outline Viewmodel",
Flag = "HighlightViewmodel"}):Colorpicker({Name = "Viewmodel Outline Color", Flag =
"ViewmodelOutlineColor", Default = Library.Theme.Accent});
ViewmodelSec:Dropdown({Name = "Material", Flag =
"ViewmodelMaterial", Options = {"ForceField", "Neon", "Glass"}});
end;

local SelfHighlight = LocalTab:NewSection({Name = "Self


chams", Side = "Left"}); do
local Toggle = SelfHighlight:Toggle({Name =
"Enabled", Flag = "SelfHighlight"})
Toggle:Colorpicker({Name = "Fill Color", Flag =
"SelfFillColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
Toggle:Colorpicker({Name = "Outline Color", Flag =
"SelfOutlineColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
end;

local Hitmarkers = LocalTab:NewSection({Name =


"Hitmarkers", Side = "Right"}); do
Hitmarkers:Toggle({Name = "Display damage", Flag =
"DisplayDamage"}):Colorpicker({Name = "Damage Color", Flag = "DamageColor", Default
= Color3.fromRGB(255, 255, 255)});
Hitmarkers:Slider({Name = "Visualize time", Min =
0, Max = 5, AllowDecimals = 10, Flag = "HitmarkerTime"})
end
end;
end;

VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name = "Movement",
Side = "Left"}); do
CharacterSec:Toggle({Name = "Infinite stamina", Flag =
"InfiniteStamina", Risky = true});
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed", Risky = true});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
100, Flag = "SpeedValue", Max = 2, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump", Risky = true});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 100, Min = 0});

CharacterSec:Button({Name = "Hide head underground",


Callback = function()
GameFramework.HeadGlitch = true;
local Character = Client.Character;

local NeckJoint =
Character.HumanoidRootPart.CTs.RGCT_Neck

Character.Torso.Neck:Destroy();
Character.Torso.NeckAttachment:Destroy();

NeckJoint.TwistLowerAngle = 0;
NeckJoint.TwistUpperAngle = 0;
NeckJoint.Restitution = 0;
NeckJoint.UpperAngle = 0;
NeckJoint.MaxFrictionTorque = 0;

Character.Head.HeadCollider:Destroy()
end})
end;
local RemovalsSection = MiscTab:NewSection({Name =
"Removals", Side = "Right"}); do
RemovalsSection:Toggle({Name = "Less inertia", Flag =
"LessInertia"});
RemovalsSection:Toggle({Name = "Ragdolling", Flag =
"AntiRagdoll"});
RemovalsSection:Toggle({Name = "Broken limbs", Flag =
"AntiBreak"})
RemovalsSection:Toggle({Name = "Fire damage", Flag =
"AntiFire"});
RemovalsSection:Toggle({Name = "Fall damage", Flag =
"AntiFall"});
RemovalsSection:Toggle({Name = "Drown damage", Flag =
"AntiDrown"});
RemovalsSection:Toggle({Name = "Barbed-wire damage",
Flag = "AntiWire"});
end;

local Interaction = MiscTab:NewSection({Name =


"Interaction", Side = "Left"}); do
Interaction:Toggle({Name = "Instant lockpick", Flag =
"InstantLockpick"});
Interaction:Toggle({Name = "Instant interact", Flag =
"InstantInteract"});
Interaction:Toggle({Name = "Register/Safe aura", Flag =
"RegisterAura"}):Keybind({Name = "Safe aura", Flag = "Safe Aura", Mode = "Hold"});
Interaction:Button({Name = "Toggle vibecheck elevator",
Callback = function()
local Knob = Workspace.Map.Doors.Elevator_28.Knob1;
Client.Character.HumanoidRootPart.CFrame =
Knob.CFrame;
local Prompt =
Knob:WaitForChild("ProximityPrompt");
task.wait(0.05);
for Index = 1, 10 do
fireproximityprompt(Prompt);
end;
end})
end;

local ChatSection = MiscTab:NewSection({Name = "Chatbot",


Side = "Right"}); do
ChatSection:Toggle({Name = "Enabled", Flag =
"Chatspam"});

ChatSection:Toggle({Name = "Random emojis", Flag =


"Emojis"})
ChatSection:Toggle({Name = "Random symbols", Flag =
"Symbols"})
ChatSection:Dropdown({Name = "Phrase", Flag = "Phrase",
Max = 3, Options = {"Ethereal", "British", "Trashtalk"}});
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;
do --// Playerlist tab
local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;
Window:SetTab("Combat");
end;

if GameName == "Frontlines" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat sections


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Toggle({Name = "just enable this -
its needed", Flag = "IncludeAi"})
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});
end;
end;

local Visuals = CombatTab:NewSection({Name = "Visuals",


Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "No Recoil", Flag = "RemoveRecoil",
Callback = function()
if Library.Flags.RemoveRecoil.Value and
GameFramework.CurrentMain then
GameFramework:ApplyNoRecoil(GameFramework.CurrentMain);
end;
end});

Mods:Toggle({Name = "No bobbing", Flag =


"RemoveBobbing", Callback = function()
if Library.Flags.RemoveBobbing.Value and
GameFramework.CurrentMain then

GameFramework:NoBobbing(GameFramework.CurrentMain);
end;
end});

Mods:Toggle({Name = "Instant bullet", Flag =


"InstantBullet", Callback = function()
if GameFramework.CurrentMain then
GameFramework:UpdateMods()
end;
end});

Mods:Toggle({Name = "Rapid fire", Flag = "RapidFire",


Callback = function()
if GameFramework.CurrentMain then
GameFramework:UpdateMods()
end;
end});

Mods:Toggle({Name = "No deviation", Flag =


"NoDeviation", Callback = function()
if GameFramework.CurrentMain then
GameFramework:UpdateMods()
end;
end;})

Mods:Toggle({Name = "No weight", Flag = "NoWeight",


Callback = function()
if GameFramework.CurrentMain then
GameFramework:UpdateMods()
end;
end});

Mods:Toggle({Name = "God ergonomics", Flag =


"BetterErgo", Callback = function()
if GameFramework.CurrentMain then
GameFramework:UpdateMods()
end;
end});

Mods:Toggle({Name = "Instant reload", Flag =


"InstantReload", Callback = function()
if GameFramework.CurrentMain then
GameFramework:UpdateMods()
end;
end});

-- Mods:Toggle({Name = "Enhance penetration", Flag =


"BetterPentration", Callback = function()
--
GameFramework:ApplyPenetration(Library.Flags.BetterPentration.Value)
--end});
Mods:Toggle({Name = "No obstructions", Flag =
"RemoveObstructions"})
Mods:Toggle({Name = "Infinite breath", Flag =
"InfiniteBreath"})
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
Players:Toggle({Name = "just enable this - its
needed", Flag = "IncludeAiESP"})
--Players:Toggle({Name = "Tracers", Flag =
"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
--Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

do --// Hazards
local Hazards = ESPTab:NewSection({Name = "Hazards",
Side = "Left"}); do
local NadeToggle = Hazards:Toggle({Name =
"Grenades", Flag = "ESPGrenades"})
NadeToggle:Colorpicker({Name = "Grenade Lower",
Default = Color3.fromRGB(255, 0, 0), Flag = "GrenadeLower"});
NadeToggle:Colorpicker({Name = "Grenade Higher",
Default = Color3.fromRGB(0, 255, 0), Flag = "GrenadeHigher"});
end;
end;
end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Health"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;

do --// Local tab


local LocalTab = VisualsTab:Add({Name = "Local"});

do --// Sections
local TracersSec = LocalTab:NewSection({Name = "Bullet
tracers", Side = "Right"}); do
TracersSec:Toggle({Name = "Enabled", Flag =
"Tracers"}):Colorpicker({Name = "Tracer color", Flag = "TracerColor", Default =
Color3.fromRGB(255, 255, 255)})
TracersSec:Slider({Name = "Lifetime", Flag =
"LifeTime", Max = 5, Min = 1, Default = 3, Suffix = "s"});
TracersSec:Dropdown({Name = "Type", Flag =
"TracerMode", Default = "Beam", Options = {"Beam", "Line"}, Max = 2});
end;

local ViewmodelSec = LocalTab:NewSection({Name =


"Viewmodel", Side = "Left"}); do
ViewmodelSec:Toggle({Name = "Enabled", Flag =
"ViewmodelChams"});
ViewmodelSec:Toggle({Name = "Arms", Flag =
"ArmChams"}):Colorpicker({Name = "Arm Color", Flag = "ArmColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Item", Flag =
"ItemChams"}):Colorpicker({Name = "Item Color", Flag = "ItemColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Outline Viewmodel",
Flag = "HighlightViewmodel"}):Colorpicker({Name = "Viewmodel Outline Color", Flag =
"ViewmodelOutlineColor", Default = Library.Theme.Accent});
ViewmodelSec:Dropdown({Name = "Material", Flag =
"ViewmodelMaterial", Options = {"ForceField", "Neon", "Glass"}});
ViewmodelSec:Button({Name = "Force update
viewmodel", Callback = function()
for _, VM in next,
Workspace.ignore:GetChildren() do
if VM.Name == "viewmodel" then
Utility:UpdateViewmodel(VM)
end;
end;
end});
end;

local SelfHighlight = LocalTab:NewSection({Name = "Self


chams", Side = "Left"}); do
local Toggle = SelfHighlight:Toggle({Name =
"Enabled", Flag = "SelfHighlight"})
Toggle:Colorpicker({Name = "Fill Color", Flag =
"SelfFillColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
Toggle:Colorpicker({Name = "Outline Color", Flag =
"SelfOutlineColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
end;
end;
end;

VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 50, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Jump power", AllowDecimals
= 10, Flag = "JumpValue", Max = 50, Min = 0});

CharacterSec:Toggle({Name = "Shoot while running", Flag


= "WalkShoot"});
CharacterSec:Toggle({Name = "Infinite stamina", Flag =
"InfiniteStamina"});
CharacterSec:Toggle({Name = "Infinite breath", Flag =
"InfiniteBreath"});
end;
end;

do --// Hitmarkers
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;
end;
end;
Window:SetTab("Combat");
end;

if GameName == "Scorched Earth" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat sections


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Toggle({Name = "Manipulation", Flag =
"Manipulation"});

AimbotSection:Slider({Name = "Manipulation range",


Flag = "ManipulationDistance", Min = 1, Max = 15});

AimbotSection:Keybind({Mode = "Hold", Name =


"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});
end;
end;

local Visuals = CombatTab:NewSection({Name = "Visuals",


Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "No Recoil", Flag =
"RemoveRecoil"});
Mods:Toggle({Name = "No Spread", Flag =
"RemoveSpread"});
Mods:Toggle({Name = "No Sway", Flag = "RemoveSway"});
Mods:Toggle({Name = "No Drag", Flag = "RemoveDrag"});
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
--Players:Toggle({Name = "Tracers", Flag =
"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

local AB_Toggle = Players:Toggle({Name = "Ammobar",


Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});
Players:Toggle({Name = "Name", Flag =
"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
--Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

--local ChamsToggle = Players:Toggle({Name =


"Chams", Flag = "Adornments"});

--ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
--ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

--Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

do --// Hazards
local Hazards = ESPTab:NewSection({Name = "Hazards",
Side = "Left"}); do
local NadeToggle = Hazards:Toggle({Name =
"Grenades", Flag = "ESPGrenades"})
NadeToggle:Colorpicker({Name = "Grenade Lower",
Default = Color3.fromRGB(255, 0, 0), Flag = "GrenadeLower"});
NadeToggle:Colorpicker({Name = "Grenade Higher",
Default = Color3.fromRGB(0, 255, 0), Flag = "GrenadeHigher"});
end;
end;
end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Health"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;

do --// Local tab


local LocalTab = VisualsTab:Add({Name = "Local"});

do --// Sections
local TracersSec = LocalTab:NewSection({Name = "Bullet
tracers", Side = "Right"}); do
TracersSec:Toggle({Name = "Enabled", Flag =
"Tracers"}):Colorpicker({Name = "Tracer color", Flag = "TracerColor", Default =
Color3.fromRGB(255, 255, 255)})
TracersSec:Slider({Name = "Lifetime", Flag =
"LifeTime", Max = 5, Min = 1, Default = 3, Suffix = "s"});
TracersSec:Dropdown({Name = "Type", Flag =
"TracerMode", Default = "Beam", Options = {"Beam", "Line"}, Max = 2});
end;

local ViewmodelSec = LocalTab:NewSection({Name =


"Viewmodel", Side = "Left"}); do
ViewmodelSec:Toggle({Name = "Enabled", Flag =
"ViewmodelChams"});
ViewmodelSec:Toggle({Name = "Arms", Flag =
"ArmChams"}):Colorpicker({Name = "Arm Color", Flag = "ArmColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Item", Flag =
"ItemChams"}):Colorpicker({Name = "Item Color", Flag = "ItemColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Outline Viewmodel",
Flag = "HighlightViewmodel"}):Colorpicker({Name = "Viewmodel Outline Color", Flag =
"ViewmodelOutlineColor", Default = Library.Theme.Accent});
ViewmodelSec:Dropdown({Name = "Material", Flag =
"ViewmodelMaterial", Options = {"ForceField", "Neon", "Glass"}});
ViewmodelSec:Button({Name = "Force update
viewmodel", Callback = function()
for _, VM in next,
Workspace.ignore:GetChildren() do
if VM.Name == "viewmodel" then
Utility:UpdateViewmodel(VM)
end;
end;
end});
end;

local SelfHighlight = LocalTab:NewSection({Name = "Self


chams", Side = "Left"}); do
local Toggle = SelfHighlight:Toggle({Name =
"Enabled", Flag = "SelfHighlight"})
Toggle:Colorpicker({Name = "Fill Color", Flag =
"SelfFillColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
Toggle:Colorpicker({Name = "Outline Color", Flag =
"SelfOutlineColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
end;
end;
end;

VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do

CharacterSec:Toggle({Name = "Fly", Flag =


"CanFly"}):Keybind({Name = "Fly", Flag = "Fly"})
CharacterSec:Slider({Min = 1, Max = 100, Flag =
"FlySpeed", Name = "Speed"})

--[[CharacterSec:Toggle({Name = "Speedhack", Flag =


"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 50, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Jump power", AllowDecimals
= 10, Flag = "JumpValue", Max = 50, Min = 0});

CharacterSec:Toggle({Name = "Shoot while running", Flag


= "WalkShoot"});
CharacterSec:Toggle({Name = "Infinite stamina", Flag =
"InfiniteStamina"});
CharacterSec:Toggle({Name = "Infinite breath", Flag =
"InfiniteBreath"});]]
end;
end;

do --// Hitmarkers
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Library.HeadshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Headshot", Flag = "HeadshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Headshot");
end});
Library.BodyshotDropdown = Hitmarkers:Dropdown({Max =
Total, Name = "Bodyshot", Flag = "BodyshotSound", Options = HitmarkerOptions,
Callback = function()
Library:UpdateSounds("Bodyshot");
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 10, AllowDecimals = 10})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;
end;
end;
Window:SetTab("Combat");
end;
if GameName == "Combat Warriors" then
local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat sections


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Kill aura", Flag =
"KillAura"})
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 0});
Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});
end;
end;

local Visuals = CombatTab:NewSection({Name = "Visuals",


Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "Remove recoil", Flag =
"RemoveRecoil", Callback = function()
if Library.Flags.RemoveRecoil.Value then
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value,
"recoilAmount") then
Value.recoilAmount = 0
end
end
end
end})
Mods:Toggle({Name = "Remove chargeup", Flag =
"RemoveCharge", Callback = function()
if Library.Flags.RemoveCharge.Value then
for Index, Value in next, getgc(true) do
if type(Value) == "table" and rawget(Value,
"chargeOnDuration") then
Value.chargeOnDuration = 0.05
end

if type(Value) == "table" and rawget(Value,


"cooldown") then
Value.cooldown = 0.05
end
end
end
end})
Mods:Toggle({Name = "Wallbang", Flag = "Wallbang",
Callback = function()
local Value = Library.Flags.Wallbang.Value

if Value and Workspace:FindFirstChild("Map") then


Workspace.Map.Parent = Workspace.EffectsJunk
elseif not Value and not
Workspace:FindFirstChild("Map") then
Workspace.EffectsJunk.Map.Parent = Workspace
end
end})
Mods:Toggle({Name = "Hitbox expander", Flag =
"ExpandHeads", Risky = true}):Keybind({Name = "HBE", Flag = "HBE", Mode =
"Toggle"});
Mods:Slider({Name = "Headsize", Flag = "Headsize", Min
= 0, Max = 6});
end;
end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
--Players:Toggle({Name = "Tracers", Flag =
"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
--Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

do --// Hazards
local Hazards = ESPTab:NewSection({Name = "Hazards",
Side = "Left"}); do
local NadeToggle = Hazards:Toggle({Name =
"Grenades", Flag = "ESPGrenades"})
NadeToggle:Colorpicker({Name = "Grenade Lower",
Default = Color3.fromRGB(255, 0, 0), Flag = "GrenadeLower"});
NadeToggle:Colorpicker({Name = "Grenade Higher",
Default = Color3.fromRGB(0, 255, 0), Flag = "GrenadeHigher"});
end;
end;
end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Health",
"Death/Respawn"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;

do --// Local tab


local LocalTab = VisualsTab:Add({Name = "Local"});

do --// Sections
local TracersSec = LocalTab:NewSection({Name = "Bullet
tracers", Side = "Right"}); do
TracersSec:Toggle({Name = "Enabled", Flag =
"Tracers"}):Colorpicker({Name = "Tracer color", Flag = "TracerColor", Default =
Color3.fromRGB(255, 255, 255)})
TracersSec:Slider({Name = "Lifetime", Flag =
"LifeTime", Max = 5, Min = 1, Default = 3, Suffix = "s"});
TracersSec:Dropdown({Name = "Type", Flag =
"TracerMode", Default = "Beam", Options = {"Beam", "Line"}, Max = 2});
end;

local ViewmodelSec = LocalTab:NewSection({Name =


"Viewmodel", Side = "Left"}); do
ViewmodelSec:Toggle({Name = "Enabled", Flag =
"ViewmodelChams"});
ViewmodelSec:Toggle({Name = "Arms", Flag =
"ArmChams"}):Colorpicker({Name = "Arm Color", Flag = "ArmColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Item", Flag =
"ItemChams"}):Colorpicker({Name = "Item Color", Flag = "ItemColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Outline Viewmodel",
Flag = "HighlightViewmodel"}):Colorpicker({Name = "Viewmodel Outline Color", Flag =
"ViewmodelOutlineColor", Default = Library.Theme.Accent});
ViewmodelSec:Dropdown({Name = "Material", Flag =
"ViewmodelMaterial", Options = {"ForceField", "Neon", "Glass"}});
ViewmodelSec:Button({Name = "Force update
viewmodel", Callback = function()
for _, VM in next,
Workspace.ignore:GetChildren() do
if VM.Name == "viewmodel" then
Utility:UpdateViewmodel(VM)
end;
end;
end});
end;

local SelfHighlight = LocalTab:NewSection({Name = "Self


chams", Side = "Left"}); do
local Toggle = SelfHighlight:Toggle({Name =
"Enabled", Flag = "SelfHighlight"})
Toggle:Colorpicker({Name = "Fill Color", Flag =
"SelfFillColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
Toggle:Colorpicker({Name = "Outline Color", Flag =
"SelfOutlineColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
end;
end;
end;

VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 50, Min = 0});
CharacterSec:Toggle({Name = "Jumphack", Flag =
"IncreaseJump"});
CharacterSec:Slider({Name = "Jump power", AllowDecimals
= 10, Flag = "JumpValue", Max = 50, Min = 0});

CharacterSec:Toggle({Name = "Anti fall", Flag =


"AntiFall"});
CharacterSec:Toggle({Name = "Anti traps", Flag =
"NoBear"});
CharacterSec:Toggle({Name = "Infinite dash", Flag =
"NoDashCooldown", Callback = function()
GameFramework.Dash.DASH_COOLDOWN =
Library.Flags.NoDashCooldown.Value and 0 or 3
end})
CharacterSec:Toggle({Name = "Infinite stamina", Flag =
"InfiniteStamina"});
end;
end;

do --// Hitmarkers
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Hitmarkers:Dropdown({Max = Total, Name = "Sound", Flag


= "HeadshotSound", Options = HitmarkerOptions, Callback = function()
if Library.Flags.CustomHitSounds.Value then

ReplicatedStorage.Shared.Assets.Sounds.HitmarkerSound.SoundId =
HitmarkerSounds[Library.Flags.HeadshotSound.Value]

ReplicatedStorage.Shared.Assets.Sounds.HitmarkerSound.Volume =
Library.Flags.HitmarkerVolume.Value
end
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 100, AllowDecimals = 10, Callback = function()

ReplicatedStorage.Shared.Assets.Sounds.HitmarkerSound.Volume =
Library.Flags.HitmarkerVolume.Value
end})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;
end;
end;
Window:SetTab("Combat");
end;

if GameName == "Bad Business" then


local Window = Library:NewWindow({TabAmount = 4, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat sections


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Kill aura", Flag =
"KillAura"})
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Team check", Flag =
"TeamCheck"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 0});
Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});
end;
end;

local Visuals = CombatTab:NewSection({Name = "Visuals",


Side = "Right"}); do
Visuals:Toggle({Name = "Crosshair", Flag =
"Crosshair"}):Colorpicker({Name = "Crosshair color", Flag = "CrosshairColor",
Callback = function()
Visuals.CrossAdornee.Color3 =
Library.Flags.CrosshairColor.Color;
end});

Visuals:Toggle({Name = "FOV circle", Flag =


"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end});

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end});
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end;

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});
--Players:Toggle({Name = "Tracers", Flag =
"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
--Players:Toggle({Name = "Inventory", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

do --// Hazards
local Hazards = ESPTab:NewSection({Name = "Hazards",
Side = "Left"}); do
local NadeToggle = Hazards:Toggle({Name =
"Grenades", Flag = "ESPGrenades"})
NadeToggle:Colorpicker({Name = "Grenade Lower",
Default = Color3.fromRGB(255, 0, 0), Flag = "GrenadeLower"});
NadeToggle:Colorpicker({Name = "Grenade Higher",
Default = Color3.fromRGB(0, 255, 0), Flag = "GrenadeHigher"});
end;
end;
end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Health",
"Death/Respawn"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)
end;

do --// Local tab


local LocalTab = VisualsTab:Add({Name = "Local"});

do --// Sections
local TracersSec = LocalTab:NewSection({Name = "Bullet
tracers", Side = "Right"}); do
TracersSec:Toggle({Name = "Enabled", Flag =
"Tracers"}):Colorpicker({Name = "Tracer color", Flag = "TracerColor", Default =
Color3.fromRGB(255, 255, 255)})
TracersSec:Slider({Name = "Lifetime", Flag =
"LifeTime", Max = 5, Min = 1, Default = 3, Suffix = "s"});
TracersSec:Dropdown({Name = "Type", Flag =
"TracerMode", Default = "Beam", Options = {"Beam", "Line"}, Max = 2});
end;

local ViewmodelSec = LocalTab:NewSection({Name =


"Viewmodel", Side = "Left"}); do
ViewmodelSec:Toggle({Name = "Enabled", Flag =
"ViewmodelChams"});
ViewmodelSec:Toggle({Name = "Arms", Flag =
"ArmChams"}):Colorpicker({Name = "Arm Color", Flag = "ArmColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Item", Flag =
"ItemChams"}):Colorpicker({Name = "Item Color", Flag = "ItemColor", Default =
Library.Theme.Accent});
ViewmodelSec:Toggle({Name = "Outline Viewmodel",
Flag = "HighlightViewmodel"}):Colorpicker({Name = "Viewmodel Outline Color", Flag =
"ViewmodelOutlineColor", Default = Library.Theme.Accent});
ViewmodelSec:Dropdown({Name = "Material", Flag =
"ViewmodelMaterial", Options = {"ForceField", "Neon", "Glass"}});
ViewmodelSec:Button({Name = "Force update
viewmodel", Callback = function()
for _, VM in next,
Workspace.ignore:GetChildren() do
if VM.Name == "viewmodel" then
Utility:UpdateViewmodel(VM)
end;
end;
end});
end;

local SelfHighlight = LocalTab:NewSection({Name = "Self


chams", Side = "Left"}); do
local Toggle = SelfHighlight:Toggle({Name =
"Enabled", Flag = "SelfHighlight"})
Toggle:Colorpicker({Name = "Fill Color", Flag =
"SelfFillColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
Toggle:Colorpicker({Name = "Outline Color", Flag =
"SelfOutlineColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
end;
end;
end;

VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 50, Min = 0});

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Jump power", AllowDecimals
= 10, Flag = "JumpValue", Max = 50, Min = 0});

CharacterSec:Toggle({Name = "Anti fall", Flag =


"AntiFall"});
CharacterSec:Toggle({Name = "Anti traps", Flag =
"NoBear"});
CharacterSec:Toggle({Name = "Infinite stamina", Flag =
"InfiniteStamina"});
end;
end;

do --// Hitmarkers
local Hitmarkers = MiscTab:NewSection({Name = "Hitmarkers",
Side = "Right"}); do
Hitmarkers:Toggle({Name = "Enabled", Flag =
"CustomHitSounds"});

local HitmarkerOptions = {};


local Total = 0;
for Index, Value in next, HitmarkerSounds do
Total = Total + 1;
HitmarkerOptions[Index] = Index;
end;

Hitmarkers:Dropdown({Max = Total, Name = "Sound", Flag


= "HeadshotSound", Options = HitmarkerOptions, Callback = function()
if Library.Flags.CustomHitSounds.Value then

ReplicatedStorage.Shared.Assets.Sounds.HitmarkerSound.SoundId =
HitmarkerSounds[Library.Flags.HeadshotSound.Value]

ReplicatedStorage.Shared.Assets.Sounds.HitmarkerSound.Volume =
Library.Flags.HitmarkerVolume.Value
end
end});

Hitmarkers:Slider({Name = "Volume", Flag =


"HitmarkerVolume", Min = 0, Max = 100, AllowDecimals = 10, Callback = function()

ReplicatedStorage.Shared.Assets.Sounds.HitmarkerSound.Volume =
Library.Flags.HitmarkerVolume.Value
end})
end;
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;
end;
end;
Window:SetTab("Combat");
end;

if GameName == "Blackout" then


local Window = Library:NewWindow({TabAmount = 6, Name = "DogeHub", Size =
UDim2.new(0, 600, 0, 800)}); do
do --// Tabs
do --// Combat tab
local CombatTab = Window:NewTab({Name = "Combat"});

do --// Combat section


local AimbotSection = CombatTab:NewSection({Name =
"Aimbot", Side = "Left"}); do

AimbotSection:Toggle({Name = "Enabled", Flag =


"SilentAim", Risky = true}); do
AimbotSection:Keybind({Mode = "Hold", Name =
"Aimbot", Flag = "Aimbot"});
AimbotSection:Toggle({Name = "Visible check", Flag
= "VisibleCheck"});
AimbotSection:Toggle({Name = "Include AI", Flag =
"IncludeAi"});
AimbotSection:Toggle({Name = "Kill aura", Flag =
"KillAura"});
AimbotSection:Toggle({Name = "Magic bullet", Flag =
"MagicBullet"})
AimbotSection:Slider({Flag = "MaxDistance", Name =
"Max distance", Suffix = "s", Min = 0, Max = 1200, Default = 500});
AimbotSection:Multidropdown({Max = 3,Flag =
"TargettedBones", Name = "Targets", Options = {"Head", "Thorax", "Legs"}, Default =
{"Head"}});
AimbotSection:Dropdown({Name = "Mode", Flag =
"AimMode", Options = {"Aimbot", "Silent Aim"}});
AimbotSection:Slider({Name = "Curving X", Flag =
"CurveX", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Curving Y", Flag =
"CurveY", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Humanization Scale",
Flag = "HumanizationScale", Min = 0, Max = 2, AllowDecimals = 10});
AimbotSection:Slider({Name = "Minimum Health", Flag
= "MinimumHealth", Min = 0, Max = 100, Default = 1});

Window:Tooltip({
Parent = Library.Flags.SilentAim,
Text = "Silent Aim - Redirects bullets at
target | Aimbot - Locks camera on targets"
});
end;
end;
local Visuals = CombatTab:NewSection({Name = "Visuals",
Side = "Right"}); do
Visuals:Toggle({Name = "FOV circle", Flag =
"EnableFOV", Callback = function()
Visuals.FOVCircle.Visible =
Library.Flags.EnableFOV.Value;
end}):Colorpicker({Name = "FOV Color", Flag =
"FOVColor", Default = Library.Theme.Accent, DefaultTrans = 0, Callback = function()
Visuals.FOVCircle.UIStroke.Color =
ColorSequence.new(Library.Flags["FOVColor"].Color);
end,})

Visuals:Toggle({Name = "FOV Effects", Flag =


"FOVEffects", Callback = function()
if Library.Flags.FOVEffects.Value then
Visuals.FOVGradient.Enabled = true;
else
Visuals.FOVGradient.Enabled = false;
Visuals.FOVCircle.UIStroke.Color =
Library.Flags.FOVColor.Color;
end;
end})
Visuals:Toggle({Name = "Rainbow FOV", Flag =
"RainbowFOV"})
Visuals:Toggle({Name = "Dynamic FOV", Flag =
"DynamicFOV"});
Visuals:Dropdown({Name = "FOV Position", Flag =
"FOVPosition", Max = 2, Options = {"Camera", "Mouse"}});
Visuals:Slider({Flag = "Radius", Name = "Radius", Min =
0, Max = 700, Default = 500, Suffix = "px", Callback = function()
Visuals.FOVCircle.Size = UDim2.new(0,
Library.Flags["Radius"].Value, 0, Library.Flags["Radius"].Value)
end});
local StyleOptions = {};
for Index, Value in next, EasingStyle do
table.insert(StyleOptions, Index)
end

Visuals:Dropdown({Default = "Sine", Max =


#StyleOptions, Name = "Style", Flag = "EasingStyle", Options = StyleOptions})
Visuals:Dropdown({Default = "In", Max = 3, Name =
"Direction", Options = {"In", "Out", "InOut"}, Flag = "EasingDirection"});

Visuals:Slider({Default = 2, Name = "Rotation speed",


Min = 0, Max = 50, Flag = "RotationSpeed"})
Visuals:Slider({Default = 2, Name = "Transition
duration", Min = 1, Max = 50, Flag = "TransitionDuration", Callback = function()
OriginalTransitionDuration =
Library.Flags.TransitionDuration.Value;
end});
end;

local Mods = CombatTab:NewSection({Name = "Mods", Side =


"Right"}); do
Mods:Toggle({Name = "Instant Hit", Flag =
"InstantBullet"});
Mods:Toggle({Name = "Extend reach", Flag =
"ExtendReach"});
Mods:Toggle({Name = "Remove Recoil", Flag =
"RemoveRecoil", Callback = function()
GameFramework:ApplyModifications();
end});
--Mods:Toggle({Name = "Fast reload", Flag =
"FastReload"}):Keybind({Name = "Quick reload", Flag = "Quick Reload", Mode =
"Hold", Callback = function()
-- if Library.Flags.FastReload.Value and
Library.Flags["Quick Reload"].Value then
--
ReplicatedStorage.GunStorage.Events.Reload:InvokeServer()
--
ReplicatedStorage.GunStorage.Events.Action:FireServer("BarrelOpen")
-- end;
--end});

--Window:Tooltip({Parent = Library.Flags.FastReload,
Text = "Hold keybind down when toggled on to reload without animations, much faster
too."});
end;
--[[local Exclusions = CombatTab:NewSection({Name =
"Exclusions", Side = "Right"}); do
Exclusions:Multidropdown({Options = {Client.Name}, Name
= "Friendlies", Flag = "FriendliesDropdown", Callback = function()
Library:UpdateFriendliesDropdown();
end});

Library:UpdateFriendliesDropdown();
end;]]

end;
end;

do --// Visuals tab


local VisualsTab = Window:NewTab({Name = "Visuals",
IncludeNested = true});

do --// ESP Tab


local ESPTab = VisualsTab:Add({Name = "ESP"});
do --// Players section
local Players = ESPTab:NewSection({Name = "Main", Side
= "Left"}); do

Players:Toggle({Name = "Enabled", Flag =


"EnemiesEnabled"});

Players:Toggle({Name = "Include AI",Flag =


"IncludeAiESP"});

--Players:Toggle({Name = "Tracers", Flag =


"ESPTracers"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Tracer
color", Flag = "TracerColor"});
Players:Toggle({Name = "Bounding box", Flag =
"ESPBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name = "Box
color", Flag = "BoxColor"});
local HB_Toggle = Players:Toggle({Name =
"Healthbar", Flag = "ESPHealthBar"});

HB_Toggle:Colorpicker({Name = "Healthbar color


1",Flag = "HealthBarColorHigher", Default = Color3.fromRGB(0, 255, 0)})
HB_Toggle:Colorpicker({Name = "Healthbar color
2",Flag = "HealthBarColorLower"});

local AB_Toggle = Players:Toggle({Name = "Ammobar",


Flag = "ESPAmmoBar"});

AB_Toggle:Colorpicker({Name = "Ammobar color


1",Flag = "AmmobarColorHigher", Default = Color3.fromRGB(0, 65, 255)});
AB_Toggle:Colorpicker({Name = "Ammobar color
2",Flag = "AmmobarColorLower"});

Players:Toggle({Name = "Name", Flag =


"ESPName"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Name
Color", Flag = "NameColor"});
Players:Toggle({ Name = "Distance", Flag =
"ESPDistance"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name =
"Distance Color", Flag = "DistanceColor"});

Players:Toggle({Name = "Weapon", Flag =


"ESPWeapon"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Name = "Weapon
Color", Flag = "WeaponColor"});
Players:Toggle({Name = "Weapon Image", Flag =
"ESPWeaponImage"})
Players:Toggle({Name = "Health", Flag =
"ESPHealth"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag =
"HealthColor", Name = "Health Color"});
Players:Toggle({Name = "Gear", Flag =
"ESPInventory"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Inventory Color", Flag = "InventoryColor"})

local ChamsToggle = Players:Toggle({Name = "Chams",


Flag = "Adornments"});

ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 0, 0), Flag = "VisibleColor", DefaultTrans = 0.5, Name =
"Visible Color"});
ChamsToggle:Colorpicker({Default =
Color3.fromRGB(255, 255, 255), Flag = "OccludedColor", DefaultTrans = 0, Name =
"Occluded Color"});

Players:Toggle({Name = "Glow chams", Flag =


"GlowChams"})

local HighlightsToggle = Players:Toggle({Name =


"Highlights", Flag = "Highlights"});

HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "FillColor", Name = "Fill Color", DefaultTrans =
0});
HighlightsToggle:Colorpicker({Default =
Color3.fromRGB(0, 0, 0), Flag = "OutlineColor", Name = "Outline Color",
DefaultTrans = 0});

local FlagToggle = Players:Toggle({Name = "Flags",


Flag = "ESPFlags"})

local Options = {};


local Max = 0
for Index, Value in next, ESPConstructor.Flags do
Max = Max + 1;
Options[Index] = Index;
FlagToggle:Colorpicker({Name = Value.Flag .. "
Color", Default = Color3.fromRGB(255, 255, 255), Flag = "Flag"..Value.Flag})
end;

Players:Multidropdown({Name = "Flags", Flag =


"Flags", Options = Options, Max = Max});
Library.Flags.Flags:Update()
local Relations = Players:Toggle({Name = "Use
relation colors", Flag = "UseRelationColors"})
Relations:Colorpicker({Name = "Target color", Flag
= "TargetColor", Default = Color3.fromRGB(255, 0, 0)});
Relations:Colorpicker({Name = "Friendly color",
Flag = "FriendlyColor", Default = Color3.fromRGB(0, 255, 0)});
Players:Toggle({Name = "Highlight visible", Flag =
"HighlightVisible"}):Colorpicker({Name = "Visible color", Flag =
"HighlightVisibleColor", Default = Color3.fromRGB(253, 152, 2)});
end;
end;

do --// Custom Object


local WorldESPSection = ESPTab:NewSection({Name =
"World", Side = "Right"}); do
WorldESPSection:Toggle({Name = "Airdrops", Flag =
"ESPAirdrops"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Airdrops Color", Flag = "AirdropsColor"});
WorldESPSection:Toggle({Name = "Terminals", Flag =
"ESPTerminals"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Terminals Color", Flag = "TerminalsColor"});
WorldESPSection:Toggle({Name = "Bodybags", Flag =
"ESPBodybags"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Bodybags Color", Flag = "BodybagsColor"});
--AmmoBox
WorldESPSection:Toggle({Name = "Ammo boxes", Flag =
"ESPAmmoBox"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Ammoboxes Color", Flag = "AmmoBoxColor"});
WorldESPSection:Toggle({Name = "Traders", Flag =
"ESPTraders"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Name =
"Traders Color", Flag = "TradersColor"});
WorldESPSection:Toggle({Name = "Fade transparency",
Flag = "FadeObjects"})
WorldESPSection:Slider({Name = "Max Distance", Flag
= "CustomDistance", Min = 0, Max = 1000, Suffix = "s"});
end;
end;

do --// Offscreen Arrows


local Offscreen = ESPTab:NewSection({Name =
"Offscreen", Side = "Right"}); do
Offscreen:Toggle({Name = "Enabled", Flag =
"ESPOffscreen"}):Colorpicker({Name = "Offscreen Color", Flag = "OffscreenColor",
Default = Color3.fromRGB(255, 255, 255)});
Offscreen:Toggle({Name = "Dynamic sizing", Flag =
"DynamicArrows"})
Offscreen:Slider({Name = "Width", Flag =
"ArrowWidth", Min = 10, Max = 40, Suffix = "px", Default = 17});
Offscreen:Slider({Name = "Height", Flag =
"ArrowHeight", Min = 11, Max = 40, Suffix = "px", Default = 16});
Offscreen:Slider({Name = "Radius", Flag = "OOVFOV",
Max = 900, Min = 50, Default = 300, Suffix = "°"});
Offscreen:Dropdown({Name = "Arrow points", Flag =
"ArrowPoints", Options = {"Three", "Four"}});
end;
end;

do --// Hazards
if IsStudio then
local Hazards = ESPTab:NewSection({Name =
"Hazards", Side = "Left"}); do
local NadeToggle = Hazards:Toggle({Name =
"Grenades", Flag = "ESPGrenades"})
NadeToggle:Colorpicker({Name = "Grenade Lower",
Default = Color3.fromRGB(255, 0, 0), Flag = "GrenadeLower"});
NadeToggle:Colorpicker({Name = "Grenade
Higher", Default = Color3.fromRGB(0, 255, 0), Flag = "GrenadeHigher"});

Hazards:Toggle({Name = "Mines", Flag =


"ESPMines"});
Hazards:Toggle({Name = "Claymores", Flag =
"ESPClaymores"});
end;
end;
end;

end;

do --// ESP Posiitons


local Options = VisualsTab:Add({Name = "ESP Options"});

do --// Element Positions section


local ElementPositions = Options:NewSection({Name =
"Positions / Size", Side = "Right"}); do
ElementPositions:Slider({Flag = "BoxHeight", Name =
"Box height", Max = 10, Default = 5, Min = 0, AllowDecimals = 10});
ElementPositions:Slider({Flag = "BoxWidth", Name =
"Box width", Max = 10, Default = 3.5, Min = 0, AllowDecimals = 10});
ElementPositions:Dropdown({Flag = "BoxSize", Name =
"Box size", Default = "Static", Options = {"Static", "Dynamic", "SizeDynamic"}});
ElementPositions:Dropdown({Flag = "BoxStyle", Name
= "Box style", Default = "Box", Options = {"Box", "Corner"}});
ElementPositions:Dropdown({Flag =
"UsernamePosition", Name = "Username", Default = "Top", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag =
"DistancePosition", Name = "Distance", Default = "Bottom", Options = {"Top",
"Bottom"}});
ElementPositions:Dropdown({Flag = "WeaponPosition",
Name = "Weapon", Default = "Bottom", Options = {"Top", "Bottom"}});
ElementPositions:Dropdown({Flag =
"HealthbarPosition", Name = "Healthbar", Default = "Left", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"AmmobarPosition", Name = "Ammobar", Default = "Bottom", Options = {"Left",
"Right", "Bottom", "Top"}});
ElementPositions:Dropdown({Flag =
"InventoryPosition", Name = "Inventory", Default = "Bottom", Options = {"Bottom",
"Top"}});
--ElementPositions:Dropdown({Flag = "TracerOrigin",
Name = "Tracer origin", Default = "Bottom", Options = {"Bottom", "Center",
"Top"}});
--ElementPositions:Dropdown({Flag =
"TracerPosition", Name = "Tracer end", Default = "Bottom", Options = {"Bottom",
"Center"}})
end;
end;

do --// Misc Options section


local MiscOptions = Options:NewSection({Name = "Misc",
Side = "Left"}); do

MiscOptions:Toggle({Name = "Team check", Flag =


"ESPTeamCheck"})
MiscOptions:Toggle({Name = "Show health only when
damaged", Flag = "HealthWhenDamaged"})
MiscOptions:Toggle({Name = "Animations", Flag =
"Animations"});
MiscOptions:Toggle({Name = "Limit distance", Flag =
"LimitDistance"});
MiscOptions:Slider({Name = "Render distance", Flag
= "RenderDistance", Default = 1000, Min = 0, Max = 10000, Suffix = "s"});
MiscOptions:Slider({Name = "Fadeout time", Flag =
"FadeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "s"});
MiscOptions:Slider({Name = "Transition time", Flag
= "AnimChangeTime", Max = 1, Min = 0, AllowDecimals = 10, Suffix = "m"});
MiscOptions:Multidropdown({Name = "Selected
animations", Flag = "SelectedAnimations", Max = 3, Options = {"Ammo", "Health",
"Death/Respawn Fade"}});

MiscOptions:Slider({Name = "Delay", Flag =


"MSDelay", Min = 0, Max = 1000, Default = 0});

end;
end;
Library:AddFontSection(Options, "Left")
end;

do --// World tab


local WorldTab = Library:AddStandardWorldTab(VisualsTab)

end;

do --// Local tab


local LocalTab = VisualsTab:Add({Name = "Local"});

do --// Sections
local TracersSec = LocalTab:NewSection({Name = "Bullet
tracers", Side = "Right"}); do
TracersSec:Toggle({Name = "Enabled", Flag =
"Tracers"}):Colorpicker({Name = "Tracer color", Flag = "TracerColor", Default =
Color3.fromRGB(255, 255, 255)})
TracersSec:Slider({Name = "Lifetime", Flag =
"LifeTime", Max = 5, Min = 1, Default = 3, Suffix = "s"});
TracersSec:Dropdown({Name = "Type", Flag =
"TracerMode", Default = "Beam", Options = {"Beam", "Line"}, Max = 2});
end;

local CameraSec = LocalTab:NewSection({Name = "Camera",


Side = "Left"}); do
CameraSec:Toggle({Name = "Remove bobbing", Flag =
"RemoveBobbing", Callback = function()
if Library.Flags.RemoveBobbing and
Library.Flags.RemoveBobbing.Value then
Client.Character.ScreenShake.Disabled =
true;
else
Client.Character.ScreenShake.Disabled =
false;
end;
end});
end;

local SelfHighlight = LocalTab:NewSection({Name = "Self


chams", Side = "Left"}); do
local Toggle = SelfHighlight:Toggle({Name =
"Enabled", Flag = "SelfHighlight"})
Toggle:Colorpicker({Name = "Fill Color", Flag =
"SelfFillColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
Toggle:Colorpicker({Name = "Outline Color", Flag =
"SelfOutlineColor", DefaultTrans = 0.2, Default = Library.Theme.Accent})
end;
end;
end;

VisualsTab:SetTab("ESP");
end;

do --// Misc tab


local MiscTab = Window:NewTab({Name = "Miscellaneous"});

do --// Misc sections


local CharacterSec = MiscTab:NewSection({Name =
"Character", Side = "Left"}); do
CharacterSec:Toggle({Name = "Infinite Stamina", Flag =
"InfiniteStamina"});
CharacterSec:Toggle({Name = "Anti fall", Flag =
"AntiFall"})
CharacterSec:Toggle({Name = "Speedhack", Flag =
"IncreaseSpeed"});
CharacterSec:Slider({Name = "Speed", AllowDecimals =
10, Flag = "SpeedValue", Max = 100, Min = 0});
CharacterSec:Toggle({Name = "Fly", Flag =
"CanFly"}):Keybind({Name = "Fly", Flag = "Fly"})
CharacterSec:Slider({Min = 1, Max = 100, Flag =
"FlySpeed", Name = "Speed"})

CharacterSec:Toggle({Name = "Jumphack", Flag =


"IncreaseJump"});
CharacterSec:Slider({Name = "Power", AllowDecimals =
10, Flag = "JumpValue", Max = 200, Min = 0});

--CharacterSec:Toggle({Name = "Bunny hop", Flag =


"BHop"});
end;
end;

do --// Minigames
local Minigames = MiscTab:NewSection({Name = "Minigames",
Side = "Right"}); do
Minigames:Toggle({Name = "Prevent fails", Flag =
"InfiniteLockpick"})
Minigames:Toggle({Name = "Instant lockpick", Flag =
"InstantLockpick"})
Window:Tooltip({Parent = Library.Flags.InstantLockpick,
Text = "Enter a lockpickable crate, then exit to instantly pick it."})
end;
end;

do --// Interaction
local Interaction = MiscTab:NewSection({Name =
"Interaction"}); do
Interaction:Toggle({Name = "Instant interact", Flag =
"InstantInteract"});
Interaction:Toggle({Name = "Auto loot cash", Flag =
"InstantLootCash"});
Interaction:Toggle({Name = "Auto loot cards", Flag =
"InstantLootCards"});
Interaction:Toggle({Name = "Auto loot valuables", Flag
= "InstantLootValuables"});
end;
end;

do --// Teleports
--[[local Teleports = MiscTab:NewSection({Name =
"Teleports", Side = "Left"}); do
local Locations = GameFramework.Locations;
local List = Teleports:List({Name = "Location", Flag =
"Location", Options = {""}})
List:RemoveOption("")

for Index, Value in next, Locations do


List:AddOption(Index);
end;
Teleports:Button({Name = "Teleport", Callback =
function()
if Library.Flags.Location.Value then
Client.Character.HumanoidRootPart.CFrame =
CFrame.new(Locations[Library.Flags.Location.Value])
end;
end})
end;]]
end;
end;

do --// Settings tab


Library:AddSettingsTab(Window);
end;
do --// Playerlist tab
local Playerlist = Window:NewTab({Name = "Relations",
IsPlayerlist = true});
end;
end;
end;
Window:SetTab("Combat");
end;

Library:AddPreview("Visuals")

Library:ToggleMenu();
Library:ToggleMenu();
end;

do --// Init

do --// Run functions


if GameName == "Project Delta" then
GameFramework:New();
end;

GameFramework:RunCharacterFunctions();
end;

do --// Cache images


if GameName ~= "Fallen" then
local CacheTick = tick();
local HasFinishedArrows = false;
local HasFinishedIcons = false;

Library:Notify("Caching Images...", 1);


do --// Main caching
do --// Weapon icons
task.spawn(function()
local Total = 0;
for Index, Value in next, WeaponIcons do
task.spawn(function()
Total = Total + 1
local New = Instance.new("ImageLabel",
Visuals.ESPContainer);
New.Image = Value;
task.wait(3);
New:Destroy();
end);
end;
Library:Notify("Caching Weapon Icons...", 1);
task.wait(3);
Library:Notify("Finished Caching Weapon Icons..");
HasFinishedIcons = true;
end);
end;

do --// Arrows
Library:Notify("Caching ESP arrow images...");
task.spawn(function()
local Arrow = Instance.new("ImageLabel",
Visuals.ESPContainer); do
Arrow.Image = "http://www.roblox.com/asset/?
id=282305485";
task.wait(3);
Arrow.Image = "http://www.roblox.com/asset/?
id=15000587389";

task.wait(3);
Arrow:Destroy();
HasFinishedArrows = true;
end;

Library:Notify("Finished caching ESP arrow images");


end);
end;
end;

do --// Summary
task.spawn(function()
repeat task.wait() until HasFinishedArrows and HasFinishedIcons
local Time = math.floor(tick() - CacheTick);
Library:Notify("Image cache has finished")
end);
end;
end;
end;

do --// Modules
if getgenv and getgenv() then
getgenv().Ethereal = UsableModules;
end;
end;

do --// Obfuscation check/welcome


if LPH_OBFUSCATED then
Library:Notify("Welcome, "..LRM_LinkedDiscordID);
else
Library:Notify("You are in developer mode.", 2, Color3.fromRGB(255, 0,
0))
end;
end;

--// Finished!
end;

You might also like