local n={}local I={}local w={ID=0;Type="\084\101\120\116\066\117\116\116\111\110",Properties={TextSize=20;Font=Enum.Font.SourceSansSemibold;Name="\068\114\111\112\100\111\119\110\084\101\109\112\108\097\116\101",TextColor3=Color3.new(1,1,1);TextXAlignment=Enum.TextXAlignment.Left,Size=UDim2.new(1,0,0,36),BorderSizePixel=0,BackgroundColor3=Color3.new(.11372549019608,.11372549019608,.11764705882353)},Children={{ID=1,Type="\085\073\080\097\100\100\105\110\103";Properties={PaddingLeft=UDim.new(0,8)},Children={}}}}local function E(w,J)local Q=Instance.new(w.Type)if w.ID then local E=I[w.ID]if E then E[1][E[2]]=Q I[w.ID]=nil else n[w.ID]=Q end end for w,E in pairs(w.Properties)do if type(E)=="\115\116\114\105\110\103"then local J=tonumber(E:match("\094\095\082\058\040\037\119\043\041\095\036"))if J then if n[J]then E=n[J]else I[J]={Q,w}E=nil end end end Q[w]=E end for n,I in pairs(w.Children)do E(I,Q)end Q.Parent=J return Q end return function()return E(w,nil)end
local partsWithId = {}
local awaitRef = {}

local root = {
	ID = 0;
	Type = "TextButton";
	Properties = {
		TextSize = 20;
		Font = Enum.Font.SourceSansSemibold;
		Name = "DropdownTemplate";
		TextColor3 = Color3.new(1,1,1);
		TextXAlignment = Enum.TextXAlignment.Left;
		Size = UDim2.new(1,0,0,36);
		BorderSizePixel = 0;
		BackgroundColor3 = Color3.new(29/255,29/255,2/17);
	};
	Children = {
		{
			ID = 1;
			Type = "UIPadding";
			Properties = {
				PaddingLeft = UDim.new(0,8);
			};
			Children = {};
		};
	};
};

local function Scan(item, parent)
	local obj = Instance.new(item.Type)
	if (item.ID) then
		local awaiting = awaitRef[item.ID]
		if (awaiting) then
			awaiting[1][awaiting[2]] = obj
			awaitRef[item.ID] = nil
		else
			partsWithId[item.ID] = obj
		end
	end
	for p,v in pairs(item.Properties) do
		if (type(v) == "string") then
			local id = tonumber(v:match("^_R:(%w+)_$"))
			if (id) then
				if (partsWithId[id]) then
					v = partsWithId[id]
				else
					awaitRef[id] = {obj, p}
					v = nil
				end
			end
		end
		obj[p] = v
	end
	for _,c in pairs(item.Children) do
		Scan(c, obj)
	end
	obj.Parent = parent
	return obj
end

return function() return Scan(root, nil) end