Files
discord-decomp/sources/by-id/module-01907.jsx
T
2026-07-27 16:20:00 +03:00

7078 lines
249 KiB
React

/* Metro module 1907; source: unknown; dependencies: [] */
function _fun20883(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20883, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:6, offset: 0x00edeb8c, size: 37 bytes, params: 8, frame: 11
const value = _fun20884();
_fun20918();
module.exports = value;
}
function _fun20884() { // fn#20884, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:43, offset: 0x00edebb1, size: 234 bytes, params: 1, frame: 13
const _getBPP = function(a0) {
var property = a0.ctype;
property = [1, null, 3, 1, 2, null, 4][property];
return property * a0.depth;
};
const closure = function(a0, a1, a2) {
var value = a0;
var value2 = a1;
var value3 = a2;
var value4 = value + value2 - value3;
var value5 = value4 - value;
var value6 = value4 - value2;
var value7 = value4 - value3;
return value5 * value5 <= value6 * value6 && value5 * value5 <= value7 * value7 ? value : value6 * value6 <= value7 * value7 ? value2 : value3;
};
const closure2 = _copyTile;
const object2 = {nextZero: function(a0, a1) {
var r2;
var r0;
var value = a1;
if (a0[value] == 0) {
r0 = value;
} else {
for (r2 = value; true; r2 = value) {
value = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (a0[value] == 0) {
r0 = value;
break;
}
}
}
return r0;
}, readUshort: function(a0, a1) {
return a0[a1] << 8 | a0[a1 + 1];
}, writeUshort: function(a0, a1, a2) {
a0[a1] = a2 >> 8 & 255;
a0[a1 + 1] = 255 & a2;
}, readUint: function(a0, a1) {
return 16777216 * a0[a1] + (a0[a1 + 1] << 16 | a0[a1 + 2] << 8 | a0[a1 + 3]);
}, writeUint: function(a0, a1, a2) {
a0[a1] = a2 >> 24 & 255;
a0[a1 + 1] = a2 >> 16 & 255;
a0[a1 + 2] = a2 >> 8 & 255;
a0[a1 + 3] = 255 & a2;
}, readASCII: function(a0, a1, a2) {
var r1;
var r3;
var r0;
var String;
var value3;
var value = 0;
var value2 = '';
if (value < a2) {
r1 = value2;
for (r3 = value; true; r3 = value3) {
String = global.String;
value = r1 + String.fromCharCode(a0[a1 + r3]);
value3 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
if (!(value3 < a2)) {
r0 = value;
break;
}
r1 = value;
}
} else {
r0 = value2;
}
return r0;
}, writeASCII: function(a0, a1, a2) {
var r1;
var value = 0;
if (value < a2.length) {
for (r1 = value; true; r1 = value) {
value = a1 + r1;
a0[value] = a2.charCodeAt(r1);
value = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (!(value < a2.length)) {
break;
}
}
}
}, readBytes: function(a0, a1, a2) {
var r1;
var items = [];
var value = 0;
if (value < a2) {
for (r1 = value; true; r1 = value) {
items.push(a0[a1 + r1]);
value = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (!(value < a2)) {
break;
}
}
}
return items;
}, pad: function(a0) {
var value = a0;
return value.length < 2 ? '0' + value : value;
}, readUTF8: readUTF8};
const env0_1 = _fun20903();
return {decode: decode_20916, toRGBA8: toRGBA8, _paeth: closure, _copyTile: closure2, _bin: object2};
}
function _fun20918() { // fn#20918, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:12673, offset: 0x00ee2499, size: 507 bytes, params: 1, frame: 29
var r17;
var r18;
var r16;
var value3;
var value4;
var value5;
var value6;
var value7;
const N_20920 = function(a0) {
var Math = global.Math;
var Math2 = global.Math;
return Math.max(0, Math2.min(255, a0));
};
const D_20921 = function(a0, a1) {
var value = a0[0] - a1[0];
var value2 = a0[1] - a1[1];
var value3 = a0[2] - a1[2];
var value4 = a0[3] - a1[3];
value *= value;
value += value2 * value2;
value += value3 * value3;
return value + value4 * value4;
};
const closure = dither;
const closure2 = compress_20925;
const closure3 = quantize_20930;
const remap = function(a0, a1, a2) {
var r1;
var value = 0;
if (value < a0.length) {
for (r1 = value; true; r1 = value) {
a1[r1] = a2[a0[r1]];
value = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (!(value < a0.length)) {
break;
}
}
}
};
const closure4 = findNearest;
const closure5 = getKDtree;
const closure6 = getNearest;
const planeDst = function(a0, a1, a2, a3, a4) {
var e = a0.e;
var value = e[0] * a1;
value += e[1] * a2;
value += e[2] * a3;
value += e[3] * a4;
return value - a0.eMq;
};
const vecDot = function(a0, a1, a2) {
var value = a0[a1] * a2[0];
value += a0[a1 + 1] * a2[1];
value += a0[a1 + 2] * a2[2];
return value + a0[a1 + 3] * a2[3];
};
const binding = env0_0;
var env0_0 = binding._copyTile;
const env0_1 = binding._bin;
const env0_2 = binding._paeth;
let object2 = {};
const Uint32Array = global.Uint32Array;
const uint32Array = new Uint32Array(256);
let value2 = 0;
let r10 = value2;
while (true) {
r17 = value2;
r18 = r10;
while (true) {
value3 = 1 & r18;
value4 = r18 >>> 1;
if (value3) {
value5 = 3988292384 ^ value4;
r16 = value5;
} else {
r16 = value4;
}
value6 = typeof r17 === 'bigint' ? r17 + 1n : +r17 + 1;
if (value6 < 8) {
r17 = value6;
r18 = r16;
continue;
}
break;
}
uint32Array[r10] = r16;
value7 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1;
if (value7 < 256) {
r10 = value7;
continue;
}
break;
}
object2.table = uint32Array;
object2.update = update_20942;
object2.crc = crc;
object2 = {multVec: multVec, dot: function(a0, a1) {
var value = a0[0] * a1[0];
value += a0[1] * a1[1];
value += a0[2] * a1[2];
return value + a0[3] * a1[3];
}, sml: function(a0, a1) {
return [a0 * a1[0], a0 * a1[1], a0 * a1[2], a0 * a1[3]];
}};
binding.encode = encode_20947;
binding.encodeLL = encodeLL;
binding.encode.compress = closure2;
binding.encode.dither = closure;
binding.quantize = closure3;
binding.quantize.findNearest = closure4;
binding.quantize.getKDtree = closure5;
binding.quantize.getNearest = closure6;
}
function decodeImage(a0, a1, a2, a3) { // fn#20885, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:923, offset: 0x00edec9b, size: 2285 bytes, params: 5, frame: 47
var tRNS;
var r12;
var r30;
var r33;
var r7;
var length;
var r19;
var r26;
var r34;
var r27;
var r6;
var r32;
var r13;
var r20;
var r5;
var r21;
var r2;
var tabs;
var value10;
var value11;
var value12;
var value13;
var property;
var value14;
var value15;
var value16;
var value17;
var value18;
var value19;
var value20;
var value21;
var value22;
var value23;
var value24;
var value25;
var value26;
var value27;
var value28;
var value29;
var value30;
var value31;
var value32;
var value33;
var value34;
var value35;
var value36;
var value37;
var value38;
var value39;
var value40;
var value41;
var value42;
var value43;
var value44;
var value45;
var PLTE;
var value46;
var value47;
var value48;
var value49;
var value50;
var value51;
var value52;
var value53;
var value54;
var value55;
var value56;
var value57;
var value58;
var value59;
var value60;
var value61;
var value62;
var value63;
var value64;
var value65;
var value66;
var value67;
var value68;
var value69;
var value70;
var value71;
var value72;
var value73;
var property2;
var property3;
var value74;
var value75;
var property4;
var property5;
var value76;
var value77;
var value78;
var value79;
var value80;
var value81;
var property6;
var value82;
var value83;
var value84;
var value85;
var value86;
var value87;
var value88;
var value89;
var value90;
var value91;
var property7;
var value92;
var value93;
var value94;
var value95;
var value96;
var value97;
var value98;
var value99;
var value100;
var value101;
var value102;
var value103;
var value104;
var value105;
var value106;
var value107;
var value108;
var value109;
var value110;
var value111;
var value112;
let value = a1 * a2;
const value3 = _getBPP(a3);
const Math = global.Math;
const value4 = Math.ceil(a1 * value3 / 8);
const Uint8Array = global.Uint8Array;
const uint8Array = new Uint8Array(4 * value);
const Uint32Array = global.Uint32Array;
const uint32Array = new Uint32Array(uint8Array.buffer);
const ctype = a3.ctype;
const depth = a3.depth;
const readUshort = env0_0.readUshort;
const Date = global.Date;
Date.now();
if (ctype == 6) {
value <<= 2;
reducibleJoin91: while (true) {
if (depth != 8) {
break reducibleJoin91;
}
value106 = 0;
if (!(value106 < value)) {
break reducibleJoin91;
}
r6 = value106;
reducibleLoop90: while (true) {
uint8Array[r6] = a0[r6];
value107 = r6 + 1;
uint8Array[value107] = a0[value107];
value108 = r6 + 2;
uint8Array[value108] = a0[value108];
value109 = r6 + 3;
uint8Array[value109] = a0[value109];
value110 = r6 + 4;
if (value110 < value) {
r6 = value110;
continue reducibleLoop90;
}
break reducibleJoin91;
}
}
reducibleJoin94: while (true) {
if (depth != 16) {
break reducibleJoin94;
}
value111 = 0;
if (!(value111 < value)) {
break reducibleJoin94;
}
r2 = value111;
reducibleLoop93: while (true) {
uint8Array[r2] = a0[r2 << 1];
value112 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value112 < value) {
r2 = value112;
continue reducibleLoop93;
}
break reducibleJoin94;
}
}
} else if (ctype == 2) {
tRNS = a3.tabs.tRNS;
if (tRNS == null) {
reducibleJoin85: while (true) {
if (depth != 8) {
break reducibleJoin85;
}
value96 = 0;
if (!(value96 < value)) {
break reducibleJoin85;
}
r13 = value96;
reducibleLoop84: while (true) {
value97 = 3 * r13;
value98 = a0[value97 + 2] << 16;
value99 = a0[value97 + 1] << 8;
property = a0[value97];
uint32Array[r13] = -16777216 | value98 | value99 | property;
value100 = typeof r13 === 'bigint' ? r13 + 1n : +r13 + 1;
if (value100 < value) {
r13 = value100;
continue reducibleLoop84;
}
break reducibleJoin85;
}
}
reducibleJoin94: while (true) {
if (depth != 16) {
break reducibleJoin94;
}
value101 = 0;
if (!(value101 < value)) {
break reducibleJoin94;
}
r6 = value101;
reducibleLoop87: while (true) {
value102 = 6 * r6;
value103 = a0[value102 + 4] << 16;
value104 = a0[value102 + 2] << 8;
property = a0[value102];
uint32Array[r6] = -16777216 | value103 | value104 | property;
value105 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value105 < value) {
r6 = value105;
continue reducibleLoop87;
}
break reducibleJoin94;
}
}
} else {
value75 = 0;
property = tRNS[value75];
property4 = tRNS[1];
property5 = tRNS[2];
reducibleJoin73: while (true) {
if (depth != 8) {
break reducibleJoin73;
}
if (!(value75 < value)) {
break reducibleJoin73;
}
r5 = value75;
reducibleLoop66: while (true) {
value76 = r5 << 2;
value77 = 3 * r5;
value78 = value77 + 2;
value79 = a0[value78] << 16;
value80 = value77 + 1;
value81 = a0[value80] << 8;
property6 = a0[value77];
uint32Array[r5] = -16777216 | value79 | value81 | property6;
value82 = a0[value77] == property;
reducibleJoin68: while (true) {
if (value82) {
value83 = a0[value80] == property4;
r21 = value83;
break reducibleJoin68;
}
r21 = value82;
break reducibleJoin68;
}
reducibleJoin70: while (true) {
if (r21) {
value84 = a0[value78] == property5;
r21 = value84;
break reducibleJoin70;
}
break reducibleJoin70;
}
reducibleJoin72: while (true) {
if (r21) {
uint8Array[value76 + 3] = value75;
break reducibleJoin72;
}
break reducibleJoin72;
}
value85 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
if (value85 < value) {
r5 = value85;
continue reducibleLoop66;
}
break reducibleJoin73;
}
}
reducibleJoin94: while (true) {
if (depth != 16) {
break reducibleJoin94;
}
if (!(value75 < value)) {
break reducibleJoin94;
}
r5 = value75;
reducibleLoop75: while (true) {
value86 = r5 << 2;
value87 = 6 * r5;
value88 = value87 + 4;
value89 = a0[value88] << 16;
value90 = value87 + 2;
value91 = a0[value90] << 8;
property7 = a0[value87];
uint32Array[r5] = -16777216 | value89 | value91 | property7;
value92 = readUshort(a0, value87) == property;
reducibleJoin77: while (true) {
if (value92) {
value93 = readUshort(a0, value90) == property4;
r20 = value93;
break reducibleJoin77;
}
r20 = value92;
break reducibleJoin77;
}
reducibleJoin79: while (true) {
if (r20) {
value94 = readUshort(a0, value88) == property5;
r20 = value94;
break reducibleJoin79;
}
break reducibleJoin79;
}
reducibleJoin81: while (true) {
if (r20) {
uint8Array[value86 + 3] = value75;
break reducibleJoin81;
}
break reducibleJoin81;
}
value95 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
if (value95 < value) {
r5 = value95;
continue reducibleLoop75;
}
break reducibleJoin94;
}
}
}
} else if (ctype == 3) {
tabs = a3.tabs;
PLTE = tabs.PLTE;
tabs = a3.tabs;
tRNS = tabs.tRNS;
value46 = 0;
reducibleJoin37: while (true) {
if (tRNS) {
length = tRNS.length;
break reducibleJoin37;
}
length = value46;
break reducibleJoin37;
}
reducibleJoin44: while (true) {
if (depth != 1) {
break reducibleJoin44;
}
value47 = 255;
if (!(value46 < a2)) {
break reducibleJoin44;
}
r19 = value46;
reducibleLoop39: while (true) {
value48 = r19 * value4;
value49 = r19 * a1;
if (value46 < a1) {
r26 = value46;
reducibleLoop40: while (true) {
value50 = value49 + r26 << 2;
property = a0[value48 + (r26 >> 3)];
value51 = property >> 7 - (7 & r26) & 1;
value52 = 3 * value51;
uint8Array[value50] = PLTE[value52];
property = PLTE[value52 + 1];
uint8Array[value50 + 1] = property;
property = PLTE[value52 + 2];
uint8Array[value50 + 2] = property;
reducibleJoin42: while (true) {
if (value51 < length) {
property = tRNS[value51];
r34 = property;
break reducibleJoin42;
}
r34 = value47;
break reducibleJoin42;
}
uint8Array[value50 + 3] = r34;
value53 = typeof r26 === 'bigint' ? r26 + 1n : +r26 + 1;
if (value53 < a1) {
r26 = value53;
continue reducibleLoop40;
}
break reducibleLoop40;
}
}
value54 = typeof r19 === 'bigint' ? r19 + 1n : +r19 + 1;
if (value54 < a2) {
r19 = value54;
continue reducibleLoop39;
}
break reducibleJoin44;
}
}
reducibleJoin51: while (true) {
if (depth != 2) {
break reducibleJoin51;
}
value55 = 255;
if (!(value46 < a2)) {
break reducibleJoin51;
}
r19 = value46;
reducibleLoop46: while (true) {
value56 = r19 * value4;
value57 = r19 * a1;
if (value46 < a1) {
r27 = value46;
reducibleLoop47: while (true) {
value58 = value57 + r27 << 2;
property = a0[value56 + (r27 >> 2)];
value59 = property >> 6 - ((3 & r27) << 1) & 3;
value60 = 3 * value59;
uint8Array[value58] = PLTE[value60];
property = PLTE[value60 + 1];
uint8Array[value58 + 1] = property;
property = PLTE[value60 + 2];
uint8Array[value58 + 2] = property;
reducibleJoin49: while (true) {
if (value59 < length) {
property = tRNS[value59];
r33 = property;
break reducibleJoin49;
}
r33 = value55;
break reducibleJoin49;
}
uint8Array[value58 + 3] = r33;
value61 = typeof r27 === 'bigint' ? r27 + 1n : +r27 + 1;
if (value61 < a1) {
r27 = value61;
continue reducibleLoop47;
}
break reducibleLoop47;
}
}
value62 = typeof r19 === 'bigint' ? r19 + 1n : +r19 + 1;
if (value62 < a2) {
r19 = value62;
continue reducibleLoop46;
}
break reducibleJoin51;
}
}
reducibleJoin58: while (true) {
if (depth != 4) {
break reducibleJoin58;
}
value63 = 255;
if (!(value46 < a2)) {
break reducibleJoin58;
}
r6 = value46;
reducibleLoop53: while (true) {
value64 = r6 * value4;
value65 = r6 * a1;
if (value46 < a1) {
r26 = value46;
reducibleLoop54: while (true) {
value66 = value65 + r26 << 2;
property = a0[value64 + (r26 >> 1)];
value67 = property >> 4 - ((1 & r26) << 2) & 15;
value68 = 3 * value67;
uint8Array[value66] = PLTE[value68];
property = PLTE[value68 + 1];
uint8Array[value66 + 1] = property;
property = PLTE[value68 + 2];
uint8Array[value66 + 2] = property;
reducibleJoin56: while (true) {
if (value67 < length) {
property = tRNS[value67];
r32 = property;
break reducibleJoin56;
}
r32 = value63;
break reducibleJoin56;
}
uint8Array[value66 + 3] = r32;
value69 = typeof r26 === 'bigint' ? r26 + 1n : +r26 + 1;
if (value69 < a1) {
r26 = value69;
continue reducibleLoop54;
}
break reducibleLoop54;
}
}
value70 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value70 < a2) {
r6 = value70;
continue reducibleLoop53;
}
break reducibleJoin58;
}
}
reducibleJoin94: while (true) {
if (depth != 8) {
break reducibleJoin94;
}
value71 = 255;
if (!(value46 < value)) {
break reducibleJoin94;
}
r13 = value46;
reducibleLoop60: while (true) {
value72 = r13 << 2;
property = a0[r13];
value73 = 3 * property;
uint8Array[value72] = PLTE[value73];
property2 = PLTE[value73 + 1];
uint8Array[value72 + 1] = property2;
property3 = PLTE[value73 + 2];
uint8Array[value72 + 2] = property3;
reducibleJoin62: while (true) {
if (property < length) {
property = tRNS[property];
r20 = property;
break reducibleJoin62;
}
r20 = value71;
break reducibleJoin62;
}
uint8Array[value72 + 3] = r20;
value74 = typeof r13 === 'bigint' ? r13 + 1n : +r13 + 1;
if (value74 < value) {
r13 = value74;
continue reducibleLoop60;
}
break reducibleJoin94;
}
}
} else if (ctype == 4) {
reducibleJoin32: while (true) {
if (depth != 8) {
break reducibleJoin32;
}
value38 = 0;
if (!(value38 < value)) {
break reducibleJoin32;
}
r7 = value38;
reducibleLoop31: while (true) {
value39 = r7 << 2;
value40 = r7 << 1;
property = a0[value40];
uint8Array[value39] = property;
uint8Array[value39 + 1] = property;
uint8Array[value39 + 2] = property;
property = a0[value40 + 1];
uint8Array[value39 + 3] = property;
value41 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
if (value41 < value) {
r7 = value41;
continue reducibleLoop31;
}
break reducibleJoin32;
}
}
reducibleJoin94: while (true) {
if (depth != 16) {
break reducibleJoin94;
}
value42 = 0;
if (!(value42 < value)) {
break reducibleJoin94;
}
r7 = value42;
reducibleLoop34: while (true) {
value43 = r7 << 2;
value44 = r7 << 2;
property = a0[value44];
uint8Array[value43] = property;
uint8Array[value43 + 1] = property;
uint8Array[value43 + 2] = property;
property = a0[value44 + 2];
uint8Array[value43 + 3] = property;
value45 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
if (value45 < value) {
r7 = value45;
continue reducibleLoop34;
}
break reducibleJoin94;
}
}
} else {
value = 0;
reducibleJoin94: while (true) {
if (value != ctype) {
break reducibleJoin94;
}
tabs = a3.tabs;
tRNS = tabs.tRNS;
value10 = -1;
reducibleJoin7: while (true) {
if (tRNS) {
tabs = a3.tabs;
tRNS = tabs.tRNS;
break reducibleJoin7;
}
tRNS = value10;
break reducibleJoin7;
}
value11 = 255;
if (!(value < a2)) {
break reducibleJoin94;
}
r12 = value;
reducibleLoop8: while (true) {
value12 = r12 * value4;
value13 = r12 * a1;
if (depth == 1) {
if (value < a1) {
r30 = value;
reducibleLoop26: while (true) {
property = a0[value12 + (r30 >>> 3)];
value32 = value11 * (property >>> 7 - (7 & r30) & 1);
r33 = value32 !== value11 * tRNS ? value11 : value;
value33 = value13 + r30;
value34 = r33 << 24;
value35 = value34 | value32 << 16;
uint32Array[value33] = value35 | value32 << 8 | value32;
value36 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1;
if (value36 < a1) {
r30 = value36;
continue reducibleLoop26;
}
break reducibleLoop26;
}
}
} else if (depth == 2) {
if (value < a1) {
r30 = value;
reducibleLoop23: while (true) {
property = a0[value12 + (r30 >>> 2)];
value27 = 85 * (property >>> 6 - ((3 & r30) << 1) & 3);
r33 = value27 !== 85 * tRNS ? value11 : value;
value28 = value13 + r30;
value29 = r33 << 24;
value30 = value29 | value27 << 16;
uint32Array[value28] = value30 | value27 << 8 | value27;
value31 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1;
if (value31 < a1) {
r30 = value31;
continue reducibleLoop23;
}
break reducibleLoop23;
}
}
} else if (depth == 4) {
if (value < a1) {
r30 = value;
reducibleLoop20: while (true) {
property = a0[value12 + (r30 >>> 1)];
value22 = 17 * (property >>> 4 - ((1 & r30) << 2) & 15);
r33 = value22 !== 17 * tRNS ? value11 : value;
value23 = value13 + r30;
value24 = r33 << 24;
value25 = value24 | value22 << 16;
uint32Array[value23] = value25 | value22 << 8 | value22;
value26 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1;
if (value26 < a1) {
r30 = value26;
continue reducibleLoop20;
}
break reducibleLoop20;
}
}
} else if (depth == 8) {
if (value < a1) {
r30 = value;
reducibleLoop17: while (true) {
property = a0[value12 + r30];
r33 = property == tRNS ? value : value11;
value18 = value13 + r30;
value19 = property << 16;
value20 = property << 8;
uint32Array[value18] = r33 << 24 | value19 | value20 | property;
value21 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1;
if (value21 < a1) {
r30 = value21;
continue reducibleLoop17;
}
break reducibleLoop17;
}
}
} else {
reducibleJoin28: while (true) {
if (depth != 16) {
break reducibleJoin28;
}
if (!(value < a1)) {
break reducibleJoin28;
}
r30 = value;
reducibleLoop14: while (true) {
property = a0[value12 + (r30 << 1)];
r33 = readUshort(a0, value12 + (r30 << 1)) == tRNS ? value : value11;
value14 = value13 + r30;
value15 = property << 16;
value16 = property << 8;
uint32Array[value14] = r33 << 24 | value15 | value16 | property;
value17 = typeof r30 === 'bigint' ? r30 + 1n : +r30 + 1;
if (value17 < a1) {
r30 = value17;
continue reducibleLoop14;
}
break reducibleJoin28;
}
}
}
value37 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
if (value37 < a2) {
r12 = value37;
continue reducibleLoop8;
}
break reducibleJoin94;
}
}
}
return uint8Array;
}
function _decompress(a0, a1, a2, a3) { // fn#20886, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:3137, offset: 0x00edf588, size: 926 bytes, params: 5, frame: 66
var r12;
var r13;
var r33;
var r34;
var r35;
var r36;
var r38;
var r39;
var r48;
var r49;
var r50;
var r0;
var width;
var height;
var value11;
var value12;
var value13;
var value14;
var value15;
var value16;
var items5;
var items2;
var items3;
var items4;
var property;
var property2;
var property3;
var value17;
var value18;
var property4;
var value19;
var value20;
var value21;
var property5;
var property6;
var value22;
var property7;
var value23;
var value24;
var value25;
var property8;
var value26;
var value27;
var property9;
var value28;
var value29;
var value30;
var property10;
var value31;
var value32;
var property11;
var value33;
var value34;
var value35;
var property12;
var value36;
var value37;
var value38;
var value39;
var value40;
var value41;
var value42;
var value43;
var value44;
var value45;
var value46;
var value47;
let Date = global.Date;
Date.now();
const value2 = _getBPP(a0);
let Math = global.Math;
const value3 = Math.ceil(a2 * value2 / 8);
let Uint8Array = global.Uint8Array;
const value4 = value3 + 1;
let interlace = a0.interlace;
const value5 = (value4 + interlace) * a3;
let prototype = Uint8Array.prototype;
const value6 = Object.create(prototype, {constructor: {value: Uint8Array}});
let uint8Array = new Uint8Array(value5);
const value7 = uint8Array instanceof Object ? uint8Array : value6;
const r1 = a0.tabs.CgBI ? env0_1(a1, value7) : _inflate(a1, value7);
Date = global.Date;
Date.now();
interlace = a0.interlace;
const value10 = 0;
if (value10 == interlace) {
_filterZero(r1, a0, value10, a2, a3);
r0 = r1;
} else {
reducibleJoin27: while (true) {
if (a0.interlace != 1) {
r0 = r1;
break reducibleJoin27;
}
width = a0.width;
height = a0.height;
value11 = _getBPP(a0);
value12 = value11 >> 3;
Math = global.Math;
ceil = Math.ceil;
value13 = Reflect.apply(ceil, Math, [width * value11 / 8]);
Uint8Array = global.Uint8Array;
value14 = height * value13;
prototype = Uint8Array.prototype;
value15 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value16 = uint8Array instanceof Object ? uint8Array : value15;
items5 = [0, 0, 4, 0, 2, 0, 1];
items2 = [0, 4, 0, 2, 0, 1, 0];
items3 = [8, 8, 8, 4, 4, 2, 2];
items4 = [8, 8, 4, 4, 2, 2, 1];
r12 = value10;
r13 = value10;
reducibleLoop6: while (true) {
property = items3[r12];
property2 = items4[r12];
property3 = items5[r12];
if (property3 < height) {
r33 = value10;
r34 = property3;
reducibleLoop7: while (true) {
value17 = r34 + property;
value18 = typeof r33 === 'bigint' ? r33 + 1n : +r33 + 1;
if (value17 < height) {
r33 = value18;
r34 = value17;
continue reducibleLoop7;
}
r35 = value18;
break reducibleLoop7;
}
} else {
r35 = value10;
}
property4 = items2[r12];
if (property4 < width) {
r34 = value10;
r36 = property4;
reducibleLoop9: while (true) {
value19 = r36 + property2;
value20 = typeof r34 === 'bigint' ? r34 + 1n : +r34 + 1;
if (value19 < width) {
r34 = value20;
r36 = value19;
continue reducibleLoop9;
}
r33 = value20;
break reducibleLoop9;
}
} else {
r33 = value10;
}
Math = global.Math;
ceil = Math.ceil;
value21 = Reflect.apply(ceil, Math, [r33 * value11 / 8]);
_filterZero(r1, a0, r13, r33, r35);
property5 = items5[r12];
if (property5 < height) {
r38 = value10;
r39 = property5;
reducibleLoop11: while (true) {
property6 = items2[r12];
value22 = r13 + r38 * value21 << 3;
if (property6 < width) {
r48 = value22;
r49 = property6;
reducibleLoop12: while (true) {
reducibleJoin14: while (true) {
if (value11 != 1) {
break reducibleJoin14;
}
property7 = r1[r48 >> 3];
value23 = property7 >> 7 - (7 & r48);
value24 = r39 * value13;
value25 = value24 + (r49 >> 3);
property8 = value16[value25];
value26 = 7 & r49;
value27 = value23 & 1;
value16[value25] = property8 | value27 << 7 - value26;
break reducibleJoin14;
}
reducibleJoin16: while (true) {
if (value11 != 2) {
break reducibleJoin16;
}
property9 = r1[r48 >> 3];
value28 = property9 >> 6 - (7 & r48);
value29 = r39 * value13;
value30 = value29 + (r49 >> 2);
property10 = value16[value30];
value31 = 3 & r49;
value32 = value28 & 3;
value16[value30] = property10 | value32 << 6 - (value31 << 1);
break reducibleJoin16;
}
reducibleJoin18: while (true) {
if (value11 != 4) {
break reducibleJoin18;
}
property11 = r1[r48 >> 3];
value33 = property11 >> 4 - (7 & r48);
value34 = r39 * value13;
value35 = value34 + (r49 >> 1);
property12 = value16[value35];
value36 = 1 & r49;
value37 = value33 & 15;
value16[value35] = property12 | value37 << 4 - (value36 << 2);
break reducibleJoin18;
}
reducibleJoin21: while (true) {
if (!(value11 >= 8)) {
break reducibleJoin21;
}
value38 = r39 * value13;
value39 = value38 + r49 * value12;
if (!(value10 < value12)) {
break reducibleJoin21;
}
r50 = value10;
reducibleLoop20: while (true) {
value40 = value39 + r50;
value16[value40] = r1[(r48 >> 3) + r50];
value41 = typeof r50 === 'bigint' ? r50 + 1n : +r50 + 1;
if (value41 < value12) {
r50 = value41;
continue reducibleLoop20;
}
break reducibleJoin21;
}
}
value42 = r48 + value11;
value43 = r49 + property2;
if (value43 < width) {
r48 = value42;
r49 = value43;
continue reducibleLoop12;
}
break reducibleLoop12;
}
}
value44 = typeof r38 === 'bigint' ? r38 + 1n : +r38 + 1;
value45 = r39 + property;
if (value45 < height) {
r38 = value44;
r39 = value45;
continue reducibleLoop11;
}
break reducibleLoop11;
}
}
reducibleJoin25: while (true) {
if (r33 * r35 == value10) {
r33 = r13;
break reducibleJoin25;
}
value46 = r13 + r35 * (1 + value21);
r33 = value46;
break reducibleJoin25;
}
value47 = r12 + 1;
if (value47 < 7) {
r12 = value47;
r13 = r33;
continue reducibleLoop6;
}
r0 = value16;
break reducibleJoin27;
}
}
}
return r0;
}
function _inflate({buffer, length}, a1) { // fn#20887, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:4067, offset: 0x00edf926, size: 72 bytes, params: 3, frame: 16
const binding = env0_1;
const Uint8Array = global.Uint8Array;
const value = length - 6;
const value2 = Object.create(Uint8Array.prototype, {constructor: {value: Uint8Array}});
const uint8Array = new Uint8Array(buffer, 2, value);
return binding(uint8Array instanceof Object ? uint8Array : value2, a1);
}
function _filterZero(a0, a1, a2, a3, a4) { // fn#20889, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:7741, offset: 0x00edf991, size: 710 bytes, params: 6, frame: 31
var r1;
var r15;
var r12;
var value5;
var value6;
var value7;
var value9;
var value10;
var value11;
var _paethBinding;
var value12;
var value13;
var property2;
var property3;
var value14;
var value15;
var value16;
var value17;
var property4;
var value18;
var value19;
var value20;
var value21;
var value22;
var value23;
var value24;
var value25;
var value26;
var value27;
const value2 = _getBPP(a1);
let Math = global.Math;
const value3 = Math.ceil(a3 * value2 / 8);
Math = global.Math;
const value4 = Math.ceil(value2 / 8);
let property = a0[a2];
reducibleJoin2: while (true) {
if (property > 1) {
value5 = property - 2;
a0[a2] = [0, 0, 1][value5];
break reducibleJoin2;
}
break reducibleJoin2;
}
reducibleJoin5: while (true) {
if (property != 3) {
break reducibleJoin5;
}
if (!(value4 < value3)) {
break reducibleJoin5;
}
r1 = value4;
reducibleLoop4: while (true) {
value6 = r1 + 1;
property = a0[r1 + 1];
a0[value6] = property + (a0[r1 + 1 - value4] >>> 1) & 255;
value7 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (value7 < value3) {
r1 = value7;
continue reducibleLoop4;
}
break reducibleJoin5;
}
}
const value8 = 0;
if (value8 < a4) {
r1 = value8;
reducibleLoop6: while (true) {
value9 = a2 + r1 * value3;
value10 = value9 + r1 + 1;
property = a0[value10 - 1];
if (value8 == property) {
if (value8 < value3) {
r12 = value8;
reducibleLoop25: while (true) {
value25 = value9 + r12;
a0[value25] = a0[value10 + r12];
value26 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
if (value26 < value3) {
r12 = value26;
continue reducibleLoop25;
}
break reducibleLoop25;
}
}
} else if (property == 1) {
if (value8 < value4) {
r15 = value8;
reducibleLoop21: while (true) {
value21 = value9 + r15;
a0[value21] = a0[value10 + r15];
value22 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1;
if (value22 < value4) {
r15 = value22;
continue reducibleLoop21;
}
r12 = value22;
break reducibleLoop21;
}
} else {
r12 = value8;
}
if (r12 < value3) {
reducibleLoop23: while (true) {
value23 = value9 + r12;
property = a0[value10 + r12];
a0[value23] = property + a0[value9 + r12 - value4];
value24 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
if (value24 < value3) {
r12 = value24;
continue reducibleLoop23;
}
break reducibleLoop23;
}
}
} else if (property == 2) {
if (value8 < value3) {
r12 = value8;
reducibleLoop19: while (true) {
value19 = value9 + r12;
property = a0[value10 + r12];
a0[value19] = property + a0[value9 + r12 - value3];
value20 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
if (value20 < value3) {
r12 = value20;
continue reducibleLoop19;
}
break reducibleLoop19;
}
}
} else if (property == 3) {
if (value8 < value4) {
r15 = value8;
reducibleLoop15: while (true) {
value15 = value9 + r15;
property = a0[value10 + r15];
a0[value15] = property + (a0[value9 + r15 - value3] >>> 1);
value16 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1;
if (value16 < value4) {
r15 = value16;
continue reducibleLoop15;
}
r12 = value16;
break reducibleLoop15;
}
} else {
r12 = value8;
}
if (r12 < value3) {
reducibleLoop17: while (true) {
value17 = value9 + r12;
property = a0[value10 + r12];
property4 = a0[value9 + r12 - value3];
a0[value17] = property + (property4 + a0[value9 + r12 - value4] >>> 1);
value18 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
if (value18 < value3) {
r12 = value18;
continue reducibleLoop17;
}
break reducibleLoop17;
}
}
} else {
if (value8 < value4) {
r15 = value8;
reducibleLoop11: while (true) {
value11 = value9 + r15;
property = a0[value10 + r15];
a0[value11] = property + _paeth(value8, a0[value9 + r15 - value3], value8);
value12 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1;
if (value12 < value4) {
r15 = value12;
continue reducibleLoop11;
}
r12 = value12;
break reducibleLoop11;
}
} else {
r12 = value8;
}
if (r12 < value3) {
reducibleLoop13: while (true) {
value13 = value9 + r12;
property = a0[value10 + r12];
_paethBinding = _paeth;
property2 = a0[value9 + r12 - value4];
property3 = a0[value9 + r12 - value3];
a0[value13] = property + _paethBinding(property2, property3,
a0[value9 + r12 - value4 - value3]);
value14 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
if (value14 < value3) {
r12 = value14;
continue reducibleLoop13;
}
break reducibleLoop13;
}
}
}
value27 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (value27 < a4) {
r1 = value27;
continue reducibleLoop6;
}
break reducibleLoop6;
}
}
return a0;
}
function _IHDR(a0, a1, a2) { // fn#20891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:8464, offset: 0x00edfca0, size: 133 bytes, params: 4, frame: 15
var value;
let binding = env0_0;
a2.width = binding.readUint(a0, a1);
const value2 = a1 + 4;
binding = env0_0;
a2.height = binding.readUint(a0, value2);
a2.depth = a0[value2 + 4];
value = typeof value === 'bigint' ? value + 1n : +value + 1;
a2.ctype = a0[value];
value = typeof value === 'bigint' ? value + 1n : +value + 1;
a2.compress = a0[value];
value = typeof value === 'bigint' ? value + 1n : +value + 1;
a2.filter = a0[value];
a2.interlace = a0[typeof value === 'bigint' ? value + 1n : +value + 1];
}
function _copyTile(a0, a1, a2, a3, a4, a5, a6, a7, a8) { // fn#20892, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:8638, offset: 0x00edfd25, size: 1071 bytes, params: 10, frame: 77
var r10;
var r40;
var r51;
var r52;
var r65;
var value4;
var value5;
var value6;
var value7;
var property;
var property2;
var property3;
var property4;
var property5;
var property6;
var property7;
var property8;
var property9;
var property10;
var property11;
var value8;
var property12;
var property13;
var value9;
var property14;
var value10;
var property15;
var value11;
var value12;
var value13;
var value14;
var value15;
var value16;
var value17;
var value18;
var value19;
var value20;
var value21;
var value22;
var value23;
var value24;
var value25;
var value26;
var value27;
let Math = global.Math;
const value = Math.min(a1, a4);
Math = global.Math;
const value2 = Math.min(a2, a5);
const value3 = 0;
if (value3 < value2) {
r10 = value3;
reducibleLoop1: while (true) {
if (value3 < value) {
r40 = value3;
reducibleLoop2: while (true) {
reducibleJoin6: while (true) {
reducibleJoin4: while (true) {
if (a6 >= value3) {
if (a7 >= value3) {
value6 = r10 * a1 + r40 << 2;
value7 = (a7 + r10) * a4 + a6 + r40 << 2;
r51 = value7;
r52 = value6;
break reducibleJoin6;
}
break reducibleJoin4;
}
break reducibleJoin4;
}
value4 = (-a7 + r10) * a1 - a6 + r40 << 2;
value5 = r10 * a4 + r40 << 2;
r51 = value5;
r52 = value4;
break reducibleJoin6;
}
if (value3 == a8) {
a3[r51] = a0[r52];
property = a0[r52 + 1];
a3[r51 + 1] = property;
property = a0[r52 + 2];
a3[r51 + 2] = property;
property = a0[r52 + 3];
a3[r51 + 3] = property;
} else if (a8 == 1) {
value11 = 0.00392156862745098 * a0[r52 + 3];
value12 = a0[r52] * value11;
value13 = a0[r52 + 1] * value11;
value14 = a0[r52 + 2] * value11;
value15 = r51 + 3;
value16 = 0.00392156862745098 * a3[value15];
value17 = a3[r51] * value16;
value18 = r51 + 1;
value19 = a3[value18] * value16;
value20 = r51 + 2;
value21 = a3[value20] * value16;
value22 = 1 - value11;
value23 = value11 + value16 * value22;
reducibleJoin25: while (true) {
if (value3 === value23) {
r65 = value3;
break reducibleJoin25;
}
value24 = 1 / value23;
r65 = value24;
break reducibleJoin25;
}
a3[value15] = 255 * value23;
value25 = (value12 + value17 * value22) * r65;
a3[r51 + value3] = value25;
a3[value18] = (value13 + value19 * value22) * r65;
a3[value20] = (value14 + value21 * value22) * r65;
} else if (a8 == 2) {
property = a0[r52 + 3];
property9 = a0[r52];
property10 = a0[r52 + 1];
property11 = a0[r52 + 2];
value8 = r51 + 3;
property12 = a3[value8];
property13 = a3[r51];
value9 = r51 + 1;
property14 = a3[value9];
value10 = r51 + 2;
property15 = a3[value10];
reducibleJoin27: while (true) {
reducibleJoin21: while (true) {
if (property != property12) {
break reducibleJoin21;
}
if (property9 != property13) {
break reducibleJoin21;
}
if (property10 != property14) {
break reducibleJoin21;
}
if (property11 == property15) {
a3[r51] = value3;
a3[value9] = value3;
a3[value10] = value3;
a3[value8] = value3;
break reducibleJoin27;
}
break reducibleJoin21;
}
a3[r51] = property9;
a3[value9] = property10;
a3[value10] = property11;
a3[value8] = property;
break reducibleJoin27;
}
} else {
reducibleJoin27: while (true) {
if (a8 != 3) {
break reducibleJoin27;
}
property = a0[r52 + 3];
property2 = a0[r52];
property3 = a0[r52 + 1];
property4 = a0[r52 + 2];
property5 = a3[r51 + 3];
property6 = a3[r51];
property7 = a3[r51 + 1];
property8 = a3[r51 + 2];
if (property == property5) {
reducibleJoin14: while (true) {
if (property2 != property6) {
break reducibleJoin14;
}
if (property3 != property7) {
break reducibleJoin14;
}
if (property4 == property8) {
break reducibleJoin27;
}
break reducibleJoin14;
}
}
if (property < 220) {
if (property5 > 20) {
return false;
}
break reducibleJoin27;
}
break reducibleJoin27;
}
}
value26 = typeof r40 === 'bigint' ? r40 + 1n : +r40 + 1;
if (value26 < value) {
r40 = value26;
continue reducibleLoop2;
}
break reducibleLoop2;
}
}
value27 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1;
if (!(value27 < value2)) {
return true;
}
r10 = value27;
continue reducibleLoop1;
}
}
return true;
}
function readUTF8(a0, a1, a2) { // fn#20902, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:763, offset: 0x00ee0345, size: 135 bytes, params: 4, frame: 25
var r5;
var r10;
var binding;
var pad;
var property;
var toString;
var value4;
var decodeURIComponent;
var error;
let value = '';
const value2 = 0;
if (value2 < a2) {
r5 = value;
for (r10 = value2; true; r10 = value4) {
binding = env0_0;
pad = binding.pad;
property = a0[a1 + r10];
toString = property.toString;
value = r5 + ('%' + Reflect.apply(pad, binding, [Reflect.apply(toString, property, [16])]));
value4 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1;
if (!(value4 < a2)) {
r5 = value;
break;
}
r5 = value;
}
} else {
r5 = value;
}
try {
decodeURIComponent = global.decodeURIComponent;
value = decodeURIComponent(r5);
} catch (error) {
binding = env0_0;
return binding.readASCII(a0, a1, a2);
}
return value;
}
function _fun20903() { // fn#20903, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:4146, offset: 0x00ee03cc, size: 700 bytes, params: 1, frame: 16
const F_20907 = function(a0, a1, a2) {
var value = a0[a1 >>> 3] | a0[1 + (a1 >>> 3)] << 8;
var value2 = 7 & a1;
var value3 = 1 << a2;
value >>>= value2;
return value & value3 - 1;
};
const s_20908 = function(a0, a1, a2) {
var value = a0[a1 >>> 3] | a0[1 + (a1 >>> 3)] << 8;
var value2 = a0[2 + (a1 >>> 3)] << 16;
var value3 = 7 & a1;
var value4 = 1 << a2;
value = (value | value2) >>> value3;
return value & value4 - 1;
};
const w_20909 = function(a0, a1) {
return (a0[a1 >>> 3] | a0[1 + (a1 >>> 3)] << 8 | a0[2 + (a1 >>> 3)] << 16) >>> (7 & a1);
};
const H_20910 = function(a0, a1) {
var length = a0.length;
if (a1 <= length) {
return a0;
}
var Uint8Array = global.Uint8Array;
var Math = global.Math;
var value = Math.max(length << 1, a1);
value = new Uint8Array(value);
value.set(a0, 0);
return value;
};
const d_20912 = function(a0, a1, a2, a3) {
var r6;
var r7;
var r0;
var r1;
var property;
var value3;
var value4;
var value = a3.length >>> 1;
var value2 = 0;
if (value2 < a2) {
r6 = value2;
r7 = value2;
while (true) {
property = a0[r6 + a1];
a3[r6 << 1] = value2;
a3[1 + (r6 << 1)] = property;
r7 = property > r7 ? property : r7;
value3 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value3 < a2) {
r6 = value3;
continue;
}
r0 = r7;
r1 = value3;
break;
}
} else {
r0 = value2;
r1 = value2;
}
if (r1 < value) {
while (true) {
a3[r1 << 1] = value2;
a3[1 + (r1 << 1)] = value2;
value4 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (!(value4 < value)) {
break;
}
r1 = value4;
}
}
return r0;
};
const Uint16Array = global.Uint16Array;
const Uint32Array = global.Uint32Array;
const object2 = {};
object2.m = new Uint16Array(16);
object2.v = new Uint16Array(16);
object2.d = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
object2.o = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163,
195, 227, 258, 999, 999, 999];
object2.z = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0];
object2.B = new Uint16Array(32);
object2.p = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535];
object2.w = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0];
object2.h = new Uint32Array(32);
object2.g = new Uint16Array(512);
object2.s = [];
object2.A = new Uint16Array(32);
object2.t = [];
object2.k = new Uint16Array(32768);
object2.c = [];
object2.a = [];
object2.n = new Uint16Array(32768);
object2.e = [];
object2.C = new Uint16Array(512);
object2.b = [];
object2.i = new Uint16Array(32768);
object2.r = new Uint32Array(286);
object2.f = new Uint32Array(30);
object2.l = new Uint32Array(19);
object2.u = new Uint32Array(15000);
object2.q = new Uint16Array(65536);
object2.j = new Uint16Array(32768);
_fun20913();
return v_20915;
}
function decode_20916(a0) { // fn#20916, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:9456, offset: 0x00ee1432, size: 3584 bytes, params: 2, frame: 93
var r16;
var r17;
var r18;
var r58;
var r75;
var r3;
var r62;
var r64;
var r65;
var r66;
var r74;
var r6;
var r7;
var property;
var value9;
var readUint2;
var value11;
var value12;
var readASCII;
var value13;
var value14;
var ctype;
var tabs;
var value15;
var items2;
var value16;
var readUint3;
var value17;
var items4;
var readBytes;
var PLTE;
var value18;
var push;
var value19;
var nextZero;
var value20;
var value21;
var value22;
var value23;
var value24;
var value25;
var value26;
var readUTF8;
var value27;
var value28;
var _inflateBinding;
var slice;
var value29;
var value30;
var value31;
var value32;
var value33;
var value34;
var value35;
var value36;
var value37;
var value38;
var readUint4;
var value39;
var readUint5;
var value40;
var readUint6;
var value41;
var value42;
var value43;
var frames;
var frames2;
var _decompressBinding;
var value44;
var rect;
var width;
var height;
var object5;
var value45;
var object6;
var value46;
var object7;
var value47;
var value48;
var value49;
var value50;
var value51;
var value52;
var value53;
var value54;
var value55;
var error;
var value56;
var value57;
var readUint7;
var value58;
var frames3;
var value59;
const value = undefined;
let Uint8Array = global.Uint8Array;
let prototype = Uint8Array.prototype;
const value2 = Object.create(prototype, {constructor: {value: Uint8Array}});
let uint8Array = new Uint8Array(a0);
const value3 = uint8Array instanceof Object ? uint8Array : value2;
const value4 = 8;
const binding = env0_0;
const readUshort = binding.readUshort;
const readUint = binding.readUint;
const object8 = {tabs: {}, frames: []};
Uint8Array = global.Uint8Array;
let length = value3.length;
uint8Array = new Uint8Array(length);
const items3 = [137, 80, 78, 71, 13, 10, 26, 10];
const value8 = 0;
let r2 = value8;
reducibleLoop1: while (true) {
property = value3[r2];
if (property != items3[r2]) {
throw 'The input is not a PNG file!';
}
value9 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value9 < value4) {
r2 = value9;
continue reducibleLoop1;
}
break reducibleLoop1;
}
length = value3.length;
if (value4 < length) {
r16 = value8;
r17 = value8;
r18 = value;
r58 = value4;
reducibleLoop4: while (true) {
readUint2 = binding.readUint;
value11 = Reflect.apply(readUint2, binding, [value3, r58]);
value12 = r58 + 4;
readASCII = binding.readASCII;
value13 = Reflect.apply(readASCII, binding, [value3, value12, 4]);
value14 = value12 + 4;
if (value13 == 'IHDR') {
_IHDR(value3, value14, object8);
r65 = r16;
r66 = r18;
r74 = r17;
} else if (value13 == 'iCCP') {
if (value8 == value3[value14]) {
r62 = value14;
} else {
r62 = value14;
reducibleLoop70: while (true) {
value52 = typeof r62 === 'bigint' ? r62 + 1n : +r62 + 1;
if (value8 != value3[value52]) {
r62 = value52;
continue reducibleLoop70;
}
r62 = value52;
break reducibleLoop70;
}
}
readASCII = binding.readASCII;
Reflect.apply(readASCII, binding, [value3, value14, r62 - value14]);
value3[r62 + 1];
slice = value3.slice;
value53 = r62 + 2;
value54 = Reflect.apply(slice, value3, [value53, value14 + value11]);
reducibleJoin73: while (true) {
reduciblePort76: while (true) {
exceptionLanding75: while (true) {
try {
_inflateBinding = _inflate;
} catch (error) {
break exceptionLanding75;
}
break reducibleJoin73;
}
value56 = env0_1(value54);
r64 = value56;
break reduciblePort76;
}
tabs = object8.tabs;
tabs[value13] = r64;
r65 = r16;
r66 = r18;
r74 = r17;
value57 = value14 + value11;
readUint7 = binding.readUint;
Reflect.apply(readUint7, binding, [value3, value57]);
value58 = value57 + 4;
length = value3.length;
if (value58 < length) {
r16 = r65;
r17 = r74;
r18 = r66;
r58 = value58;
continue reducibleLoop4;
}
r6 = r65;
r7 = r66;
break reducibleLoop4;
}
try {
value55 = _inflateBinding(value54);
} catch (error) {
break exceptionLanding75;
}
r64 = value55;
tabs = object8.tabs;
tabs[value13] = r64;
r65 = r16;
r66 = r18;
r74 = r17;
} else if (value13 == 'CgBI') {
tabs = object8.tabs;
slice = value3.slice;
tabs[value13] = Reflect.apply(slice, value3, [value14, value14 + 4]);
r65 = r16;
r66 = r18;
r74 = r17;
} else if (value13 == 'IDAT') {
if (value8 < value11) {
r75 = value8;
reducibleLoop66: while (true) {
value49 = r17 + r75;
uint8Array[value49] = value3[value14 + r75];
value50 = typeof r75 === 'bigint' ? r75 + 1n : +r75 + 1;
if (value50 < value11) {
r75 = value50;
continue reducibleLoop66;
}
break reducibleLoop66;
}
}
value51 = r17 + value11;
r65 = r16;
r66 = r18;
r74 = value51;
} else if (value13 == 'acTL') {
tabs = object8.tabs;
object7 = {num_frames: readUint(value3, value14), num_plays: readUint(value3, value14 + 4)};
tabs[value13] = object7;
Uint8Array = global.Uint8Array;
length = value3.length;
prototype = Uint8Array.prototype;
value47 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array(length);
value48 = uint8Array instanceof Object ? uint8Array : value47;
r65 = r16;
r66 = value48;
r74 = r17;
} else if (value13 == 'fcTL') {
reducibleJoin62: while (true) {
if (value8 == r16) {
r3 = r16;
break reducibleJoin62;
}
frames = object8.frames;
frames2 = object8.frames;
length = frames2.length;
property = frames[length - 1];
_decompressBinding = _decompress;
slice = r18.slice;
value44 = Reflect.apply(slice, r18, [value8, r16]);
rect = property.rect;
width = rect.width;
rect = property.rect;
height = rect.height;
property.data = _decompressBinding(object8, value44, width, height);
r3 = value8;
break reducibleJoin62;
}
object5 = {x: readUint(value3, value14 + 12), y: readUint(value3, value14 + 16), width: readUint(value3,
value14 + 4), height: readUint(value3, value14 + value4)};
value45 = readUshort(value3, value14 + 22);
object6 = {rect: object5};
value46 = readUshort(value3, value14 + 20);
r2 = value8 == value45 ? 100 : value45;
object6.delay = 1000 * (value46 / r2);
object6.dispose = value3[value14 + 24];
object6.blend = value3[value14 + 25];
frames = object8.frames;
push = frames.push;
Reflect.apply(push, frames, [object6]);
r65 = r3;
r66 = r18;
r74 = r17;
} else if (value13 == 'fdAT') {
if (value8 < value11 - 4) {
r75 = value8;
reducibleLoop58: while (true) {
value41 = r16 + r75;
r18[value41] = value3[value14 + r75 + 4];
value42 = typeof r75 === 'bigint' ? r75 + 1n : +r75 + 1;
if (value42 < value11 - 4) {
r75 = value42;
continue reducibleLoop58;
}
break reducibleLoop58;
}
}
value43 = r16 + (value11 - 4);
r65 = value43;
r66 = r18;
r74 = r17;
} else if (value13 == 'pHYs') {
tabs = object8.tabs;
readUint5 = binding.readUint;
value40 = Reflect.apply(readUint5, binding, [value3, value14]);
readUint6 = binding.readUint;
tabs[value13] = [value40, Reflect.apply(readUint6, binding, [value3, value14 + 4]),
value3[value14 + value4]];
r65 = r16;
r66 = r18;
r74 = r17;
} else if (value13 == 'cHRM') {
tabs = object8.tabs;
tabs[value13] = [];
r2 = value8;
reducibleLoop55: while (true) {
tabs = object8.tabs;
property = tabs[value13];
push = property.push;
readUint4 = binding.readUint;
Reflect.apply(push, property, [Reflect.apply(readUint4, binding, [value3, value14 + 4 * r2])]);
value39 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value39 < value4) {
r2 = value39;
continue reducibleLoop55;
}
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleLoop55;
}
} else {
reducibleJoin78: while (true) {
reducibleJoin50: while (true) {
if (value13 == 'tEXt') {
tabs = object8.tabs;
if (tabs[value13] != null) {
break reducibleJoin50;
}
tabs = object8.tabs;
tabs[value13] = {};
break reducibleJoin50;
}
if (value13 == 'zTXt') {
tabs = object8.tabs;
if (tabs[value13] != null) {
break reducibleJoin50;
}
tabs = object8.tabs;
tabs[value13] = {};
break reducibleJoin50;
}
if (value13 == 'iTXt') {
tabs = object8.tabs;
reducibleJoin44: while (true) {
if (tabs[value13] != null) {
break reducibleJoin44;
}
tabs = object8.tabs;
tabs[value13] = {};
break reducibleJoin44;
}
nextZero = binding.nextZero;
value20 = Reflect.apply(nextZero, binding, [value3, value14]);
readASCII = binding.readASCII;
value21 = Reflect.apply(readASCII, binding, [value3, value14, value20 - value14]);
value22 = value20 + 1;
property = value3[value22];
value3[value22 + 1];
value23 = value22 + 2;
nextZero = binding.nextZero;
value24 = Reflect.apply(nextZero, binding, [value3, value23]);
readASCII = binding.readASCII;
Reflect.apply(readASCII, binding, [value3, value23, value24 - value23]);
value25 = value24 + 1;
nextZero = binding.nextZero;
value26 = Reflect.apply(nextZero, binding, [value3, value25]);
readUTF8 = binding.readUTF8;
Reflect.apply(readUTF8, binding, [value3, value25, value26 - value25]);
value27 = value26 + 1;
value28 = value11 - (value27 - value14);
if (value8 == property) {
readUTF8 = binding.readUTF8;
value31 = Reflect.apply(readUTF8, binding, [value3, value27, value28]);
r2 = value31;
} else {
_inflateBinding = _inflate;
slice = value3.slice;
value29 = _inflateBinding(Reflect.apply(slice, value3, [value27, value27 + value28]));
readUTF8 = binding.readUTF8;
length = value29.length;
value30 = Reflect.apply(readUTF8, binding, [value29, value8, length]);
r2 = value30;
}
tabs = object8.tabs;
tabs[value13][value21] = r2;
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
if (value13 == 'PLTE') {
tabs = object8.tabs;
readBytes = binding.readBytes;
tabs[value13] = Reflect.apply(readBytes, binding, [value3, value14, value11]);
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
if (value13 == 'hIST') {
tabs = object8.tabs;
PLTE = tabs.PLTE;
length = PLTE.length;
value18 = length / 3;
tabs = object8.tabs;
tabs[value13] = [];
if (value8 < value18) {
r2 = value8;
reducibleLoop40: while (true) {
tabs = object8.tabs;
property = tabs[value13];
push = property.push;
Reflect.apply(push, property, [readUshort(value3, value14 + 2 * r2)]);
value19 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value19 < value18) {
r2 = value19;
continue reducibleLoop40;
}
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
value57 = value14 + value11;
readUint7 = binding.readUint;
Reflect.apply(readUint7, binding, [value3, value57]);
value58 = value57 + 4;
length = value3.length;
if (value58 < length) {
r16 = r65;
r17 = r74;
r18 = r66;
r58 = value58;
continue reducibleLoop4;
}
r6 = r65;
r7 = r66;
break reducibleLoop4;
}
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
if (value13 == 'tRNS') {
ctype = object8.ctype;
if (ctype == 3) {
tabs = object8.tabs;
readBytes = binding.readBytes;
tabs[value13] = Reflect.apply(readBytes, binding, [value3, value14, value11]);
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
ctype = object8.ctype;
if (value8 == ctype) {
object8.tabs[value13] = readUshort(value3, value14);
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
ctype = object8.ctype;
if (ctype != 2) {
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
tabs = object8.tabs;
value17 = readUshort(value3, value14);
items4 = [value17, readUshort(value3, value14 + 2), readUshort(value3, value14 + 4)];
tabs[value13] = items4;
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
if (value13 == 'gAMA') {
tabs = object8.tabs;
readUint3 = binding.readUint;
tabs[value13] = Reflect.apply(readUint3, binding, [value3, value14]) / 100000;
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
if (value13 == 'sRGB') {
tabs = object8.tabs;
tabs[value13] = value3[value14];
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
if (value13 == 'bKGD') {
ctype = object8.ctype;
if (value8 != ctype) {
ctype = object8.ctype;
if (ctype != 4) {
ctype = object8.ctype;
if (ctype != 2) {
ctype = object8.ctype;
if (ctype != 6) {
ctype = object8.ctype;
if (ctype != 3) {
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
object8.tabs[value13] = value3[value14];
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
}
tabs = object8.tabs;
value15 = readUshort(value3, value14);
items2 = [value15, readUshort(value3, value14 + 2), readUshort(value3,
value14 + 4)];
tabs[value13] = items2;
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
}
tabs = object8.tabs;
value16 = readUshort(value3, value14);
tabs[value13] = [value16];
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
if (value13 == 'IEND') {
r6 = r16;
r7 = r18;
break reducibleLoop4;
}
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
nextZero = binding.nextZero;
value32 = Reflect.apply(nextZero, binding, [value3, value14]);
readASCII = binding.readASCII;
value33 = Reflect.apply(readASCII, binding, [value3, value14, value32 - value14]);
value34 = value14 + value11 - value32 - 1;
if (value13 == 'tEXt') {
readASCII = binding.readASCII;
value38 = Reflect.apply(readASCII, binding, [value3, value32 + 1, value34]);
r2 = value38;
} else {
_inflateBinding = _inflate;
slice = value3.slice;
value35 = value32 + 2;
value36 = _inflateBinding(Reflect.apply(slice, value3, [value35, value32 + 2 + value34]));
readUTF8 = binding.readUTF8;
length = value36.length;
value37 = Reflect.apply(readUTF8, binding, [value36, value8, length]);
r2 = value37;
}
tabs = object8.tabs;
tabs[value13][value33] = r2;
r65 = r16;
r66 = r18;
r74 = r17;
break reducibleJoin78;
}
}
value57 = value14 + value11;
readUint7 = binding.readUint;
Reflect.apply(readUint7, binding, [value3, value57]);
value58 = value57 + 4;
length = value3.length;
if (value58 < length) {
r16 = r65;
r17 = r74;
r18 = r66;
r58 = value58;
continue reducibleLoop4;
}
r6 = r65;
r7 = r66;
break reducibleLoop4;
}
} else {
r6 = value8;
r7 = value;
}
reducibleJoin81: while (true) {
if (value8 == r6) {
break reducibleJoin81;
}
frames = object8.frames;
frames3 = object8.frames;
length = frames3.length;
property = frames[length - 1];
_decompressBinding = _decompress;
slice = r7.slice;
value59 = Reflect.apply(slice, r7, [value8, r6]);
rect = property.rect;
width = rect.width;
rect = property.rect;
height = rect.height;
property.data = _decompressBinding(object8, value59, width, height);
break reducibleJoin81;
}
object8.data = _decompress(object8, uint8Array, object8.width, object8.height);
delete object8.compress;
delete object8.interlace;
delete object8.filter;
return object8;
}
function toRGBA8(a0) { // fn#20917, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:11990, offset: 0x00ee2232, size: 615 bytes, params: 2, frame: 39
var r6;
var r16;
var r1;
var property;
var rect;
var x;
var y;
var width2;
var height2;
var decodeImageBinding;
var value10;
var value11;
var blend;
var push;
var buffer;
var slice;
var dispose;
var value12;
var value13;
const width = a0.width;
const height = a0.height;
if (a0.tabs.acTL == null) {
return [decodeImage(a0.data, width, height, a0).buffer];
}
const items2 = [];
let frames = a0.frames;
const value = 0;
let data = frames[value].data;
reducibleJoin3: while (true) {
if (data != null) {
break reducibleJoin3;
}
frames = a0.frames;
property = frames[value];
data = a0.data;
property.data = data;
break reducibleJoin3;
}
const value2 = width * height * 4;
let Uint8Array = global.Uint8Array;
let uint8Array = new Uint8Array(value2);
Uint8Array = global.Uint8Array;
uint8Array = new Uint8Array(value2);
Uint8Array = global.Uint8Array;
uint8Array = new Uint8Array(value2);
let length = a0.frames.length;
if (value < length) {
r6 = value;
reducibleLoop4: while (true) {
frames = a0.frames;
property = frames[r6];
rect = property.rect;
x = rect.x;
rect = property.rect;
y = rect.y;
rect = property.rect;
width2 = rect.width;
rect = property.rect;
height2 = rect.height;
decodeImageBinding = decodeImage;
data = property.data;
value10 = decodeImageBinding(data, width2, height2, a0);
reducibleJoin7: while (true) {
if (value == r6) {
break reducibleJoin7;
}
if (!(value < value2)) {
break reducibleJoin7;
}
r16 = value;
reducibleLoop6: while (true) {
uint8Array[r16] = uint8Array[r16];
value11 = typeof r16 === 'bigint' ? r16 + 1n : +r16 + 1;
if (value11 < value2) {
r16 = value11;
continue reducibleLoop6;
}
break reducibleJoin7;
}
}
blend = property.blend;
if (value == blend) {
_copyTile(value10, width2, height2, uint8Array, width, height, x, y, value);
} else {
blend = property.blend;
reducibleJoin11: while (true) {
if (blend != 1) {
break reducibleJoin11;
}
_copyTile(value10, width2, height2, uint8Array, width, height, x, y, 1);
break reducibleJoin11;
}
}
push = items2.push;
buffer = uint8Array.buffer;
slice = buffer.slice;
Reflect.apply(push, items2, [Reflect.apply(slice, buffer, [value])]);
dispose = property.dispose;
reducibleJoin17: while (true) {
if (value == dispose) {
break reducibleJoin17;
}
dispose = property.dispose;
if (dispose == 1) {
_copyTile(uint8Array, width2, height2, uint8Array, width, height, x, y, value);
break reducibleJoin17;
}
dispose = property.dispose;
if (dispose != 2) {
break reducibleJoin17;
}
if (!(value < value2)) {
break reducibleJoin17;
}
r1 = value;
reducibleLoop15: while (true) {
uint8Array[r1] = uint8Array[r1];
value12 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (value12 < value2) {
r1 = value12;
continue reducibleLoop15;
}
break reducibleJoin17;
}
}
value13 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
frames = a0.frames;
length = frames.length;
if (value13 < length) {
r6 = value13;
continue reducibleLoop4;
}
break reducibleLoop4;
}
}
return items2;
}
function addErr(a0, a1, a2, a3) { // fn#20919, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:13026, offset: 0x00ee2694, size: 138 bytes, params: 5, frame: 8
a1[a2] = a1[a2] + (a0[0] * a3 >> 4);
let value = a2 + 1;
a1[value] = a1[value] + (a0[1] * a3 >> 4);
value = a2 + 2;
a1[value] = a1[value] + (a0[2] * a3 >> 4);
value = a2 + 3;
a1[value] = a1[value] + (a0[3] * a3 >> 4);
}
function dither(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20922, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:13261, offset: 0x00ee27ab, size: 1104 bytes, params: 8, frame: 57
var r24;
var r0;
var r3;
var r8;
var r13;
var r14;
var r12;
var r2;
var r5;
var r31;
var r36;
var r33;
var r34;
var r41;
var r39;
var property;
var push;
var value2;
var value3;
var value6;
var value7;
var value8;
var value9;
var Math;
var sqrt;
var value10;
var value11;
var value17;
var length3;
var value19;
var value20;
var value21;
var value22;
var items5;
var value23;
var items6;
var value24;
var value25;
var value26;
var value27;
var value28;
var property2;
var value29;
var items7;
var property3;
var property4;
var property5;
var value30;
var value31;
var value32;
let value = dependencyMap;
reducibleJoin2: while (true) {
if (value != null) {
r24 = value;
break reducibleJoin2;
}
value = 1;
r24 = value;
break reducibleJoin2;
}
const length = importAll.length;
const items3 = [];
const items2 = [];
value = 0;
if (value < length) {
r0 = value;
reducibleLoop3: while (true) {
property = importAll[r0];
push = items3.push;
value2 = property >>> value;
Reflect.apply(push, items3, [[value2 & 255, property >>> 8 & 255, property >>> 16 & 255,
property >>> 24 & 255]]);
value3 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1;
if (value3 < length) {
r0 = value3;
continue reducibleLoop3;
}
break reducibleLoop3;
}
}
const value4 = 4294967295;
if (value < length) {
r3 = value;
reducibleLoop5: while (true) {
if (value < length) {
r8 = value;
r13 = value4;
reducibleLoop6: while (true) {
property = items3[r3];
value6 = D_20921(property, items3[r8]);
value7 = r8 != r3;
reducibleJoin8: while (true) {
if (value7) {
value8 = value6 < r13;
r14 = value8;
break reducibleJoin8;
}
r14 = value7;
break reducibleJoin8;
}
if (r14) {
r13 = value6;
}
value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
if (value9 < length) {
r8 = value9;
continue reducibleLoop6;
}
r12 = r13;
break reducibleLoop6;
}
} else {
r12 = value4;
}
Math = global.Math;
sqrt = Math.sqrt;
value10 = Reflect.apply(sqrt, Math, [r12]) / 2;
items2[r3] = ~~(value10 * value10);
value11 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
if (value11 < length) {
r3 = value11;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
const Uint32Array = global.Uint32Array;
const uint32Array = new Uint32Array(module.buffer);
const Int16Array = global.Int16Array;
const int16Array = new Int16Array(require * importDefault * 4);
const items4 = [0, 8, 2, 10, 12, 4, 14, 6, 3, 11, 1, 9, 15, 7, 13, 5];
if (value < items4.length) {
r2 = value;
reducibleLoop12: while (true) {
items4[r2] = 255 * ((items4[r2] + 0.5) / 16 - 0.5);
value17 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
length3 = items4.length;
if (value17 < length3) {
r2 = value17;
continue reducibleLoop12;
}
break reducibleLoop12;
}
}
if (value < importDefault) {
r5 = value;
reducibleLoop14: while (true) {
if (value < require) {
r31 = value;
reducibleLoop15: while (true) {
value19 = 4 * (r5 * require + r31);
if (r24 != 2) {
property = global[value19];
value23 = N_20920(property + int16Array[value19]);
items6 = [value23];
value24 = value19 + 1;
property = global[value24];
items6[1] = N_20920(property + int16Array[value24]);
value25 = value19 + 2;
property = global[value25];
items6[2] = N_20920(property + int16Array[value25]);
value26 = value19 + 3;
property = global[value26];
items6[3] = N_20920(property + int16Array[value26]);
r36 = items6;
} else {
value20 = 3 & r5;
value21 = 3 & r31;
property = items4[4 * value20 + value21];
value22 = N_20920(global[value19] + property);
items5 = [value22, N_20920(global[value19 + 1] + property),
N_20920(global[value19 + 2] + property),
N_20920(global[value19 + 3] + property)];
r36 = items5;
}
if (value < length) {
r33 = 16777215;
r34 = value;
r41 = value;
reducibleLoop19: while (true) {
value27 = D_20921(r36, items3[r34]);
if (value27 < r33) {
r33 = value27;
r41 = r34;
}
value28 = typeof r34 === 'bigint' ? r34 + 1n : +r34 + 1;
if (value28 < length) {
r34 = value28;
continue reducibleLoop19;
}
r39 = r41;
break reducibleLoop19;
}
} else {
r39 = value;
}
property = items3[r39];
property2 = r36[value];
value29 = property2 - property[value];
items7 = [value29];
property3 = r36[1];
items7[1] = property3 - property[1];
property4 = r36[2];
items7[2] = property4 - property[2];
property5 = r36[3];
items7[3] = property5 - property[3];
reducibleJoin29: while (true) {
if (r24 != 1) {
break reducibleJoin29;
}
reducibleJoin24: while (true) {
if (r31 == require - 1) {
break reducibleJoin24;
}
addErr(items7, int16Array, value19 + 4, 7);
break reducibleJoin24;
}
if (r5 == importDefault - 1) {
break reducibleJoin29;
}
reducibleJoin27: while (true) {
if (value == r31) {
break reducibleJoin27;
}
addErr(items7, int16Array, value19 + 4 * require - 4, 3);
break reducibleJoin27;
}
addErr(items7, int16Array, value19 + 4 * require, 5);
if (r31 == require - 1) {
break reducibleJoin29;
}
addErr(items7, int16Array, value19 + 4 * require + 4, 1);
break reducibleJoin29;
}
value30 = value19 >> 2;
exports[value30] = r39;
uint32Array[value30] = importAll[r39];
value31 = typeof r31 === 'bigint' ? r31 + 1n : +r31 + 1;
if (value31 < require) {
r31 = value31;
continue reducibleLoop15;
}
break reducibleLoop15;
}
}
value32 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
if (value32 < importDefault) {
r5 = value32;
continue reducibleLoop14;
}
break reducibleLoop14;
}
}
}
function _main(a0, a1, a2, a3, a4) { // fn#20923, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:14166, offset: 0x00ee2bfb, size: 1833 bytes, params: 6, frame: 39
var r14;
var r0;
var r1;
var r9;
var r11;
var r12;
var r16;
var r10;
var r18;
var r25;
var r8;
var loop;
var r24;
var value3;
var value6;
var value7;
var pako;
var deflate;
var value9;
var value10;
var plte;
var value12;
var value13;
var value14;
var value15;
var value16;
var value18;
var cimg;
var value19;
var value20;
var value21;
var value25;
var value27;
var value28;
var value29;
var value30;
var value31;
var value32;
var set;
var value33;
var value34;
var value35;
var value36;
var value37;
var value38;
var value39;
var value40;
var value41;
var value42;
var value43;
var value44;
var value45;
var value46;
var value47;
var value48;
var value49;
var property;
var value50;
var value51;
var value52;
var value53;
var value54;
var value55;
var value56;
var value57;
var value58;
var value59;
var value60;
var value61;
var value62;
var value63;
var value64;
var value65;
var value66;
var value67;
var value68;
var value69;
var value72;
var value73;
var value74;
var value75;
var value76;
var rect;
var width;
var value77;
var height;
var value78;
var x;
var value79;
var y;
var value80;
var value81;
var value82;
var dispose;
var value83;
var blend;
var value84;
var value85;
var value86;
var value87;
var value88;
var value89;
var value90;
var value91;
var value92;
var value93;
var value94;
let value = a4;
reducibleJoin2: while (true) {
if (value != null) {
r14 = value;
break reducibleJoin2;
}
r14 = {};
break reducibleJoin2;
}
const crc = env0_3.crc;
const writeUint = _bin.writeUint;
const writeUshort = _bin.writeUshort;
const writeASCII = _bin.writeASCII;
let frames = a0.frames;
let length = frames.length;
value = length > 1;
const value2 = 0;
reducibleJoin4: while (true) {
if (value) {
value3 = 20;
r0 = value3;
break reducibleJoin4;
}
r0 = value2;
break reducibleJoin4;
}
const value4 = 33;
const value5 = value4 + r0;
let sRGB = r14.sRGB;
reducibleJoin6: while (true) {
if (sRGB == null) {
r1 = value5;
break reducibleJoin6;
}
value6 = value5 + 13;
r1 = value6;
break reducibleJoin6;
}
let pHYs = r14.pHYs;
reducibleJoin8: while (true) {
if (pHYs == null) {
r9 = r1;
break reducibleJoin8;
}
value7 = r1 + 21;
r9 = value7;
break reducibleJoin8;
}
let iCCP = r14.iCCP;
reducibleJoin10: while (true) {
if (iCCP != null) {
pako = global.pako;
deflate = pako.deflate;
iCCP = r14.iCCP;
value9 = Reflect.apply(deflate, pako, [iCCP]);
length = value9.length;
value10 = r9 + (21 + length + 4);
r1 = value9;
r11 = value10;
break reducibleJoin10;
}
r1 = undefined;
r11 = r9;
break reducibleJoin10;
}
const ctype = a0.ctype;
const value11 = false;
reducibleJoin18: while (true) {
if (ctype == 3) {
plte = a0.plte;
length = plte.length;
if (value2 < length) {
r12 = value2;
r16 = value11;
reducibleLoop12: while (true) {
plte = a0.plte;
reducibleJoin14: while (true) {
if (plte[r12] >>> 24 === 255) {
break reducibleJoin14;
}
value12 = true;
r16 = value12;
break reducibleJoin14;
}
value13 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
if (value13 < length) {
r12 = value13;
continue reducibleLoop12;
}
r10 = r16;
break reducibleLoop12;
}
} else {
r10 = value11;
}
value14 = 3 * length;
reducibleJoin17: while (true) {
if (r10) {
value15 = 8 + 1 * length + 4;
r12 = value15;
break reducibleJoin17;
}
r12 = value2;
break reducibleJoin17;
}
value16 = r11 + (8 + value14 + 4 + r12);
r0 = value16;
r9 = r10;
break reducibleJoin18;
}
r0 = r11;
r9 = value11;
break reducibleJoin18;
}
length = a0.frames.length;
const value17 = 4;
if (value2 < length) {
r12 = value2;
r16 = r0;
reducibleLoop19: while (true) {
reducibleJoin21: while (true) {
if (value) {
value18 = r16 + 38;
r18 = value18;
break reducibleJoin21;
}
r18 = r16;
break reducibleJoin21;
}
frames = a0.frames;
cimg = frames[r12].cimg;
length = cimg.length;
value19 = r18 + (length + 12);
reducibleJoin23: while (true) {
if (value2 == r12) {
r18 = value19;
break reducibleJoin23;
}
value20 = value19 + value17;
r18 = value20;
break reducibleJoin23;
}
value21 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
frames = a0.frames;
length = frames.length;
if (value21 < length) {
r12 = value21;
r16 = r18;
continue reducibleLoop19;
}
r0 = r18;
break reducibleLoop19;
}
}
const Uint8Array = global.Uint8Array;
const uint8Array = new Uint8Array(r0 + 12);
const items = [137, 80, 78, 71, 13, 10, 26, 10];
r10 = value2;
reducibleLoop25: while (true) {
uint8Array[r10] = items[r10];
value25 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1;
if (value25 < 8) {
r10 = value25;
continue reducibleLoop25;
}
break reducibleLoop25;
}
writeUint(uint8Array, 8, 13);
writeASCII(uint8Array, 12, 'IHDR');
writeUint(uint8Array, 16, a1);
writeUint(uint8Array, 20, a2);
uint8Array[24] = a0.depth;
uint8Array[25] = a0.ctype;
uint8Array[26] = value2;
uint8Array[27] = value2;
uint8Array[28] = value2;
writeUint(uint8Array, 29, crc(uint8Array, 12, 17));
sRGB = r14.sRGB;
reducibleJoin28: while (true) {
if (sRGB != null) {
writeUint(uint8Array, value4, 1);
writeASCII(uint8Array, 37, 'sRGB');
sRGB = r14.sRGB;
uint8Array[41] = sRGB;
value27 = crc(uint8Array, 37, 5);
writeUint(uint8Array, 42, value27);
value28 = 46;
r25 = value28;
break reducibleJoin28;
}
r25 = value4;
break reducibleJoin28;
}
reducibleJoin30: while (true) {
if (r14.iCCP == null) {
r8 = r25;
break reducibleJoin30;
}
length = r1.length;
value29 = 13 + length;
writeUint(uint8Array, r25, value29);
value30 = r25 + value17;
writeASCII(uint8Array, value30, 'iCCP');
value31 = value30 + value17;
writeASCII(uint8Array, value31, 'ICC profile');
value32 = value31 + 11 + 2;
set = uint8Array.set;
Reflect.apply(set, uint8Array, [r1, value32]);
length = r1.length;
value33 = value32 + length;
value34 = value29 + value17;
writeUint(uint8Array, value33, crc(uint8Array, value33 - value34, value34));
value35 = value33 + value17;
r8 = value35;
break reducibleJoin30;
}
pHYs = r14.pHYs;
reducibleJoin32: while (true) {
if (pHYs == null) {
r1 = r8;
break reducibleJoin32;
}
writeUint(uint8Array, r8, 9);
value36 = r8 + value17;
writeASCII(uint8Array, value36, 'pHYs');
value37 = value36 + value17;
pHYs = r14.pHYs;
writeUint(uint8Array, value37, pHYs[value2]);
value38 = value37 + value17;
pHYs = r14.pHYs;
writeUint(uint8Array, value38, pHYs[1]);
value39 = value38 + value17;
pHYs = r14.pHYs;
uint8Array[value39] = pHYs[2];
value40 = typeof value39 === 'bigint' ? value39 + 1n : +value39 + 1;
writeUint(uint8Array, value40, crc(uint8Array, value40 - 13, 13));
value41 = value40 + value17;
r1 = value41;
break reducibleJoin32;
}
reducibleJoin36: while (true) {
if (value) {
writeUint(uint8Array, r1, 8);
value42 = r1 + value17;
writeASCII(uint8Array, value42, 'acTL');
value43 = value42 + value17;
frames = a0.frames;
length = frames.length;
writeUint(uint8Array, value43, length);
value44 = value43 + value17;
loop = r14.loop;
reducibleJoin35: while (true) {
if (loop != null) {
loop = r14.loop;
break reducibleJoin35;
}
loop = value2;
break reducibleJoin35;
}
writeUint(uint8Array, value44, loop);
value45 = value44 + value17;
writeUint(uint8Array, value45, crc(uint8Array, value45 - 12, 12));
value46 = value45 + value17;
r8 = value46;
break reducibleJoin36;
}
r8 = r1;
break reducibleJoin36;
}
reducibleJoin43: while (true) {
if (a0.ctype != 3) {
r1 = r8;
break reducibleJoin43;
}
plte = a0.plte;
length = plte.length;
writeUint(uint8Array, r8, 3 * length);
value47 = r8 + value17;
writeASCII(uint8Array, value47, 'PLTE');
value48 = value47 + value17;
if (value2 < length) {
r8 = value2;
reducibleLoop38: while (true) {
value49 = 3 * r8;
plte = a0.plte;
property = plte[r8];
value50 = 255 & property;
value51 = property >>> 8;
value52 = property >>> 16;
value53 = value48 + value49;
uint8Array[value53 + value2] = value50;
value54 = value51 & 255;
uint8Array[value53 + 1] = value54;
value55 = value52 & 255;
uint8Array[value53 + 2] = value55;
value56 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
if (value56 < length) {
r8 = value56;
continue reducibleLoop38;
}
break reducibleLoop38;
}
}
value57 = value48 + 3 * length;
value58 = 3 * length;
value59 = 3 * length;
value60 = value57 - value58 - value17;
writeUint(uint8Array, value57, crc(uint8Array, value60, value59 + value17));
value61 = value57 + value17;
if (r9) {
writeUint(uint8Array, value61, length);
value62 = value61 + value17;
writeASCII(uint8Array, value62, 'tRNS');
value63 = value62 + value17;
if (value2 < length) {
r9 = value2;
reducibleLoop41: while (true) {
value64 = value63 + r9;
plte = a0.plte;
uint8Array[value64] = plte[r9] >>> 24 & 255;
value65 = typeof r9 === 'bigint' ? r9 + 1n : +r9 + 1;
if (value65 < length) {
r9 = value65;
continue reducibleLoop41;
}
break reducibleLoop41;
}
}
value66 = value63 + length;
value67 = value66 - length;
value68 = length + value17;
writeUint(uint8Array, value66, crc(uint8Array, value67 - value17, value68));
value69 = value66 + value17;
r1 = value69;
break reducibleJoin43;
}
r1 = value61;
break reducibleJoin43;
}
length = a0.frames.length;
if (value2 < length) {
r9 = value2;
r10 = value2;
r11 = r1;
reducibleLoop44: while (true) {
frames = a0.frames;
property = frames[r10];
reducibleJoin46: while (true) {
if (value) {
writeUint(uint8Array, r11, 26);
value72 = r11 + value17;
writeASCII(uint8Array, value72, 'fcTL');
value73 = value72 + value17;
value74 = typeof r9 === 'bigint' ? r9 : +r9;
value75 = typeof value74 === 'bigint' ? value74 + 1n : +value74 + 1;
writeUint(uint8Array, value73, value74);
value76 = value73 + value17;
rect = property.rect;
width = rect.width;
writeUint(uint8Array, value76, width);
value77 = value76 + value17;
rect = property.rect;
height = rect.height;
writeUint(uint8Array, value77, height);
value78 = value77 + value17;
rect = property.rect;
x = rect.x;
writeUint(uint8Array, value78, x);
value79 = value78 + value17;
rect = property.rect;
y = rect.y;
writeUint(uint8Array, value79, y);
value80 = value79 + value17;
writeUshort(uint8Array, value80, a3[r10]);
value81 = value80 + 2;
writeUshort(uint8Array, value81, 1000);
value82 = value81 + 2;
dispose = property.dispose;
uint8Array[value82] = dispose;
value83 = typeof value82 === 'bigint' ? value82 + 1n : +value82 + 1;
blend = property.blend;
uint8Array[value83] = blend;
value84 = typeof value83 === 'bigint' ? value83 + 1n : +value83 + 1;
writeUint(uint8Array, value84, crc(uint8Array, value84 - 30, 30));
value85 = value84 + value17;
r8 = value85;
r25 = value75;
break reducibleJoin46;
}
r8 = r11;
r25 = r9;
break reducibleJoin46;
}
cimg = property.cimg;
length = cimg.length;
value86 = value2 == r10;
r24 = value86 ? value2 : value17;
writeUint(uint8Array, r8, length + r24);
value87 = r8 + value17;
r8 = value86 ? 'IDAT' : 'fdAT';
writeASCII(uint8Array, value87, r8);
value88 = value87 + value17;
reducibleJoin50: while (true) {
if (value2 == r10) {
r8 = value88;
r9 = r25;
break reducibleJoin50;
}
value89 = typeof r25 === 'bigint' ? r25 : +r25;
value90 = typeof value89 === 'bigint' ? value89 + 1n : +value89 + 1;
writeUint(uint8Array, value88, value89);
value91 = value88 + value17;
r8 = value91;
r9 = value90;
break reducibleJoin50;
}
set = uint8Array.set;
Reflect.apply(set, uint8Array, [cimg, r8]);
value92 = r8 + length;
writeUint(uint8Array, value92, crc(uint8Array, value87, value92 - value87));
value93 = value92 + value17;
value94 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1;
frames = a0.frames;
length = frames.length;
if (value94 < length) {
r10 = value94;
r11 = value93;
continue reducibleLoop44;
}
r1 = value93;
break reducibleLoop44;
}
}
writeUint(uint8Array, r1, value2);
writeASCII(uint8Array, r1 + value17, 'IEND');
value += value17;
writeUint(uint8Array, value, crc(uint8Array, value - value17, value17));
return uint8Array.buffer;
}
function compressPNG(a0, a1, a2) { // fn#20924, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:16107, offset: 0x00ee3324, size: 177 bytes, params: 4, frame: 28
var r4;
var property;
var rect;
var height;
var Uint8Array;
var bpl;
var prototype;
var value3;
var uint8Array;
var _filterZero_20928Binding;
var img;
var bpp;
let frames = a0.frames;
let length = frames.length;
let value = 0;
if (value < length) {
for (r4 = value; true; r4 = value) {
frames = a0.frames;
property = frames[r4];
rect = property.rect;
rect.width;
rect = property.rect;
height = rect.height;
Uint8Array = global.Uint8Array;
bpl = property.bpl;
value = height * bpl + height;
prototype = Uint8Array.prototype;
value3 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array(value);
value = uint8Array instanceof Object ? uint8Array : value3;
_filterZero_20928Binding = _filterZero_20928;
img = property.img;
bpp = property.bpp;
bpl = property.bpl;
property.cimg = _filterZero_20928Binding(img, height, bpp, bpl, value, a1, a2);
value = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
frames = a0.frames;
length = frames.length;
if (!(value < length)) {
break;
}
}
}
}
function compress_20925(a0, a1, a2, a3, a4) { // fn#20925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:16294, offset: 0x00ee33d5, size: 3739 bytes, params: 6, frame: 123
var r8;
var r13;
var r6;
var r16;
var r15;
var r1;
var r35;
var r49;
var r59;
var r65;
var r66;
var r67;
var r69;
var r70;
var r71;
var r72;
var r77;
var r81;
var r82;
var r85;
var r86;
var r87;
var r88;
var r94;
var r95;
var r96;
var r105;
var r103;
var r104;
var r97;
var r99;
var r100;
var r101;
var r102;
var r90;
var r91;
var r92;
var r93;
var r74;
var r79;
var r80;
var r84;
var r76;
var r58;
var r61;
var r62;
var r63;
var r64;
var r60;
var r50;
var r52;
var r53;
var r54;
var r55;
var r2;
var r10;
var r31;
var r3;
var r14;
var r29;
var r30;
var r5;
var r0;
var r11;
var r12;
var r41;
var r45;
var r48;
var r28;
var r37;
var r38;
var r4;
var Uint8Array;
var property7;
var prototype;
var value9;
var uint8Array;
var value10;
var value11;
var value12;
var value13;
var property8;
var value18;
var value19;
var Uint32Array;
var buffer;
var value20;
var uint32Array;
var value21;
var slice;
var value22;
var dispose;
var property9;
var property10;
var value23;
var value24;
var value25;
var property11;
var value26;
var value27;
var value28;
var value29;
var value30;
var value31;
var value32;
var value33;
var value34;
var property12;
var value35;
var value36;
var value37;
var value38;
var value39;
var _copyTileBinding;
var value40;
var value41;
var value42;
var push;
var value43;
var blend;
var rect;
var rect2;
var Math;
var min;
var x;
var x2;
var value44;
var y;
var y2;
var value45;
var object;
var max;
var width;
var value46;
var height;
var value47;
var value48;
var img;
var value49;
var value50;
var property13;
var length2;
var length3;
var value51;
var items4;
var byteLength;
var value52;
var value53;
var value54;
var property14;
var property15;
var property16;
var value55;
var value56;
var value57;
var plte;
var est;
var rgba;
var value58;
var inds;
var value59;
var value60;
var value61;
var value62;
var abuf;
var value63;
var value64;
var ditherBinding;
var set;
var value65;
var value66;
var value67;
var value69;
var length5;
var value70;
var value71;
var value72;
var value73;
var value74;
var value75;
var property17;
var property18;
var value76;
var value77;
var ceil;
var value78;
var value79;
var value80;
var value81;
var property19;
var value82;
var value83;
var value84;
var property20;
var property21;
var value85;
var value86;
var property22;
var property23;
var value87;
var value88;
var property24;
var property25;
var value89;
var value90;
var value91;
var value92;
var value93;
var length6;
let value = a1;
const value2 = a2;
const value3 = 0;
let property = a4[value3];
const value4 = 1;
const property2 = a4[value4];
const value5 = 2;
const property3 = a4[value5];
const value6 = 3;
const property4 = a4[value6];
const value7 = 4;
const property5 = a4[value7];
const property6 = a4[5];
let length = a0.length;
const value8 = 255;
if (value3 < length) {
r8 = value3;
r13 = value8;
reducibleLoop1: while (true) {
Uint8Array = global.Uint8Array;
property7 = a0[r8];
prototype = Uint8Array.prototype;
value9 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value10 = uint8Array instanceof Object ? uint8Array : value9;
length = value10.length;
if (value3 < length) {
r6 = value3;
r16 = r13;
reducibleLoop2: while (true) {
value11 = r16 & value10[r6 + value6];
value12 = r6 + value7;
if (value12 < length) {
r6 = value12;
r16 = value11;
continue reducibleLoop2;
}
r15 = value11;
break reducibleLoop2;
}
} else {
r15 = r13;
}
value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
length = a0.length;
if (value13 < length) {
r8 = value13;
r13 = r15;
continue reducibleLoop1;
}
r1 = r15;
break reducibleLoop1;
}
} else {
r1 = value8;
}
const value14 = value8 != r1;
const items5 = [];
length = a0.length;
const value16 = 1000000000;
const value17 = -1;
if (value3 < length) {
r35 = value3;
reducibleLoop5: while (true) {
Uint8Array = global.Uint8Array;
property8 = a0[r35];
prototype = Uint8Array.prototype;
value18 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value19 = uint8Array instanceof Object ? uint8Array : value18;
Uint32Array = global.Uint32Array;
buffer = value19.buffer;
prototype = Uint32Array.prototype;
value20 = Object.create(prototype, {constructor: {value: Uint32Array}});
uint32Array = new Uint32Array();
value21 = uint32Array instanceof Object ? uint32Array : value20;
r49 = property ? value4 : value3;
if (value3 != r35) {
reducibleJoin12: while (true) {
if (property3) {
r59 = value4;
break reducibleJoin12;
}
if (property) {
r59 = value4;
break reducibleJoin12;
}
if (value4 == r35) {
r59 = value4;
break reducibleJoin12;
}
dispose = items5[r35 - value5].dispose;
if (value3 != dispose) {
r59 = value4;
break reducibleJoin12;
}
r59 = value5;
break reducibleJoin12;
}
if (value3 < r59) {
r65 = value3;
r66 = value16;
r67 = value3;
r69 = value2;
r70 = value;
r71 = value3;
r72 = value3;
reducibleLoop13: while (true) {
Uint8Array = global.Uint8Array;
property9 = a0[r35 - value4 - r65];
prototype = Uint8Array.prototype;
Object.create(prototype, {constructor: {value: Uint8Array}});
new Uint8Array();
Uint32Array = global.Uint32Array;
property10 = a0[r35 - value4 - r65];
prototype = Uint32Array.prototype;
value23 = Object.create(prototype, {constructor: {value: Uint32Array}});
uint32Array = new Uint32Array();
value24 = uint32Array instanceof Object ? uint32Array : value23;
if (value3 < value2) {
r77 = value3;
r81 = value17;
r82 = value17;
r85 = value2;
r86 = value;
reducibleLoop14: while (true) {
if (value3 < value) {
r87 = value3;
r88 = r81;
r94 = r82;
r95 = r85;
r96 = r86;
reducibleLoop15: while (true) {
value25 = r77 * value + r87;
property11 = value21[value25];
reducibleJoin21: while (true) {
if (property11 == value24[value25]) {
r99 = r88;
r100 = r94;
r101 = r95;
r102 = r96;
break reducibleJoin21;
}
r105 = r87 < r96 ? r87 : r96;
r103 = r87 > r94 ? r87 : r94;
r104 = r77 < r95 ? r77 : r95;
r97 = r77 > r88 ? r77 : r88;
r99 = r97;
r100 = r103;
r101 = r104;
r102 = r105;
break reducibleJoin21;
}
value26 = typeof r87 === 'bigint' ? r87 + 1n : +r87 + 1;
if (value26 < value) {
r87 = value26;
r88 = r99;
r94 = r100;
r95 = r101;
r96 = r102;
continue reducibleLoop15;
}
r90 = r99;
r91 = r100;
r92 = r101;
r93 = r102;
break reducibleLoop15;
}
} else {
r90 = r81;
r91 = r82;
r92 = r85;
r93 = r86;
}
value27 = typeof r77 === 'bigint' ? r77 + 1n : +r77 + 1;
if (value27 < value2) {
r77 = value27;
r81 = r90;
r82 = r91;
r85 = r92;
r86 = r93;
continue reducibleLoop14;
}
r74 = r93;
r79 = r90;
r80 = r91;
r84 = r92;
break reducibleLoop14;
}
} else {
r74 = value;
r79 = value17;
r80 = value17;
r84 = value2;
}
if (value17 == r80) {
r74 = value3;
r79 = value3;
r80 = value3;
r84 = value3;
}
reducibleJoin30: while (true) {
if (property2) {
reducibleJoin27: while (true) {
if (value4 & ~r74) {
r76 = r74;
break reducibleJoin27;
}
value28 = typeof r74 === 'bigint' ? r74 - 1n : +r74 - 1;
r76 = value28;
break reducibleJoin27;
}
reducibleJoin29: while (true) {
if (value4 & ~r84) {
r74 = r84;
break reducibleJoin29;
}
value29 = typeof r84 === 'bigint' ? r84 - 1n : +r84 - 1;
r74 = value29;
break reducibleJoin29;
}
r81 = r74;
r82 = r76;
break reducibleJoin30;
}
r81 = r84;
r82 = r74;
break reducibleJoin30;
}
value30 = r80 - r82 + value4;
value31 = value30 * (r79 - r81 + value4);
reducibleJoin32: while (true) {
if (value31 < r66) {
value32 = r80 - r82 + value4;
value33 = r79 - r81 + value4;
r66 = value31;
r67 = r65;
r69 = value33;
r70 = value32;
r71 = r81;
r72 = r82;
break reducibleJoin32;
}
break reducibleJoin32;
}
value34 = typeof r65 === 'bigint' ? r65 + 1n : +r65 + 1;
if (value34 < r59) {
r65 = value34;
continue reducibleLoop13;
}
r58 = r67;
r61 = r69;
r62 = r70;
r63 = r71;
r64 = r72;
break reducibleLoop13;
}
} else {
r58 = value3;
r61 = value2;
r62 = value;
r63 = value3;
r64 = value3;
}
Uint8Array = global.Uint8Array;
property12 = a0[r35 - value4 - r58];
prototype = Uint8Array.prototype;
value35 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value36 = uint8Array instanceof Object ? uint8Array : value35;
reducibleJoin35: while (true) {
if (value4 != r58) {
break reducibleJoin35;
}
items5[r35 - value4].dispose = value5;
break reducibleJoin35;
}
Uint8Array = global.Uint8Array;
value37 = r62 * r61 * value7;
prototype = Uint8Array.prototype;
value38 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value39 = uint8Array instanceof Object ? uint8Array : value38;
_copyTileBinding = _copyTile;
value40 = -r64;
_copyTileBinding(value36, value, value2, value39, r62, r61, value40, -r63, value3);
_copyTileBinding = _copyTile;
value41 = -r64;
r60 = _copyTileBinding(value19, value, value2, value39, r62, r61, value41, -r63,
value6) ? value4 : value3;
if (value4 === r60) {
_prepareDiff(value19, value, value2, value39, {x: r64, y: r63, width: r62, height: r61});
r49 = r60;
r50 = value39;
r52 = r61;
r53 = r62;
r54 = r63;
r55 = r64;
} else {
_copyTileBinding = _copyTile;
value42 = -r64;
_copyTileBinding(value19, value, value2, value39, r62, r61, value42, -r63, value3);
r49 = r60;
r50 = value39;
r52 = r61;
r53 = r62;
r54 = r63;
r55 = r64;
}
} else {
slice = value19.slice;
value22 = Reflect.apply(slice, value19, [value3]);
r50 = value22;
r52 = value2;
r53 = value;
r54 = value3;
r55 = value3;
}
push = items5.push;
Reflect.apply(push, items5, [{rect: {x: r55, y: r54, width: r53, height: r52}, img: r50, blend: r49,
dispose: value3}]);
value43 = typeof r35 === 'bigint' ? r35 + 1n : +r35 + 1;
length = a0.length;
if (value43 < length) {
r35 = value43;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
reducibleJoin47: while (true) {
if (!property) {
break reducibleJoin47;
}
length = items5.length;
if (!(value3 < length)) {
break reducibleJoin47;
}
r6 = value3;
reducibleLoop42: while (true) {
property = items5[r6];
blend = property.blend;
reducibleJoin46: while (true) {
if (value4 == blend) {
break reducibleJoin46;
}
rect = property.rect;
rect2 = items5[r6 - value4].rect;
Math = global.Math;
min = Math.min;
x = rect.x;
x2 = rect2.x;
value44 = Reflect.apply(min, Math, [x, x2]);
Math = global.Math;
min = Math.min;
y = rect.y;
y2 = rect2.y;
value45 = Reflect.apply(min, Math, [y, y2]);
object = {x: value44, y: value45};
Math = global.Math;
max = Math.max;
x = rect.x;
width = rect.width;
value46 = x + width;
x = rect2.x;
width = rect2.width;
object.width = Reflect.apply(max, Math, [value46, x + width]) - value44;
Math = global.Math;
max = Math.max;
y = rect.y;
height = rect.height;
value47 = y + height;
y = rect2.y;
height = rect2.height;
object.height = Reflect.apply(max, Math, [value47, y + height]) - value45;
items5[r6 - value4].dispose = value4;
reducibleJoin45: while (true) {
if (r6 - value4 === value3) {
break reducibleJoin45;
}
_updateFrame(a0, value, value2, items5, r6 - value4, object, property2);
break reducibleJoin45;
}
_updateFrame(a0, value, value2, items5, r6, object, property2);
break reducibleJoin46;
}
value48 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
length = items5.length;
if (value48 < length) {
r6 = value48;
continue reducibleLoop42;
}
break reducibleJoin47;
}
}
length = a0.length;
reducibleJoin50: while (true) {
if (value4 == length) {
break reducibleJoin50;
}
length = items5.length;
if (!(value3 < length)) {
break reducibleJoin50;
}
r2 = value3;
reducibleLoop49: while (true) {
property = items5[r2];
rect = property.rect;
width = rect.width;
rect = property.rect;
height = rect.height;
width * height;
value = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
length = items5.length;
if (value < length) {
r2 = value;
continue reducibleLoop49;
}
break reducibleJoin50;
}
}
const object2 = {};
const items2 = [];
const items3 = [];
if (value3 != a3) {
items4 = [];
length = items5.length;
if (value3 < length) {
r3 = value3;
reducibleLoop65: while (true) {
push = items4.push;
img = items5[r3].img;
buffer = img.buffer;
Reflect.apply(push, items4, [buffer]);
value = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
length = items5.length;
if (value < length) {
r3 = value;
continue reducibleLoop65;
}
break reducibleLoop65;
}
}
length = items4.length;
if (value3 < length) {
r3 = value3;
r10 = value3;
reducibleLoop67: while (true) {
byteLength = items4[r3].byteLength;
value = r10 + byteLength;
value52 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
length = items4.length;
if (value52 < length) {
r3 = value52;
r10 = value;
continue reducibleLoop67;
}
r6 = value;
break reducibleLoop67;
}
} else {
r6 = value3;
}
Uint8Array = global.Uint8Array;
prototype = Uint8Array.prototype;
value = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value = uint8Array instanceof Object ? uint8Array : value;
length = items4.length;
if (value3 < length) {
r13 = value3;
r14 = value3;
reducibleLoop69: while (true) {
Uint8Array = global.Uint8Array;
property = items4[r14];
prototype = Uint8Array.prototype;
value53 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array(property);
value54 = uint8Array instanceof Object ? uint8Array : value53;
length = value54.length;
if (value3 < length) {
r16 = value3;
reducibleLoop70: while (true) {
property = value54[r16];
property14 = value54[r16 + value4];
property15 = value54[r16 + value5];
property16 = value54[r16 + value6];
if (value3 != property16) {
r29 = property15;
r30 = property14;
r31 = property;
} else {
r29 = value3;
r30 = value3;
r31 = value3;
}
value[r13 + r16] = r31;
value[r13 + r16 + value4] = r30;
value[r13 + r16 + value5] = r29;
value[r13 + r16 + value6] = property16;
value55 = r16 + value7;
if (value55 < length) {
r16 = value55;
continue reducibleLoop70;
}
break reducibleLoop70;
}
}
value56 = r13 + length;
value57 = typeof r14 === 'bigint' ? r14 + 1n : +r14 + 1;
length = items4.length;
if (value57 < length) {
r13 = value56;
r14 = value57;
continue reducibleLoop69;
}
break reducibleLoop69;
}
}
buffer = value.buffer;
value = quantize_20930(buffer, a3);
plte = value.plte;
length = plte.length;
if (value3 < length) {
r3 = value3;
reducibleLoop74: while (true) {
push = items2.push;
plte = value.plte;
est = plte[r3].est;
rgba = est.rgba;
Reflect.apply(push, items2, [rgba]);
value58 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
plte = value.plte;
length = plte.length;
if (value58 < length) {
r3 = value58;
continue reducibleLoop74;
}
break reducibleLoop74;
}
}
length = items5.length;
if (value3 < length) {
r3 = value3;
r5 = value3;
reducibleLoop76: while (true) {
property = items5[r5];
img = property.img;
length = img.length;
Uint8Array = global.Uint8Array;
inds = value.inds;
buffer = inds.buffer;
value59 = r3 >> value5;
value60 = length >> value5;
prototype = Uint8Array.prototype;
value61 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value62 = uint8Array instanceof Object ? uint8Array : value61;
push = items3.push;
Reflect.apply(push, items3, [value62]);
Uint8Array = global.Uint8Array;
abuf = value.abuf;
prototype = Uint8Array.prototype;
value63 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array(abuf, r3, length);
value64 = uint8Array instanceof Object ? uint8Array : value63;
reducibleJoin78: while (true) {
if (property6) {
ditherBinding = dither;
img = property.img;
rect = property.rect;
width = rect.width;
rect = property.rect;
height = rect.height;
ditherBinding(img, width, height, items2, value64, value62);
break reducibleJoin78;
}
break reducibleJoin78;
}
img = property.img;
set = img.set;
Reflect.apply(set, img, [value64]);
value65 = r3 + length;
value66 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
length = items5.length;
if (value66 < length) {
r3 = value65;
r5 = value66;
continue reducibleLoop76;
}
break reducibleLoop76;
}
}
} else {
length = items5.length;
if (value3 < length) {
r10 = value3;
reducibleLoop52: while (true) {
property = items5[r10];
Uint32Array = global.Uint32Array;
img = property.img;
buffer = img.buffer;
prototype = Uint32Array.prototype;
value = Object.create(prototype, {constructor: {value: Uint32Array}});
uint32Array = new Uint32Array();
value = uint32Array instanceof Object ? uint32Array : value;
rect = property.rect;
width = rect.width;
length = value.length;
Uint8Array = global.Uint8Array;
prototype = Uint8Array.prototype;
value49 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array(length);
value50 = uint8Array instanceof Object ? uint8Array : value49;
push = items3.push;
Reflect.apply(push, items3, [value50]);
if (value3 < length) {
r15 = value3;
reducibleLoop53: while (true) {
property = value[r15];
if (value3 != r15) {
reducibleJoin55: while (true) {
if (property == value[r15 - value4]) {
value50[r15] = value50[r15 - value4];
value51 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1;
if (value51 < length) {
r15 = value51;
continue reducibleLoop53;
}
break reducibleLoop53;
}
break reducibleJoin55;
}
}
if (r15 > width) {
reducibleJoin57: while (true) {
if (property == value[r15 - width]) {
value50[r15] = value50[r15 - width];
value51 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1;
if (value51 < length) {
r15 = value51;
continue reducibleLoop53;
}
break reducibleLoop53;
}
break reducibleJoin57;
}
}
property13 = object2[property];
if (property13 != null) {
r31 = property13;
} else {
length2 = items2.length;
object2[property] = length2;
push = items2.push;
Reflect.apply(push, items2, [property]);
length3 = items2.length;
reducibleJoin59: while (true) {
if (length3 >= 300) {
break reducibleLoop53;
}
r31 = length2;
break reducibleJoin59;
}
}
value50[r15] = r31;
value51 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1;
if (value51 < length) {
r15 = value51;
continue reducibleLoop53;
}
break reducibleLoop53;
}
}
value = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1;
length = items5.length;
if (value < length) {
r10 = value;
continue reducibleLoop52;
}
break reducibleLoop52;
}
}
}
length = items2.length;
value = length <= 256;
reducibleJoin81: while (true) {
if (value) {
value = value3 == property5;
r0 = value;
break reducibleJoin81;
}
r0 = value;
break reducibleJoin81;
}
value = 8;
reducibleJoin88: while (true) {
if (r0) {
reducibleJoin87: while (true) {
if (length <= value5) {
r6 = value4;
break reducibleJoin87;
}
reducibleJoin86: while (true) {
if (length <= value7) {
r0 = value5;
break reducibleJoin86;
}
r5 = length <= 16 ? value7 : value;
r0 = r5;
break reducibleJoin86;
}
r6 = r0;
break reducibleJoin87;
}
Math = global.Math;
max = Math.max;
value67 = Reflect.apply(max, Math, [r6, property4]);
r3 = value67;
break reducibleJoin88;
}
r3 = value;
break reducibleJoin88;
}
const length4 = items5.length;
const value68 = 6;
if (value3 < length4) {
r11 = value3;
r12 = value68;
reducibleLoop89: while (true) {
property = items5[r11];
rect = property.rect;
rect.x;
rect = property.rect;
rect.y;
rect = property.rect;
width = rect.width;
rect = property.rect;
height = rect.height;
img = property.img;
Uint32Array = global.Uint32Array;
buffer = img.buffer;
prototype = Uint32Array.prototype;
Object.create(prototype, {constructor: {value: Uint32Array}});
new Uint32Array();
value69 = value7 * width;
reducibleJoin110: while (true) {
reducibleJoin91: while (true) {
if (length <= 256) {
if (value3 == property5) {
Math = global.Math;
ceil = Math.ceil;
value78 = Reflect.apply(ceil, Math, [r3 * width / value]);
Uint8Array = global.Uint8Array;
value79 = value78 * height;
prototype = Uint8Array.prototype;
value80 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value81 = uint8Array instanceof Object ? uint8Array : value80;
property19 = items3[r11];
if (value3 < height) {
r45 = value3;
reducibleLoop97: while (true) {
value82 = r45 * value78;
value83 = r45 * width;
if (value == r3) {
if (value3 < width) {
r48 = value3;
reducibleLoop108: while (true) {
value90 = value82 + r48;
value81[value90] = property19[value83 + r48];
value91 = typeof r48 === 'bigint' ? r48 + 1n : +r48 + 1;
if (value91 < width) {
r48 = value91;
continue reducibleLoop108;
}
break reducibleLoop108;
}
}
} else if (value7 == r3) {
if (value3 < width) {
r48 = value3;
reducibleLoop106: while (true) {
value88 = value82 + (r48 >> value4);
property24 = value81[value88];
property25 = property19[value83 + r48];
value81[value88] = property24 | property25 << value7 - value7 * (value4 & r48);
value89 = typeof r48 === 'bigint' ? r48 + 1n : +r48 + 1;
if (value89 < width) {
r48 = value89;
continue reducibleLoop106;
}
break reducibleLoop106;
}
}
} else if (value5 == r3) {
if (value3 < width) {
r48 = value3;
reducibleLoop104: while (true) {
value86 = value82 + (r48 >> value5);
property22 = value81[value86];
property23 = property19[value83 + r48];
value81[value86] = property22 | property23 << value68 - value5 * (value6 & r48);
value87 = typeof r48 === 'bigint' ? r48 + 1n : +r48 + 1;
if (value87 < width) {
r48 = value87;
continue reducibleLoop104;
}
break reducibleLoop104;
}
}
} else {
reducibleJoin109: while (true) {
if (value4 != r3) {
break reducibleJoin109;
}
if (!(value3 < width)) {
break reducibleJoin109;
}
r48 = value3;
reducibleLoop102: while (true) {
value84 = value82 + (r48 >> value6);
property20 = value81[value84];
property21 = property19[value83 + r48];
value81[value84] = property20 | property21 << 7 - value4 * (7 & r48);
value85 = typeof r48 === 'bigint' ? r48 + 1n : +r48 + 1;
if (value85 < width) {
r48 = value85;
continue reducibleLoop102;
}
break reducibleJoin109;
}
}
}
value92 = typeof r45 === 'bigint' ? r45 + 1n : +r45 + 1;
if (value92 < height) {
r45 = value92;
continue reducibleLoop97;
}
r0 = value4;
r28 = value6;
r37 = value78;
r38 = value81;
break reducibleJoin110;
}
property.img = r38;
property.bpl = r37;
property.bpp = r0;
value93 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1;
length6 = items5.length;
if (value93 < length6) {
r11 = value93;
r12 = r28;
continue reducibleLoop89;
}
r4 = r28;
break reducibleLoop89;
}
r0 = value4;
r28 = value6;
r37 = value78;
r38 = value81;
break reducibleJoin110;
}
break reducibleJoin91;
}
break reducibleJoin91;
}
if (value3 != value14) {
r0 = value7;
r28 = r12;
r37 = value69;
r38 = img;
break reducibleJoin110;
}
length5 = items5.length;
if (value4 == length5) {
Uint8Array = global.Uint8Array;
value70 = width * height * value6;
prototype = Uint8Array.prototype;
value71 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value72 = uint8Array instanceof Object ? uint8Array : value71;
value73 = width * height;
if (value3 < value73) {
r41 = value3;
reducibleLoop94: while (true) {
value74 = value6 * r41;
value75 = value7 * r41;
value72[value74] = img[value75];
property17 = img[value75 + value4];
value72[value74 + value4] = property17;
property18 = img[value75 + value5];
value72[value74 + value5] = property18;
value76 = typeof r41 === 'bigint' ? r41 + 1n : +r41 + 1;
if (value76 < value73) {
r41 = value76;
continue reducibleLoop94;
}
break reducibleLoop94;
}
}
value77 = value6 * width;
r0 = value6;
r28 = value5;
r37 = value77;
r38 = value72;
break reducibleJoin110;
}
r0 = value7;
r28 = r12;
r37 = value69;
r38 = img;
break reducibleJoin110;
}
property.img = r38;
property.bpl = r37;
property.bpp = r0;
value93 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1;
length6 = items5.length;
if (value93 < length6) {
r11 = value93;
r12 = r28;
continue reducibleLoop89;
}
r4 = r28;
break reducibleLoop89;
}
} else {
r4 = value68;
}
return {ctype: r4, depth: r3, plte: items2, frames: items5};
}
function _updateFrame(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20926, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:19475, offset: 0x00ee4270, size: 872 bytes, params: 8, frame: 69
var r28;
var r21;
var r22;
var r23;
var r24;
var r25;
var r36;
var r37;
var r38;
var r39;
var r40;
var r45;
var r46;
var r12;
var r51;
var r49;
var r50;
var r47;
var r48;
var r32;
var r33;
var r34;
var r35;
var r3;
var r11;
var r15;
var r17;
var r16;
var r1;
var width;
var x;
var value17;
var y;
var value18;
var value19;
var value20;
var dispose;
var value21;
var value22;
var value23;
var value24;
var value25;
var value26;
var _copyTileBinding;
var img;
var _prepareDiffBinding;
const value = require;
const value2 = importDefault;
let Uint8Array = global.Uint8Array;
const Uint32Array = global.Uint32Array;
let property = global[module - 1];
let uint8Array = new Uint8Array(property);
let uint32Array = new Uint32Array(global[module - 1]);
const value7 = module + 1;
const length = global.length;
const value8 = null;
if (value7 < length) {
uint8Array = new Uint8Array(global[module + 1]);
} else {
r28 = value8;
}
uint32Array = new Uint32Array(new Uint8Array(global[module]).buffer);
let height = exports.height;
const value15 = 0;
const value16 = -1;
if (value15 < height) {
r21 = value15;
r22 = value16;
r23 = value16;
r24 = value2;
r25 = value;
while (true) {
width = exports.width;
if (value15 < width) {
r36 = value15;
r37 = r22;
r38 = r23;
r39 = r24;
r40 = r25;
while (true) {
x = exports.x;
value17 = x + r36;
y = exports.y;
value18 = y + r21;
value19 = value18 * value + value17;
property = uint32Array[value19];
value20 = value15 == property;
if (value20) {
r12 = value20;
} else {
dispose = importAll[module - 1].dispose;
value21 = value15 == dispose;
if (!value21) {
r45 = value21;
continue;
}
value22 = uint32Array[value19] == property;
r45 = value22;
if (!r45) {
continue;
}
value23 = value8 == r28;
if (value23) {
r46 = value23;
continue;
}
value24 = value15 != r28[4 * value19 + 3];
r46 = value24;
r45 = r46;
r12 = r45;
}
if (r12) {
r45 = r37;
r46 = r38;
r47 = r39;
r48 = r40;
continue;
}
if (value17 < r40) {
r51 = value17;
continue;
}
r51 = r40;
continue;
if (value17 > r38) {
r49 = value17;
continue;
}
r49 = r38;
continue;
if (value18 < r39) {
r50 = value18;
continue;
}
r50 = r39;
continue;
if (value18 > r37) {
r12 = value18;
continue;
}
r12 = r37;
continue;
r45 = r12;
r46 = r49;
r47 = r50;
r48 = r51;
value25 = typeof r36 === 'bigint' ? r36 + 1n : +r36 + 1;
width = exports.width;
if (value25 < width) {
r36 = value25;
r37 = r45;
r38 = r46;
r39 = r47;
r40 = r48;
continue;
}
r32 = r45;
r33 = r46;
r34 = r47;
r35 = r48;
break;
}
} else {
r32 = r22;
r33 = r23;
r34 = r24;
r35 = r25;
}
value26 = typeof r21 === 'bigint' ? r21 + 1n : +r21 + 1;
height = exports.height;
if (value26 < height) {
r21 = value26;
r22 = r32;
r23 = r33;
r24 = r34;
r25 = r35;
continue;
}
r3 = r35;
r11 = r32;
r15 = r33;
r17 = r34;
break;
}
} else {
r3 = value;
r11 = value16;
r15 = value16;
r17 = value2;
}
if (value16 == r15) {
r3 = value15;
r11 = value15;
r15 = value15;
r17 = value15;
}
if (dependencyMap) {
r16 = 1 & ~r3 ? r3 : typeof r3 === 'bigint' ? r3 - 1n : +r3 - 1;
r3 = 1 & ~r17 ? r17 : typeof r17 === 'bigint' ? r17 - 1n : +r17 - 1;
r1 = r3;
r12 = r16;
} else {
r1 = r17;
r12 = r3;
}
const object2 = {x: r12, y: r1, width: r15 - r12 + 1, height: r11 - r1 + 1};
property = importAll[module];
property.rect = object2;
property.blend = 1;
Uint8Array = global.Uint8Array;
const value29 = object2.width * object2.height * 4;
const value30 = Object.create(Uint8Array.prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array(value29);
property.img = uint8Array instanceof Object ? uint8Array : value30;
if (value15 == importAll[module - 1].dispose) {
_copyTileBinding = _copyTile;
img = property.img;
_copyTileBinding(uint8Array, value, value2, img, object2.width, object2.height, -object2.x, -object2.y,
value15);
_prepareDiffBinding = _prepareDiff;
img = property.img;
_prepareDiffBinding(uint8Array, value, value2, img, object2);
} else {
_copyTile(uint8Array, value, value2, property.img, object2.width, object2.height, -object2.x, -object2.y,
value15);
}
}
function _prepareDiff(a0, a1, a2, a3, {width, height, x, y}) { // fn#20927, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:20136, offset: 0x00ee45d8, size: 61 bytes, params: 6, frame: 27
_copyTile(a0, a1, a2, a3, width, height, -x, -y, 2);
}
function _filterZero_20928(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20928, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:20209, offset: 0x00ee4615, size: 352 bytes, params: 8, frame: 29
var r0;
var items2;
var r7;
var r6;
var r3;
var r2;
var r4;
var r5;
var value;
var window;
var UZIP;
var pako;
var value4;
var push;
var deflate;
var value5;
const items3 = [];
if (exports != -1) {
items2 = [exports];
} else {
value = require * importAll > 500000;
reducibleJoin3: while (true) {
if (value) {
r0 = value;
break reducibleJoin3;
}
value = importDefault == 1;
r0 = value;
break reducibleJoin3;
}
reducibleJoin6: while (true) {
if (r0) {
items2 = [0];
break reducibleJoin6;
}
items2 = [0, 1, 2, 3, 4];
break reducibleJoin6;
}
}
reducibleJoin8: while (true) {
if (dependencyMap) {
r7 = {level: 0};
break reducibleJoin8;
}
r7 = undefined;
break reducibleJoin8;
}
let length = module.length;
reducibleJoin12: while (true) {
reducibleJoin10: while (true) {
if (length > 10000000) {
window = global.window;
UZIP = window.UZIP;
if (UZIP != null) {
window = global.window;
UZIP = window.UZIP;
r6 = UZIP;
break reducibleJoin12;
}
break reducibleJoin10;
}
break reducibleJoin10;
}
pako = global.pako;
r6 = pako;
break reducibleJoin12;
}
const Date = global.Date;
Date.now();
length = items2.length;
const value2 = 0;
if (value2 < length) {
r3 = value2;
reducibleLoop13: while (true) {
if (value2 < require) {
r2 = value2;
reducibleLoop14: while (true) {
_filterLine(module, global, r2, importAll, importDefault, items2[r3]);
value4 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value4 < require) {
r2 = value4;
continue reducibleLoop14;
}
break reducibleLoop14;
}
}
push = items3.push;
deflate = r6.deflate;
Reflect.apply(push, items3, [Reflect.apply(deflate, r6, [module, r7])]);
value5 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
length = items2.length;
if (value5 < length) {
r3 = value5;
continue reducibleLoop13;
}
break reducibleLoop13;
}
}
length = items3.length;
if (value2 < length) {
r3 = value;
r4 = 1000000000;
r5 = value2;
reducibleLoop17: while (true) {
length = items3[r5].length;
reducibleJoin19: while (true) {
if (length < r4) {
length = items3[r5].length;
r3 = r5;
r4 = length;
break reducibleJoin19;
}
break reducibleJoin19;
}
value = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
length = items3.length;
if (value < length) {
r5 = value;
continue reducibleLoop17;
}
r0 = r3;
break reducibleLoop17;
}
} else {
r0 = value;
}
return items3[r0];
}
function _filterLine(a0, a1, a2, a3, a4, a5) { // fn#20929, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:20569, offset: 0x00ee4775, size: 915 bytes, params: 7, frame: 30
var r6;
var r0;
var value6;
var value7;
var value8;
var value9;
var value10;
var value11;
var value12;
var value13;
var property;
var value14;
var value15;
var value16;
var value17;
var _paethBinding;
var value18;
var value19;
var value20;
var property2;
var value21;
var value22;
var value23;
var value24;
var value25;
var value26;
var value27;
var value28;
var value29;
var value30;
var value31;
var value32;
var value33;
var value34;
var value35;
var value36;
let value = a4;
const value2 = a2 * a3;
const value3 = value2 + a2;
a0[value3] = a5;
const value4 = typeof value3 === 'bigint' ? value3 + 1n : +value3 + 1;
const value5 = 0;
if (value5 == a5) {
if (a3 < 500) {
if (value5 < a3) {
r0 = value5;
reducibleLoop34: while (true) {
value = value4 + r0;
a0[value] = a1[value2 + r0];
value = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1;
if (value < a3) {
r0 = value;
continue reducibleLoop34;
}
break reducibleLoop34;
}
}
} else {
a0.set(new global.Uint8Array(a1.buffer, value2, a3), value4);
}
} else if (a5 == 1) {
if (value5 < value) {
r6 = value5;
reducibleLoop28: while (true) {
value33 = value4 + r6;
a0[value33] = a1[value2 + r6];
value34 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value34 < value) {
r6 = value34;
continue reducibleLoop28;
}
break reducibleLoop28;
}
}
if (value < a3) {
r6 = value;
reducibleLoop30: while (true) {
value35 = value4 + r6;
property = a1[value2 + r6];
a0[value35] = property - a1[value2 + r6 - value] + 256 & 255;
value36 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value36 < a3) {
r6 = value36;
continue reducibleLoop30;
}
break reducibleLoop30;
}
}
} else if (value5 == a2) {
if (value5 < value) {
r6 = value5;
reducibleLoop17: while (true) {
value23 = value4 + r6;
a0[value23] = a1[value2 + r6];
value24 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value24 < value) {
r6 = value24;
continue reducibleLoop17;
}
break reducibleLoop17;
}
}
reducibleJoin21: while (true) {
if (a5 != 2) {
break reducibleJoin21;
}
if (!(value < a3)) {
break reducibleJoin21;
}
r6 = value;
reducibleLoop20: while (true) {
value25 = value4 + r6;
a0[value25] = a1[value2 + r6];
value26 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value26 < a3) {
r6 = value26;
continue reducibleLoop20;
}
break reducibleJoin21;
}
}
reducibleJoin24: while (true) {
if (a5 != 3) {
break reducibleJoin24;
}
if (!(value < a3)) {
break reducibleJoin24;
}
r6 = value;
reducibleLoop23: while (true) {
value27 = value4 + r6;
property = a1[value2 + r6];
a0[value27] = property - (a1[value2 + r6 - value] >> 1) + 256 & 255;
value28 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value28 < a3) {
r6 = value28;
continue reducibleLoop23;
}
break reducibleJoin24;
}
}
reducibleJoin35: while (true) {
if (a5 != 4) {
break reducibleJoin35;
}
value29 = environment;
if (!(value < a3)) {
break reducibleJoin35;
}
r6 = value;
reducibleLoop26: while (true) {
value30 = value4 + r6;
property = a1[value2 + r6];
value31 = property - _paeth(a1[value2 + r6 - value], value5, value5) + 256 & 255;
a0[value30] = value31;
value32 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value32 < a3) {
r6 = value32;
continue reducibleLoop26;
}
break reducibleJoin35;
}
}
} else {
reducibleJoin6: while (true) {
if (a5 != 2) {
break reducibleJoin6;
}
if (!(value5 < a3)) {
break reducibleJoin6;
}
r6 = value5;
reducibleLoop5: while (true) {
value6 = value4 + r6;
value7 = a1[value2 + r6] + 256;
a0[value6] = value7 - a1[value2 + r6 - a3] & 255;
value8 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value8 < a3) {
r6 = value8;
continue reducibleLoop5;
}
break reducibleJoin6;
}
}
reducibleJoin11: while (true) {
if (a5 != 3) {
break reducibleJoin11;
}
if (value5 < value) {
r6 = value5;
reducibleLoop8: while (true) {
value9 = value4 + r6;
value10 = a1[value2 + r6] + 256;
a0[value9] = value10 - (a1[value2 + r6 - a3] >> 1) & 255;
value11 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value11 < value) {
r6 = value11;
continue reducibleLoop8;
}
break reducibleLoop8;
}
}
if (!(value < a3)) {
break reducibleJoin11;
}
r6 = value;
reducibleLoop10: while (true) {
value12 = value4 + r6;
value13 = a1[value2 + r6] + 256;
property = a1[value2 + r6 - a3];
a0[value12] = value13 - (property + a1[value2 + r6 - value] >> 1) & 255;
value14 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value14 < a3) {
r6 = value14;
continue reducibleLoop10;
}
break reducibleJoin11;
}
}
reducibleJoin35: while (true) {
if (a5 != 4) {
break reducibleJoin35;
}
value15 = environment;
if (value5 < value) {
r6 = value5;
reducibleLoop13: while (true) {
value16 = value4 + r6;
value17 = a1[value2 + r6] + 256;
a0[value16] = value17 - _paeth(value5, a1[value2 + r6 - a3], value5) & 255;
value18 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value18 < value) {
r6 = value18;
continue reducibleLoop13;
}
break reducibleLoop13;
}
}
if (!(value < a3)) {
break reducibleJoin35;
}
r6 = value;
reducibleLoop15: while (true) {
value19 = value4 + r6;
value20 = a1[value2 + r6] + 256;
_paethBinding = _paeth;
property = a1[value2 + r6 - value];
property2 = a1[value2 + r6 - a3];
value21 = value20 - _paethBinding(property, property2, a1[value2 + r6 - value - a3]) & 255;
a0[value19] = value21;
value22 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
if (value22 < a3) {
r6 = value22;
continue reducibleLoop15;
}
break reducibleJoin35;
}
}
}
}
function quantize_20930(a0, a1, a2) { // fn#20930, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:21336, offset: 0x00ee4b08, size: 774 bytes, params: 4, frame: 39
var r9;
var r21;
var r26;
var r19;
var r10;
var r11;
var r7;
var est;
var rgba;
var value12;
var value16;
var value17;
var value18;
var value19;
var left;
var planeDstBinding;
var right;
var value20;
var ind;
var value21;
var getNearestBinding;
var value22;
var value23;
var value24;
var nearestBinding;
var value26;
var value27;
var length4;
var value29;
var value30;
const Date = global.Date;
Date.now();
let Uint8Array = global.Uint8Array;
let uint8Array = new Uint8Array(a0);
const value2 = 0;
const value3 = uint8Array.slice(value2);
let Uint32Array = global.Uint32Array;
let uint32Array = new Uint32Array(value3.buffer);
const kDtree = getKDtree(value3, a1);
const property = kDtree[value2];
const property2 = kDtree[1];
const length = property2.length;
Uint32Array = global.Uint32Array;
uint32Array = new Uint32Array(length);
Uint8Array = global.Uint8Array;
uint8Array = new Uint8Array(uint32Array.buffer);
if (value2 < length) {
r9 = value2;
reducibleLoop1: while (true) {
est = property2[r9].est;
rgba = est.rgba;
uint32Array[r9] = rgba;
value12 = typeof r9 === 'bigint' ? r9 + 1n : +r9 + 1;
if (value12 < length) {
r9 = value12;
continue reducibleLoop1;
}
break reducibleLoop1;
}
}
const length2 = uint8Array.length;
Uint8Array = global.Uint8Array;
uint8Array = new Uint8Array(length2 >> 2);
if (length <= 60) {
findNearest(uint8Array, uint8Array, uint8Array);
remap(uint8Array, uint32Array, uint32Array);
} else if (uint8Array.length < 32000000) {
if (value2 < length2) {
r9 = value2;
reducibleLoop12: while (true) {
getNearestBinding = getNearest;
value22 = 0.00392156862745098 * uint8Array[r9];
value23 = 0.00392156862745098 * uint8Array[r9 + 1];
value24 = 0.00392156862745098 * uint8Array[r9 + 2];
nearestBinding = getNearestBinding(property, value22, value23, value24,
0.00392156862745098 * uint8Array[r9 + 3]);
value26 = r9 >> 2;
ind = nearestBinding.ind;
uint8Array[value26] = ind;
est = nearestBinding.est;
rgba = est.rgba;
uint32Array[value26] = rgba;
value27 = r9 + 4;
if (value27 < length2) {
r9 = value27;
continue reducibleLoop12;
}
break reducibleLoop12;
}
}
} else if (value2 < length2) {
r9 = value2;
reducibleLoop5: while (true) {
value16 = 0.00392156862745098 * uint8Array[r9];
value17 = 0.00392156862745098 * uint8Array[r9 + 1];
value18 = 0.00392156862745098 * uint8Array[r9 + 2];
value19 = 0.00392156862745098 * uint8Array[r9 + 3];
left = property.left;
if (left) {
r21 = property;
reducibleLoop6: while (true) {
planeDstBinding = planeDst;
est = r21.est;
if (planeDstBinding(est, value16, value17, value18, value19) <= value2) {
r26 = r21.left;
} else {
right = r21.right;
r26 = right;
}
left = r26.left;
if (left) {
r21 = r26;
continue reducibleLoop6;
}
r19 = r26;
break reducibleLoop6;
}
} else {
r19 = property;
}
value20 = r9 >> 2;
ind = r19.ind;
uint8Array[value20] = ind;
est = r19.est;
rgba = est.rgba;
uint32Array[value20] = rgba;
value21 = r9 + 4;
if (value21 < length2) {
r9 = value21;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
const value28 = 1000000000;
reducibleJoin21: while (true) {
reducibleJoin20: while (true) {
if (a2) {
r10 = value28;
r11 = value2;
reducibleLoop16: while (true) {
value29 = kmeans(uint8Array, uint8Array, uint8Array);
if (value29 / r10 > 0.997) {
break reducibleLoop16;
}
value30 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1;
if (value30 < 10) {
r10 = value29;
r11 = value30;
continue reducibleLoop16;
}
break reducibleLoop16;
}
if (!(value2 < length)) {
break reducibleJoin20;
}
r7 = value2;
reducibleLoop19: while (true) {
est = property2[r7].est;
est.rgba = uint32Array[r7];
uint8Array = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
if (uint8Array < length) {
r7 = uint8Array;
continue reducibleLoop19;
}
break reducibleJoin20;
}
} else {
length4 = uint8Array.length;
if (!(length4 * length < 40000000)) {
break reducibleJoin21;
}
r10 = value28;
r11 = value2;
reducibleLoop16: while (true) {
value29 = kmeans(uint8Array, uint8Array, uint8Array);
if (value29 / r10 > 0.997) {
break reducibleLoop16;
}
value30 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1;
if (value30 < 10) {
r10 = value29;
r11 = value30;
continue reducibleLoop16;
}
break reducibleLoop16;
}
if (!(value2 < length)) {
break reducibleJoin20;
}
r7 = value2;
reducibleLoop19: while (true) {
est = property2[r7].est;
est.rgba = uint32Array[r7];
uint8Array = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
if (uint8Array < length) {
r7 = uint8Array;
continue reducibleLoop19;
}
break reducibleJoin20;
}
}
}
remap(uint8Array, uint32Array, uint32Array);
break reducibleJoin21;
}
return {abuf: value3.buffer, inds: uint8Array, plte: property2};
}
function kmeans(a0, a1, a2) { // fn#20932, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:22310, offset: 0x00ee4e41, size: 314 bytes, params: 4, frame: 26
var r9;
var r1;
var property;
var value7;
var property2;
var value8;
var value9;
var value10;
var value11;
var Math;
var round;
var value12;
let length = a2.length;
const value = length >>> 2;
let Uint32Array = global.Uint32Array;
let uint32Array = new Uint32Array(4 * value);
Uint32Array = global.Uint32Array;
uint32Array = new Uint32Array(value);
length = a0.length;
const value6 = 0;
if (value6 < length) {
for (r9 = value6; true; r9 = value11) {
property = a1[r9 >>> 2];
value7 = 4 * property;
property2 = uint32Array[property];
uint32Array[property] = typeof property2 === 'bigint' ? property2 + 1n : +property2 + 1;
property = uint32Array[value7];
uint32Array[value7] = property + a0[r9];
value8 = value7 + 1;
property = uint32Array[value8];
uint32Array[value8] = property + a0[r9 + 1];
value9 = value7 + 2;
property = uint32Array[value9];
uint32Array[value9] = property + a0[r9 + 2];
value10 = value7 + 3;
property = uint32Array[value10];
uint32Array[value10] = property + a0[r9 + 3];
value11 = r9 + 4;
length = a0.length;
if (!(value11 < length)) {
break;
}
}
}
length = a2.length;
if (value6 < length) {
for (r1 = value6; true; r1 = value12) {
Math = global.Math;
round = Math.round;
property = uint32Array[r1];
a2[r1] = Reflect.apply(round, Math, [property / uint32Array[r1 >>> 2]]);
value12 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
length = a2.length;
if (!(value12 < length)) {
break;
}
}
}
return findNearest(a0, a1, a2);
}
function findNearest(a0, a1, a2) { // fn#20933, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:22623, offset: 0x00ee4f7b, size: 666 bytes, params: 4, frame: 42
var r3;
var r21;
var r23;
var r31;
var r22;
var r4;
var r5;
var r20;
var r17;
var r1;
var value5;
var property;
var property2;
var property3;
var property4;
var value6;
var value7;
var value8;
var value9;
var value10;
var value11;
var value12;
var value13;
var value14;
var value15;
var Math;
var sqrt;
var value16;
var property5;
var property6;
var property7;
var value17;
var property8;
var value18;
var value19;
var value20;
var value21;
var value22;
var value23;
var value24;
var value25;
var value26;
var value27;
var value28;
var value29;
var value30;
var value31;
var value32;
var value33;
var value34;
var value35;
var value36;
var value37;
var value38;
let length = a2.length;
const value = length >>> 2;
const items2 = [];
const value2 = 0;
const value3 = value2 < value;
const value4 = 1000000000;
if (value3) {
r3 = value2;
reducibleLoop1: while (true) {
value5 = 4 * r3;
property = a2[value5];
property2 = a2[value5 + 1];
property3 = a2[value5 + 2];
property4 = a2[value5 + 3];
if (value3) {
r21 = value2;
r23 = value4;
reducibleLoop2: while (true) {
reducibleJoin4: while (true) {
if (r3 == r21) {
r31 = r23;
break reducibleJoin4;
}
value6 = 4 * r21;
value7 = property - a2[value6];
value8 = value7 * value7;
value9 = property2 - a2[value6 + 1];
value10 = value8 + value9 * value9;
value11 = property3 - a2[value6 + 2];
value12 = value10 + value11 * value11;
value13 = property4 - a2[value6 + 3];
value14 = value12 + value13 * value13;
if (value14 < r23) {
r31 = value14;
break reducibleJoin4;
}
r31 = r23;
break reducibleJoin4;
}
value15 = typeof r21 === 'bigint' ? r21 + 1n : +r21 + 1;
if (value15 < value) {
r21 = value15;
r23 = r31;
continue reducibleLoop2;
}
r22 = r31;
break reducibleLoop2;
}
} else {
r22 = value4;
}
Math = global.Math;
sqrt = Math.sqrt;
items2[r3] = 0.5 * Reflect.apply(sqrt, Math, [r22]);
property = items2[r3];
items2[r3] = property * items2[r3];
value16 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
if (value16 < value) {
r3 = value16;
continue reducibleLoop1;
}
break reducibleLoop1;
}
}
length = a0.length;
if (value2 < length) {
r4 = value2;
r5 = value2;
reducibleLoop7: while (true) {
property = a0[r4];
property5 = a0[r4 + 1];
property6 = a0[r4 + 2];
property7 = a0[r4 + 3];
value17 = r4 >>> 2;
property8 = a1[value17];
value18 = 4 * property8;
value19 = property - a2[value18];
value20 = value19 * value19;
value21 = property5 - a2[value18 + 1];
value22 = value20 + value21 * value21;
value23 = property6 - a2[value18 + 2];
value24 = value22 + value23 * value23;
value25 = property7 - a2[value18 + 3];
value26 = value24 + value25 * value25;
reducibleJoin12: while (true) {
if (!(value26 > items2[property8])) {
r3 = value26;
r17 = property8;
break reducibleJoin12;
}
if (!value3) {
r3 = value26;
r17 = property8;
break reducibleJoin12;
}
r20 = value2;
r21 = value26;
r22 = property8;
reducibleLoop9: while (true) {
value27 = 4 * r20;
value28 = property - a2[value27];
value29 = value28 * value28;
value30 = property5 - a2[value27 + 1];
value31 = value29 + value30 * value30;
value32 = property6 - a2[value27 + 2];
value33 = value31 + value32 * value32;
value34 = property7 - a2[value27 + 3];
value35 = value33 + value34 * value34;
if (value35 < r21) {
reducibleJoin11: while (true) {
if (value35 < items2[r20]) {
r3 = value35;
r17 = r20;
break reducibleJoin12;
}
r21 = value35;
r22 = r20;
break reducibleJoin11;
}
}
value36 = typeof r20 === 'bigint' ? r20 + 1n : +r20 + 1;
if (value36 < value) {
r20 = value36;
continue reducibleLoop9;
}
r3 = r21;
r17 = r22;
break reducibleJoin12;
}
}
a1[value17] = r17;
value37 = r5 + r3;
value38 = r4 + 4;
length = a0.length;
if (value38 < length) {
r4 = value38;
r5 = value37;
continue reducibleLoop7;
}
r1 = value37;
break reducibleLoop7;
}
} else {
r1 = value2;
}
return r1 / (a0.length >>> 2);
}
function getKDtree(a0, a1, a2) { // fn#20934, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:23210, offset: 0x00ee5215, size: 789 bytes, params: 4, frame: 34
var r11;
var r15;
var r17;
var r18;
var r0;
var r16;
var r3;
var est;
var L;
var value4;
var property;
var splitPixelsBinding;
var e;
var eMq255;
var value5;
var object4;
var object5;
var N;
var N2;
var R;
var R2;
var property2;
var R3;
var value6;
var m;
var m2;
var property3;
var m3;
var value7;
var push;
let value = a2;
reducibleJoin2: while (true) {
if (value != null) {
r11 = value;
break reducibleJoin2;
}
value = 0.0001;
r11 = value;
break reducibleJoin2;
}
const Uint32Array = global.Uint32Array;
let uint32Array = new Uint32Array(a0.buffer);
const object6 = {'i0': 0, 'i1': null, 'bst': null, 'est': null, 'tdst': 0, 'left': null, 'right': null};
const value2 = 0;
let length = a0.length;
object6.i1 = length;
let statsBinding = stats;
let i0 = object6.i0;
let i1 = object6.i1;
object6.bst = statsBinding(a0, i0, i1);
let estatsBinding = estats;
let bst = object6.bst;
object6.est = estatsBinding(bst);
const items2 = [object6];
length = items2.length;
if (length < a1) {
reducibleLoop3: while (true) {
length = items2.length;
if (value2 < length) {
r15 = value2;
r17 = value2;
r18 = value2;
reducibleLoop4: while (true) {
est = items2[r15].est;
L = est.L;
reducibleJoin6: while (true) {
if (L > r18) {
est = items2[r15].est;
L = est.L;
r17 = r15;
r18 = L;
break reducibleJoin6;
}
break reducibleJoin6;
}
value4 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1;
length = items2.length;
if (value4 < length) {
r15 = value4;
continue reducibleLoop4;
}
r0 = r18;
r16 = r17;
break reducibleLoop4;
}
} else {
r0 = value2;
r16 = value2;
}
if (r0 < r11) {
break reducibleLoop3;
}
property = items2[r16];
splitPixelsBinding = splitPixels;
i0 = property.i0;
i1 = property.i1;
est = property.est;
e = est.e;
est = property.est;
eMq255 = est.eMq255;
value5 = splitPixelsBinding(a0, uint32Array, i0, i1, e, eMq255);
i0 = property.i0;
reducibleJoin15: while (true) {
reducibleJoin14: while (true) {
if (i0 >= value5) {
break reducibleJoin14;
}
i1 = property.i1;
if (i1 <= value5) {
break reducibleJoin14;
}
object4 = {'i0': null, 'i1': null, 'bst': null, 'est': null, 'tdst': 0, 'left': null,
'right': null};
i0 = property.i0;
object4.i0 = i0;
object4.i1 = value5;
statsBinding = stats;
i0 = object4.i0;
i1 = object4.i1;
object4.bst = statsBinding(a0, i0, i1);
estatsBinding = estats;
bst = object4.bst;
object4.est = estatsBinding(bst);
object5 = {'i0': null, 'i1': null, 'bst': null, 'est': null, 'tdst': 0, 'left': null,
'right': null};
object5.i0 = value5;
i1 = property.i1;
object5.i1 = i1;
bst = property.bst;
N = bst.N;
bst = object4.bst;
N2 = bst.N;
object5.bst = {R: [], m: [], N: N - N2};
r18 = value2;
reducibleLoop11: while (true) {
bst = object5.bst;
R = bst.R;
bst = property.bst;
R2 = bst.R;
property2 = R2[r18];
bst = object4.bst;
R3 = bst.R;
R[r18] = property2 - R3[r18];
value6 = typeof r18 === 'bigint' ? r18 + 1n : +r18 + 1;
if (value6 < 16) {
r18 = value6;
continue reducibleLoop11;
}
r17 = value2;
break reducibleLoop11;
}
reducibleLoop12: while (true) {
bst = object5.bst;
m = bst.m;
bst = property.bst;
m2 = bst.m;
property3 = m2[r17];
bst = object4.bst;
m3 = bst.m;
m[r17] = property3 - m3[r17];
value7 = typeof r17 === 'bigint' ? r17 + 1n : +r17 + 1;
if (value7 < 4) {
r17 = value7;
continue reducibleLoop12;
}
break reducibleLoop12;
}
estatsBinding = estats;
bst = object5.bst;
object5.est = estatsBinding(bst);
property.left = object4;
property.right = object5;
items2[r16] = object4;
push = items2.push;
Reflect.apply(push, items2, [object5]);
break reducibleJoin15;
}
est = property.est;
est.L = value2;
break reducibleJoin15;
}
length = items2.length;
if (length < a1) {
continue reducibleLoop3;
}
break reducibleLoop3;
}
}
items2.sort(function(a0, a1) {
var N = a1.bst.N;
return N - a0.bst.N;
});
length = items2.length;
if (value2 < length) {
r3 = value2;
reducibleLoop17: while (true) {
items2[r3].ind = r3;
uint32Array = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
length = items2.length;
if (uint32Array < length) {
r3 = uint32Array;
continue reducibleLoop17;
}
break reducibleLoop17;
}
}
return [object6, items2];
}
function getNearest(a0, a1, a2, a3, a4) { // fn#20936, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:24067, offset: 0x00ee554e, size: 267 bytes, params: 6, frame: 24
var r7;
var r10;
var value;
var q;
var value4;
var value5;
var value6;
let left = a0.left;
if (left == null) {
q = a0.est.q;
value = a1 - q[0];
value4 = a2 - q[1];
value5 = a3 - q[2];
value6 = a4 - q[3];
value *= value;
value += value4 * value4;
value += value5 * value5;
a0.tdst = value + value6 * value6;
return a0;
}
const value2 = planeDst(a0.est, a1, a2, a3, a4);
left = a0.left;
let right = a0.right;
if (value2 > 0) {
right = a0.right;
r7 = a0.left;
r10 = right;
} else {
r7 = right;
r10 = left;
}
const nearest = getNearest(r10, a1, a2, a3, a4);
if (nearest.tdst <= value2 * value2) {
return nearest;
}
value = getNearest(r7, a1, a2, a3, a4);
return value.tdst < nearest.tdst ? value : nearest;
}
function splitPixels(a0, a1, a2, a3, a4, a5) { // fn#20938, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:24496, offset: 0x00ee56b0, size: 243 bytes, params: 7, frame: 27
var r2;
var r9;
var r13;
var r11;
var r14;
var r12;
var r0;
var r3;
var property;
var value4;
var value5;
let value = a2;
const value2 = a3 - 4;
if (value < value2) {
r2 = value;
r9 = value2;
reducibleLoop1: while (true) {
if (vecDot(a0, r2, a4) <= a5) {
r13 = r2;
reducibleLoop2: while (true) {
value = r13 + 4;
if (vecDot(a0, value, a4) <= a5) {
r13 = value;
continue reducibleLoop2;
}
r11 = value;
break reducibleLoop2;
}
} else {
r11 = r2;
}
if (vecDot(a0, r9, a4) > a5) {
r14 = r9;
reducibleLoop4: while (true) {
value = r14 - 4;
if (vecDot(a0, value, a4) > a5) {
r14 = value;
continue reducibleLoop4;
}
r12 = value;
break reducibleLoop4;
}
} else {
r12 = r9;
}
if (r11 >= r12) {
r0 = r11;
break reducibleLoop1;
}
property = a1[r11 >> 2];
value = r11 >> 2;
value4 = r12 >> 2;
a1[value] = a1[value4];
a1[value4] = property;
value = r11 + 4;
value5 = r12 - 4;
if (value < value5) {
r2 = value;
r9 = value5;
continue reducibleLoop1;
}
r0 = value;
break reducibleLoop1;
}
} else {
r0 = value;
}
if (vecDot(a0, r0, a4) > a5) {
r3 = r0;
reducibleLoop8: while (true) {
value = r3 - 4;
if (vecDot(a0, value, a4) > a5) {
r3 = value;
continue reducibleLoop8;
}
r0 = value;
break reducibleLoop8;
}
}
return r0 + 4;
}
function stats(a0, a1, a2) { // fn#20940, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:24779, offset: 0x00ee5801, size: 431 bytes, params: 4, frame: 24
var r16;
var value3;
var value4;
var value5;
var property;
let value = a1;
const items3 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
const items2 = [0, 0, 0, 0];
const value2 = a2 - value >> 2;
if (value < a2) {
for (r16 = value; true; r16 = value) {
value = 0.00392156862745098 * a0[r16];
value3 = 0.00392156862745098 * a0[r16 + 1];
value4 = 0.00392156862745098 * a0[r16 + 2];
value5 = 0.00392156862745098 * a0[r16 + 3];
items2[0] += value;
items2[1] += value3;
items2[2] += value4;
items2[3] += value5;
property = items3[0];
items3[0] = property + value * value;
property = items3[1];
items3[1] = property + value * value3;
property = items3[2];
items3[2] = property + value * value4;
property = items3[3];
items3[3] = property + value * value5;
property = items3[5];
items3[5] = property + value3 * value3;
property = items3[6];
items3[6] = property + value3 * value4;
property = items3[7];
items3[7] = property + value3 * value5;
property = items3[10];
items3[10] = property + value4 * value4;
property = items3[11];
items3[11] = property + value4 * value5;
property = items3[15];
items3[15] = property + value5 * value5;
value = r16 + 4;
if (!(value < a2)) {
break;
}
}
}
items3[4] = items3[1];
items3[8] = items3[2];
items3[9] = items3[6];
items3[12] = items3[3];
items3[13] = items3[7];
items3[14] = items3[11];
return {R: items3, m: items2, N: value2};
}
function estats({R, m, N}) { // fn#20941, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:25214, offset: 0x00ee59b0, size: 975 bytes, params: 2, frame: 36
var r16;
var r17;
var r18;
var r8;
var r10;
var value6;
var sqrt;
var dot;
var value7;
var value8;
var value9;
var value10;
var value11;
var value12;
var abs;
const property = m[0];
const property2 = m[1];
const property3 = m[2];
const property4 = m[3];
const r0 = N == 0 ? 0 : 1 / N;
const items4 = [R[0] - property * property * r0];
items4[1] = R[1] - property * property2 * r0;
items4[2] = R[2] - property * property3 * r0;
items4[3] = R[3] - property * property4 * r0;
items4[4] = R[4] - property2 * property * r0;
items4[5] = R[5] - property2 * property2 * r0;
items4[6] = R[6] - property2 * property3 * r0;
items4[7] = R[7] - property2 * property4 * r0;
items4[8] = R[8] - property3 * property * r0;
items4[9] = R[9] - property3 * property2 * r0;
items4[10] = R[10] - property3 * property3 * r0;
items4[11] = R[11] - property3 * property4 * r0;
items4[12] = R[12] - property4 * property * r0;
items4[13] = R[13] - property4 * property2 * r0;
items4[14] = R[14] - property4 * property3 * r0;
items4[15] = R[15] - property4 * property4 * r0;
const binding = env0_4;
let Math = global.Math;
const items2 = [Math.random()];
Math = global.Math;
items2[1] = Math.random();
Math = global.Math;
items2[2] = Math.random();
Math = global.Math;
items2[3] = Math.random();
if (N != 0) {
value6 = binding.multVec(items4, items2);
Math = global.Math;
sqrt = Math.sqrt;
dot = binding.dot;
value7 = Reflect.apply(sqrt, Math, [Reflect.apply(dot, binding, [value6, value6])]);
value8 = binding.sml(1 / value7, value6);
r16 = 0;
r17 = value7;
r18 = value8;
while (true) {
value9 = typeof r16 === 'bigint' ? r16 + 1n : +r16 + 1;
if (!(value9 < 16)) {
r8 = r17;
r10 = r18;
break;
}
value10 = binding.multVec(items4, r18);
Math = global.Math;
sqrt = Math.sqrt;
dot = binding.dot;
value11 = Reflect.apply(sqrt, Math, [Reflect.apply(dot, binding, [value10, value10])]);
value12 = binding.sml(1 / value11, value10);
if (value9 == 0) {
r16 = value9;
r17 = value11;
r18 = value12;
continue;
}
Math = global.Math;
abs = Math.abs;
if (Reflect.apply(abs, Math, [value11 - r17]) < 0.000000001) {
r8 = r17;
r10 = value12;
break;
}
r16 = value9;
r17 = value11;
r18 = value12;
continue;
}
} else {
r8 = 0;
r10 = items2;
}
const items3 = [property * r0, property2 * r0, property3 * r0, property4 * r0];
const object2 = {Cov: items4, q: items3, e: r10, L: r8};
object2.eMq255 = binding.dot(binding.sml(255, items3), r10);
object2.eMq = binding.dot(r10, items3);
Math = global.Math;
const value15 = Math.round(255 * items3[3]) << 24;
Math = global.Math;
const value17 = Math.round(255 * items3[2]) << 16;
Math = global.Math;
const value18 = Math.round(255 * items3[1]) << 8;
Math = global.Math;
object2.rgba = (value15 | value17 | value18 | Math.round(255 * items3[0])) >>> 0;
return object2;
}
function update_20942(a0, a1, a2, a3) { // fn#20942, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:12868, offset: 0x00ee5d7f, size: 83 bytes, params: 5, frame: 11
var r1;
var r5;
var r0;
var table;
var property;
var value4;
let value = a0;
const value2 = 0;
if (value2 < a3) {
r1 = value;
for (r5 = value2; true; r5 = value4) {
table = env0_3.table;
property = table[255 & (r1 ^ a1[a2 + r5])];
value = property ^ r1 >>> 8;
value4 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
if (!(value4 < a3)) {
r0 = value;
break;
}
r1 = value;
}
} else {
r0 = value;
}
return r0;
}
function crc(a0, a1, a2) { // fn#20943, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:12959, offset: 0x00ee5dd2, size: 48 bytes, params: 4, frame: 17
const binding = env0_3;
return 4294967295 ^ binding.update(4294967295, a0, a1, a2);
}
function multVec([property, property, property, property, property, property, property, property, property, property, property, property, property, property, property, property], a1) { // fn#20944, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:25893, offset: 0x00ee5e02, size: 315 bytes, params: 3, frame: 10
let value = property * a1[0];
value += property * a1[1];
value += property * a1[2];
value += property * a1[3];
const items2 = [value];
value = property * a1[0];
value += property * a1[1];
value += property * a1[2];
items2[1] = value + property * a1[3];
value = property * a1[0];
value += property * a1[1];
value += property * a1[2];
items2[2] = value + property * a1[3];
value = property * a1[0];
value += property * a1[1];
value += property * a1[2];
items2[3] = value + property * a1[3];
return items2;
}
function encode_20947(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#20947, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:26229, offset: 0x00ee5fd3, size: 131 bytes, params: 8, frame: 21
const value3 = compress_20925(global, require, importDefault, importAll ?? 0, [false, false, false, 0,
dependencyMap ?? false, false]);
compressPNG(value3, -1);
return _main(value3, require, importDefault, module, exports);
}
function encodeLL(a0, a1, a2, a3, a4, a5, a6, a7) { // fn#20948, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:26387, offset: 0x00ee6056, size: 323 bytes, params: 9, frame: 29
var r3;
var r1;
var frames;
var push;
var object3;
var Uint8Array;
var property;
var prototype;
var value5;
var uint8Array;
var value6;
var Math;
var ceil;
var value7;
const object4 = {};
let value = 2;
reducibleJoin2: while (true) {
if (a3 == 1) {
value = 0;
r3 = value;
break reducibleJoin2;
}
r3 = value;
break reducibleJoin2;
}
value = 0;
object4.ctype = value + r3 + (value == a4 ? value : 4);
object4.depth = a5;
object4.frames = [];
const Date = global.Date;
Date.now();
const value3 = (a3 + a4) * a5;
const value4 = value3 * a1;
let length = a0.length;
if (value < length) {
r1 = value;
reducibleLoop4: while (true) {
frames = object4.frames;
push = frames.push;
object3 = {};
object3.rect = {'x': 0, 'y': 0, width: a1, height: a2};
Uint8Array = global.Uint8Array;
property = a0[r1];
prototype = Uint8Array.prototype;
value5 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value6 = uint8Array instanceof Object ? uint8Array : value5;
object3.img = value6;
object3.blend = value;
object3.dispose = 1;
Math = global.Math;
ceil = Math.ceil;
object3.bpp = Reflect.apply(ceil, Math, [value3 / 8]);
Math = global.Math;
ceil = Math.ceil;
object3.bpl = Reflect.apply(ceil, Math, [value4 / 8]);
Reflect.apply(push, frames, [object3]);
value7 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
length = a0.length;
if (value7 < length) {
r1 = value7;
continue reducibleLoop4;
}
break reducibleLoop4;
}
}
compressPNG(object4, value, true);
return _main(object4, a1, a2, a6, a7);
}
function C_20904(a0, a1) { // fn#20904, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:4866, offset: 0x00ee0688, size: 189 bytes, params: 3, frame: 11
var r1;
var r0;
var r7;
var value3;
var property;
var property2;
var value5;
var value6;
var property3;
const length = a0.length;
let value = environment;
const v = env0_0.v;
const value2 = 0;
if (value2 <= a1) {
for (r1 = value2; true; r1 = value3) {
v[r1] = value2;
value3 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (!(value3 <= a1)) {
break;
}
}
}
const value4 = 1;
if (value4 < length) {
for (r1 = value4; true; r1 = value5) {
property = a0[r1];
property2 = v[property];
v[property] = typeof property2 === 'bigint' ? property2 + 1n : +property2 + 1;
value5 = r1 + 2;
if (!(value5 < length)) {
break;
}
}
}
const m = env0_0.m;
v[value2] = value2;
if (value4 <= a1) {
r0 = value4;
for (r7 = value2; true; r7 = value) {
value = r7 + v[r0 - value4] << value4;
m[r0] = value;
value6 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1;
if (!(value6 <= a1)) {
break;
}
r0 = value6;
}
}
if (value2 < length) {
r0 = value2;
while (true) {
property = a0[r0 + value4];
if (value2 != property) {
a0[r0] = m[property];
property3 = m[property];
m[property] = typeof property3 === 'bigint' ? property3 + 1n : +property3 + 1;
}
value = r0 + 2;
if (value < length) {
r0 = value;
continue;
}
break;
}
}
}
function t_20905(a0, a1, a2) { // fn#20905, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:5072, offset: 0x00ee0745, size: 163 bytes, params: 4, frame: 20
var r4;
var r15;
var value2;
var property;
var value3;
var value4;
var value5;
var value6;
var value7;
var value8;
const length = a0.length;
const i = env0_0.i;
const value = 0;
if (value < length) {
r4 = value;
reducibleLoop1: while (true) {
value2 = r4 + 1;
reducibleJoin4: while (true) {
if (value == a0[value2]) {
break reducibleJoin4;
}
property = a0[value2];
value3 = r4 >> 1 << 4 | property;
value4 = a1 - property;
value5 = a0[r4] << value4;
value6 = value5 + (1 << value4);
if (value5 == value6) {
break reducibleJoin4;
}
r15 = value5;
reducibleLoop3: while (true) {
property = i[r15];
a2[property >>> 15 - a1] = value3;
value7 = typeof r15 === 'bigint' ? r15 + 1n : +r15 + 1;
if (value7 != value6) {
r15 = value7;
continue reducibleLoop3;
}
break reducibleJoin4;
}
}
value8 = r4 + 2;
if (value8 < length) {
r4 = value8;
continue reducibleLoop1;
}
break reducibleLoop1;
}
}
}
function g_20906(a0, a1) { // fn#20906, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:5230, offset: 0x00ee07e8, size: 94 bytes, params: 3, frame: 9
var r3;
var property;
var value3;
const i = env0_0.i;
const value = 15 - a1;
let length = a0.length;
const value2 = 0;
if (value2 < length) {
for (r3 = value2; true; r3 = value3) {
property = a0[r3];
a0[r3] = i[property << a1 - a0[r3 + 1]] >>> value;
value3 = r3 + 2;
length = a0.length;
if (!(value3 < length)) {
break;
}
}
}
}
function B_20911(a0, a1, a2, a3, a4, a5) { // fn#20911, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:5658, offset: 0x00ee0994, size: 305 bytes, params: 7, frame: 47
var r4;
var r5;
var r33;
var r34;
var r35;
var r31;
var r24;
var r25;
var r0;
var property;
var value4;
var value5;
var value6;
var value7;
var value8;
var value9;
let value = a4;
const value2 = 0;
if (value2 < a2) {
r4 = value2;
r5 = value;
reducibleLoop1: while (true) {
property = a0[w_20909(a3, r5) & a1];
value = r5 + (15 & property);
value4 = property >>> 4;
if (value4 <= 15) {
a5[r4] = value4;
value9 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
r24 = value9;
r25 = value;
} else {
if (value4 === 16) {
value7 = 3 + F_20907(a3, value, 2);
value += 2;
property = a5[r4 - 1];
r33 = value7;
r34 = property;
r35 = value;
} else if (value4 === 17) {
value6 = 3 + F_20907(a3, value, 3);
value += 3;
r33 = value6;
r34 = value2;
r35 = value;
} else {
reducibleJoin8: while (true) {
if (value4 !== 18) {
r33 = value2;
r34 = value2;
r35 = value;
break reducibleJoin8;
}
value5 = 11 + F_20907(a3, value, 7);
value += 7;
r33 = value5;
r34 = value2;
r35 = value;
break reducibleJoin8;
}
}
value = r4 + r33;
if (r4 < value) {
r31 = r4;
reducibleLoop9: while (true) {
a5[r31] = r34;
value8 = typeof r31 === 'bigint' ? r31 + 1n : +r31 + 1;
if (value8 < value) {
r31 = value8;
continue reducibleLoop9;
}
r24 = value8;
r25 = r35;
break reducibleLoop9;
}
} else {
r24 = r4;
r25 = r35;
}
}
if (r24 < a2) {
r4 = r24;
r5 = r25;
continue reducibleLoop1;
}
r0 = r25;
break reducibleLoop1;
}
} else {
r0 = value;
}
return r0;
}
function _fun20913() { // fn#20913, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:6067, offset: 0x00ee0b3f, size: 637 bytes, params: 1, frame: 34
var r0;
var value3;
var value4;
var value5;
var value6;
var value7;
var value8;
var value9;
var value10;
var value11;
var value12;
var i;
var value13;
var value14;
var B;
var o;
var value15;
var z;
var h;
var p;
var value16;
var w;
var value17;
const closure = function(a0, a1, a2) {
var r2;
var value3;
var value = typeof a1 === 'bigint' ? a1 : +a1;
if (value != 0) {
for (r2 = typeof value === 'bigint' ? value - 1n : +value - 1; true; r2 = value3) {
a0.push(0, a2);
value = typeof r2 === 'bigint' ? r2 : +r2;
value3 = typeof value === 'bigint' ? value - 1n : +value - 1;
if (value == 0) {
break;
}
}
}
};
let value = 0;
let r7 = value;
reducibleLoop1: while (true) {
value3 = 2863311530 & r7;
value4 = 1431655765 & r7;
value5 = value3 >>> 1;
value6 = value5 | value4 << 1;
value7 = (3435973836 & value6) >>> 2;
value8 = value7 | (858993459 & value6) << 2;
value9 = (4042322160 & value8) >>> 4;
value10 = value9 | (252645135 & value8) << 4;
value11 = (4278255360 & value10) >>> 8;
value12 = value11 | (16711935 & value10) << 8;
i = env0_0.i;
value13 = value12 >>> 16;
i[r7] = (value13 | value12 << 16) >>> 17;
value14 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
if (value14 < 32768) {
r7 = value14;
continue reducibleLoop1;
}
r0 = value;
break reducibleLoop1;
}
reducibleLoop2: while (true) {
B = env0_0.B;
o = env0_0.o;
value15 = o[r0] << 3;
z = env0_0.z;
B[r0] = value15 | z[r0];
h = env0_0.h;
p = env0_0.p;
value16 = p[r0] << 4;
w = env0_0.w;
h[r0] = value16 | w[r0];
value17 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1;
if (value17 < 32) {
r0 = value17;
continue reducibleLoop2;
}
break reducibleLoop2;
}
closure(env0_0.s, 144, 8);
closure(env0_0.s, 112, 9);
closure(env0_0.s, 24, 7);
closure(env0_0.s, 8, 8);
C_20904(env0_0.s, 9);
const t_20905Binding = t_20905;
t_20905Binding(env0_0.s, 9, env0_0.g);
const g_20906Binding = g_20906;
g_20906Binding(env0_0.s, 9);
let t = env0_0.t;
closure(t, 32, 5);
C_20904(env0_0.t, 5);
t = env0_0.t;
const A = env0_0.A;
t_20905Binding(t, 5, A);
g_20906Binding(env0_0.t, 5);
closure(env0_0.b, 19, value);
closure(env0_0.c, 286, value);
closure(env0_0.e, 30, value);
closure(env0_0.a, 320, value);
}
function v_20915(a0, a1) { // fn#20915, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2034:6574, offset: 0x00ee0dea, size: 1608 bytes, params: 3, frame: 103
var r67;
var r2;
var r4;
var r53;
var r43;
var r45;
var r46;
var r44;
var r6;
var r7;
var r8;
var r84;
var r86;
var r83;
var r82;
var r61;
var r62;
var r75;
var r76;
var r80;
var r81;
var r59;
var r0;
var length;
var prototype;
var value4;
var uint8Array;
var s_20908Binding;
var value9;
var value10;
var value11;
var value12;
var value13;
var value14;
var property;
var value15;
var value16;
var set;
var buffer;
var byteOffset;
var value17;
var value18;
var value19;
var value20;
var value21;
var value22;
var g;
var A;
var value23;
var value24;
var value25;
var value26;
var b;
var value27;
var value28;
var d;
var value29;
var t_20905Binding;
var C;
var k;
var n;
var a;
var value30;
var value31;
var value32;
var d_20912Binding;
var c;
var value33;
var value34;
var e;
var value35;
var value36;
var value37;
var value38;
var value39;
var B;
var value40;
var value41;
var value42;
var value43;
var value44;
var h;
var value45;
var value46;
var value47;
var value48;
var value49;
var value50;
var value51;
var value52;
var value53;
var value54;
var value55;
var value56;
var slice;
var value57;
var value58;
let value = a1;
const Uint8Array = global.Uint8Array;
const value2 = 0;
if (a0[value2] == 3) {
reducibleJoin2: while (true) {
if (value2 == a0[1]) {
reducibleJoin37: while (true) {
if (value) {
r0 = value;
break reducibleJoin37;
}
prototype = Uint8Array.prototype;
value = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array(value2);
value = uint8Array instanceof Object ? uint8Array : value;
r0 = value;
break reducibleJoin37;
}
return r0;
}
break reducibleJoin2;
}
}
const value3 = value == null;
reducibleJoin4: while (true) {
if (value3) {
length = a0.length;
value = length >>> 2;
prototype = Uint8Array.prototype;
value4 = Object.create(prototype, {constructor: {value: Uint8Array}});
value <<= 3;
uint8Array = new Uint8Array(value);
value = uint8Array instanceof Object ? uint8Array : value4;
r67 = value;
break reducibleJoin4;
}
r67 = value;
break reducibleJoin4;
}
value = undefined;
const value6 = 1;
const value7 = 511;
const value8 = 31;
let r14 = value2;
let r15 = value2;
let r19 = value;
let r20 = value;
let r65 = value2;
let r66 = value2;
reducibleLoop5: while (true) {
s_20908Binding = s_20908;
value9 = s_20908Binding(a0, r65, value6);
value10 = s_20908Binding(a0, r65 + value6, 2);
value11 = r65 + 3;
if (value2 !== value10) {
reducibleJoin13: while (true) {
if (value3) {
value22 = H_20910(r67, r66 + 131072);
r53 = value22;
break reducibleJoin13;
}
r53 = r67;
break reducibleJoin13;
}
reducibleJoin15: while (true) {
if (value6 !== value10) {
break reducibleJoin15;
}
g = env0_0.g;
A = env0_0.A;
r14 = value8;
r15 = value7;
r19 = A;
r20 = g;
break reducibleJoin15;
}
reducibleJoin22: while (true) {
if (value10 !== 2) {
r6 = value11;
r7 = r66;
r8 = r53;
break reducibleJoin22;
}
value23 = F_20907(a0, value11, 5) + 257;
value24 = F_20907(a0, value11 + 5, 5) + value6;
value25 = F_20907(a0, value11 + 10, 4) + 4;
value26 = value11 + 14;
r43 = value2;
reducibleLoop17: while (true) {
b = env0_0.b;
b[r43] = value2;
b = env0_0.b;
b[r43 + value6] = value2;
value27 = r43 + 2;
if (value27 < 38) {
r43 = value27;
continue reducibleLoop17;
}
break reducibleLoop17;
}
if (value2 < value25) {
r45 = value2;
r46 = value6;
reducibleLoop19: while (true) {
value28 = F_20907(a0, value26 + 3 * r45, 3);
b = env0_0.b;
d = env0_0.d;
b[value6 + (d[r45] << value6)] = value28;
if (value28 > r46) {
r46 = value28;
}
value29 = typeof r45 === 'bigint' ? r45 + 1n : +r45 + 1;
if (value29 < value25) {
r45 = value29;
continue reducibleLoop19;
}
r44 = r46;
break reducibleLoop19;
}
} else {
r44 = value6;
}
b = env0_0.b;
C_20904(b, r44);
t_20905Binding = t_20905;
b = env0_0.b;
C = env0_0.C;
t_20905Binding(b, r44, C);
k = env0_0.k;
n = env0_0.n;
C = env0_0.C;
a = env0_0.a;
value30 = (value6 << r44) - value6;
value31 = value23 + value24;
value32 = B_20911(C, value30, value31, a0, value26 + 3 * value25, a);
d_20912Binding = d_20912;
a = env0_0.a;
c = env0_0.c;
value33 = d_20912Binding(a, value2, value23, c);
value34 = (value6 << value33) - value6;
a = env0_0.a;
e = env0_0.e;
value35 = d_20912Binding(a, value23, value24, e);
value36 = (value6 << value35) - value6;
c = env0_0.c;
C_20904(c, value33);
c = env0_0.c;
t_20905Binding(c, value33, k);
e = env0_0.e;
C_20904(e, value35);
e = env0_0.e;
t_20905Binding(e, value35, n);
r6 = value32;
r7 = r66;
r8 = r53;
r14 = value36;
r15 = value34;
r19 = n;
r20 = k;
break reducibleJoin22;
}
reducibleLoop22: while (true) {
property = r20[w_20909(a0, r6) & r15];
value37 = r6 + (15 & property);
value38 = property >>> 4;
reducibleJoin23: while (true) {
if (value38 >>> 8 === value2) {
value57 = typeof r7 === 'bigint' ? r7 : +r7;
value58 = typeof value57 === 'bigint' ? value57 + 1n : +value57 + 1;
r8[value57] = value38;
r6 = value37;
r7 = value58;
continue reducibleLoop22;
}
break reducibleJoin23;
}
if (value38 === 256) {
r61 = r8;
r62 = r7;
r65 = value37;
r75 = r14;
r76 = r15;
r80 = r19;
r81 = r20;
break reducibleLoop22;
}
value39 = r7 + value38 - 254;
reducibleJoin26: while (true) {
if (value38 > 264) {
B = env0_0.B;
property = B[value38 - 257];
value40 = r7 + (property >>> 3);
value41 = value40 + F_20907(a0, value37, 7 & property);
value42 = value37 + (7 & property);
r84 = value42;
r86 = value41;
break reducibleJoin26;
}
r84 = value37;
r86 = value39;
break reducibleJoin26;
}
property = r19[w_20909(a0, r84) & r14];
value43 = r84 + (15 & property);
value44 = property >>> 4;
h = env0_0.h;
property = h[value44];
value45 = property >>> 4;
value46 = value45 + s_20908(a0, value43, 15 & property);
value47 = value43 + (15 & property);
reducibleJoin28: while (true) {
if (value3) {
value48 = H_20910(r8, r7 + 131072);
r83 = value48;
break reducibleJoin28;
}
r83 = r8;
break reducibleJoin28;
}
if (!(r7 < r86)) {
r6 = value47;
r7 = r86;
r8 = r83;
continue reducibleLoop22;
}
r82 = r7;
reducibleLoop29: while (true) {
value49 = typeof r82 === 'bigint' ? r82 : +r82;
value50 = typeof value49 === 'bigint' ? value49 + 1n : +value49 + 1;
r83[r82] = r83[value49 - value46];
value51 = typeof value50 === 'bigint' ? value50 : +value50;
value52 = typeof value51 === 'bigint' ? value51 + 1n : +value51 + 1;
r83[value50] = r83[value51 - value46];
value53 = typeof value52 === 'bigint' ? value52 : +value52;
value54 = typeof value53 === 'bigint' ? value53 + 1n : +value53 + 1;
r83[value52] = r83[value53 - value46];
value55 = typeof value54 === 'bigint' ? value54 : +value54;
value56 = typeof value55 === 'bigint' ? value55 + 1n : +value55 + 1;
r83[value54] = r83[value55 - value46];
if (value56 < r86) {
r82 = value56;
continue reducibleLoop29;
}
r6 = value47;
r7 = r86;
r8 = r83;
continue reducibleLoop22;
}
continue reducibleLoop22;
}
} else {
value12 = 7 & value11;
reducibleJoin8: while (true) {
if (value12) {
value13 = value11 + (8 - value12);
r2 = value13;
break reducibleJoin8;
}
r2 = value11;
break reducibleJoin8;
}
value14 = 4 + (r2 >>> 3);
property = a0[value14 - 4];
value15 = property | a0[value14 - 3] << 8;
reducibleJoin10: while (true) {
if (value3) {
value16 = H_20910(r67, r66 + value15);
r4 = value16;
break reducibleJoin10;
}
r4 = r67;
break reducibleJoin10;
}
set = r4.set;
buffer = a0.buffer;
byteOffset = a0.byteOffset;
value17 = byteOffset + value14;
prototype = Uint8Array.prototype;
value18 = Object.create(prototype, {constructor: {value: Uint8Array}});
uint8Array = new Uint8Array();
value19 = uint8Array instanceof Object ? uint8Array : value18;
Reflect.apply(set, r4, [value19, r66]);
value20 = value14 + value15 << 3;
value21 = r66 + value15;
r61 = r4;
r62 = value21;
r65 = value20;
r75 = r14;
r76 = r15;
r80 = r19;
r81 = r20;
}
if (value2 === value9) {
r14 = r75;
r15 = r76;
r19 = r80;
r20 = r81;
r66 = r62;
r67 = r61;
continue reducibleLoop5;
}
break reducibleLoop5;
}
reducibleJoin33: while (true) {
if (r61.length == r62) {
r59 = r61;
break reducibleJoin33;
}
slice = r61.slice;
value = Reflect.apply(slice, r61, [value2, r62]);
r59 = value;
break reducibleJoin33;
}
return r59;
}