function* fibonacciGenerator() {
let x = 0,
y = 1;
while (true) {
yield x;
[x, y] = [y, x + y];
}
}
let fibGen = fibonacciGenerator();
console.log(fibGen.next().value);
console.log(fibGen.next().value);
console.log(fibGen.next().value);
console.log(fibGen.next().value);
console.log(fibGen.next().value);
console.log(fibGen.next().value);
ZnVuY3Rpb24qIGZpYm9uYWNjaUdlbmVyYXRvcigpIHsKICBsZXQgeCA9IDAsCiAgICB5ID0gMTsKCiAgd2hpbGUgKHRydWUpIHsKICAgIHlpZWxkIHg7CiAgICBbeCwgeV0gPSBbeSwgeCArIHldOwogIH0KfQoKbGV0IGZpYkdlbiA9IGZpYm9uYWNjaUdlbmVyYXRvcigpOwpjb25zb2xlLmxvZyhmaWJHZW4ubmV4dCgpLnZhbHVlKTsKY29uc29sZS5sb2coZmliR2VuLm5leHQoKS52YWx1ZSk7CmNvbnNvbGUubG9nKGZpYkdlbi5uZXh0KCkudmFsdWUpOwpjb25zb2xlLmxvZyhmaWJHZW4ubmV4dCgpLnZhbHVlKTsKY29uc29sZS5sb2coZmliR2VuLm5leHQoKS52YWx1ZSk7CmNvbnNvbGUubG9nKGZpYkdlbi5uZXh0KCkudmFsdWUpOwo=