270 lines
12 KiB
JavaScript
270 lines
12 KiB
JavaScript
/* Metro module 4776; source: unknown; dependencies: [4736, 4751, 4752, 4748, 4731] */
|
|
import Module04736 from './module-04736.js'; /* Metro dependency 4736 */
|
|
import * as Module04731Module from './module-04731.js'; /* Metro dependency 4731 */
|
|
import * as IFD_TYPE_Module from './module-04752-IFD_TYPE_.js'; /* Metro dependency 4752 */
|
|
|
|
function _fun41278(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#41278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4954:6, offset: 0x0111a274, size: 132 bytes, params: 8, frame: 16
|
|
const env0_0 = require;
|
|
const getImageFormat = function(a0) {
|
|
var value = a0 >> 24 & 7;
|
|
return {value: value, description: value !== 0 ? 'Unknown' : 'JPEG'};
|
|
};
|
|
const getImageType = function(a0) {
|
|
var value = 16777215 & a0;
|
|
return {value: value, description: ({196608: 'Baseline MP Primary Image',
|
|
65537: 'Large Thumbnail (VGA equivalent)',
|
|
65538: 'Large Thumbnail (Full HD equivalent)', 131073: 'Multi-Frame Image (Panorama)',
|
|
131074: 'Multi-Frame Image (Disparity)', 131075: 'Multi-Frame Image (Multi-Angle)',
|
|
0: 'Undefined'})[value] || 'Unknown'};
|
|
};
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
exports.default = {read: read_41284};
|
|
function getImageNumberValue(a0, a1, a2, a3) { // fn#41279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4954:1195, offset: 0x0111a2f8, size: 153 bytes, params: 5, frame: 19
|
|
var r2;
|
|
var r3;
|
|
var r1;
|
|
var r0;
|
|
var property;
|
|
var value2;
|
|
var value3;
|
|
var value;
|
|
const LITTLE_ENDIAN = (Module04736).LITTLE_ENDIAN;
|
|
if (a3 === LITTLE_ENDIAN) {
|
|
if (value < a2) {
|
|
r1 = value;
|
|
r2 = value;
|
|
reducibleLoop5: while (true) {
|
|
property = a0[a1 + r1];
|
|
value = r2 + (property << 8 * r1);
|
|
value3 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
|
|
if (value3 < a2) {
|
|
r1 = value3;
|
|
r2 = value;
|
|
continue reducibleLoop5;
|
|
}
|
|
r0 = value;
|
|
break reducibleLoop5;
|
|
}
|
|
} else {
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
if (value < a2) {
|
|
r2 = value;
|
|
r3 = value;
|
|
reducibleLoop2: while (true) {
|
|
property = a0[a1 + r2];
|
|
value = r3 + (property << 8 * (a2 - 1 - r2));
|
|
value2 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
|
|
if (value2 < a2) {
|
|
r2 = value2;
|
|
r3 = value;
|
|
continue reducibleLoop2;
|
|
}
|
|
r1 = value;
|
|
break reducibleLoop2;
|
|
}
|
|
} else {
|
|
r1 = value;
|
|
}
|
|
return r1;
|
|
}
|
|
|
|
function getImageOffset(a0, a1, a2, a3) { // fn#41283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4954:2025, offset: 0x0111a496, size: 97 bytes, params: 5, frame: 19
|
|
var r0;
|
|
var getImageNumberValueBinding;
|
|
var value2;
|
|
var value3;
|
|
let value = 0;
|
|
if (value === a0) {
|
|
r0 = value;
|
|
} else {
|
|
getImageNumberValueBinding = getImageNumberValue;
|
|
value2 = a1.value;
|
|
value3 = a0 * env0_3;
|
|
value = importDefault(4748) /* metro dependency 4748 */;
|
|
value = value.getTypeSize('LONG');
|
|
value = getImageNumberValueBinding(value2, value3 + 8, value, a2);
|
|
value += a3;
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function read_41284(a0, a1, a2) { // fn#41284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4954:106, offset: 0x0111a4f7, size: 153 bytes, params: 4, frame: 23
|
|
var value;
|
|
const byteOrder = (Module04736).getByteOrder(a0, a1);
|
|
const readIfd = (require(4751) /* metro dependency 4751 */).readIfd;
|
|
const IFD_TYPE_MPF = (IFD_TYPE_Module).IFD_TYPE_MPF;
|
|
value = Reflect.apply(readIfd, value, [a0, IFD_TYPE_MPF, a1,
|
|
(require(4751) /* metro dependency 4751 */).get0thIfdOffset(a0, a1, byteOrder), byteOrder, a2]);
|
|
addMpfImages(a0, a1, value, byteOrder);
|
|
return value;
|
|
function addMpfImages(a0, a1, a2, a3) { // fn#41285, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4954:247, owner: read_41284.addMpfImages, offset: 0x0111a590, size: 660 bytes, params: 5, frame: 37
|
|
var environment;
|
|
var r11;
|
|
var items2;
|
|
var Math;
|
|
var ceil;
|
|
var value;
|
|
var length;
|
|
var value2;
|
|
var value3;
|
|
var getImageNumberValueBinding;
|
|
var value4;
|
|
var value5;
|
|
var defaultImport;
|
|
var getTypeSize;
|
|
var imageNumberValueBinding;
|
|
var property;
|
|
var value7;
|
|
var value8;
|
|
var defaultImport2;
|
|
var value9;
|
|
var imageNumberValueBinding2;
|
|
var object;
|
|
var getImageOffsetBinding;
|
|
var imageOffsetBinding;
|
|
var object2;
|
|
var value12;
|
|
var value13;
|
|
var defaultImport3;
|
|
var value14;
|
|
var imageNumberValueBinding3;
|
|
var object3;
|
|
var value16;
|
|
var value17;
|
|
var defaultImport4;
|
|
var value18;
|
|
var imageNumberValueBinding4;
|
|
var object4;
|
|
var buffer;
|
|
var slice;
|
|
var moduleValue;
|
|
var deferInit;
|
|
var value20;
|
|
var value21;
|
|
let MPEntry = a2.MPEntry;
|
|
if (MPEntry) {
|
|
items2 = [];
|
|
Math = global.Math;
|
|
ceil = Math.ceil;
|
|
MPEntry = a2.MPEntry;
|
|
value = MPEntry.value;
|
|
length = value.length;
|
|
value = environment.__proto__;
|
|
value2 = Reflect.apply(ceil, Math, [length / env1_3]);
|
|
value3 = 0;
|
|
if (value3 < value2) {
|
|
r11 = value3;
|
|
reducibleLoop3: while (true) {
|
|
items2[r11] = {};
|
|
getImageNumberValueBinding = getImageNumberValue;
|
|
MPEntry = a2.MPEntry;
|
|
value4 = MPEntry.value;
|
|
value5 = r11 * env1_3;
|
|
defaultImport = importDefault(4748) /* metro dependency 4748 */;
|
|
getTypeSize = defaultImport.getTypeSize;
|
|
imageNumberValueBinding = getImageNumberValueBinding(value4, value5, Reflect.apply(getTypeSize,
|
|
defaultImport,
|
|
['LONG']), a3);
|
|
property = items2[r11];
|
|
property.ImageFlags = getImageFlags(imageNumberValueBinding);
|
|
property = items2[r11];
|
|
property.ImageFormat = getImageFormat(imageNumberValueBinding);
|
|
property = items2[r11];
|
|
property.ImageType = getImageType(imageNumberValueBinding);
|
|
MPEntry = a2.MPEntry;
|
|
value7 = MPEntry.value;
|
|
value8 = r11 * env1_3;
|
|
defaultImport2 = importDefault(4748) /* metro dependency 4748 */;
|
|
getTypeSize = defaultImport2.getTypeSize;
|
|
value9 = Reflect.apply(getTypeSize, defaultImport2, ['LONG']);
|
|
imageNumberValueBinding2 = getImageNumberValueBinding(value7, value8 + 4, value9, a3);
|
|
property = items2[r11];
|
|
object = {value: imageNumberValueBinding2, description: String(imageNumberValueBinding2)};
|
|
property.ImageSize = object;
|
|
getImageOffsetBinding = getImageOffset;
|
|
MPEntry = a2.MPEntry;
|
|
imageOffsetBinding = getImageOffsetBinding(r11, MPEntry, a3, a1);
|
|
property = items2[r11];
|
|
object2 = {value: imageOffsetBinding, description: String(imageOffsetBinding)};
|
|
property.ImageOffset = object2;
|
|
MPEntry = a2.MPEntry;
|
|
value12 = MPEntry.value;
|
|
value13 = r11 * env1_3;
|
|
defaultImport3 = importDefault(4748) /* metro dependency 4748 */;
|
|
getTypeSize = defaultImport3.getTypeSize;
|
|
value14 = Reflect.apply(getTypeSize, defaultImport3, ['SHORT']);
|
|
imageNumberValueBinding3 = getImageNumberValueBinding(value12, value13 + 12, value14, a3);
|
|
property = items2[r11];
|
|
object3 = {value: imageNumberValueBinding3, description: String(imageNumberValueBinding3)};
|
|
property.DependentImage1EntryNumber = object3;
|
|
MPEntry = a2.MPEntry;
|
|
value16 = MPEntry.value;
|
|
value17 = r11 * env1_3;
|
|
defaultImport4 = importDefault(4748) /* metro dependency 4748 */;
|
|
getTypeSize = defaultImport4.getTypeSize;
|
|
value18 = Reflect.apply(getTypeSize, defaultImport4, ['SHORT']);
|
|
imageNumberValueBinding4 = getImageNumberValueBinding(value16, value17 + 14, value18, a3);
|
|
property = items2[r11];
|
|
object4 = {value: imageNumberValueBinding4, description: String(imageNumberValueBinding4)};
|
|
property.DependentImage2EntryNumber = object4;
|
|
property = items2[r11];
|
|
buffer = a0.buffer;
|
|
slice = buffer.slice;
|
|
property.image = Reflect.apply(slice, buffer, [imageOffsetBinding,
|
|
imageOffsetBinding + imageNumberValueBinding2]);
|
|
moduleValue = require(4731) /* metro dependency 4731 */;
|
|
deferInit = moduleValue.deferInit;
|
|
property = items2[r11];
|
|
Reflect.apply(deferInit, moduleValue, [property, 'base64', _fun41286]);
|
|
value20 = typeof r11 === 'bigint' ? r11 + 1n : +r11 + 1;
|
|
Math = global.Math;
|
|
ceil = Math.ceil;
|
|
MPEntry = a2.MPEntry;
|
|
value21 = MPEntry.value;
|
|
length = value21.length;
|
|
if (value20 < Reflect.apply(ceil, Math, [length / env1_3])) {
|
|
r11 = value20;
|
|
continue reducibleLoop3;
|
|
}
|
|
break reducibleLoop3;
|
|
}
|
|
}
|
|
a2.Images = items2;
|
|
}
|
|
return a2;
|
|
function _fun41286() { // fn#41286, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4954:1102, offset: 0x0111a824, size: 47 bytes, params: 1, frame: 11
|
|
const value = environment.__proto__.__proto__;
|
|
return (Module04731Module).getBase64Image(this.image);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function getImageFlags(a0) { // fn#41280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4954:1367, offset: 0x0111a391, size: 168 bytes, params: 2, frame: 13
|
|
const items3 = [a0 >> 31 & 1, a0 >> 30 & 1, a0 >> 29 & 1];
|
|
const items2 = [];
|
|
if (items3[0]) {
|
|
items2.push('Dependent Parent Image');
|
|
}
|
|
if (items3[1]) {
|
|
items2.push('Dependent Child Image');
|
|
}
|
|
if (items3[2]) {
|
|
items2.push('Representative Image');
|
|
}
|
|
const object = {value: items3};
|
|
object.description = items2.join(', ') || 'None';
|
|
return object;
|
|
}
|
|
|
|
global.__d(_fun41278, 4776, [4736, 4751, 4752, 4748,
|
|
4731]) /* metro module 4776, dependencies: [4736, 4751, 4752, 4748, 4731] */;
|