, getOwnPropertyNames = Object.getOwnPropertyNames;
var error;
target = Object(value(target));
try {
defineProperty(target, name, getOwnPropertyDescriptor(source, name));
} catch (e) { error = e; }
});
if (error !== undefined) throw error;
return target;
};