Closed alexlamsl closed 2 months ago
// uglified code
// (beautified)
var _calls_ = 10, a = 100, b = 10, c = 0;
try {
for (var brake2 = 5; a++ && 0 < --brake2; ) {
var brake4 = 5;
do {
for (var brake5 = 5; a && 0 < brake5; --brake5) {
var expr6 = /[abc4]/.test(([].null || b || 5).toString());
for (a in expr6) {
var c = 1 + c, foo_2 = expr6[a];
switch (a++ + ("function" == typeof f1 && 0 <= --_calls_ && f1({
__proto__: (c = 1 + c, ({} === []) >> ("bar" < (2 === [ , 0 ].length)) != -6 || {})
}.a, Infinity))) {
case 0 ^ ("function" === 38..toString() || this - 2):
break;
case -(foo_2 && (foo_2["function" != typeof b] /= (c += 1,
foo_2 && (foo_2[c = 1 + c, foo_2 += (foo_2 += -5) ^ 1 === [] === "c" % []] += 4)) < -3)):
switch (--b + /[abc4]/.test((c = 1 + c, (!0 / (foo_2 *= (2 === [ , 0 ].length) % !1) + (1 == 23..toString() || !1) || b || 5).toString()))) {
case [ (c = 1 + c, 23..toString(), foo_2 = !1, 0), , (c = 1 + c,
-("bar" ^ 23..toString()) >>> (foo_2 += -3 <= 1 >> 38..toString())) ].c:
c = 1 + c, 24..toString();
break;
case foo_2 && "function" == typeof foo_2.null && 0 <= --_calls_ && foo_2.null(5):
break;
case (c += 1) + a++:
c = 1 + c;
break;
case a++ + a:
c = 1 + c, foo_2 && (foo_2.in += 4 * 24..toString()),
c = 1 + c, -3 ^ 24..toString() && foo_2 && (foo_2[c = 1 + c,
!1 - (23..toString() && "number") != ("c" & this ^ (-1 | 24..toString()))] = Infinity >> void 0),
c = 1 + c, foo_2 = !1;
}
case a++ + ("function" == typeof f0 && 0 <= --_calls_ && f0()):
for (var brake14 = 5; c = 1 + c, foo_2 && (foo_2.next += (this + []) % 3),
a++ + (b = a) && 0 < --brake14; ) {}
var yield_1 = void 0;
}
}
}
} while (a && 0 < --brake4);
var a_1, expr17 = a++ + (3 in []);
for (a in expr17) {
c = 1 + c;
var a_2 = expr17[a];
c += 1;
}
b + 1 - .1 - .1 - .1 && a++ + a ? a_1 = async function() {}() : c += 1;
break;
}
} catch (NaN_1) {
var brake60, key27_2, brake64, expr63, key63, expr27 = ++a;
for (let key27 in expr27) {
switch (--a) {
case a++ + ("function" == typeof f2 && 0 <= --_calls_ && f2(-2)):
break;
case --b + b:
var async_2 = function(undefined_1, bar_2) {
bar_2 = void (c = 1 + c, undefined_1 && (undefined_1[a++ + (key27 && "function" == typeof key27.static && 0 <= --_calls_ && (a++,
key27.static)((c = 1 + c, (void 0 < 38..toString() | (24..toString() && 5)) != (bar_2 = -4 >>> !1)), void 0))] = 0 < (38..toString() <= 1) / (23..toString() <= -3)),
24..toString());
c = 1 + c, 38..toString(), c = 1 + c, 38..toString(), c = 1 + (c += 1),
38..toString(), 23..toString(), c = 1 + c, bar_2 && (bar_2[c = 1 + c,
!0] = NaN), 23..toString();
}(Infinity, -5);
--b, a++, async_2 && "function" == typeof async_2.undefined && 0 <= --_calls_ && (c += 1,
"function" == typeof f5 && 0 <= --_calls_ && f5(-0), async_2.undefined)((c += 1) + ("function" == typeof NaN_1 && 0 <= --_calls_ && NaN_1()), key27 && "function" == typeof key27.static && 0 <= --_calls_ && key27.static(5)),
c += 1;
default:
c += 1;
var async_2_1 = void 0, Infinity_1 = function() {
for (var brake39 = 5; c = 1 + (c = 1 + c), ({} >= 23..toString() | !0) << ((3 != 24..toString()) >>> 0) && 0 < --brake39; ) {}
}();
case a:
switch (a++ + b++ ? --b + [].async : b >>= a) {
case a++ + ("function" == typeof f6 && 0 <= --_calls_ && f6(--b + new function(async_2_1_1) {
this.undefined += (0 & (-2 | 2 === [ , 0 ].length)) != 5 << (3 == {});
}(), 23..toString())):
for (var brake43 = 5; b + 1 - .1 - .1 - .1 && 0 < brake43; --brake43) {
for (var brake44 = 5; a++ + (NaN_1 && NaN_1[(c += 1) + (b + 1 - .1 - .1 - .1)]) && 0 < --brake44; ) {
if (--b + (b += a)) {
for (var brake46 = 5; c = 1 + c, (NaN_1 = 4 !== Infinity && /[a2][^e]+$/ != 38..toString()) - 1 && 0 < --brake46; ) {
c = 1 + c, async_2 += -4 == 38..toString();
}
}
}
}
c = 1 + c, NaN_1 && (NaN_1.in = NaN);
for (var await = void 24..toString(), brake50 = 5; NaN <= (Infinity_1 && (Infinity_1[b + 1 - .1 - .1 - .1] += 0 | 0 == [])) && 0 < --brake50; ) {}
break;
case --b + ("crap" != typeof undefined_2):
switch (void function() {
c = 1 + c, c += 1, 23..toString();
}()) {
case a++ ? --b + NaN_1 : (c = 1 + c, 38..toString(), !void (await && (await[!0 & [] & (c = (c = 1 + c) + 1 + 1,
!0)] |= 1))):
for (var brake57 = 5; "function" == typeof f8 && 0 <= --_calls_ && f8`${c = 1 + c,
0 ^ ("bar" === Infinity) <= 0}` && 0 < --brake57; ) {
for (var brake58 = 5; c = 1 + c, !1 !== (NaN_1 && (NaN_1.get >>= this <= "object")) != NaN % (Infinity_1 && (Infinity_1.c = NaN)) && 0 < --brake58; ) {
c = 1 + c, await && (await.undefined += (NaN_1 -= (-1 >> []) - ([] < !1)) && -1 == (c = c + 1 + 1,
Infinity));
}
}
break;
case (c += 1) + b:
break;
case --b + (b || a || 3).toString():
switch (--b + {
1.5: (c = 1 + c, 0 == ((Infinity_1 && (Infinity_1.c += 27)) | 38..toString()))
}.get) {
case -2:
c = 1 + c, 0 - (22 < 23..toString()) && NaN_1 && (NaN_1[(c += 1) + "number"] += (c += 1,
[] !== (async_2 >>= 4)));
break;
case a++ + a++:
c = 1 + c, async_2_1 && (async_2_1[{
then: (c = 1 + c, !(void 0 % (2 === [ , 0 ].length) * (2 === [ , 0 ].length === "b"))),
in: (c = 1 + c, !(("foo" == {}) < 0))
}.Infinity] -= !0 + (0 ^ 23..toString()));
break;
case a++ + b:
c = 1 + (c = 1 + c);
break;
case (c += 1) + Infinity:
c = 1 + c;
}
}
for (var brake72 = 5; NaN_1 && "function" == typeof NaN_1.Infinity && 0 <= --_calls_ && NaN_1.Infinity`\\${c = 1 + c,
null << (async_2_1 && (async_2_1.a = -4 == this)) | (Infinity_1 = 4,
!1)}` && 0 < brake72; --brake72) {
var key73, expr73 = a++ + {};
for (key73 in expr73) {
try {
for (var brake75 = 5; c = 1 + c, (Infinity_1 <<= (23..toString() - 1 & !1) + ((2 === [ , 0 ].length) >>> void 0 < !1)) && 0 < brake75; --brake75) {
c = 1 + c, await += (c += 1, 22 ^ (2 === [ , 0 ].length) / null),
38..toString();
}
} catch (a_2) {
c = 1 + c, 23..toString(), key73 && (key73[c = 1 + c,
(0 % (25 < ("b" <= 23..toString())) || a || 3).toString()] ^= -4),
async_2 >>= Infinity / "" / NaN / !1, c = 1 + (c = 1 + c),
key73 && (key73.null = !1);
} finally {
c = 1 + c, async_2 = !1;
}
}
}
for (var brake81 = 5; --b + (b = a) && 0 < brake81; --brake81) {
c = 1 + c, async_2 && ({
undefined: async_2.c
} = {
undefined: 2 * Infinity
}), Infinity_1 *= 0, key27 && ({
"-2": key27[c = 1 + c, (23..toString() && /[a2][^e]+$/) < 1 !== (key27 && (key27.c = !1 | 38..toString() >> 38..toString()))]
} = {
"-2": 24..toString() / "undefined"
}), c = 1 + c, async_2_1 && (async_2_1[(c += 1) + [ (c = 1 + c,
"number" * this << !1 <= (key27 && (key27.Infinity += 0 | (Infinity_1 ^= !1)))), (c = 1 + c,
c += 1, {} + Infinity - (2 === [ , 0 ].length && this)) ]] >>>= null | this),
NaN_1 += !0, c = 1 + c, 0 ^ (async_2 && (async_2[c = 1 + c,
(void 0 ^ Infinity | "function") <= (-3 !== [] != !1)] = {})) && (c += 1,
38..toString()), c = 1 + c, 23..toString() % NaN || 38..toString(),
c = 1 + c, 24..toString();
}
break;
case b >>>= a:
try {
async_2 = "b" - 23..toString(), c = 1 + c, 38..toString(), 24..toString();
var b_2 = void (c = 1 + c);
} catch (a) {
for (var let_1 = void (c = 1 + c), brake87 = 5; c += 1, async_2_1 && "function" == typeof async_2_1.next && 0 <= --_calls_ && async_2_1.next((c = 1 + c,
(1 <= 24..toString() ^ (async_2 && (async_2[c = 1 + c, void 0 + "function" | (23..toString(),
!1)] <<= 0))) % (!0 >> (0 <= {}))), -1, (c = 1 + c, -2 | this || key27 && ({
next: key27[a++ + (async_2 = (24..toString() <= "bar" < NaN) << ((b_2 && (b_2[c = 1 + c,
NaN] = -4)) ^ 2 * 23..toString()))]
} = {
next: 0 + (NaN_1 /= "b" ^ 2 === [ , 0 ].length)
}))) && 0 < --brake87; ) {}
}
switch (38..toString() in {
in: a--,
"": await && "function" == typeof await.async && 0 <= --_calls_ && (c = 1 + c,
c += 1, 23..toString(), await.async)(..."" + async_2_1)
}) {
case key27 && key27.value:
case -(0 != +(async_2 && (async_2[c = 1 + c, await += ((-0 | []) == (-0 ^ [])) >> -5] += 0))):
case (c += 1) + (b_2 && "function" == typeof b_2.in && 0 <= --_calls_ && b_2.in(0, Infinity)):
break;
default:
for (var brake91 = 5; ~((3 >> {} & (async_2 && (async_2.then -= 0))) << !1) && 0 < --brake91; ) {}
for (var brake94 = 5; c = 1 + c, (-2 << 23..toString() && {} == []) >>> (-4 == this ^ null) && 0 < brake94; --brake94) {
c = 1 + c, 38..toString();
}
for (var brake96 = 5; --b + --a && 0 < --brake96; ) {
var expr97 = [ (b_2 = "" >> (2 != {})) == (-2 | (c = (c = 1 + c) + 1 + 1,
"b")), , ];
for (const key97 of expr97) {
c = 1 + c;
var async = expr97[key97];
c = 1 + c, 24..toString();
}
}
}
break;
case --b + --b:
}
}
}
var brake99 = 5;
do {
var key100, expr100 = /[abc4]/g.exec((typeof (NaN_1 && "function" == typeof NaN_1.c && 0 <= --_calls_ && NaN_1.c(a++ + /[abc4]/g.exec(((c += 1) + (c += 1,
24..toString() + 0 >= ("number" & 38..toString())) || b || 5).toString()))) || b || 5).toString());
for (key100 in expr100) {
try {
for (var brake102 = 5; --b + void function() {
for (var brake103 = 5; delete b && 0 < --brake103; ) {
"function" == typeof NaN_1 && 0 <= --_calls_ && NaN_1() ? (c = 1 + c,
23..toString(), NaN_1 && (NaN_1[(c += 1) + {
3: (c = 1 + c, !0),
set 3(NaN) {
this.Infinity += -4 - Infinity;
},
c: key100 = (0 != {}) >> !(22 >>> []),
1.5: (this >>> null == 0) < 1,
value: (c = 1 + (c = 1 + (c = 1 + c)), ((key100 && (key100.a += !1)) | (key100 && (key100[c = 1 + c,
~({} >> 0 ^ "b" ^ {})] >>>= this >>> 5))) == (1 != (NaN_1 |= !1)))
}] = !0)) : c += 1;
}
c = 1 + c, bar_2 && (bar_2[--b + void 0] += (c += 1, "a" - (!1 !== (2 === [ , 0 ].length && []))));
var key111, b, expr111 = "function" == typeof (bar_2 = void (c = 1 + c)) && 0 <= --_calls_ && bar_2();
for ([ key111 ] in expr111) {
c = 1 + c;
const bar_2 = expr111[key111];
var bar_2;
}
}() && 0 < brake102; --brake102) {
for (var brake115 = 5; key100 && "function" == typeof key100.var && 0 <= --_calls_ && key100.var(22) && 0 < brake115; --brake115) {
a++, c += 1, --b;
}
}
} finally {
var key117, expr117 = a++;
for (key117 in expr117) {
switch ((c += 1) + -b) {
case key100:
try {
switch (c = 1 + c, ((key100 = 5) >> !0) + (NaN < NaN)) {
case c = 1 + (c += 1), NaN & (key117 && (key117[c = 1 + c,
0 !== (!1 === (null ^ 24..toString()))] = [] / "function")) <= 0:
case c = 1 + c, (key117 && (key117[a] += !0)) - ((key117 && (key117.value ^= "a" & {})) - (c += 1,
24..toString())):
case c = 1 + c, {} / 25 ^ -1 ^ -5 * 24..toString() <= 21:
case c = 1 + c, !0 >> (!1 < "a" * 38..toString()):
}
} catch (yield) {
c = 1 + c, yield && ([ yield[a++ + ++a] ] = [ !1 ]);
}
--b, --b;
break;
case a++ + ((key100 && (key100.next += 4 === (c += 1, "b"))) | (key117 && (key117.next -= "bar" === 38..toString())) <= 4 ? (c += 1) + new function(foo_1, a) {
this[c = 1 + c, (1 >>> (2 === [ , 0 ].length) << (c += 1,
38..toString())) % !0] = {}, this.in >>>= this >> "number";
}() : "function" == typeof NaN_1 && 0 <= --_calls_ && NaN_1(5, -0)):
var key123, expr123 = (c += 1) + !0;
for (key123 in expr123) {
switch (c = 1 + c, (-4 | this) % (2 !== 38..toString() != 0)) {
default:
case c = 1 + c, c += 1, NaN_1 = (2 === [ , 0 ].length != (NaN_1 && (NaN_1.static = 2 <= 24..toString()))) >>> 5:
break;
case c = 1 + c, !1 & (key123 && (key123[[].null] &= (-0 & this) >>> 3)):
case c = (c = 1 + c) + 1 + 1, "foo":
}
}
switch (+(key100 && (key100.Infinity %= void 0 - ((NaN_1 && (NaN_1[c = 1 + c,
(1 === Infinity) - "bar" | (key117 += 22 ^ 23..toString(),
NaN)] += "c" * 38..toString())) + -2)))) {
default:
c = 1 + c, key117 && (key117[c = 1 + c, NaN] = 0), c = 1 + c,
38..toString(), NaN_1 && (NaN_1[c = 1 + c, 4 & 38..toString() & "undefined" * [] & 0] = 12);
case c = 1 + c, (0 == 23..toString()) < (Infinity || 5) <= (-1 === (c += 1,
!0)) ? (c = 1 + c, (4 ^ (key117 && (key117[c = 1 + c,
(0 ^ NaN % this) / (key117 = ("object" == this) < NaN)] <<= 0))) != (NaN_1 = !0)) : (c = 1 + c,
!1 | (key117 += (2 === [ , 0 ].length ^ -2) + !1)):
c = 1 + c, 38..toString(), 24..toString(), key100 && ({
length: key100.a
} = {
length: [] != {}
}), c = 1 + c, c += 1, NaN_1 = 0;
break;
case --b + ~(!1 ^ (key100 >>>= -0 < [] <= NaN)):
c = 1 + c, key117 && (key117[a++ + (key117 && key117.set)] = !0),
c = 1 + c, 23..toString(), c = 1 + c, c += 1, 23..toString();
break;
case {}:
}
for (var brake133 = 5; ~(0 === (NaN != "b" << 24..toString())) && 0 < brake133; --brake133) {
for (var brake134 = 5; c = 1 + c, NaN_1 && (NaN_1.undefined = !1 !== -38..toString() == (!0 !== (key117 &= this <= "bar"))),
c = 1 + c, NaN_1 && (NaN_1[a++ + 5..toString()[a++ + (0 in [ (c = 1 + c,
"" ^ [] || NaN) ])]] += (24..toString() + /[a2][^e]+$/ || "bar" - 24..toString()) >> (!0 >> (c += 1,
24..toString()))) && 0 < --brake134; ) {}
}
break;
case ("cc" != /[a2][^e]+$/ + (2 === [ , 0 ].length)) % !1:
case b -= a:
c += 1;
}
}
}
}
} while ([ --b + (a++ + --b || a || 3).toString(), --b + NaN_1, --b + {
async: --b + "number"
}.var ][a++ + ~("object" < (-3 <= (2 === [ , 0 ].length)))] && 0 < --brake99);
if (--b + (b = a)) {
var key139, expr139 = /[abc4]/g.exec(((b %= a) || 5).toString());
for (key139 in expr139) {
c = 1 + c;
var key140, NaN_1 = expr139[key139], expr140 = --b + (key139 && "function" == typeof key139.var && 0 <= --_calls_ && key139.var());
for ([ key140 ] in expr140) {
c = 1 + c;
var foo = expr140[key140], Infinity = function(c_2, NaN_1_2) {
for (var brake142 = 5; a++ + (key139 && key139[--b + ("function" == typeof f6 && 0 <= --_calls_ && f6(22, (c = 1 + c,
NaN_1 && (NaN_1[(c += 1) + (NaN_1_2 += (NaN_1 = NaN) != (24..toString() % this !== (c_2 && (c_2.get = "undefined"))))] = (NaN_1 && (NaN_1.async &= null != 38..toString())) % ("c" < (2 === [ , 0 ].length)) * (c += 1,
2 === [ , 0 ].length)))))]) && 0 < --brake142; ) {
c = 1 + c, 24..toString(), 24..toString();
}
for (var brake144 = 5; (c += 1) + 0 && 0 < brake144; --brake144) {
var key145, expr145 = void 0 === NaN_1;
for (key145 in expr145) {
c = 1 + c;
switch (c = 1 + c, NaN_1 = ("b" === 24..toString()) - !1 <= NaN * (c_2 && (c_2.then %= -3 >> 24..toString()))) {
case c = 1 + c, c += 1, 22 <= (NaN_1 = 0):
case c = 1 + c, (this <= 2) >>> ("b" ^ Infinity) && !1:
break;
default:
case c = 1 + c, (NaN != (-1 != 23..toString())) >= (4 << {} && void 0):
}
}
}
var brake147 = 5;
do {
c = 1 + c, c_2 && ({
a: c_2[c = 1 + c, key139 && (key139.undefined += !1 === (NaN_1 = -3))]
} = {
a: Infinity >>> {}
});
} while (0 + a++ && 0 < --brake147);
}(b + 1 - .1 - .1 - .1, (!0).toString(), (++a, c = 1 + c, Infinity && (Infinity.a = (key140 && ({
"-2": key140[a++ + ++a]
} = {
"-2": -2
})) / -4), "function" == typeof Infinity && 0 <= --_calls_ && Infinity((c = 1 + c,
NaN_1 && (NaN_1[/[abc4]/g.exec((c = 1 + c, (("undefined" % 23..toString() | !0) - (!1 < ("number" !== 23..toString())) || b || 5).toString()))] = !0)))));
}
}
} else {
var brake151 = 5;
do {
var key152, expr152 = (c += 1) + [ 0 ].set;
for (key152 in expr152) {
c = 1 + c;
var yield = expr152[key152];
try {
var arguments = a++ + {
async: (c = 1 + c, c += 1, 0 != "undefined" << 38..toString() << NaN),
...yield,
"-2": (c = 1 + c, NaN_1 && ([ NaN_1.foo ] = [ 0 == (c += 1,
-5) ])),
get: (c = 1 + c, (key152 && (key152[c = 1 + c, 38..toString() / !0 << NaN <= (arguments && (arguments.foo -= "b" < (null & [])))] = 23..toString() / 24..toString())) / !0 / ("bar" === (yield >>>= 0))),
NaN: (c = 1 + c, !1)
}.undefined;
} catch (arguments_2) {
for (var Infinity_1 = function() {}`${c = 1 + c, 0}`, brake156 = 5; new function() {
this.value |= "bar", this.var = -2;
}(38..toString()) && 0 < --brake156; ) {}
a++, c = 1 + c, 24..toString(), c = 1 + (c = 1 + c);
}
}
} while (c += 1, 0 < --brake151);
}
}
console.log(null, a, b, c, Infinity, NaN, void 0);
original result:
null 103 10 0 Infinity NaN undefined
uglified result:
SyntaxError: Identifier 'bar_2' has already been declared
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Object.<anonymous> ([stdin]-wrapper:6:22)
at Module._compile (module.js:653:30)
at evalScript (bootstrap_node.js:479:27)
at Socket.<anonymous> (bootstrap_node.js:250:15)
at emitNone (events.js:111:20)
at Socket.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
// reduced test case (output will differ)
// (beautified)
(function() {
var b_2 = function f12(bar_2) {
bar_2[0];
}();
b_2 && b_2();
{
const bar_2 = 0;
for (var brake112 = 5; 0; 0) {
var b_2;
}
}
})();
// output: TypeError: Cannot read property '0' of undefined
// minify: SyntaxError: Identifier 'bar_2' has already been declared
// options: {
// "mangle": false,
// "module": false,
// "output": {
// "v8": true
// },
// "validate": true
// }
minify(options):
{
"mangle": false,
"module": false,
"output": {
"v8": true
}
}
Suspicious compress options:
collapse_vars
dead_code
evaluate
inline
loops
merge_vars
sequences
unused