// Module ID: 1953 // Function ID: 1954 // Name: decodeImage // Dependencies: [] // Module 1953 (decodeImage) let length3; let length6; let num2; let tmp22; let tmp24; let tmp26; let tmp28; let tmp43; let tmp58; let tmp60; let tmp62; let tmp64; c1 = function decodeImage(uint8Array, arg1, arg2, depth) { const result = arg1 * arg2; const rounded = Math.ceil(arg1 * ([1, null, 3, 1, 2, null, 4][depth.ctype] * depth.depth) / 8); uint8Array = new Uint8Array(4 * result); const uint32Array = new Uint32Array(uint8Array.buffer); ({ ctype, depth } = depth); const readUshort = _undefined.readUshort; const timestamp = Date.now(); if (6 == ctype) { if (8 == depth) { let num52 = 0; if (0 < tmp64) { do { uint8Array[num52] = uint8Array[num52]; let sum = num52 + 1; uint8Array[sum] = uint8Array[sum]; let sum1 = num52 + 2; uint8Array[sum1] = uint8Array[sum1]; let sum2 = num52 + 3; uint8Array[sum2] = uint8Array[sum2]; num52 = num52 + 4; } while (num52 < tmp64); } } if (16 == depth) { let num55 = 0; if (0 < tmp64) { do { uint8Array[num55] = uint8Array[num55 << 1]; num55 = num55 + 1; } while (num55 < tmp64); } } } else if (2 == ctype) { let tRNS = depth.tabs.tRNS; if (null == tRNS) { if (8 == depth) { let num46 = 0; if (0 < result) { do { let result1 = 3 * num46; uint32Array[num46] = -16777216 | uint8Array[result1 + 2] << 16 | uint8Array[result1 + 1] << 8 | uint8Array[result1]; num46 = num46 + 1; } while (num46 < result); } } if (16 == depth) { let num48 = 0; if (0 < result) { do { let result2 = 6 * num48; uint32Array[num48] = -16777216 | uint8Array[result2 + 4] << 16 | uint8Array[result2 + 2] << 8 | uint8Array[result2]; num48 = num48 + 1; } while (num48 < result); } } } else { [tmp69, tmp70, tmp71] = tRNS; if (8 == depth) { let num39 = 0; if (0 < result) { do { let result3 = 3 * num39; let sum3 = result3 + 2; let sum4 = result3 + 1; uint32Array[num39] = -16777216 | uint8Array[sum3] << 16 | uint8Array[sum4] << 8 | uint8Array[result3]; let tmp55 = uint8Array[result3] == tmp69; let tmp56 = num39; if (tmp55) { tmp55 = uint8Array[sum4] == tmp70; } if (tmp55) { tmp55 = uint8Array[sum3] == tmp71; } if (tmp55) { uint8Array[(num39 << 2) + 3] = 0; } num39 = num39 + 1; } while (num39 < result); } } if (16 == depth) { let num41 = 0; if (0 < result) { do { let result4 = 6 * num41; let sum5 = result4 + 4; let sum6 = result4 + 2; uint32Array[num41] = -16777216 | uint8Array[sum5] << 16 | uint8Array[sum6] << 8 | uint8Array[result4]; let tmp60 = readUshort(uint8Array, result4) == tmp69; let tmp61 = num41; if (tmp60) { tmp60 = readUshort(uint8Array, sum6) == tmp70; } if (tmp60) { tmp60 = readUshort(uint8Array, sum5) == tmp71; } if (tmp60) { uint8Array[(num41 << 2) + 3] = 0; } num41 = num41 + 1; } while (num41 < result); } } } } else if (3 == ctype) { const PLTE = depth.tabs.PLTE; tRNS = depth.tabs.tRNS; let num26 = 0; if (tRNS) { num26 = tRNS.length; } if (1 == depth) { for (let num30 = 0; num30 < arg2; num30 = num30 + 1) { let tmp28 = num30; for (let num28 = 0; num28 < arg1; num28 = num28 + 1) { let tmp29 = tmp27 + num28 << 2; let tmp30 = uint8Array[tmp26 + (num28 >> 3)] >> 7 - (7 & num28) & 1; let result5 = 3 * tmp30; uint8Array[tmp29] = PLTE[result5]; uint8Array[tmp29 + 1] = PLTE[result5 + 1]; uint8Array[tmp29 + 2] = PLTE[result5 + 2]; let tmp32 = num28; let num29 = 255; if (tmp30 < num26) { num29 = tRNS[tmp30]; } uint8Array[tmp29 + 3] = num29; } } } if (2 == depth) { for (let num33 = 0; num33 < arg2; num33 = num33 + 1) { let tmp35 = num33; for (let num31 = 0; num31 < arg1; num31 = num31 + 1) { let tmp36 = tmp34 + num31 << 2; let tmp37 = uint8Array[tmp33 + (num31 >> 2)] >> 6 - ((3 & num31) << 1) & 3; let result6 = 3 * tmp37; uint8Array[tmp36] = PLTE[result6]; uint8Array[tmp36 + 1] = PLTE[result6 + 1]; uint8Array[tmp36 + 2] = PLTE[result6 + 2]; let tmp39 = num31; let num32 = 255; if (tmp37 < num26) { num32 = tRNS[tmp37]; } uint8Array[tmp36 + 3] = num32; } } } if (4 == depth) { for (let num36 = 0; num36 < arg2; num36 = num36 + 1) { let tmp42 = num36; for (let num34 = 0; num34 < arg1; num34 = num34 + 1) { let tmp43 = tmp41 + num34 << 2; let tmp44 = uint8Array[tmp40 + (num34 >> 1)] >> 4 - ((1 & num34) << 2) & 15; let result7 = 3 * tmp44; uint8Array[tmp43] = PLTE[result7]; uint8Array[tmp43 + 1] = PLTE[result7 + 1]; uint8Array[tmp43 + 2] = PLTE[result7 + 2]; let tmp46 = num34; let num35 = 255; if (tmp44 < num26) { num35 = tRNS[tmp44]; } uint8Array[tmp43 + 3] = num35; } } } if (8 == depth) { let num38 = 0; if (0 < result) { do { let tmp47 = num38 << 2; let tmp48 = uint8Array[num38]; let result8 = 3 * tmp48; uint8Array[tmp47] = PLTE[result8]; uint8Array[tmp47 + 1] = PLTE[result8 + 1]; uint8Array[tmp47 + 2] = PLTE[result8 + 2]; let tmp50 = num38; let num37 = 255; if (tmp48 < num26) { num37 = tRNS[tmp48]; } uint8Array[tmp47 + 3] = num37; num38 = num38 + 1; } while (num38 < result); } } } else if (4 == ctype) { if (8 == depth) { let num22 = 0; if (0 < result) { do { let tmp20 = num22 << 2; let tmp21 = num22 << 1; let tmp22 = uint8Array[tmp21]; uint8Array[tmp20] = tmp22; uint8Array[tmp20 + 1] = tmp22; uint8Array[tmp20 + 2] = tmp22; uint8Array[tmp20 + 3] = uint8Array[tmp21 + 1]; num22 = num22 + 1; } while (num22 < result); } } if (16 == depth) { let num24 = 0; if (0 < result) { do { let tmp23 = num24 << 2; let tmp24 = uint8Array[tmp23]; uint8Array[tmp23] = tmp24; uint8Array[tmp23 + 1] = tmp24; let sum7 = tmp23 + 2; uint8Array[sum7] = tmp24; uint8Array[tmp23 + 3] = uint8Array[sum7]; num24 = num24 + 1; } while (num24 < result); } } } else if (0 == ctype) { let num = -1; if (depth.tabs.tRNS) { num = depth.tabs.tRNS; } for (let num10 = 0; num10 < arg2; num10 = num10 + 1) { let result9 = num10 * rounded; let result10 = num10 * arg1; let tmp8 = num10; if (1 == depth) { for (let num19 = 0; num19 < arg1; num19 = num19 + 1) { let result11 = 255 * (uint8Array[result9 + (num19 >>> 3)] >>> 7 - (7 & num19) & 1); let tmp19 = num19; let num20 = 255; if (result11 === 255 * num) { num20 = 0; } uint32Array[result10 + num19] = num20 << 24 | result11 << 16 | result11 << 8 | result11; } } else if (2 == depth) { for (let num17 = 0; num17 < arg1; num17 = num17 + 1) { let result12 = 85 * (uint8Array[result9 + (num17 >>> 2)] >>> 6 - ((3 & num17) << 1) & 3); let tmp17 = num17; let num18 = 255; if (result12 === 85 * num) { num18 = 0; } uint32Array[result10 + num17] = num18 << 24 | result12 << 16 | result12 << 8 | result12; } } else if (4 == depth) { for (let num15 = 0; num15 < arg1; num15 = num15 + 1) { let result13 = 17 * (uint8Array[result9 + (num15 >>> 1)] >>> 4 - ((1 & num15) << 2) & 15); let tmp15 = num15; let num16 = 255; if (result13 === 17 * num) { num16 = 0; } uint32Array[result10 + num15] = num16 << 24 | result13 << 16 | result13 << 8 | result13; } } else if (8 == depth) { for (let num13 = 0; num13 < arg1; num13 = num13 + 1) { let tmp12 = uint8Array[result9 + num13]; let tmp13 = num13; let num14 = 255; if (tmp12 == num) { num14 = 0; } uint32Array[result10 + num13] = num14 << 24 | tmp12 << 16 | tmp12 << 8 | tmp12; } } else if (16 == depth) { for (let num12 = 0; num12 < arg1; num12 = num12 + 1) { let sum8 = result9 + (num12 << 1); let tmp10 = uint8Array[sum8]; let tmp11 = num12; let num11 = 255; if (readUshort(uint8Array, sum8) == num) { num11 = 0; } uint32Array[result10 + num12] = num11 << 24 | tmp10 << 16 | tmp10 << 8 | tmp10; } } } } return uint8Array; }; c2 = function _decompress(depth, buffer) { const timestamp = Date.now(); const uint8Array = new Uint8Array((Math.ceil(arg2 * ([1, null, 3, 1, 2, null, 4][depth.ctype] * depth.depth) / 8) + 1 + depth.interlace) * arg3); if (depth.tabs.CgBI) { let tmp3Result = tmp3(buffer, uint8Array); } else { const _Uint8Array = Uint8Array; const uint8Array1 = new Uint8Array(buffer.buffer, 2, buffer.length - 6); tmp3Result = tmp3(uint8Array1, uint8Array); } const timestamp1 = Date.now(); if (0 == depth.interlace) { _main(tmp3Result, depth, 0, arg2, arg3); let tmp36 = tmp3Result; } else { tmp36 = tmp3Result; if (1 == depth.interlace) { ({ width, height } = depth); const result = [1, null, 3, 1, 2, null, 4][depth.ctype] * depth.depth; const _Math2 = Math; const rounded = Math.ceil(width * result / 8); const _Uint8Array2 = Uint8Array; const uint8Array2 = new Uint8Array(height * rounded); const items = [0, 0, 4, 0, 2, 0, 1]; const items1 = [0, 4, 0, 2, 0, 1, 0]; let num9 = 0; let num10 = 0; do { let tmp10 = [8, 8, 8, 4, 4, 2, 2][num9]; let tmp11 = tmp50[num9]; let sum = items[num9]; let tmp13 = num9; let num3 = 0; let num4 = 0; let tmp14 = num10; while (sum < height) { sum = sum + tmp10; num3 = num3 + 1; num4 = num3; } let sum1 = items1[num9]; let num5 = 0; let num6 = 0; while (sum1 < width) { sum1 = sum1 + tmp11; num5 = num5 + 1; num6 = num5; } let _Math = Math; let rounded1 = Math.ceil(num6 * result / 8); let tmp17 = _main; let tmp18 = tmp3Result; let tmp19 = depth; let tmp20 = num10; let tmp21 = num6; let tmp22 = num4; let tmp23 = _main(tmp3Result, depth, tmp14, num6, num4); let sum7 = items[num9]; let num7 = 0; while (sum7 < height) { let sum6 = items1[num9]; let sum5 = num10 + num7 * rounded1 << 3; let tmp27 = sum7; let tmp28 = num7; if (sum6 < width) { do { let tmp29 = sum5; let tmp30 = sum6; if (1 == result) { let sum2 = sum7 * rounded + (sum6 >> 3); uint8Array2[sum2] = uint8Array2[sum2] | (tmp3Result[sum5 >> 3] >> 7 - (7 & sum5) & 1) << 7 - (7 & sum6); } if (2 == result) { let sum3 = sum7 * rounded + (sum6 >> 2); uint8Array2[sum3] = uint8Array2[sum3] | (tmp3Result[sum5 >> 3] >> 6 - (7 & sum5) & 3) << 6 - ((3 & sum6) << 1); } if (4 == result) { let sum4 = sum7 * rounded + (sum6 >> 1); uint8Array2[sum4] = uint8Array2[sum4] | (tmp3Result[sum5 >> 3] >> 4 - (7 & sum5) & 15) << 4 - ((1 & sum6) << 2); } if (result >= 8) { let num8 = 0; if (0 < tmp44) { do { uint8Array2[tmp34 + num8] = tmp3Result[(sum5 >> 3) + num8]; num8 = num8 + 1; } while (num8 < tmp44); } } sum5 = sum5 + result; sum6 = sum6 + tmp11; } while (sum6 < width); } num7 = num7 + 1; sum7 = sum7 + tmp10; } let sum8 = num10; if (num6 * num4 !== 0) { sum8 = num10 + num4 * (1 + rounded1); } num9 = num9 + 1; num10 = sum8; tmp36 = uint8Array2; } while (num9 < 7); } } return tmp36; }; let c3 = function _inflate(buffer, width) { const uint8Array = new Uint8Array(buffer.buffer, 2, buffer.length - 6); return dither(uint8Array, width); }; let _main = function _filterZero(arg0, depth) { const result = [1, null, 3, 1, 2, null, 4][depth.ctype] * depth.depth; const rounded = Math.ceil(arg3 * result / 8); const rounded1 = Math.ceil(result / 8); if (arg0[arg2] > 1) { arg0[arg2] = [0, 0, 1][tmp4 - 2]; } if (3 == arg0[arg2]) { let sum = rounded1; if (rounded1 < rounded) { do { arg0[sum + 1] = arg0[sum + 1] + (arg0[sum + 1 - rounded1] >>> 1) & 255; sum = sum + 1; } while (sum < rounded); } } for (let num3 = 0; num3 < arg4; num3 = num3 + 1) { let sum1 = arg2 + num3 * rounded; let sum2 = sum1 + num3 + 1; let tmp8 = arg0[sum2 - 1]; let tmp9 = num3; if (0 == tmp8) { for (let num13 = 0; num13 < rounded; num13 = num13 + 1) { arg0[sum1 + num13] = arg0[sum2 + num13]; } } else if (1 == tmp8) { let num11 = 0; let num12 = 0; if (0 < rounded1) { do { arg0[sum1 + num11] = arg0[sum2 + num11]; num11 = num11 + 1; num12 = num11; } while (num11 < rounded1); } if (num12 < rounded) { do { let sum3 = sum1 + num12; arg0[sum3] = arg0[sum2 + num12] + arg0[sum3 - rounded1]; num12 = num12 + 1; } while (num12 < rounded); } } else if (2 == tmp8) { for (let num10 = 0; num10 < rounded; num10 = num10 + 1) { let sum4 = sum1 + num10; arg0[sum4] = arg0[sum2 + num10] + arg0[sum4 - rounded]; } } else if (3 == tmp8) { let num8 = 0; let num9 = 0; if (0 < rounded1) { do { let sum5 = sum1 + num8; arg0[sum5] = arg0[sum2 + num8] + (arg0[sum5 - rounded] >>> 1); num8 = num8 + 1; num9 = num8; } while (num8 < rounded1); } if (num9 < rounded) { do { let sum6 = sum1 + num9; arg0[sum6] = arg0[sum2 + num9] + (arg0[sum6 - rounded] + arg0[sum6 - rounded1] >>> 1); num9 = num9 + 1; } while (num9 < rounded); } } else { let num6 = 0; let num7 = 0; if (0 < rounded1) { do { let sum7 = sum1 + num6; let tmp11 = arg0[sum7 - rounded]; let tmp12 = tmp11; let tmp13 = tmp12; let diff = tmp12 - tmp11; let result1 = tmp13 * tmp13; let result2 = diff * diff; let tmp17 = num6; if (result1 > result2) { let num5 = 0; if (result2 <= result1) { num5 = tmp11; } let num4 = num5; } else { num4 = 0; } arg0[sum7] = arg0[sum2 + num6] + num4; num6 = num6 + 1; num7 = num6; } while (num6 < rounded1); } if (num7 < rounded) { do { let sum8 = sum1 + num7; let tmp19 = arg0[sum8 - rounded1]; let tmp20 = arg0[sum8 - rounded]; let tmp21 = arg0[sum8 - rounded1 - rounded]; let diff1 = tmp19 + tmp20 - tmp21; let diff2 = diff1 - tmp19; let diff3 = diff1 - tmp20; let diff4 = diff1 - tmp21; let tmp26 = num7; if (diff2 * diff2 > diff3 * diff3) { if (diff3 * diff3 <= diff4 * diff4) { tmp21 = tmp20; } tmp19 = tmp21; } arg0[sum8] = arg0[sum2 + num7] + tmp19; num7 = num7 + 1; } while (num7 < rounded); } } } return arg0; }; let compressPNG = function _IHDR(uint8Array, sum1) { arg2.width = _undefined.readUint(uint8Array, sum1); const sum = sum1 + 4; arg2.height = _undefined.readUint(uint8Array, sum); sum1 = sum + 4; arg2.depth = uint8Array[sum1]; const sum2 = sum1 + 1; arg2.ctype = uint8Array[sum2]; const sum3 = sum2 + 1; arg2.compress = uint8Array[sum3]; const sum4 = sum3 + 1; arg2.filter = uint8Array[sum4]; arg2.interlace = uint8Array[sum4 + 1]; }; function _copyTile(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { const bound = Math.min(arg1, arg4); const bound1 = Math.min(arg2, arg5); for (let num = 0; num < bound1; num = num + 1) { let tmp3 = num; let num2 = 0; if (0 < bound) { while (true) { let tmp4 = num2; if (arg6 >= 0) { if (arg7 >= 0) { let tmp5 = num * arg1 + num2 << 2; let tmp6 = (arg7 + num) * arg4 + arg6 + num2 << 2; if (0 == arg8) { arg3[tmp6] = arg0[tmp5]; arg3[tmp6 + 1] = arg0[tmp5 + 1]; arg3[tmp6 + 2] = arg0[tmp5 + 2]; arg3[tmp6 + 3] = arg0[tmp5 + 3]; } else if (1 == arg8) { let result = 0.00392156862745098 * arg0[tmp5 + 3]; let sum = tmp6 + 3; let result1 = 0.00392156862745098 * arg3[sum]; let sum1 = tmp6 + 1; let sum2 = tmp6 + 2; let diff = 1 - result; let sum3 = result + result1 * diff; let num3 = 0; let result2 = arg0[tmp5] * result; let result3 = arg0[tmp5 + 1] * result; let result4 = arg0[tmp5 + 2] * result; let result5 = arg3[tmp6] * result1; let result6 = arg3[sum1] * result1; let result7 = arg3[sum2] * result1; if (0 !== sum3) { num3 = 1 / sum3; } arg3[sum] = 255 * sum3; arg3[tmp6] = (result2 + result5 * diff) * num3; arg3[sum1] = (result3 + result6 * diff) * num3; arg3[sum2] = (result4 + result7 * diff) * num3; } else if (2 == arg8) { let tmp7 = arg0[tmp5 + 3]; let tmp8 = arg0[tmp5]; let tmp9 = arg0[tmp5 + 1]; let tmp10 = arg0[tmp5 + 2]; let sum4 = tmp6 + 3; let sum5 = tmp6 + 1; let sum6 = tmp6 + 2; if (tmp7 == arg3[sum4]) { if (tmp8 == arg3[tmp6]) { if (tmp9 == arg3[sum5]) { if (tmp10 == arg3[sum6]) { arg3[tmp6] = 0; arg3[sum5] = 0; arg3[sum6] = 0; arg3[sum4] = 0; } } } } arg3[tmp6] = tmp8; arg3[sum5] = tmp9; arg3[sum6] = tmp10; arg3[sum4] = tmp7; } else if (3 == arg8) { let tmp27 = arg0[tmp5 + 3]; let tmp28 = arg3[tmp6 + 3]; if (tmp27 < 220) { if (tmp28 > 20) { let flag = false; return false; } } } num2 = num2 + 1; if (num2 >= bound) { break; } } } tmp5 = (-arg7 + num) * arg1 - arg6 + num2 << 2; tmp6 = num * arg4 + num2 << 2; } } } return true; } let compress = _copyTile; let obj = { nextZero(uint8Array, sum1) { let tmp4; let tmp = sum1; let tmp2 = sum1; if (0 != uint8Array[sum1]) { do { let sum = tmp + 1; tmp = sum; tmp2 = sum; tmp4 = uint8Array[sum]; } while (0 != tmp4); } return tmp2; }, readUshort(uint8Array, sum1) { return uint8Array[sum1] << 8 | uint8Array[sum1 + 1]; }, writeUshort(uint8Array, sum40, arg2) { uint8Array[sum40] = arg2 >> 8 & 255; uint8Array[sum40 + 1] = 255 & arg2; }, readUint(uint8Array, sum1) { return 16777216 * uint8Array[sum1] + (uint8Array[sum1 + 1] << 16 | uint8Array[sum1 + 2] << 8 | uint8Array[sum1 + 3]); }, writeUint(uint8Array, writeUintResult16, height) { uint8Array[writeUintResult16] = height >> 24 & 255; uint8Array[writeUintResult16 + 1] = height >> 16 & 255; uint8Array[writeUintResult16 + 2] = height >> 8 & 255; uint8Array[writeUintResult16 + 3] = 255 & height; }, readASCII(uint8Array, sum1, diff2) { let num = 0; let str = ""; let str2 = ""; if (0 < diff2) { do { let _String = String; str = `${String.fromCharCode(uint8Array[sum1 + num])}`; num = num + 1; str2 = str; } while (num < diff2); } return str2; }, writeASCII(uint8Array, writeUintResult16, IEND) { let length; let num = 0; if (0 < IEND.length) { do { let sum = writeUintResult16 + num; uint8Array[sum] = IEND.charCodeAt(num); num = num + 1; length = IEND.length; } while (num < length); } }, readBytes(uint8Array, sum1, uint) { const items = []; for (let num = 0; num < uint; num = num + 1) { let arr = items.push(uint8Array[sum1 + num]); } return items; }, pad(arg0) { let text = arg0; if (arg0.length < 2) { text = `0${arg0}`; } return text; }, readUTF8(uint8Array, sum7, length) { let num = 0; let str = ""; let str2 = ""; if (0 < length) { do { let tmp4 = _undefined; let str3 = uint8Array[sum7 + num]; str = `${"%" + tmp5(str3.toString(16))}`; num = num + 1; str2 = str; } while (num < length); } try { const _decodeURIComponent = decodeURIComponent; return decodeURIComponent(str2); } catch (err) { return _undefined.readASCII(tmp3, tmp2, tmp); } } }; c0 = obj; obj = { m: null, v: null, d: null, o: null, z: null, B: null, p: null, w: null, h: null, g: null, s: null, A: null, t: null, k: null, c: null, a: null, n: null, e: null, C: null, b: null, i: null, r: null, f: null, l: null, u: null, q: null, j: null }; const uint16Array = new Uint16Array(16); obj[0] = uint16Array; const uint16Array1 = new Uint16Array(16); obj[1] = uint16Array1; obj[2] = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; obj[3] = [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]; obj[4] = [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]; const uint16Array2 = new Uint16Array(32); obj[5] = uint16Array2; obj[6] = [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]; obj[7] = [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]; let uint32Array = new Uint32Array(32); obj[8] = uint32Array; const uint16Array3 = new Uint16Array(512); obj[9] = uint16Array3; obj[10] = []; const uint16Array4 = new Uint16Array(32); obj[11] = uint16Array4; obj[12] = []; const uint16Array5 = new Uint16Array(32768); obj[13] = uint16Array5; obj[14] = []; obj[15] = []; const uint16Array6 = new Uint16Array(32768); obj[16] = uint16Array6; obj[17] = []; const uint16Array7 = new Uint16Array(512); obj[18] = uint16Array7; obj[19] = []; const uint16Array8 = new Uint16Array(32768); obj[20] = uint16Array8; let uint32Array1 = new Uint32Array(286); obj[21] = uint32Array1; let uint32Array2 = new Uint32Array(30); obj[22] = uint32Array2; let uint32Array3 = new Uint32Array(19); obj[23] = uint32Array3; const uint32Array4 = new Uint32Array(15000); obj[24] = uint32Array4; const uint16Array9 = new Uint16Array(65536); obj[25] = uint16Array9; const uint16Array10 = new Uint16Array(32768); obj[26] = uint16Array10; c0 = obj; let num = 0; do { let tmp17 = (2863311530 & num) >>> 1 | (1431655765 & num) << 1; let tmp18 = (3435973836 & tmp17) >>> 2 | (858993459 & tmp17) << 2; let tmp19 = (4042322160 & tmp18) >>> 4 | (252645135 & tmp18) << 4; let tmp20 = (4278255360 & tmp19) >>> 8 | (16711935 & tmp19) << 8; obj.i[num] = (tmp20 >>> 16 | tmp20 << 16) >>> 17; num = num + 1; num2 = 0; } while (num < 32768); do { obj.B[num2] = obj.o[num2] << 3 | obj.z[num2]; obj.h[num2] = obj.p[num2] << 4 | obj.w[num2]; num2 = num2 + 1; } while (num2 < 32); const s = obj.s; let num3 = 143; do { let arr = require("module_0"); tmp22 = num3; num3 = num3 - 1; } while (0 !== tmp22); const s1 = obj.s; let num4 = 111; do { arr = require("module_0"); tmp24 = num4; num4 = num4 - 1; } while (0 !== tmp24); const s2 = obj.s; let num5 = 23; do { let arr1 = require("module_0"); tmp26 = num5; num5 = num5 - 1; } while (0 !== tmp26); const s3 = obj.s; let num6 = 7; do { let arr2 = require("module_0"); tmp28 = num6; num6 = num6 - 1; } while (0 !== tmp28); const s4 = obj.s; let v = obj.v; let num7 = 0; do { v[num7] = 0; num7 = num7 + 1; } while (num7 <= 9); for (let num8 = 1; num8 < length; num8 = num8 + 2) { let tmp29 = s4[num8]; v[tmp29] = v[tmp29] + 1; } let m = obj.m; v[0] = 0; let num9 = 1; let num10 = 0; do { let tmp30 = num10 + v[num9 - 1] << 1; m[num9] = tmp30; num9 = num9 + 1; num10 = tmp30; } while (num9 <= 9); for (let num11 = 0; num11 < length; num11 = num11 + 2) { let tmp31 = s4[num11 + 1]; let tmp32 = num11; if (0 != tmp31) { s4[num11] = m[tmp31]; m[tmp31] = m[tmp31] + 1; } } const s5 = obj.s; for (let num12 = 0; num12 < length2; num12 = num12 + 2) { let sum = num12 + 1; let tmp36 = num12; if (0 != s5[sum]) { let diff = 9 - s5[sum]; let sum2 = s5[num12] << diff; let sum1 = sum2 + (1 << diff); if (sum2 !== sum1) { do { tmp33[tmp34[sum2] >>> 6] = tmp37; sum2 = sum2 + 1; } while (sum2 !== sum1); } } } const s6 = obj.s; let num13 = 0; if (0 < s6.length) { do { s6[num13] = tmp41[s6[num13] << 9 - s6[num13 + 1]] >>> 6; num13 = num13 + 2; length3 = s6.length; } while (num13 < length3); } const t = obj.t; let num14 = 31; do { let arr3 = require("module_0"); tmp43 = num14; num14 = num14 - 1; } while (0 !== tmp43); const t1 = obj.t; let v2 = obj.v; let num15 = 0; do { v2[num15] = 0; num15 = num15 + 1; } while (num15 <= 5); for (let num16 = 1; num16 < length4; num16 = num16 + 2) { let tmp44 = t1[num16]; v2[tmp44] = v2[tmp44] + 1; } let m2 = obj.m; v2[0] = 0; let num17 = 1; let num18 = 0; do { let tmp45 = num18 + v2[num17 - 1] << 1; m2[num17] = tmp45; num17 = num17 + 1; num18 = tmp45; } while (num17 <= 5); for (let num19 = 0; num19 < length4; num19 = num19 + 2) { let tmp46 = t1[num19 + 1]; let tmp47 = num19; if (0 != tmp46) { t1[num19] = m2[tmp46]; m2[tmp46] = m2[tmp46] + 1; } } const t2 = obj.t; for (let num20 = 0; num20 < length5; num20 = num20 + 2) { let sum3 = num20 + 1; let tmp51 = num20; if (0 != t2[sum3]) { let diff1 = 5 - t2[sum3]; let sum5 = t2[num20] << diff1; let sum4 = sum5 + (1 << diff1); if (sum5 !== sum4) { do { tmp48[tmp49[sum5] >>> 10] = tmp52; sum5 = sum5 + 1; } while (sum5 !== sum4); } } } const t3 = obj.t; let num21 = 0; if (0 < t3.length) { do { t3[num21] = tmp56[t3[num21] << 5 - t3[num21 + 1]] >>> 10; num21 = num21 + 2; length6 = t3.length; } while (num21 < length6); } let b = obj.b; let num22 = 18; do { let arr4 = require("module_0"); tmp58 = num22; num22 = num22 - 1; } while (0 !== tmp58); let c = obj.c; let num23 = 285; do { let arr5 = require("module_0"); tmp60 = num23; num23 = num23 - 1; } while (0 !== tmp60); let event = obj.e; let num24 = 29; do { let arr6 = require("module_0"); tmp62 = num24; num24 = num24 - 1; } while (0 !== tmp62); let a = obj.a; let num25 = 319; do { let arr7 = require("module_0"); tmp64 = num25; num25 = num25 - 1; } while (0 !== tmp64); let dither = function v(buffer) { let arr2; let sum22; let _Uint8Array = arg1; _Uint8Array = Uint8Array; if (3 == buffer[0]) { if (0 == buffer[1]) { if (!_Uint8Array) { _Uint8Array = new.target; _Uint8Array = new.target; _Uint8Array = new _Uint8Array(0); } return _Uint8Array; } } let _Uint8Array1 = _Uint8Array; if (null == _Uint8Array) { _Uint8Array1 = new _Uint8Array(buffer.length >>> 2 << 3); } let num3 = 0; let num4 = 0; let num5 = 0; let num6 = 0; do { let tmp7 = num3 >>> 3; let sum = num3 + 1; let tmp11 = sum >>> 3; let tmp12 = (buffer[tmp11] | buffer[1 + tmp11] << 8 | buffer[2 + tmp11] << 16) >>> (7 & sum) & 3; let sum1 = num3 + 3; let tmp14 = num3; let tmp15 = num4; let num7 = num5; let num8 = num6; A = tmp5; g = tmp6; let tmp16 = _Uint8Array1; let tmp8 = buffer[tmp7] | buffer[1 + tmp7] << 8; let tmp9 = buffer[2 + tmp7] << 16; if (0 !== tmp12) { let tmp38 = _Uint8Array1; if (tmp2) { let sum2 = num4 + 131072; let length2 = _Uint8Array1.length; let tmp40 = _Uint8Array1; if (sum2 > length2) { let _Uint8Array3 = Uint8Array; let _Math2 = Math; let tmp41 = new.target; let tmp42 = new.target; let uint8Array = new Uint8Array(Math.max(length2 << 1, sum2)); let tmp43 = uint8Array; let result = uint8Array.set(_Uint8Array1, 0); tmp40 = uint8Array; } tmp38 = tmp40; } if (1 === tmp12) { let tmp45 = _undefined; ({ g, A } = _undefined); num7 = 31; num8 = 511; } let tmp46 = sum1; let sum18 = num4; let arr3 = tmp38; if (2 === tmp12) { _Uint8Array = sum1 >>> 3; _Uint8Array = sum1 + 5; _Uint8Array = _Uint8Array >>> 3; _Uint8Array = sum1 + 10; _Uint8Array = _Uint8Array >>> 3; let num9 = 0; _Uint8Array = buffer[_Uint8Array] | buffer[1 + _Uint8Array] << 8; _Uint8Array = buffer[_Uint8Array] | buffer[1 + _Uint8Array] << 8; _Uint8Array = buffer[_Uint8Array] | buffer[1 + _Uint8Array] << 8; do { let tmp48 = _undefined; _undefined.b[num9] = 0; _undefined.b[num9 + 1] = 0; num9 = num9 + 2; } while (num9 < 38); let sum3 = (_Uint8Array >>> (7 & _Uint8Array) & 15) + 4; let sum4 = sum1 + 14; let num10 = 0; let num11 = 1; let num12 = 1; if (0 < sum3) { do { let sum5 = sum4 + 3 * num10; let tmp52 = sum5 >>> 3; let tmp53 = (buffer[tmp52] | buffer[1 + tmp52] << 8) >>> (7 & sum5) & 7; _undefined.b[1 + (_undefined.d[num10] << 1)] = tmp53; let tmp55 = num10; let tmp56 = num11; let tmp54 = _undefined; if (num11 < tmp53) { tmp56 = tmp53; } num10 = num10 + 1; num11 = tmp56; tmp48 = tmp54; num12 = tmp56; } while (num10 < sum3); } let b = tmp48.b; let length3 = b.length; let v = tmp48.v; let num13 = 0; if (0 <= num12) { do { v[num13] = 0; num13 = num13 + 1; } while (num13 <= num12); } for (let num14 = 1; num14 < length3; num14 = num14 + 2) { let tmp57 = b[num14]; v[tmp57] = v[tmp57] + 1; } let tmp58 = _undefined; let m = _undefined.m; v[0] = 0; let num15 = 1; let num16 = 0; if (1 <= num12) { do { let tmp59 = num16 + v[num15 - 1] << 1; m[num15] = tmp59; num15 = num15 + 1; num16 = tmp59; } while (num15 <= num12); } for (let num17 = 0; num17 < length3; num17 = num17 + 2) { let tmp60 = b[num17 + 1]; let tmp61 = num17; if (0 != tmp60) { b[num17] = m[tmp60]; m[tmp60] = m[tmp60] + 1; } } let b1 = tmp48.b; let length4 = b1.length; let tmp63 = _undefined; for (let num18 = 0; num18 < length4; num18 = num18 + 2) { let sum6 = num18 + 1; let tmp67 = num18; if (0 != b1[sum6]) { let diff = num12 - b1[sum6]; let sum8 = b1[num18] << diff; let sum7 = sum8 + (1 << diff); if (sum8 !== sum7) { do { tmp62[tmp64[sum8] >>> tmp65] = tmp68; sum8 = sum8 + 1; } while (sum8 !== sum7); } } } let sum9 = (_Uint8Array >>> (7 & sum1) & 31) + 257; let sum10 = (_Uint8Array >>> (7 & _Uint8Array) & 31) + 1; let sum11 = sum4 + 3 * sum3; ({ k, n } = tmp48); let sum12 = sum9 + sum10; let a = tmp48.a; let num19 = 0; let tmp78 = sum11; let tmp79 = sum11; if (0 < sum12) { do { let tmp80 = tmp78 >>> 3; let tmp81 = tmp75[(buffer[tmp80] | buffer[1 + tmp80] << 8 | buffer[2 + tmp80] << 16) >>> (7 & tmp78) & tmp76]; let sum13 = tmp78 + (15 & tmp81); let tmp83 = tmp81 >>> 4; let tmp84 = num19; if (tmp83 <= 15) { a[num19] = tmp83; sum14 = num19 + 1; let tmp90 = sum13; } else { if (16 === tmp83) { let tmp87 = sum13 >>> 3; let num20 = 3 + ((buffer[tmp87] | buffer[1 + tmp87] << 8) >>> (7 & sum13) & 3); let sum15 = sum13 + 2; let num21 = a[num19 - 1]; } else if (17 === tmp83) { let tmp86 = sum13 >>> 3; num20 = 3 + ((buffer[tmp86] | buffer[1 + tmp86] << 8) >>> (7 & sum13) & 7); sum15 = sum13 + 3; num21 = 0; } else { num20 = 0; num21 = 0; sum15 = sum13; if (18 === tmp83) { _Uint8Array = sum13 >>> 3; num20 = 11 + ((buffer[_Uint8Array] | buffer[1 + _Uint8Array] << 8) >>> (7 & sum13) & 127); sum15 = sum13 + 7; num21 = 0; } } let sum16 = num19 + num20; let sum17 = num19; tmp90 = sum15; sum14 = num19; if (num19 < sum16) { do { a[sum17] = num21; sum17 = sum17 + 1; tmp90 = sum15; sum14 = sum17; } while (sum17 < sum16); } } num19 = sum14; tmp78 = tmp90; tmp79 = tmp90; } while (sum14 < sum12); } let c = tmp48.c; let tmp93 = c.length >>> 1; let num22 = 0; let num23 = 0; let num24 = 0; let num25 = 0; if (0 < sum9) { do { let tmp94 = tmp92[num22]; let tmp95 = num22 << 1; c[tmp95] = 0; c[1 + tmp95] = tmp94; let tmp96 = num22; let tmp97 = num23; if (tmp94 > num23) { tmp97 = tmp94; } num22 = num22 + 1; num23 = tmp97; num25 = tmp97; num24 = num22; } while (num22 < sum9); } if (num24 < tmp93) { do { let tmp98 = num24 << 1; c[tmp98] = 0; c[1 + tmp98] = 0; num24 = num24 + 1; } while (num24 < tmp93); } let event = tmp48.e; _Uint8Array = event.length >>> 1; let num26 = 0; let num27 = 0; let num28 = 0; let num29 = 0; let tmp99 = 1 << num25; if (0 < sum10) { do { _Uint8Array = _Uint8Array[num26 + sum9]; _Uint8Array = num26 << 1; event[_Uint8Array] = 0; event[1 + _Uint8Array] = _Uint8Array; _Uint8Array = num26; _Uint8Array = num27; num26 = num26 + 1; num27 = _Uint8Array; num29 = _Uint8Array; num28 = num26; } while (num26 < sum10); } if (num28 < _Uint8Array) { do { _Uint8Array = num28 << 1; event[_Uint8Array] = 0; event[1 + _Uint8Array] = 0; num28 = num28 + 1; } while (num28 < _Uint8Array); } let _undefined2 = tmp48.c; let length5 = _undefined2.length; _Uint8Array = _undefined; let v2 = _undefined.v; let num30 = 0; _Uint8Array = 1 << num29; if (0 <= num25) { do { v2[num30] = 0; num30 = num30 + 1; } while (num30 <= num25); } for (let num31 = 1; num31 < length5; num31 = num31 + 2) { _Uint8Array = _undefined2[num31]; v2[_Uint8Array] = v2[_Uint8Array] + 1; } _Uint8Array = _undefined; let m2 = _undefined.m; v2[0] = 0; let num32 = 1; let num33 = 0; if (1 <= num25) { do { _Uint8Array = num33 + v2[num32 - 1] << 1; m2[num32] = _Uint8Array; num32 = num32 + 1; num33 = _Uint8Array; } while (num32 <= num25); } for (let num34 = 0; num34 < length5; num34 = num34 + 2) { _Uint8Array = _undefined2[num34 + 1]; _Uint8Array = num34; if (0 != _Uint8Array) { _undefined2[num34] = m2[_Uint8Array]; m2[_Uint8Array] = m2[_Uint8Array] + 1; } } let _undefined3 = tmp48.c; let length6 = _undefined3.length; _Uint8Array = _undefined; for (let num35 = 0; num35 < length6; num35 = num35 + 2) { _Uint8Array = num35 + 1; _Uint8Array = num35; if (0 != _undefined3[_Uint8Array]) { _Uint8Array = num25 - _undefined3[_Uint8Array]; _Uint8Array = _undefined3[num35] << _Uint8Array; _Uint8Array = _Uint8Array + (1 << _Uint8Array); if (_Uint8Array != _Uint8Array) { do { k[_Uint8Array[_Uint8Array] >>> 15 - num25] = _Uint8Array; _Uint8Array = _Uint8Array + 1; } while (_Uint8Array != _Uint8Array); } } } let event1 = tmp48.e; let length7 = event1.length; _Uint8Array = _undefined; let v3 = _undefined.v; for (let num36 = 0; num36 <= num29; num36 = num36 + 1) { v3[num36] = 0; } for (let num37 = 1; num37 < length7; num37 = num37 + 2) { _Uint8Array = event1[num37]; v3[_Uint8Array] = v3[_Uint8Array] + 1; } _Uint8Array = _undefined; let m3 = _undefined.m; v3[0] = 0; let num38 = 1; let num39 = 0; if (1 <= num29) { do { _Uint8Array = num39 + v3[num38 - 1] << 1; m3[num38] = _Uint8Array; num38 = num38 + 1; num39 = _Uint8Array; } while (num38 <= num29); } for (let num40 = 0; num40 < length7; num40 = num40 + 2) { _Uint8Array = event1[num40 + 1]; _Uint8Array = num40; if (0 != _Uint8Array) { event1[num40] = m3[_Uint8Array]; m3[_Uint8Array] = m3[_Uint8Array] + 1; } } _Uint8Array = tmp99 - 1; _Uint8Array = _Uint8Array - 1; let event2 = tmp48.e; let length8 = event2.length; _Uint8Array = _undefined; let num41 = 0; tmp46 = tmp79; sum18 = num4; num7 = _Uint8Array; num8 = _Uint8Array; A = n; g = k; arr3 = tmp38; if (0 < length8) { do { _Uint8Array = num41 + 1; _Uint8Array = num41; if (0 != event2[_Uint8Array]) { _Uint8Array = num29 - event2[_Uint8Array]; _Uint8Array = event2[num41] << _Uint8Array; _Uint8Array = _Uint8Array + (1 << _Uint8Array); if (_Uint8Array != _Uint8Array) { do { n[_Uint8Array[_Uint8Array] >>> 15 - num29] = _Uint8Array; _Uint8Array = _Uint8Array + 1; } while (_Uint8Array != _Uint8Array); } } num41 = num41 + 2; tmp46 = tmp79; sum18 = num4; num7 = _Uint8Array; num8 = _Uint8Array; A = n; g = k; arr3 = tmp38; } while (num41 < length8); } } while (true) { _Uint8Array = tmp46 >>> 3; _Uint8Array = g[(buffer[_Uint8Array] | buffer[1 + _Uint8Array] << 8 | buffer[2 + _Uint8Array] << 16) >>> (7 & tmp46) & num8]; _Uint8Array = tmp46 + (15 & _Uint8Array); _Uint8Array = _Uint8Array >>> 4; _Uint8Array = sum18; _Uint8Array = arr3; if (_Uint8Array >>> 8 === 0) { sum18 = sum18 + 1; arr3[_Uint8Array] = _Uint8Array; tmp46 = _Uint8Array; continue; } else { let tmp32 = _Uint8Array; sum22 = sum18; let tmp34 = num7; let tmp35 = num8; let tmp36 = A; let tmp37 = g; arr2 = arr3; if (256 === _Uint8Array) { break; } else { _Uint8Array = sum18 + _Uint8Array - 254; if (264 < _Uint8Array) { _Uint8Array = _undefined; _Uint8Array = _undefined.B[_Uint8Array - 257]; _Uint8Array = _Uint8Array >>> 3; _Uint8Array = sum18 + (_Uint8Array >>> 3) + ((buffer[_Uint8Array] | buffer[1 + _Uint8Array] << 8) >>> (7 & _Uint8Array) & (1 << (7 & _Uint8Array)) - 1); _Uint8Array = _Uint8Array + (7 & _Uint8Array); } _Uint8Array = _Uint8Array >>> 3; _Uint8Array = A[(buffer[_Uint8Array] | buffer[1 + _Uint8Array] << 8 | buffer[2 + _Uint8Array] << 16) >>> (7 & _Uint8Array) & num7]; _Uint8Array = _Uint8Array + (15 & _Uint8Array); _Uint8Array = _undefined; _Uint8Array = _undefined.h[_Uint8Array >>> 4]; _Uint8Array = _Uint8Array >>> 3; _Uint8Array = (_Uint8Array >>> 4) + ((buffer[_Uint8Array] | buffer[1 + _Uint8Array] << 8 | buffer[2 + _Uint8Array] << 16) >>> (7 & _Uint8Array) & (1 << (15 & _Uint8Array)) - 1); _Uint8Array = arr3; _Uint8Array = 15 & _Uint8Array; if (tmp2) { _Uint8Array = sum18 + 131072; let length9 = arr3.length; _Uint8Array = arr3; if (_Uint8Array > length9) { let _Uint8Array4 = Uint8Array; let _Math3 = Math; _Uint8Array = new.target; _Uint8Array = new.target; let uint8Array1 = new Uint8Array(Math.max(length9 << 1, _Uint8Array)); _Uint8Array = uint8Array1; _Uint8Array = uint8Array1.set(arr3, 0); _Uint8Array = uint8Array1; } } _Uint8Array = _Uint8Array + _Uint8Array; tmp46 = _Uint8Array; sum18 = _Uint8Array; arr3 = _Uint8Array; if (_Uint8Array >= _Uint8Array) { continue; } else { do { _Uint8Array = _Uint8Array + 1; _Uint8Array[_Uint8Array] = _Uint8Array[_Uint8Array - _Uint8Array]; _Uint8Array = _Uint8Array + 1; _Uint8Array[_Uint8Array] = _Uint8Array[_Uint8Array - _Uint8Array]; _Uint8Array = _Uint8Array + 1; _Uint8Array[_Uint8Array] = _Uint8Array[_Uint8Array - _Uint8Array]; _Uint8Array = _Uint8Array + 1; _Uint8Array[_Uint8Array] = _Uint8Array[_Uint8Array - _Uint8Array]; tmp46 = _Uint8Array; num7 = _Uint8Array; num8 = _Uint8Array; A = _Uint8Array; g = _Uint8Array; arr3 = _Uint8Array; sum18 = _Uint8Array; } while (_Uint8Array < _Uint8Array); continue; } continue; } } } } else { _Uint8Array = 7 & sum1; let sum19 = sum1; if (_Uint8Array) { sum19 = sum1 + (8 - _Uint8Array); } let sum20 = 4 + (sum19 >>> 3); let tmp19 = buffer[sum20 - 4] | buffer[sum20 - 3] << 8; let obj = _Uint8Array1; if (tmp2) { let sum21 = num4 + tmp19; let length = _Uint8Array1.length; let tmp21 = _Uint8Array1; if (sum21 > length) { let _Uint8Array2 = Uint8Array; let _Math = Math; let tmp22 = new.target; let tmp23 = new.target; let uint8Array2 = new Uint8Array(Math.max(length << 1, sum21)); let tmp24 = uint8Array2; let result1 = uint8Array2.set(_Uint8Array1, 0); tmp21 = uint8Array2; } obj = tmp21; } let tmp26 = new.target; let tmp27 = new.target; let tmp28 = tmp19; _Uint8Array2 = new _Uint8Array(buffer.buffer, buffer.byteOffset + sum20, tmp19); let tmp30 = _Uint8Array2; let result2 = obj.set(_Uint8Array2, num4); tmp32 = sum20 + tmp19 << 3; sum22 = num4 + tmp19; arr2 = obj; tmp34 = num7; tmp35 = num8; tmp36 = A; tmp37 = g; } _Uint8Array = (tmp8 | tmp9) >>> (7 & num3) & 1; num3 = tmp32; num5 = tmp34; num6 = tmp35; tmp5 = tmp36; tmp6 = tmp37; num4 = sum22; _Uint8Array1 = arr2; } while (0 === _Uint8Array); _Uint8Array = arr2; if (arr2.length != sum22) { _Uint8Array = arr2.slice(0, sum22); } return _Uint8Array; }; obj = { decode(arg0) { const uint8Array = new Uint8Array(arg0); let obj = c0; ({ readUshort, readUint } = c0); const size = { tabs: {}, frames: [] }; const uint8Array1 = new Uint8Array(uint8Array.length); let num = 0; while (uint8Array[num] == [137, 80, 78, 71, 13, 10, 26, 10][num]) { num = num + 1; if (num < 8) { continue; } else { let num2 = 4; let num3 = 2; let tmp7 = null; let num4 = 1000; let num5 = 24; let num6 = 25; let num7 = 12; let num8 = 16; let num9 = 22; let num10 = 20; let num11 = 100; let str = "tEXt"; let num12 = 3; let num13 = 100000; let num14 = 6; let str2 = "IEND"; let str3 = "bKGD"; let str4 = "sRGB"; let str5 = "gAMA"; let str6 = "tRNS"; let str7 = "hIST"; let str8 = "PLTE"; let str9 = "iTXt"; let str10 = "zTXt"; let str11 = "cHRM"; let str12 = "pHYs"; let str13 = "fdAT"; let str14 = "fcTL"; let str15 = "acTL"; let str16 = "IDAT"; let str17 = "CgBI"; let str18 = "iCCP"; let str19 = "IHDR"; let num15 = 0; let num16 = 0; let num17 = 8; let num18 = 0; let tmp6 = uint8Array1; if (8 < uint8Array.length) { let uint = obj.readUint(uint8Array, num17); let sum = num17 + 4; let aSCII = obj.readASCII(uint8Array, sum, 4); let sum1 = sum + 4; let tmp12 = num15; let tmp13 = num16; let tmp14 = arr1; if ("IHDR" == aSCII) { let tmp61 = compressPNG; let tmp62 = compressPNG(uint8Array, sum1, size); let sum4 = num15; let sum3 = num16; let uint8Array2 = arr1; } else if ("iCCP" == aSCII) { let tmp49 = sum1; let tmp50 = sum1; if (0 != uint8Array[sum1]) { do { let sum2 = tmp49 + 1; tmp49 = sum2; tmp50 = sum2; tmp52 = uint8Array[sum2]; } while (0 != tmp52); } let aSCII1 = obj.readASCII(uint8Array, sum1, tmp50 - sum1); let tmp54 = uint8Array[tmp50 + 1]; let tmp56 = null; try { let tmp57 = _undefined4; let tmp58 = _undefined4(tmp55); let tmp60 = tmp58; size.tabs[aSCII] = tmp58; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } catch (err) { let tmp59 = dither; tmp58 = dither(tmp4); } } else if ("CgBI" == aSCII) { size.tabs[aSCII] = uint8Array.slice(sum1, sum1 + 4); sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else if ("IDAT" == aSCII) { for (let num24 = 0; num24 < uint; num24 = num24 + 1) { uint8Array1[num16 + num24] = uint8Array[sum1 + num24]; } sum3 = num16 + uint; sum4 = num15; uint8Array2 = arr1; } else if ("acTL" == aSCII) { obj = { num_frames: null, num_plays: null }; obj[0] = readUint(uint8Array, sum1); obj[1] = readUint(uint8Array, sum1 + 4); size.tabs[aSCII] = obj; let _Uint8Array = Uint8Array; let tmp47 = new.target; let tmp48 = new.target; uint8Array2 = new Uint8Array(uint8Array.length); sum4 = num15; sum3 = num16; } else if ("fcTL" == aSCII) { let num22 = num15; if (0 !== num15) { let tmp41 = size.frames[size.frames.length - 1]; let tmp42 = _undefined3; let tmp43 = size; tmp41.data = _undefined3(size, arr1.slice(0, num15), tmp41.rect.width, tmp41.rect.height); num22 = 0; } obj = { x: null, y: null, width: null, height: null }; obj[0] = readUint(uint8Array, sum1 + 12); obj[1] = readUint(uint8Array, sum1 + 16); obj[2] = readUint(uint8Array, sum1 + 4); obj[3] = readUint(uint8Array, sum1 + 8); let ushort = readUshort(uint8Array, sum1 + 22); obj1 = { rect: null, delay: null, dispose: null, blend: null }; obj1[0] = obj; let num23 = 100; let ushort1 = readUshort(uint8Array, sum1 + 20); if (0 != ushort) { num23 = ushort; } obj1[1] = 1000 * (ushort1 / num23); obj1[2] = uint8Array[sum1 + 24]; obj1[3] = uint8Array[sum1 + 25]; let frames = size.frames; let arr = frames.push(obj1); sum4 = num22; sum3 = num16; uint8Array2 = arr1; } else if ("fdAT" == aSCII) { let num21 = 0; if (0 < uint - 4) { do { arr1[num15 + num21] = uint8Array[sum1 + num21 + 4]; num21 = num21 + 1; diff = uint - 4; } while (num21 < diff); } sum4 = num15 + (uint - 4); sum3 = num16; uint8Array2 = arr1; } else if ("pHYs" == aSCII) { let items = [obj.readUint(uint8Array, sum1), obj.readUint(uint8Array, sum1 + 4), uint8Array[sum1 + 8]]; size.tabs[aSCII] = items; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else if ("cHRM" == aSCII) { size.tabs[aSCII] = []; let num20 = 0; do { let arr9 = size.tabs[aSCII]; arr = arr9.push(obj.readUint(uint8Array, sum1 + 4 * num20)); num20 = num20 + 1; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } while (num20 < 8); } else { if ("tEXt" != aSCII) { if ("zTXt" != aSCII) { if ("iTXt" == aSCII) { if (null == size.tabs[aSCII]) { size.tabs[aSCII] = {}; } let nextZeroResult = obj.nextZero(uint8Array, sum1); let sum5 = nextZeroResult + 1; let tmp23 = uint8Array[sum5 + 1]; let sum6 = sum5 + 2; let aSCII2 = obj.readASCII(uint8Array, sum1, nextZeroResult - sum1); let nextZeroResult1 = obj.nextZero(uint8Array, sum6); let aSCII3 = obj.readASCII(uint8Array, sum6, nextZeroResult1 - sum6); let sum7 = nextZeroResult1 + 1; let nextZeroResult2 = obj.nextZero(uint8Array, sum7); let uTF8 = obj.readUTF8(uint8Array, sum7, nextZeroResult2 - sum7); let sum8 = nextZeroResult2 + 1; let diff1 = uint - (sum8 - sum1); if (0 == uint8Array[sum5]) { let uTF81 = obj.readUTF8(uint8Array, sum8, diff1); } else { let tmp32 = _undefined4; let arr7 = _undefined4(uint8Array.slice(sum8, sum8 + diff1)); uTF81 = obj.readUTF8(arr7, 0, arr7.length); } size.tabs[aSCII][aSCII2] = uTF81; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else if ("PLTE" == aSCII) { size.tabs[aSCII] = obj.readBytes(uint8Array, sum1, uint); sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else if ("hIST" == aSCII) { let result = size.tabs.PLTE.length / 3; size.tabs[aSCII] = []; let num19 = 0; sum4 = num15; sum3 = num16; uint8Array2 = arr1; if (0 < result) { do { let arr6 = size.tabs[aSCII]; arr1 = arr6.push(readUshort(uint8Array, sum1 + 2 * num19)); num19 = num19 + 1; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } while (num19 < result); } } else if ("tRNS" == aSCII) { if (3 == size.ctype) { size.tabs[aSCII] = obj.readBytes(uint8Array, sum1, uint); sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else if (0 == size.ctype) { size.tabs[aSCII] = readUshort(uint8Array, sum1); sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else { sum4 = num15; sum3 = num16; uint8Array2 = arr1; if (2 == size.ctype) { let items1 = [readUshort(uint8Array, sum1), readUshort(uint8Array, sum1 + 2), readUshort(uint8Array, sum1 + 4)]; size.tabs[aSCII] = items1; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } } } else if ("gAMA" == aSCII) { size.tabs[aSCII] = obj.readUint(uint8Array, sum1) / 100000; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else if ("sRGB" == aSCII) { size.tabs[aSCII] = uint8Array[sum1]; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else if ("bKGD" == aSCII) { if (0 != size.ctype) { if (4 != size.ctype) { if (2 != size.ctype) { if (6 != size.ctype) { sum4 = num15; sum3 = num16; uint8Array2 = arr1; if (3 == size.ctype) { size.tabs[aSCII] = uint8Array[sum1]; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } } } let items2 = [readUshort(uint8Array, sum1), readUshort(uint8Array, sum1 + 2), readUshort(uint8Array, sum1 + 4)]; size.tabs[aSCII] = items2; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } } let items3 = [readUshort(uint8Array, sum1)]; size.tabs[aSCII] = items3; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } else { sum4 = num15; sum3 = num16; uint8Array2 = arr1; num18 = num15; let arr3 = arr1; } } } if (null == size.tabs[aSCII]) { size.tabs[aSCII] = {}; } let nextZeroResult3 = obj.nextZero(uint8Array, sum1); let diff2 = sum1 + uint - nextZeroResult3 - 1; let aSCII4 = obj.readASCII(uint8Array, sum1, nextZeroResult3 - sum1); if ("tEXt" == aSCII) { let aSCII5 = obj.readASCII(uint8Array, nextZeroResult3 + 1, diff2); } else { let tmp37 = _undefined4; let arr8 = _undefined4(uint8Array.slice(nextZeroResult3 + 2, nextZeroResult3 + 2 + diff2)); aSCII5 = obj.readUTF8(arr8, 0, arr8.length); } size.tabs[aSCII][aSCII4] = aSCII5; sum4 = num15; sum3 = num16; uint8Array2 = arr1; } let sum9 = sum1 + uint; let uint1 = obj.readUint(uint8Array, sum9); num17 = sum9 + 4; num15 = sum4; num16 = sum3; arr1 = uint8Array2; num18 = sum4; arr3 = uint8Array2; } if (0 !== num18) { let tmp65 = size.frames[size.frames.length - 1]; let tmp66 = _undefined3; let tmp67 = size; tmp65.data = _undefined3(size, arr3.slice(0, num18), tmp65.rect.width, tmp65.rect.height); } let tmp68 = _undefined3; let tmp69 = size; let tmp70 = uint8Array1; size.data = _undefined3(size, tmp6, size.width, size.height); let str20 = "compress"; delete tmp[tmp2]; let str21 = "interlace"; delete tmp[tmp2]; let str22 = "filter"; delete tmp[tmp2]; return size; } } throw "The input is not a PNG file!"; }, toRGBA8(img) { ({ width, height } = img); if (null == img.tabs.acTL) { const items = [_undefined2(img.data, width, height, img).buffer]; return items; } else { if (null == img.frames[0].data) { img.frames[0].data = img.data; } const items1 = []; const result = width * height * 4; const _Uint8Array = Uint8Array; const uint8Array = new Uint8Array(result); const _Uint8Array2 = Uint8Array; const uint8Array1 = new Uint8Array(result); const _Uint8Array3 = Uint8Array; const uint8Array2 = new Uint8Array(result); for (let num5 = 0; num5 < img.frames.length; num5 = num5 + 1) { let tmp18 = img.frames[num5]; let x = tmp18.rect.x; let y = tmp18.rect.y; let width2 = tmp18.rect.width; let height2 = tmp18.rect.height; let tmp19 = _undefined2; let tmp20 = width2; let tmp21 = height2; let tmp22 = img; let tmp23 = _undefined2(tmp18.data, width2, height2, img); let tmp24 = num5; if (0 !== num5) { let num6 = 0; if (0 < result) { do { uint8Array2[num6] = uint8Array[num6]; num6 = num6 + 1; } while (num6 < result); } } if (0 == tmp18.blend) { let tmp35 = compress; let tmp36 = tmp23; let tmp37 = width2; let tmp38 = height2; let tmp39 = uint8Array; let tmp40 = width; let tmp41 = height; let tmp42 = x; let tmp43 = y; let num8 = 0; let tmp44 = compress(tmp23, width2, height2, tmp7, width, height, x, y, 0); } else if (1 == tmp18.blend) { let tmp25 = compress; let tmp26 = tmp23; let tmp27 = width2; let tmp28 = height2; let tmp29 = uint8Array; let tmp30 = width; let tmp31 = height; let tmp32 = x; let tmp33 = y; let num7 = 1; let tmp34 = compress(tmp23, width2, height2, tmp7, width, height, x, y, 1); } let buffer = uint8Array.buffer; let arr = items1.push(buffer.slice(0)); if (0 != tmp18.dispose) { if (1 == tmp18.dispose) { let tmp46 = compress; let tmp47 = uint8Array1; let tmp48 = width2; let tmp49 = height2; let tmp50 = uint8Array; let tmp51 = width; let tmp52 = height; let tmp53 = x; let tmp54 = y; let num10 = 0; let tmp55 = compress(uint8Array1, width2, height2, tmp7, width, height, x, y, 0); } else if (2 == tmp18.dispose) { let num9 = 0; if (0 < result) { do { uint8Array[num9] = uint8Array2[num9]; num9 = num9 + 1; } while (num9 < result); } } } } return items1; } }, _paeth(arg0, arg1, arg2) { let tmp = arg0; let tmp2 = arg2; const diff = arg0 + arg1 - arg2; const diff1 = diff - arg0; const diff2 = diff - arg1; const diff3 = diff - arg2; if (diff1 * diff1 > diff2 * diff2) { if (diff2 * diff2 <= diff3 * diff3) { tmp2 = arg1; } tmp = tmp2; } return tmp; }, _copyTile, _bin: obj }; c0 = undefined; c1 = undefined; c2 = undefined; c3 = undefined; let c16; dither = function dither(img, width, height, plte, first, first2) { let length2; let num = arg6; if (null == arg6) { num = 1; } const items = []; for (let num2 = 0; num2 < length; num2 = num2 + 1) { let tmp = plte[num2]; let items1 = [tmp >>> 0 & 255, tmp >>> 8 & 255, tmp >>> 16 & 255, tmp >>> 24 & 255]; let arr = items.push(items1); } for (let num3 = 0; num3 < length; num3 = num3 + 1) { let tmp3 = num3; let num4 = 0; let num5 = 4294967295; let num6 = 4294967295; if (0 < length) { do { let tmp4 = items[num3]; let tmp5 = items[num4]; let diff = tmp4[0] - tmp5[0]; let diff1 = tmp4[1] - tmp5[1]; let diff2 = tmp4[2] - tmp5[2]; let diff3 = tmp4[3] - tmp5[3]; let sum = diff * diff + diff1 * diff1 + diff2 * diff2 + diff3 * diff3; let tmp11 = num4 !== num3; let tmp12 = num4; let tmp13 = num5; if (num4 !== num3) { tmp11 = sum < tmp13; } if (tmp11) { tmp13 = sum; } num4 = num4 + 1; num5 = tmp13; num6 = tmp13; } while (num4 < length); } let _Math = Math; let result = Math.sqrt(num6) / 2; [][num3] = ~~result * result; } const uint32Array = new Uint32Array(first.buffer); const int16Array = new Int16Array(width * height * 4); const items2 = [0, 8, 2, 10, 12, 4, 14, 6, 3, 11, 1, 9, 15, 7, 13, 5]; let num7 = 0; if (0 < items2.length) { do { items2[num7] = 255 * ((items2[num7] + 0.5) / 16 - 0.5); num7 = num7 + 1; length2 = items2.length; } while (num7 < length2); } for (let num8 = 0; num8 < height; num8 = num8 + 1) { let tmp18 = num8; for (let num9 = 0; num9 < width; num9 = num9 + 1) { let result1 = 4 * (num8 * width + num9); let tmp20 = num9; if (2 != num) { let _Math2 = Math; let _Math3 = Math; let items3 = [Math.max(0, Math.min(255, img[result1] + int16Array[result1])), , , ]; let sum1 = result1 + 1; let _Math4 = Math; let _Math5 = Math; items3[1] = Math.max(0, Math.min(255, img[sum1] + int16Array[sum1])); let sum2 = result1 + 2; let _Math6 = Math; let _Math7 = Math; items3[2] = Math.max(0, Math.min(255, img[sum2] + int16Array[sum2])); let sum3 = result1 + 3; let _Math8 = Math; let _Math9 = Math; items3[3] = Math.max(0, Math.min(255, img[sum3] + int16Array[sum3])); let items4 = items3; } else { let tmp51 = items2[tmp17 + (3 & num9)]; let _Math10 = Math; let _Math11 = Math; items4 = [Math.max(0, Math.min(255, img[result1] + tmp51)), , , ]; let _Math12 = Math; let _Math13 = Math; items4[1] = Math.max(0, Math.min(255, img[result1 + 1] + tmp51)); let _Math14 = Math; let _Math15 = Math; items4[2] = Math.max(0, Math.min(255, img[result1 + 2] + tmp51)); let _Math16 = Math; let _Math17 = Math; items4[3] = Math.max(0, Math.min(255, img[result1 + 3] + tmp51)); } let num10 = 16777215; let num11 = 0; let num12 = 0; let num13 = 0; if (0 < length) { do { let tmp24 = items[num11]; let diff4 = items4[0] - tmp24[0]; let diff5 = items4[1] - tmp24[1]; let diff6 = items4[2] - tmp24[2]; let diff7 = items4[3] - tmp24[3]; let sum4 = diff4 * diff4 + diff5 * diff5 + diff6 * diff6 + diff7 * diff7; let tmp30 = num10; let tmp31 = num11; let tmp32 = num12; if (sum4 < num10) { tmp30 = sum4; tmp32 = num11; } num11 = num11 + 1; num10 = tmp30; num12 = tmp32; num13 = tmp32; } while (num11 < length); } let tmp33 = items[num13]; let items5 = [items4[0] - tmp33[0], items4[1] - tmp33[1], items4[2] - tmp33[2], items4[3] - tmp33[3]]; if (1 == num) { if (num9 !== width - 1) { let sum5 = result1 + 4; int16Array[sum5] = int16Array[sum5] + (items5[0] * 7 >> 4); let sum6 = sum5 + 1; int16Array[sum6] = int16Array[sum6] + (items5[1] * 7 >> 4); let sum7 = sum5 + 2; int16Array[sum7] = int16Array[sum7] + (items5[2] * 7 >> 4); let sum8 = sum5 + 3; int16Array[sum8] = int16Array[sum8] + (items5[3] * 7 >> 4); } if (num8 !== height - 1) { if (0 !== num9) { let diff8 = result1 + 4 * width - 4; int16Array[diff8] = int16Array[diff8] + (items5[0] * 3 >> 4); let sum9 = diff8 + 1; int16Array[sum9] = int16Array[sum9] + (items5[1] * 3 >> 4); let sum10 = diff8 + 2; int16Array[sum10] = int16Array[sum10] + (items5[2] * 3 >> 4); let sum11 = diff8 + 3; int16Array[sum11] = int16Array[sum11] + (items5[3] * 3 >> 4); } let sum12 = result1 + 4 * width; int16Array[sum12] = int16Array[sum12] + (items5[0] * 5 >> 4); let sum13 = sum12 + 1; int16Array[sum13] = int16Array[sum13] + (items5[1] * 5 >> 4); let sum14 = sum12 + 2; int16Array[sum14] = int16Array[sum14] + (items5[2] * 5 >> 4); let sum15 = sum12 + 3; int16Array[sum15] = int16Array[sum15] + (items5[3] * 5 >> 4); if (num9 !== width - 1) { let sum16 = result1 + 4 * width + 4; int16Array[sum16] = int16Array[sum16] + (items5[0] >> 4); let sum17 = sum16 + 1; int16Array[sum17] = int16Array[sum17] + (items5[1] >> 4); let sum18 = sum16 + 2; int16Array[sum18] = int16Array[sum18] + (items5[2] >> 4); let sum19 = sum16 + 3; int16Array[sum19] = int16Array[sum19] + (items5[3] >> 4); } } } let tmp50 = result1 >> 2; first2[tmp50] = num13; uint32Array[tmp50] = plte[num13]; } } }; _main = function _main(tmp3Result, depth, height, arg3, arg4) { let obj = arg4; if (null == arg4) { obj = {}; } const crc = _undefined4.crc; ({ writeUint, writeUshort, writeASCII } = c1); let writeUintResult16 = tmp3Result.frames.length > 1; let num = 0; if (writeUintResult16) { num = 20; } const sum = 33 + num; let sum1 = sum; if (null != obj.sRGB) { sum1 = sum + 13; } let sum2 = sum1; if (null != obj.pHYs) { sum2 = sum1 + 21; } let sum3 = sum2; if (null != obj.iCCP) { const deflateResult = globalThis.pako.deflate(obj.iCCP); sum3 = sum2 + (21 + deflateResult.length + 4); } let sum4 = sum3; let flag = false; if (3 == tmp3Result.ctype) { let num8 = 0; let flag2 = false; let flag3 = false; if (0 < tmp3Result.plte.length) { do { let tmp8 = num8; let flag4 = flag2; if (tmp3Result.plte[num8] >>> 24 !== 255) { flag4 = true; } num8 = num8 + 1; flag2 = flag4; flag3 = flag4; } while (num8 < length); } let num9 = 0; const result = 3 * length; if (flag3) { num9 = 8 + length + 4; } sum4 = sum3 + (8 + result + 4 + num9); flag = flag3; } let tmp10 = sum4; let num14 = 0; let tmp11 = sum4; if (0 < tmp3Result.frames.length) { do { let tmp12 = num14; let tmp13 = tmp10; let sum5 = tmp10; if (writeUintResult16) { sum5 = tmp10 + 38; } let sum6 = sum5 + (tmp3Result.frames[num14].cimg.length + 12); let sum7 = sum6; if (0 !== num14) { sum7 = sum6 + 4; } num14 = num14 + 1; tmp10 = sum7; tmp11 = sum7; } while (num14 < tmp3Result.frames.length); } const uint8Array = new Uint8Array(tmp11 + 12); let num15 = 0; do { uint8Array[num15] = [137, 80, 78, 71, 13, 10, 26, 10][num15]; num15 = num15 + 1; } while (num15 < 8); writeUint(uint8Array, 8, 13); writeASCII(uint8Array, 12, "IHDR"); writeUint(uint8Array, 16, depth); writeUint(uint8Array, 20, height); uint8Array[24] = tmp3Result.depth; uint8Array[25] = tmp3Result.ctype; uint8Array[26] = 0; uint8Array[27] = 0; uint8Array[28] = 0; writeUint(uint8Array, 29, crc(uint8Array, 12, 17)); let num16 = 33; if (null != obj.sRGB) { writeUint(uint8Array, 33, 1); writeASCII(uint8Array, 37, "sRGB"); uint8Array[41] = obj.sRGB; writeUint(uint8Array, 42, crc(uint8Array, 37, 5)); num16 = 46; } let sum14 = num16; if (null != obj.iCCP) { const sum8 = 13 + arr.length; writeUint(uint8Array, num16, sum8); const sum9 = num16 + 4; writeASCII(uint8Array, sum9, "iCCP"); const sum10 = sum9 + 4; writeASCII(uint8Array, sum10, "ICC profile"); const sum11 = sum10 + 11 + 2; const result1 = uint8Array.set(arr, sum11); const sum12 = sum11 + arr.length; const sum13 = sum8 + 4; writeUint(uint8Array, sum12, crc(uint8Array, sum12 - sum13, sum13)); sum14 = sum12 + 4; } let sum20 = sum14; if (null != obj.pHYs) { writeUint(uint8Array, sum14, 9); const sum15 = sum14 + 4; writeASCII(uint8Array, sum15, "pHYs"); const sum16 = sum15 + 4; writeUint(uint8Array, sum16, obj.pHYs[0]); const sum17 = sum16 + 4; writeUint(uint8Array, sum17, obj.pHYs[1]); const sum18 = sum17 + 4; uint8Array[sum18] = obj.pHYs[2]; const sum19 = sum18 + 1; writeUint(uint8Array, sum19, crc(uint8Array, sum19 - 13, 13)); sum20 = sum19 + 4; } let sum25 = sum20; if (writeUintResult16) { writeUint(uint8Array, sum20, 8); const sum21 = sum20 + 4; writeASCII(uint8Array, sum21, "acTL"); const sum22 = sum21 + 4; writeUint(uint8Array, sum22, tmp3Result.frames.length); let num24 = 0; if (null != obj.loop) { num24 = obj.loop; } const sum23 = sum22 + 4; writeUint(uint8Array, sum23, num24); const sum24 = sum23 + 4; writeUint(uint8Array, sum24, crc(uint8Array, sum24 - 12, 12)); sum25 = sum24 + 4; } let sum32 = sum25; if (3 == tmp3Result.ctype) { writeUintResult16 = writeUint(uint8Array, sum25, 3 * length3); writeUintResult16 = sum25 + 4; writeUintResult16 = writeASCII(uint8Array, writeUintResult16, "PLTE"); writeUintResult16 = writeUintResult16 + 4; for (let num25 = 0; num25 < length3; num25 = num25 + 1) { let tmp59 = tmp3Result.plte[num25]; let sum26 = writeUintResult16 + 3 * num25; uint8Array[sum26] = 255 & tmp59; uint8Array[sum26 + 1] = tmp59 >>> 8 & 255; uint8Array[sum26 + 2] = tmp59 >>> 16 & 255; } const sum27 = writeUintResult16 + 3 * length3; writeUint(uint8Array, sum27, crc(uint8Array, sum27 - 3 * tmp3Result.plte.length - 4, 3 * tmp3Result.plte.length + 4)); const sum28 = sum27 + 4; sum32 = sum28; if (flag) { writeUint(uint8Array, sum28, length3); const sum29 = sum28 + 4; writeASCII(uint8Array, sum29, "tRNS"); const sum30 = sum29 + 4; for (let num26 = 0; num26 < length3; num26 = num26 + 1) { uint8Array[sum30 + num26] = tmp3Result.plte[num26] >>> 24 & 255; } const sum31 = sum30 + length3; writeUint(uint8Array, sum31, crc(uint8Array, sum31 - length3 - 4, length3 + 4)); sum32 = sum31 + 4; } } let sum46 = sum32; let num27 = 0; let num28 = 0; let tmp71 = sum32; if (0 < tmp3Result.frames.length) { do { let tmp72 = tmp3Result.frames[num28]; let tmp73 = num27; let tmp74 = num28; let tmp75 = sum46; let sum35 = num27; let sum45 = sum46; if (writeUintResult16) { let writeUintResult20 = writeUint(uint8Array, sum46, 26); let sum33 = sum46 + 4; let writeASCIIResult7 = writeASCII(uint8Array, sum33, "fcTL"); let sum34 = sum33 + 4; sum35 = num27 + 1; let writeUintResult21 = writeUint(uint8Array, sum34, num27); let sum36 = sum34 + 4; let writeUintResult22 = writeUint(uint8Array, sum36, tmp72.rect.width); let sum37 = sum36 + 4; let writeUintResult23 = writeUint(uint8Array, sum37, tmp72.rect.height); let sum38 = sum37 + 4; let writeUintResult24 = writeUint(uint8Array, sum38, tmp72.rect.x); let sum39 = sum38 + 4; let writeUintResult25 = writeUint(uint8Array, sum39, tmp72.rect.y); let sum40 = sum39 + 4; let writeUshortResult = writeUshort(uint8Array, sum40, arg3[num28]); let sum41 = sum40 + 2; let writeUshortResult1 = writeUshort(uint8Array, sum41, 1000); let sum42 = sum41 + 2; uint8Array[sum42] = tmp72.dispose; let sum43 = sum42 + 1; uint8Array[sum43] = tmp72.blend; let sum44 = sum43 + 1; let writeUintResult26 = writeUint(uint8Array, sum44, crc(uint8Array, sum44 - 30, 30)); sum45 = sum44 + 4; } let cimg = tmp72.cimg; let length2 = cimg.length; let num29 = 4; if (0 === num28) { num29 = 0; } let writeUintResult27 = writeUint(uint8Array, sum45, length2 + num29); let str7 = "fdAT"; if (0 === num28) { str7 = "IDAT"; } writeUintResult16 = sum45 + 4; writeUintResult16 = writeASCII(uint8Array, writeUintResult16, str7); writeUintResult16 = writeUintResult16 + 4; writeUintResult16 = sum35; if (0 !== num28) { writeUintResult16 = sum35 + 1; writeUintResult16 = writeUint(uint8Array, writeUintResult16, sum35); writeUintResult16 = writeUintResult16 + 4; } writeUintResult16 = uint8Array.set(cimg, writeUintResult16); writeUintResult16 = writeUintResult16 + length2; writeUintResult16 = writeUint(uint8Array, writeUintResult16, crc(uint8Array, writeUintResult16, writeUintResult16 - writeUintResult16)); sum46 = writeUintResult16 + 4; num28 = num28 + 1; num27 = writeUintResult16; tmp71 = sum46; } while (num28 < tmp3Result.frames.length); } writeUintResult16 = writeUint(uint8Array, tmp71, 0); writeUintResult16 = tmp71 + 4; writeUintResult16 = writeASCII(uint8Array, writeUintResult16, "IEND"); writeUintResult16 = writeUintResult16 + 4; writeUintResult16 = writeUint(uint8Array, writeUintResult16, crc(uint8Array, writeUintResult16 - 4, 4)); return uint8Array.buffer; }; compressPNG = function compressPNG(uint8Array, sum1, size) { let num = 0; if (0 < uint8Array.frames.length) { while (true) { let tmp = uint8Array.frames[num]; let width = tmp.rect.width; let height = tmp.rect.height; let _Uint8Array = Uint8Array; let tmp2 = new.target; let tmp3 = new.target; uint8Array = new Uint8Array(height * tmp.bpl + height); ({ img, bpp, bpl } = tmp); let tmp4 = num; if (-1 != sum1) { let items = [sum1]; let items1 = items; } else { let tmp5 = height * bpl > 500000 || 1 == bpp; items1 = [0, 1, 2, 3, 4]; if (tmp5) { items1 = [0]; } } if (size) { let obj = { level: 0 }; } let tmp6 = uint8Array; if (uint8Array.length > 10000000) { let _window = window; if (null != window.UZIP) { let _window2 = window; let pako = window.UZIP; let items2 = []; let _Date = Date; let timestamp = Date.now(); for (let num2 = 0; num2 < items1.length; num2 = num2 + 1) { let tmp8 = num2; for (let num3 = 0; num3 < height; num3 = num3 + 1) { let tmp9 = items1[num2]; let result = num3 * bpl; let sum = result + num3; uint8Array[sum] = tmp9; sum1 = sum + 1; let tmp13 = num3; if (0 == tmp9) { if (bpl < 500) { for (let num9 = 0; num9 < bpl; num9 = num9 + 1) { uint8Array[sum1 + num9] = img[result + num9]; } } else { let _Uint8Array2 = Uint8Array; let tmp30 = new.target; let tmp31 = new.target; let tmp32 = result; let tmp33 = bpl; let uint8Array1 = new Uint8Array(img.buffer, result, bpl); let tmp35 = uint8Array1; let result1 = uint8Array.set(uint8Array1, sum1); } } else if (1 == tmp9) { for (let num8 = 0; num8 < bpp; num8 = num8 + 1) { uint8Array[sum1 + num8] = img[result + num8]; } let sum2 = bpp; if (bpp < bpl) { do { uint8Array[sum1 + sum2] = img[result + sum2] - img[result + sum2 - bpp] + 256 & 255; sum2 = sum2 + 1; } while (sum2 < bpl); } } else if (0 === num3) { for (let num7 = 0; num7 < bpp; num7 = num7 + 1) { uint8Array[sum1 + num7] = img[result + num7]; } if (2 == tmp9) { let sum3 = bpp; if (bpp < bpl) { do { uint8Array[sum1 + sum3] = img[result + sum3]; sum3 = sum3 + 1; } while (sum3 < bpl); } } if (3 == tmp9) { let sum4 = bpp; if (bpp < bpl) { do { uint8Array[sum1 + sum4] = img[result + sum4] - (img[result + sum4 - bpp] >> 1) + 256 & 255; sum4 = sum4 + 1; } while (sum4 < bpl); } } if (4 == tmp9) { let sum6 = bpp; if (bpp < bpl) { do { let tmp27 = _undefined3; let sum5 = sum1 + sum6; uint8Array[sum5] = img[result + sum6] - _undefined3(img[result + sum6 - bpp], 0, 0) + 256 & 255; sum6 = sum6 + 1; } while (sum6 < bpl); } } } else { if (2 == tmp9) { for (let num4 = 0; num4 < bpl; num4 = num4 + 1) { let sum7 = result + num4; uint8Array[sum1 + num4] = img[sum7] + 256 - img[sum7 - bpl] & 255; } } if (3 == tmp9) { for (let num5 = 0; num5 < bpp; num5 = num5 + 1) { let sum8 = result + num5; uint8Array[sum1 + num5] = img[sum8] + 256 - (img[sum8 - bpl] >> 1) & 255; } let sum9 = bpp; if (bpp < bpl) { do { uint8Array[sum1 + sum9] = img[result + sum9] + 256 - (img[result + sum9 - bpl] + img[result + sum9 - bpp] >> 1) & 255; sum9 = sum9 + 1; } while (sum9 < bpl); } } if (4 == tmp9) { for (let num6 = 0; num6 < bpp; num6 = num6 + 1) { let sum10 = result + num6; let tmp19 = _undefined3; let sum11 = img[sum10] + 256; uint8Array[sum1 + num6] = sum11 - _undefined3(0, img[sum10 - bpl], 0) & 255; } let sum14 = bpp; if (bpp < bpl) { do { let tmp23 = _undefined3; let sum12 = sum1 + sum14; let sum13 = img[result + sum14] + 256; uint8Array[sum12] = sum13 - _undefined3(img[result + sum14 - bpp], img[result + sum14 - bpl], img[result + sum14 - bpp - bpl]) & 255; sum14 = sum14 + 1; } while (sum14 < bpl); } } } } let arr = items2.push(pako.deflate(uint8Array, obj)); } let num10 = 1000000000; let num11 = 0; let tmp39; if (0 < items2.length) { do { let length = num10; let tmp40 = tmp38; let tmp41 = num11; if (items2[num11].length < num10) { length = items2[num11].length; tmp40 = num11; } num11 = num11 + 1; num10 = length; tmp38 = tmp40; tmp39 = tmp40; } while (num11 < items2.length); } tmp.cimg = items2[tmp39]; num = num + 1; if (num >= uint8Array.frames.length) { break; } } } pako = globalThis.pako; } } }; compress = function compress(arg0, width2, height2, arg3, width, height, arg6, arg7, arg8) { let length2; let length5; let length6; let length8; let first = width[0]; let num = 0; let num2 = 255; let num3 = 255; if (0 < arg0.length) { do { let _Uint8Array = Uint8Array; let tmp6 = new.target; let tmp7 = new.target; let uint8Array = new Uint8Array(arg0[num]); let tmp8 = uint8Array; let length = uint8Array.length; let tmp9 = num; let tmp10 = num2; let num4 = 0; let tmp11 = num2; if (0 < length) { do { tmp10 = tmp10 & uint8Array[num4 + 3]; num4 = num4 + 4; tmp11 = tmp10; } while (num4 < length); } num = num + 1; num2 = tmp11; num3 = tmp11; } while (num < arg0.length); } const frames = []; for (let num5 = 0; num5 < arg0.length; num5 = num5 + 1) { let _Uint8Array2 = Uint8Array; let tmp13 = new.target; let tmp14 = new.target; let uint8Array1 = new Uint8Array(arg0[num5]); let tmp15 = uint8Array1; let _Uint32Array = Uint32Array; let tmp16 = new.target; let tmp17 = new.target; let uint32Array = new Uint32Array(uint8Array1.buffer); let tmp19 = uint32Array; let tmp20 = num5; let num6 = 0; if (first) { num6 = 1; } if (0 !== num5) { if (!tmp3) { if (!first) { if (1 !== num5) { let num9 = 2; } let diff = num5 - 1; let num10 = 0; let num11 = 1000000000; let num12 = 0; let tmp25 = height2; let tmp26 = width2; let num13 = 0; let num14 = 0; let num15 = 0; let tmp27 = height2; let tmp28 = width2; let num16 = 0; let num17 = 0; if (0 < num9) { do { let _Uint8Array3 = Uint8Array; let diff1 = diff - num10; let tmp30 = new.target; let uint8Array2 = new Uint8Array(arg0[diff1]); let _Uint32Array2 = Uint32Array; let tmp32 = new.target; let tmp33 = new.target; let uint32Array1 = new Uint32Array(arg0[diff1]); let tmp35 = uint32Array1; let tmp36 = num10; let tmp37 = num11; let tmp38 = num12; let sum2 = tmp25; let sum1 = tmp26; let tmp41 = num13; let tmp42 = num14; let num18 = 0; let num19 = -1; let num20 = -1; let tmp43 = height2; let tmp44 = width2; let num21 = -1; let num22 = -1; let num23 = height2; let num24 = width2; if (0 < height2) { do { let tmp45 = num18; let tmp46 = num19; let tmp47 = num20; let tmp48 = tmp43; let tmp49 = tmp44; let num25 = 0; let tmp50 = num19; let tmp51 = num20; let tmp52 = tmp43; let tmp53 = tmp44; if (0 < width2) { do { let sum = num18 * width2 + num25; let tmp55 = num25; let tmp56 = tmp46; let tmp57 = tmp47; let tmp58 = tmp48; let tmp59 = tmp49; let tmp60 = tmp46; let tmp61 = tmp47; let tmp62 = tmp48; let tmp63 = tmp49; if (uint32Array[sum] != uint32Array1[sum]) { let tmp64 = tmp49; if (num25 < tmp49) { tmp64 = num25; } let tmp65 = tmp47; if (tmp47 < num25) { tmp65 = num25; } let tmp66 = tmp48; if (num18 < tmp48) { tmp66 = num18; } let tmp67 = tmp46; if (tmp46 < num18) { tmp67 = num18; } tmp60 = tmp67; tmp61 = tmp65; tmp62 = tmp66; tmp63 = tmp64; } num25 = num25 + 1; tmp46 = tmp60; tmp47 = tmp61; tmp48 = tmp62; tmp49 = tmp63; tmp50 = tmp60; tmp51 = tmp61; tmp52 = tmp62; tmp53 = tmp63; } while (num25 < width2); } num18 = num18 + 1; num19 = tmp50; num20 = tmp51; tmp43 = tmp52; tmp44 = tmp53; num21 = tmp50; num22 = tmp51; num23 = tmp52; num24 = tmp53; } while (num18 < height2); } if (-1 === num22) { num21 = 0; num22 = 0; num23 = 0; num24 = 0; } let tmp68 = num23; let tmp69 = num24; if (tmp2) { let diff2 = num24; if (!(1 & ~num24)) { diff2 = num24 - 1; } let diff3 = num23; if (!(1 & ~num23)) { diff3 = num23 - 1; } tmp68 = diff3; tmp69 = diff2; } let result = (num22 - tmp69 + 1) * (num21 - tmp68 + 1); if (result < tmp37) { sum1 = num22 - tmp69 + 1; sum2 = num21 - tmp68 + 1; tmp37 = result; tmp38 = num10; tmp41 = tmp68; tmp42 = tmp69; } num10 = num10 + 1; num11 = tmp37; num12 = tmp38; tmp25 = sum2; tmp26 = sum1; num13 = tmp41; num14 = tmp42; num15 = tmp38; tmp27 = sum2; tmp28 = sum1; num16 = tmp41; num17 = tmp42; } while (num10 < num9); } let _Uint8Array4 = Uint8Array; let tmp73 = new.target; let tmp74 = new.target; let uint8Array3 = new Uint8Array(arg0[diff - num15]); if (1 === num15) { frames[diff].dispose = 2; } let tmp76 = uint8Array3; let _Uint8Array5 = Uint8Array; let tmp77 = new.target; let tmp78 = new.target; let uint8Array4 = new Uint8Array(tmp28 * tmp27 * 4); let tmp80 = uint8Array4; let tmp81 = _undefined; let tmp82 = uint8Array3; let tmp83 = width2; let tmp84 = height2; let tmp85 = uint8Array4; let tmp86 = tmp28; let tmp87 = tmp27; let num26 = 0; let tmp88 = _undefined(uint8Array3, width2, height2, uint8Array4, tmp28, tmp27, -num17, -num16, 0); let tmp89 = uint8Array1; let tmp90 = width2; let tmp91 = height2; let tmp92 = uint8Array4; let tmp93 = tmp28; let tmp94 = tmp27; let num27 = 3; let num28 = 0; if (_undefined(tmp15, width2, height2, uint8Array4, tmp28, tmp27, -num17, -num16, 3)) { num28 = 1; } if (1 === num28) { first = uint8Array1; first = width2; first = height2; first = uint8Array4; first = tmp28; first = tmp27; let num30 = 2; first = tmp81(tmp15, width2, height2, tmp80, tmp28, tmp27, -num17, -num16, 2); num6 = num28; let tmp22 = tmp27; let tmp23 = tmp28; let num7 = num16; let num8 = num17; let substr = uint8Array4; } else { let tmp95 = uint8Array1; let tmp96 = width2; let tmp97 = height2; let tmp98 = uint8Array4; let tmp99 = tmp28; first = tmp27; let num29 = 0; first = tmp81(tmp15, width2, height2, tmp80, tmp28, tmp27, -num17, -num16, 0); num6 = num28; tmp22 = tmp27; tmp23 = tmp28; num7 = num16; num8 = num17; substr = uint8Array4; } } } num9 = 1; } else { substr = uint8Array1.slice(0); tmp22 = height2; tmp23 = width2; num7 = 0; num8 = 0; } let obj = { rect: null, img: null, blend: null, dispose: 0 }; obj = { x: null, y: null, width: null, height: null }; obj[0] = num8; obj[1] = num7; obj[2] = tmp23; obj[3] = tmp22; obj[0] = obj; obj[1] = substr; obj[2] = num6; first = frames.push(obj); } if (first) { for (let num31 = 0; num31 < frames.length; num31 = num31 + 1) { first = frames[num31]; if (1 != first.blend) { let rect = first.rect; first = num31 - 1; let rect2 = frames[first].rect; let _Math3 = Math; first = Math.min(rect.x, rect2.x); let _Math4 = Math; first = Math.min(rect.y, rect2.y); obj = { x: null, y: null, width: null, height: null }; obj[0] = first; obj[1] = first; let _Math5 = Math; obj[2] = Math.max(rect.x + rect.width, rect2.x + rect2.width) - first; let _Math6 = Math; obj[3] = Math.max(rect.y + rect.height, rect2.y + rect2.height) - first; frames[first].dispose = 1; if (first !== 0) { first = _updateFrame; first = arg0; first = width2; first = height2; first = frames; first = obj; first = tmp2; first = _updateFrame(arg0, width2, height2, frames, first, obj, tmp2); } first = _updateFrame; first = arg0; first = width2; first = height2; first = frames; first = num31; first = obj; first = tmp2; first = _updateFrame(arg0, width2, height2, frames, first, obj, tmp2); } } } if (1 != arg0.length) { let num32 = 0; if (0 < frames.length) { do { first = frames[num32]; first = first.rect.width * first.rect.height; num32 = num32 + 1; length2 = frames.length; } while (num32 < length2); } } obj1 = {}; const plte = []; const items2 = []; if (0 != arg3) { const items3 = []; let num35 = 0; if (0 < frames.length) { do { first = items3.push(frames[num35].img.buffer); num35 = num35 + 1; length5 = frames.length; } while (num35 < length5); } let num36 = 0; let num37 = 0; let num38 = 0; if (0 < items3.length) { do { num37 = num37 + items3[num36].byteLength; num36 = num36 + 1; num38 = num37; length6 = items3.length; } while (num36 < length6); } const _Uint8Array7 = Uint8Array; first = new.target; first = new.target; first = num38; first = new Uint8Array(num38); let num39 = 0; for (let num40 = 0; num40 < items3.length; num40 = num40 + 1) { let _Uint8Array8 = Uint8Array; first = new.target; first = new.target; let uint8Array5 = new Uint8Array(items3[num40]); first = uint8Array5; let length7 = uint8Array5.length; first = num39; first = num40; for (let num41 = 0; num41 < length7; num41 = num41 + 4) { let num42 = uint8Array5[num41]; let num43 = uint8Array5[num41 + 1]; let num44 = uint8Array5[num41 + 2]; first = uint8Array5[num41 + 3]; first = num41; if (0 == first) { num44 = 0; num43 = 0; num42 = 0; } first = num39 + num41; first[first] = num42; first[first + 1] = num43; first[first + 2] = num44; first[first + 3] = first; } num39 = num39 + length7; } first = quantize; first = quantize(first.buffer, arg3); let num45 = 0; if (0 < first.plte.length) { do { first = plte.push(first.plte[num45].est.rgba); num45 = num45 + 1; length8 = first.plte.length; } while (num45 < length8); } let num46 = 0; for (let num47 = 0; num47 < frames.length; num47 = num47 + 1) { first = frames[num47]; let length9 = first.img.length; let _Uint8Array9 = Uint8Array; first = new.target; first = new.target; first = new Uint8Array(first.inds.buffer, num46 >> 2, length9 >> 2); first = items2.push(first); let _Uint8Array10 = Uint8Array; first = new.target; first = new.target; first = num46; first = length9; first = new Uint8Array(first.abuf, num46, length9); first = num46; first = num47; if (tmp5) { first = dither; first = plte; first = dither(first.img, first.rect.width, first.rect.height, plte, first, first); } let img = first.img; first = img.set(first); num46 = num46 + length9; } } else { first = null; for (let num34 = 0; num34 < frames.length; num34 = num34 + 1) { first = frames[num34]; let _Uint32Array3 = Uint32Array; first = new.target; first = new.target; let uint32Array2 = new Uint32Array(first.img.buffer); first = uint32Array2; width = first.rect.width; let length3 = uint32Array2.length; let _Uint8Array6 = Uint8Array; first = new.target; first = new.target; first = length3; first = new Uint8Array(length3); first = items2.push(first); first = num34; let num33 = 0; if (0 < length3) { while (true) { first = uint32Array2[num33]; first = num33; if (0 !== num33) { first = num33 - 1; if (first == uint32Array2[first]) { first[num33] = first[first]; num33 = num33 + 1; if (num33 >= length3) { break; } } } if (num33 > width) { if (first == uint32Array2[num33 - width]) { first[num33] = first[num33 - width]; } } first = obj1[first]; if (null != first) { first[num33] = first; } else { let length4 = plte.length; obj1[first] = length4; first = plte.push(first); first = length4; if (plte.length >= 300) { break; } } break; } } } } first = length10 <= 256 && 0 == tmp4; let depth = 8; if (first) { let num49 = 1; if (length10 > 2) { let num50 = 2; if (length10 > 4) { let num52 = 8; if (length10 <= 16) { num52 = 4; } num50 = num52; } num49 = num50; } const _Math = Math; depth = Math.max(num49, width[3]); } let num53 = 0; let num54 = 6; let ctype = 6; if (0 < frames.length) { while (true) { first = frames[num53]; let x = first.rect.x; let y = first.rect.y; width2 = first.rect.width; height = first.rect.height; let img2 = first.img; let _Uint32Array4 = Uint32Array; first = new.target; first = new Uint32Array(img2.buffer); first = 4 * width2; first = num53; first = num54; if (length10 <= 256) { if (0 == tmp4) { let _Math2 = Math; first = Math.ceil(depth * width2 / 8); let _Uint8Array12 = Uint8Array; first = new.target; first = new.target; first = new Uint8Array(first * height); first = items2[num53]; let num59 = 0; let num56 = 1; let num57 = 3; if (0 < height) { do { first = num59 * first; first = num59 * width2; first = num59; if (8 == depth) { for (let num63 = 0; num63 < width2; num63 = num63 + 1) { first[first + num63] = first[first + num63]; } } else if (4 == depth) { for (let num62 = 0; num62 < width2; num62 = num62 + 1) { first = first + (num62 >> 1); first[first] = first[first] | first[first + num62] << 4 - 4 * (1 & num62); } } else if (2 == depth) { for (let num61 = 0; num61 < width2; num61 = num61 + 1) { first = first + (num61 >> 2); first[first] = first[first] | first[first + num61] << 6 - 2 * (3 & num61); } } else if (1 == depth) { for (let num60 = 0; num60 < width2; num60 = num60 + 1) { first = first + (num60 >> 3); first[first] = first[first] | first[first + num60] << 7 - (7 & num60); } } first = num59 + 1; num59 = first; num56 = 1; num57 = 3; } while (first < height); } first.img = first; first.bpl = first; first.bpp = num56; num53 = num53 + 1; num54 = num57; ctype = num57; if (num53 >= frames.length) { break; } } } num56 = 4; first = img2; num57 = num54; if (0 == tmp12) { num56 = 4; first = img2; num57 = num54; if (1 == frames.length) { let _Uint8Array11 = Uint8Array; first = new.target; first = new.target; first = new Uint8Array(width2 * height * 3); first = width2 * height; let num58 = 0; if (0 < first) { do { first = 3 * num58; first = 4 * num58; first[first] = img2[first]; first[first + 1] = img2[first + 1]; first[first + 2] = img2[first + 2]; num58 = num58 + 1; } while (num58 < first); } first = 3 * width2; num56 = 3; num57 = 2; } } } } return { ctype, depth, plte, frames }; }; function _updateFrame(arg0, width2, height2, frames, first, height, width) { let _Uint8Array = Uint8Array; const uint8Array = new Uint8Array(arg0[first - 1]); const uint32Array = new Uint32Array(arg0[first - 1]); _Uint8Array = null; if (first + 1 < arg0.length) { _Uint8Array = new _Uint8Array(arg0[first + 1]); } const _Uint8Array1 = new _Uint8Array(arg0[first]); const uint32Array1 = new Uint32Array(_Uint8Array1.buffer); let num = 0; let num2 = -1; let num3 = -1; let tmp9 = height2; let tmp10 = width2; let num4 = -1; let num5 = -1; let num6 = height2; let num7 = width2; if (0 < height.height) { do { let tmp11 = num; let tmp12 = num2; let tmp13 = num3; let tmp14 = tmp9; let tmp15 = tmp10; let num8 = 0; let tmp16 = num2; let tmp17 = num3; let tmp18 = tmp9; let tmp19 = tmp10; if (0 < height.width) { do { let sum = height.x + num8; let sum1 = height.y + num; let sum2 = sum1 * width2 + sum; let tmp23 = uint32Array1[sum2]; let tmp24 = 0 == tmp23; let tmp25 = num8; let tmp26 = tmp12; let tmp27 = tmp13; let tmp28 = tmp14; let tmp29 = tmp15; if (!tmp24) { let tmp30 = 0 == frames[first - 1].dispose && uint32Array[sum2] == tmp23; if (tmp30) { let tmp31 = null == _Uint8Array || 0 != _Uint8Array[4 * sum2 + 3]; tmp30 = tmp31; } tmp24 = tmp30; } let tmp32 = tmp12; let tmp33 = tmp13; let tmp34 = tmp14; let tmp35 = tmp15; if (!tmp24) { let tmp36 = tmp15; if (sum < tmp15) { tmp36 = sum; } let tmp37 = tmp13; if (sum > tmp13) { tmp37 = sum; } let tmp38 = tmp14; if (sum1 < tmp14) { tmp38 = sum1; } let tmp39 = tmp12; if (sum1 > tmp12) { tmp39 = sum1; } tmp32 = tmp39; tmp33 = tmp37; tmp34 = tmp38; tmp35 = tmp36; } num8 = num8 + 1; tmp12 = tmp32; tmp13 = tmp33; tmp14 = tmp34; tmp15 = tmp35; tmp16 = tmp32; tmp17 = tmp33; tmp18 = tmp34; tmp19 = tmp35; } while (num8 < height.width); } num = num + 1; num2 = tmp16; num3 = tmp17; tmp9 = tmp18; tmp10 = tmp19; num4 = tmp16; num5 = tmp17; num6 = tmp18; num7 = tmp19; } while (num < height.height); } if (-1 == num5) { num4 = 0; num5 = 0; num6 = 0; num7 = 0; } let tmp40 = num6; let tmp41 = num7; if (width) { let diff = num7; if (!(1 & ~num7)) { diff = num7 - 1; } let diff1 = num6; if (!(1 & ~num6)) { diff1 = num6 - 1; } tmp40 = diff1; tmp41 = diff; } const size = { x: tmp41, y: tmp40, width: num5 - tmp41 + 1, height: num4 - tmp40 + 1 }; frames[first].rect = size; frames[first].blend = 1; const uint8Array1 = new Uint8Array(size.width * size.height * 4); frames[first].img = uint8Array1; if (0 == frames[first - 1].dispose) { _undefined(uint8Array, width2, height2, tmp44.img, size.width, size.height, -size.x, -size.y, 0); _undefined(tmp7, width2, height2, tmp44.img, size.width, size.height, -size.x, -size.y, 2); } else { _undefined(tmp7, width2, height2, tmp44.img, size.width, size.height, -size.x, -size.y, 0); } } function quantize(arg0, arg1, arg2) { let length3; let length6; const timestamp = Date.now(); const uint8Array = new Uint8Array(arg0); const substr = uint8Array.slice(0); const uint32Array = new Uint32Array(substr.buffer); [tmp5, arr2] = getKDtree(substr, arg1); const uint32Array1 = new Uint32Array(length); const uint8Array1 = new Uint8Array(uint32Array1.buffer); for (let num = 0; num < length; num = num + 1) { uint32Array1[num] = arr2[num].est.rgba; } const uint8Array2 = new Uint8Array(length2 >> 2); if (arr2.length <= 60) { findNearest(uint8Array, uint8Array2, uint8Array1); let num7 = 0; if (0 < uint8Array2.length) { do { uint32Array[num7] = uint32Array1[uint8Array2[num7]]; num7 = num7 + 1; length3 = uint8Array2.length; } while (num7 < length3); } } else if (uint8Array.length < 32000000) { for (let num6 = 0; num6 < length2; num6 = num6 + 4) { let tmp16 = getNearest; let tmp17 = tmp5; let tmp18 = getNearest(tmp5, 0.00392156862745098 * uint8Array[num6], 0.00392156862745098 * uint8Array[num6 + 1], 0.00392156862745098 * uint8Array[num6 + 2], 0.00392156862745098 * uint8Array[num6 + 3]); let tmp19 = num6 >> 2; uint8Array2[tmp19] = tmp18.ind; uint32Array[tmp19] = tmp18.est.rgba; } } else { for (let num2 = 0; num2 < length2; num2 = num2 + 4) { let tmp11 = num2; let rect = tmp5; let tmp12 = tmp5; if (tmp5.left) { do { let est = rect.est; let e = est.e; let tmp13 = rect; tmp14 = e[0] * tmp7 + e[1] * tmp8 + e[2] * tmp9 + e[3] * tmp10 - est.eMq <= 0 ? rect.left : rect.right; rect = tmp14; tmp12 = tmp14; } while (tmp14.left); } let tmp15 = num2 >> 2; uint8Array2[tmp15] = tmp12.ind; uint32Array[tmp15] = tmp12.est.rgba; } } let num8 = 1000000000; let num9 = 0; if (arg2) { while (true) { let tmp22 = uint8Array1.length >>> 2; let _Uint32Array = Uint32Array; let tmp23 = new.target; let num11 = 4; let tmp24 = new.target; let uint32Array2 = new Uint32Array(4 * tmp22); let tmp26 = uint32Array2; let _Uint32Array2 = Uint32Array; let tmp27 = new.target; let tmp28 = new.target; let tmp29 = tmp22; let uint32Array3 = new Uint32Array(tmp22); let tmp31 = uint32Array3; let num12 = 3; let tmp32 = num8; let tmp33 = num9; let num13 = 0; if (0 < uint8Array.length) { do { let tmp34 = uint8Array2[num13 >>> 2]; let result = 4 * tmp34; uint32Array3[tmp34] = uint32Array3[tmp34] + 1; uint32Array2[result] = uint32Array2[result] + uint8Array[num13]; let sum = result + 1; uint32Array2[sum] = uint32Array2[sum] + uint8Array[num13 + 1]; let sum1 = result + 2; uint32Array2[sum1] = uint32Array2[sum1] + uint8Array[num13 + 2]; let sum2 = result + 3; uint32Array2[sum2] = uint32Array2[sum2] + uint8Array[num13 + 3]; num13 = num13 + 4; length4 = uint8Array.length; } while (num13 < length4); } let num14 = 0; if (0 < uint8Array1.length) { do { let _Math = Math; uint8Array1[num14] = Math.round(uint32Array2[num14] / uint32Array3[num14 >>> 2]); num14 = num14 + 1; length5 = uint8Array1.length; } while (num14 < length5); } let tmp39 = findNearest; let tmp40 = findNearest(uint8Array, uint8Array2, uint8Array1); let num15 = 0.997; if (0.997 < tmp40 / num8) { break; } else { num9 = num9 + 1; let num16 = 10; num8 = tmp40; if (num9 >= 10) { break; } } } for (let num17 = 0; num17 < length; num17 = num17 + 1) { arr2[num17].est.rgba = uint32Array1[num17]; } let num18 = 0; if (0 < uint8Array2.length) { do { uint32Array[num18] = uint32Array1[uint8Array2[num18]]; num18 = num18 + 1; length6 = uint8Array2.length; } while (num18 < length6); } } else { num8 = 1000000000; num9 = 0; } return { abuf: substr.buffer, inds: uint8Array2, plte: arr2 }; } function findNearest(uint8Array, uint8Array2, uint8Array1) { const items = []; let num = 0; if (0 < uint8Array1.length >>> 2) { do { let result = 4 * num; let tmp7 = num; let num2 = 0; let num3 = 1000000000; let num4 = 1000000000; if (0 < tmp) { do { let tmp8 = num2; let tmp9 = num3; let tmp10 = num3; if (num !== num2) { let result1 = 4 * num2; let diff = tmp3 - uint8Array1[result1]; let diff1 = tmp4 - uint8Array1[result1 + 1]; let diff2 = tmp5 - uint8Array1[result1 + 2]; let diff3 = tmp6 - uint8Array1[result1 + 3]; let sum = diff * diff + diff1 * diff1 + diff2 * diff2 + diff3 * diff3; tmp10 = num3; if (sum < num3) { tmp10 = sum; } } num2 = num2 + 1; num3 = tmp10; num4 = tmp10; } while (num2 < tmp); } let _Math = Math; items[num] = 0.5 * Math.sqrt(num4); items[num] = items[num] * items[num]; num = num + 1; } while (num < tmp); } let num5 = 0; let num6 = 0; let num7 = 0; if (0 < uint8Array.length) { do { let tmp17 = uint8Array[num5]; let tmp18 = uint8Array[num5 + 1]; let tmp19 = uint8Array[num5 + 2]; let tmp20 = uint8Array[num5 + 3]; let tmp21 = num5 >>> 2; let tmp22 = uint8Array2[tmp21]; let result2 = 4 * tmp22; let diff4 = tmp17 - uint8Array1[result2]; let diff5 = tmp18 - uint8Array1[result2 + 1]; let diff6 = tmp19 - uint8Array1[result2 + 2]; let diff7 = tmp20 - uint8Array1[result2 + 3]; let sum1 = diff4 * diff4 + diff5 * diff5 + diff6 * diff6 + diff7 * diff7; let tmp29 = num5; let tmp30 = num6; let tmp31 = tmp22; let tmp32 = sum1; if (sum1 > items[tmp22]) { let num8 = 0; let tmp42 = sum1; let tmp43 = tmp22; tmp32 = sum1; tmp31 = tmp22; if (0 < tmp) { while (true) { let result3 = 4 * num8; let diff8 = tmp17 - uint8Array1[result3]; let diff9 = tmp18 - uint8Array1[result3 + 1]; let diff10 = tmp19 - uint8Array1[result3 + 2]; let diff11 = tmp20 - uint8Array1[result3 + 3]; let sum2 = diff8 * diff8 + diff9 * diff9 + diff10 * diff10 + diff11 * diff11; let tmp39 = num8; let tmp40 = tmp42; let tmp41 = tmp43; if (sum2 >= tmp42) { num8 = num8 + 1; tmp42 = tmp40; tmp43 = tmp41; tmp32 = tmp40; tmp31 = tmp41; if (num8 >= tmp) { break; } } else { tmp40 = sum2; tmp41 = num8; tmp31 = num8; tmp32 = sum2; if (sum2 < items[num8]) { break; } } break; } } } uint8Array2[tmp21] = tmp31; num6 = num6 + tmp32; num5 = num5 + 4; num7 = num6; } while (num5 < uint8Array.length); } return num7 / (uint8Array.length >>> 2); } function getKDtree(substr, arg1) { let length; let num = arg2; if (null == arg2) { num = 0.0001; } const uint32Array = new Uint32Array(substr.buffer); let obj = { i0: 0, i1: substr.length, bst: null, est: null, tdst: 0, left: null, right: null }; obj.bst = stats(substr, obj.i0, obj.i1); obj.est = estats(obj.bst); const items = [obj]; if (items.length < arg1) { while (true) { let num2 = 0; let num3 = 0; let num4 = 0; let num5 = 0; let num6 = 0; if (0 < items.length) { do { let tmp2 = num2; let tmp3 = num3; let L = num4; if (items[num2].est.L > num4) { L = items[num2].est.L; tmp3 = num2; } num2 = num2 + 1; num3 = tmp3; num4 = L; num5 = tmp3; num6 = L; } while (num2 < items.length); } if (num6 < num) { break; } else { let tmp26 = items[num5]; let i0 = tmp26.i0; let e = tmp26.est.e; let eMq255 = tmp26.est.eMq255; let diff = tmp26.i1 - 4; let sum3 = i0; let tmp14 = i0; if (i0 < diff) { while (true) { let tmp4 = vecDot; let tmp5 = diff; let tmp6 = sum3; let tmp7 = sum3; if (substr[sum3] * e[0] + substr[sum3 + 1] * e[1] + substr[sum3 + 2] * e[2] + substr[sum3 + 3] * e[3] <= eMq255) { do { let sum = tmp6 + 4; tmp4 = vecDot; tmp6 = sum; tmp7 = sum; sum1 = substr[sum] * e[0] + substr[sum + 1] * e[1] + substr[sum + 2] * e[2] + substr[sum + 3] * e[3]; } while (sum1 <= eMq255); } let tmp10 = diff; let tmp11 = diff; if (tmp4(substr, diff, e) > eMq255) { do { let diff1 = tmp10 - 4; tmp10 = diff1; tmp11 = diff1; sum2 = substr[diff1] * e[0] + substr[diff1 + 1] * e[1] + substr[diff1 + 2] * e[2] + substr[diff1 + 3] * e[3]; } while (sum2 > eMq255); } tmp14 = tmp7; if (tmp7 >= tmp11) { break; } else { let tmp15 = tmp11 >> 2; uint32Array[tmp7 >> 2] = uint32Array[tmp15]; uint32Array[tmp15] = uint32Array[tmp7 >> 2]; sum3 = tmp7 + 4; diff = tmp11 - 4; tmp14 = sum3; if (sum3 >= diff) { break; } } } } let tmp18 = tmp14; let tmp19 = tmp14; if (substr[tmp14] * e[0] + substr[tmp14 + 1] * e[1] + substr[tmp14 + 2] * e[2] + substr[tmp14 + 3] * e[3] > eMq255) { do { let diff2 = tmp18 - 4; tmp18 = diff2; tmp19 = diff2; sum4 = substr[diff2] * e[0] + substr[diff2 + 1] * e[1] + substr[diff2 + 2] * e[2] + substr[diff2 + 3] * e[3]; } while (sum4 > eMq255); } let sum5 = tmp19 + 4; if (tmp26.i0 < sum5) { if (tmp26.i1 > sum5) { obj = { i0: null, i1: null, bst: null, est: null, tdst: 0, left: null, right: null }; obj[0] = tmp26.i0; obj[1] = sum5; let tmp27 = stats; obj.bst = stats(substr, obj.i0, obj.i1); let tmp28 = estats; obj.est = estats(obj.bst); obj = { i0: null, i1: null, bst: null, est: null, tdst: 0, left: null, right: null }; obj[0] = sum5; obj[1] = tmp26.i1; obj1 = { R: null, m: null, N: null }; obj1[0] = []; obj1[1] = []; obj1[2] = tmp26.bst.N - obj.bst.N; obj.bst = obj1; let num7 = 0; do { obj.bst.R[num7] = tmp26.bst.R[num7] - obj.bst.R[num7]; num7 = num7 + 1; let num8 = 0; } while (num7 < 16); do { obj.bst.m[num8] = tmp26.bst.m[num8] - obj.bst.m[num8]; num8 = num8 + 1; } while (num8 < 4); let tmp23 = estats; obj.est = estats(obj.bst); tmp26.left = obj; tmp26.right = obj; items[num5] = obj; let arr = items.push(obj); } if (items.length >= arg1) { break; } } tmp26.est.L = 0; } } } const sorted = items.sort((bst, bst2) => bst2.bst.N - bst.bst.N); let num9 = 0; if (0 < items.length) { do { items[num9].ind = num9; num9 = num9 + 1; length = items.length; } while (num9 < length); } const items1 = [obj, items]; return items1; } function getNearest(right, arg1, arg2, arg3, arg4) { if (null == right.left) { const q = right.est.q; const diff = arg1 - q[0]; const diff1 = arg2 - q[1]; const diff2 = arg3 - q[2]; const diff3 = arg4 - q[3]; right.tdst = diff * diff + diff1 * diff1 + diff2 * diff2 + diff3 * diff3; return right; } else { const est = right.est; const e = est.e; const diff4 = e[0] * arg1 + e[1] * arg2 + e[2] * arg3 + e[3] * arg4 - est.eMq; ({ left: right, right: left } = right); if (diff4 > 0) { ({ right, left } = right); } const tmp7 = getNearest(right, arg1, arg2, arg3, arg4); if (tmp7.tdst <= diff4 * diff4) { return tmp7; } else { const tmpResult = tmp(left, arg1, arg2, arg3, arg4); let tmp14 = tmp7; if (tmpResult.tdst < tmp7.tdst) { tmp14 = tmpResult; } return tmp14; } tmp = getNearest; } } function vecDot(arg0, arg1, arg2) { return arg0[arg1] * arg2[0] + arg0[arg1 + 1] * arg2[1] + arg0[arg1 + 2] * arg2[2] + arg0[arg1 + 3] * arg2[3]; } function stats(substr, i0, i1) { let sum = i0; const R = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; const m = [0, 0, 0, 0]; const N = i1 - i0 >> 2; if (i0 < i1) { do { let result = 0.00392156862745098 * substr[sum]; let result1 = 0.00392156862745098 * substr[sum + 1]; let result2 = 0.00392156862745098 * substr[sum + 2]; let result3 = 0.00392156862745098 * substr[sum + 3]; m[0] = m[0] + result; m[1] = m[1] + result1; m[2] = m[2] + result2; m[3] = m[3] + result3; R[0] = R[0] + result * result; R[1] = R[1] + result * result1; R[2] = R[2] + result * result2; R[3] = R[3] + result * result3; R[5] = R[5] + result1 * result1; R[6] = R[6] + result1 * result2; R[7] = R[7] + result1 * result3; R[10] = R[10] + result2 * result2; R[11] = R[11] + result2 * result3; R[15] = R[15] + result3 * result3; sum = sum + 4; } while (sum < i1); } R[4] = R[1]; R[8] = R[2]; R[9] = R[6]; R[12] = R[3]; R[13] = R[7]; R[14] = R[11]; return { R, m, N }; } function estats(bst) { ({ R, m, N } = bst); [tmp, tmp2, tmp3, tmp4] = m; let num = 0; if (0 != N) { num = 1 / N; } const items = [R[0] - tmp * tmp * num, R[1] - tmp * tmp2 * num, R[2] - tmp * tmp3 * num, R[3] - tmp * tmp4 * num, R[4] - tmp2 * tmp * num, R[5] - tmp2 * tmp2 * num, R[6] - tmp2 * tmp3 * num, R[7] - tmp2 * tmp4 * num, R[8] - tmp3 * tmp * num, R[9] - tmp3 * tmp2 * num, R[10] - tmp3 * tmp3 * num, R[11] - tmp3 * tmp4 * num, R[12] - tmp4 * tmp * num, R[13] - tmp4 * tmp2 * num, R[14] - tmp4 * tmp3 * num, R[15] - tmp4 * tmp4 * num]; let obj = c16; const items1 = [Math.random(), Math.random(), Math.random(), Math.random()]; let num3 = 0; let tmp5 = items1; if (0 != N) { const multVecResult = obj.multVec(items, items1); const _Math = Math; const sqrtResult = Math.sqrt(obj.dot(multVecResult, multVecResult)); let num7 = 0; let tmp8 = sqrtResult; let smlResult = obj.sml(1 / sqrtResult, multVecResult); const sum = num7 + 1; num3 = tmp8; tmp5 = smlResult; while (sum < 16) { let multVecResult1 = obj.multVec(items, smlResult); let _Math2 = Math; let sqrtResult1 = Math.sqrt(obj.dot(multVecResult1, multVecResult1)); let smlResult1 = obj.sml(1 / sqrtResult1, multVecResult1); num7 = sum; tmp8 = sqrtResult1; smlResult = smlResult1; if (0 === sum) { continue; } else { let _Math3 = Math; num7 = sum; tmp8 = sqrtResult1; smlResult = smlResult1; num3 = tmp11; tmp5 = smlResult1; if (Math.abs(sqrtResult1 - tmp11) < 0.000000001) { break; } } continue; } } const items2 = [tmp * num, tmp2 * num, tmp3 * num, tmp4 * num]; obj = { Cov: items, q: items2, e: tmp5, L: num3, eMq255: obj.dot(obj.sml(255, items2), tmp5), eMq: obj.dot(tmp5, items2), rgba: null }; const tmp16 = Math.round(255 * items2[3]) << 24; const tmp17 = Math.round(255 * items2[2]) << 16; obj[6] = (tmp16 | tmp17 | Math.round(255 * items2[1]) << 8 | Math.round(255 * items2[0])) >>> 0; return obj; } ({ _copyTile: c0, _bin: c1, _paeth: c2 } = obj); const uint32Array5 = new Uint32Array(256); let num26 = 0; let num27 = 0; let tmp66 = num26; do { do { let tmp67 = tmp66 >>> 1; let tmp68 = num27; let tmp69 = 1 & tmp66 ? 3988292384 ^ tmp67 : tmp67; num27 = num27 + 1; tmp66 = tmp69; } while (num27 < 8); uint32Array5[num26] = tmp69; num26 = num26 + 1; } while (num26 < 256);