4288 lines
149 KiB
JavaScript
4288 lines
149 KiB
JavaScript
// Module ID: 1879
|
|
// Function ID: 20897
|
|
// Name: decodeImage
|
|
// Dependencies: []
|
|
|
|
// Module 1879 (decodeImage)
|
|
let tmp = (() => {
|
|
function decodeImage(data, width, height, tabs) {
|
|
let ctype;
|
|
let depth;
|
|
const result = width * height;
|
|
const rounded = Math.ceil(width * _getBPP(tabs) / 8);
|
|
const uint8Array = new Uint8Array(4 * result);
|
|
const uint32Array = new Uint32Array(uint8Array.buffer);
|
|
({ ctype, depth } = tabs);
|
|
const readUshort = obj.readUshort;
|
|
const timestamp = Date.now();
|
|
if (6 == ctype) {
|
|
if (8 == depth) {
|
|
let num61 = 0;
|
|
if (0 < tmp69) {
|
|
do {
|
|
uint8Array[num61] = data[num61];
|
|
let sum = num61 + 1;
|
|
uint8Array[sum] = data[sum];
|
|
let sum1 = num61 + 2;
|
|
uint8Array[sum1] = data[sum1];
|
|
let sum2 = num61 + 3;
|
|
uint8Array[sum2] = data[sum2];
|
|
num61 = num61 + 4;
|
|
} while (num61 < tmp69);
|
|
}
|
|
}
|
|
if (16 == depth) {
|
|
let num64 = 0;
|
|
if (0 < tmp69) {
|
|
do {
|
|
uint8Array[num64] = data[num64 << 1];
|
|
num64 = num64 + 1;
|
|
} while (num64 < tmp69);
|
|
}
|
|
}
|
|
} else if (2 == ctype) {
|
|
let tRNS = tabs.tabs.tRNS;
|
|
if (null == tRNS) {
|
|
if (8 == depth) {
|
|
let num55 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
let result1 = 3 * num55;
|
|
uint32Array[num55] = -16777216 | data[result1 + 2] << 16 | data[result1 + 1] << 8 | data[result1];
|
|
num55 = num55 + 1;
|
|
} while (num55 < result);
|
|
}
|
|
}
|
|
if (16 == depth) {
|
|
let num57 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
let result2 = 6 * num57;
|
|
uint32Array[num57] = -16777216 | data[result2 + 4] << 16 | data[result2 + 2] << 8 | data[result2];
|
|
num57 = num57 + 1;
|
|
} while (num57 < result);
|
|
}
|
|
}
|
|
} else {
|
|
const first = tRNS[0];
|
|
if (8 == depth) {
|
|
let num48 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
let result3 = 3 * num48;
|
|
let sum3 = result3 + 2;
|
|
let sum4 = result3 + 1;
|
|
uint32Array[num48] = -16777216 | data[sum3] << 16 | data[sum4] << 8 | data[result3];
|
|
let tmp61 = data[result3] == first;
|
|
let tmp57 = num48 << 2;
|
|
if (tmp61) {
|
|
tmp61 = data[sum4] == tmp76;
|
|
}
|
|
if (tmp61) {
|
|
tmp61 = data[sum3] == tmp77;
|
|
}
|
|
if (tmp61) {
|
|
uint8Array[tmp57 + 3] = 0;
|
|
}
|
|
num48 = num48 + 1;
|
|
} while (num48 < result);
|
|
}
|
|
}
|
|
if (16 == depth) {
|
|
let num50 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
let result4 = 6 * num50;
|
|
let sum5 = result4 + 4;
|
|
let sum6 = result4 + 2;
|
|
uint32Array[num50] = -16777216 | data[sum5] << 16 | data[sum6] << 8 | data[result4];
|
|
let tmp62 = num50 << 2;
|
|
let tmp66 = readUshort(data, result4) == first && readUshort(data, sum6) == tmp76 && readUshort(data, sum5) == tmp77;
|
|
if (tmp66) {
|
|
uint8Array[tmp62 + 3] = 0;
|
|
}
|
|
num50 = num50 + 1;
|
|
} while (num50 < result);
|
|
}
|
|
}
|
|
}
|
|
} else if (3 == ctype) {
|
|
const PLTE = tabs.tabs.PLTE;
|
|
tRNS = tabs.tabs.tRNS;
|
|
let num30 = 0;
|
|
if (tRNS) {
|
|
num30 = tRNS.length;
|
|
}
|
|
let tmp26;
|
|
let tmp27;
|
|
if (1 == depth) {
|
|
let num34 = 0;
|
|
if (0 < height) {
|
|
do {
|
|
let num35 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let tmp32 = tmp31 + num35 << 2;
|
|
let tmp33 = data[tmp30 + (num35 >> 3)] >> 7 - (7 & num35) & 1;
|
|
let result5 = 3 * tmp33;
|
|
uint8Array[tmp32] = PLTE[result5];
|
|
uint8Array[tmp32 + 1] = PLTE[result5 + 1];
|
|
uint8Array[tmp32 + 2] = PLTE[result5 + 2];
|
|
let num36 = 255;
|
|
if (tmp33 < num30) {
|
|
num36 = tRNS[tmp33];
|
|
}
|
|
uint8Array[tmp32 + 3] = num36;
|
|
num35 = num35 + 1;
|
|
let tmp28 = tmp32;
|
|
let tmp29 = tmp33;
|
|
} while (num35 < width);
|
|
}
|
|
num34 = num34 + 1;
|
|
tmp26 = tmp28;
|
|
tmp27 = tmp29;
|
|
} while (num34 < height);
|
|
}
|
|
}
|
|
if (2 == depth) {
|
|
let tmp42 = tmp26;
|
|
let num39 = 0;
|
|
let tmp43 = tmp27;
|
|
if (0 < height) {
|
|
do {
|
|
let num37 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let tmp39 = tmp38 + num37 << 2;
|
|
let tmp40 = data[tmp37 + (num37 >> 2)] >> 6 - ((3 & num37) << 1) & 3;
|
|
let result6 = 3 * tmp40;
|
|
uint8Array[tmp39] = PLTE[result6];
|
|
uint8Array[tmp39 + 1] = PLTE[result6 + 1];
|
|
uint8Array[tmp39 + 2] = PLTE[result6 + 2];
|
|
let num38 = 255;
|
|
if (tmp40 < num30) {
|
|
num38 = tRNS[tmp40];
|
|
}
|
|
uint8Array[tmp39 + 3] = num38;
|
|
num37 = num37 + 1;
|
|
tmp42 = tmp39;
|
|
tmp43 = tmp40;
|
|
} while (num37 < width);
|
|
}
|
|
num39 = num39 + 1;
|
|
let tmp44 = tmp42;
|
|
let tmp45 = tmp43;
|
|
} while (num39 < height);
|
|
}
|
|
}
|
|
if (4 == depth) {
|
|
for (let num42 = 0; num42 < height; num42 = num42 + 1) {
|
|
let num40 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let tmp48 = tmp47 + num40 << 2;
|
|
let tmp49 = data[tmp46 + (num40 >> 1)] >> 4 - ((1 & num40) << 2) & 15;
|
|
let result7 = 3 * tmp49;
|
|
uint8Array[tmp48] = PLTE[result7];
|
|
uint8Array[tmp48 + 1] = PLTE[result7 + 1];
|
|
uint8Array[tmp48 + 2] = PLTE[result7 + 2];
|
|
let num41 = 255;
|
|
if (tmp49 < num30) {
|
|
num41 = tRNS[tmp49];
|
|
}
|
|
uint8Array[tmp48 + 3] = num41;
|
|
num40 = num40 + 1;
|
|
let tmp51 = tmp48;
|
|
let tmp52 = tmp49;
|
|
} while (num40 < width);
|
|
}
|
|
}
|
|
}
|
|
if (8 == depth) {
|
|
let num44 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
let tmp53 = num44 << 2;
|
|
let tmp54 = data[num44];
|
|
let result8 = 3 * tmp54;
|
|
uint8Array[tmp53] = PLTE[result8];
|
|
uint8Array[tmp53 + 1] = PLTE[result8 + 1];
|
|
uint8Array[tmp53 + 2] = PLTE[result8 + 2];
|
|
let num43 = 255;
|
|
if (tmp54 < num30) {
|
|
num43 = tRNS[tmp54];
|
|
}
|
|
uint8Array[tmp53 + 3] = num43;
|
|
num44 = num44 + 1;
|
|
} while (num44 < result);
|
|
}
|
|
}
|
|
} else if (4 == ctype) {
|
|
if (8 == depth) {
|
|
let num26 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
let tmp20 = num26 << 2;
|
|
let tmp21 = num26 << 1;
|
|
let tmp22 = data[tmp21];
|
|
uint8Array[tmp20] = tmp22;
|
|
uint8Array[tmp20 + 1] = tmp22;
|
|
uint8Array[tmp20 + 2] = tmp22;
|
|
uint8Array[tmp20 + 3] = data[tmp21 + 1];
|
|
num26 = num26 + 1;
|
|
} while (num26 < result);
|
|
}
|
|
}
|
|
if (16 == depth) {
|
|
let num28 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
let tmp23 = num28 << 2;
|
|
let tmp24 = num28 << 2;
|
|
let tmp25 = data[tmp24];
|
|
uint8Array[tmp23] = tmp25;
|
|
uint8Array[tmp23 + 1] = tmp25;
|
|
uint8Array[tmp23 + 2] = tmp25;
|
|
uint8Array[tmp23 + 3] = data[tmp24 + 2];
|
|
num28 = num28 + 1;
|
|
} while (num28 < result);
|
|
}
|
|
}
|
|
} else if (0 == ctype) {
|
|
let num = -1;
|
|
if (tabs.tabs.tRNS) {
|
|
num = tabs.tabs.tRNS;
|
|
}
|
|
let num10 = 0;
|
|
if (0 < height) {
|
|
do {
|
|
let result9 = num10 * rounded;
|
|
let result10 = num10 * width;
|
|
if (1 == depth) {
|
|
let num22 = 0;
|
|
let tmp9 = tmp6;
|
|
let num23 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let result11 = 255 * (data[result9 + (num22 >>> 3)] >>> 7 - (7 & num22) & 1);
|
|
let num24 = 255;
|
|
if (result11 === 255 * num) {
|
|
num24 = 0;
|
|
}
|
|
uint32Array[result10 + num22] = num24 << 24 | result11 << 16 | result11 << 8 | result11;
|
|
num22 = num22 + 1;
|
|
tmp9 = result11;
|
|
let tmp19 = num22;
|
|
} while (num22 < width);
|
|
}
|
|
} else if (2 == depth) {
|
|
let num19 = 0;
|
|
tmp9 = tmp6;
|
|
let num20 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let result12 = 85 * (data[result9 + (num19 >>> 2)] >>> 6 - ((3 & num19) << 1) & 3);
|
|
let num21 = 255;
|
|
if (result12 === 85 * num) {
|
|
num21 = 0;
|
|
}
|
|
uint32Array[result10 + num19] = num21 << 24 | result12 << 16 | result12 << 8 | result12;
|
|
num19 = num19 + 1;
|
|
tmp9 = result12;
|
|
let tmp17 = num19;
|
|
} while (num19 < width);
|
|
}
|
|
} else if (4 == depth) {
|
|
let num16 = 0;
|
|
tmp9 = tmp6;
|
|
let num17 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let result13 = 17 * (data[result9 + (num16 >>> 1)] >>> 4 - ((1 & num16) << 2) & 15);
|
|
let num18 = 255;
|
|
if (result13 === 17 * num) {
|
|
num18 = 0;
|
|
}
|
|
uint32Array[result10 + num16] = num18 << 24 | result13 << 16 | result13 << 8 | result13;
|
|
num16 = num16 + 1;
|
|
tmp9 = result13;
|
|
let tmp15 = num16;
|
|
} while (num16 < width);
|
|
}
|
|
} else if (8 == depth) {
|
|
let num13 = 0;
|
|
tmp9 = tmp6;
|
|
let num14 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let tmp12 = data[result9 + num13];
|
|
let num15 = 255;
|
|
if (tmp12 == num) {
|
|
num15 = 0;
|
|
}
|
|
uint32Array[result10 + num13] = num15 << 24 | tmp12 << 16 | tmp12 << 8 | tmp12;
|
|
num13 = num13 + 1;
|
|
tmp9 = tmp12;
|
|
let tmp13 = num13;
|
|
} while (num13 < width);
|
|
}
|
|
} else {
|
|
tmp9 = tmp6;
|
|
if (16 == depth) {
|
|
let num12 = 0;
|
|
tmp9 = tmp6;
|
|
let num68 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let tmp10 = data[result9 + (num12 << 1)];
|
|
let num11 = 255;
|
|
if (readUshort(data, result9 + (num12 << 1)) == num) {
|
|
num11 = 0;
|
|
}
|
|
uint32Array[result10 + num12] = num11 << 24 | tmp10 << 16 | tmp10 << 8 | tmp10;
|
|
num12 = num12 + 1;
|
|
tmp9 = tmp10;
|
|
let tmp11 = num12;
|
|
} while (num12 < width);
|
|
}
|
|
}
|
|
}
|
|
num10 = num10 + 1;
|
|
tmp6 = tmp9;
|
|
} while (num10 < height);
|
|
}
|
|
}
|
|
return uint8Array;
|
|
}
|
|
function _decompress(size, arr4, width, height) {
|
|
const timestamp = Date.now();
|
|
const uint8Array = new Uint8Array((Math.ceil(width * _getBPP(size) / 8) + 1 + size.interlace) * height);
|
|
if (size.tabs.CgBI) {
|
|
let tmp4 = callback(arr4, uint8Array);
|
|
} else {
|
|
tmp4 = _inflate(arr4, uint8Array);
|
|
}
|
|
const timestamp1 = Date.now();
|
|
if (0 == size.interlace) {
|
|
_filterZero(tmp4, size, 0, width, height);
|
|
let tmp38 = tmp4;
|
|
} else {
|
|
tmp38 = tmp4;
|
|
if (1 == size.interlace) {
|
|
({ width, height } = size);
|
|
const tmp46 = _getBPP(size);
|
|
const _Math2 = Math;
|
|
const rounded = Math.ceil(width * tmp46 / 8);
|
|
const _Uint8Array = Uint8Array;
|
|
const uint8Array1 = 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 num8 = 0;
|
|
do {
|
|
let tmp7 = [8, 8, 8, 4, 4, 2, 2][num8];
|
|
let tmp8 = tmp53[num8];
|
|
let sum = items[num8];
|
|
let num = 0;
|
|
let num2 = 0;
|
|
while (sum < height) {
|
|
sum = sum + tmp7;
|
|
num = num + 1;
|
|
num2 = num;
|
|
}
|
|
let sum1 = items1[num8];
|
|
let num3 = 0;
|
|
let num4 = 0;
|
|
while (sum1 < width) {
|
|
sum1 = sum1 + tmp8;
|
|
num3 = num3 + 1;
|
|
num4 = num3;
|
|
}
|
|
let _Math = Math;
|
|
let rounded1 = Math.ceil(num4 * tmp46 / 8);
|
|
let tmp12 = _filterZero;
|
|
let tmp13 = tmp4;
|
|
let tmp14 = size;
|
|
let tmp15 = num9;
|
|
let tmp16 = num4;
|
|
let tmp17 = num2;
|
|
let tmp18 = _filterZero(tmp4, size, num9, num4, num2);
|
|
let sum8 = items[num8];
|
|
let num5 = 0;
|
|
let tmp20 = tmp22;
|
|
let tmp21 = tmp23;
|
|
while (sum8 < height) {
|
|
let sum7 = items1[num8];
|
|
let sum6 = num9 + num5 * rounded1 << 3;
|
|
let tmp26 = tmp20;
|
|
let num6 = tmp21;
|
|
let tmp27 = sum6;
|
|
let tmp28 = tmp20;
|
|
let tmp29 = tmp21;
|
|
let tmp30 = sum7;
|
|
if (sum7 < width) {
|
|
do {
|
|
if (1 == tmp46) {
|
|
let sum2 = sum8 * rounded + (sum7 >> 3);
|
|
uint8Array1[sum2] = uint8Array1[sum2] | (tmp4[sum6 >> 3] >> 7 - (7 & sum6) & 1) << 7 - (7 & sum7);
|
|
}
|
|
if (2 == tmp46) {
|
|
let sum3 = sum8 * rounded + (sum7 >> 2);
|
|
uint8Array1[sum3] = uint8Array1[sum3] | (tmp4[sum6 >> 3] >> 6 - (7 & sum6) & 3) << 6 - ((3 & sum7) << 1);
|
|
}
|
|
if (4 == tmp46) {
|
|
let sum4 = sum8 * rounded + (sum7 >> 1);
|
|
uint8Array1[sum4] = uint8Array1[sum4] | (tmp4[sum6 >> 3] >> 4 - (7 & sum6) & 15) << 4 - ((1 & sum7) << 2);
|
|
}
|
|
if (tmp46 >= 8) {
|
|
let sum5 = sum8 * rounded + sum7 * tmp47;
|
|
let num7 = 0;
|
|
tmp26 = sum5;
|
|
num6 = 0;
|
|
if (0 < tmp47) {
|
|
do {
|
|
uint8Array1[sum5 + num7] = tmp4[(sum6 >> 3) + num7];
|
|
num7 = num7 + 1;
|
|
tmp26 = sum5;
|
|
num6 = num7;
|
|
} while (num7 < tmp47);
|
|
}
|
|
}
|
|
sum6 = sum6 + tmp46;
|
|
sum7 = sum7 + tmp8;
|
|
tmp27 = sum6;
|
|
tmp28 = tmp26;
|
|
tmp29 = num6;
|
|
tmp30 = sum7;
|
|
} while (sum7 < width);
|
|
}
|
|
num5 = num5 + 1;
|
|
sum8 = sum8 + tmp7;
|
|
let tmp35 = tmp30;
|
|
let tmp36 = tmp27;
|
|
tmp20 = tmp28;
|
|
tmp21 = tmp29;
|
|
tmp22 = tmp28;
|
|
tmp23 = tmp29;
|
|
}
|
|
let sum9 = num9;
|
|
if (num4 * num2 != 0) {
|
|
sum9 = num9 + num2 * (1 + rounded1);
|
|
}
|
|
num8 = num8 + 1;
|
|
num9 = sum9;
|
|
tmp38 = uint8Array1;
|
|
} while (num8 < 7);
|
|
}
|
|
}
|
|
return tmp38;
|
|
}
|
|
function _inflate(arr3, uint8Array) {
|
|
uint8Array = new Uint8Array(arr3.buffer, 2, arr3.length - 6);
|
|
return callback(uint8Array, uint8Array);
|
|
}
|
|
function _getBPP(depth) {
|
|
return [1, null, 3, 1, 2, null, 4][depth.ctype] * depth.depth;
|
|
}
|
|
function _filterZero(arg0, depth) {
|
|
const tmp = _getBPP(depth);
|
|
const rounded = Math.ceil(arg3 * tmp / 8);
|
|
const rounded1 = Math.ceil(tmp / 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];
|
|
if (0 == tmp8) {
|
|
for (let num11 = 0; num11 < rounded; num11 = num11 + 1) {
|
|
arg0[sum1 + num11] = arg0[sum2 + num11];
|
|
}
|
|
} else if (1 == tmp8) {
|
|
let num9 = 0;
|
|
let num10 = 0;
|
|
if (0 < rounded1) {
|
|
do {
|
|
arg0[sum1 + num9] = arg0[sum2 + num9];
|
|
num9 = num9 + 1;
|
|
num10 = num9;
|
|
} while (num9 < rounded1);
|
|
}
|
|
if (num10 < rounded) {
|
|
do {
|
|
arg0[sum1 + num10] = arg0[sum2 + num10] + arg0[sum1 + num10 - rounded1];
|
|
num10 = num10 + 1;
|
|
} while (num10 < rounded);
|
|
}
|
|
} else if (2 == tmp8) {
|
|
for (let num8 = 0; num8 < rounded; num8 = num8 + 1) {
|
|
arg0[sum1 + num8] = arg0[sum2 + num8] + arg0[sum1 + num8 - rounded];
|
|
}
|
|
} else if (3 == tmp8) {
|
|
let num6 = 0;
|
|
let num7 = 0;
|
|
if (0 < rounded1) {
|
|
do {
|
|
arg0[sum1 + num6] = arg0[sum2 + num6] + (arg0[sum1 + num6 - rounded] >>> 1);
|
|
num6 = num6 + 1;
|
|
num7 = num6;
|
|
} while (num6 < rounded1);
|
|
}
|
|
if (num7 < rounded) {
|
|
do {
|
|
arg0[sum1 + num7] = arg0[sum2 + num7] + (arg0[sum1 + num7 - rounded] + arg0[sum1 + num7 - rounded1] >>> 1);
|
|
num7 = num7 + 1;
|
|
} while (num7 < rounded);
|
|
}
|
|
} else {
|
|
let num4 = 0;
|
|
let num5 = 0;
|
|
if (0 < rounded1) {
|
|
do {
|
|
let tmp10 = _paeth;
|
|
let sum3 = sum1 + num4;
|
|
arg0[sum3] = arg0[sum2 + num4] + _paeth(0, arg0[sum1 + num4 - rounded], 0);
|
|
num4 = num4 + 1;
|
|
num5 = num4;
|
|
} while (num4 < rounded1);
|
|
}
|
|
if (num5 < rounded) {
|
|
do {
|
|
let tmp12 = _paeth;
|
|
let sum4 = sum1 + num5;
|
|
arg0[sum4] = arg0[sum2 + num5] + _paeth(arg0[sum1 + num5 - rounded1], arg0[sum1 + num5 - rounded], arg0[sum1 + num5 - rounded1 - rounded]);
|
|
num5 = num5 + 1;
|
|
} while (num5 < rounded);
|
|
}
|
|
}
|
|
}
|
|
return arg0;
|
|
}
|
|
function _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;
|
|
}
|
|
function _IHDR(arr3, sum2, arg2) {
|
|
arg2.width = obj.readUint(arr3, sum2);
|
|
const sum = sum2 + 4;
|
|
arg2.height = obj.readUint(arr3, sum);
|
|
const sum1 = sum + 4;
|
|
arg2.depth = arr3[sum1];
|
|
sum2 = sum1 + 1;
|
|
arg2.ctype = arr3[sum2];
|
|
const sum3 = sum2 + 1;
|
|
arg2.compress = arr3[sum3];
|
|
const sum4 = sum3 + 1;
|
|
arg2.filter = arr3[sum4];
|
|
arg2.interlace = arr3[sum4 + 1];
|
|
}
|
|
function _copyTile(arg0, width2, height2, arg3, width, height, arg6, arg7, arg8) {
|
|
const bound = Math.min(width2, width);
|
|
const bound1 = Math.min(height2, height);
|
|
for (let num = 0; num < bound1; num = num + 1) {
|
|
let tmp13 = tmp3;
|
|
let tmp14 = tmp4;
|
|
let tmp15 = tmp5;
|
|
let tmp16 = tmp6;
|
|
let tmp17 = tmp7;
|
|
let tmp18 = tmp8;
|
|
let tmp19 = tmp9;
|
|
let tmp20 = tmp10;
|
|
let tmp21 = tmp11;
|
|
let tmp22 = tmp12;
|
|
let num2 = 0;
|
|
if (0 < bound) {
|
|
while (true) {
|
|
if (arg6 >= 0) {
|
|
if (arg7 >= 0) {
|
|
let tmp23 = num * width2 + num2 << 2;
|
|
let tmp24 = (arg7 + num) * width + arg6 + num2 << 2;
|
|
if (0 == arg8) {
|
|
arg3[tmp24] = arg0[tmp23];
|
|
arg3[tmp24 + 1] = arg0[tmp23 + 1];
|
|
arg3[tmp24 + 2] = arg0[tmp23 + 2];
|
|
arg3[tmp24 + 3] = arg0[tmp23 + 3];
|
|
let tmp25 = tmp13;
|
|
let tmp26 = tmp14;
|
|
let tmp27 = tmp15;
|
|
let tmp28 = tmp16;
|
|
let tmp29 = tmp17;
|
|
let tmp30 = tmp18;
|
|
let tmp31 = tmp19;
|
|
let tmp32 = tmp20;
|
|
let tmp33 = tmp21;
|
|
let tmp34 = tmp22;
|
|
} else if (1 == arg8) {
|
|
let result = 0.00392156862745098 * arg0[tmp23 + 3];
|
|
let result1 = arg0[tmp23] * result;
|
|
let result2 = arg0[tmp23 + 1] * result;
|
|
let result3 = arg0[tmp23 + 2] * result;
|
|
let sum = tmp24 + 3;
|
|
let result4 = 0.00392156862745098 * arg3[sum];
|
|
let result5 = arg3[tmp24] * result4;
|
|
let sum1 = tmp24 + 1;
|
|
let result6 = arg3[sum1] * result4;
|
|
let sum2 = tmp24 + 2;
|
|
let result7 = arg3[sum2] * result4;
|
|
let diff = 1 - result;
|
|
let sum3 = result + result4 * diff;
|
|
let num3 = 0;
|
|
if (0 !== sum3) {
|
|
num3 = 1 / sum3;
|
|
}
|
|
arg3[sum] = 255 * sum3;
|
|
arg3[tmp24] = (result1 + result5 * diff) * num3;
|
|
arg3[sum1] = (result2 + result6 * diff) * num3;
|
|
arg3[sum2] = (result3 + result7 * diff) * num3;
|
|
tmp25 = result;
|
|
tmp26 = result1;
|
|
tmp27 = result2;
|
|
tmp28 = result3;
|
|
tmp29 = result4;
|
|
tmp30 = result5;
|
|
tmp31 = result6;
|
|
tmp32 = result7;
|
|
tmp33 = diff;
|
|
tmp34 = sum3;
|
|
} else if (2 == arg8) {
|
|
let tmp35 = arg0[tmp23 + 3];
|
|
let tmp36 = arg0[tmp23];
|
|
let tmp37 = arg0[tmp23 + 1];
|
|
let tmp38 = arg0[tmp23 + 2];
|
|
let sum4 = tmp24 + 3;
|
|
let tmp40 = arg3[sum4];
|
|
let tmp41 = arg3[tmp24];
|
|
let sum5 = tmp24 + 1;
|
|
let tmp43 = arg3[sum5];
|
|
let sum6 = tmp24 + 2;
|
|
let tmp45 = arg3[sum6];
|
|
if (tmp35 == tmp40) {
|
|
if (tmp36 == tmp41) {
|
|
if (tmp37 == tmp43) {
|
|
if (tmp38 == tmp45) {
|
|
arg3[tmp24] = 0;
|
|
arg3[sum5] = 0;
|
|
arg3[sum6] = 0;
|
|
arg3[sum4] = 0;
|
|
tmp25 = tmp35;
|
|
tmp26 = tmp36;
|
|
tmp27 = tmp37;
|
|
tmp28 = tmp38;
|
|
tmp29 = tmp40;
|
|
tmp30 = tmp41;
|
|
tmp31 = tmp43;
|
|
tmp32 = tmp45;
|
|
tmp33 = tmp21;
|
|
tmp34 = tmp22;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
arg3[tmp24] = tmp36;
|
|
arg3[sum5] = tmp37;
|
|
arg3[sum6] = tmp38;
|
|
arg3[sum4] = tmp35;
|
|
tmp25 = tmp35;
|
|
tmp26 = tmp36;
|
|
tmp27 = tmp37;
|
|
tmp28 = tmp38;
|
|
tmp29 = tmp40;
|
|
tmp30 = tmp41;
|
|
tmp31 = tmp43;
|
|
tmp32 = tmp45;
|
|
tmp33 = tmp21;
|
|
tmp34 = tmp22;
|
|
} else {
|
|
tmp25 = tmp13;
|
|
tmp26 = tmp14;
|
|
tmp27 = tmp15;
|
|
tmp28 = tmp16;
|
|
tmp29 = tmp17;
|
|
tmp30 = tmp18;
|
|
tmp31 = tmp19;
|
|
tmp32 = tmp20;
|
|
tmp33 = tmp21;
|
|
tmp34 = tmp22;
|
|
if (3 == arg8) {
|
|
let tmp61 = arg0[tmp23 + 3];
|
|
let tmp62 = arg0[tmp23];
|
|
let tmp63 = arg0[tmp23 + 1];
|
|
let tmp64 = arg0[tmp23 + 2];
|
|
let tmp65 = arg3[tmp24 + 3];
|
|
let tmp66 = arg3[tmp24];
|
|
let tmp67 = arg3[tmp24 + 1];
|
|
let tmp68 = arg3[tmp24 + 2];
|
|
if (tmp61 == tmp65) {
|
|
if (tmp62 == tmp66) {
|
|
if (tmp63 == tmp67) {
|
|
tmp25 = tmp61;
|
|
tmp26 = tmp62;
|
|
tmp27 = tmp63;
|
|
tmp28 = tmp64;
|
|
tmp29 = tmp65;
|
|
tmp30 = tmp66;
|
|
tmp31 = tmp67;
|
|
tmp32 = tmp68;
|
|
tmp33 = tmp21;
|
|
tmp34 = tmp22;
|
|
}
|
|
}
|
|
}
|
|
tmp26 = tmp62;
|
|
tmp27 = tmp63;
|
|
tmp28 = tmp64;
|
|
tmp29 = tmp65;
|
|
tmp30 = tmp66;
|
|
tmp31 = tmp67;
|
|
tmp32 = tmp68;
|
|
tmp33 = tmp21;
|
|
tmp34 = tmp22;
|
|
tmp25 = tmp61;
|
|
if (tmp61 < 220) {
|
|
tmp25 = tmp61;
|
|
tmp26 = tmp62;
|
|
tmp27 = tmp63;
|
|
tmp28 = tmp64;
|
|
tmp29 = tmp65;
|
|
tmp30 = tmp66;
|
|
tmp31 = tmp67;
|
|
tmp32 = tmp68;
|
|
tmp33 = tmp21;
|
|
tmp34 = tmp22;
|
|
if (tmp65 > 20) {
|
|
let flag = false;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
num2 = num2 + 1;
|
|
tmp13 = tmp25;
|
|
tmp14 = tmp26;
|
|
tmp15 = tmp27;
|
|
tmp16 = tmp28;
|
|
tmp17 = tmp29;
|
|
tmp18 = tmp30;
|
|
tmp19 = tmp31;
|
|
tmp20 = tmp32;
|
|
tmp21 = tmp33;
|
|
tmp22 = tmp34;
|
|
let tmp59 = tmp23;
|
|
let tmp60 = tmp24;
|
|
tmp3 = tmp25;
|
|
tmp4 = tmp26;
|
|
tmp5 = tmp27;
|
|
tmp6 = tmp28;
|
|
tmp7 = tmp29;
|
|
tmp8 = tmp30;
|
|
tmp9 = tmp31;
|
|
tmp10 = tmp32;
|
|
tmp11 = tmp33;
|
|
tmp12 = tmp34;
|
|
if (num2 >= bound) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
tmp23 = (-arg7 + num) * width2 - arg6 + num2 << 2;
|
|
tmp24 = num * width + num2 << 2;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
let obj = {
|
|
nextZero(arr3, sum2) {
|
|
let tmp4;
|
|
let tmp = sum2;
|
|
let tmp2 = sum2;
|
|
if (0 != arr3[sum2]) {
|
|
do {
|
|
let sum = tmp + 1;
|
|
tmp = sum;
|
|
tmp2 = sum;
|
|
tmp4 = arr3[sum];
|
|
} while (0 != tmp4);
|
|
}
|
|
return tmp2;
|
|
},
|
|
readUshort(arr3, sum2) {
|
|
return arr3[sum2] << 8 | arr3[sum2 + 1];
|
|
},
|
|
writeUshort(uint8Array, sum40, arg2) {
|
|
uint8Array[sum40] = arg2 >> 8 & 255;
|
|
uint8Array[sum40 + 1] = 255 & arg2;
|
|
},
|
|
readUint(arr3, sum2) {
|
|
return 16777216 * arr3[sum2] + (arr3[sum2 + 1] << 16 | arr3[sum2 + 2] << 8 | arr3[sum2 + 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(arr3, sum2, sum) {
|
|
let num = 0;
|
|
let str = "";
|
|
let str2 = "";
|
|
if (0 < sum) {
|
|
do {
|
|
let _String = String;
|
|
str = `${String.fromCharCode(arr3[sum2 + num])}`;
|
|
num = num + 1;
|
|
str2 = str;
|
|
} while (num < sum);
|
|
}
|
|
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(arr3, sum2, uint) {
|
|
const items = [];
|
|
for (let num = 0; num < uint; num = num + 1) {
|
|
let arr = items.push(arr3[sum2 + num]);
|
|
}
|
|
return items;
|
|
},
|
|
pad(arg0) {
|
|
let text = arg0;
|
|
if (arg0.length < 2) {
|
|
text = `0${arg0}`;
|
|
}
|
|
return text;
|
|
},
|
|
readUTF8(arr3, sum, length) {
|
|
let str = "";
|
|
let num = 0;
|
|
if (0 < length) {
|
|
do {
|
|
let tmp = str;
|
|
let tmp2 = obj;
|
|
let tmp4 = arr3;
|
|
let tmp5 = sum;
|
|
let str2 = arr3[sum + num];
|
|
str = `${"%" + tmp3(str2.toString(16))}`;
|
|
num = num + 1;
|
|
let tmp6 = length;
|
|
} while (num < length);
|
|
}
|
|
return decodeURIComponent(str);
|
|
}
|
|
};
|
|
let closure_1 = (() => {
|
|
function C(arg0, arg1) {
|
|
const v = obj.v;
|
|
for (let num = 0; num <= arg1; num = num + 1) {
|
|
v[num] = 0;
|
|
}
|
|
for (let num2 = 1; num2 < length; num2 = num2 + 2) {
|
|
let tmp = arg0[num2];
|
|
v[tmp] = v[tmp] + 1;
|
|
}
|
|
const m = obj.m;
|
|
v[0] = 0;
|
|
let num3 = 0;
|
|
for (let num4 = 1; num4 <= arg1; num4 = num4 + 1) {
|
|
num3 = num3 + v[num4 - 1] << 1;
|
|
m[num4] = num3;
|
|
}
|
|
for (let num5 = 0; num5 < length; num5 = num5 + 2) {
|
|
let tmp2 = arg0[num5 + 1];
|
|
if (0 != tmp2) {
|
|
arg0[num5] = m[tmp2];
|
|
m[tmp2] = m[tmp2] + 1;
|
|
}
|
|
}
|
|
}
|
|
function t(arg0, arg1, arg2) {
|
|
for (let num = 0; num < length; num = num + 2) {
|
|
let sum = num + 1;
|
|
if (0 != arg0[sum]) {
|
|
let tmp3 = arg0[sum];
|
|
let tmp4 = num >> 1 << 4 | tmp3;
|
|
let diff = arg1 - tmp3;
|
|
let tmp6 = arg0[num] << diff;
|
|
let sum1 = tmp6 + (1 << diff);
|
|
let sum2 = tmp6;
|
|
let tmp9 = tmp4;
|
|
let tmp10 = tmp6;
|
|
let tmp11 = sum1;
|
|
if (tmp6 != sum1) {
|
|
do {
|
|
arg2[tmp[sum2] >>> 15 - arg1] = tmp4;
|
|
sum2 = sum2 + 1;
|
|
let tmp12 = tmp4;
|
|
let tmp13 = sum1;
|
|
let tmp14 = sum2;
|
|
} while (sum2 != sum1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function g(arg0, arg1) {
|
|
let length;
|
|
let num = 0;
|
|
if (0 < arg0.length) {
|
|
do {
|
|
arg0[num] = tmp[arg0[num] << arg1 - arg0[num + 1]] >>> tmp2;
|
|
num = num + 2;
|
|
length = arg0.length;
|
|
} while (num < length);
|
|
}
|
|
}
|
|
function F(arg0, arg1, arg2) {
|
|
return (arg0[arg1 >>> 3] | arg0[1 + (arg1 >>> 3)] << 8) >>> (7 & arg1) & (1 << arg2) - 1;
|
|
}
|
|
function s(arg0, arg1, arg2) {
|
|
return (arg0[arg1 >>> 3] | arg0[1 + (arg1 >>> 3)] << 8 | arg0[2 + (arg1 >>> 3)] << 16) >>> (7 & arg1) & (1 << arg2) - 1;
|
|
}
|
|
function w(arg0, arg1) {
|
|
return (arg0[arg1 >>> 3] | arg0[1 + (arg1 >>> 3)] << 8 | arg0[2 + (arg1 >>> 3)] << 16) >>> (7 & arg1);
|
|
}
|
|
function H(arg0, arg1) {
|
|
if (arg1 <= arg0.length) {
|
|
return arg0;
|
|
} else {
|
|
const _Uint8Array = Uint8Array;
|
|
const _Math = Math;
|
|
const uint8Array = new Uint8Array(Math.max(length << 1, arg1));
|
|
const result = uint8Array.set(arg0, 0);
|
|
return uint8Array;
|
|
}
|
|
}
|
|
function B(arg0, arg1, arg2, arg3, arg4, arg5) {
|
|
let sum1;
|
|
let tmp = arg4;
|
|
let num = 0;
|
|
let tmp5 = arg4;
|
|
if (0 < arg2) {
|
|
do {
|
|
let tmp6 = w;
|
|
let tmp7 = arg0[w(undefined, arg3, tmp) & arg1];
|
|
let sum = tmp + (15 & tmp7);
|
|
let tmp9 = tmp7 >>> 4;
|
|
if (tmp9 <= 15) {
|
|
arg5[num] = tmp9;
|
|
sum1 = num + 1;
|
|
let tmp16 = sum;
|
|
let tmp17 = tmp2;
|
|
let tmp18 = tmp3;
|
|
let tmp19 = tmp4;
|
|
} else {
|
|
if (16 === tmp9) {
|
|
let tmp13 = F;
|
|
let num3 = 3 + F(arg3, sum, 2);
|
|
let sum2 = sum + 2;
|
|
let num2 = arg5[num - 1];
|
|
} else if (17 === tmp9) {
|
|
let tmp12 = F;
|
|
num3 = 3 + F(arg3, sum, 3);
|
|
sum2 = sum + 3;
|
|
num2 = 0;
|
|
} else {
|
|
sum2 = sum;
|
|
num2 = 0;
|
|
num3 = 0;
|
|
if (18 === tmp9) {
|
|
let tmp11 = F;
|
|
num3 = 11 + F(arg3, sum, 7);
|
|
sum2 = sum + 7;
|
|
num2 = 0;
|
|
}
|
|
}
|
|
let sum3 = num + num3;
|
|
let sum4 = num;
|
|
tmp16 = sum2;
|
|
tmp17 = num2;
|
|
tmp18 = num3;
|
|
tmp19 = sum3;
|
|
sum1 = num;
|
|
if (num < sum3) {
|
|
do {
|
|
arg5[sum4] = num2;
|
|
sum4 = sum4 + 1;
|
|
tmp16 = sum2;
|
|
tmp17 = num2;
|
|
tmp18 = num3;
|
|
sum1 = sum4;
|
|
tmp19 = sum3;
|
|
} while (sum4 < sum3);
|
|
}
|
|
}
|
|
tmp = tmp16;
|
|
num = sum1;
|
|
tmp2 = tmp17;
|
|
tmp3 = tmp18;
|
|
tmp4 = tmp19;
|
|
tmp5 = tmp16;
|
|
} while (sum1 < arg2);
|
|
}
|
|
return tmp5;
|
|
}
|
|
function d(arg0, arg1, arg2, arg3) {
|
|
let num = 0;
|
|
let num2 = 0;
|
|
let num3 = 0;
|
|
let num4 = 0;
|
|
if (0 < arg2) {
|
|
do {
|
|
let tmp2 = arg0[num2 + arg1];
|
|
arg3[num2 << 1] = 0;
|
|
arg3[1 + (num2 << 1)] = tmp2;
|
|
if (tmp2 > num) {
|
|
num = tmp2;
|
|
}
|
|
num2 = num2 + 1;
|
|
num3 = num;
|
|
num4 = num2;
|
|
} while (num2 < arg2);
|
|
}
|
|
if (num4 < arg3.length >>> 1) {
|
|
do {
|
|
arg3[num4 << 1] = 0;
|
|
arg3[1 + (num4 << 1)] = 0;
|
|
num4 = num4 + 1;
|
|
} while (num4 < tmp);
|
|
}
|
|
return num3;
|
|
}
|
|
let obj = {};
|
|
const uint16Array = new Uint16Array(16);
|
|
obj.m = uint16Array;
|
|
const uint16Array1 = new Uint16Array(16);
|
|
obj.v = uint16Array1;
|
|
obj.d = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
|
|
obj.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];
|
|
obj.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];
|
|
const uint16Array2 = new Uint16Array(32);
|
|
obj.B = uint16Array2;
|
|
obj.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];
|
|
obj.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];
|
|
const uint32Array = new Uint32Array(32);
|
|
obj.h = uint32Array;
|
|
const uint16Array3 = new Uint16Array(512);
|
|
obj.g = uint16Array3;
|
|
obj.s = [];
|
|
const uint16Array4 = new Uint16Array(32);
|
|
obj.A = uint16Array4;
|
|
obj.t = [];
|
|
const uint16Array5 = new Uint16Array(32768);
|
|
obj.k = uint16Array5;
|
|
obj.c = [];
|
|
obj.a = [];
|
|
const uint16Array6 = new Uint16Array(32768);
|
|
obj.n = uint16Array6;
|
|
obj.e = [];
|
|
const uint16Array7 = new Uint16Array(512);
|
|
obj.C = uint16Array7;
|
|
obj.b = [];
|
|
const uint16Array8 = new Uint16Array(32768);
|
|
obj.i = uint16Array8;
|
|
const uint32Array1 = new Uint32Array(286);
|
|
obj.r = uint32Array1;
|
|
const uint32Array2 = new Uint32Array(30);
|
|
obj.f = uint32Array2;
|
|
const uint32Array3 = new Uint32Array(19);
|
|
obj.l = uint32Array3;
|
|
const uint32Array4 = new Uint32Array(15000);
|
|
obj.u = uint32Array4;
|
|
const uint16Array9 = new Uint16Array(65536);
|
|
obj.q = uint16Array9;
|
|
const uint16Array10 = new Uint16Array(32768);
|
|
obj.j = uint16Array10;
|
|
(() => {
|
|
let num2;
|
|
class A {
|
|
constructor(arg0, arg1, arg2) {
|
|
tmp = +arg1;
|
|
diff = tmp - 1;
|
|
if (0 != tmp) {
|
|
do {
|
|
arr = arg0.push(0, arg2);
|
|
tmp4 = +diff;
|
|
diff = tmp4 - 1;
|
|
} while (0 != tmp4);
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
let num = 0;
|
|
do {
|
|
let tmp = (2863311530 & num) >>> 1 | (1431655765 & num) << 1;
|
|
let tmp2 = (3435973836 & tmp) >>> 2 | (858993459 & tmp) << 2;
|
|
let tmp3 = (4042322160 & tmp2) >>> 4 | (252645135 & tmp2) << 4;
|
|
let tmp4 = (4278255360 & tmp3) >>> 8 | (16711935 & tmp3) << 8;
|
|
let tmp5 = obj;
|
|
obj.i[num] = (tmp4 >>> 16 | tmp4 << 16) >>> 17;
|
|
num = num + 1;
|
|
num2 = 0;
|
|
} while (num < 32768);
|
|
do {
|
|
let tmp6 = obj;
|
|
let tmp7 = obj;
|
|
let tmp8 = obj;
|
|
obj.B[num2] = obj.o[num2] << 3 | obj.z[num2];
|
|
let tmp9 = obj;
|
|
let tmp10 = obj;
|
|
let tmp11 = obj;
|
|
obj.h[num2] = obj.p[num2] << 4 | obj.w[num2];
|
|
num2 = num2 + 1;
|
|
} while (num2 < 32);
|
|
A(obj.s, 144, 8);
|
|
A(obj.s, 112, 9);
|
|
A(obj.s, 24, 7);
|
|
A(obj.s, 8, 8);
|
|
C(obj.s, 9);
|
|
t(obj.s, 9, obj.g);
|
|
g(obj.s, 9);
|
|
A(obj.t, 32, 5);
|
|
C(obj.t, 5);
|
|
t(obj.t, 5, obj.A);
|
|
g(obj.t, 5);
|
|
A(obj.b, 19, 0);
|
|
A(obj.c, 286, 0);
|
|
A(obj.e, 30, 0);
|
|
A(obj.a, 320, 0);
|
|
})();
|
|
return function v(buffer) {
|
|
let arr;
|
|
let sum5;
|
|
let tmp14;
|
|
let _Uint8Array = arg1;
|
|
_Uint8Array = Uint8Array;
|
|
if (3 == buffer[0]) {
|
|
if (0 == buffer[1]) {
|
|
if (!_Uint8Array) {
|
|
const prototype3 = _Uint8Array.prototype;
|
|
_Uint8Array = new.target;
|
|
_Uint8Array = new.target;
|
|
_Uint8Array = new _Uint8Array(0);
|
|
}
|
|
return _Uint8Array;
|
|
}
|
|
}
|
|
let _Uint8Array1 = _Uint8Array;
|
|
if (null == _Uint8Array) {
|
|
const prototype = _Uint8Array.prototype;
|
|
_Uint8Array1 = new _Uint8Array(buffer.length >>> 2 << 3);
|
|
}
|
|
let num3 = 0;
|
|
let num4 = 0;
|
|
let num5 = 0;
|
|
let num6 = 0;
|
|
let num7 = 0;
|
|
let num8 = 0;
|
|
let num9 = 0;
|
|
do {
|
|
let tmp13 = s;
|
|
tmp14 = s(buffer, num9, 1);
|
|
let tmp15 = s(buffer, num9 + 1, 2);
|
|
let sum = num9 + 3;
|
|
if (0 !== tmp15) {
|
|
let tmp41 = _Uint8Array1;
|
|
if (tmp2) {
|
|
let tmp42 = H;
|
|
tmp41 = H(_Uint8Array1, num8 + 131072);
|
|
}
|
|
if (1 === tmp15) {
|
|
let tmp43 = obj;
|
|
let g = obj.g;
|
|
let tmp44 = obj;
|
|
let A = obj.A;
|
|
num6 = 511;
|
|
num7 = 31;
|
|
}
|
|
let tmp45 = tmp41;
|
|
let sum2 = num8;
|
|
let tmp47 = sum;
|
|
let tmp48 = tmp8;
|
|
let tmp49 = tmp9;
|
|
let tmp50 = tmp10;
|
|
if (2 === tmp15) {
|
|
_Uint8Array = F;
|
|
_Uint8Array = F(buffer, sum, 5) + 257;
|
|
_Uint8Array = F(buffer, sum + 5, 5) + 1;
|
|
_Uint8Array = F(buffer, sum + 10, 4) + 4;
|
|
_Uint8Array = sum + 14;
|
|
let num10 = 0;
|
|
do {
|
|
let tmp51 = obj;
|
|
obj.b[num10] = 0;
|
|
let tmp52 = obj;
|
|
obj.b[num10 + 1] = 0;
|
|
num10 = num10 + 2;
|
|
} while (num10 < 38);
|
|
let num11 = 1;
|
|
let num12 = 0;
|
|
let num13 = 1;
|
|
let num14 = 0;
|
|
if (0 < _Uint8Array) {
|
|
do {
|
|
let tmp53 = F;
|
|
let tmp54 = F(buffer, _Uint8Array + 3 * num12, 3);
|
|
let tmp55 = obj;
|
|
let tmp56 = obj;
|
|
obj.b[1 + (obj.d[num12] << 1)] = tmp54;
|
|
if (tmp54 > num11) {
|
|
num11 = tmp54;
|
|
}
|
|
num12 = num12 + 1;
|
|
num13 = num11;
|
|
tmp8 = tmp54;
|
|
num14 = num12;
|
|
} while (num12 < _Uint8Array);
|
|
}
|
|
let tmp57 = C;
|
|
let tmp58 = obj;
|
|
let tmp59 = C(obj.b, num13);
|
|
let tmp60 = t;
|
|
let tmp61 = obj;
|
|
let tmp62 = obj;
|
|
let tmp63 = t(obj.b, num13, obj.C);
|
|
let tmp64 = obj;
|
|
let k = obj.k;
|
|
let tmp65 = obj;
|
|
let n = obj.n;
|
|
let tmp66 = B;
|
|
let tmp67 = obj;
|
|
let tmp68 = obj;
|
|
let tmp69 = buffer;
|
|
tmp47 = B(obj.C, (1 << num13) - 1, _Uint8Array + _Uint8Array, buffer, _Uint8Array + 3 * _Uint8Array, obj.a);
|
|
let tmp70 = d;
|
|
let tmp71 = obj;
|
|
let tmp72 = obj;
|
|
let num15 = 0;
|
|
let tmp73 = _Uint8Array;
|
|
let tmp74 = d(obj.a, 0, _Uint8Array, obj.c);
|
|
num6 = (1 << tmp74) - 1;
|
|
let tmp75 = obj;
|
|
let tmp76 = obj;
|
|
let tmp77 = _Uint8Array;
|
|
let tmp78 = _Uint8Array;
|
|
let tmp79 = d(obj.a, _Uint8Array, _Uint8Array, obj.e);
|
|
num7 = (1 << tmp79) - 1;
|
|
let tmp80 = obj;
|
|
let tmp81 = C(obj.c, tmp74);
|
|
let tmp82 = obj;
|
|
let tmp83 = t(obj.c, tmp74, k);
|
|
let tmp84 = obj;
|
|
let tmp85 = C(obj.e, tmp79);
|
|
let tmp86 = obj;
|
|
let tmp87 = t(obj.e, tmp79, n);
|
|
let tmp6 = num13;
|
|
let tmp7 = num14;
|
|
tmp48 = tmp8;
|
|
tmp45 = tmp41;
|
|
g = k;
|
|
A = n;
|
|
num3 = _Uint8Array;
|
|
num4 = _Uint8Array;
|
|
num5 = _Uint8Array;
|
|
sum2 = num8;
|
|
tmp49 = tmp9;
|
|
tmp50 = tmp10;
|
|
}
|
|
while (true) {
|
|
let tmp88 = w;
|
|
let tmp89 = g[w(undefined, buffer, tmp47) & num6];
|
|
let sum1 = tmp47 + (15 & tmp89);
|
|
let tmp91 = tmp89 >>> 4;
|
|
let tmp92 = tmp45;
|
|
_Uint8Array = sum2;
|
|
_Uint8Array = tmp49;
|
|
_Uint8Array = tmp50;
|
|
if (tmp91 >>> 8 === 0) {
|
|
_Uint8Array = +sum2;
|
|
sum2 = _Uint8Array + 1;
|
|
tmp45[_Uint8Array] = tmp91;
|
|
tmp47 = sum1;
|
|
continue;
|
|
} else {
|
|
arr = tmp45;
|
|
let tmp28 = g;
|
|
let tmp29 = A;
|
|
let tmp30 = num3;
|
|
let tmp31 = num4;
|
|
let tmp32 = num5;
|
|
let tmp33 = num6;
|
|
let tmp34 = num7;
|
|
sum5 = sum2;
|
|
num9 = sum1;
|
|
let tmp35 = tmp6;
|
|
let tmp36 = tmp7;
|
|
let tmp37 = tmp48;
|
|
let tmp38 = tmp49;
|
|
let tmp39 = tmp50;
|
|
let sum4 = tmp11;
|
|
let tmp40 = tmp12;
|
|
_Uint8Array = tmp91;
|
|
if (256 === tmp91) {
|
|
break;
|
|
} else {
|
|
_Uint8Array = sum2 + tmp91 - 254;
|
|
_Uint8Array = sum1;
|
|
if (tmp91 > 264) {
|
|
_Uint8Array = obj;
|
|
_Uint8Array = obj.B[tmp91 - 257];
|
|
_Uint8Array = F;
|
|
_Uint8Array = sum2 + (_Uint8Array >>> 3);
|
|
_Uint8Array = _Uint8Array + F(buffer, sum1, 7 & _Uint8Array);
|
|
_Uint8Array = sum1 + (7 & _Uint8Array);
|
|
}
|
|
_Uint8Array = w;
|
|
_Uint8Array = A[w(undefined, buffer, _Uint8Array) & num7];
|
|
_Uint8Array = _Uint8Array + (15 & _Uint8Array);
|
|
_Uint8Array = obj;
|
|
_Uint8Array = obj.h[_Uint8Array >>> 4];
|
|
_Uint8Array = s;
|
|
_Uint8Array = _Uint8Array >>> 4;
|
|
_Uint8Array = _Uint8Array + s(buffer, _Uint8Array, 15 & _Uint8Array);
|
|
_Uint8Array = _Uint8Array + (15 & _Uint8Array);
|
|
_Uint8Array = tmp45;
|
|
if (tmp2) {
|
|
_Uint8Array = H;
|
|
_Uint8Array = H(tmp45, sum2 + 131072);
|
|
}
|
|
tmp45 = _Uint8Array;
|
|
sum2 = _Uint8Array;
|
|
tmp47 = _Uint8Array;
|
|
tmp49 = _Uint8Array;
|
|
tmp50 = _Uint8Array;
|
|
if (_Uint8Array >= _Uint8Array) {
|
|
continue;
|
|
} else {
|
|
do {
|
|
_Uint8Array = +_Uint8Array;
|
|
_Uint8Array = _Uint8Array + 1;
|
|
_Uint8Array[_Uint8Array] = _Uint8Array[_Uint8Array - _Uint8Array];
|
|
_Uint8Array = +_Uint8Array;
|
|
_Uint8Array = _Uint8Array + 1;
|
|
_Uint8Array[_Uint8Array] = _Uint8Array[_Uint8Array - _Uint8Array];
|
|
_Uint8Array = +_Uint8Array;
|
|
_Uint8Array = _Uint8Array + 1;
|
|
_Uint8Array[_Uint8Array] = _Uint8Array[_Uint8Array - _Uint8Array];
|
|
_Uint8Array = +_Uint8Array;
|
|
_Uint8Array = _Uint8Array + 1;
|
|
_Uint8Array[_Uint8Array] = _Uint8Array[_Uint8Array - _Uint8Array];
|
|
tmp45 = _Uint8Array;
|
|
g = tmp93;
|
|
A = tmp94;
|
|
num3 = tmp95;
|
|
num4 = tmp96;
|
|
num5 = tmp97;
|
|
num6 = tmp98;
|
|
num7 = tmp99;
|
|
sum2 = _Uint8Array;
|
|
tmp47 = _Uint8Array;
|
|
tmp6 = _Uint8Array;
|
|
tmp7 = _Uint8Array;
|
|
tmp48 = _Uint8Array;
|
|
tmp50 = _Uint8Array;
|
|
tmp49 = _Uint8Array;
|
|
} while (_Uint8Array < _Uint8Array);
|
|
continue;
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
_Uint8Array = 7 & sum;
|
|
let sum3 = sum;
|
|
if (_Uint8Array) {
|
|
sum3 = sum + (8 - _Uint8Array);
|
|
}
|
|
sum4 = 4 + (sum3 >>> 3);
|
|
let tmp19 = buffer[sum4 - 4] | buffer[sum4 - 3] << 8;
|
|
obj = _Uint8Array1;
|
|
if (tmp2) {
|
|
let tmp20 = H;
|
|
obj = H(_Uint8Array1, num8 + tmp19);
|
|
}
|
|
let prototype2 = _Uint8Array.prototype;
|
|
let tmp21 = new.target;
|
|
let tmp22 = new.target;
|
|
let tmp23 = tmp19;
|
|
let _Uint8Array2 = new _Uint8Array(buffer.buffer, buffer.byteOffset + sum4, tmp19);
|
|
let tmp25 = _Uint8Array2;
|
|
let result = obj.set(_Uint8Array2, num8);
|
|
num9 = sum4 + tmp19 << 3;
|
|
sum5 = num8 + tmp19;
|
|
arr = obj;
|
|
tmp28 = g;
|
|
tmp29 = A;
|
|
tmp30 = num3;
|
|
tmp31 = num4;
|
|
tmp32 = num5;
|
|
tmp33 = num6;
|
|
tmp34 = num7;
|
|
tmp35 = tmp6;
|
|
tmp36 = tmp7;
|
|
tmp37 = tmp8;
|
|
tmp38 = tmp9;
|
|
tmp39 = tmp10;
|
|
tmp40 = tmp19;
|
|
}
|
|
g = tmp28;
|
|
A = tmp29;
|
|
num3 = tmp30;
|
|
num4 = tmp31;
|
|
num5 = tmp32;
|
|
num6 = tmp33;
|
|
num7 = tmp34;
|
|
tmp6 = tmp35;
|
|
tmp7 = tmp36;
|
|
tmp8 = tmp37;
|
|
tmp9 = tmp38;
|
|
tmp10 = tmp39;
|
|
tmp11 = sum4;
|
|
tmp12 = tmp40;
|
|
_Uint8Array1 = arr;
|
|
num8 = sum5;
|
|
} while (0 === tmp14);
|
|
_Uint8Array = arr;
|
|
if (arr.length != sum5) {
|
|
_Uint8Array = arr.slice(0, sum5);
|
|
}
|
|
return _Uint8Array;
|
|
};
|
|
})();
|
|
obj = {
|
|
decode(arg0) {
|
|
let obj;
|
|
let readUint;
|
|
let readUshort;
|
|
const uint8Array = new Uint8Array(arg0);
|
|
let sum = uint8Array;
|
|
const arr3 = uint8Array;
|
|
let num = 8;
|
|
({ readUshort, readUint } = obj);
|
|
const size = { tabs: {}, frames: [] };
|
|
const uint8Array1 = new Uint8Array(uint8Array.length);
|
|
let num2 = 0;
|
|
while (arr3[num2] == [137, 80, 78, 71, 13, 10, 26, 10][num2]) {
|
|
sum = num2 + 1;
|
|
num2 = sum;
|
|
if (sum < 8) {
|
|
continue;
|
|
} else {
|
|
let tmp6 = num;
|
|
let tmp7 = sum;
|
|
let num3 = 4;
|
|
let num4 = 1;
|
|
let num5 = 2;
|
|
let tmp8 = null;
|
|
let num6 = 1000;
|
|
let num7 = 24;
|
|
let num8 = 25;
|
|
let num9 = 12;
|
|
let num10 = 16;
|
|
let num11 = 22;
|
|
let num12 = 20;
|
|
let num13 = 100;
|
|
let str = "tEXt";
|
|
let num14 = 3;
|
|
let num15 = 100000;
|
|
let num16 = 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 num17 = 0;
|
|
let num18 = 0;
|
|
let num19 = 0;
|
|
if (num < arr3.length) {
|
|
while (true) {
|
|
let tmp15 = tmp2;
|
|
let tmp16 = sum;
|
|
let tmp17 = num;
|
|
let uint = obj.readUint(arr3, num);
|
|
let sum1 = num + 4;
|
|
let tmp20 = sum1;
|
|
let aSCII = obj.readASCII(arr3, sum1, 4);
|
|
let tmp22 = aSCII;
|
|
let sum2 = sum1 + 4;
|
|
if ("IHDR" == aSCII) {
|
|
sum = _IHDR;
|
|
sum = sum2;
|
|
sum = size;
|
|
sum = _IHDR(arr3, sum2, tmp3);
|
|
let uint8Array2 = arr4;
|
|
let sum3 = num17;
|
|
let sum4 = num18;
|
|
let num20 = sum;
|
|
let tmp28 = tmp9;
|
|
let tmp29 = tmp10;
|
|
let tmp30 = tmp11;
|
|
let tmp31 = tmp12;
|
|
let tmp32 = tmp13;
|
|
let tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("iCCP" == tmp22) {
|
|
sum = sum2;
|
|
sum = sum2;
|
|
if (0 != arr3[sum2]) {
|
|
do {
|
|
sum = sum + 1;
|
|
sum = arr3[sum];
|
|
} while (0 != sum);
|
|
}
|
|
sum = tmp2;
|
|
sum = sum2;
|
|
sum = obj.readASCII(arr3, sum2, sum - sum2);
|
|
sum = arr3[sum + 1];
|
|
sum = uint;
|
|
sum = arr3.slice(sum + 2, sum2 + uint);
|
|
sum = null;
|
|
sum = _inflate;
|
|
sum = _inflate(sum);
|
|
sum = size;
|
|
sum = aSCII;
|
|
tmp3.tabs[tmp22] = sum;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("CgBI" == tmp22) {
|
|
sum = size;
|
|
sum = aSCII;
|
|
sum = sum2;
|
|
tmp3.tabs[tmp22] = arr3.slice(sum2, sum2 + 4);
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("IDAT" == tmp22) {
|
|
sum = uint;
|
|
let num27 = 0;
|
|
let num28 = 0;
|
|
if (0 < uint) {
|
|
do {
|
|
sum = sum2;
|
|
uint8Array1[num17 + num27] = arr3[sum2 + num27];
|
|
num27 = num27 + 1;
|
|
sum = uint;
|
|
num28 = num27;
|
|
} while (num27 < uint);
|
|
}
|
|
sum = uint;
|
|
sum3 = num17 + uint;
|
|
num20 = num28;
|
|
uint8Array2 = arr4;
|
|
sum4 = num18;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("acTL" == tmp22) {
|
|
sum = size;
|
|
sum = aSCII;
|
|
obj = {};
|
|
sum = sum2;
|
|
obj.num_frames = readUint(arr3, sum2);
|
|
obj.num_plays = readUint(arr3, sum2 + 4);
|
|
tmp3.tabs[tmp22] = obj;
|
|
let _Uint8Array = Uint8Array;
|
|
sum = new.target;
|
|
sum = new.target;
|
|
uint8Array2 = new Uint8Array(arr3.length);
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("fcTL" == tmp22) {
|
|
let num25 = num18;
|
|
if (0 != num18) {
|
|
sum = size;
|
|
sum = tmp3.frames[tmp3.frames.length - 1];
|
|
sum = _decompress;
|
|
sum = tmp3;
|
|
sum.data = _decompress(size, arr4.slice(0, num18), sum.rect.width, sum.rect.height);
|
|
num25 = 0;
|
|
}
|
|
obj = {};
|
|
sum = sum2;
|
|
obj.x = readUint(arr3, sum2 + 12);
|
|
obj.y = readUint(arr3, sum2 + 16);
|
|
obj.width = readUint(arr3, sum2 + 4);
|
|
obj.height = readUint(arr3, sum2 + 8);
|
|
sum = readUshort(arr3, sum2 + 22);
|
|
let obj1 = { rect: obj };
|
|
let num26 = 100;
|
|
sum = readUshort(arr3, sum2 + 20);
|
|
if (0 != sum) {
|
|
num26 = sum;
|
|
}
|
|
sum = sum / num26;
|
|
obj1.delay = 1000 * sum;
|
|
sum = sum2;
|
|
obj1.dispose = arr3[sum2 + 24];
|
|
obj1.blend = arr3[sum2 + 25];
|
|
sum = size;
|
|
let frames = tmp3.frames;
|
|
sum = frames.push(obj1);
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num25;
|
|
num20 = sum;
|
|
tmp28 = sum;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("fdAT" == tmp22) {
|
|
sum = uint;
|
|
let num23 = 0;
|
|
let num24 = 0;
|
|
if (0 < uint - 4) {
|
|
do {
|
|
sum = sum2;
|
|
arr4[num18 + num23] = arr3[sum2 + num23 + 4];
|
|
num23 = num23 + 1;
|
|
sum = uint;
|
|
num24 = num23;
|
|
sum = uint - 4;
|
|
} while (num23 < sum);
|
|
}
|
|
sum = uint;
|
|
sum4 = num18 + (uint - 4);
|
|
num20 = num24;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("pHYs" == tmp22) {
|
|
sum = size;
|
|
sum = aSCII;
|
|
sum = tmp2;
|
|
sum = sum2;
|
|
let items = [obj.readUint(arr3, sum2), obj.readUint(arr3, sum2 + 4), arr3[sum2 + 8]];
|
|
tmp3.tabs[tmp22] = items;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("cHRM" == tmp22) {
|
|
sum = size;
|
|
sum = aSCII;
|
|
tmp3.tabs[tmp22] = [];
|
|
let num22 = 0;
|
|
do {
|
|
sum = size;
|
|
sum = aSCII;
|
|
let arr11 = tmp3.tabs[tmp22];
|
|
sum = tmp2;
|
|
sum = sum2;
|
|
sum = arr11.push(obj.readUint(arr3, sum2 + 4 * num22));
|
|
num22 = num22 + 1;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
num20 = num22;
|
|
} while (num22 < 8);
|
|
} else {
|
|
sum = aSCII;
|
|
if ("tEXt" != tmp22) {
|
|
sum = aSCII;
|
|
if ("zTXt" != tmp22) {
|
|
sum = aSCII;
|
|
if ("iTXt" == tmp22) {
|
|
let tmp79 = size;
|
|
let tmp80 = aSCII;
|
|
if (null == tmp3.tabs[tmp22]) {
|
|
let tmp81 = size;
|
|
let tmp82 = aSCII;
|
|
tmp3.tabs[tmp22] = {};
|
|
}
|
|
let tmp83 = sum2;
|
|
let tmp84 = sum2;
|
|
let tmp85 = tmp2;
|
|
let tmp86 = sum;
|
|
let nextZeroResult = obj.nextZero(arr3, sum2);
|
|
let aSCII1 = obj.readASCII(arr3, sum2, nextZeroResult - sum2);
|
|
let sum5 = nextZeroResult + 1;
|
|
let tmp90 = sum5;
|
|
let tmp91 = arr3[sum5 + 1];
|
|
let sum6 = sum5 + 2;
|
|
let tmp93 = sum6;
|
|
let nextZeroResult1 = obj.nextZero(arr3, sum6);
|
|
let aSCII2 = obj.readASCII(arr3, sum6, nextZeroResult1 - sum6);
|
|
let sum7 = nextZeroResult1 + 1;
|
|
let tmp97 = sum7;
|
|
let nextZeroResult2 = obj.nextZero(arr3, sum7);
|
|
let uTF8 = obj.readUTF8(arr3, sum7, nextZeroResult2 - sum7);
|
|
sum = uint;
|
|
sum = nextZeroResult2 + 1;
|
|
sum = uint - (sum - sum2);
|
|
if (0 == arr3[sum5]) {
|
|
sum = tmp2;
|
|
sum = obj.readUTF8(arr3, sum, sum);
|
|
} else {
|
|
sum = _inflate;
|
|
let arr9 = _inflate(arr3.slice(sum, sum + sum));
|
|
sum = tmp2;
|
|
sum = obj.readUTF8(arr9, 0, arr9.length);
|
|
}
|
|
sum = size;
|
|
sum = aSCII;
|
|
tmp3.tabs[tmp22][aSCII1] = sum;
|
|
tmp32 = sum;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = nextZeroResult2;
|
|
tmp30 = aSCII1;
|
|
tmp31 = sum;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("PLTE" == tmp22) {
|
|
let tmp73 = size;
|
|
let tmp74 = aSCII;
|
|
let tmp75 = tmp2;
|
|
let tmp76 = sum;
|
|
let tmp77 = sum2;
|
|
let tmp78 = uint;
|
|
tmp3.tabs[tmp22] = obj.readBytes(arr3, sum2, uint);
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("hIST" == tmp22) {
|
|
let tmp65 = size;
|
|
let result = tmp3.tabs.PLTE.length / 3;
|
|
let tmp67 = aSCII;
|
|
tmp3.tabs[tmp22] = [];
|
|
let num21 = 0;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = 0;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = result;
|
|
if (0 < result) {
|
|
do {
|
|
let tmp68 = size;
|
|
let tmp69 = aSCII;
|
|
let arr8 = tmp3.tabs[tmp22];
|
|
let tmp70 = sum;
|
|
let tmp71 = sum2;
|
|
let arr = arr8.push(readUshort(arr3, sum2 + 2 * num21));
|
|
num21 = num21 + 1;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = result;
|
|
num20 = num21;
|
|
} while (num21 < result);
|
|
}
|
|
} else {
|
|
sum = aSCII;
|
|
if ("tRNS" == tmp22) {
|
|
let tmp54 = size;
|
|
if (3 == tmp3.ctype) {
|
|
let tmp59 = size;
|
|
let tmp60 = aSCII;
|
|
let tmp61 = tmp2;
|
|
let tmp62 = sum;
|
|
let tmp63 = sum2;
|
|
let tmp64 = uint;
|
|
tmp3.tabs[tmp22] = obj.readBytes(arr3, sum2, uint);
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = size;
|
|
if (0 == tmp3.ctype) {
|
|
let tmp55 = size;
|
|
let tmp56 = aSCII;
|
|
let tmp57 = sum;
|
|
let tmp58 = sum2;
|
|
tmp3.tabs[tmp22] = readUshort(arr3, sum2);
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = size;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
if (2 == tmp3.ctype) {
|
|
sum = size;
|
|
sum = aSCII;
|
|
sum = sum2;
|
|
let items1 = [readUshort(arr3, sum2), readUshort(arr3, sum2 + 2), readUshort(arr3, sum2 + 4)];
|
|
tmp3.tabs[tmp22] = items1;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
sum = aSCII;
|
|
if ("gAMA" == tmp22) {
|
|
let tmp49 = size;
|
|
let tmp50 = aSCII;
|
|
let tmp51 = tmp2;
|
|
let tmp52 = sum;
|
|
let tmp53 = sum2;
|
|
tmp3.tabs[tmp22] = obj.readUint(arr3, sum2) / 100000;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("sRGB" == tmp22) {
|
|
let tmp45 = size;
|
|
let tmp46 = aSCII;
|
|
let tmp47 = sum;
|
|
let tmp48 = sum2;
|
|
tmp3.tabs[tmp22] = arr3[sum2];
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
sum = aSCII;
|
|
if ("bKGD" == tmp22) {
|
|
let tmp34 = size;
|
|
if (0 != tmp3.ctype) {
|
|
sum = size;
|
|
if (4 != tmp3.ctype) {
|
|
sum = size;
|
|
if (2 != tmp3.ctype) {
|
|
let tmp35 = size;
|
|
if (6 != tmp3.ctype) {
|
|
let tmp36 = size;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
if (3 == tmp3.ctype) {
|
|
sum = size;
|
|
sum = aSCII;
|
|
sum = sum2;
|
|
tmp3.tabs[tmp22] = arr3[sum2];
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
}
|
|
}
|
|
}
|
|
let tmp37 = size;
|
|
let tmp38 = aSCII;
|
|
let tmp39 = sum;
|
|
let tmp40 = sum2;
|
|
let items2 = [readUshort(arr3, sum2), readUshort(arr3, sum2 + 2), readUshort(arr3, sum2 + 4)];
|
|
tmp3.tabs[tmp22] = items2;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
}
|
|
}
|
|
let tmp41 = size;
|
|
let tmp42 = aSCII;
|
|
let tmp43 = sum;
|
|
let tmp44 = sum2;
|
|
let items3 = [readUshort(arr3, sum2)];
|
|
tmp3.tabs[tmp22] = items3;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
} else {
|
|
let tmp24 = aSCII;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = tmp10;
|
|
tmp30 = tmp11;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
let arr5 = arr4;
|
|
num19 = num18;
|
|
if ("IEND" == tmp22) {
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
sum = size;
|
|
sum = aSCII;
|
|
if (null == tmp3.tabs[tmp22]) {
|
|
sum = size;
|
|
sum = aSCII;
|
|
tmp3.tabs[tmp22] = {};
|
|
}
|
|
sum = tmp2;
|
|
sum = sum2;
|
|
sum = obj.nextZero(arr3, sum2);
|
|
sum = obj.readASCII(arr3, sum2, sum - sum2);
|
|
sum = uint;
|
|
sum = sum2 + uint - sum - 1;
|
|
sum = aSCII;
|
|
if ("tEXt" == tmp22) {
|
|
sum = tmp2;
|
|
sum = obj.readASCII(arr3, sum + 1, sum);
|
|
} else {
|
|
sum = _inflate;
|
|
let arr10 = _inflate(arr3.slice(sum + 2, sum + 2 + sum));
|
|
sum = tmp2;
|
|
sum = obj.readUTF8(arr10, 0, arr10.length);
|
|
}
|
|
sum = size;
|
|
sum = aSCII;
|
|
tmp3.tabs[tmp22][sum] = sum;
|
|
tmp32 = sum;
|
|
uint8Array2 = arr4;
|
|
sum3 = num17;
|
|
sum4 = num18;
|
|
num20 = sum;
|
|
tmp28 = tmp9;
|
|
tmp29 = sum;
|
|
tmp30 = sum;
|
|
tmp31 = sum;
|
|
tmp33 = tmp14;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
sum = sum2;
|
|
sum = uint;
|
|
sum = sum2 + uint;
|
|
sum = tmp2;
|
|
sum = obj.readUint(arr3, sum);
|
|
sum = sum + 4;
|
|
num = sum;
|
|
arr4 = uint8Array2;
|
|
num17 = sum3;
|
|
num18 = sum4;
|
|
sum = num20;
|
|
tmp9 = tmp28;
|
|
tmp10 = tmp29;
|
|
tmp11 = tmp30;
|
|
tmp12 = tmp31;
|
|
tmp13 = tmp32;
|
|
tmp14 = tmp33;
|
|
arr5 = uint8Array2;
|
|
num19 = sum4;
|
|
if (sum >= arr3.length) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (0 != num19) {
|
|
sum = size;
|
|
sum = tmp3.frames[tmp3.frames.length - 1];
|
|
sum = _decompress;
|
|
sum = tmp3;
|
|
sum.data = _decompress(size, arr5.slice(0, num19), sum.rect.width, sum.rect.height);
|
|
}
|
|
sum = _decompress;
|
|
sum = size;
|
|
sum = uint8Array1;
|
|
size.data = _decompress(tmp3, tmp5, size.width, size.height);
|
|
delete arr.compress;
|
|
delete arr.interlace;
|
|
delete arr.filter;
|
|
return size;
|
|
}
|
|
}
|
|
throw "The input is not a PNG file!";
|
|
},
|
|
toRGBA8(img) {
|
|
let height;
|
|
let width;
|
|
({ width, height } = img);
|
|
if (null == img.tabs.acTL) {
|
|
const items = [decodeImage(img.data, width, height, img).buffer];
|
|
return items;
|
|
} else {
|
|
const items1 = [];
|
|
if (null == img.frames[0].data) {
|
|
img.frames[0].data = img.data;
|
|
}
|
|
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);
|
|
let num4 = 0;
|
|
if (0 < img.frames.length) {
|
|
do {
|
|
let tmp18 = img.frames[num4];
|
|
let x = tmp18.rect.x;
|
|
let y = tmp18.rect.y;
|
|
let width2 = tmp18.rect.width;
|
|
let height2 = tmp18.rect.height;
|
|
let tmp19 = decodeImage;
|
|
let tmp20 = width2;
|
|
let tmp21 = height2;
|
|
let tmp22 = img;
|
|
let tmp23 = decodeImage(tmp18.data, width2, height2, img);
|
|
if (0 != num4) {
|
|
let num6 = 0;
|
|
let num5 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
uint8Array2[num6] = uint8Array[num6];
|
|
num6 = num6 + 1;
|
|
num5 = num6;
|
|
} while (num6 < result);
|
|
}
|
|
}
|
|
if (0 == tmp18.blend) {
|
|
let tmp34 = _copyTile;
|
|
let tmp35 = tmp23;
|
|
let tmp36 = width2;
|
|
let tmp37 = height2;
|
|
let tmp38 = uint8Array;
|
|
let tmp39 = width;
|
|
let tmp40 = height;
|
|
let tmp41 = x;
|
|
let tmp42 = y;
|
|
let num8 = 0;
|
|
let tmp43 = _copyTile(tmp23, width2, height2, tmp7, width, height, x, y, 0);
|
|
} else if (1 == tmp18.blend) {
|
|
let tmp24 = _copyTile;
|
|
let tmp25 = tmp23;
|
|
let tmp26 = width2;
|
|
let tmp27 = height2;
|
|
let tmp28 = uint8Array;
|
|
let tmp29 = width;
|
|
let tmp30 = height;
|
|
let tmp31 = x;
|
|
let tmp32 = y;
|
|
let num7 = 1;
|
|
let tmp33 = _copyTile(tmp23, width2, height2, tmp7, width, height, x, y, 1);
|
|
}
|
|
let buffer = uint8Array.buffer;
|
|
let arr = items1.push(buffer.slice(0));
|
|
let num9 = num5;
|
|
if (0 != tmp18.dispose) {
|
|
if (1 == tmp18.dispose) {
|
|
let tmp45 = _copyTile;
|
|
let tmp46 = uint8Array1;
|
|
let tmp47 = width2;
|
|
let tmp48 = height2;
|
|
let tmp49 = uint8Array;
|
|
let tmp50 = width;
|
|
let tmp51 = height;
|
|
let tmp52 = x;
|
|
let tmp53 = y;
|
|
let num11 = 0;
|
|
let tmp54 = _copyTile(tmp12, width2, height2, tmp7, width, height, x, y, 0);
|
|
num9 = num5;
|
|
} else {
|
|
num9 = num5;
|
|
if (2 == tmp18.dispose) {
|
|
let num10 = 0;
|
|
num9 = 0;
|
|
if (0 < result) {
|
|
do {
|
|
uint8Array[num10] = uint8Array2[num10];
|
|
num10 = num10 + 1;
|
|
num9 = num10;
|
|
} while (num10 < result);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
num4 = num4 + 1;
|
|
num5 = num9;
|
|
} while (num4 < img.frames.length);
|
|
}
|
|
return items1;
|
|
}
|
|
},
|
|
_paeth,
|
|
_copyTile,
|
|
_bin: obj
|
|
};
|
|
return obj;
|
|
})();
|
|
let closure_0 = tmp;
|
|
(() => {
|
|
let closure_0;
|
|
let closure_1;
|
|
let closure_2;
|
|
function addErr(items5, arg1, arg2, arg3) {
|
|
arg1[arg2] = arg1[arg2] + (items5[0] * arg3 >> 4);
|
|
const sum = arg2 + 1;
|
|
arg1[sum] = arg1[sum] + (items5[1] * arg3 >> 4);
|
|
const sum1 = arg2 + 2;
|
|
arg1[sum1] = arg1[sum1] + (items5[2] * arg3 >> 4);
|
|
const sum2 = arg2 + 3;
|
|
arg1[sum2] = arg1[sum2] + (items5[3] * arg3 >> 4);
|
|
}
|
|
function N(arg0) {
|
|
return Math.max(0, Math.min(255, arg0));
|
|
}
|
|
function D(arg0, arg1) {
|
|
const diff = arg0[0] - arg1[0];
|
|
const diff1 = arg0[1] - arg1[1];
|
|
const diff2 = arg0[2] - arg1[2];
|
|
const diff3 = arg0[3] - arg1[3];
|
|
return diff * diff + diff1 * diff1 + diff2 * diff2 + diff3 * diff3;
|
|
}
|
|
function dither(img, width, height, items1, 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 = items1[num2];
|
|
items1 = [tmp >>> 0 & 255, tmp >>> 8 & 255, tmp >>> 16 & 255, tmp >>> 24 & 255];
|
|
let arr = items.push(items1);
|
|
}
|
|
let num3 = 0;
|
|
if (0 < items1.length) {
|
|
do {
|
|
let num4 = 4294967295;
|
|
let num5 = 0;
|
|
let num6 = 0;
|
|
let num7 = 4294967295;
|
|
let num8 = 0;
|
|
let num9 = 0;
|
|
if (0 < length) {
|
|
do {
|
|
let tmp5 = D;
|
|
let tmp6 = D(items[num3], items[num6]);
|
|
let tmp7 = num6 != num3 && tmp6 < num4;
|
|
if (tmp7) {
|
|
num4 = tmp6;
|
|
num5 = num6;
|
|
}
|
|
num6 = num6 + 1;
|
|
num7 = num4;
|
|
num8 = num5;
|
|
let tmp3 = tmp6;
|
|
num9 = num6;
|
|
} while (num6 < length);
|
|
}
|
|
let _Math = Math;
|
|
let result = Math.sqrt(num7) / 2;
|
|
[][num3] = ~~result * result;
|
|
num3 = num3 + 1;
|
|
let tmp9 = num8;
|
|
let tmp10 = num9;
|
|
let tmp4 = tmp3;
|
|
} while (num3 < length);
|
|
}
|
|
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 num10 = 0;
|
|
if (0 < items2.length) {
|
|
do {
|
|
items2[num10] = 255 * ((items2[num10] + 0.5) / 16 - 0.5);
|
|
num10 = num10 + 1;
|
|
let tmp14 = num10;
|
|
length2 = items2.length;
|
|
} while (num10 < length2);
|
|
}
|
|
for (let num11 = 0; num11 < height; num11 = num11 + 1) {
|
|
let tmp16 = tmp4;
|
|
let tmp17 = tmp15;
|
|
let num12 = 0;
|
|
if (0 < width) {
|
|
do {
|
|
let result1 = 4 * (num11 * width + num12);
|
|
if (2 != num) {
|
|
let tmp21 = N;
|
|
let items3 = [N(img[result1] + int16Array[result1]), , , ];
|
|
let sum = result1 + 1;
|
|
items3[1] = N(img[sum] + int16Array[sum]);
|
|
let sum1 = result1 + 2;
|
|
items3[2] = N(img[sum1] + int16Array[sum1]);
|
|
let sum2 = result1 + 3;
|
|
items3[3] = N(img[sum2] + int16Array[sum2]);
|
|
let tmp19 = tmp16;
|
|
let items4 = items3;
|
|
} else {
|
|
tmp19 = items2[4 * (3 & num11) + (3 & num12)];
|
|
let tmp20 = N;
|
|
items4 = [N(img[result1] + tmp19), N(img[result1 + 1] + tmp19), N(img[result1 + 2] + tmp19), N(img[result1 + 3] + tmp19)];
|
|
}
|
|
let num13 = 0;
|
|
let num14 = 0;
|
|
let num15 = 16777215;
|
|
let num16 = 0;
|
|
let num17 = 0;
|
|
let num18 = 16777215;
|
|
if (0 < length) {
|
|
do {
|
|
let tmp25 = D;
|
|
let tmp26 = D(items4, items[num14]);
|
|
if (tmp26 < num15) {
|
|
num13 = num14;
|
|
num15 = tmp26;
|
|
}
|
|
num14 = num14 + 1;
|
|
num16 = num13;
|
|
num18 = num15;
|
|
tmp17 = tmp26;
|
|
num17 = num14;
|
|
} while (num14 < length);
|
|
}
|
|
let tmp27 = items[num16];
|
|
let items5 = [items4[0] - tmp27[0], items4[1] - tmp27[1], items4[2] - tmp27[2], items4[3] - tmp27[3]];
|
|
let tmp28 = tmp17;
|
|
if (1 == num) {
|
|
if (num12 != width - 1) {
|
|
let tmp29 = addErr;
|
|
let tmp30 = items5;
|
|
let tmp31 = int16Array;
|
|
let num19 = 7;
|
|
let tmp32 = addErr(items5, tmp13, result1 + 4, 7);
|
|
}
|
|
if (num11 != height - 1) {
|
|
if (0 != num12) {
|
|
let tmp33 = addErr;
|
|
let tmp34 = items5;
|
|
let tmp35 = int16Array;
|
|
let num20 = 3;
|
|
let tmp36 = addErr(items5, tmp13, result1 + 4 * width - 4, 3);
|
|
}
|
|
let tmp37 = addErr;
|
|
let tmp38 = items5;
|
|
let tmp39 = int16Array;
|
|
let num21 = 5;
|
|
let tmp40 = addErr(items5, tmp13, result1 + 4 * width, 5);
|
|
if (num12 != width - 1) {
|
|
let tmp41 = addErr;
|
|
let tmp42 = items5;
|
|
let tmp43 = int16Array;
|
|
let num22 = 1;
|
|
let tmp44 = addErr(items5, tmp13, result1 + 4 * width + 4, 1);
|
|
}
|
|
}
|
|
}
|
|
let tmp45 = result1 >> 2;
|
|
first2[tmp45] = num16;
|
|
uint32Array[tmp45] = items1[num16];
|
|
num12 = num12 + 1;
|
|
tmp16 = tmp19;
|
|
let tmp46 = result1;
|
|
let tmp47 = num16;
|
|
let tmp48 = num17;
|
|
tmp4 = tmp19;
|
|
let tmp49 = items4;
|
|
let tmp50 = num18;
|
|
tmp15 = tmp17;
|
|
let tmp51 = items5;
|
|
} while (num12 < width);
|
|
}
|
|
}
|
|
}
|
|
function _main(frames, height, height) {
|
|
let obj = arg4;
|
|
if (null == arg4) {
|
|
obj = {};
|
|
}
|
|
crc = crc.crc;
|
|
const writeUint = closure_1.writeUint;
|
|
const writeUshort = closure_1.writeUshort;
|
|
const writeASCII = closure_1.writeASCII;
|
|
let writeUintResult16 = frames.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 flag = false;
|
|
let sum4 = sum3;
|
|
if (3 == frames.ctype) {
|
|
let flag2 = false;
|
|
let num8 = 0;
|
|
let flag3 = false;
|
|
if (0 < frames.plte.length) {
|
|
do {
|
|
if (frames.plte[num8] >>> 24 !== 255) {
|
|
flag2 = true;
|
|
}
|
|
num8 = num8 + 1;
|
|
flag3 = flag2;
|
|
} 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 tmp9 = sum4;
|
|
let num14 = 0;
|
|
let tmp10 = sum4;
|
|
if (0 < frames.frames.length) {
|
|
do {
|
|
let sum5 = tmp9;
|
|
if (writeUintResult16) {
|
|
sum5 = tmp9 + 38;
|
|
}
|
|
let sum6 = sum5 + (frames.frames[num14].cimg.length + 12);
|
|
let sum7 = sum6;
|
|
if (0 != num14) {
|
|
sum7 = sum6 + 4;
|
|
}
|
|
num14 = num14 + 1;
|
|
tmp9 = sum7;
|
|
tmp10 = sum7;
|
|
} while (num14 < frames.frames.length);
|
|
}
|
|
const uint8Array = new Uint8Array(tmp10 + 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, height);
|
|
writeUint(uint8Array, 20, height);
|
|
uint8Array[24] = frames.depth;
|
|
uint8Array[25] = frames.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, frames.frames.length);
|
|
const sum23 = sum22 + 4;
|
|
let num25 = 0;
|
|
if (null != obj.loop) {
|
|
num25 = obj.loop;
|
|
}
|
|
writeUint(uint8Array, sum23, num25);
|
|
const sum24 = sum23 + 4;
|
|
writeUint(uint8Array, sum24, crc(uint8Array, sum24 - 12, 12));
|
|
sum25 = sum24 + 4;
|
|
}
|
|
let sum32 = sum25;
|
|
if (3 == frames.ctype) {
|
|
writeUintResult16 = writeUint(uint8Array, sum25, 3 * length3);
|
|
writeUintResult16 = sum25 + 4;
|
|
writeUintResult16 = writeASCII(uint8Array, writeUintResult16, "PLTE");
|
|
writeUintResult16 = writeUintResult16 + 4;
|
|
for (let num26 = 0; num26 < length3; num26 = num26 + 1) {
|
|
let tmp56 = frames.plte[num26];
|
|
let sum26 = writeUintResult16 + 3 * num26;
|
|
uint8Array[sum26] = 255 & tmp56;
|
|
uint8Array[sum26 + 1] = tmp56 >>> 8 & 255;
|
|
uint8Array[sum26 + 2] = tmp56 >>> 16 & 255;
|
|
}
|
|
const sum27 = writeUintResult16 + 3 * length3;
|
|
writeUint(uint8Array, sum27, crc(uint8Array, sum27 - 3 * frames.plte.length - 4, 3 * frames.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 num27 = 0; num27 < length3; num27 = num27 + 1) {
|
|
uint8Array[sum30 + num27] = frames.plte[num27] >>> 24 & 255;
|
|
}
|
|
const sum31 = sum30 + length3;
|
|
writeUint(uint8Array, sum31, crc(uint8Array, sum31 - length3 - 4, length3 + 4));
|
|
sum32 = sum31 + 4;
|
|
}
|
|
}
|
|
let sum49 = sum32;
|
|
let num28 = 0;
|
|
let num29 = 0;
|
|
let tmp68 = sum32;
|
|
if (0 < frames.frames.length) {
|
|
do {
|
|
let tmp69 = frames.frames[num28];
|
|
let sum45 = sum49;
|
|
let sum35 = num29;
|
|
if (writeUintResult16) {
|
|
let writeUintResult20 = writeUint(uint8Array, sum49, 26);
|
|
let sum33 = sum49 + 4;
|
|
let writeASCIIResult7 = writeASCII(uint8Array, sum33, "fcTL");
|
|
let sum34 = sum33 + 4;
|
|
let tmp76 = +num29;
|
|
sum35 = tmp76 + 1;
|
|
let writeUintResult21 = writeUint(uint8Array, sum34, tmp76);
|
|
let sum36 = sum34 + 4;
|
|
let writeUintResult22 = writeUint(uint8Array, sum36, tmp69.rect.width);
|
|
let sum37 = sum36 + 4;
|
|
let writeUintResult23 = writeUint(uint8Array, sum37, tmp69.rect.height);
|
|
let sum38 = sum37 + 4;
|
|
let writeUintResult24 = writeUint(uint8Array, sum38, tmp69.rect.x);
|
|
let sum39 = sum38 + 4;
|
|
let writeUintResult25 = writeUint(uint8Array, sum39, tmp69.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] = tmp69.dispose;
|
|
let sum43 = sum42 + 1;
|
|
uint8Array[sum43] = tmp69.blend;
|
|
let sum44 = sum43 + 1;
|
|
let writeUintResult26 = writeUint(uint8Array, sum44, crc(uint8Array, sum44 - 30, 30));
|
|
sum45 = sum44 + 4;
|
|
}
|
|
let cimg = tmp69.cimg;
|
|
let length2 = cimg.length;
|
|
let tmp94 = 0 == num28;
|
|
let num30 = 4;
|
|
if (tmp94) {
|
|
num30 = 0;
|
|
}
|
|
let writeUintResult27 = writeUint(uint8Array, sum45, length2 + num30);
|
|
let sum46 = sum45 + 4;
|
|
let str7 = "fdAT";
|
|
if (tmp94) {
|
|
str7 = "IDAT";
|
|
}
|
|
let writeASCIIResult8 = writeASCII(uint8Array, sum46, str7);
|
|
let sum47 = sum46 + 4;
|
|
let sum48 = sum47;
|
|
num29 = sum35;
|
|
if (0 != num28) {
|
|
writeUintResult16 = +sum35;
|
|
num29 = writeUintResult16 + 1;
|
|
writeUintResult16 = writeUint(uint8Array, sum47, writeUintResult16);
|
|
sum48 = sum47 + 4;
|
|
}
|
|
writeUintResult16 = uint8Array.set(cimg, sum48);
|
|
writeUintResult16 = sum48 + length2;
|
|
writeUintResult16 = writeUint(uint8Array, writeUintResult16, crc(uint8Array, sum46, writeUintResult16 - sum46));
|
|
sum49 = writeUintResult16 + 4;
|
|
num28 = num28 + 1;
|
|
tmp68 = sum49;
|
|
} while (num28 < frames.frames.length);
|
|
}
|
|
writeUintResult16 = writeUint(uint8Array, tmp68, 0);
|
|
writeUintResult16 = tmp68 + 4;
|
|
writeUintResult16 = writeASCII(uint8Array, writeUintResult16, "IEND");
|
|
writeUintResult16 = writeUintResult16 + 4;
|
|
writeUintResult16 = writeUint(uint8Array, writeUintResult16, crc(uint8Array, writeUintResult16 - 4, 4));
|
|
return uint8Array.buffer;
|
|
}
|
|
function compressPNG(frames) {
|
|
let length;
|
|
let num = 0;
|
|
if (0 < frames.frames.length) {
|
|
do {
|
|
let tmp = frames.frames[num];
|
|
let width = tmp.rect.width;
|
|
let height = tmp.rect.height;
|
|
let _Uint8Array = Uint8Array;
|
|
let tmp2 = new.target;
|
|
let tmp3 = new.target;
|
|
let uint8Array = new Uint8Array(height * tmp.bpl + height);
|
|
let tmp5 = uint8Array;
|
|
let tmp6 = _filterZero;
|
|
let tmp7 = height;
|
|
let tmp8 = arg1;
|
|
let tmp9 = arg2;
|
|
tmp.cimg = _filterZero(tmp.img, height, tmp.bpp, tmp.bpl, uint8Array, arg1, arg2);
|
|
num = num + 1;
|
|
length = frames.frames.length;
|
|
} while (num < length);
|
|
}
|
|
}
|
|
function compress(arg0, arg1, arg2, arg3, first) {
|
|
let length2;
|
|
let length5;
|
|
let length6;
|
|
let length8;
|
|
first = first[0];
|
|
let num = 255;
|
|
let num2 = 0;
|
|
let num3 = 255;
|
|
if (0 < arg0.length) {
|
|
do {
|
|
let _Uint8Array = Uint8Array;
|
|
let tmp6 = new.target;
|
|
let tmp7 = new.target;
|
|
let uint8Array = new Uint8Array(arg0[num2]);
|
|
let tmp8 = uint8Array;
|
|
let length = uint8Array.length;
|
|
let tmp9 = num;
|
|
let num5 = 0;
|
|
let tmp10 = num;
|
|
let num6 = 0;
|
|
if (0 < length) {
|
|
do {
|
|
tmp9 = tmp9 & uint8Array[num5 + 3];
|
|
num5 = num5 + 4;
|
|
tmp10 = tmp9;
|
|
num6 = num5;
|
|
} while (num5 < length);
|
|
}
|
|
num2 = num2 + 1;
|
|
num = tmp10;
|
|
let num4 = num6;
|
|
num3 = tmp10;
|
|
} while (num2 < arg0.length);
|
|
}
|
|
const items = [];
|
|
let num7 = 0;
|
|
if (0 < arg0.length) {
|
|
do {
|
|
let _Uint8Array2 = Uint8Array;
|
|
let tmp21 = new.target;
|
|
let tmp22 = new.target;
|
|
let uint8Array1 = new Uint8Array(arg0[num7]);
|
|
let tmp23 = uint8Array1;
|
|
let _Uint32Array = Uint32Array;
|
|
let tmp24 = new.target;
|
|
let tmp25 = new.target;
|
|
let uint32Array = new Uint32Array(uint8Array1.buffer);
|
|
let tmp27 = uint32Array;
|
|
let num8 = 0;
|
|
if (first) {
|
|
num8 = 1;
|
|
}
|
|
if (0 != num7) {
|
|
if (!tmp3) {
|
|
if (!first) {
|
|
if (1 != num7) {
|
|
let num11 = 2;
|
|
}
|
|
let num12 = 0;
|
|
let num13 = 0;
|
|
let sum1 = arg1;
|
|
let sum2 = arg2;
|
|
let num14 = 0;
|
|
let num15 = 1000000000;
|
|
let num16 = 0;
|
|
let tmp42 = tmp18;
|
|
let tmp43 = tmp20;
|
|
let num17 = 0;
|
|
let num18 = 0;
|
|
let tmp44 = arg1;
|
|
let tmp45 = arg2;
|
|
let num19 = 0;
|
|
let num20 = 1000000000;
|
|
let num21 = 0;
|
|
let tmp46 = tmp18;
|
|
let tmp47 = tmp20;
|
|
if (0 < num11) {
|
|
do {
|
|
let _Uint8Array3 = Uint8Array;
|
|
let tmp48 = new.target;
|
|
let uint8Array2 = new Uint8Array(arg0[num7 - 1 - num16]);
|
|
let _Uint32Array2 = Uint32Array;
|
|
let tmp50 = new.target;
|
|
let tmp51 = new.target;
|
|
let uint32Array1 = new Uint32Array(arg0[num7 - 1 - num16]);
|
|
let tmp53 = uint32Array1;
|
|
let tmp54 = tmp43;
|
|
let tmp55 = arg1;
|
|
let tmp56 = arg2;
|
|
let num22 = -1;
|
|
let num23 = -1;
|
|
let num24 = 0;
|
|
let num25 = arg1;
|
|
let num26 = arg2;
|
|
let num27 = -1;
|
|
let num28 = -1;
|
|
let num29 = 0;
|
|
let tmp57 = tmp43;
|
|
if (0 < arg2) {
|
|
do {
|
|
let tmp58 = tmp55;
|
|
let tmp59 = tmp56;
|
|
let tmp60 = num22;
|
|
let tmp61 = num23;
|
|
let num30 = 0;
|
|
let tmp62 = tmp55;
|
|
let tmp63 = tmp56;
|
|
let tmp64 = num22;
|
|
let tmp65 = num23;
|
|
let num31 = 0;
|
|
if (0 < arg1) {
|
|
do {
|
|
let sum = num24 * arg1 + num30;
|
|
let tmp67 = tmp58;
|
|
let tmp68 = tmp59;
|
|
let tmp69 = tmp60;
|
|
let tmp70 = tmp61;
|
|
if (uint32Array[sum] != uint32Array1[sum]) {
|
|
let tmp71 = tmp58;
|
|
if (num30 < tmp58) {
|
|
tmp71 = num30;
|
|
}
|
|
let tmp72 = tmp60;
|
|
if (num30 > tmp60) {
|
|
tmp72 = num30;
|
|
}
|
|
let tmp73 = tmp59;
|
|
if (num24 < tmp59) {
|
|
tmp73 = num24;
|
|
}
|
|
let tmp74 = tmp61;
|
|
if (num24 > tmp61) {
|
|
tmp74 = num24;
|
|
}
|
|
tmp70 = tmp74;
|
|
tmp67 = tmp71;
|
|
tmp68 = tmp73;
|
|
tmp69 = tmp72;
|
|
}
|
|
num30 = num30 + 1;
|
|
tmp58 = tmp67;
|
|
tmp59 = tmp68;
|
|
tmp60 = tmp69;
|
|
tmp61 = tmp70;
|
|
tmp62 = tmp67;
|
|
tmp63 = tmp68;
|
|
tmp64 = tmp69;
|
|
tmp65 = tmp70;
|
|
tmp54 = sum;
|
|
num31 = num30;
|
|
} while (num30 < arg1);
|
|
}
|
|
num24 = num24 + 1;
|
|
tmp55 = tmp62;
|
|
tmp56 = tmp63;
|
|
num22 = tmp64;
|
|
num23 = tmp65;
|
|
tmp42 = num31;
|
|
num25 = tmp62;
|
|
num26 = tmp63;
|
|
num27 = tmp64;
|
|
num28 = tmp65;
|
|
tmp57 = tmp54;
|
|
num29 = num24;
|
|
} while (num24 < arg2);
|
|
}
|
|
let tmp75 = tmp42;
|
|
if (-1 == num27) {
|
|
num25 = 0;
|
|
num26 = 0;
|
|
num27 = 0;
|
|
num28 = 0;
|
|
}
|
|
let tmp76 = num25;
|
|
let tmp77 = num26;
|
|
if (tmp2) {
|
|
let diff = num25;
|
|
if (!(1 & ~num25)) {
|
|
diff = num25 - 1;
|
|
}
|
|
let diff1 = num26;
|
|
if (!(1 & ~num26)) {
|
|
diff1 = num26 - 1;
|
|
}
|
|
tmp77 = diff1;
|
|
tmp76 = diff;
|
|
}
|
|
let result = (num27 - tmp76 + 1) * (num28 - tmp77 + 1);
|
|
if (result < num15) {
|
|
sum1 = num27 - tmp76 + 1;
|
|
sum2 = num28 - tmp77 + 1;
|
|
num12 = tmp76;
|
|
num13 = tmp77;
|
|
num14 = num16;
|
|
num15 = result;
|
|
}
|
|
num16 = num16 + 1;
|
|
tmp43 = tmp57;
|
|
num17 = num12;
|
|
num18 = num13;
|
|
tmp44 = sum1;
|
|
tmp45 = sum2;
|
|
num19 = num14;
|
|
num20 = num15;
|
|
let tmp12 = uint32Array1;
|
|
let tmp13 = tmp76;
|
|
let tmp14 = tmp77;
|
|
let tmp15 = num27;
|
|
let tmp16 = num28;
|
|
let tmp17 = num29;
|
|
tmp46 = tmp42;
|
|
let tmp19 = result;
|
|
tmp47 = tmp57;
|
|
num21 = num16;
|
|
} while (num16 < num11);
|
|
}
|
|
let _Uint8Array4 = Uint8Array;
|
|
let tmp81 = new.target;
|
|
let tmp82 = new.target;
|
|
let uint8Array3 = new Uint8Array(arg0[num7 - 1 - num19]);
|
|
let tmp84 = uint8Array3;
|
|
if (1 == num19) {
|
|
items[num7 - 1].dispose = 2;
|
|
}
|
|
let _Uint8Array5 = Uint8Array;
|
|
let tmp85 = new.target;
|
|
let tmp86 = new.target;
|
|
let uint8Array4 = new Uint8Array(tmp44 * tmp45 * 4);
|
|
let tmp88 = uint8Array4;
|
|
let tmp89 = callback;
|
|
let tmp90 = uint8Array3;
|
|
let tmp91 = arg1;
|
|
let tmp92 = arg2;
|
|
let tmp93 = uint8Array4;
|
|
let tmp94 = tmp44;
|
|
let tmp95 = tmp45;
|
|
let num32 = 0;
|
|
let tmp96 = callback(tmp84, arg1, arg2, uint8Array4, tmp44, tmp45, -num17, -num18, 0);
|
|
let tmp97 = callback;
|
|
let tmp98 = uint8Array1;
|
|
let tmp99 = arg1;
|
|
first = arg2;
|
|
first = uint8Array4;
|
|
first = tmp44;
|
|
first = tmp45;
|
|
let num33 = 3;
|
|
let num34 = 0;
|
|
if (callback(tmp23, arg1, arg2, uint8Array4, tmp44, tmp45, -num17, -num18, 3)) {
|
|
num34 = 1;
|
|
}
|
|
if (1 === num34) {
|
|
first = _prepareDiff;
|
|
let obj = { x: num17, y: num18, width: tmp44, height: tmp45 };
|
|
first = uint8Array1;
|
|
first = arg1;
|
|
first = arg2;
|
|
first = uint8Array4;
|
|
first = obj;
|
|
first = _prepareDiff(tmp23, arg1, arg2, tmp88, obj);
|
|
let substr = uint8Array4;
|
|
let num9 = num17;
|
|
let num10 = num18;
|
|
let tmp29 = tmp44;
|
|
let tmp30 = tmp45;
|
|
num8 = num34;
|
|
first = num11;
|
|
first = num19;
|
|
first = num20;
|
|
first = num21;
|
|
first = uint8Array3;
|
|
let tmp31 = tmp12;
|
|
let tmp32 = tmp13;
|
|
let tmp33 = tmp14;
|
|
let tmp34 = tmp15;
|
|
let tmp35 = tmp16;
|
|
let tmp36 = tmp17;
|
|
let tmp37 = tmp46;
|
|
let tmp38 = tmp19;
|
|
let tmp39 = tmp47;
|
|
} else {
|
|
first = callback;
|
|
first = uint8Array1;
|
|
first = arg1;
|
|
first = arg2;
|
|
first = uint8Array4;
|
|
first = tmp44;
|
|
first = tmp45;
|
|
let num35 = 0;
|
|
first = callback(tmp23, arg1, arg2, tmp88, tmp44, tmp45, -num17, -num18, 0);
|
|
substr = uint8Array4;
|
|
num9 = num17;
|
|
num10 = num18;
|
|
tmp29 = tmp44;
|
|
tmp30 = tmp45;
|
|
num8 = num34;
|
|
first = num11;
|
|
first = num19;
|
|
first = num20;
|
|
first = num21;
|
|
first = uint8Array3;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
tmp34 = tmp15;
|
|
tmp35 = tmp16;
|
|
tmp36 = tmp17;
|
|
tmp37 = tmp46;
|
|
tmp38 = tmp19;
|
|
tmp39 = tmp47;
|
|
}
|
|
}
|
|
}
|
|
num11 = 1;
|
|
} else {
|
|
substr = uint8Array1.slice(0);
|
|
num9 = 0;
|
|
num10 = 0;
|
|
tmp29 = arg1;
|
|
tmp30 = arg2;
|
|
tmp31 = tmp12;
|
|
tmp32 = tmp13;
|
|
tmp33 = tmp14;
|
|
tmp34 = tmp15;
|
|
tmp35 = tmp16;
|
|
tmp36 = tmp17;
|
|
tmp37 = tmp18;
|
|
tmp38 = tmp19;
|
|
tmp39 = tmp20;
|
|
}
|
|
obj = {};
|
|
obj = { x: num9, y: num10, width: tmp29, height: tmp30 };
|
|
obj.rect = obj;
|
|
obj.img = substr;
|
|
obj.blend = num8;
|
|
obj.dispose = 0;
|
|
first = items.push(obj);
|
|
num7 = num7 + 1;
|
|
tmp12 = tmp31;
|
|
tmp13 = tmp32;
|
|
tmp14 = tmp33;
|
|
tmp15 = tmp34;
|
|
tmp16 = tmp35;
|
|
tmp17 = tmp36;
|
|
tmp18 = tmp37;
|
|
tmp19 = tmp38;
|
|
tmp20 = tmp39;
|
|
} while (num7 < arg0.length);
|
|
}
|
|
if (first) {
|
|
for (let num36 = 0; num36 < items.length; num36 = num36 + 1) {
|
|
first = items[num36];
|
|
if (1 != first.blend) {
|
|
let rect = first.rect;
|
|
let rect2 = items[num36 - 1].rect;
|
|
let _Math3 = Math;
|
|
first = Math.min(rect.x, rect2.x);
|
|
let _Math4 = Math;
|
|
first = Math.min(rect.y, rect2.y);
|
|
let obj1 = { x: first, y: first };
|
|
let _Math5 = Math;
|
|
obj1.width = Math.max(rect.x + rect.width, rect2.x + rect2.width) - first;
|
|
let _Math6 = Math;
|
|
obj1.height = Math.max(rect.y + rect.height, rect2.y + rect2.height) - first;
|
|
items[num36 - 1].dispose = 1;
|
|
if (num36 - 1 !== 0) {
|
|
first = _updateFrame;
|
|
first = arg0;
|
|
first = arg1;
|
|
first = arg2;
|
|
first = items;
|
|
first = obj1;
|
|
first = tmp2;
|
|
first = _updateFrame(arg0, arg1, arg2, items, num36 - 1, obj1, tmp2);
|
|
}
|
|
first = _updateFrame;
|
|
first = arg0;
|
|
first = arg1;
|
|
first = arg2;
|
|
first = items;
|
|
first = num36;
|
|
first = obj1;
|
|
first = tmp2;
|
|
first = _updateFrame(arg0, arg1, arg2, items, num36, obj1, tmp2);
|
|
first = obj1;
|
|
}
|
|
}
|
|
}
|
|
if (1 != arg0.length) {
|
|
let num37 = 0;
|
|
if (0 < items.length) {
|
|
do {
|
|
first = items[num37];
|
|
first = first.rect.width * first.rect.height;
|
|
num37 = num37 + 1;
|
|
length2 = items.length;
|
|
} while (num37 < length2);
|
|
}
|
|
}
|
|
const obj2 = {};
|
|
const items1 = [];
|
|
const items2 = [];
|
|
if (0 != arg3) {
|
|
const items3 = [];
|
|
let num41 = 0;
|
|
if (0 < items.length) {
|
|
do {
|
|
first = items3.push(items[num41].img.buffer);
|
|
num41 = num41 + 1;
|
|
length5 = items.length;
|
|
} while (num41 < length5);
|
|
}
|
|
let num42 = 0;
|
|
let num43 = 0;
|
|
let num44 = 0;
|
|
if (0 < items3.length) {
|
|
do {
|
|
num42 = num42 + items3[num43].byteLength;
|
|
num43 = num43 + 1;
|
|
num44 = num42;
|
|
length6 = items3.length;
|
|
} while (num43 < length6);
|
|
}
|
|
const _Uint8Array7 = Uint8Array;
|
|
first = new.target;
|
|
first = new.target;
|
|
first = num44;
|
|
first = new Uint8Array(num44);
|
|
let num45 = 0;
|
|
let num46 = 0;
|
|
if (0 < items3.length) {
|
|
do {
|
|
let _Uint8Array8 = Uint8Array;
|
|
first = new.target;
|
|
first = new.target;
|
|
let uint8Array5 = new Uint8Array(items3[num45]);
|
|
first = uint8Array5;
|
|
let length7 = uint8Array5.length;
|
|
let num47 = 0;
|
|
if (0 < length7) {
|
|
do {
|
|
let num48 = uint8Array5[num47];
|
|
let num49 = uint8Array5[num47 + 1];
|
|
let num50 = uint8Array5[num47 + 2];
|
|
first = uint8Array5[num47 + 3];
|
|
if (0 == first) {
|
|
num48 = 0;
|
|
num49 = 0;
|
|
num50 = 0;
|
|
}
|
|
first[num46 + num47] = num48;
|
|
first[num46 + num47 + 1] = num49;
|
|
first[num46 + num47 + 2] = num50;
|
|
first[num46 + num47 + 3] = first;
|
|
num47 = num47 + 4;
|
|
first = num48;
|
|
first = num49;
|
|
first = num50;
|
|
} while (num47 < length7);
|
|
}
|
|
num46 = num46 + length7;
|
|
num45 = num45 + 1;
|
|
} while (num45 < items3.length);
|
|
}
|
|
first = quantize;
|
|
first = quantize(first.buffer, arg3);
|
|
let num51 = 0;
|
|
if (0 < first.plte.length) {
|
|
do {
|
|
first = items1.push(first.plte[num51].est.rgba);
|
|
num51 = num51 + 1;
|
|
length8 = first.plte.length;
|
|
} while (num51 < length8);
|
|
}
|
|
let num52 = 0;
|
|
let num53 = 0;
|
|
num4 = 0;
|
|
if (0 < items.length) {
|
|
do {
|
|
first = items[num52];
|
|
let length9 = first.img.length;
|
|
let _Uint8Array9 = Uint8Array;
|
|
first = new.target;
|
|
first = new.target;
|
|
first = new Uint8Array(first.inds.buffer, num53 >> 2, length9 >> 2);
|
|
first = items2.push(first);
|
|
let _Uint8Array10 = Uint8Array;
|
|
first = new.target;
|
|
first = new.target;
|
|
first = num53;
|
|
first = length9;
|
|
first = new Uint8Array(first.abuf, num53, length9);
|
|
first = num53;
|
|
if (tmp5) {
|
|
first = dither;
|
|
first = items1;
|
|
first = dither(first.img, first.rect.width, first.rect.height, items1, first, first);
|
|
}
|
|
let img = first.img;
|
|
first = img.set(first);
|
|
num53 = num53 + length9;
|
|
num52 = num52 + 1;
|
|
num4 = num52;
|
|
} while (num52 < items.length);
|
|
}
|
|
} else {
|
|
first = null;
|
|
let num40 = 0;
|
|
if (0 < items.length) {
|
|
do {
|
|
first = items[num40];
|
|
let _Uint32Array3 = Uint32Array;
|
|
first = new.target;
|
|
first = new.target;
|
|
let uint32Array2 = new Uint32Array(first.img.buffer);
|
|
first = uint32Array2;
|
|
let 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);
|
|
let num38 = 0;
|
|
let num39 = 0;
|
|
if (0 < length3) {
|
|
while (true) {
|
|
first = uint32Array2[num38];
|
|
if (0 != num38) {
|
|
if (first == uint32Array2[num38 - 1]) {
|
|
first[num38] = first[num38 - 1];
|
|
num38 = num38 + 1;
|
|
num39 = num38;
|
|
if (num38 >= length3) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (num38 > width) {
|
|
if (first == uint32Array2[num38 - width]) {
|
|
first[num38] = first[num38 - width];
|
|
}
|
|
}
|
|
first = obj2[first];
|
|
if (null != first) {
|
|
first[num38] = first;
|
|
} else {
|
|
let length4 = items1.length;
|
|
obj2[first] = length4;
|
|
first = items1.push(first);
|
|
first = length4;
|
|
num39 = num38;
|
|
first = length4;
|
|
if (items1.length >= 300) {
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
num40 = num40 + 1;
|
|
num4 = num39;
|
|
} while (num40 < items.length);
|
|
}
|
|
}
|
|
first = length10 <= 256 && 0 == tmp4;
|
|
let num54 = 8;
|
|
if (first) {
|
|
let num55 = 1;
|
|
if (length10 > 2) {
|
|
let num56 = 2;
|
|
if (length10 > 4) {
|
|
let num58 = 8;
|
|
if (length10 <= 16) {
|
|
num58 = 4;
|
|
}
|
|
num56 = num58;
|
|
}
|
|
num55 = num56;
|
|
}
|
|
const _Math = Math;
|
|
num54 = Math.max(num55, first[3]);
|
|
}
|
|
let num59 = 6;
|
|
let num60 = 0;
|
|
let num61 = 6;
|
|
if (0 < items.length) {
|
|
while (true) {
|
|
first = items[num60];
|
|
let x = first.rect.x;
|
|
let y = first.rect.y;
|
|
let width2 = first.rect.width;
|
|
let height = first.rect.height;
|
|
let img2 = first.img;
|
|
let _Uint32Array4 = Uint32Array;
|
|
first = new.target;
|
|
first = new Uint32Array(img2.buffer);
|
|
first = 4 * width2;
|
|
if (length10 <= 256) {
|
|
if (0 == tmp4) {
|
|
let _Math2 = Math;
|
|
first = Math.ceil(num54 * width2 / 8);
|
|
let _Uint8Array12 = Uint8Array;
|
|
first = new.target;
|
|
first = new.target;
|
|
first = new Uint8Array(first * height);
|
|
first = items2[num60];
|
|
let num66 = 0;
|
|
let num67 = first;
|
|
let num68 = 0;
|
|
if (0 < height) {
|
|
do {
|
|
first = num66 * first;
|
|
first = num66 * width2;
|
|
if (8 == num54) {
|
|
let num72 = 0;
|
|
num67 = 0;
|
|
if (0 < width2) {
|
|
do {
|
|
first[first + num72] = first[first + num72];
|
|
num72 = num72 + 1;
|
|
num67 = num72;
|
|
} while (num72 < width2);
|
|
}
|
|
} else if (4 == num54) {
|
|
let num71 = 0;
|
|
num67 = 0;
|
|
if (0 < width2) {
|
|
do {
|
|
first = first + (num71 >> 1);
|
|
first[first] = first[first] | first[first + num71] << 4 - 4 * (1 & num71);
|
|
num71 = num71 + 1;
|
|
num67 = num71;
|
|
} while (num71 < width2);
|
|
}
|
|
} else if (2 == num54) {
|
|
let num70 = 0;
|
|
num67 = 0;
|
|
if (0 < width2) {
|
|
do {
|
|
first = first + (num70 >> 2);
|
|
first[first] = first[first] | first[first + num70] << 6 - 2 * (3 & num70);
|
|
num70 = num70 + 1;
|
|
num67 = num70;
|
|
} while (num70 < width2);
|
|
}
|
|
} else if (1 == num54) {
|
|
let num69 = 0;
|
|
num67 = 0;
|
|
if (0 < width2) {
|
|
do {
|
|
first = first + (num69 >> 3);
|
|
first[first] = first[first] | first[first + num69] << 7 - (7 & num69);
|
|
num69 = num69 + 1;
|
|
num67 = num69;
|
|
} while (num69 < width2);
|
|
}
|
|
}
|
|
num66 = num66 + 1;
|
|
num4 = first;
|
|
first = num67;
|
|
num68 = num66;
|
|
} while (num66 < height);
|
|
}
|
|
first = num4;
|
|
first = num68;
|
|
let num62 = 3;
|
|
let num63 = 1;
|
|
first.img = first;
|
|
first.bpl = first;
|
|
first.bpp = num63;
|
|
num60 = num60 + 1;
|
|
num59 = num62;
|
|
num4 = first;
|
|
num61 = num62;
|
|
if (num60 >= items.length) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
num62 = num59;
|
|
first = num4;
|
|
first = img2;
|
|
num63 = 4;
|
|
if (0 == tmp11) {
|
|
num62 = num59;
|
|
first = num4;
|
|
first = img2;
|
|
num63 = 4;
|
|
if (1 == items.length) {
|
|
let _Uint8Array11 = Uint8Array;
|
|
first = new.target;
|
|
first = new.target;
|
|
first = new Uint8Array(width2 * height * 3);
|
|
first = width2 * height;
|
|
let num64 = 0;
|
|
let num65 = 0;
|
|
if (0 < first) {
|
|
do {
|
|
first = 3 * num64;
|
|
first = 4 * num64;
|
|
first[first] = img2[first];
|
|
first[first + 1] = img2[first + 1];
|
|
first[first + 2] = img2[first + 2];
|
|
num64 = num64 + 1;
|
|
num65 = num64;
|
|
} while (num64 < first);
|
|
}
|
|
first = 3 * width2;
|
|
first = num65;
|
|
num62 = 2;
|
|
num63 = 3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const obj3 = { ctype: num61, depth: num54, plte: items1, frames: items };
|
|
return obj3;
|
|
}
|
|
function _updateFrame(arg0, arg1, arg2, items, arg4, height, first) {
|
|
let _Uint8Array = Uint8Array;
|
|
const uint8Array = new Uint8Array(arg0[arg4 - 1]);
|
|
const uint32Array = new Uint32Array(arg0[arg4 - 1]);
|
|
_Uint8Array = null;
|
|
if (arg4 + 1 < arg0.length) {
|
|
const prototype = _Uint8Array.prototype;
|
|
_Uint8Array = new _Uint8Array(arg0[arg4 + 1]);
|
|
}
|
|
const _Uint8Array1 = new _Uint8Array(arg0[arg4]);
|
|
const uint32Array1 = new Uint32Array(_Uint8Array1.buffer);
|
|
let tmp9 = arg1;
|
|
let tmp10 = arg2;
|
|
let num = -1;
|
|
let num2 = -1;
|
|
let num3 = 0;
|
|
let num4 = arg1;
|
|
let num5 = arg2;
|
|
let num6 = -1;
|
|
let num7 = -1;
|
|
if (0 < height.height) {
|
|
do {
|
|
let tmp11 = tmp9;
|
|
let tmp12 = tmp10;
|
|
let tmp13 = num;
|
|
let tmp14 = num2;
|
|
let num8 = 0;
|
|
let tmp15 = tmp9;
|
|
let tmp16 = tmp10;
|
|
let tmp17 = num;
|
|
let tmp18 = num2;
|
|
if (0 < height.width) {
|
|
do {
|
|
let sum = height.x + num8;
|
|
let sum1 = height.y + num3;
|
|
let sum2 = sum1 * arg1 + sum;
|
|
let tmp22 = uint32Array1[sum2];
|
|
let tmp23 = 0 == tmp22;
|
|
if (!tmp23) {
|
|
let tmp24 = 0 == items[arg4 - 1].dispose && uint32Array[sum2] == tmp22;
|
|
if (tmp24) {
|
|
let tmp25 = null == _Uint8Array || 0 != _Uint8Array[4 * sum2 + 3];
|
|
tmp24 = tmp25;
|
|
}
|
|
tmp23 = tmp24;
|
|
}
|
|
let tmp26 = tmp11;
|
|
let tmp27 = tmp12;
|
|
let tmp28 = tmp13;
|
|
let tmp29 = tmp14;
|
|
if (!tmp23) {
|
|
let tmp30 = tmp11;
|
|
if (sum < tmp11) {
|
|
tmp30 = sum;
|
|
}
|
|
let tmp31 = tmp13;
|
|
if (sum > tmp13) {
|
|
tmp31 = sum;
|
|
}
|
|
let tmp32 = tmp12;
|
|
if (sum1 < tmp12) {
|
|
tmp32 = sum1;
|
|
}
|
|
let tmp33 = tmp14;
|
|
if (sum1 > tmp14) {
|
|
tmp33 = sum1;
|
|
}
|
|
tmp29 = tmp33;
|
|
tmp26 = tmp30;
|
|
tmp27 = tmp32;
|
|
tmp28 = tmp31;
|
|
}
|
|
num8 = num8 + 1;
|
|
tmp11 = tmp26;
|
|
tmp12 = tmp27;
|
|
tmp13 = tmp28;
|
|
tmp14 = tmp29;
|
|
tmp15 = tmp26;
|
|
tmp16 = tmp27;
|
|
tmp17 = tmp28;
|
|
tmp18 = tmp29;
|
|
let tmp34 = sum;
|
|
let tmp35 = sum1;
|
|
let tmp36 = sum2;
|
|
let tmp37 = tmp22;
|
|
} while (num8 < height.width);
|
|
}
|
|
num3 = num3 + 1;
|
|
tmp9 = tmp15;
|
|
tmp10 = tmp16;
|
|
num = tmp17;
|
|
num2 = tmp18;
|
|
num4 = tmp15;
|
|
num5 = tmp16;
|
|
num6 = tmp17;
|
|
num7 = tmp18;
|
|
} while (num3 < height.height);
|
|
}
|
|
if (-1 == num6) {
|
|
num4 = 0;
|
|
num5 = 0;
|
|
num6 = 0;
|
|
num7 = 0;
|
|
}
|
|
let tmp38 = num4;
|
|
let tmp39 = num5;
|
|
if (first) {
|
|
let diff = num4;
|
|
if (!(1 & ~num4)) {
|
|
diff = num4 - 1;
|
|
}
|
|
let diff1 = num5;
|
|
if (!(1 & ~num5)) {
|
|
diff1 = num5 - 1;
|
|
}
|
|
tmp39 = diff1;
|
|
tmp38 = diff;
|
|
}
|
|
const size = { x: tmp38, y: tmp39, width: num6 - tmp38 + 1, height: num7 - tmp39 + 1 };
|
|
items[arg4].rect = size;
|
|
items[arg4].blend = 1;
|
|
const uint8Array1 = new Uint8Array(size.width * size.height * 4);
|
|
items[arg4].img = uint8Array1;
|
|
if (0 == items[arg4 - 1].dispose) {
|
|
callback(uint8Array, arg1, arg2, tmp42.img, size.width, size.height, -size.x, -size.y, 0);
|
|
_prepareDiff(tmp7, arg1, arg2, tmp42.img, size);
|
|
} else {
|
|
callback(tmp7, arg1, arg2, tmp42.img, size.width, size.height, -size.x, -size.y, 0);
|
|
}
|
|
}
|
|
function _prepareDiff(arg0, arg1, arg2, img, size) {
|
|
callback(arg0, arg1, arg2, img, size.width, size.height, -size.x, -size.y, 2);
|
|
}
|
|
function _filterZero(buffer, arg1, arg2, arg3, set) {
|
|
const items = [];
|
|
let items1 = [0, 1, 2, 3, 4];
|
|
if (-1 != arg5) {
|
|
const items2 = [arg5];
|
|
items1 = items2;
|
|
} else {
|
|
let tmp = arg1 * arg3 > 500000;
|
|
if (!tmp) {
|
|
tmp = 1 == arg2;
|
|
}
|
|
if (tmp) {
|
|
items1 = [0];
|
|
}
|
|
}
|
|
if (arg6) {
|
|
const obj = { level: 0 };
|
|
const tmp2 = obj;
|
|
}
|
|
if (set.length > 10000000) {
|
|
const _window = window;
|
|
if (null != window.UZIP) {
|
|
const _window2 = window;
|
|
let pako = window.UZIP;
|
|
}
|
|
const _Date = Date;
|
|
const timestamp = Date.now();
|
|
for (let num5 = 0; num5 < items1.length; num5 = num5 + 1) {
|
|
for (let num6 = 0; num6 < arg1; num6 = num6 + 1) {
|
|
let tmp7 = _filterLine;
|
|
let tmp8 = set;
|
|
let tmp9 = buffer;
|
|
let tmp10 = num6;
|
|
let tmp11 = arg3;
|
|
let tmp12 = arg2;
|
|
let tmp13 = _filterLine(set, buffer, num6, arg3, arg2, items1[num5]);
|
|
}
|
|
let arr = items.push(pako.deflate(set, tmp2));
|
|
}
|
|
let num7 = 1000000000;
|
|
let num8 = 0;
|
|
let tmp16;
|
|
if (0 < items.length) {
|
|
do {
|
|
if (items[num8].length < num7) {
|
|
num7 = items[num8].length;
|
|
let tmp15 = num8;
|
|
}
|
|
num8 = num8 + 1;
|
|
tmp16 = tmp15;
|
|
} while (num8 < items.length);
|
|
}
|
|
return items[tmp16];
|
|
}
|
|
pako = globalThis.pako;
|
|
}
|
|
function _filterLine(set, buffer, arg2, arg3, arg4, arg5) {
|
|
const result = arg2 * arg3;
|
|
const sum = result + arg2;
|
|
set[sum] = arg5;
|
|
const sum1 = sum + 1;
|
|
if (0 == arg5) {
|
|
if (arg3 < 500) {
|
|
for (let num18 = 0; num18 < arg3; num18 = num18 + 1) {
|
|
set[sum1 + num18] = buffer[result + num18];
|
|
}
|
|
} else {
|
|
const _Uint8Array = Uint8Array;
|
|
const uint8Array = new Uint8Array(buffer.buffer, result, arg3);
|
|
const result1 = set.set(uint8Array, sum1);
|
|
}
|
|
} else if (1 == arg5) {
|
|
for (let num14 = 0; num14 < arg4; num14 = num14 + 1) {
|
|
set[sum1 + num14] = buffer[result + num14];
|
|
}
|
|
let sum2 = arg4;
|
|
if (arg4 < arg3) {
|
|
do {
|
|
set[sum1 + sum2] = buffer[result + sum2] - buffer[result + sum2 - arg4] + 256 & 255;
|
|
sum2 = sum2 + 1;
|
|
} while (sum2 < arg3);
|
|
}
|
|
} else if (0 == arg2) {
|
|
for (let num8 = 0; num8 < arg4; num8 = num8 + 1) {
|
|
set[sum1 + num8] = buffer[result + num8];
|
|
}
|
|
if (2 == arg5) {
|
|
let sum3 = arg4;
|
|
if (arg4 < arg3) {
|
|
do {
|
|
set[sum1 + sum3] = buffer[result + sum3];
|
|
sum3 = sum3 + 1;
|
|
} while (sum3 < arg3);
|
|
}
|
|
}
|
|
if (3 == arg5) {
|
|
let sum4 = arg4;
|
|
if (arg4 < arg3) {
|
|
do {
|
|
set[sum1 + sum4] = buffer[result + sum4] - (buffer[result + sum4 - arg4] >> 1) + 256 & 255;
|
|
sum4 = sum4 + 1;
|
|
} while (sum4 < arg3);
|
|
}
|
|
}
|
|
if (4 == arg5) {
|
|
let sum6 = arg4;
|
|
if (arg4 < arg3) {
|
|
do {
|
|
let tmp15 = callback2;
|
|
let sum5 = sum1 + sum6;
|
|
set[sum5] = buffer[result + sum6] - callback2(buffer[result + sum6 - arg4], 0, 0) + 256 & 255;
|
|
sum6 = sum6 + 1;
|
|
} while (sum6 < arg3);
|
|
}
|
|
}
|
|
} else {
|
|
if (2 == arg5) {
|
|
for (let num3 = 0; num3 < arg3; num3 = num3 + 1) {
|
|
set[sum1 + num3] = buffer[result + num3] + 256 - buffer[result + num3 - arg3] & 255;
|
|
}
|
|
}
|
|
if (3 == arg5) {
|
|
for (let num5 = 0; num5 < arg4; num5 = num5 + 1) {
|
|
set[sum1 + num5] = buffer[result + num5] + 256 - (buffer[result + num5 - arg3] >> 1) & 255;
|
|
}
|
|
let sum7 = arg4;
|
|
if (arg4 < arg3) {
|
|
do {
|
|
set[sum1 + sum7] = buffer[result + sum7] + 256 - (buffer[result + sum7 - arg3] + buffer[result + sum7 - arg4] >> 1) & 255;
|
|
sum7 = sum7 + 1;
|
|
} while (sum7 < arg3);
|
|
}
|
|
}
|
|
if (4 == arg5) {
|
|
for (let num7 = 0; num7 < arg4; num7 = num7 + 1) {
|
|
let tmp7 = callback2;
|
|
let sum8 = sum1 + num7;
|
|
let sum9 = buffer[result + num7] + 256;
|
|
set[sum8] = sum9 - callback2(0, buffer[result + num7 - arg3], 0) & 255;
|
|
}
|
|
let sum12 = arg4;
|
|
if (arg4 < arg3) {
|
|
do {
|
|
let tmp11 = callback2;
|
|
let sum10 = sum1 + sum12;
|
|
let sum11 = buffer[result + sum12] + 256;
|
|
set[sum10] = sum11 - callback2(buffer[result + sum12 - arg4], buffer[result + sum12 - arg3], buffer[result + sum12 - arg4 - arg3]) & 255;
|
|
sum12 = sum12 + 1;
|
|
} while (sum12 < arg3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function quantize(arg0, arg1, arg2) {
|
|
const timestamp = Date.now();
|
|
const uint8Array = new Uint8Array(arg0);
|
|
const substr = uint8Array.slice(0);
|
|
const uint32Array = new Uint32Array(substr.buffer);
|
|
const tmp4 = getKDtree(substr, arg1);
|
|
const first = tmp4[0];
|
|
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 (tmp4[1].length <= 60) {
|
|
findNearest(uint8Array, uint8Array2, uint8Array1);
|
|
remap(uint8Array2, uint32Array, uint32Array1);
|
|
} else if (uint8Array.length < 32000000) {
|
|
for (let num6 = 0; num6 < length2; num6 = num6 + 4) {
|
|
let tmp21 = getNearest;
|
|
let tmp22 = first;
|
|
let tmp23 = getNearest(first, 0.00392156862745098 * uint8Array[num6], 0.00392156862745098 * uint8Array[num6 + 1], 0.00392156862745098 * uint8Array[num6 + 2], 0.00392156862745098 * uint8Array[num6 + 3]);
|
|
let tmp24 = num6 >> 2;
|
|
uint8Array2[tmp24] = tmp23.ind;
|
|
uint32Array[tmp24] = tmp23.est.rgba;
|
|
}
|
|
} else {
|
|
for (let num2 = 0; num2 < length2; num2 = num2 + 4) {
|
|
let result = 0.00392156862745098 * uint8Array[num2];
|
|
let result1 = 0.00392156862745098 * uint8Array[num2 + 1];
|
|
let result2 = 0.00392156862745098 * uint8Array[num2 + 2];
|
|
let result3 = 0.00392156862745098 * uint8Array[num2 + 3];
|
|
let rect = first;
|
|
let tmp13 = first;
|
|
if (first.left) {
|
|
do {
|
|
let tmp14 = planeDst;
|
|
let tmp15 = result;
|
|
let tmp16 = result1;
|
|
let tmp17 = result2;
|
|
let tmp18 = result3;
|
|
tmp19 = planeDst(rect.est, result, result1, result2, result3) <= 0 ? rect.left : rect.right;
|
|
rect = tmp19;
|
|
tmp13 = tmp19;
|
|
} while (tmp19.left);
|
|
}
|
|
let tmp20 = num2 >> 2;
|
|
uint8Array2[tmp20] = tmp13.ind;
|
|
uint32Array[tmp20] = tmp13.est.rgba;
|
|
}
|
|
}
|
|
let num7 = 0;
|
|
let num8 = 1000000000;
|
|
if (arg2) {
|
|
const tmp30 = kmeans(uint8Array, uint8Array2, uint8Array1);
|
|
while (tmp30 / num8 <= 0.997) {
|
|
num7 = num7 + 1;
|
|
let num11 = 10;
|
|
num8 = tmp30;
|
|
if (num7 >= 10) {
|
|
break;
|
|
}
|
|
}
|
|
for (let num12 = 0; num12 < length; num12 = num12 + 1) {
|
|
arr2[num12].est.rgba = uint32Array1[num12];
|
|
}
|
|
remap(uint8Array2, uint32Array, uint32Array1);
|
|
} else {
|
|
num7 = 0;
|
|
num8 = 1000000000;
|
|
}
|
|
return { abuf: substr.buffer, inds: uint8Array2, plte: tmp4[1] };
|
|
}
|
|
function remap(uint8Array2, uint32Array, uint32Array1) {
|
|
let length;
|
|
let num = 0;
|
|
if (0 < uint8Array2.length) {
|
|
do {
|
|
uint32Array[num] = uint32Array1[uint8Array2[num]];
|
|
num = num + 1;
|
|
length = uint8Array2.length;
|
|
} while (num < length);
|
|
}
|
|
}
|
|
function kmeans(uint8Array, uint8Array2, uint8Array1) {
|
|
let length;
|
|
let length2;
|
|
const uint32Array = new Uint32Array(4 * tmp);
|
|
const uint32Array1 = new Uint32Array(tmp);
|
|
let num = 0;
|
|
if (0 < uint8Array.length) {
|
|
do {
|
|
let tmp4 = uint8Array2[num >>> 2];
|
|
let result = 4 * tmp4;
|
|
uint32Array1[tmp4] = uint32Array1[tmp4] + 1;
|
|
uint32Array[result] = uint32Array[result] + uint8Array[num];
|
|
let sum = result + 1;
|
|
uint32Array[sum] = uint32Array[sum] + uint8Array[num + 1];
|
|
let sum1 = result + 2;
|
|
uint32Array[sum1] = uint32Array[sum1] + uint8Array[num + 2];
|
|
let sum2 = result + 3;
|
|
uint32Array[sum2] = uint32Array[sum2] + uint8Array[num + 3];
|
|
num = num + 4;
|
|
length = uint8Array.length;
|
|
} while (num < length);
|
|
}
|
|
let num2 = 0;
|
|
if (0 < uint8Array1.length) {
|
|
do {
|
|
let _Math = Math;
|
|
uint8Array1[num2] = Math.round(uint32Array[num2] / uint32Array1[num2 >>> 2]);
|
|
num2 = num2 + 1;
|
|
length2 = uint8Array1.length;
|
|
} while (num2 < length2);
|
|
}
|
|
return findNearest(uint8Array, uint8Array2, uint8Array1);
|
|
}
|
|
function findNearest(uint8Array, uint8Array2, uint8Array1) {
|
|
const items = [];
|
|
let num = 0;
|
|
if (0 < uint8Array1.length >>> 2) {
|
|
do {
|
|
let result = 4 * num;
|
|
let tmp10 = tmp3;
|
|
let num2 = 0;
|
|
let num3 = 1000000000;
|
|
let num4 = 0;
|
|
let num5 = 1000000000;
|
|
let num6 = 0;
|
|
let tmp11 = tmp3;
|
|
if (tmp2) {
|
|
do {
|
|
let tmp12 = num2;
|
|
let tmp13 = num3;
|
|
if (num != num4) {
|
|
let result1 = 4 * num4;
|
|
let diff = tmp6 - uint8Array1[result1];
|
|
let diff1 = tmp7 - uint8Array1[result1 + 1];
|
|
let diff2 = tmp8 - uint8Array1[result1 + 2];
|
|
let diff3 = tmp9 - uint8Array1[result1 + 3];
|
|
let sum = diff * diff + diff1 * diff1 + diff2 * diff2 + diff3 * diff3;
|
|
tmp12 = num2;
|
|
tmp10 = sum;
|
|
tmp13 = num3;
|
|
if (sum < num3) {
|
|
tmp12 = num4;
|
|
tmp13 = sum;
|
|
tmp10 = sum;
|
|
}
|
|
}
|
|
num4 = num4 + 1;
|
|
num2 = tmp12;
|
|
num3 = tmp13;
|
|
num5 = tmp13;
|
|
tmp11 = tmp10;
|
|
num6 = num4;
|
|
} while (num4 < tmp);
|
|
}
|
|
let _Math = Math;
|
|
items[num] = 0.5 * Math.sqrt(num5);
|
|
items[num] = items[num] * items[num];
|
|
num = num + 1;
|
|
let tmp20 = num6;
|
|
tmp3 = tmp11;
|
|
let tmp4 = tmp11;
|
|
} while (num < tmp);
|
|
}
|
|
let num7 = 0;
|
|
let num8 = 0;
|
|
let num9 = 0;
|
|
if (0 < uint8Array.length) {
|
|
do {
|
|
let tmp21 = uint8Array[num8];
|
|
let tmp22 = uint8Array[num8 + 1];
|
|
let tmp23 = uint8Array[num8 + 2];
|
|
let tmp24 = uint8Array[num8 + 3];
|
|
let tmp25 = num8 >>> 2;
|
|
let tmp26 = uint8Array2[tmp25];
|
|
let result2 = 4 * tmp26;
|
|
let diff4 = tmp21 - uint8Array1[result2];
|
|
let diff5 = tmp22 - uint8Array1[result2 + 1];
|
|
let diff6 = tmp23 - uint8Array1[result2 + 2];
|
|
let diff7 = tmp24 - uint8Array1[result2 + 3];
|
|
let sum1 = diff4 * diff4 + diff5 * diff5 + diff6 * diff6 + diff7 * diff7;
|
|
let tmp33 = tmp26;
|
|
let tmp34 = tmp4;
|
|
let tmp35 = sum1;
|
|
if (sum1 > items[tmp26]) {
|
|
let tmp42 = tmp26;
|
|
let tmp43 = sum1;
|
|
let num10 = 0;
|
|
tmp33 = tmp26;
|
|
tmp35 = sum1;
|
|
let num11 = 0;
|
|
tmp34 = tmp4;
|
|
if (tmp2) {
|
|
while (true) {
|
|
let result3 = 4 * num10;
|
|
let diff8 = tmp21 - uint8Array1[result3];
|
|
let diff9 = tmp22 - uint8Array1[result3 + 1];
|
|
let diff10 = tmp23 - uint8Array1[result3 + 2];
|
|
let diff11 = tmp24 - uint8Array1[result3 + 3];
|
|
let sum2 = diff8 * diff8 + diff9 * diff9 + diff10 * diff10 + diff11 * diff11;
|
|
if (sum2 >= tmp43) {
|
|
num10 = num10 + 1;
|
|
tmp33 = tmp42;
|
|
tmp35 = tmp43;
|
|
tmp34 = sum2;
|
|
let tmp45 = num10;
|
|
if (num10 >= tmp) {
|
|
break;
|
|
}
|
|
} else {
|
|
tmp42 = num10;
|
|
tmp43 = sum2;
|
|
tmp33 = num10;
|
|
tmp35 = sum2;
|
|
let tmp44 = num10;
|
|
tmp34 = sum2;
|
|
if (sum2 < items[num10]) {
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
uint8Array2[tmp25] = tmp33;
|
|
num7 = num7 + tmp35;
|
|
num8 = num8 + 4;
|
|
tmp4 = tmp34;
|
|
num9 = num7;
|
|
} while (num8 < uint8Array.length);
|
|
}
|
|
return num9 / (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 {
|
|
if (items[num4].est.L > num2) {
|
|
num2 = items[num4].est.L;
|
|
num3 = num4;
|
|
}
|
|
num4 = num4 + 1;
|
|
num5 = num2;
|
|
num6 = num3;
|
|
} while (num4 < items.length);
|
|
}
|
|
if (num5 < num) {
|
|
break;
|
|
} else {
|
|
let tmp7 = items[num6];
|
|
let tmp8 = splitPixels;
|
|
let tmp9 = substr;
|
|
let tmp10 = uint32Array;
|
|
let tmp11 = splitPixels(substr, uint32Array, tmp7.i0, tmp7.i1, tmp7.est.e, tmp7.est.eMq255);
|
|
if (tmp7.i0 < tmp11) {
|
|
if (tmp7.i1 > tmp11) {
|
|
obj = { i0: tmp7.i0, i1: tmp11, bst: null, est: null, tdst: 0, left: null, right: null };
|
|
let tmp12 = stats;
|
|
obj.bst = stats(substr, obj.i0, obj.i1);
|
|
let tmp13 = estats;
|
|
obj.est = estats(obj.bst);
|
|
obj = { i0: tmp11, i1: tmp7.i1, bst: null, est: null, tdst: 0, left: null, right: null };
|
|
let obj1 = { R: [], m: [], N: tmp7.bst.N - obj.bst.N };
|
|
obj.bst = obj1;
|
|
let num7 = 0;
|
|
do {
|
|
obj.bst.R[num7] = tmp7.bst.R[num7] - obj.bst.R[num7];
|
|
num7 = num7 + 1;
|
|
let num8 = 0;
|
|
} while (num7 < 16);
|
|
do {
|
|
obj.bst.m[num8] = tmp7.bst.m[num8] - obj.bst.m[num8];
|
|
num8 = num8 + 1;
|
|
} while (num8 < 4);
|
|
let tmp4 = estats;
|
|
obj.est = estats(obj.bst);
|
|
tmp7.left = obj;
|
|
tmp7.right = obj;
|
|
items[num6] = obj;
|
|
let arr = items.push(obj);
|
|
}
|
|
let tmp2 = obj;
|
|
let tmp3 = obj;
|
|
if (items.length >= arg1) {
|
|
break;
|
|
}
|
|
}
|
|
tmp7.est.L = 0;
|
|
obj = tmp2;
|
|
obj = tmp3;
|
|
}
|
|
}
|
|
}
|
|
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(first, result, result1, result2, result3) {
|
|
let left;
|
|
let right;
|
|
if (null == first.left) {
|
|
const q = first.est.q;
|
|
const diff = result - q[0];
|
|
const diff1 = result1 - q[1];
|
|
const diff2 = result2 - q[2];
|
|
const diff3 = result3 - q[3];
|
|
first.tdst = diff * diff + diff1 * diff1 + diff2 * diff2 + diff3 * diff3;
|
|
return first;
|
|
} else {
|
|
const tmp25 = planeDst(first.est, result, result1, result2, result3);
|
|
({ left: right, right: left } = first);
|
|
if (tmp25 > 0) {
|
|
({ right, left } = first);
|
|
}
|
|
const tmp7 = getNearest(right, result, result1, result2, result3);
|
|
if (tmp7.tdst <= tmp25 * tmp25) {
|
|
return tmp7;
|
|
} else {
|
|
const tmp14 = getNearest(left, result, result1, result2, result3);
|
|
let tmp15 = tmp7;
|
|
if (tmp14.tdst < tmp7.tdst) {
|
|
tmp15 = tmp14;
|
|
}
|
|
return tmp15;
|
|
}
|
|
}
|
|
}
|
|
function planeDst(est, result, result1, result2, result3) {
|
|
const e = est.e;
|
|
return e[0] * result + e[1] * result1 + e[2] * result2 + e[3] * result3 - est.eMq;
|
|
}
|
|
function splitPixels(substr, uint32Array, i0, i1, arg4, eMq255) {
|
|
let tmp21;
|
|
let diff = i1 - 4;
|
|
let sum1 = i0;
|
|
let tmp3 = i0;
|
|
if (i0 < diff) {
|
|
while (true) {
|
|
let tmp4 = vecDot;
|
|
let tmp5 = sum1;
|
|
let tmp6 = sum1;
|
|
if (vecDot(substr, sum1, arg4) <= eMq255) {
|
|
do {
|
|
let sum = tmp5 + 4;
|
|
let tmp8 = vecDot;
|
|
tmp5 = sum;
|
|
tmp6 = sum;
|
|
tmp9 = vecDot(substr, sum, arg4);
|
|
} while (tmp9 <= eMq255);
|
|
}
|
|
let tmp10 = vecDot;
|
|
let tmp11 = diff;
|
|
let tmp12 = diff;
|
|
if (vecDot(substr, diff, arg4) > eMq255) {
|
|
do {
|
|
let diff1 = tmp11 - 4;
|
|
let tmp14 = vecDot;
|
|
tmp11 = diff1;
|
|
tmp12 = diff1;
|
|
tmp15 = vecDot(substr, diff1, arg4);
|
|
} while (tmp15 > eMq255);
|
|
}
|
|
tmp3 = tmp6;
|
|
if (tmp6 >= tmp12) {
|
|
break;
|
|
} else {
|
|
let tmp16 = tmp12 >> 2;
|
|
uint32Array[tmp6 >> 2] = uint32Array[tmp16];
|
|
uint32Array[tmp16] = uint32Array[tmp6 >> 2];
|
|
sum1 = tmp6 + 4;
|
|
diff = tmp12 - 4;
|
|
tmp3 = sum1;
|
|
if (sum1 >= diff) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
let tmp17 = tmp3;
|
|
let tmp18 = tmp3;
|
|
if (vecDot(substr, tmp3, arg4) > eMq255) {
|
|
do {
|
|
let diff2 = tmp17 - 4;
|
|
let tmp20 = vecDot;
|
|
tmp17 = diff2;
|
|
tmp18 = diff2;
|
|
tmp21 = vecDot(substr, diff2, arg4);
|
|
} while (tmp21 > eMq255);
|
|
}
|
|
return tmp18 + 4;
|
|
}
|
|
function vecDot(substr, diff, arg2) {
|
|
return substr[diff] * arg2[0] + substr[diff + 1] * arg2[1] + substr[diff + 2] * arg2[2] + substr[diff + 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) {
|
|
let N;
|
|
let R;
|
|
let m;
|
|
({ R, m, N } = bst);
|
|
const first = m[0];
|
|
let num = 0;
|
|
if (0 != N) {
|
|
num = 1 / N;
|
|
}
|
|
const items = [R[0] - first * first * num, R[1] - first * m[1] * num, R[2] - first * m[2] * num, R[3] - first * m[3] * num, R[4] - m[1] * first * num, R[5] - m[1] * m[1] * num, R[6] - m[1] * m[2] * num, R[7] - m[1] * m[3] * num, R[8] - m[2] * first * num, R[9] - m[2] * m[1] * num, R[10] - m[2] * m[2] * num, R[11] - m[2] * m[3] * num, R[12] - m[3] * first * num, R[13] - m[3] * m[1] * num, R[14] - m[3] * m[2] * num, R[15] - m[3] * m[3] * num];
|
|
let obj = closure_4;
|
|
const items1 = [Math.random(), Math.random(), Math.random(), Math.random()];
|
|
let tmp5 = items1;
|
|
let num2 = 0;
|
|
if (0 != N) {
|
|
const multVecResult = obj.multVec(items, items1);
|
|
const _Math = Math;
|
|
const sqrtResult = Math.sqrt(obj.dot(multVecResult, multVecResult));
|
|
let smlResult = obj.sml(1 / sqrtResult, multVecResult);
|
|
let tmp9 = sqrtResult;
|
|
let num5 = 0;
|
|
const sum = num5 + 1;
|
|
tmp5 = smlResult;
|
|
num2 = tmp9;
|
|
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);
|
|
smlResult = smlResult1;
|
|
tmp9 = sqrtResult1;
|
|
num5 = sum;
|
|
if (0 == sum) {
|
|
continue;
|
|
} else {
|
|
let _Math3 = Math;
|
|
smlResult = smlResult1;
|
|
tmp9 = sqrtResult1;
|
|
num5 = sum;
|
|
tmp5 = smlResult1;
|
|
num2 = tmp11;
|
|
if (Math.abs(sqrtResult1 - tmp11) < 0.000000001) {
|
|
break;
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
const items2 = [first * num, m[1] * num, m[2] * num, m[3] * num];
|
|
obj = { Cov: items, q: items2, e: tmp5, L: num2 };
|
|
obj.eMq255 = obj.dot(obj.sml(255, items2), tmp5);
|
|
obj.eMq = obj.dot(tmp5, items2);
|
|
const tmp15 = Math.round(255 * items2[3]) << 24;
|
|
const tmp16 = Math.round(255 * items2[2]) << 16;
|
|
obj.rgba = (tmp15 | tmp16 | Math.round(255 * items2[1]) << 8 | Math.round(255 * items2[0])) >>> 0;
|
|
return obj;
|
|
}
|
|
({ _copyTile: closure_0, _bin: closure_1, _paeth: closure_2 } = closure_0);
|
|
let uint32Array = new Uint32Array(256);
|
|
let num = 0;
|
|
let tmp2 = num;
|
|
let num2 = 0;
|
|
do {
|
|
do {
|
|
let tmp3 = tmp2 >>> 1;
|
|
let tmp4 = 1 & tmp2 ? 3988292384 ^ tmp3 : tmp3;
|
|
num2 = num2 + 1;
|
|
tmp2 = tmp4;
|
|
} while (num2 < 8);
|
|
uint32Array[num] = tmp4;
|
|
num = num + 1;
|
|
} while (num < 256);
|
|
})();
|
|
|
|
export default tmp;
|