/* Metro module 4741; source: unknown; dependencies: [4742] */ function _fun40930(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#40930, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4919:6, offset: 0x01110844, size: 102 bytes, params: 8, frame: 16 const env0_0 = require; const getItemId = function(a0, a1, a2) { return a2 < 2 ? a0.getUint16(a1) : a2 !== 2 ? undefined : a0.getUint32(a1); }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); exports.parseItemLocationBox = parseItemLocationBox; function getItems(a0, a1, {items}, a3, a4, a5, a6, a7) { // fn#40931, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4919:44, offset: 0x011108aa, size: 472 bytes, params: 9, frame: 34 var r1; var r7; var r16; var r18; var r19; var object; var item; var itemId; var value4; var getUint16; var value5; var constructionMethod; var value6; var dataReferenceIndex; var value7; var getVariableSizedValueBinding; var baseOffset; var value8; var extentCount; var value9; var object2; var extent; var extentIndex; var value10; var extentOffset; var value11; var extentLength; var value12; var extents; var push; var value13; var value14; if (a7 === undefined) { return []; } const items2 = []; if (0 < a7) { r1 = 0; r7 = items2; reducibleLoop2: while (true) { object = {extents: []}; object.itemId = getItemId(a0, r7, a1); item = a3.item; itemId = item.itemId; value4 = r7 + itemId; reducibleJoin5: while (true) { reducibleJoin4: while (true) { if (a1 === 1) { break reducibleJoin4; } if (a1 !== 2) { r16 = undefined; break reducibleJoin5; } break reducibleJoin4; } getUint16 = a0.getUint16; value5 = 15 & Reflect.apply(getUint16, a0, [value4]); r16 = value5; break reducibleJoin5; } object.constructionMethod = r16; item = a3.item; constructionMethod = item.constructionMethod; value6 = value4 + constructionMethod; getUint16 = a0.getUint16; object.dataReferenceIndex = Reflect.apply(getUint16, a0, [value6]); item = a3.item; dataReferenceIndex = item.dataReferenceIndex; value7 = value6 + dataReferenceIndex; getVariableSizedValueBinding = getVariableSizedValue; item = a3.item; baseOffset = item.baseOffset; object.baseOffset = getVariableSizedValueBinding(a0, value7, baseOffset); item = a3.item; baseOffset = item.baseOffset; value8 = value7 + baseOffset; getUint16 = a0.getUint16; object.extentCount = Reflect.apply(getUint16, a0, [value8]); item = a3.item; extentCount = item.extentCount; value9 = value8 + extentCount; extentCount = object.extentCount; if (0 < extentCount) { r18 = 0; r19 = value9; reducibleLoop6: while (true) { object2 = {}; object2.extentIndex = getExtentIndex(a0, a1, r19, a6); item = a3.item; extent = item.extent; extentIndex = extent.extentIndex; value10 = r19 + extentIndex; getVariableSizedValueBinding = getVariableSizedValue; object2.extentOffset = getVariableSizedValueBinding(a0, value10, a4); item = a3.item; extent = item.extent; extentOffset = extent.extentOffset; value11 = value10 + extentOffset; object2.extentLength = getVariableSizedValueBinding(a0, value11, a5); item = a3.item; extent = item.extent; extentLength = extent.extentLength; value12 = value11 + extentLength; extents = object.extents; push = extents.push; Reflect.apply(push, extents, [object2]); value13 = typeof r18 === 'bigint' ? r18 + 1n : +r18 + 1; extentCount = object.extentCount; if (value13 < extentCount) { r18 = value13; r19 = value12; continue reducibleLoop6; } r7 = value12; break reducibleLoop6; } } else { r7 = value9; } push = items2.push; Reflect.apply(push, items2, [object]); value14 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1; if (value14 < a7) { r1 = value14; continue reducibleLoop2; } break reducibleLoop2; } } return items2; } function getExtentIndex(a0, a1, a2, a3) { // fn#40933, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4919:857, offset: 0x01110ab2, size: 54 bytes, params: 5, frame: 15 if (a1 !== 1) { if (a1 !== 2) { return undefined; } } if (a3 > 0) { return getVariableSizedValue(a0, a2, a3); } } function getVariableSizedValue(a0, a1, a2) { // fn#40934, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4919:949, offset: 0x01110ae8, size: 100 bytes, params: 4, frame: 16 var r0; var value; if (a2 === 4) { r0 = a0.getUint32(a1); } else { value = 0; if (a2 !== 8) { r0 = value; } else { global.console.warn('This file uses an 8-bit offset which is currently not supported by ExifReader. Contact the maintainer to get it fixed.'); value = require(dependencyMap[value]); value = value.get64BitValue(a0, a1); r0 = value; } } return r0; } function parseItemLocationBox(a0, a1, a2, a3) { // fn#40935, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4919:1259, offset: 0x01110b4c, size: 569 bytes, params: 5, frame: 28 let value = a2 + 3; let object = {}; const value2 = 2; object.item = {'dataReferenceIndex': 2, 'extentCount': 2, extent: {}}; if (a1 < value2) { object.itemCount = value2; object.item.itemId = value2; } else if (value2 === a1) { object.itemCount = 4; object.item.itemId = 4; } const item = object.item; const value3 = a1 === 1; item.constructionMethod = value3 ? value2 : value2 !== a1 ? 0 : value2; const object3 = {offsetSize: value, lengthSize: value}; const value5 = value + 1; object3.baseOffsetSize = value5; object3.indexSize = value5; object3.itemCount = value + value2; let itemCount = object3.itemCount; object3.items = itemCount + object.itemCount; value = 0; object3.item = {itemId: value}; object3.item.constructionMethod = object3.item.itemId + object.item.itemId; object3.item.dataReferenceIndex = object3.item.constructionMethod + object.item.constructionMethod; const {offsets, sizes} = {offsets: object3, sizes: object}; let getUint8 = a0.getUint8; const value7 = Reflect.apply(getUint8, a0, [offsets.offsetSize]) >> 4; let extent = sizes.item.extent; extent.extentOffset = value7; getUint8 = a0.getUint8; const value9 = 15 & Reflect.apply(getUint8, a0, [offsets.lengthSize]); sizes.item.extent.extentLength = value9; getUint8 = a0.getUint8; sizes.item.baseOffset = Reflect.apply(getUint8, a0, [offsets.baseOffsetSize]) >> 4; const indexSize = offsets.indexSize; const r4 = value3 ? 15 & a0.getUint8(indexSize) : value2 !== a1 ? undefined : 15 & a0.getUint8(indexSize); extent = sizes.item.extent; const value13 = undefined; let r2 = value13 === r4 ? value : r4; extent.extentIndex = r2; itemCount = offsets.itemCount; r2 = a1 < value2 ? a0.getUint16(itemCount) : value2 !== a1 ? value13 : a0.getUint32(itemCount); object = {type: 'iloc'}; object.items = getItems(a0, a1, offsets, sizes, value7, value9, r4, r2); object.length = a3; return object; } } global.__d(_fun40930, 4741, [4742]) /* metro module 4741, dependencies: [4742] */;