We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
// original code // (beautified) var _calls_ = 10, a = 100, b = 10, c = 0; function f0(await_1) { switch ((c = c + 1) + delete (-1 << NaN <= 1 + 1 !== (5 + "number" || (await_1 = -0 >>> "foo")))) { case --b + [ --b + { c: --b + (/[abc4]/.test(((c = c + 1) + --b || b || 5).toString()) || 2).toString()[~a], b: --b + ("a" in [ --b + b++ ]), 1.5: typeof { then: a++ + {}.var, c: (c = c + 1) + { set: (c = 1 + c, "object" * -2 == (true & {}) ^ void -5), foo: (c = 1 + c, null % 2 + (null ^ 25) ^ ([] >>> 38..toString() ^ (await_1 && (await_1.undefined = Number(0xdeadn << 16n | 0xbeefn) > -3)))) }[c = 1 + c, 23..toString() === Infinity & (-2 & Number(0xdeadn << 16n | 0xbeefn)) || (await_1 += this << null <= (await_1 && ([ await_1[c = 1 + c, (c = c + 1, "" & "b") & ([] ^ this) < ([ , 0 ].length === 2) >>> "b"] ] = [ "number" !== [] ])))], in: -b, then: a++ + (1 === 1 ? a : b) }.in, Infinity: { next: typeof await_1 == "function" && --_calls_ >= 0 && await_1(), [0]: ((await_1 && ({ c: await_1[c = 1 + c, +38..toString() < (c = c + 1, 25) < (null != "foo" ^ "undefined" < this)] } = { c: 5 >> -1 })) <= (-5 > "number")) / (null == "bar" ^ "b" !== "undefined"), 3: --b + (await_1 && typeof await_1.value == "function" && --_calls_ >= 0 && (-4, await_1.value)(-4, 25, (c = 1 + c, -("number" || NaN) | (await_1 && (await_1[(c = c + 1) + { 3: (c = 1 + c, (await_1 && (await_1[c = 1 + c, await_1 = -(-4 / "undefined") == (undefined >>> -3 ^ true !== [ , 0 ][1])] += -3 <= 4) || 22 & false) * (+"c" && this !== 1)) }.get] += (-0 && "undefined") >= "number" + -0))))), foo: { ...(c = 1 + c, await_1 += null + this >> ([] >> -5) & ("" | 22) * (-0 < 3)) }.c, 3: (c = c + 1) + (typeof f2 == "function" && --_calls_ >= 0 && f2(-0)) }[typeof await_1 == "function" && --_calls_ >= 0 && await_1`${c = 1 + c, !((5 > []) >>> ("b" >= Infinity))}${c = 1 + c, await_1 && (await_1[typeof await_1 == "function" && --_calls_ >= 0 && await_1((c = 1 + c, await_1 && (await_1.a *= (delete 22 | "b" / "bar") >>> (-4 >>> "b" != ([ , 0 ].length === 2 && Infinity)))), (c = 1 + c, "foo" / -3 | [] - this || ({} || -0) % (await_1 += 0 || -3)))] = (24..toString() + [] & 3 != false) !== (await_1 && (await_1[[]] += -4 % "b" << (23..toString() >>> Infinity))))}tmpl${c = 1 + c, ((await_1 && (await_1[c = 1 + c, (1 - -1 === 4 - 25) >>> (await_1 && (await_1[c = 1 + c, ({} / 38..toString() >= false + !0o644n) + (undefined - "a" !== (38..toString() !== 2))] = this << this) && 2 ** "b")] ^= 0 >= "undefined")) >= ("b" | "bar")) >>> "undefined" % "function" % (false >= "")}${c = 1 + c, (await_1 && (await_1[delete (("bar" < -0) >> 22 + NaN ^ -5 + {} === ~25)] += 2 | NaN | NaN - this)) / ((2 | "foo") ^ (25 ^ 4))}`] } ][a++]: L13520: for (var brake2 = 5; await_1 && brake2 > 0; --brake2) {} break; case !function() { try { try { if (((b = a) || a || 3).toString()) { var bar_1; } } catch (NaN_2) { var arguments_2 = /[abc4]/.test((function await() { } || b || 5).toString()); } } finally { { var NaN_2 = function f1(a, bar_2, bar_1) {}(a++ + a++, null); } L13521: { break L13521; { var expr13 = --b + -b; L13522: for (var key13 in expr13) { c = 1 + c; var foo_1 = expr13[key13]; { } } } { c = 1 + c, (-5 == "c") * ("foo" > this) + (NaN_2 && (NaN_2.next += (undefined ^ "object", -Number(0xdeadn << 16n | 0xbeefn)))); } } } switch (new function(undefined) { { var expr18 = a++ + [ (c = 1 + c, (0 == 23..toString(), -2 >>> 0) / ((-0 !== 38..toString()) / ((-42n).toString() + 2))) ]; for (var key18 in expr18) { c = 1 + c; var b_1 = expr18[key18]; { var await_1 = function f2(c_1, foo_1) { }("object"); } } } }()) { case --b + function() { var bar_2 = /[abc4]/g.exec((bar_2 && typeof bar_2.b == "function" && --_calls_ >= 0 && bar_2.b("foo", "") || b || 5).toString()), b = --b + (23..toString() in { [(c = 1 + c, (23..toString() !== 38..toString()) % (this | null) || ([ , 0 ].length === 2 && NaN) % ("function" << 24..toString()))]: (c = 1 + c, c = c + 1, (bar_2 = Infinity & [ , 0 ][1]) >= this * "bar") }); }: break; case bar_1: { var brake21 = 5; L13523: while (typeof await_1 == "function" && --_calls_ >= 0 && await_1(typeof bar_1 != "crap", a++ + (b = a)) && --brake21 > 0) {} } { L13524: for (var brake24 = 5; { Infinity: (c = 1 + c, 5 << "object" << (NaN < -1) <= (0 ^ 2 | null ^ 3)) } && brake24 > 0; --brake24) { var expr25 = (c = 1 + c, bar_1 && (bar_1.foo = "bar" < 38..toString() ^ ("function" ^ 22) | (this | "c") << (23..toString() << false))); for (var key25 in expr25) { c = 1 + c, (/[a2][^e]+$/ || null) % (3 && 2) + (("function" ^ undefined) !== (-2 == -5)); } } c = 1 + c, (c = c + 1, -5, 24..toString() && 4) || (bar_1 = (await_1 && ([ await_1.get ] = [ 4 / -5 ])) === [ , 0 ][1] << /[a2][^e]+$/); } break; case --b + await_1: switch (function(foo) { switch (c = 1 + c, (24..toString() == NaN) * (c = c + 1, false) ^ (~-3, "bar" - 24..toString())) { default: ; case c = 1 + c, (-3 > 1 && "undefined" <= 25) ^ (foo && (foo[a++ + bar_1] -= -2 !== 38..toString() | 22 == 23..toString())): ; break; case c = 1 + c, bar_1 && (bar_1.b /= (bar_1 && (bar_1[c = 1 + c, (await_1 && (await_1.done = {} === {} === (await_1 *= "" || 22))) == (-0 >> ([ 3n ][0] > 2) & 2 - true)] += 25 !== 1)) != -2 + -2 ^ ~false >= (/[a2][^e]+$/ ^ /[a2][^e]+$/)): ; break; case c = 1 + c, (+1 && (bar_1 && (bar_1[c = 1 + c, (4 == ([ , 0 ].length === 2) & /[a2][^e]+$/ >>> []) - ("c" != -1 !== (3 ^ -3))] = ([ , 0 ].length === 2) << 4))) - (delete [] == 22 >>> 3): ; break; } var foo = (c = 1 + c, [ , 0 ][1] <= ([ , 0 ].length === 2) != ([ , 0 ].length === 2) + 22 === ("b" || -5) >= ("a" ^ [])); }) { case (c = c + 1) + { ...await_1 }[/[abc4]/g.exec((a++ + (0 === 1 ? a : b) || b || 5).toString())]: return bar_1 && typeof bar_1.null == "function" && --_calls_ >= 0 && bar_1.null((c = 1 + c, bar_1 && (bar_1.next = 4 / 1 + (1 != 5) != (bar_1 = "function" * 25 / +3)))); break; case 1 === 1 ? a : b: break; case +function a_1() { { var brake33 = 5; while ((c = 1 + c, (-1 | "bar") * (22 ^ undefined) || 5 % "bar" ^ this * "undefined") && --brake33 > 0) { c = 1 + c, 38..toString() << "bar" === undefined + 4 == (-3 || "object") % (22, -3); } } }(): break; case (c = c + 1) + --b: try { c = c + 1; } catch (async) { c = 1 + c, (async && (async.async >>= [] > -5)) << 3 * true !== !(([ , 0 ].length === 2) * this); c = 1 + c, {} > "foo" < (1 != 25) < 23..toString() >> 22 << ([ , 0 ].length === 2 != 25); } finally { c = 1 + c, (await_1 && (await_1[(c = c + 1) + (([ , 0 ].length === 2) in [])] %= ([ , 0 ].length === 2 | "a") & 24..toString() % -3)) + (false === 22) % (true < 1); c = 1 + c, (await_1 /= 38..toString() << 2) - ("function" >> "foo") >= (bar_1 && (bar_1.a += [] - "b" >>> (await_1 && (await_1.b = 22 / "function")))); c = 1 + c, ((c = c + 1, 1) >= 4 >> 38..toString()) << (null >= 24..toString() != 23..toString() >= "bar"); } break; } c = c + 1; break; case --b + (b = a) ? a-- : b += a: ; { var brake44 = 5; L13525: do { c = c + 1; } while ((c = c + 1) + delete (!"b" === (await_1 && ({ "\t": await_1.async } = { "\t": 22 ^ Number(0xdeadn << 16n | 0xbeefn) })) === ("b" - true & 2 * "a")) && --brake44 > 0); } for (var brake46 = 5; typeof f1 == "function" && --_calls_ >= 0 && f1() && brake46 > 0; --brake46) { var brake47 = 5; while (--b + ("foo" in { await_1: await_1, length: (c = 1 + c, (25 === -2 ^ !Number(0xdeadn << 16n | 0xbeefn)) % ("foo" / NaN < ("number" ^ null))), [(c = 1 + c, ("c" ^ "undefined") >= (22 || 3) === ((c = c + 1, 25) ^ [ 3n ][0] > 2 & false))]: (c = 1 + c, (NaN / "object" & "bar" > 22) + (23..toString() <= "a" !== 25 * null)), set: (c = 1 + c, ("c", -2) > (23..toString() != ([ , 0 ].length === 2)) ^ 2 == false == (bar_1 ^= "number" ^ null)) }) && --brake47 > 0) { var brake48 = 5; do { for (var brake49 = 5; (c = 1 + c, (void 22 & ("object" ^ [ , 0 ][1])) >>> (25 >= -2 != (-3 | -5))) && brake49 > 0; --brake49) { c = 1 + c, (38..toString() === "foo") >> (Infinity >= -0) && (this && []) !== (38..toString() != "b"); } } while (bar_1 && --brake48 > 0); } } break; } try { c = c + 1; } finally { switch ((2 === -0) < (undefined && -5) ^ 23..toString() * 5 !== (/[a2][^e]+$/, "function")) { default: c = c + 1; c = c + 1; if (a++ + a++) {} else { var b_2; } case a++ + { a: ((4 <= "foo") - ("number" && [])) % (-0 + this || "foo" === false) }: { var brake59 = 5; L13526: while (-5 in { async: (c = 1 + c, delete (b_2 && (b_2.Infinity = 0 * 23..toString() * (false < -2)))), 1.5: (c = 1 + c, (-2 == 25) <= [] >>> 2 ^ (0 !== 0) * (24..toString() && 38..toString())), async: (c = 1 + c, (undefined && []) !== void this != (undefined & 3 ^ -3 < "number")), static: (c = 1 + c, (c = c + 1, [ , 0 ][1] - 38..toString()) != ((c = c + 1, /[a2][^e]+$/) !== (5 && "object"))) } && --brake59 > 0) { c = c + 1; } } break; case await_1: try { for (var brake62 = 5; (c = 1 + c, (24..toString() != ([ , 0 ].length === 2)) % (c = c + 1, 22) << (true * 2 < -0 >> 23..toString())) && brake62 > 0; --brake62) { c = 1 + c, (3 << 38..toString() | "c" >> 38..toString()) * ((22 | 2) / (4 >> undefined)); } } catch (bar_1) { c = 1 + c, ({} ^ 0) * ("undefined" == 23..toString()) || "number" * {} == -3 << 5; c = 1 + c, bar_1 && (bar_1[(c = c + 1) + a--] += ([] != -2 && (-2 || false)) >= (bar_1 && (bar_1.b |= "number" >= null <= (bar_1 && (bar_1[c = 1 + c, (-3, NaN) === 5 - [] ^ (bar_1 && (bar_1.get += (c = c + 1, false) ^ 25 > "a"))] |= [ , 0 ][1] ^ null))))); } finally { c = 1 + c, (/[a2][^e]+$/ === {}) - (22 || "function") <= (-4 === 22 !== +"undefined"); } try { c = c + 1; } catch (arguments) { c = 1 + c, ((c = c + 1, Infinity) ^ /[a2][^e]+$/ * 23..toString()) <= (this >> ([ , 0 ].length === 2) != this > []); c = 1 + c, c = c + 1, 3 > "c" && (4 && ""); c = 1 + c, ("b" < ([ 3n ][0] > 2) > undefined << "bar") % ("b" < null ^ 1 > null); } (c = c + 1) + (("b" | null && 0 + this) != (-4 | 5) > (-5, NaN)); break; case this: return; break; } } }(): ; try { { var brake76 = 5; while ((c = c + 1) + ([ , 0 ][1] || a || 3).toString() && --brake76 > 0) { L13527: { for (var brake78 = 5; /[abc4]/g.exec(((c = c + 1) + function b_1() { }() || b || 5).toString()) && brake78 > 0; --brake78) { var brake79 = 5; while (--b + ((c = 1 + c, Infinity / -1 - (c = c + 1, -4) <= ([] % -3 < 22 << 24..toString())) || a || 3).toString() && --brake79 > 0) { var brake80 = 5; do { c = 1 + c, ((4, true) ^ 2 === -0) != ("c" & 3) / (!0o644n * 24..toString()); } while ((c = 1 + c, +{} / (1 > 5) & undefined <= /[a2][^e]+$/ === (38..toString() | "c")) && --brake80 > 0); } } } } } } catch (c_2) { return typeof f3 == "function" && --_calls_ >= 0 && f3(); try { { { var brake85 = 5; L13528: while (/[abc4]/.test(((c = 1 + c, ("bar" / this << (-2 ^ 2)) / ("" !== -3 && -4 !== "number")) || b || 5).toString()) && --brake85 > 0) { try { c = 1 + c, (-3 || 5) == 3 >= "function" && ("" || 1) === 3 >> [ , 0 ][1]; } catch (c_2) { } finally { } } } } } catch (yield_1) { { var brake88 = 5; L13529: do { c = c + 1; } while ((c = c + 1) + !([] << 25 !== ("bar" == NaN) !== "number" % 23..toString() % ("foo" <= [ , 0 ][1])) && --brake88 > 0); } for (var brake90 = 5; await_1 && await_1[a++ + delete (c_2 >>= ([ , 0 ][1] <= -3) % (Infinity < -0) == (0 ^ true) * (false !== []))] && brake90 > 0; --brake90) { var a_1 = function f3(yield, bar) { }("function"); } } finally { switch ([ (c = 1 + c, (null === NaN) % (0 === "c") | + -4 / (23..toString() ^ 5)), (c = 1 + c, (25 < Infinity != ("bar" != "a")) >= (undefined === false ^ ("b" | 24..toString()))) ].then) { case await_1 && await_1.foo: var b_2 = (c = 1 + c, (yield_1 && (yield_1[/[abc4]/.test(((c = 1 + c, (c_2 >>= 25 !== 23..toString() & (undefined ^ "bar")) < ("b" - "object", null <= "number")) || b || 5).toString())] = NaN / Infinity % ("number" <= -5))) / ((yield_1 = -2 || "undefined") / (22 < "undefined"))), yield_1 = (c = 1 + c, delete ("c" >= undefined == 4 >> 2)); default: for (var brake94 = 5; (c = 1 + c, ((-4 && /[a2][^e]+$/) == (await_1 && (await_1.a >>= false / 0))) + (c = c + 1, "undefined" || -5)) && brake94 > 0; --brake94) { c = 1 + c, (b_2 && (b_2.value **= "b" + 23..toString() > (-2 ^ NaN))) / (/[a2][^e]+$/ / "foo" ^ (null || 0)); } case "c": try { c = 1 + c, (await_1 = 4 in true) != (b_2 && (b_2[c = 1 + c, (Infinity > this & ("a", [ , 0 ][1])) % ((yield_1 >>>= 38..toString() >> Infinity) && false < -4)] >>>= 23..toString() >> "object")), Infinity % ([ , 0 ].length === 2) > (Infinity ^ /[a2][^e]+$/); } catch (Infinity) { } finally { } switch (c = 1 + c, yield_1 += ("a" == ([ , 0 ].length === 2)) % (0 != 1) ^ ~[ , 0 ][1] + ("" & null)) { case c = 1 + c, b_2 && (b_2[--b + b_2] /= ("a" === 24..toString()) << (4 <= 38..toString()) === ((b_2 && (b_2[c = 1 + c, ((c = c + 1, NaN) < (2 < /[a2][^e]+$/)) << (void "c" !== ("number" !== 4))] |= "a" & -5)) != true + -4)): ; break; default: ; case c = 1 + c, ("" || -5) < (true == "b") || "" !== /[a2][^e]+$/ & "bar" != "a": ; break; case c = 1 + c, (-2 < -5) >> (c = c + 1, "foo") > (3 === -2) << (undefined & NaN): ; break; } { return c = 1 + c, await_1 && (await_1.null = (([ , 0 ].length === 2 || "") | (await_1 && (await_1.value %= 4 && "bar"))) == (true ^ true ^ "function" > /[a2][^e]+$/)); } break; case --b + /[abc4]/.test((--b + (await_1 >>>= ("function" > /[a2][^e]+$/) << "b" % 2) / ((-5 != this) <= (-3 | "object")) || b || 5).toString()): break; } switch (--b + (await_1 && await_1.c)) { case "undefined" in [ (c = 1 + c, c = c + 1, ~false ^ 4 * 2) ]: break; case typeof f4 == "function" && --_calls_ >= 0 && f4((c = 1 + c, (c = c + 1, [ , 0 ][1] >>> "") !== (38..toString() & "number") + (25 | this)), (c = 1 + c, -0 << 24..toString() == (c = c + 1, -2) | (Number(0xdeadn << 16n | 0xbeefn) || 1) / (3 << -1)), (c = 1 + c, delete "number" ^ "object" + -4 ^ (-1 !== -0) >>> (2 != 2))): try { c = 1 + c, ("object" !== "foo" != (c = c + 1, 22)) <= ("function" <= "a" !== (25 ^ 1)); } catch (a_1) { } finally { } break; case --b + ([ (c = 1 + c, (yield_1 && (yield_1[--b + b++] %= (Infinity || 22) < (/[a2][^e]+$/ | -4))) << ("function" > "number" || 4 == [ , 0 ][1])) ].set || 2).toString()[typeof (c = 1 + c, (38..toString() / 1 || 24..toString() * [ , 0 ][1]) != (await_1 && (await_1[c = 1 + c, yield_1 = (3 << -2 && undefined > [ , 0 ][1]) / (-3 % "b", 23..toString() + -5)] **= (38..toString(), 2))) ** ("number" << 24..toString()))]: { var brake103 = 5; L13530: do { c = 1 + c, (c_2 && (c_2.next = (c = c + 1, true) < (undefined != "object"))) & "c" < "foo" != (0 != -1); } while ((c = 1 + c, b_2 && (b_2.set = ([ , 0 ].length === 2 !== NaN) >= (24..toString() >= -5)), (3, "number") << ("" << "bar")) && --brake103 > 0); } break; case yield_1: break; } } } finally { if ({}.a) { switch (--b + (typeof await_1 == "function" && --_calls_ >= 0 && await_1(22))) { case [ , 0 ][1]: break; case a++ + /[abc4]/.test((--b + (typeof await_1 == "function" && --_calls_ >= 0 && await_1((c = 1 + c, (c = c + 1, 24..toString()) !== 23..toString() - "b" === ("" || "object") - (25 - "object")), NaN)) || b || 5).toString()): c = c + 1; break; case { set: (c = c + 1) + await_1, Infinity: --b + a++, 1.5: --b + (5 in { then: (c = 1 + c, Infinity + "foo" << ("c" ^ -0) <= ("undefined" == /[a2][^e]+$/) >>> (2 > "b")), foo: (c = 1 + c, ([ , 0 ][1] * /[a2][^e]+$/ | (c = c + 1, /[a2][^e]+$/)) & (2 ^ null) >= ("c" & "a")) }), NaN: (c = c + 1) + (typeof await_1 == "function" && --_calls_ >= 0 && await_1()) }.c: for (var brake108 = 5; void a && brake108 > 0; --brake108) { return; c = 1 + c, await_1 && ([ await_1[--b] ] = [ "number" <= -5 >= ("b" > -4) >= (23..toString() || "object") >> (1 >>> "function") ]); } if (--b + (typeof f4 == "function" && --_calls_ >= 0 && f4(..."" + await_1, (c = 1 + c, "foo" - NaN != -2 >= NaN && (await_1 && ({ [(c = 1 + c, ("bar" == -4 || -2 + this) * (-0 > "foo" < (Infinity < "number")))]: await_1.a } = { Infinity: NaN & 3 })) % (await_1 = 2 % this))))) { var expr111 = (c = 1 + c, await_1 && (await_1[a++ + [ (c = 1 + c, (2 || 3) !== (await_1 && (await_1.async |= 4 & "object")) != (await_1 && (await_1.in = ("foo" - "", await_1 && ({ 1.5: await_1[c = 1 + c, 4 >> 23..toString() ^ "bar" == Infinity | (25 ^ "object") < 2 * "bar"] } = { 1.5: null * 3 }))))) ]] += ("c" * 23..toString() > !0o644n << 4) << ((c = c + 1, "foo") << (22 > 0)))); L13531: for (var key111 in expr111) { c = 1 + c, (true - -3 ^ ~true) === (NaN * Number(0xdeadn << 16n | 0xbeefn) === 1 > [ , 0 ][1]); } } return (c = c + 1) + a++; break; case typeof f1 == "function" && --_calls_ >= 0 && f1(/[abc4]/.test(((c = 1 + c, ((true && 5) !== "undefined" - 24..toString()) <= (-4, 25) - ("object" ^ "a")) || b || 5).toString())): try { { var brake115 = 5; L13532: while ((c = 1 + c, ("undefined" >= -3) % ({} >>> 4) % ("c" % -5 <= (c = c + 1, -2))) && --brake115 > 0) { c = 1 + c, (-0 >>> {} !== [] * "undefined") < (-0 ^ "function" && "function" == 5); } } } finally { c = 1 + c, ("object" - "" ^ (await_1 += [] !== 25)) % (false << "" !== "foo" <= 24..toString()); c = 1 + c, (([ , 0 ].length === 2) << NaN & -1 * "bar") <= ((/[a2][^e]+$/ & 1) < (/[a2][^e]+$/ !== true)); c = 1 + c, (await_1 = false / 25 >>> (null > "a")) || (await_1 += 38..toString() % {}) * (5 && null); c = 1 + c, c = c + 1, "c" >= "a" !== -4 << "object"; c = 1 + c, ((await_1 |= ("c", 1)) && (await_1 && (await_1.done /= null <= -5))) ^ ("a" || "b") * (25 > "b"); } break; } } else { try { var foo; } catch (b_1) { if (typeof (c = 1 + c, (("function", [ , 0 ][1]) == "c" * 25) < (b_1 && (b_1.set += ("", -5) ** (4 && true))))) { switch (c = 1 + c, -1 / /[a2][^e]+$/ % (NaN != "a") ^ null - "a" - "object" / -1) { default: ; case c = 1 + c, c = c + 1, -4 + 24..toString() == 0 >> true: ; break; case c = 1 + c, (22 ^ "object") / ("foo" >> "number") <= ("bar" >= "") << "" - "number": ; break; case c = 1 + c, (foo && (foo[{ done: (c = 1 + c, !(foo += (b_1 = "c" >= -4) - ("undefined" == ([ , 0 ].length === 2)))) }] = /[a2][^e]+$/ ^ true && null != [ , 0 ][1])) ** (3 * -5 > -0 << -5): ; break; } } else { c = 1 + c, (-2 / -3 && (-5 || -4)) >>> void ({} ^ 2); } try { } catch (await_1) { c = 1 + c, +("number" || NaN) > "bar" % ([ , 0 ].length === 2) << ("object" != []); } finally { c = 1 + c, foo += "b" - -5 | (foo && ({ "-2": foo.Infinity } = { "-2": 22 == "a" })) | ([ , 0 ][1] ^ 4) >>> (foo && (foo.done += "c" << 1)); c = 1 + c, (c = c + 1, "function") || "a" ^ undefined || (5 | "") >> (false !== -0); c = 1 + c, ((c = c + 1, -0) <= (5 & 2)) * (this * 0 + ("c" > 1)); } if (b = a) { var async; } else { break; } } finally {} } } case --b + +function b_2() { }(): c = c + 1; break; case --b + (typeof f1 == "function" && --_calls_ >= 0 && f1(a++ + (b &= a), (c = c + 1) + [ --b + (await_1 && typeof await_1.b == "function" && --_calls_ >= 0 && await_1.b(...[ --b + (b + 1 - .1 - .1 - .1), this, "object" in {} ], 22)), await_1 && typeof await_1.foo == "function" && --_calls_ >= 0 && await_1.foo(), [], +b, (c = c + 1) + ({ 3: await_1 = (await_1 += (-0 && "") << (25 !== false)) & ("c" ^ "undefined") > -4 + ([ , 0 ].length === 2), Infinity: !(await_1 = ("a" >>> "foo" & "b" !== 1) - ({} < -4 != ("b" === ([ , 0 ].length === 2)))), [a++ + ("foo" in [ (c = 1 + c, await_1 && (await_1.done ^= (true >>> Infinity || this & 25, [ , 0 ][1] * -4 === /[a2][^e]+$/ <= "c"))), (c = 1 + c, (await_1 += ~([ , 0 ].length === 2) === (true != 0)) !== (true < false == ([ , 0 ].length === 2 !== "c"))) ])]: new function bar_1(a_2) { }(), then: (c = c + 1) + (await_1 && await_1.in), get: a++ + ("function" in [ (c = 1 + c, void ("undefined", false) << ((await_1 && (await_1.foo ^= 5 * "undefined")) != "object" - this)), (c = 1 + c, (1 + 0 || await_1 && (await_1.static = this % 1)) != 22 - ([ 3n ][0] > 2) + ([ , 0 ][1], "function")) ]) } || 8).toString()[/[abc4]/g.exec(((("bar" & "a") * (null / NaN), true / "object" !== ("foo" & "c")) || b || 5).toString())] ][--b + (25 in { next: a++ + (await_1 && await_1.value) })], (c = c + 1) + (--b + (typeof await_1 == "function" && --_calls_ >= 0 && await_1`${typeof await_1 == "function" && --_calls_ >= 0 && await_1()}${await_1 && await_1[[ (c = 1 + c, await_1 += (await_1 = true & "") << (await_1 && (await_1.undefined = 25 !== 5)) | (3 / 3 | (await_1 && (await_1.c <<= -0 << -4)))) ].value]}}`) || a || 3).toString())): if ([ , --b + false, b = a, [ --b + delete a ], --b + /[abc4]/g.exec((typeof b_1 == "number" || b || 5).toString()) ]) { var brake139 = 5; do { { var brake140 = 5; while (--b + (typeof f2 == "function" && --_calls_ >= 0 && f2()) && --brake140 > 0) { return --b + (0 === 1 ? a : b); } } } while ((c = c + 1) + (await_1 = /[abc4]/.test(((1 in [ (c = 1 + c, (5 * "bar", "b" % 0) <= (1, [ , 0 ][1]) % (25 <= /[a2][^e]+$/)), (c = 1 + c, true >= 4 <= (await_1 && (await_1.then += NaN ^ false)) && (await_1 && ([ await_1.async ] = [ 38..toString() != -2 ])) | ([ , 0 ].length === 2 | "c")) ] || a || 3).toString() || b || 5).toString())) && --brake139 > 0); } else { return --b + (typeof b == "unknown"); } break; } /[abc4]/.test(([ , 0 ][1] >>> 24..toString() != (-4, "c") == ("undefined" <= Infinity) - (38..toString() ^ 2) || b || 5).toString()); } var let_2 = f0(); console.log(null, a, b, c, Infinity, NaN, undefined);
// uglified code // (beautified) var _calls_ = 10, a = 100, b = 10, c = 0; function f0(y) { switch ((c += 1) + !0) { case --b + [ --b + { c: --b + (/[abc4]/.test(((c += 1) + --b || b || 5).toString()) || 2).toString()[~a], b: --b + ("a" in [ --b + b++ ]), 1.5: typeof [ a++, (c = 1 + (c = 1 + (c += 1)), y && (y.undefined = -3 < +("" + (0xdeadn << 16n | 0xbeefn))), c = 1 + c, -2 & +("" + (0xdeadn << 16n | 0xbeefn)) & !1 || (y += this << null <= (y && ([ y[c = 1 + c, c += 1, 0 & ([] ^ this) < (2 === [ , 0 ].length) >>> "b"] ] = [ !0 ])))), -b, a++ ][2], Infinity: { next: "function" == typeof y && 0 <= --_calls_ && y(), [0]: +((y && ({ c: y[c = 1 + c, 38 < (c += 1, 25) < (!0 ^ "undefined" < this)] } = { c: 0 })) <= !1), 3: --b + (y && "function" == typeof y.value && 0 <= --_calls_ && (0, y.value)(-4, 25, (c = 1 + c, NaN | (y && (y[(c += 1) + { 3: (c = 1 + c, NaN * (y && (y[c = 1 + c, y = !1] += !0) || 0)) }.get] += !1))))), foo: { ...(c = 1 + c, y += null + this >> 0 & 22) }.c, 3: (c += 1) + ("function" == typeof f2 && 0 <= --_calls_ && f2(-0)) }["function" == typeof y && 0 <= --_calls_ && y`${c = 1 + c, !1}${c = 1 + c, y && (y["function" == typeof y && 0 <= --_calls_ && y((c = 1 + c, y && (y.a *= 1 >>> (-4 >>> "b" != (2 === [ , 0 ].length && 1 / 0)))), (c = 1 + c, NaN | [] - this || {} % (y += -3)))] = 0 !== (y && (y[[]] += 0)))}tmpl${c = 1 + c, (0 <= (y && (y[c = 1 + c, !1 >>> (y && (y[c = 1 + c, (!1 + !0o644n <= NaN) + !0] = this << this) && NaN)] ^= !1))) >>> NaN}${c = 1 + c, (y && (y[!0] += 2 | NaN - this)) / 31}`] } ][a++]: for (var n = 5; y && 0 < n; --n) {} break; case !function() { try { try { var t; ((b = a) || a || 3).toString(); } catch (c) {} } finally { a++, a++; } switch (new function(n) { for (var t in a++ + [ (c = 1 + c, 4294967294 * ("" + -42n + 2)) ]) { c = 1 + c; } }()) { case --b + function() { c = 1 + (c = 1 + c), c += 1; }: break; case t: for (var n = 5; "function" == typeof y && 0 <= --_calls_ && y("crap" != typeof t, a++ + (b = a)) && 0 < --n; ) {} for (var e, f = 5; c = 1 + c, 0 < f; --f) { for (e in c = 1 + c, t && (t.foo = 22 | ("c" | this) << 23)) { c = 1 + c; } } c = 1 + c, c += 1; break; case --b + y: switch (function(n) { switch (c = 1 + c, 0) { default: case c = 1 + (c += 1), !1 ^ (n && --n[a++ + t]): case c = 1 + c, t && (t.b /= -4 != (t && (t[c = 1 + c, (y && (y.done = !1 === (y *= 22))) == (-0 >> (2 < 3n) & 1)] += !0)) ^ !1): case c = 1 + c, (t && (t[c = 1 + c, (4 == (2 === [ , 0 ].length) & 0) - !0] = (2 === [ , 0 ].length) << 4)) - !1: } c = 1 + c; }) { case (c += 1) + { ...y }[/[abc4]/g.exec((a++ + b || b || 5).toString())]: return t && "function" == typeof t.null && 0 <= --_calls_ && t.null((c = 1 + c, t && (t.next = 5 != (t = NaN)))); case a: break; case function() { for (var a = 5; c = 1 + c, 0 < --a; ) { c = 1 + c; } }(), (c += 1) + --b: try { c += 1; } catch (a) { c = 1 + c, a && (a.async >>= !0), c = 1 + c; } finally { c = 1 + c, y && (y[(c += 1) + ((2 === [ , 0 ].length) in [])] %= 0 & (2 === [ , 0 ].length | "a")), c = 1 + c, y /= 152, t && (t.a += NaN >>> (y && (y.b = NaN))), c = 1 + c, c += 1; } } c += 1; break; case --b + (b = a) ? a-- : b += a: for (var o = 5; (c = c + 1 + 1) + (y && ({ "\t": y.async } = { "\t": 22 ^ +("" + (0xdeadn << 16n | 0xbeefn)) }), !0) && 0 < --o; ) {} for (var i = 5; "function" == typeof f1 && 0 <= --_calls_ && f1() && 0 < i; --i) { for (var l = 5; --b + ("foo" in { await_1: y, length: (!1 ^ !+("" + (0xdeadn << 16n | 0xbeefn))) % !1, [(c = 1 + (c = 1 + c), !1 === (25 ^ 2 < 3n & !1))]: 1, set: (c = 1 + (c = 1 + (c += 1)), ("23" != (2 === [ , 0 ].length)) < -2 ^ 0 == (t ^= 0)) }) && 0 < --l; ) { for (var r = 5; c = 1 + c, t && 0 < --r; ) {} } } } try { c += 1; } finally { switch (1) { default: c = c + 1 + 1, a++, a++; case a++ + { a: 0 % (-0 + this || !1) }: for (var s = 5; -5 in { async: !1, 1.5: 1, static: -38 != ("object" !== (c = (c = 1 + (c = 1 + (c = 1 + (c = 1 + c)))) + 1 + 1, /[a2][^e]+$/)) } && 0 < --s; ) { c += 1; } break; case y: try { for (var u = 5; c = 1 + c, ("24" != (2 === [ , 0 ].length)) % (c += 1, 22) << !1 && 0 < u; --u) { c = 1 + c; } } catch (t) { c = 1 + (c = 1 + c), t && (t[(c += 1) + a--] += (t && (t.b |= !1 <= (t && (t[c = 1 + c, !1 ^ (t && (t.get += !1 ^ (c += 1, !1)))] |= 0)))) <= -2); } finally { c = 1 + c; } try { c += 1; } catch (arguments) { c = 1 + c, c = 1 + (c += 1), c = 1 + (c += 1); } c += 1; break; case this: return; } } }(): try { for (var t = 5; (c += 1) + (a || 3).toString() && 0 < --t; ) { for (var e = 5; /[abc4]/g.exec(((c += 1) + void 0 || b || 5).toString()) && 0 < e; --e) { for (var f = 5; --b, c = 1 + c, c += 1, 0 < --f; ) { c = 1 + (c = 1 + c); } } } } catch (c) { return "function" == typeof f3 && 0 <= --_calls_ && f3(); } finally { if ({}.a) { switch (--b + ("function" == typeof y && 0 <= --_calls_ && y(22))) { case 0: break; case a++ + /[abc4]/.test((--b + ("function" == typeof y && 0 <= --_calls_ && y((c = 1 + c, NaN !== (c += 1, "24") === NaN), NaN)) || b || 5).toString()): c += 1; break; case { set: (c += 1) + y, Infinity: --b + a++, 1.5: --b + (5 in { then: (c = 1 + c, !0), foo: (c = 1 + c, !0 & (NaN | (c += 1, /[a2][^e]+$/))) }), NaN: (c += 1) + ("function" == typeof y && 0 <= --_calls_ && y()) }.c: if (--b + ("function" == typeof f4 && 0 <= --_calls_ && f4(..."" + y, (c = 1 + c, (y && ({ [(c = 1 + c, !1 * (-2 + this))]: y.a } = { Infinity: 0 })) % (y = 2 % this))))) { for (var o in c = 1 + c, y && (y[a++ + [ (c = 1 + c, 2 !== (y && (y.async |= 0)) != (y && (y.in = y && ({ 1.5: y[c = 1 + c, 0] } = { 1.5: 0 })))) ]] += (!0o644n << 4 < NaN) << (c += 1, 0))) { c = 1 + c; } } return (c += 1) + a++; case "function" == typeof f1 && 0 <= --_calls_ && f1(/[abc4]/.test((c = 1 + c, "" + !0))): try { c = 1 + c, c += 1; } finally { y += !0, c = 1 + (c = 1 + (c = 1 + (c = 1 + c))), c = 1 + (c += 1), (y = 1).done /= !1; } } } } case --b + NaN: c += 1; break; case --b + ("function" == typeof f1 && 0 <= --_calls_ && f1(a++ + (b &= a), (c += 1) + [ --b + (y && "function" == typeof y.b && 0 <= --_calls_ && y.b(--b + (b + 1 - .3), this, "object" in {}, 22)), y && "function" == typeof y.foo && 0 <= --_calls_ && y.foo(), [], +b, (c += 1) + ("" + { 3: y = (y += 0) & -4 + (2 === [ , 0 ].length) < 0, Infinity: !(y = 0 - (0 != ("b" === (2 === [ , 0 ].length)))), [a++ + ("foo" in [ (c = 1 + c, y && (y.done ^= !1)), (c = 1 + c, (y += !0 === ~(2 === [ , 0 ].length)) !== (0 == (2 === [ , 0 ].length !== "c"))) ])]: new function(c) {}(), then: (c += 1) + (y && y.in), get: a++ + ("function" in [ (c = 1 + c, void 0 << ((y && (y.foo ^= NaN)) != "object" - this)), (c = 1 + c, 1 != 22 - (2 < 3n) + "function") ]) }).null ][--b + (25 in { next: a++ + (y && y.value) })], (c += 1) + (--b + ("function" == typeof y && 0 <= --_calls_ && y`${"function" == typeof y && 0 <= --_calls_ && y()}${y && y[[ (c = 1 + c, y += (y = 0) << (y && (y.undefined = !0)) | (1 | (y && (y.c <<= 0)))) ].value]}}`) || a || 3).toString())): --b, b = a, --b, delete a, --b, ("number" == typeof b_1 || b || 5).toString(); var i = 5; do { if (--b + ("function" == typeof f2 && 0 <= --_calls_ && f2())) { return --b + b; } } while ((c += 1) + (y = /[abc4]/.test(((1 in [ !1, (c = 1 + (c = 1 + c), !1 <= (y && (y.then += 0)) && (y && ([ y.async ] = [ !0 ])) | 2 === [ , 0 ].length | "c") ] || a || 3).toString() || b || 5).toString())) && 0 < --i); } (b || 5).toString(); } var let_2 = f0(); console.log(null, a, b, c, 1 / 0, NaN, void 0);
original result: null 108 104 40 Infinity NaN undefined uglified result: null 108 104 35 Infinity NaN undefined
// reduced test case (output will differ) // (beautified) console.log(42n.toString() + 0); // output: 420 // // minify: 42n0 // // options: { // "compress": { // "passes": 1000000, // "sequences": 1000000, // "unsafe": true, // "unsafe_Function": true, // "unsafe_math": true, // "unsafe_proto": true, // "unsafe_regexp": true // }, // "output": { // "v8": true // }, // "validate": true // }
minify(options): { "compress": { "passes": 1000000, "sequences": 1000000, "unsafe": true, "unsafe_Function": true, "unsafe_math": true, "unsafe_proto": true, "unsafe_regexp": true }, "output": { "v8": true } } Suspicious compress options: evaluate unsafe unsafe_math
The text was updated successfully, but these errors were encountered:
fix corner case in evaluate
evaluate
61686c5
fixes mishoo#5728
fix corner case in evaluate (#5729)
2b1c321
fixes #5728
Successfully merging a pull request may close this issue.
The text was updated successfully, but these errors were encountered: