/* Metro module 14; source: modules/tti_analytics/TTITracker.tsx; dependencies: [15, 17, 18, 5, 6, 7, 20, 2, 21, 22, 2] */ function _fun184(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#184, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:6, offset: 0x00c3a90b, size: 372 bytes, params: 8, frame: 20 const env0_1 = require; const _arrayLikeToArray_187 = function(a0, a1) { var r0; var r1; var r2; var value3; var length; var value5; var value = undefined; var value2 = value == null; reducibleJoin2: while (true) { if (value2) { r0 = value2; break reducibleJoin2; } value3 = value > a0.length; r0 = value3; break reducibleJoin2; } reducibleJoin4: while (true) { if (r0) { length = a0.length; r1 = length; break reducibleJoin4; } r1 = value; break reducibleJoin4; } value = (0, global.Array)(r1); var value4 = 0; if (value4 < r1) { r2 = value4; reducibleLoop5: while (true) { value[r2] = a0[r2]; value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value5 < r1) { r2 = value5; continue reducibleLoop5; } break reducibleLoop5; } } return value; }; const _serialize = function(a0, a1) { if (a1 === 0) { return null; } var value = null; if (value == a1) { return null; } var value2 = a1 - a0; return value2 < 0 || value2 > 1000000 ? value : value2; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_5 = importDefault(15) /* metro dependency 15 */; const env0_6 = importDefault(17) /* metro dependency 17 */; const env0_7 = importDefault(18) /* metro dependency 18 */; const env0_8 = importDefault(5) /* metro dependency 5 */; const env0_9 = importDefault(6) /* metro dependency 6 */; let value = importDefault(7) /* metro dependency 7 */; const loggerCallback = function() { }; global.__timingFunction = function() { return global.performance.now(); }; const env0_12 = global.__getTotalRequireTime == null ? function() { return 0; } : _fun195; const env0_13 = _fun196(); const env0_14 = _fun216(); const env0_15 = _fun223(); value = value(TTITrackers); value = _fun227(value); value = new value(); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/tti_analytics/TTITracker.tsx'); exports.default = value; } function _createForOfIteratorHelperLoose_185(a0, a1) { // fn#185, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:160, offset: 0x00c3aa7f, size: 370 bytes, params: 3, frame: 20 var r6; var r9; var r5; var value3; var regexp; const env0_0 = a0; const Symbol = global.Symbol; let value = typeof Symbol !== 'undefined'; let r1 = value && a0[global.Symbol.iterator]; r1 = !r1 ? a0['@@iterator'] : r1; if (r1) { value = r1.call(a0); return value.next.bind(value); } const Array = global.Array; if (Array.isArray(a0)) { if (r1) { } return _fun186; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_187(a0, value); r5 = value; } else { value3 = ({}).toString.call(a0).slice(8, -1); r6 = value3 === 'Object' && a0.constructor; r9 = r6 ? a0.constructor.name : value3; if (r9 === 'Map') { r6 = global.Array.from(a0); } else if (r9 === 'Set') { r6 = global.Array.from(a0); } else if (r9 === 'Arguments') { value = _arrayLikeToArray_187(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_187(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun186; } const TypeError = global.TypeError; throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'); } function _isNativeReflectConstruct() { // fn#188, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:1070, offset: 0x00c3abf1, size: 94 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_body = function() { return !!result; })(); } function _fun195() { // fn#195, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:1372, offset: 0x00c3ac97, size: 19 bytes, params: 1, frame: 9 return env0_0.__getTotalRequireTime(); } function _fun196() { // fn#196, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:1498, offset: 0x00c3acaa, size: 388 bytes, params: 1, frame: 17 const binding = env0_10; const closure = TTITimer; const items2 = [{key: 'start', get: function() { return this.start_; }}]; items2[1] = {key: 'end', get: function() { return this.end_; }}; items2[2] = {key: 'hasStart', value: function() { return this.start_ > 0; }}; items2[3] = {key: 'hasData', value: function() { return this.end_ > 0; }}; items2[4] = {key: 'recordStart', value: function() { if (this.start_ === 0) { this.recordStart_(); } importDefault(dependencyMap[6]).mark(this.emoji, 'Start ' + this.name); loggerCallback(); }}; items2[5] = {key: 'recordStart_', value: value_203}; items2[6] = {key: 'recordEnd', value: value_204}; items2[7] = {key: 'recordEnd_', value: value_205}; items2[8] = {key: 'set', value: value_206}; items2[9] = {key: 'serializeStart', value: function(a0) { return _serialize(a0, this.start_); }}; items2[10] = {key: 'serializeEnd', value: function(a0) { return _serialize(a0, this.end_); }}; items2[11] = {key: 'measure', value: value_209}; const binding2 = env0_8; const env0_1 = binding2(_fun211); items2[12] = {key: 'measureAsync', value: value_212}; const env0_0 = binding2(_fun214); items2[13] = {key: 'measureAsyncWithoutNesting', value: value_215}; return binding(closure, items2); } function _fun216() { // fn#216, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:3751, offset: 0x00c3b410, size: 147 bytes, params: 1, frame: 15 return env0_10(TTIEvent, [{key: 'time', get: function() { return this.time_; }}, {key: 'record', value: value_219}, {key: 'recordState_', value: value_220}, {key: 'hasData', value: function() { return this.time_ > 0; }}, {key: 'serialize', value: function(a0) { return _serialize(a0, this.time_); }}]); } function _fun223() { // fn#223, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4486, offset: 0x00c3b642, size: 78 bytes, params: 1, frame: 15 return env0_10(TTIImportEvent, [{key: 'time', get: function() { return this.time_; }}, {key: 'record', value: value_226}]); } function _fun227(a0) { // fn#227, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4696, offset: 0x00c3b6d9, size: 415 bytes, params: 2, frame: 16 const closure = TTITracker; env0_7(closure, a0); return env0_10(closure, [{key: 'setTTICallback', value: function(a0) { var env0_0 = a0; env1_11 = _fun230; }}, {key: 'setInitialPage', value: function(a0) { this.initialPage = a0; }}, {key: 'setInitialGuildId', value: function(a0) { this.initialGuildId = a0; }}, {key: 'setEarlyCacheInfo', value: function(a0) { this.earlyCacheInfo = a0; }}, {key: 'setLazyCacheInfo', value: function(a0) { this.lazyCacheInfo = a0; }}, {key: 'setInterstitial', value: function(a0) { this.interstitial = a0; loggerCallback(); }}, {key: 'addLocalMessages', value: function(a0, a1) { var value; var cachedChannelCounts = this.cachedChannelCounts; cachedChannelCounts.set(a0, a1); if (this.cachedChannelCounts.size > 100) { while (true) { cachedChannelCounts = this.cachedChannelCounts; value = cachedChannelCounts.keys(); cachedChannelCounts = this.cachedChannelCounts; cachedChannelCounts.delete(value.next().value); if (!(this.cachedChannelCounts.size > 100)) { break; } } } }}, {key: 'attachReadyPayloadProperties', value: function(a0) { this.readyProperties = a0; }}, {key: 'appStateChanged', value: function(a0) { if (a0 === 'active') { if (this.firstAppActiveTime == null) { this.firstAppActiveTime = global.Date.now(); } this.wasEverActive = true; } if (this.readyProperties.num_guilds == null) { this.didBackgroundApp = this.didBackgroundApp || a0 !== 'active'; } }}, {key: 'recordRender', value: function(a0, a1) { var value = a1; this.renderMessages.record(); if (value || a0 > 0) { this.renderMessagesWithCache.record(); } if (value) { this.renderLatestMessages.record(); } }}, {key: 'recordMessageRender', value: value_241}, {key: 'getStartTime', value: function(a0) { var value = a0; return this.extraProperties.headless_task_ran && this.firstAppActiveTime != null ? this.firstAppActiveTime : value == null || value <= 0 ? this.loadIndex.start : value; }}, {key: 'processNativeLogs', value: value_244}, {key: 'serializeAppStartupMetrics', value: function() { return {ready_packing_algorithm: this.readyProperties.packing_algorithm, ready_unpack_duration_ms: this.readyProperties.unpack_duration_ms}; }}, {key: 'serializeWebPerfStartupMetrics', value: function(a0) { var r3; var object = {}; copyDataProperties(object, this.serializeAppStartupMetrics(), r3); object['was_authenticated'] = this.wasAuthenticated; object['time_first_render_after_ready_end'] = this.firstRenderAfterReadyPayload.serialize(a0); return object; }}, {key: 'serializeTTITracker', value: value_247}]); } function TTITrackers() { // fn#250, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:21829, offset: 0x00c3d3d9, size: 1668 bytes, params: 1, frame: 23 let binding = env0_9; binding(this, TTITrackers); binding = env0_13; const value2 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding2 = new binding('❗', 'Load index.tsx'); this.loadIndex = binding2 instanceof Object ? binding2 : value2; binding = env0_13; const value5 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding3 = new binding('💾', 'Load fast_connect native module'); this.loadFastConnectNativeModule = binding3 instanceof Object ? binding3 : value5; binding = env0_13; const value8 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding4 = new binding('🌐', 'Fast Connect IDENTIFY'); this.beginFastConnect = binding4 instanceof Object ? binding4 : value8; binding = env0_13; const value11 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding5 = new binding('🏃', 'Load Imports'); this.loadImports = binding5 instanceof Object ? binding5 : value11; binding = env0_13; const value14 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding6 = new binding('🏃', 'Initial Initialization'); this.init = binding6 instanceof Object ? binding6 : value14; binding = env0_13; const value17 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding7 = new binding('💾', 'Load Storage'); this.loadStorage = binding7 instanceof Object ? binding7 : value17; binding = env0_13; const value20 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding8 = new binding('💾', 'Parse Storage'); this.parseStorage = binding8 instanceof Object ? binding8 : value20; binding = env0_13; const value23 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding9 = new binding('💾', 'Load Mini Cache'); this.loadMiniCache = binding9 instanceof Object ? binding9 : value23; binding = env0_13; const value26 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding10 = new binding('💾', 'Fetch Guild Cache'); this.fetchGuildCache = binding10 instanceof Object ? binding10 : value26; binding = env0_13; const value29 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding11 = new binding('💾', 'Fetch Initial Guild Channels Cache'); this.fetchGuildChannelsCache = binding11 instanceof Object ? binding11 : value29; binding = env0_13; const value32 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding12 = new binding('💾', 'Load Cached Messages'); this.loadCachedMessages = binding12 instanceof Object ? binding12 : value32; binding = env0_14; const value35 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding13 = new binding('🎨', 'First React Render'); this.renderApp = binding13 instanceof Object ? binding13 : value35; binding = env0_14; const value38 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding14 = new binding('🎨', 'First React Render useEffect'); this.renderAppEffect = binding14 instanceof Object ? binding14 : value38; binding = env0_14; const value41 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding15 = new binding('🎨', 'First Contentful Paint', false, true); this.firstContentfulPaint = binding15 instanceof Object ? binding15 : value41; binding = env0_14; const value44 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding16 = new binding('🎨', 'React Render Messages', true); this.renderMessages = binding16 instanceof Object ? binding16 : value44; binding = env0_14; const value47 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding17 = new binding('🎨', 'React Render Cached Messages', true); this.renderMessagesWithCache = binding17 instanceof Object ? binding17 : value47; binding = env0_13; const value50 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding18 = new binding('🎨', 'RowGenerator.generate()'); this.firstRowGenerator = binding18 instanceof Object ? binding18 : value50; binding = env0_14; const value53 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding19 = new binding('🖥️', 'Display Cached Messages', false, true); this.displayMessagesWithCache = binding19 instanceof Object ? binding19 : value53; binding = env0_14; const value56 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding20 = new binding('🎨', 'First Render after Ready Payload', true); this.firstRenderAfterReadyPayload = binding20 instanceof Object ? binding20 : value56; binding = env0_14; const value59 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding21 = new binding('🎨', 'React Render Latest Messages'); this.renderLatestMessages = binding21 instanceof Object ? binding21 : value59; binding = env0_14; const value62 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding22 = new binding('🖥️', 'Display Latest Messages'); this.displayLatestMessages = binding22 instanceof Object ? binding22 : value62; binding = env0_13; const value65 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding23 = new binding('🌐', 'Initial Guild'); this.initialGuild = binding23 instanceof Object ? binding23 : value65; binding = env0_13; const value68 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding24 = new binding('💾', 'Load Lazy Cache'); this.loadLazyCache = binding24 instanceof Object ? binding24 : value68; binding = env0_13; const value71 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding25 = new binding('💾', 'Fetch Lazy Cache'); this.fetchLazyCache = binding25 instanceof Object ? binding25 : value71; binding = env0_13; const value74 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding26 = new binding('💾', 'Parse Lazy Cache'); this.parseLazyCache = binding26 instanceof Object ? binding26 : value74; binding = env0_13; const value77 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding27 = new binding('💾', 'Fetch Stale Channels'); this.fetchStaleChannels = binding27 instanceof Object ? binding27 : value77; binding = env0_13; const value80 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding28 = new binding('💾', 'Deserialize Cache'); this.deserializeCache = binding28 instanceof Object ? binding28 : value80; binding = env0_13; const value83 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding29 = new binding('💾', 'Dispatch Lazy Cache'); this.dispatchLazyCache = binding29 instanceof Object ? binding29 : value83; binding = env0_13; const value86 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding30 = new binding('🌐', 'Parse READY'); this.parseReady = binding30 instanceof Object ? binding30 : value86; binding = env0_13; const value89 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding31 = new binding('🌐', 'READY'); this.ready = binding31 instanceof Object ? binding31 : value89; binding = env0_13; const value92 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding32 = new binding('🌐', 'Hydrate READY'); this.hydrateReady = binding32 instanceof Object ? binding32 : value92; binding = env0_13; const value95 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding33 = new binding('🌐', 'Dispatch READY'); this.dispatchReady = binding33 instanceof Object ? binding33 : value95; binding = env0_13; const value98 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding34 = new binding('🌐', 'Parse READY Supplemental'); this.parseReadySupplemental = binding34 instanceof Object ? binding34 : value98; binding = env0_13; const value101 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding35 = new binding('🌐', 'READY Supplemental'); this.readySupplemental = binding35 instanceof Object ? binding35 : value101; binding = env0_13; const value104 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding36 = new binding('🌐', 'Hydrate READY Supplemental'); this.hydrateReadySupplemental = binding36 instanceof Object ? binding36 : value104; binding = env0_13; const value107 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding37 = new binding('🌐', 'Dispatch READY Supplemental'); this.dispatchReadySupplemental = binding37 instanceof Object ? binding37 : value107; binding = env0_13; const value110 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding38 = new binding('🌐', 'Fetch messages'); this.fetchMessages = binding38 instanceof Object ? binding38 : value110; binding = env0_13; const value113 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding39 = new binding('🌐', 'Dispatch messages'); this.dispatchMessages = binding39 instanceof Object ? binding39 : value113; const object2 = {}; binding = env0_15; const value116 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding40 = new binding(); object2.polyfillsEnd = binding40 instanceof Object ? binding40 : value116; binding = env0_15; const value119 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding41 = new binding(); object2.sentryEnd = binding41 instanceof Object ? binding41 : value119; binding = env0_15; const value122 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding42 = new binding(); object2.appStateChangeStart = binding42 instanceof Object ? binding42 : value122; binding = env0_15; const value125 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding43 = new binding(); object2.appStateChangeEnd = binding43 instanceof Object ? binding43 : value125; binding = env0_15; const value128 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding44 = new binding(); object2.loadMiniCacheStart = binding44 instanceof Object ? binding44 : value128; binding = env0_15; const value131 = Object.create(binding.prototype, {constructor: {value: binding}}); const binding45 = new binding(); object2.loadStorageStart = binding45 instanceof Object ? binding45 : value131; object2.loadStorageEnd = new env0_15(); this.imports = object2; } function TTITimer(a0, a1) { // fn#197, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:1519, offset: 0x00c3ae2e, size: 83 bytes, params: 3, frame: 13 env1_9(this, TTITimer); this.emoji = a0; this.name = a1; this.start_ = 0; this.startNumImports = 0; this.startImportTime = 0; this.end_ = 0; this.endNumImports = 0; this.endImportTime = 0; } function value_203() { // fn#203, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2068, offset: 0x00c3af24, size: 82 bytes, params: 1, frame: 13 const Date = global.Date; this.start_ = Date.now(); const moduleValue = importAll(2) /* metro dependency 2 */; this.startNumImports = moduleValue.size(); this.startImportTime = env1_12(); } function value_204() { // fn#204, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2189, offset: 0x00c3af76, size: 213 bytes, params: 1, frame: 17 var value; if (this.end_ !== 0) { value = environment.__proto__; value = importDefault(20) /* metro dependency 20: AppStartPerformance */; value.mark(this.emoji, 'Finish ' + this.name); } else if (this.start_ !== 0) { this.recordEnd_(); value = environment.__proto__; value = importDefault(20) /* metro dependency 20: AppStartPerformance */; value.mark(this.emoji, 'Finish ' + this.name, this.end_ - this.start_); } else { value = environment.__proto__; value = importDefault(20) /* metro dependency 20: AppStartPerformance */; value.mark(this.emoji, 'Finish ' + this.name); } value = environment.__proto__; loggerCallback(); } function value_205() { // fn#205, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2410, offset: 0x00c3b04b, size: 82 bytes, params: 1, frame: 13 const Date = global.Date; this.end_ = Date.now(); const moduleValue = importAll(2) /* metro dependency 2 */; this.endNumImports = moduleValue.size(); this.endImportTime = env1_12(); } function value_206(a0, a1) { // fn#206, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2519, offset: 0x00c3b09d, size: 150 bytes, params: 3, frame: 17 var value; var moduleValue; if (this.start_ === 0) { this.start_ = a0; this.end_ = a0 + a1; value = environment.__proto__; moduleValue = importAll(2) /* metro dependency 2 */; this.endNumImports = moduleValue.size(); this.endImportTime = env1_12(); } const defaultImport = importDefault(20) /* metro dependency 20: AppStartPerformance */; defaultImport.mark(this.emoji, this.name, a1); loggerCallback(); } function value_209(a0) { // fn#209, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:2861, offset: 0x00c3b16d, size: 148 bytes, params: 2, frame: 18 var value; if (this.start_ > 0) { value = environment.__proto__; value = importDefault(20) /* metro dependency 20: AppStartPerformance */; return value.time(this.emoji, this.name, a0); } this.recordStart_(); value = environment.__proto__; const defaultImport = importDefault(20) /* metro dependency 20: AppStartPerformance */; const value2 = defaultImport.time(this.emoji, this.name, a0); this.recordEnd_(); loggerCallback(); return value2; } function* _fun211(a0) { // fn#211, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:3075, offset: 0x00c3b20a, size: 176 bytes, params: 2, frame: 19 let value = undefined; if (false) { return value; } if (this.start_ > 0) { value = environment.__proto__.__proto__; value = env2_2(env2_4[6]); return value.timeAsync(this.emoji, this.name, a0); } this.recordStart_(); value = environment.__proto__.__proto__; const value3 = env2_2(env2_4[6]); yield value3.timeAsync(this.emoji, this.name, a0); const value4 = undefined; if (true) { this.recordEnd_(); env2_11(); } return value4; } function* _fun214(a0) { // fn#214, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:3379, offset: 0x00c3b2e1, size: 303 bytes, params: 2, frame: 24 var emoji; let value = undefined; if (false) { return value; } if (this.start_ > 0) { value = environment.__proto__.__proto__; value = env2_2(env2_4[6]); return value.timeAsync(this.emoji, this.name, a0); } this.recordStart_(); let Date = global.Date; value = Date.now(); const value4 = env2_2(env2_4[6]); let mark = value4.mark; Reflect.apply(mark, value4, [this.emoji, 'Start ' + this.name]); yield a0(); const value5 = undefined; if (true) { var value7 = env2_2(env2_4[6]); mark = value7.mark; emoji = this.emoji; var value8 = 'Finish ' + this.name; Date = global.Date; Reflect.apply(mark, value7, [emoji, value8, Date.now() - value]); this.recordEnd_(); env2_11(); } return value5; } function TTIEvent(a0, a1) { // fn#217, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:3772, offset: 0x00c3b4a3, size: 97 bytes, params: 3, frame: 15 let value = a2; const value2 = a3; const r3 = value !== undefined ? value : false; const r1 = value2 !== undefined ? value2 : false; value = environment.__proto__; env1_9(this, TTIEvent); this.emoji = a0; this.name = a1; this.onlyOnce = r3; this.alwaysRecord = r1; this.time_ = 0; this.numImports = null; this.importTime = 0; } function value_219() { // fn#219, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4005, offset: 0x00c3b50f, size: 154 bytes, params: 1, frame: 17 let value = a0; const r3 = value !== undefined ? value : global.Date.now(); if (this.time_ === 0) { this.recordState_(r3); value = environment.__proto__; loggerCallback(); } else { if (this.onlyOnce) { value = environment.__proto__; loggerCallback(); return undefined; } var alwaysRecord = this.alwaysRecord; value = environment.__proto__; if (alwaysRecord) { this.recordState_(r3); loggerCallback(); return undefined; } value = importDefault(20) /* metro dependency 20: AppStartPerformance */; value.mark(this.emoji, this.name); value = environment.__proto__; loggerCallback(); } } function value_220(a0) { // fn#220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4242, offset: 0x00c3b5a9, size: 107 bytes, params: 2, frame: 15 this.time_ = a0; let value = environment.__proto__; const moduleValue = importAll(2) /* metro dependency 2 */; this.numImports = moduleValue.size(); this.importTime = env1_12(); value = importDefault(20) /* metro dependency 20: AppStartPerformance */; value.mark(this.emoji, this.name); } function TTIImportEvent() { // fn#224, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4507, offset: 0x00c3b690, size: 35 bytes, params: 1, frame: 13 env1_9(this, TTIImportEvent); this.time_ = 0; } function value_226() { // fn#226, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4639, offset: 0x00c3b6b3, size: 38 bytes, params: 1, frame: 10 var value; if (this.time_ === 0) { value = environment.__proto__; this.time_ = env1_12(); } } function TTITracker(a0) { // fn#228, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:4708, offset: 0x00c3b878, size: 300 bytes, params: 2, frame: 19 var r0; var Reflect; let value = copyRestArgs(0, undefined); let binding = env1_9; binding(this, TTITracker); const items2 = []; arraySpread(items2, value, 0, items2); value = env1_6(TTITracker); binding = env1_5; if (_isNativeReflectConstruct()) { Reflect = global.Reflect; value = Reflect.construct(value, items2, env1_6(this).constructor); r0 = value; } else { value = value.apply(this, items2); r0 = value; } value = binding(this, r0); value.readyProperties = {}; value.didBackgroundApp = false; value.wasEverActive = false; value.wasAuthenticated = false; value.interstitial = null; const Map = global.Map; const value4 = Object.create(Map.prototype, {constructor: {value: Map}}); const map = new Map(); value.cachedChannelCounts = map instanceof Object ? map : value4; value.cachedChannelId = null; value.cachedMessageIds = null; value.messageCacheMissingReason = 'never-loaded'; value.messageCacheAgeSeconds = null; value.messageCacheCount = null; value.messageCacheHavingCount = null; value.messageCacheMissingCount = null; value.messageRenderFullCount = null; value.messageRenderCachedCount = null; value.messageRenderHasMoreAfter = null; value.firstAppActiveTime = null; value.initialPage = null; value.initialGuildId = null; value.earlyCacheInfo = null; value.lazyCacheInfo = null; value.extraProperties = {}; return value; } function value_229(a0) { // fn#229, offset: 0x00c3b9a4, size: 25 bytes, params: 2, frame: 2 const env0_0 = a0; } function value_241(a0, a1, a2, a3) { // fn#241, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:6692, offset: 0x00c3bb6c, size: 583 bytes, params: 5, frame: 20 var environment; var cachedChannelId; var cachedMessageIds; var sort; var compare; var value2; var reverse; var property2; var value3; var property3; var Math; var value6; let value = environment.__proto__; const property = (require(21) /* metro dependency 21: SnowflakeUtils */).default; const renderLatestMessages = this.renderLatestMessages; if (!renderLatestMessages.hasData()) { this.renderMessages.record(); var length = a1.length; if (length > 0) { this.renderMessagesWithCache.record(); } if (a2) { this.renderLatestMessages.record(); cachedChannelId = this.cachedChannelId; value = null; if (value == cachedChannelId) { this.messageCacheMissingReason = 'no-cache'; return undefined; } cachedChannelId = this.cachedChannelId; if (cachedChannelId !== a0) { this.messageCacheMissingReason = 'channel-changed'; return undefined; } cachedMessageIds = this.cachedMessageIds; if (value == cachedMessageIds) { this.messageCacheMissingReason = 'no-cache'; return undefined; } cachedMessageIds = this.cachedMessageIds; length = cachedMessageIds.length; if (length === 0) { this.messageCacheMissingReason = 'no-cache'; return undefined; } length = a1.length; if (length === 0) { this.messageCacheMissingReason = 'channel-empty'; return undefined; } cachedChannelId = this.cachedChannelId; if (a0 === cachedChannelId) { cachedMessageIds = this.cachedMessageIds; sort = cachedMessageIds.sort; compare = property.compare; value2 = Reflect.apply(sort, cachedMessageIds, [compare]); reverse = value2.reverse; property2 = Reflect.apply(reverse, value2, [])[0]; sort = a1.sort; compare = property.compare; value3 = Reflect.apply(sort, a1, [compare]); reverse = value3.reverse; property3 = Reflect.apply(reverse, value3, [])[0]; Math = global.Math; this.messageCacheAgeSeconds = Math.floor((property.extractTimestamp(property3) - property.extractTimestamp(property2)) / 1000); length = a1.filter(_fun242).length; value6 = this.cachedChannelCounts.get(a0); this.messageCacheCount = value != value6 ? value6 : value; this.messageCacheHavingCount = length; this.messageCacheMissingCount = a1.length - length; length = a1.length; this.messageRenderFullCount = length; cachedMessageIds = this.cachedMessageIds; length = cachedMessageIds.length; this.messageRenderCachedCount = length; this.messageRenderHasMoreAfter = a3; } return undefined; } cachedChannelId = this.cachedChannelId; value = cachedChannelId != null; if (!(value && a0 !== this.cachedChannelId)) { this.cachedChannelId = a0; this.cachedMessageIds = a1; if (a1.length > 0) { this.messageCacheMissingReason = null; } } } } function value_244(a0, a1) { // fn#244, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:8214, offset: 0x00c3be1c, size: 832 bytes, params: 3, frame: 36 var r2; var value5; var label; var extraProperties; var time_first_native_message_render_end; var _serializeBinding; var timestamp; var time_first_native_message_render_start; var value6; const startTime = this.getStartTime(a1); const value3 = _createForOfIteratorHelperLoose_185(a0); const value4 = value3(); let done = value4.done; if (!done) { r2 = value4; while (true) { value5 = r2.value; label = value5.label; if (label !== 'Finish MainApplication.initialize()') { if (label === 'GET_REACT_INSTANCE_MANAGER_START') { this.extraProperties.time_get_react_instance_manager_start = _serialize(startTime, value5.timestamp); break; } if (label === 'GET_REACT_INSTANCE_MANAGER_END') { this.extraProperties.time_get_react_instance_manager_end = _serialize(startTime, value5.timestamp); break; } if (label === 'PROCESS_PACKAGES_START') { this.extraProperties.time_process_packages_start = _serialize(startTime, value5.timestamp); break; } if (label === 'PROCESS_PACKAGES_END') { this.extraProperties.time_process_packages_end = _serialize(startTime, value5.timestamp); break; } if (label === 'CREATE_CATALYST_INSTANCE_START') { this.extraProperties.time_create_catalyst_instance_start = _serialize(startTime, value5.timestamp); break; } if (label === 'CREATE_CATALYST_INSTANCE_END') { this.extraProperties.time_create_catalyst_instance_end = _serialize(startTime, value5.timestamp); break; } if (label === 'CREATE_UI_MANAGER_MODULE_START') { this.extraProperties.time_create_ui_manager_module_start = _serialize(startTime, value5.timestamp); break; } if (label === 'CREATE_UI_MANAGER_MODULE_END') { this.extraProperties.time_create_ui_manager_module_end = _serialize(startTime, value5.timestamp); break; } if (label === 'REACT_BRIDGE_LOADING_START') { this.extraProperties.time_react_bridge_loading_start = _serialize(startTime, value5.timestamp); break; } if (label === 'REACT_BRIDGE_LOADING_END') { this.extraProperties.time_react_bridge_loading_end = _serialize(startTime, value5.timestamp); break; } if (label === 'CacheStorage Init Start') { this.extraProperties.time_init_native_storage_start = _serialize(startTime, value5.timestamp); break; } if (label === 'CacheStorage Init End') { this.extraProperties.time_init_native_storage_end = _serialize(startTime, value5.timestamp); break; } if (label === 'RUN_JS_BUNDLE_START') { this.extraProperties.time_before_js_bundle_start = _serialize(startTime, value5.timestamp); break; } if (label === 'ChatModule.updateRows() Start') { extraProperties = this.extraProperties; time_first_native_message_render_start = extraProperties.time_first_native_message_render_start; if (time_first_native_message_render_start != null) { break; } extraProperties = this.extraProperties; extraProperties.time_first_native_message_render_start = _serialize(startTime, value5.timestamp); break; } if (label !== 'ChatModule.updateRows() Finish') { break; } extraProperties = this.extraProperties; time_first_native_message_render_end = extraProperties.time_first_native_message_render_end; if (time_first_native_message_render_end != null) { break; } extraProperties = this.extraProperties; extraProperties.time_first_native_message_render_end = _serialize(startTime, value5.timestamp); break; } extraProperties = this.extraProperties; _serializeBinding = _serialize; timestamp = value5.timestamp; extraProperties.time_main_application_initialize_end = _serializeBinding(startTime, timestamp); value6 = value3(); done = value6.done; if (done) { break; } r2 = value6; continue; } } } function value_247(a0) { // fn#247, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:10860, offset: 0x00c3c1cd, size: 4567 bytes, params: 2, frame: 21 let value = this.getStartTime(a0); const value3 = undefined; const moduleValue = require(22) /* metro dependency 22 */; const logGroups = (importDefault(20) /* metro dependency 20: AppStartPerformance */).logGroups; const value4 = 0; const value8 = moduleValue(logGroups[value4].logs).filter(function({log}) { return log.startsWith('Require '); }).map(function({delta}) { return delta ?? 0; }).sum(); const value9 = this.serializeAppStartupMetrics(); const object2 = {}; copyDataProperties(object2, this.extraProperties, undefined); copyDataProperties(object2, value9, undefined); object2['initial_page'] = this.initialPage; object2['guild_id'] = this.initialGuildId; object2['time_load_index_start'] = this.loadIndex.serializeStart(value); object2['time_load_index_end'] = this.loadIndex.serializeEnd(value); object2['time_begin_fast_connect_start'] = this.beginFastConnect.serializeStart(value); object2['time_begin_fast_connect_end'] = this.beginFastConnect.serializeEnd(value); object2['time_load_imports_start'] = this.loadImports.serializeStart(value); object2['time_load_imports_end'] = this.loadImports.serializeEnd(value); object2['time_init_start'] = this.init.serializeStart(value); object2['time_init_end'] = this.init.serializeEnd(value); object2['time_load_storage_start'] = this.loadStorage.serializeStart(value); object2['time_load_storage_end'] = this.loadStorage.serializeEnd(value); object2['time_parse_storage_start'] = this.parseStorage.serializeStart(value); object2['time_parse_storage_end'] = this.parseStorage.serializeEnd(value); object2['time_load_mini_cache_start'] = this.loadMiniCache.serializeStart(value); object2['time_load_mini_cache_end'] = this.loadMiniCache.serializeEnd(value); object2['time_fetch_initial_guild_start'] = this.fetchGuildCache.serializeStart(value); object2['time_fetch_initial_guild_end'] = this.fetchGuildCache.serializeEnd(value); object2['time_load_cached_messages_start'] = this.loadCachedMessages.serializeStart(value); object2['time_load_cached_messages_end'] = this.loadCachedMessages.serializeEnd(value); object2['time_render_app_start'] = this.renderApp.serialize(value); object2['time_render_app_effect_start'] = this.renderAppEffect.serialize(value); object2['time_first_contentful_paint'] = this.firstContentfulPaint.serialize(value); object2['time_render_messages_end'] = this.renderMessages.serialize(value); object2['time_render_messages_with_cache_end'] = this.renderMessagesWithCache.serialize(value); object2['time_render_latest_messages_end'] = this.renderLatestMessages.serialize(value); object2['time_display_messages_with_cache_end'] = this.displayMessagesWithCache.serialize(value); object2['time_display_latest_messages_end'] = this.displayLatestMessages.serialize(value); object2['time_first_row_generator_start'] = this.firstRowGenerator.serializeStart(value); object2['time_first_row_generator_end'] = this.firstRowGenerator.serializeEnd(value); object2['time_initial_guild_start'] = this.initialGuild.serializeStart(value); object2['time_initial_guild_end'] = this.initialGuild.serializeEnd(value); object2['time_load_lazy_cache_start'] = this.loadLazyCache.serializeStart(value); object2['time_load_lazy_cache_end'] = this.loadLazyCache.serializeEnd(value); object2['time_fetch_lazy_cache_start'] = this.fetchLazyCache.serializeStart(value); object2['time_fetch_lazy_cache_end'] = this.fetchLazyCache.serializeEnd(value); object2['time_parse_lazy_cache_start'] = this.parseLazyCache.serializeStart(value); object2['time_parse_lazy_cache_end'] = this.parseLazyCache.serializeEnd(value); object2['time_fetch_stale_channels_start'] = this.fetchStaleChannels.serializeStart(value); object2['time_fetch_stale_channels_end'] = this.fetchStaleChannels.serializeEnd(value); object2['time_deserialize_cache_start'] = this.deserializeCache.serializeStart(value); object2['time_deserialize_cache_end'] = this.deserializeCache.serializeEnd(value); object2['time_dispatch_lazy_cache_start'] = this.dispatchLazyCache.serializeStart(value); object2['time_dispatch_lazy_cache_end'] = this.dispatchLazyCache.serializeEnd(value); object2['time_parse_ready_start'] = this.parseReady.serializeStart(value); object2['time_parse_ready_end'] = this.parseReady.serializeEnd(value); object2['time_ready_start'] = this.ready.serializeStart(value); object2['time_ready_end'] = this.ready.serializeEnd(value); object2['time_hydrate_ready_start'] = this.hydrateReady.serializeStart(value); object2['time_hydrate_ready_end'] = this.hydrateReady.serializeEnd(value); object2['time_dispatch_ready_start'] = this.dispatchReady.serializeStart(value); object2['time_dispatch_ready_end'] = this.dispatchReady.serializeEnd(value); object2['time_parse_ready_supplemental_start'] = this.parseReadySupplemental.serializeStart(value); object2['time_parse_ready_supplemental_end'] = this.parseReadySupplemental.serializeEnd(value); object2['time_ready_supplemental_start'] = this.readySupplemental.serializeStart(value); object2['time_ready_supplemental_end'] = this.readySupplemental.serializeEnd(value); object2['time_hydrate_ready_supplemental_start'] = this.hydrateReadySupplemental.serializeStart(value); object2['time_hydrate_ready_supplemental_end'] = this.hydrateReadySupplemental.serializeEnd(value); object2['time_dispatch_ready_supplemental_start'] = this.dispatchReadySupplemental.serializeStart(value); object2['time_dispatch_ready_supplemental_end'] = this.dispatchReadySupplemental.serializeEnd(value); object2['time_fetch_messages_start'] = this.fetchMessages.serializeStart(value); object2['time_fetch_messages_end'] = this.fetchMessages.serializeEnd(value); object2['time_dispatch_messages_start'] = this.dispatchMessages.serializeStart(value); object2['time_dispatch_messages_end'] = this.dispatchMessages.serializeEnd(value); object2['time_load_fast_connect_native_module_start'] = this.loadFastConnectNativeModule.serializeStart(value); value = this.loadFastConnectNativeModule.serializeEnd(value); object2['time_load_fast_connect_native_module_end'] = value; object2['identify_total_server_duration_ms'] = this.readyProperties.identify_total_server_duration_ms; object2['identify_api_duration_ms'] = this.readyProperties.identify_api_duration_ms; object2['identify_guilds_duration_ms'] = this.readyProperties.identify_guilds_duration_ms; object2['ready_compressed_byte_size'] = this.readyProperties.compressed_byte_size; object2['ready_uncompressed_byte_size'] = this.readyProperties.uncompressed_byte_size; object2['identify_compressed_byte_size'] = this.readyProperties.identify_compressed_byte_size; object2['identify_uncompressed_byte_size'] = this.readyProperties.identify_uncompressed_byte_size; object2['ready_compression_algorithm'] = this.readyProperties.compression_algorithm; object2['is_reconnect'] = this.readyProperties.is_reconnect; object2['is_fast_connect'] = this.readyProperties.is_fast_connect; object2['did_force_clear_guild_hashes'] = this.readyProperties.did_force_clear_guild_hashes; object2['num_guilds'] = this.readyProperties.num_guilds; object2['num_changed_guild_channels'] = this.readyProperties.num_guild_channels; object2['ready_presences_size'] = this.readyProperties.presences_size; const users_size = this.readyProperties.users_size; object2['ready_users_size'] = users_size; object2['ready_read_states_size'] = this.readyProperties.read_states_size; object2['ready_private_channels_size'] = this.readyProperties.private_channels_size; const user_guild_settings_size = this.readyProperties.user_guild_settings_size; object2['ready_user_guild_settings_size'] = user_guild_settings_size; object2['ready_relationships_size'] = this.readyProperties.relationships_size; object2['ready_experiments_size'] = this.readyProperties.experiments_size; const user_settings_size = this.readyProperties.user_settings_size; object2['ready_user_settings_size'] = user_settings_size; object2['ready_remaining_data_size'] = this.readyProperties.remaining_data_size; object2['ready_guild_channels_size'] = this.readyProperties.guild_channels_size; object2['ready_guild_members_size'] = this.readyProperties.guild_members_size; object2['ready_guild_presences_size'] = this.readyProperties.guild_presences_size; object2['ready_guild_roles_size'] = this.readyProperties.guild_roles_size; object2['ready_guild_emojis_size'] = this.readyProperties.guild_emojis_size; object2['ready_guild_remaining_data_size'] = this.readyProperties.guild_remaining_data_size; object2['ready_guild_threads_size'] = this.readyProperties.guild_threads_size; object2['ready_guild_stickers_size'] = this.readyProperties.guild_stickers_size; object2['ready_guild_events_size'] = this.readyProperties.guild_events_size; object2['ready_guild_features_size'] = this.readyProperties.guild_features_size; object2['ready_size_metrics_duration_ms'] = this.readyProperties.size_metrics_duration_ms; object2['had_cache_at_startup'] = this.readyProperties.had_cache_at_startup; const used_cache_at_startup = this.readyProperties.used_cache_at_startup; object2['used_cache_at_startup'] = used_cache_at_startup; object2['was_authenticated'] = this.wasAuthenticated; object2['did_background_app'] = this.didBackgroundApp; object2['interstitial'] = this.interstitial; object2['message_cache_missing_reason'] = this.messageCacheMissingReason; object2['message_cache_age_seconds'] = this.messageCacheAgeSeconds; object2['message_cache_count'] = this.messageCacheCount; object2['message_cache_having_count'] = this.messageCacheHavingCount; object2['message_cache_missing_count'] = this.messageCacheMissingCount; object2['message_render_full_count'] = this.messageRenderFullCount; object2['message_render_cached_count'] = this.messageRenderCachedCount; object2['message_render_has_more_after'] = this.messageRenderHasMoreAfter; object2['duration_major_js_imports'] = this.loadImports.end - this.loadIndex.start + value8; let Math = global.Math; const max = Math.max; const earlyCacheInfo = this.earlyCacheInfo; const r3 = (earlyCacheInfo == null ? value3 : earlyCacheInfo.guilds) ?? value4; let lazyCacheInfo = this.lazyCacheInfo; object2['cache_num_guilds'] = Reflect.apply(max, Math, [r3, (lazyCacheInfo == null ? value3 : lazyCacheInfo.guilds) ?? value4]); lazyCacheInfo = this.lazyCacheInfo; object2['cache_num_private_channels'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.privateChannels; lazyCacheInfo = this.lazyCacheInfo; object2['cache_num_basic_channels'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.basicChannels; lazyCacheInfo = this.lazyCacheInfo; object2['cache_num_basic_channels_stale'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.basicChannelsStale; lazyCacheInfo = this.lazyCacheInfo; object2['cache_num_full_channels'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.fullChannels; lazyCacheInfo = this.lazyCacheInfo; object2['cache_num_full_channel_guilds'] = lazyCacheInfo == null ? value3 : lazyCacheInfo.fullChannelGuilds; object2['num_imports_at_load_index_end'] = this.loadIndex.endNumImports; object2['num_imports_at_init_end'] = this.init.endNumImports; object2['num_imports_at_load_mini_cache_end'] = this.loadMiniCache.endNumImports; object2['num_imports_at_render_app_start'] = this.renderApp.numImports; object2['num_imports_at_render_app_effect_start'] = this.renderAppEffect.numImports; object2['num_imports_at_render_messages_end'] = this.renderMessages.numImports; object2['num_imports_at_render_messages_with_cache_end'] = this.renderMessagesWithCache.numImports; object2['num_imports_at_render_latest_messages_end'] = this.renderLatestMessages.numImports; object2['num_imports_at_load_lazy_cache_start'] = this.loadLazyCache.startNumImports; object2['num_imports_at_load_lazy_cache_end'] = this.loadLazyCache.endNumImports; object2['num_imports_at_ready_start'] = this.ready.startNumImports; object2['num_imports_at_ready_end'] = this.ready.endNumImports; object2['num_imports_at_ready_supplemental_start'] = this.readySupplemental.startNumImports; object2['num_imports_at_ready_supplemental_end'] = this.readySupplemental.endNumImports; Math = global.Math; object2['duration_imports_at_load_index_start'] = Math.ceil(this.loadIndex.startImportTime); Math = global.Math; object2['duration_imports_at_load_index_end'] = Math.ceil(this.loadIndex.endImportTime); Math = global.Math; object2['duration_imports_at_init_end'] = Math.ceil(this.init.endImportTime); Math = global.Math; object2['duration_imports_at_load_mini_cache_end'] = Math.ceil(this.loadMiniCache.endImportTime); Math = global.Math; object2['duration_imports_at_render_app_start'] = Math.ceil(this.renderApp.importTime); Math = global.Math; object2['duration_imports_at_render_app_effect_start'] = Math.ceil(this.renderAppEffect.importTime); Math = global.Math; object2['duration_imports_at_render_messages_end'] = Math.ceil(this.renderMessages.importTime); Math = global.Math; object2['duration_imports_at_render_messages_with_cache_end'] = Math.ceil(this.renderMessagesWithCache.importTime); Math = global.Math; object2['duration_imports_at_render_latest_messages_end'] = Math.ceil(this.renderLatestMessages.importTime); Math = global.Math; object2['duration_imports_at_load_lazy_cache_start'] = Math.ceil(this.loadLazyCache.startImportTime); Math = global.Math; object2['duration_imports_at_load_lazy_cache_end'] = Math.ceil(this.loadLazyCache.endImportTime); Math = global.Math; object2['duration_imports_at_ready_start'] = Math.ceil(this.ready.startImportTime); Math = global.Math; object2['duration_imports_at_ready_end'] = Math.ceil(this.ready.endImportTime); Math = global.Math; object2['duration_imports_at_ready_supplemental_start'] = Math.ceil(this.readySupplemental.startImportTime); Math = global.Math; object2['duration_imports_at_ready_supplemental_end'] = Math.ceil(this.readySupplemental.endImportTime); Math = global.Math; object2['duration_imports_at_polyfills_end'] = Math.ceil(this.imports.polyfillsEnd.time); Math = global.Math; object2['duration_imports_at_sentry_end'] = Math.ceil(this.imports.sentryEnd.time); Math = global.Math; object2['duration_imports_at_fast_connect_start'] = Math.ceil(this.beginFastConnect.startImportTime); Math = global.Math; object2['duration_imports_at_fast_connect_end'] = Math.ceil(this.beginFastConnect.endImportTime); Math = global.Math; object2['duration_imports_at_app_state_change_start'] = Math.ceil(this.imports.appStateChangeStart.time); Math = global.Math; object2['duration_imports_at_app_state_change_end'] = Math.ceil(this.imports.appStateChangeEnd.time); Math = global.Math; object2['duration_imports_at_load_mini_cache_start'] = Math.ceil(this.imports.loadMiniCacheStart.time); Math = global.Math; object2['duration_imports_at_load_storage_start'] = Math.ceil(this.imports.loadStorageStart.time); Math = global.Math; object2['duration_imports_at_load_storage_end'] = Math.ceil(this.imports.loadStorageEnd.time); return object2; } function value_229LoggerCallback() { // fn#230, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:5586, owner: value_229.loggerCallback, offset: 0x00c3b9bd, size: 35 bytes, params: 1, frame: 10 var environment; let value = env0_0(); if (value === true) { value = environment.__proto__.__proto__; loggerCallback_body = function() { return false; }; } } function _fun242(a0) { // fn#242, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:19:7491, offset: 0x00c3bdb3, size: 39 bytes, params: 2, frame: 12 return env0_0.cachedMessageIds?.includes(a0); }