/* Metro module 9569; source: modules/icymi/ICYMIStore.tsx; dependencies: [6, 7, 15, 17, 18, 57, 9570, 4107, 4117, 1226, 1379, 9575, 1867, 4814, 3784, 4605, 3793, 4864, 9577, 9578, 661, 9588, 672, 9579, 7230, 8370, 8375, 9572, 9589, 6946, 4625, 566, 694, 2] */ import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */ import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */ import PossibleConstructorReturn from '../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */ import Module00017 from '../../by-id/module-00017.js'; /* Metro dependency 17 */ import Inherits from '../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */ import Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */ import Flux from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import Durations from '../../utils/Durations.tsx'; /* Metro dependency 672 */ import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */ import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import PermissionStore from '../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */ import RelationshipStore from '../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */ import ExperimentStore from '../experiments/ExperimentStore.tsx'; /* Metro dependency 4107 */ import GuildScheduledEventStore from '../guild_scheduled_events/GuildScheduledEventStore.tsx'; /* Metro dependency 4117 */ import ReadStateStore from '../../stores/ReadStateStore.tsx'; /* Metro dependency 4605 */ import MessageStore from '../../stores/MessageStore.tsx'; /* Metro dependency 4814 */ import UserGuildSettingsStore from '../../stores/UserGuildSettingsStore.tsx'; /* Metro dependency 4864 */ import ContentInventoryStore from '../content_inventory/ContentInventoryStore.tsx'; /* Metro dependency 9570 */ import GuildAffinitiesStore from '../../stores/GuildAffinitiesStore.tsx'; /* Metro dependency 9575 */ import ICYMIFiltersStore from './ICYMIFiltersStore.tsx'; /* Metro dependency 9577 */ import ICYMIUnreadStateStore from './ICYMIUnreadStateStore.tsx'; /* Metro dependency 9578 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as GuildScheduledEventStoreModule from '../guild_scheduled_events/GuildScheduledEventStore.tsx'; /* Metro dependency 4117 */ import * as GuildDiscoveryUtilsModule from '../../utils/GuildDiscoveryUtils.tsx'; /* Metro dependency 6946 */ import * as ICYMITypesModule from './ICYMITypes.tsx'; /* Metro dependency 7230 */ import * as ICYMIUtilsModule from './ICYMIUtils.tsx'; /* Metro dependency 9579 */ import * as ContentInventoryConstantsModule from '../content_inventory/ContentInventoryConstants.tsx'; /* Metro dependency 9588 */ import * as ICYMIAnalyticsModule from './ICYMIAnalytics.tsx'; /* Metro dependency 9589 */ function _fun74749(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#74749, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:6, offset: 0x01d99782, size: 1350 bytes, params: 8, frame: 26 let env0_0 = require; const _arrayLikeToArray_74755 = 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 injectItemsIntoList = function(a0, a1, a2, a3) { var env0_0 = a2; var env0_1 = a3; var value = a0.filter(_fun74761); var env0_2 = value; a1.forEach(_fun74762); return value; }; const injectAdditionalItems = function() { _fun74764(); _fun74767(); injectRecommendedGuildsRow(); }; const computeDisplayItems = function(a0) { a0.forEach(_fun74781); var items4 = []; arraySpread(items4, [], arraySpread(items4, [], 0, a0), a0); return [items4, [].sort(_fun74782)]; }; const filterDehydratedItemListByChannel = function(a0, a1) { var env0_0 = a1; return a0.filter(_fun74786); }; const filterDehydratedItemListByGuild = function(a0, a1) { var env0_0 = a1; return a0.filter(_fun74789); }; const MESSAGE_REACTION_ADD_747912 = MESSAGE_REACTION_ADD_74791; const CHANNEL_ACK_747922 = CHANNEL_ACK_74792; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = GuildScheduledEventStoreModule; const env0_11 = value.eventScheduledToStartWithin; const env0_12 = value.isGuildEventEnded; const env0_13 = value.isGuildScheduledEventActive; value = require(661) /* metro dependency 661: Constants */; const env0_26 = value.ChannelTypes; const env0_27 = value.GuildFeatures; const env0_28 = value.Permissions; let Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; let DAY = Millis.DAY; const env0_30 = 1 * DAY; Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; DAY = Millis.DAY; const env0_31 = 3 * DAY; const env0_32 = []; const env0_35 = []; const env0_36 = []; const env0_37 = {}; const env0_38 = {}; const env0_39 = {}; const env0_40 = {}; const env0_41 = {}; const env0_42 = {}; const env0_50 = []; const env0_51 = []; let env0_53 = []; const Set = global.Set; let set = new Set(); const PersistedStore = (Flux).PersistedStore; set = _fun74794(PersistedStore); set.displayName = 'ICYMIStore'; set.persistKey = 'ICYMIStore'; set = new set(importDefault(694) /* metro dependency 694: Dispatcher */, {LOGOUT: LOGOUT_74833, LOAD_ICYMI_FROM_NOTIFICATION: LOAD_ICYMI_FROM_NOTIFICATION, LOAD_ICYMI_DEHYDRATED: LOAD_ICYMI_DEHYDRATED, LOAD_ICYMI_HYDRATED: LOAD_ICYMI_HYDRATED, LOAD_ICYMI_CUSTOM_SCORES: LOAD_ICYMI_CUSTOM_SCORES, LOAD_ICYMI_RECOMMENDED_GUILDS: function({guilds}) { env0_53 = guilds.map(_fun74847); injectRecommendedGuildsRow(); }, ICYMI_CUSTOM_SCORES_UPDATED: ICYMI_CUSTOM_SCORES_UPDATED, RELOAD_ICYMI: RELOAD_ICYMI, ICYMI_TAB_OPENED: ICYMI_TAB_OPENED, ICYMI_FEEDBACK_GIVEN: function() { env0_49 = 6; }, MESSAGE_REACTION_ADD: MESSAGE_REACTION_ADD_747912, MESSAGE_REACTION_ADD_MANY: MESSAGE_REACTION_ADD_MANY_74853, MESSAGE_REACTION_REMOVE: MESSAGE_REACTION_ADD_747912, MESSAGE_REACTION_REMOVE_ALL: MESSAGE_REACTION_REMOVE_ALL_74854, MESSAGE_REACTION_REMOVE_EMOJI: MESSAGE_REACTION_REMOVE_EMOJI_74855, CHANNEL_ACK: CHANNEL_ACK_747922, MESSAGE_ACK: CHANNEL_ACK_747922, ICYMI_JOINED_RECOMMENDED_GUILD: function() { var Date = global.Date; env0_54 = Date.now(); }, ICYMI_SET_VIDEOS_MUTED: function(a0) { env0_55 = a0.muted; }, ICYMI_SET_REFRESHING: function(a0) { env0_56 = a0.refreshing; }, LOAD_ICYMI_HYDRATED_ATTEMPT: LOAD_ICYMI_HYDRATED_ATTEMPT, LOAD_ICYMI_HYDRATED_FAILED: LOAD_ICYMI_HYDRATED_FAILED, ICYMI_SET_FOCUSED_TAB: function(a0) { env0_58 = a0.focused; }, LOAD_ICYMI_CURRENT_STATUS_MEDIA: LOAD_ICYMI_CURRENT_STATUS_MEDIA, ICYMI_SCROLL_EVENT: function(a0) { env0_60 = a0.timestamp; }, ICYMI_TAKE_SURVEY: function(a0) { env0_61 = a0.takenAt; }}); (FileImportTrackerModule).fileFinishedImporting('modules/icymi/ICYMIStore.tsx'); exports.default = set; function _isNativeReflectConstruct_74750() { // fn#74750, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:506, offset: 0x01d99cc8, size: 98 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_74750_isNativeReflectConstruct = function() { return !!result; })(); } function _createForOfIteratorHelperLoose_74753(a0, a1) { // fn#74753, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:699, offset: 0x01d99d2a, size: 372 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 _fun74754; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_74755(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_74755(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_74755(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun74754; } 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 _fun74754() { // fn#74754, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:1270, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5 return env0_1 >= env0_0.length ? {done: true} : {done: false, value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]}; } } function tabHasNewContentOnInitialLoad(a0, a1) { // fn#74756, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:1826, offset: 0x01d99e9e, size: 179 bytes, params: 3, frame: 17 var set; const Date = global.Date; let value = Date.now(); value -= env0_34; const Millis = (Durations).Millis; const HOUR = Millis.HOUR; if (value > 6 * HOUR) { set = new global.Set(a0.map(function(a0) { return a0.id; })); set = a1.slice(0, 20); return set.filter(_fun74758).length >= 3; } return false; function _fun74758({id}) { // fn#74758, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:1971, offset: 0x01d99f51, size: 27 bytes, params: 2, frame: 11 return env0_0.has(id); } } function filterStaffGuild(a0) { // fn#74759, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:2007, offset: 0x01d99f6c, size: 175 bytes, params: 2, frame: 15 var moduleValue; var data; var guild_id; var guildStoreBinding; var getGuild; var value2; var features; const icymiFiltersStoreBinding = ICYMIFiltersStore; if (icymiFiltersStoreBinding.filterStaffContent()) { moduleValue = require(9579) /* metro dependency 9579: ICYMIUtils */; if (moduleValue.isGuildItem(a0)) { data = a0.data; guild_id = data.guild_id; if (guild_id === (require(7230) /* metro dependency 7230: ICYMITypes */).GAME_CONTENT_GUILD_ID) { return true; } guildStoreBinding = GuildStore; getGuild = guildStoreBinding.getGuild; data = a0.data; guild_id = data.guild_id; value2 = Reflect.apply(getGuild, guildStoreBinding, [guild_id]); if (value2 == null) { return false; } features = value2.features; if (features.has(GuildFeatures.INTERNAL_EMPLOYEE_ONLY)) { return false; } return true; } } return true; } function injectItemsIntoList(a0, a1, a2, a3) { // fn#74760, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:2268, offset: 0x01d9a01b, size: 62 bytes, params: 5, frame: 13 const env0_0 = a2; const env0_1 = a3; const value = a0.filter(function({type}) { return type !== importDefault; }); a1.forEach(_fun74762); return value; function _fun74761({type}) { // fn#74761, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:2322, offset: 0x01d9a059, size: 21 bytes, params: 2, frame: 2 return type !== importDefault; } function _fun74762(a0, a1) { // fn#74762, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:2356, offset: 0x01d9a06e, size: 88 bytes, params: 3, frame: 16 let value = a1 + 1; value *= importAll; if (value < env0_2.length) { env0_2.splice((a1 + 1) * importAll, 0, a0); } else { env0_2.push(a0); } } } function injectAdditionalItems() { // fn#74763, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:2418, offset: 0x01d9a0c6, size: 39 bytes, params: 1, frame: 10 injectGuildEvents(); injectContentInventoryItems(); injectRecommendedGuildsRow(); function injectGuildEvents() { // fn#74764, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:2452, owner: injectAdditionalItems.injectGuildEvents, offset: 0x01d9a0ed, size: 774 bytes, params: 1, frame: 44 var r11; var r22; var r23; var r31; var r27; var value7; var guildScheduledEventStoreBinding; var getGuildScheduledEventsForGuild; var value8; var value9; var value10; var channel_id; var channelStoreBinding; var getChannel; var value11; var permissionStoreBinding; var can; var VIEW_CHANNEL; var eventScheduledToStartWithinBinding; var Seconds; var DAY; var binding; var id; var id2; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; var GUILD_EVENT; var id3; var push; var object2; var guild_id; var value12; var value13; var value14; var sort; var forEach; var injectItemsIntoListBinding; const guildIds = GuildStore.getGuildIds(); const items2 = []; let _createForOfIteratorHelperLoose_74753Binding = _createForOfIteratorHelperLoose_74753; const value3 = undefined; const value4 = _createForOfIteratorHelperLoose_74753Binding(guildIds); const value5 = value4(); let done = value5.done; const value6 = 0; if (!done) { r11 = value5; reducibleLoop1: while (true) { value7 = r11.value; reducibleJoin14: while (true) { reducibleJoin3: while (true) { if (env1_41[value7] == null) { break reducibleJoin3; } if (env1_41[value7] < value6) { break reducibleJoin14; } break reducibleJoin3; } _createForOfIteratorHelperLoose_74753Binding = _createForOfIteratorHelperLoose_74753; guildScheduledEventStoreBinding = GuildScheduledEventStore; getGuildScheduledEventsForGuild = guildScheduledEventStoreBinding.getGuildScheduledEventsForGuild; value8 = _createForOfIteratorHelperLoose_74753Binding(Reflect.apply(getGuildScheduledEventsForGuild, guildScheduledEventStoreBinding, [value7])); value9 = value8(); done = value9.done; if (done) { break reducibleJoin14; } r22 = value6; r23 = value9; reducibleLoop4: while (true) { value10 = r23.value; if (isGuildEventEnded(value10)) { r27 = r22; } else { channel_id = value10.channel_id; reducibleJoin13: while (true) { reducibleJoin15: while (true) { if (channel_id == null) { eventScheduledToStartWithinBinding = eventScheduledToStartWithin; Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds; DAY = Seconds.DAY; if (!eventScheduledToStartWithinBinding(value10, 2 * DAY)) { reducibleJoin9: while (true) { if (isGuildScheduledEventActive(value10)) { break reducibleJoin9; } r27 = r22; break reducibleJoin13; } } binding = env1_39; id = value10.id; reducibleJoin11: while (true) { if (binding[id] != null) { break reducibleJoin11; } binding = env1_39; id = value10.id; id2 = value10.id; GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; id3 = value10.id; binding[id] = {id: id2, type: GUILD_EVENT, score: 10, event_id: id3}; break reducibleJoin11; } push = items2.push; object2 = {}; id = value10.id; object2.id = id; GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; object2.type = GUILD_EVENT; object2.score = 10; guild_id = value10.guild_id; id = value10.id; r31 = value10.channel_id ?? value3; object2.data = {guild_id: guild_id, event_id: id, channel_id: r31}; Reflect.apply(push, items2, [object2]); value12 = typeof r22 === 'bigint' ? r22 + 1n : +r22 + 1; if (value12 >= 1) { break reducibleJoin14; } r27 = value12; break reducibleJoin13; } channelStoreBinding = ChannelStore; getChannel = channelStoreBinding.getChannel; channel_id = value10.channel_id; value11 = Reflect.apply(getChannel, channelStoreBinding, [channel_id]); permissionStoreBinding = PermissionStore; can = permissionStoreBinding.can; VIEW_CHANNEL = Permissions.VIEW_CHANNEL; if (Reflect.apply(can, permissionStoreBinding, [VIEW_CHANNEL, value11])) { eventScheduledToStartWithinBinding = eventScheduledToStartWithin; Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds; DAY = Seconds.DAY; if (!eventScheduledToStartWithinBinding(value10, 2 * DAY)) { reducibleJoin9: while (true) { if (isGuildScheduledEventActive(value10)) { break reducibleJoin9; } r27 = r22; break reducibleJoin13; } } binding = env1_39; id = value10.id; reducibleJoin11: while (true) { if (binding[id] != null) { break reducibleJoin11; } binding = env1_39; id = value10.id; id2 = value10.id; GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; id3 = value10.id; binding[id] = {id: id2, type: GUILD_EVENT, score: 10, event_id: id3}; break reducibleJoin11; } push = items2.push; object2 = {}; id = value10.id; object2.id = id; GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; object2.type = GUILD_EVENT; object2.score = 10; guild_id = value10.guild_id; id = value10.id; channel_id = value10.channel_id; r31 = channel_id ?? value3; object2.data = {guild_id: guild_id, event_id: id, channel_id: r31}; Reflect.apply(push, items2, [object2]); value12 = typeof r22 === 'bigint' ? r22 + 1n : +r22 + 1; if (value12 >= 1) { break reducibleJoin14; } r27 = value12; break reducibleJoin13; } r27 = r22; break reducibleJoin13; } sort = items2.sort; Reflect.apply(sort, items2, [_fun74765]); forEach = items2.forEach; Reflect.apply(forEach, items2, [_fun74766]); injectItemsIntoListBinding = injectItemsIntoList; binding = env1_50; GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; env1_50 = injectItemsIntoListBinding(binding, [], GUILD_EVENT, 7); binding = env1_51; GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; env1_51 = injectItemsIntoListBinding(binding, [], GUILD_EVENT, 7); return value3; } } value13 = value8(); done = value13.done; if (done) { break reducibleJoin14; } r22 = r27; r23 = value13; continue reducibleLoop4; } break reducibleJoin14; } value14 = value4(); done = value14.done; if (done) { break reducibleLoop1; } r11 = value14; continue reducibleLoop1; } } items2.sort(_fun74765); items2.forEach(_fun74766); injectItemsIntoListBinding = injectItemsIntoList; binding = env1_50; GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; env1_50 = injectItemsIntoListBinding(binding, [], GUILD_EVENT, 7); binding = env1_51; GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; env1_51 = injectItemsIntoListBinding(binding, [], GUILD_EVENT, 7); return value3; function _fun74765({data}, {data}) { // fn#74765, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:3147, offset: 0x01d9a3f3, size: 97 bytes, params: 3, frame: 14 let value = environment.__proto__.__proto__; const guildAffinity = GuildAffinitiesStore.getGuildAffinity(data.guild_id); value = GuildAffinitiesStore.getGuildAffinity(data.guild_id); return (value != null ? value.score : 0) - (guildAffinity != null ? guildAffinity.score : 0); } function _fun74766(a0) { // fn#74766, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:3309, offset: 0x01d9a454, size: 85 bytes, params: 2, frame: 12 const value = environment.__proto__.__proto__; env2_38[a0.id] = a0; const icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; const getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; if (Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [a0.id]) != null) { env0_1.push(a0); } else { env0_0.push(a0); } } } function injectContentInventoryItems() { // fn#74767, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:3514, owner: injectAdditionalItems.injectContentInventoryItems, offset: 0x01d9a4a9, size: 264 bytes, params: 1, frame: 22 var environment; const Set = global.Set; let set = new Set(); const env0_1 = {}; set = environment.__proto__; const contentInventoryStoreBinding = ContentInventoryStore; const getFeed = contentInventoryStoreBinding.getFeed; const GLOBAL_FEED = ContentInventoryFeedKey.GLOBAL_FEED; const value2 = Reflect.apply(getFeed, contentInventoryStoreBinding, [GLOBAL_FEED]); const value3 = undefined; const r4 = (value2 == null ? value3 : value2.entries) ?? []; r4.sort(function({rank}, a1) { return rank - a1.rank; }).slice(0, 5); r4.forEach(_fun74769); const injectItemsIntoListBinding = injectItemsIntoList; let binding = env1_50; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; let ACTIVITY = ICYMIItemTypes.ACTIVITY; env1_50 = injectItemsIntoListBinding(binding, [], ACTIVITY, 5); binding = env1_51; ACTIVITY = ICYMIItemTypes.ACTIVITY; env1_51 = injectItemsIntoListBinding(binding, [], ACTIVITY, 5); return value3; function _fun74769(a0) { // fn#74769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:3708, offset: 0x01d9a5b1, size: 741 bytes, params: 2, frame: 19 var moduleValue; var isEntryExpired; var moduleValue2; var isGamingLikeEntry; var author_id; var Set; var value3; var set; var property; var extra; var application_id; var add; var object; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; var icymiUnreadStateStoreBinding; var getReadTimestamp; let binding = env0_0; let has = binding.has; let content = a0.content; let id = content.id; if (!Reflect.apply(has, binding, [id])) { content = a0.content; var content_type = content.content_type; var ContentInventoryEntryType = (require(8370) /* metro dependency 8370: ContentInventoryEntryType */).ContentInventoryEntryType; var PLAYED_GAME = ContentInventoryEntryType.PLAYED_GAME; if (content_type === PLAYED_GAME) { moduleValue = require(8375) /* metro dependency 8375: utils */; isEntryExpired = moduleValue.isEntryExpired; content = a0.content; if (Reflect.apply(isEntryExpired, moduleValue, [content])) { return undefined; } moduleValue2 = require(9572) /* metro dependency 9572: ContentInventoryTypes */; isGamingLikeEntry = moduleValue2.isGamingLikeEntry; content = a0.content; if (Reflect.apply(isGamingLikeEntry, moduleValue2, [content])) { binding = env0_1; content = a0.content; author_id = content.author_id; if (binding[author_id] == null) { binding = env0_1; author_id = a0.content.author_id; Set = global.Set; value3 = Object.create(Set.prototype, {constructor: {value: Set}}); set = new Set(); binding[author_id] = set instanceof Object ? set : value3; } binding = env0_1; content = a0.content; author_id = content.author_id; property = binding[author_id]; has = property.has; content = a0.content; extra = content.extra; application_id = extra.application_id; if (Reflect.apply(has, property, [application_id])) { return undefined; } binding = env0_1; content = a0.content; author_id = content.author_id; property = binding[author_id]; add = property.add; content = a0.content; extra = content.extra; application_id = extra.application_id; Reflect.apply(add, property, [application_id]); binding = env2_39; content = a0.content; id = content.id; if (binding[id] == null) { binding = env2_39; content = a0.content; id = content.id; object = {}; content = a0.content; object.id = content.id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; object.activity = content; binding[id] = object; } object = {}; content = a0.content; id = content.id; object.id = id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; author_id = content.author_id; content = a0.content; id = content.id; object.data = {user_id: author_id, content_id: id}; binding = env0_0; add = binding.add; content = a0.content; id = content.id; Reflect.apply(add, binding, [id]); binding = env2_38; id = object.id; binding[id] = object; icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; id = object.id; if (Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [id]) != null) { ClassCallCheck.push(object); } else { env0_2.push(object); } return undefined; } binding = env2_39; content = a0.content; id = content.id; if (binding[id] == null) { binding = env2_39; content = a0.content; id = content.id; object = {}; content = a0.content; object.id = content.id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; object.activity = content; binding[id] = object; } object = {}; content = a0.content; id = content.id; object.id = id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; author_id = content.author_id; content = a0.content; id = content.id; object.data = {user_id: author_id, content_id: id}; binding = env0_0; add = binding.add; content = a0.content; id = content.id; Reflect.apply(add, binding, [id]); binding = env2_38; id = object.id; binding[id] = object; icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; id = object.id; if (Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [id]) != null) { ClassCallCheck.push(object); } else { env0_2.push(object); } return undefined; } content = a0.content; content_type = content.content_type; ContentInventoryEntryType = (require(8370) /* metro dependency 8370: ContentInventoryEntryType */).ContentInventoryEntryType; var CUSTOM_STATUS = ContentInventoryEntryType.CUSTOM_STATUS; if (content_type === CUSTOM_STATUS) { moduleValue = require(8375) /* metro dependency 8375: utils */; isEntryExpired = moduleValue.isEntryExpired; content = a0.content; if (Reflect.apply(isEntryExpired, moduleValue, [content])) { return undefined; } moduleValue2 = require(9572) /* metro dependency 9572: ContentInventoryTypes */; isGamingLikeEntry = moduleValue2.isGamingLikeEntry; content = a0.content; if (Reflect.apply(isGamingLikeEntry, moduleValue2, [content])) { binding = env0_1; content = a0.content; author_id = content.author_id; if (binding[author_id] == null) { binding = env0_1; author_id = a0.content.author_id; Set = global.Set; value3 = Object.create(Set.prototype, {constructor: {value: Set}}); set = new Set(); binding[author_id] = set instanceof Object ? set : value3; } binding = env0_1; content = a0.content; author_id = content.author_id; property = binding[author_id]; has = property.has; content = a0.content; extra = content.extra; application_id = extra.application_id; if (Reflect.apply(has, property, [application_id])) { return undefined; } binding = env0_1; content = a0.content; author_id = content.author_id; property = binding[author_id]; add = property.add; content = a0.content; extra = content.extra; application_id = extra.application_id; Reflect.apply(add, property, [application_id]); binding = env2_39; content = a0.content; id = content.id; if (binding[id] == null) { binding = env2_39; content = a0.content; id = content.id; object = {}; content = a0.content; object.id = content.id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; object.activity = content; binding[id] = object; } object = {}; content = a0.content; id = content.id; object.id = id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; author_id = content.author_id; content = a0.content; id = content.id; object.data = {user_id: author_id, content_id: id}; binding = env0_0; add = binding.add; content = a0.content; id = content.id; Reflect.apply(add, binding, [id]); binding = env2_38; id = object.id; binding[id] = object; icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; id = object.id; if (Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [id]) != null) { ClassCallCheck.push(object); } else { env0_2.push(object); } return undefined; } binding = env2_39; content = a0.content; id = content.id; if (binding[id] == null) { binding = env2_39; content = a0.content; id = content.id; object = {}; content = a0.content; object.id = content.id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; object.activity = content; binding[id] = object; } object = {}; content = a0.content; id = content.id; object.id = id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; author_id = content.author_id; content = a0.content; id = content.id; object.data = {user_id: author_id, content_id: id}; binding = env0_0; add = binding.add; content = a0.content; id = content.id; Reflect.apply(add, binding, [id]); binding = env2_38; id = object.id; binding[id] = object; icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; id = object.id; if (Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [id]) != null) { ClassCallCheck.push(object); } else { env0_2.push(object); } return undefined; } content = a0.content; content_type = content.content_type; ContentInventoryEntryType = (require(8370) /* metro dependency 8370: ContentInventoryEntryType */).ContentInventoryEntryType; var TOP_GAME = ContentInventoryEntryType.TOP_GAME; if (content_type !== TOP_GAME) { return undefined; } moduleValue = require(8375) /* metro dependency 8375: utils */; isEntryExpired = moduleValue.isEntryExpired; content = a0.content; if (Reflect.apply(isEntryExpired, moduleValue, [content])) { return undefined; } moduleValue2 = require(9572) /* metro dependency 9572: ContentInventoryTypes */; isGamingLikeEntry = moduleValue2.isGamingLikeEntry; content = a0.content; if (Reflect.apply(isGamingLikeEntry, moduleValue2, [content])) { binding = env0_1; content = a0.content; author_id = content.author_id; if (binding[author_id] == null) { binding = env0_1; author_id = a0.content.author_id; Set = global.Set; value3 = Object.create(Set.prototype, {constructor: {value: Set}}); set = new Set(); binding[author_id] = set instanceof Object ? set : value3; } binding = env0_1; content = a0.content; author_id = content.author_id; property = binding[author_id]; has = property.has; content = a0.content; extra = content.extra; application_id = extra.application_id; if (Reflect.apply(has, property, [application_id])) { return undefined; } binding = env0_1; content = a0.content; author_id = content.author_id; property = binding[author_id]; add = property.add; content = a0.content; extra = content.extra; application_id = extra.application_id; Reflect.apply(add, property, [application_id]); binding = env2_39; content = a0.content; id = content.id; if (binding[id] == null) { binding = env2_39; content = a0.content; id = content.id; object = {}; content = a0.content; object.id = content.id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; object.activity = content; binding[id] = object; } object = {}; content = a0.content; id = content.id; object.id = id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; author_id = content.author_id; content = a0.content; id = content.id; object.data = {user_id: author_id, content_id: id}; binding = env0_0; add = binding.add; content = a0.content; id = content.id; Reflect.apply(add, binding, [id]); binding = env2_38; id = object.id; binding[id] = object; icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; id = object.id; if (Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [id]) != null) { ClassCallCheck.push(object); } else { env0_2.push(object); } return undefined; } binding = env2_39; content = a0.content; id = content.id; if (binding[id] == null) { binding = env2_39; content = a0.content; id = content.id; object = {}; content = a0.content; object.id = content.id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; object.activity = content; binding[id] = object; } object = {}; content = a0.content; id = content.id; object.id = id; object.type = ICYMIItemTypes.ACTIVITY; object.score = 15; content = a0.content; author_id = content.author_id; content = a0.content; id = content.id; object.data = {user_id: author_id, content_id: id}; binding = env0_0; add = binding.add; content = a0.content; id = content.id; Reflect.apply(add, binding, [id]); binding = env2_38; id = object.id; binding[id] = object; icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; id = object.id; if (Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [id]) != null) { ClassCallCheck.push(object); } else { env0_2.push(object); } } } } } function injectRecommendedGuildsRow() { // fn#74770, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:4733, offset: 0x01d9a896, size: 504 bytes, params: 1, frame: 18 var guildsArray; var value3; var readTimestamp; var Date; var object; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; var id; var Math; var items2; var value11; let binding = env0_50; env0_50 = binding.filter(function({type}) { return type !== require(dependencyMap[24]).ICYMIItemTypes.RECOMMENDED_GUILDS; }); env0_51 = env0_51.filter(function({type}) { return type !== require(dependencyMap[24]).ICYMIItemTypes.RECOMMENDED_GUILDS; }); if (env0_53.length !== 0) { guildsArray = GuildStore.getGuildsArray(); value3 = guildsArray.filter(function({features}) { return features.has(GuildFeatures.COMMUNITY); }).length >= 5; readTimestamp = ICYMIUnreadStateStore.getReadTimestamp('recommendedGuilds'); if (value3) { if (readTimestamp == null) { object = {'id': 'recommendedGuilds', 'type': null, 'score': 50}; object.type = ICYMIItemTypes.RECOMMENDED_GUILDS; binding = env0_39; id = object.id; binding[id] = object; binding = env0_38; id = object.id; binding[id] = object; if (env0_50.length === 0) { arraySpread([object], env0_51, 1, require); } else if (value3) { if (value3) { if (env0_50.length < 10) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (env0_50.length < 5) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { if (env0_50.length < 10) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else { Date = global.Date; if (Date.now() - env0_54 > env0_30) { Date = global.Date; if (!(Date.now() - readTimestamp < env0_31)) { object = {'id': 'recommendedGuilds', 'type': null, 'score': 50}; object.type = ICYMIItemTypes.RECOMMENDED_GUILDS; binding = env0_39; id = object.id; binding[id] = object; binding = env0_38; id = object.id; binding[id] = object; if (env0_50.length === 0) { arraySpread([object], env0_51, 1, require); } else if (value3) { if (value3) { if (env0_50.length < 10) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (env0_50.length < 5) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { if (env0_50.length < 10) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } } else { object = {'id': 'recommendedGuilds', 'type': null, 'score': 50}; object.type = ICYMIItemTypes.RECOMMENDED_GUILDS; binding = env0_39; id = object.id; binding[id] = object; binding = env0_38; id = object.id; binding[id] = object; if (env0_50.length === 0) { arraySpread([object], env0_51, 1, require); } else if (value3) { if (value3) { if (env0_50.length < 10) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (env0_50.length < 5) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { if (env0_50.length < 10) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } } } else { object = {'id': 'recommendedGuilds', 'type': null, 'score': 50}; object.type = ICYMIItemTypes.RECOMMENDED_GUILDS; binding = env0_39; id = object.id; binding[id] = object; binding = env0_38; id = object.id; binding[id] = object; if (env0_50.length === 0) { arraySpread([object], env0_51, 1, require); } else if (value3) { if (value3) { if (env0_50.length < 10) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (env0_50.length < 5) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { if (env0_50.length < 10) { binding = env0_50; items2 = []; value11 = arraySpread(items2, binding, 0, require); items2[value11] = object; value11 + 1; } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } else if (value3) { Math = global.Math; env0_50.splice(Math.round(2 * global.Math.random()) + 3 - 1, 0, object); } else { env0_50.splice(5, 0, object); } } } } function finalizeNewDehydratedItemsContent() { // fn#74774, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:5362, offset: 0x01d9aae3, size: 290 bytes, params: 1, frame: 17 var has; var id; var value3; var items2; var type; const Set = global.Set; let set = new Set(); let binding = items3; binding.forEach(_fun74775); if (env0_48 != null) { has = set.has; id = env0_48.id; value3 = Reflect.apply(has, set, [id]); binding = env0_48; if (value3) { id = binding.id; type = env0_48.type; binding = items3; set = binding.findIndex(_fun74776); if (set !== -1) { env0_48 = items3[set]; binding = items3; set = binding.filter(function({id}) { return id !== id; }); binding = env0_48; items2 = [binding]; arraySpread(items2, set, 1, undefined); items3 = items2; } } else { items2 = [binding]; arraySpread(items2, items3, 1, undefined); items3 = items2; set.add(env0_48.id); } } items3.forEach(_fun74778); function _fun74775({id}) { // fn#74775, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:5435, offset: 0x01d9ac05, size: 29 bytes, params: 2, frame: 11 env0_0.add(id); } function _fun74776(a0) { // fn#74776, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:5513, offset: 0x01d9ac22, size: 37 bytes, params: 2, frame: 4 return a0.id === id && a0.type === type; } function _fun74778(a0) { // fn#74778, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:5632, offset: 0x01d9ac5c, size: 154 bytes, params: 2, frame: 16 var relationshipStoreBinding; let value = environment.__proto__; let binding = env1_38; let id = a0.id; binding[id] = a0; const type = a0.type; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; const CUSTOM_STATUS = ICYMIItemTypes.CUSTOM_STATUS; if (type === CUSTOM_STATUS) { relationshipStoreBinding = RelationshipStore; if (relationshipStoreBinding.isBlockedOrIgnored(a0.data.user_id)) { env1_40[a0.id] = true; } else { binding = env1_39; id = a0.id; value = require(9579) /* metro dependency 9579: ICYMIUtils */; binding[id] = value.customStatusToContentInventoryEntry(a0); } } } } function reload_74779(a0) { // fn#74779, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:5805, offset: 0x01d9acf6, size: 420 bytes, params: 2, frame: 20 var r1; var value3; var property; var property2; var ICYMIAnalytics; env0_32 = env0_35.length > 0 ? env0_35 : env0_32; let binding = env0_43; env0_43 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; const value2 = null; if (value2 != a0) { env0_50 = a0.newUnread; env0_51 = a0.newRead; } else { value3 = Module00057(computeDisplayItems(env0_32), 2); property = value3[0]; property2 = value3[1]; env0_50 = property; env0_51 = property2; } injectAdditionalItems(); let load_id = object.load_id; if (value2 != load_id && env0_33 !== object.load_id) { ICYMIAnalytics = (require(9589) /* metro dependency 9589: ICYMIAnalytics */).ICYMIAnalytics; ICYMIAnalytics.trackFeedLoaded({newTrackingProps: object, hasNewContent: env0_45, unreadFeedItems: env0_50, readFeedItems: env0_51, homeSessionId: 'gravity'}); load_id = object.load_id; r1 = value2 != load_id ? load_id : value2; object = {}; } if (env0_50.length + env0_51.length !== 0) { } const hydrateItems = ICYMIUtilsModule.hydrateItems; binding = env0_50; const items2 = []; arraySpread(items2, env0_51, arraySpread(items2, binding, 0, undefined), undefined); const ICYMI_PAGE_SIZE = (ICYMITypesModule).ICYMI_PAGE_SIZE; Reflect.apply(hydrateItems, ICYMIUtilsModule, [items2, 0, ICYMI_PAGE_SIZE]); } function computeDisplayItems(a0) { // fn#74780, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:6306, offset: 0x01d9ae9a, size: 104 bytes, params: 2, frame: 17 const items2 = []; a0.forEach(_fun74781); const items4 = []; arraySpread(items4, [], arraySpread(items4, [], 0, a0), a0); return [items4, items2.sort(_fun74782)]; function _fun74781(a0) { // fn#74781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:6375, offset: 0x01d9af02, size: 291 bytes, params: 2, frame: 20 var r6; var r4; var r2; var data; var message_context; var moduleValue; var isItemUnreadInChannel; var channel_id; const icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; const getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; const value3 = Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [a0.id]) != null; const type = a0.type; const value4 = undefined; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; const MESSAGE = ICYMIItemTypes.MESSAGE; if (type !== MESSAGE) { r2 = value3; } else { data = a0.data; message_context = data.message_context; if ((message_context == null ? value4 : message_context.external_content_application_id) != null) { r4 = value3; } else { if (value3) { r6 = value3; } else { moduleValue = require(9579) /* metro dependency 9579: ICYMIUtils */; isItemUnreadInChannel = moduleValue.isItemUnreadInChannel; data = a0.data; channel_id = data.channel_id; data = a0.data; r6 = !Reflect.apply(isItemUnreadInChannel, moduleValue, [channel_id, data.message_id]); } r4 = r6; } r2 = r4; } if (r2) { env0_0.push(a0); } else if (a0.type !== ICYMIItemTypes.MESSAGE) { env0_1.push(a0); } else if (a0.data.has_mention) { env0_2.push(a0); } else { env0_1.push(a0); } return value4; } function _fun74782({id}, {id}) { // fn#74782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:6741, offset: 0x01d9b025, size: 55 bytes, params: 3, frame: 13 const value = environment.__proto__; return (ICYMIUtilsModule).compareGravityUnreadIds(id, id); } } function getNewUnreadItems(a0, a1) { // fn#74783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:6796, offset: 0x01d9b05c, size: 339 bytes, params: 3, frame: 26 var r2; var r13; var r12; var r1; var value7; var type; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; var RECOMMENDED_GUILDS; var has; var id; var icymiUnreadStateStoreBinding; var getReadTimestamp; var value8; var MESSAGE; var value9; var moduleValue; var isItemUnreadInChannel; var data; var channel_id; var message_id; var isItemUnreadInChannel2; var value10; var value11; const items2 = []; const Set = global.Set; const set = new Set(env0_32.map(function(a0) { return a0.id; })); const value5 = _createForOfIteratorHelperLoose_74753(a0); const value6 = value5(); let done = value6.done; if (!done) { r2 = value6; while (true) { value7 = r2.value; type = value7.type; RECOMMENDED_GUILDS = ICYMIItemTypes.RECOMMENDED_GUILDS; if (type !== RECOMMENDED_GUILDS) { has = set.has; id = value7.id; if (Reflect.apply(has, set, [id])) { break; } icymiUnreadStateStoreBinding = ICYMIUnreadStateStore; getReadTimestamp = icymiUnreadStateStoreBinding.getReadTimestamp; id = value7.id; value8 = Reflect.apply(getReadTimestamp, icymiUnreadStateStoreBinding, [id]) == null; if (!value8) { r1 = value8; continue; } type = value7.type; MESSAGE = ICYMIItemTypes.MESSAGE; value9 = type !== MESSAGE; if (value9) { r12 = value9; continue; } moduleValue = require(9579) /* metro dependency 9579: ICYMIUtils */; isItemUnreadInChannel = moduleValue.isItemUnreadInChannel; data = value7.data; channel_id = data.channel_id; data = value7.data; message_id = data.message_id; isItemUnreadInChannel2 = Reflect.apply(isItemUnreadInChannel, moduleValue, [channel_id, message_id]); if (!isItemUnreadInChannel2) { r13 = isItemUnreadInChannel2; continue; } data = value7.data; channel_id = data.channel_id; value10 = channel_id !== a1; r13 = value10; r12 = r13; r1 = r12; if (r1) { items2.push(value7); break; } break; } value11 = value5(); done = value11.done; if (done) { break; } r2 = value11; continue; } } return items2; } function filterDehydratedItemListByChannel(a0, a1) { // fn#74785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:7196, offset: 0x01d9b1af, size: 31 bytes, params: 3, frame: 11 const env0_0 = a1; return a0.filter(_fun74786); function _fun74786(a0) { // fn#74786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:7261, offset: 0x01d9b1ce, size: 68 bytes, params: 2, frame: 12 let value = environment.__proto__; value = require(9579) /* metro dependency 9579: ICYMIUtils */; value = value.isGuildItem(a0); return value ? a0.data.channel_id !== require : !value; } } function maybeFilterChannelItems(a0, a1) { // fn#74787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:7315, offset: 0x01d9b212, size: 143 bytes, params: 3, frame: 18 var filterDehydratedItemListByChannelBinding; const value2 = (ICYMIUtilsModule).numberToCustomScore(a1); const ICYMICustomScore = (ICYMIUtilsModule).ICYMICustomScore; const MUTED = ICYMICustomScore.MUTED; if (value2 === MUTED) { filterDehydratedItemListByChannelBinding = filterDehydratedItemListByChannel; env0_32 = filterDehydratedItemListByChannelBinding(env0_32, a0); env0_50 = filterDehydratedItemListByChannelBinding(env0_50, a0); env0_51 = filterDehydratedItemListByChannelBinding(env0_51, a0); env0_35 = filterDehydratedItemListByChannelBinding(env0_35, a0); env0_36 = filterDehydratedItemListByChannelBinding(env0_36, a0); } } function filterDehydratedItemListByGuild(a0, a1) { // fn#74788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:7631, offset: 0x01d9b2a1, size: 31 bytes, params: 3, frame: 11 const env0_0 = a1; return a0.filter(_fun74789); function _fun74789(a0) { // fn#74789, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:7694, offset: 0x01d9b2c0, size: 68 bytes, params: 2, frame: 12 let value = environment.__proto__; value = require(9579) /* metro dependency 9579: ICYMIUtils */; value = value.isGuildItem(a0); return value ? a0.data.guild_id !== require : !value; } } function maybeFilterGuildItems(a0, a1) { // fn#74790, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:7746, offset: 0x01d9b304, size: 143 bytes, params: 3, frame: 18 var filterDehydratedItemListByGuildBinding; const value2 = (ICYMIUtilsModule).numberToCustomScore(a1); const ICYMICustomScore = (ICYMIUtilsModule).ICYMICustomScore; const MUTED = ICYMICustomScore.MUTED; if (value2 === MUTED) { filterDehydratedItemListByGuildBinding = filterDehydratedItemListByGuild; env0_32 = filterDehydratedItemListByGuildBinding(env0_32, a0); env0_50 = filterDehydratedItemListByGuildBinding(env0_50, a0); env0_51 = filterDehydratedItemListByGuildBinding(env0_51, a0); env0_35 = filterDehydratedItemListByGuildBinding(env0_35, a0); env0_36 = filterDehydratedItemListByGuildBinding(env0_36, a0); } } function MESSAGE_REACTION_ADD_74791(a0) { // fn#74791, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:8050, offset: 0x01d9b393, size: 187 bytes, params: 2, frame: 22 var r1; var message; const type = a0.type; const messageId = a0.messageId; const userId = a0.userId; const emoji = a0.emoji; const reactionType = a0.reactionType; const property = env0_39[messageId]; if (property == null) { return false; } const type2 = property.type; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; const MESSAGE = ICYMIItemTypes.MESSAGE; if (type2 !== MESSAGE) { return false; } const authenticationStoreBinding = AuthenticationStore; const getId = authenticationStoreBinding.getId; let value = Reflect.apply(getId, authenticationStoreBinding, []) === userId; if (type === 'MESSAGE_REACTION_ADD') { message = property.message; value = message.addReaction(emoji, value, a0.colors, reactionType); r1 = value; } else { value = property.message.removeReaction(emoji, value, reactionType); r1 = value; } property.message = r1; } function CHANNEL_ACK_74792({channelId}) { // fn#74792, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:8350, offset: 0x01d9b44e, size: 261 bytes, params: 2, frame: 22 var r11; var r3; var r7; var items3; const items4 = []; const items2 = []; let binding = env0_50; binding.forEach(_fun74793); binding = env0_45; const value2 = Module00057(computeDisplayItems(env0_35), 2); const property = value2[0]; value2[1]; if (env0_46) { if (binding) { r7 = getNewUnreadItems(property, channelId).length >= require(dependencyMap[24]).MIN_ITEMS_FOR_NEW_PILL; r11 = dependencyMap; } else { r7 = binding; } r3 = r7; } else { r3 = binding && tabHasNewContentOnInitialLoad(items2, env0_35); } if (items4.length !== 0) { if (items4.length !== 0) { binding = env0_51; items3 = []; arraySpread(items3, items4, arraySpread(items3, binding, 0, r11), r11); } } else { if (binding === r3) { return false; } if (items4.length !== 0) { binding = env0_51; items3 = []; arraySpread(items3, items4, arraySpread(items3, binding, 0, r11), r11); } } function _fun74793(a0, a1) { // fn#74793, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:8409, offset: 0x01d9b553, size: 125 bytes, params: 3, frame: 13 const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; if (a1 > env1_52) { if (a0.type !== ICYMIItemTypes.MESSAGE) { env0_2.push(a0); } else if (a0.data.channel_id === channelId) { env0_1.push(a0); } else { env0_2.push(a0); } } else if (env1_46) { env0_2.push(a0); } else if (a0.type !== ICYMIItemTypes.MESSAGE) { env0_2.push(a0); } else if (a0.data.channel_id === channelId) { env0_1.push(a0); } else { env0_2.push(a0); } } } function _fun74794(a0) { // fn#74794, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:8759, offset: 0x01d9b5d0, size: 902 bytes, params: 2, frame: 16 const ICYMIStore2 = ICYMIStore; Inherits(ICYMIStore2, a0); return CreateClass(ICYMIStore2, [{key: 'initialize', value: value_74796}, {key: 'getVersion', value: value_74798}, {key: 'getDehydratedItems', value: value_74799}, {key: 'getNewDehydratedItems', value: value_74800}, {key: 'getDehydratedItem', value: value_74801}, {key: 'getHydratedItem', value: value_74802}, {key: 'getMessage', value: value_74803}, {key: 'getHydratedItems', value: value_74804}, {key: 'getUnreadDisplayItems', value: value_74805}, {key: 'getNewUnreadDehydratedItems', value: value_74806}, {key: 'getReadDisplayItems', value: value_74807}, {key: 'getNextIndexToHydrate', value: value_74808}, {key: 'getMissingItems', value: value_74809}, {key: 'customMuted', value: function(a0, a1) { var r0; var value = this.getCustomGuildScore(a0); value = value === require(dependencyMap[23]).ICYMICustomScore.MUTED; if (value) { r0 = value; } else { value = this.getCustomChannelScore(a0, a1); value = value === require(dependencyMap[23]).ICYMICustomScore.MUTED; r0 = value; } return r0; }}, {key: 'getCustomChannelScore', value: value_74811}, {key: 'getCustomGuildScore', value: value_74812}, {key: 'getCustomGuildScores', value: value_74813}, {key: 'hasNewContent', value: value_74814}, {key: 'getCurrentStatusAttachments', value: value_74815}, {key: 'getLoadId', value: value_74816}, {key: 'hasOpenedEnoughTimes', value: value_74817}, {key: 'hasOpened', value: value_74818}, {key: 'getDiscoverableGuilds', value: value_74819}, {key: 'videosMuted', value: value_74820}, {key: 'isRefreshing', value: value_74821}, {key: 'isHydrating', value: value_74822}, {key: 'notificationItem', value: value_74823}, {key: 'getIsTabFocused', value: value_74824}, {key: 'isFirstPageHydrated', value: value_74825}, {key: 'lastScrollEvent', value: value_74826}, {key: 'lastTakenICYMISurvey', value: value_74827}, {key: 'getIndexInHydratedFeed', value: value_74828}, {key: 'getState', value: value_74832}]); function ICYMIStore() { // fn#74795, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:8771, offset: 0x01d1dcea, size: 113 bytes, params: 1, frame: 20 const value = environment.__proto__; env1_3(this, ICYMIStore); const value3 = env1_6(ICYMIStore); return env1_5(this, _isNativeReflectConstruct_74750() ? global.Reflect.construct(value3, arguments, env1_6(this).constructor) : value3.apply(this, arguments)); } function value_74796(a0) { // fn#74796, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:9039, offset: 0x01d9b956, size: 248 bytes, params: 2, frame: 39 var r0; var r4; var numOpens; var value2; this.waitFor(AuthenticationStore, ChannelStore, ContentInventoryStore, ExperimentStore, GuildAffinitiesStore, GuildScheduledEventStore, GuildStore, ICYMIFiltersStore, ICYMIUnreadStateStore, MessageStore, PermissionStore, ReadStateStore, RelationshipStore, UserGuildSettingsStore); if (a0 != null) { (a0.dehydratedItems ?? []).forEach(_fun74797); r0 = a0.customGuildScores ?? ({}); r0 = a0.customChannelScoresByGuild ?? ({}); numOpens = a0.numOpens; value2 = 0; r4 = numOpens ?? value2; r4 = a0.lastOpened ?? value2; r4 = a0.lastJoinedRecommendedGuild ?? value2; r0 = a0.lastTakenICYMISurvey ?? value2; } function _fun74797(a0) { // fn#74797, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:9169, offset: 0x01d9ba4e, size: 23 bytes, params: 2, frame: 3 env2_38[a0.id] = a0; } } function value_74798() { // fn#74798, offset: 0x00df3ba7, size: 9 bytes, params: 1, frame: 1 return env1_43; } function value_74799() { // fn#74799, offset: 0x01080587, size: 9 bytes, params: 1, frame: 1 return env1_32; } function value_74800() { // fn#74800, offset: 0x00e427c1, size: 9 bytes, params: 1, frame: 1 return env1_35; } function value_74801(a0) { // fn#74801, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:9602, offset: 0x01d9ba65, size: 28 bytes, params: 2, frame: 3 let value = environment.__proto__; const property = env1_38[a0]; value = null; return value != property ? property : value; } function value_74802(a0) { // fn#74802, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:9680, offset: 0x01d9ba81, size: 28 bytes, params: 2, frame: 3 let value = environment.__proto__; const property = env1_39[a0]; value = null; return value != property ? property : value; } function value_74803(a0) { // fn#74803, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:9753, offset: 0x01d9ba9d, size: 77 bytes, params: 2, frame: 15 const property = env1_39[a0]; const value2 = null; return value2 == property || property.type !== (require(7230) /* metro dependency 7230: ICYMITypes */).ICYMIItemTypes.MESSAGE ? value2 : property.message; } function value_74804() { // fn#74804, offset: 0x01d1de51, size: 9 bytes, params: 1, frame: 1 return env1_39; } function value_74805() { // fn#74805, offset: 0x01d9baea, size: 9 bytes, params: 1, frame: 1 return env1_50; } function value_74806() { // fn#74806, offset: 0x00e427ca, size: 9 bytes, params: 1, frame: 1 return env1_36; } function value_74807() { // fn#74807, offset: 0x01d9baf3, size: 9 bytes, params: 1, frame: 1 return env1_51; } function value_74808() { // fn#74808, offset: 0x01d9bafc, size: 9 bytes, params: 1, frame: 1 return env1_52; } function value_74809() { // fn#74809, offset: 0x00df3c28, size: 9 bytes, params: 1, frame: 1 return env1_40; } function value_74811(a0, a1) { // fn#74811, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:10402, offset: 0x01d9bb74, size: 122 bytes, params: 3, frame: 14 const ICYMICustomScore = (require(9579) /* metro dependency 9579: ICYMIUtils */).ICYMICustomScore; const value = environment.__proto__; return env1_42[a0] == null || env1_42[a0][a1] == null ? ICYMICustomScore.UNKNOWN : (require(9579) /* metro dependency 9579: ICYMIUtils */).numberToCustomScore(env1_42[a0][a1]); } function value_74812(a0) { // fn#74812, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:10558, offset: 0x01d9bbee, size: 30 bytes, params: 2, frame: 3 const value = environment.__proto__; return env1_41[a0] ?? 0; } function value_74813() { // fn#74813, offset: 0x00df3c31, size: 9 bytes, params: 1, frame: 1 return env1_41; } function value_74814() { // fn#74814, offset: 0x01d9bc0c, size: 9 bytes, params: 1, frame: 1 return env1_45; } function value_74815(a0) { // fn#74815, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:10750, offset: 0x01d9bc15, size: 49 bytes, params: 2, frame: 3 return env1_47 == null || env1_47[0] !== a0 ? [] : env1_47[1]; } function value_74816() { // fn#74816, offset: 0x0117839e, size: 9 bytes, params: 1, frame: 1 return env1_33; } function value_74817() { // fn#74817, offset: 0x01d9bc46, size: 16 bytes, params: 1, frame: 2 return env1_49 === 5; } function value_74818() { // fn#74818, offset: 0x01d9bc56, size: 9 bytes, params: 1, frame: 1 return env1_46; } function value_74819() { // fn#74819, offset: 0x01d9bc5f, size: 9 bytes, params: 1, frame: 1 return env1_53; } function value_74820() { // fn#74820, offset: 0x01d9bc68, size: 9 bytes, params: 1, frame: 1 return env1_55; } function value_74821() { // fn#74821, offset: 0x01d1dd7e, size: 9 bytes, params: 1, frame: 1 return env1_56; } function value_74822() { // fn#74822, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:11127, offset: 0x01d9bc71, size: 20 bytes, params: 1, frame: 2 return env1_57.size > 0; } function value_74823() { // fn#74823, offset: 0x01d1dea7, size: 9 bytes, params: 1, frame: 1 return env1_48; } function value_74824() { // fn#74824, offset: 0x01d9bc85, size: 9 bytes, params: 1, frame: 1 return env1_58; } function value_74825() { // fn#74825, offset: 0x01d9bc8e, size: 9 bytes, params: 1, frame: 1 return env1_59; } function value_74826() { // fn#74826, offset: 0x01d9bc97, size: 9 bytes, params: 1, frame: 1 return env1_60; } function value_74827() { // fn#74827, offset: 0x01d9bca0, size: 9 bytes, params: 1, frame: 1 return env1_61; } function value_74828(a0) { // fn#74828, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:11462, offset: 0x01d9bca9, size: 148 bytes, params: 2, frame: 16 var environment; var r0; var value; var binding; var items2; const env0_0 = a0; if (a0 === 'recommended_guilds') { value = environment.__proto__; binding = env1_50; items2 = []; arraySpread(items2, env1_51, arraySpread(items2, binding, 0, undefined), undefined); value = items2.findIndex(function({type}) { return type === require(dependencyMap[24]).ICYMIItemTypes.RECOMMENDED_GUILDS; }); r0 = value; } else if (a0 === 'recommendedGuilds') { value = environment.__proto__; binding = env1_50; items2 = []; arraySpread(items2, env1_51, arraySpread(items2, binding, 0, undefined), undefined); value = items2.findIndex(_fun74829); r0 = value; } else { value = environment.__proto__; binding = env1_50; items2 = []; arraySpread(items2, env1_51, arraySpread(items2, binding, 0, undefined), undefined); value = items2.filter(_fun74830); value = value.findIndex(_fun74831); r0 = value; } return r0; function _fun74829({type}) { // fn#74829, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:11554, offset: 0x01d9bd3d, size: 51 bytes, params: 2, frame: 12 const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; const RECOMMENDED_GUILDS = ICYMIItemTypes.RECOMMENDED_GUILDS; return type === RECOMMENDED_GUILDS; } function _fun74830({id}) { // fn#74830, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:11633, offset: 0x01d9bd70, size: 27 bytes, params: 2, frame: 2 return env2_39[id] != null; } function _fun74831({id}) { // fn#74831, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:11663, offset: 0x00db0c48, size: 21 bytes, params: 2, frame: 2 return id === env0_0; } } function value_74832() { // fn#74832, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:11701, offset: 0x01d9bd8b, size: 70 bytes, params: 1, frame: 3 return {dehydratedItems: env1_32, numOpens: env1_49, customGuildScores: env1_41, customChannelScoresByGuild: env1_42, lastOpened: env1_34, lastJoinedRecommendedGuild: env1_54, lastTakenICYMISurvey: env1_61}; } } function LOGOUT_74833() { // fn#74833, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:11981, offset: 0x01d9bdd1, size: 183 bytes, params: 1, frame: 13 env0_32 = []; env0_35 = []; env0_36 = []; env0_38 = {}; env0_37 = {}; env0_39 = {}; env0_40 = {}; env0_41 = {}; env0_42 = {}; env0_50 = []; env0_51 = []; const Set = global.Set; const set = new Set(); } function LOAD_ICYMI_FROM_NOTIFICATION({messageItem, customStatusItem}) { // fn#74834, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:12185, offset: 0x01d9be88, size: 440 bytes, params: 2, frame: 22 var r1; var object; var message; var id; var binding; var object3; var moduleValue; var createMessageRecord; var computeDisplayItemsBinding; var items2; var value2; var property; var property2; if (customStatusItem != null) { if (env0_33 != null) { if (env0_35.length > 0) { r1 = env0_35; } else { binding = env0_32; object = []; arraySpread(object, binding, 0, undefined); r1 = object; } env0_35 = r1; finalizeNewDehydratedItemsContent(); reload_74779(); } return true; } if (messageItem != null) { object = {}; message = messageItem.message; id = message.id; object.id = id; object.type = require(dependencyMap[24]).ICYMIItemTypes.MESSAGE; object.score = 50; message = messageItem.message; id = message.id; object.data = {channel_id: messageItem.channel_id, message_id: id, guild_id: messageItem.guild_id, channel_type: ChannelTypes.GUILD_TEXT}; binding = env0_38; message = messageItem.message; id = message.id; binding[id] = object; binding = env0_39; message = messageItem.message; id = message.id; object3 = {}; copyDataProperties(object3, object, undefined); moduleValue = require(dependencyMap[30]); createMessageRecord = moduleValue.createMessageRecord; message = messageItem.message; object3['message'] = Reflect.apply(createMessageRecord, moduleValue, [message]); binding[id] = object3; if (env0_33 != null) { arraySpread([object], env0_35, 1, dependencyMap); reload_74779(); } else if (env0_37 == null) { computeDisplayItemsBinding = computeDisplayItems; items2 = [object]; arraySpread(items2, env0_32, 1, dependencyMap); value2 = Module00057(computeDisplayItemsBinding(items2), 2); property = value2[0]; property2 = value2[1]; } else { arraySpread([object], env0_35, 1, dependencyMap); reload_74779(); } return true; } return false; } function LOAD_ICYMI_DEHYDRATED({items, loadId, startTime, isInitialLoad, isReloading}) { // fn#74835, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:12796, offset: 0x01d9c040, size: 534 bytes, params: 2, frame: 22 var object2; var hydrateItems; env0_35 = processRawItems(items); finalizeNewDehydratedItemsContent(); let object = {load_id: loadId}; const Date = global.Date; object.load_time_millis = Date.now() - startTime; object.feed_item_ids = env0_35.map(function(a0) { return a0.id; }); object2 = object; value = computeDisplayItems(env0_35); value = Module00057(value, 2); const property = value[0]; const property2 = value[1]; if (env0_46) { if (env0_43 === 0) { env0_45 = !env0_58 && (tabHasNewContentOnInitialLoad(property, env0_35) && true); reload_74779({newUnread: property, newRead: property2}); } else if (isInitialLoad) { env0_45 = !env0_58 && (tabHasNewContentOnInitialLoad(property, env0_35) && true); reload_74779({newUnread: property, newRead: property2}); } else { if (env0_43 > 0) { } value = getNewUnreadItems(property).length > (require(7230) /* metro dependency 7230: ICYMITypes */).MIN_ITEMS_FOR_NEW_PILL; env0_45 = !isReloading ? value : env0_45; if (value) { value = require(9579) /* metro dependency 9579: ICYMIUtils */; hydrateItems = value.hydrateItems; object = []; arraySpread(object, property2, arraySpread(object, property, 0, undefined), undefined); Reflect.apply(hydrateItems, value, [object, 0, (require(7230) /* metro dependency 7230: ICYMITypes */).ICYMI_PAGE_SIZE]); if (property.length + property2.length !== 0) { } } } } else { env0_45 = !env0_58 && (tabHasNewContentOnInitialLoad(property, env0_35) && true); reload_74779({newUnread: property, newRead: property2}); } const ICYMIAnalytics = (ICYMIAnalyticsModule).ICYMIAnalytics; ICYMIAnalytics.trackFeedLoaded({newTrackingProps: object2, hasNewContent: env0_45, unreadFeedItems: property, readFeedItems: property2, homeSessionId: env0_58 ? 'foreground_load' : 'background_load'}); function processRawItems(a0) { // fn#74836, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:12890, owner: LOAD_ICYMI_DEHYDRATED.processRawItems, offset: 0x01d9c256, size: 118 bytes, params: 2, frame: 15 var environment; const Set = global.Set; const value = environment.__proto__; const SUPPORTED_ITEM_TYPES = (ICYMITypesModule).SUPPORTED_ITEM_TYPES; const set = new Set(SUPPORTED_ITEM_TYPES); const value4 = a0.filter(_fun74837); return value4.filter(filterStaffGuild).map(_fun74838); function _fun74837({type}) { // fn#74837, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:12981, offset: 0x013d5598, size: 27 bytes, params: 2, frame: 11 return env0_0.has(type); } function _fun74838(a0) { // fn#74838, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:13030, offset: 0x01d9c2cc, size: 517 bytes, params: 2, frame: 15 var r1; var data; var message_context; var object; const type = a0.type; let value = environment.__proto__.__proto__; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; const MESSAGE = ICYMIItemTypes.MESSAGE; if (type === MESSAGE) { data = a0.data; message_context = data.message_context; if (message_context != null) { object = {}; data = a0.data; message_context = data.message_context; value = message_context.reply_message_id != null; if (value) { value = global.parseInt(a0.data.message_context.reply_message_id); value = value !== 0; r1 = value; } else { r1 = value; } if (r1) { object.reply_message_id = a0.data.message_context.reply_message_id; } data = a0.data; message_context = data.message_context; value = message_context.before_message_id != null; if (value) { value = global.parseInt(a0.data.message_context.before_message_id); value = value !== 0; r1 = value; } else { r1 = value; } if (r1) { object.before_message_id = a0.data.message_context.before_message_id; } data = a0.data; message_context = data.message_context; value = message_context.after_message_id != null; if (value) { value = global.parseInt(a0.data.message_context.after_message_id); value = value !== 0; r1 = value; } else { r1 = value; } if (r1) { object.after_message_id = a0.data.message_context.after_message_id; } data = a0.data; message_context = data.message_context; value = message_context.external_content_application_id != null; if (value) { value = global.parseInt(a0.data.message_context.external_content_application_id); value = value !== 0; r1 = value; } else { r1 = value; } if (r1) { object.external_content_application_id = a0.data.message_context.external_content_application_id; } data = a0.data; message_context = data.message_context; value = message_context.reference_message_id != null; if (value) { value = global.parseInt(a0.data.message_context.reference_message_id); value = value !== 0; r1 = value; } else { r1 = value; } if (r1) { object.reference_message_id = a0.data.message_context.reference_message_id; } data = a0.data; data.message_context = object; } } return a0; } } } function LOAD_ICYMI_HYDRATED({messageItems, activityItems, requestMessageItems, requestActivityItems, startingIndex, endingIndex}) { // fn#74840, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:14713, offset: 0x01d9c4d1, size: 213 bytes, params: 2, frame: 20 copyDataProperties({}, env0_39, messageItems); const env0_0 = messageItems.reduce(function(a0, a1) { a0[a1.message.id] = a1; return a0; }, {}); const env0_1 = activityItems.reduce(function(a0, a1) { a0[a1.id] = a1; return a0; }, {}); requestMessageItems.forEach(_fun74843); requestActivityItems.forEach(_fun74844); if (startingIndex !== env0_52) { } const binding = env0_57; binding.delete(ICYMIUtilsModule.generateHydrationId(startingIndex, endingIndex)); function _fun74843(a0) { // fn#74843, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:14969, offset: 0x01d9c5bc, size: 362 bytes, params: 2, frame: 18 var r5; var property2; var object; var channel_id; var id; var messageStoreBinding; var getMessage; var value2; var gravityMessageFromServer; var value; let binding = env0_0; const property = binding[a0.message_id]; if (property != null) { value = environment.__proto__; binding = env1_38; property2 = binding[a0.message_id]; if (property2 != null) { r5 = property2; } else { object = {}; object.id = a0.message_id; object.type = (require(7230) /* metro dependency 7230: ICYMITypes */).ICYMIItemTypes.MESSAGE; object.score = -1; object.data = {guild_id: property.guild_id, channel_id: property.channel_id, message_id: property.message.id, channel_type: ChannelTypes.GUILD_TEXT, has_mention: false}; r5 = object; } messageStoreBinding = MessageStore; getMessage = messageStoreBinding.getMessage; channel_id = property.channel_id; id = property.message.id; value2 = Reflect.apply(getMessage, messageStoreBinding, [channel_id, id]); if (value2 != null) { gravityMessageFromServer = (require(9579) /* metro dependency 9579: ICYMIUtils */).createGravityMessageFromServer(property, r5); binding = env1_39; id = property.message.id; object = {}; copyDataProperties(object, gravityMessageFromServer, undefined); object['message'] = value2; binding[id] = object; } else { binding = env1_39; id = property.message.id; value = require(9579) /* metro dependency 9579: ICYMIUtils */; binding[id] = value.createGravityMessageFromServer(property, r5); } } else { value = environment.__proto__; env1_40[a0.message_id] = true; } } function _fun74844(a0) { // fn#74844, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:15471, offset: 0x01d9c726, size: 124 bytes, params: 2, frame: 15 var property2; var binding2; var id; var object; let binding = env0_1; const property = binding[a0.content_id]; if (property != null) { value = environment.__proto__; binding = env1_38; property2 = binding[a0.content_id]; if (property2 != null) { binding2 = env1_39; id = property.id; object = {}; copyDataProperties(object, property2, binding); object['activity'] = property; binding2[id] = object; } else { env1_40[a0.content_id] = true; } } else { value = environment.__proto__; env1_40[a0.content_id] = true; } } } function LOAD_ICYMI_CUSTOM_SCORES({scores}) { // fn#74845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:15698, offset: 0x01d9c7a2, size: 282 bytes, params: 2, frame: 24 var r14; var r4; var r9; var value5; var binding; var guild_id; var guild_score; var maybeFilterGuildItemsBinding; var Object; var keys; var custom_channel_scores; var value6; var length; var property; var property2; var maybeFilterChannelItemsBinding; var value7; var value8; const value2 = _createForOfIteratorHelperLoose_74753(scores); const value3 = value2(); let done = value3.done; if (!done) { r4 = value3; while (true) { value5 = r4.value; binding = env0_41; guild_id = value5.guild_id; guild_score = value5.guild_score; binding[guild_id] = guild_score; maybeFilterGuildItemsBinding = maybeFilterGuildItems; guild_id = value5.guild_id; guild_score = value5.guild_score; maybeFilterGuildItemsBinding(guild_id, guild_score); Object = global.Object; keys = Object.keys; custom_channel_scores = value5.custom_channel_scores; value6 = Reflect.apply(keys, Object, [custom_channel_scores]); length = value6.length; if (0 < length) { r9 = 0; while (true) { property = value6[r9]; binding = env0_42; guild_id = value5.guild_id; if (binding[guild_id] == null) { binding = env0_42; binding[value5.guild_id] = {}; r14 = binding; } binding = env0_42; guild_id = value5.guild_id; property2 = binding[guild_id]; custom_channel_scores = value5.custom_channel_scores; property2[property] = custom_channel_scores[property]; maybeFilterChannelItemsBinding = maybeFilterChannelItems; custom_channel_scores = value5.custom_channel_scores; maybeFilterChannelItemsBinding(property, custom_channel_scores[property]); value7 = typeof r9 === 'bigint' ? r9 + 1n : +r9 + 1; length = value6.length; if (value7 < length) { r9 = value7; continue; } break; } } value8 = value2(); done = value8.done; if (done) { break; } r4 = value8; continue; } } copyDataProperties({}, env0_41, r14); copyDataProperties({}, env0_42, r14); } function LOAD_ICYMI_RECOMMENDED_GUILDS({guilds}) { // fn#74846, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:16161, offset: 0x01d9c8bc, size: 47 bytes, params: 2, frame: 11 const value = guilds.map(_fun74847); injectRecommendedGuildsRow(); function _fun74847({guild}) { // fn#74847, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:16219, offset: 0x01d9c8eb, size: 46 bytes, params: 2, frame: 11 const value = environment.__proto__; return (GuildDiscoveryUtilsModule).makeDiscoverableGuild(guild); } } function ICYMI_CUSTOM_SCORES_UPDATED({channelScores, guildId, guildScore}) { // fn#74848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:16323, offset: 0x01d9c919, size: 97 bytes, params: 2, frame: 17 if (guildScore != null) { env0_41[guildId] = guildScore; maybeFilterGuildItems(guildId, guildScore); copyDataProperties({}, env0_41, guildId); } if (channelScores != null) { channelScores.forEach(_fun74849); } function _fun74849({channelId, score}) { // fn#74849, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:16474, offset: 0x01d9c97a, size: 99 bytes, params: 2, frame: 16 var r6; let binding = env1_42; if (binding[guildId] == null) { binding = env1_42; binding[guildId] = {}; r6 = binding; } env1_42[guildId][channelId] = score; maybeFilterChannelItems(channelId, score); copyDataProperties({}, env1_42, r6); } } function RELOAD_ICYMI() { // fn#74850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:16587, offset: 0x01d9c9dd, size: 40 bytes, params: 1, frame: 10 if (env0_35.length === 0) { return false; } reload_74779(); } function ICYMI_TAB_OPENED() { // fn#74851, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:16671, offset: 0x01d9ca05, size: 73 bytes, params: 1, frame: 10 var binding; const Date = global.Date; env0_34 = Date.now(); if (env0_44) { } if (env0_49 < 5) { binding = env0_49; env0_49 = typeof binding === 'bigint' ? binding + 1n : +binding + 1; } } function MESSAGE_REACTION_ADD_MANY_74853({messageId, reactions}) { // fn#74853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:16869, offset: 0x01d9ca5c, size: 121 bytes, params: 2, frame: 16 const property = env0_39[messageId]; if (property == null) { return false; } const type = property.type; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; const MESSAGE = ICYMIItemTypes.MESSAGE; if (type !== MESSAGE) { return false; } property.message = property.message.addReactionBatch(reactions, AuthenticationStore.getId()); } function MESSAGE_REACTION_REMOVE_ALL_74854({messageId}) { // fn#74854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:17136, offset: 0x01d9cad5, size: 111 bytes, params: 2, frame: 16 var r1; var r0; var type; var value3; var value; const property = env0_39[messageId]; const value2 = property != null; if (value2) { type = property.type; value = undefined; value3 = type === (require(7230) /* metro dependency 7230: ICYMITypes */).ICYMIItemTypes.MESSAGE; if (value3) { property.message = property.message.set('reactions', []); r1 = value; } else { r1 = value3; } r0 = r1; } else { r0 = value2; } return r0; } function MESSAGE_REACTION_REMOVE_EMOJI_74855({messageId, emoji}) { // fn#74855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:17334, offset: 0x01d9cb44, size: 109 bytes, params: 2, frame: 15 var r1; var r0; var type; var value3; var value; const property = env0_39[messageId]; const value2 = property != null; if (value2) { type = property.type; value = undefined; value3 = type === (require(7230) /* metro dependency 7230: ICYMITypes */).ICYMIItemTypes.MESSAGE; if (value3) { property.message = property.message.removeReactionsForEmoji(emoji); r1 = value; } else { r1 = value3; } r0 = r1; } else { r0 = value2; } return r0; } function LOAD_ICYMI_HYDRATED_ATTEMPT({hydrationId}) { // fn#74859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:17819, offset: 0x01d9cbf5, size: 30 bytes, params: 2, frame: 11 env0_57.add(hydrationId); } function LOAD_ICYMI_HYDRATED_FAILED({hydrationId}) { // fn#74860, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:17909, offset: 0x01d9cc13, size: 30 bytes, params: 2, frame: 11 env0_57.delete(hydrationId); } function LOAD_ICYMI_CURRENT_STATUS_MEDIA({attachments, createdAtMs}) { // fn#74862, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9755:18076, offset: 0x01d9cc45, size: 81 bytes, params: 2, frame: 16 var items3; var items2; if (attachments != null) { if (attachments.length !== 0) { items3 = [createdAtMs]; items2 = []; arraySpread(items2, attachments, 0, null); items3[1] = items2; } } } } global.__d(_fun74749, 9569, [6, 7, 15, 17, 18, 57, 9570, 4107, 4117, 1226, 1379, 9575, 1867, 4814, 3784, 4605, 3793, 4864, 9577, 9578, 661, 9588, 672, 9579, 7230, 8370, 8375, 9572, 9589, 6946, 4625, 566, 694, 2]) /* metro module 9569, dependencies: [6, 7, 15, 17, 18, 57, 9570, 4107, 4117, 1226, 1379, 9575, 1867, 4814, 3784, 4605, 3793, 4864, 9577, 9578, 661, 9588, 672, 9579, 7230, 8370, 8375, 9572, 9589, 6946, 4625, 566, 694, 2] */;