var foo = (function ble() {
var name = "bar";
var obj = {};
obj.getName = function () {
return name;
};
obj.setName = function (newName) {
name = newName;
};
return obj;
}());
console.assert(foo.name, undefined);
console.assert(foo.getName(), "bar");
foo.setName("baz");
console.assert(foo.name, undefined);
console.assert(foo.getName(), "baz");
dmFyIGZvbyA9IChmdW5jdGlvbiBibGUoKSB7CiB2YXIgbmFtZSA9ICJiYXIiOwogdmFyIG9iaiA9IHt9OwoKIG9iai5nZXROYW1lID0gZnVuY3Rpb24gKCkgewogIHJldHVybiBuYW1lOwogfTsKCiBvYmouc2V0TmFtZSA9IGZ1bmN0aW9uIChuZXdOYW1lKSB7CiAgbmFtZSA9IG5ld05hbWU7CiB9OwoKIHJldHVybiBvYmo7Cn0oKSk7Cgpjb25zb2xlLmFzc2VydChmb28ubmFtZSwgdW5kZWZpbmVkKTsKY29uc29sZS5hc3NlcnQoZm9vLmdldE5hbWUoKSwgImJhciIpOwpmb28uc2V0TmFtZSgiYmF6Iik7CmNvbnNvbGUuYXNzZXJ0KGZvby5uYW1lLCB1bmRlZmluZWQpOwpjb25zb2xlLmFzc2VydChmb28uZ2V0TmFtZSgpLCAiYmF6Iik7