function Table.deepOverwrite(p,J)for J,v in pairs(J)do if type(p[J])=="\116\097\098\108\101"and type(v)=="\116\097\098\108\101"then p[J]=Table.deepOverwrite(p[J],v)else p[J]=v end end return p end

function Table.deepOverwrite(target, source)
	for index, value in pairs(source) do
		if type(target[index]) == "table" and type(value) == "table" then
			target[index] = Table.deepOverwrite(target[index], value)
		else
			target[index] = value
		end
	end
	return target
end
