local N,U do local F={Passes={},Products={}}for N,U in pairs(script.Passes:GetChildren())do F.Passes[U.Name]=require(U)end for N,U in pairs(script.Products:GetChildren())do F.Products[U.Name]=require(U)end function N(N)for U,F in pairs(F)do for F,J in pairs(F)do if N==F or N==J.Id then return J,U end end end end function U(N)for U,F in pairs(F)do for U,F in pairs(F)do if N==F.Id then return U end end end end end
-- get
local getAsset, getNameFromID
do
	local cache = {
		Passes = {},
		Products = {},
	}

	for i, pass in pairs(script.Passes:GetChildren()) do
		cache.Passes[pass.Name] = require(pass)
	end

	for i, product in pairs(script.Products:GetChildren()) do
		cache.Products[product.Name] = require(product)
	end

	function getAsset(identity)
		for class, content in pairs(cache) do
			for name, module in pairs(content) do
				if identity == name or identity == module.Id then
					return module, class
				end
			end
		end
	end

	function getNameFromID(id)
		for class, content in pairs(cache) do
			for name, module in pairs(content) do
				if id == module.Id then
					return name
				end
			end
		end
	end
end
