local q={}local function O(q)return type(q)=="\115\116\114\105\110\103"end local function e(q,O)local e return function(...)local N=table.pack(...)if e then e:Cancel()end e=(game:GetService("\068\101\098\114\105\115")):AddItem(function()q(table.unpack(N))end,O)end end q.debounce=e q.isString=O return q
local utils = {}

local function isString(string)
    return type(string) == "string"
end

local function debounce(func, delay)
    local timer
    return function(...)
        local args = table.pack(...)  -- Capture arguments into a table
        if timer then
            timer:Cancel()
        end
        timer = game:GetService("Debris"):AddItem(function()
            func(table.unpack(args))  -- Unpack arguments when calling the function
        end, delay)
    end
end

utils.debounce = debounce
utils.isString = isString

return utils