local function S(S)if S==nil then S={}end return function(b)local l={}for S,b in pairs(S)do l[S]=b end if type(b)=="\116\097\098\108\101"then for S,b in pairs(b)do l[S]=b end end return l end end return{fields=S}

local function fields(defaults)
	if defaults == nil then
		defaults = {}
	end
	return function(input)
		local _object = {}
		for _k, _v in pairs(defaults) do
			_object[_k] = _v
		end
		if type(input) == "table" then
			for _k, _v in pairs(input) do
				_object[_k] = _v
			end
		end
		return _object
	end
end
return {
	fields = fields,
}
