-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
Description
// original code
// (beautified)
var _calls_ = 10, a = 100, b = 10, c = 0;
L30209: {
var foo = a++ + !a, foo_1 = {
[a ??= --b + --b]: +b
}[a++ + (a && a.next)], b_2 = b++;
L30210: {
c = c + 1;
}
{
var brake5 = 5;
while ((c = c + 1) + (1 === 1 ? a : b) && --brake5 > 0) {
a++ + !function() {
try {
try {
{
var brake9 = 5;
do {
try {
{
var brake11 = 5;
while ((c = 1 + c, ([] != [ , 0 ][1]) % ("object" == "number") != (-4 > -5 === -"")) && --brake11 > 0) {
c = 1 + c, "a" - 0 >> (0 << -5) | void ([ , 0 ][1] && true);
}
}
} catch (foo_1) {
c = 1 + c, "a" ^ this | {} == true | (24..toString() | 1) !== !5;
c = 1 + c, (c = c + 1, c = c + 1, 24..toString()) || 24..toString() === -5 == (NaN ^ [ , 0 ].length === 2);
}
} while (b_2 && b_2[b_2] && --brake9 > 0);
}
} finally {
if (+function a_2() {
}()) {
c = c + 1;
}
}
} catch (Infinity_1) {
--b + (b_2 && b_2.length);
} finally {
{
var brake19 = 5;
while ((c = c + 1) + --a && --brake19 > 0) {
var b_1 = a++ + (a_2 && a_2[c = 1 + c, ~("c" % "" ?? [] + "c")]), a_2 = --b + (1 === 1 ? a : b);
}
}
{
var brake21 = 5;
while (+function() {
c = 1 + c, (c = c + 1, 2) >>> ([] && "b") << (b_1 && (b_1[--b + (b_1 -= (c = 1 + c,
this != -4 !== 25 >>> 24..toString() ?? (-3 >= []) + (-3 >> -5)))] *= 22 - "bar" ^ (3 || "bar")));
c = 1 + c, (null % "a" || null + NaN) >>> (-1 ^ "function",
"number" % "function");
c = 1 + c, +"object" <= ([ 3n ][0] > 2 ^ null) < ("" ^ [],
"bar" >>> -5);
c = 1 + c, (([ , 0 ][1] === false) >>> (5 & 2)) % (38..toString() == "number" & (c = c + 1,
"object"));
c = 1 + c, c = c + 1, c = c + 1, c = c + 1, -4;
}() && --brake21 > 0) {
var brake27 = 5;
do {
return c = 1 + c, ("foo" != 0 ^ -2 < []) == ("bar" !== null && 5 ^ "c");
} while ((c = c + 1) + (typeof f0 == "function" && --_calls_ >= 0 && f0()) && --brake27 > 0);
}
}
}
}();
}
}
{
~("a" >= Infinity != 24..toString() / "foo" | ((-42n).toString() | -5) << ({} && "foo"));
}
var a_1 = (c = c + 1) + (0 in []), bar = !function bar_1() {
{
for (var brake33 = 5; (c = c + 1) + (typeof bar_1 == "function" && --_calls_ >= 0 && bar_1(-5)) && brake33 > 0; --brake33) {
var a = a && typeof a.static == "function" && --_calls_ >= 0 && a.static`${c = 1 + c,
(a && (a.c >>= ("function" ^ -2) != -0 <= 0)) % (("" || false) / ("number" | null))}${c = 1 + c,
(NaN >>> 0 != (null ^ "function")) > (-2 - NaN <= 1 % 24..toString())}${c = 1 + c,
(b_2 && ([ b_2[/[abc4]/.test(((c = 1 + c, ("undefined" < this ^ ("object" ^ 1)) - ((-2 === -4) <= (23..toString() || undefined))) || b || 5).toString())] ] = [ ("" && [ , 0 ][1]) >= (24..toString() == "a") ])) <= (foo_1 && (foo_1[[ (c = 1 + c,
(-2 ?? []) % (/[a2][^e]+$/ > false) === (5 | 2) * (NaN % Infinity)), (c = 1 + c,
b_2 && (b_2[foo >>= --b] += -5 - "foo" - (-0 >> -0) || ([] ?? 3) - 3 % -2)) ].foo] = ("function" <= 22) % (this & "number")))}tmpl`;
}
}
{
var expr35 = a++ + (typeof f1 == "function" && --_calls_ >= 0 && f1`\\
${void a}`);
for (var [ key35 ] in expr35) {
c = 1 + c;
var foo_1 = expr35[key35];
c = c + 1;
}
}
for (var brake37 = 5; --b + (b_2 && b_2.then) && brake37 > 0; --brake37) {
try {
L30211: {}
} catch (b_2) {
try {
try {
var b;
} catch (a) {
c = 1 + c, (([ , 0 ][1] | 5) === (Infinity, NaN)) >> ((Infinity ^ {}) << (b && (b[c = 1 + c,
(+0, -4, Number(0xdeadn << 16n | 0xbeefn)) % (22 - NaN > true >> "function")] += false ^ NaN)));
} finally {
c = 1 + c, delete ("foo" in (-42n).toString()) << (-2 - false | this << "number");
c = 1 + c, (2 === {} != ({} & [ , 0 ].length === 2)) * ("number" ** false >> ([ , 0 ].length === 2) / this);
c = 1 + c, (NaN >> "foo" >= false << Infinity) * ~(-0 && NaN);
c = 1 + c, (foo_1 = +25 >>> (1 << ([ , 0 ].length === 2))) >= (this & 0) % ([] ^ 0);
}
} catch (Infinity) {
switch (c = 1 + c, (b_2 && (b_2.a += ("object" && "foo") | ([] | NaN))) / (2 != 25 ^ ("" && 0))) {
case c = 1 + c, "undefined" > "number" !== (22 === "foo") ^ 4 + 2 >= (-5 < -4):
;
case c = 1 + c, ([ , 0 ].length === 2 ^ [ , 0 ][1]) << (2 && "undefined") >>> (-5 == 38..toString()) / ([] >>> -1):
;
break;
case c = 1 + c, (-3 === -4 === ([ , 0 ].length === 2) < 22) < ((b_2 ^= "foo" ^ undefined) | Infinity >= -1):
;
break;
default:
;
}
}
}
}
}();
}
{
var b_1 = function bar() {
{
var bar_1 = function f0() {
if (([ a ] = [ -a ])) {
c = c + 1;
}
try {
if ((c = c + 1) + (typeof f2 == "function" && --_calls_ >= 0 && f2(undefined, --b + (a && a.__proto__)))) {
var brake55 = 5;
while (a && --brake55 > 0) {
c = c + 1;
}
}
} finally {
return;
}
}(null);
}
}();
}
console.log(null, a, b, c, Infinity, NaN, undefined);// uglified code
// (beautified)
var e = 10, n = 100, i = 10, c = 0, N = n++ + !n, u = (n ??= --i + --i, n++, n && n.next,
i++);
c += 1;
for (var t = 5; (c += 1) + n && 0 < --t; ) {
n++, a = f = r = o = void 0;
try {
try {
var o = 5;
do {
try {
for (var r = 5; c = 1 + c, (0 != []) % !1 != 0 && 0 < --r; ) {
c = 1 + c;
}
} catch (y) {
c = 1 + c, 24..toString(), c = (c = 1 + c) + 1 + 1, 24..toString() || (24..toString(),
NaN);
}
} while (u && u[u] && 0 < --o);
} finally {
!function v() {}();
}
} catch (g) {
--i, u && u.length;
} finally {
for (var f = 5; (c += 1) + --n && 0 < --f; ) {
var a = n++ + (v && v[c = 1 + c, -1]), v = --i + n;
}
!function() {
c = 1 + c, c += 1, a && (a[--i + (a -= (c = 1 + c, -4 != this !== 25 >>> 24..toString() ?? ([] <= -3) + -1))] *= 3),
c = 1 + c, NaN, c = 1 + (c = 1 + c), 38..toString(), c = 1 + (c += 1),
c = c + 1 + 1 + 1;
}();
}
}
Infinity, 24..toString(), (-42n).toString();
c += 1, function l() {
for (var t = 5; (c += 1) + ("function" == typeof l && 0 <= --e && l(-5)) && 0 < t; --t) {
var n = n && "function" == typeof n["static"] && 0 <= --e && n["static"]`${c = 1 + c,
(n && (n.c >>= !0)) % NaN}${c = 1 + c, (NaN >>> 0 != 0) > (-2 - NaN <= 1 % 24..toString())}${c = 1 + c,
(u && ([ u[/[abc4]/.test((c = 1 + c, (("undefined" < this ^ 1) - (!1 <= (23..toString() || undefined)) || f || 5).toString()))] ] = [ ("a" == 24..toString()) <= "" ])) <= (r && (r[[ (c = 1 + c,
NaN === NaN % Infinity * 7), (c = 1 + c, u && (u[N >>= --f] += [] - 1)) ].foo] = !1 % ("number" & this)))}tmpl`;
}
var i, o = n++ + ("function" == typeof f1 && 0 <= --e && f1`\\
${void 0}`);
for ([ i ] in o) {
c = 1 + c;
var r = o[i];
c += 1;
}
for (var f, a = 5; --f + (u && u.then) && 0 < a; --a) {}
}(), function d() {
n = -n, c += 1;
try {
if ((c += 1) + ("function" == typeof f2 && 0 <= --e && f2(undefined, --i + (n && n.__proto__)))) {
for (var t = 5; n && 0 < --t; ) {
c += 1;
}
}
} finally {
return;
}
}();
console.log(null, n, i, c, Infinity, NaN, undefined);original result:
null -102 -5 137 Infinity NaN undefined
uglified result:
null -102 -5 140 Infinity NaN undefined
// reduced test case (output will differ)
// (beautified)
var b;
var brake5 = 5;
while (--brake5) {
(function() {
try {
(function a_2() {});
} finally {
var b_1 = a_2, a_2 = --b;
console.log(b_1);
}
})();
}
// output: undefined
// undefined
// undefined
// undefined
//
// minify: undefined
// NaN
// NaN
// NaN
//
// options: {
// "ie": true,
// "module": false,
// "output": {
// "semicolons": false,
// "v8": true
// },
// "toplevel": true,
// "validate": true
// }minify(options):
{
"ie": true,
"module": false,
"output": {
"semicolons": false,
"v8": true
},
"toplevel": true
}
Suspicious compress options:
dead_code
evaluate
inline
loops
side_effects
Suspicious options:
ie
rename
toplevel