/* Metro module 6426; source: unknown; dependencies: [6371, 6374, 6375, 6396, 6398, 6401, 31, 27, 33, 6427, 6428, 6429, 6431, 6432, 6433, 6434, 6436, 6441, 6442, 6443, 6455, 6481] */ function _fun50390(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#50390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6, offset: 0x012188bf, size: 316 bytes, params: 8, frame: 19 const env0_0 = require; const env0_3 = ['drawDistance', 'removeClippedSubviews', 'stickyHeaderIndices', 'horizontal', 'onEndReachedThreshold', 'estimatedListSize', 'initialScrollIndex', 'style', 'contentContainerStyle', 'renderScrollComponent']; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_4 = importDefault(6371) /* metro dependency 6371 */; const env0_5 = importDefault(6374) /* metro dependency 6374 */; const env0_6 = importDefault(6375) /* metro dependency 6375 */; const env0_7 = importDefault(6396) /* metro dependency 6396 */; const env0_8 = importDefault(6398) /* metro dependency 6398 */; const env0_9 = importDefault(6401) /* metro dependency 6401 */; let value = importDefault(31) /* metro dependency 31 */; const value2 = require(27) /* metro dependency 27 */; const env0_11 = value2.View; const env0_12 = value2.RefreshControl; value2.StyleSheet; const value3 = require(33) /* metro dependency 33 */; const env0_13 = value3.jsx; const env0_14 = value3.Fragment; const env0_15 = value3.jsxs; const PureComponent = value.PureComponent; value = _fun50394(PureComponent); value.defaultProps = {data: [], numColumns: 1}; exports.default = value; } function _isNativeReflectConstruct_50391() { // fn#50391, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:473, offset: 0x012189fb, 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_50391_isNativeReflectConstruct = function() { return !!result; })(); } function _fun50394(a0) { // fn#50394, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:698, offset: 0x01218a59, size: 589 bytes, params: 2, frame: 18 const closure = FlashList; env0_9(closure, a0); return env0_6(closure, [{key: 'validateProps', value: value_50425}, {key: 'componentDidMount', value: function() { var property = this.props.data; var value = undefined; if ((property == null ? value : property.length) === 0) { this.raiseOnLoadEventIfNeeded(); } return value; }}, {key: 'componentWillUnmount', value: function() { this.viewabilityManager.dispose(); this.clearPostLoadTimeout(); this.clearRenderSizeWarningTimeout(); if (this.itemSizeWarningTimeoutId !== undefined) { global.clearTimeout(this.itemSizeWarningTimeoutId); } }}, {key: 'render', value: value_50428}, {key: 'getUpdatedWindowCorrectionConfig', value: function() { var isInitialScrollIndexInFirstRow = this.isInitialScrollIndexInFirstRow(); var property = this.windowCorrectionConfig; if (isInitialScrollIndexInFirstRow) { property.applyToInitialOffset = false; } else { property.applyToInitialOffset = true; } this.windowCorrectionConfig.value.windowShift = -this.distanceFromWindow; return this.windowCorrectionConfig; }}, {key: 'isInitialScrollIndexInFirstRow', value: function() { return (this.props.initialScrollIndex ?? this.state.numColumns) < this.state.numColumns; }}, {key: 'validateListSize', value: function(a0) { var property = a0.nativeEvent.layout; var height = property.height; property = property.width; this.clearRenderSizeWarningTimeout(); var Math = global.Math; var value = Math.floor(height); value = value <= 1; if (value || global.Math.floor(property) <= 1) { this.renderedSizeWarningTimeoutId = global.setTimeout(_fun50432, 1000); } }}, {key: 'getTransform', value: function() { var r0 = this.props.inverted && (this.props.horizontal ? this.transformStyleHorizontal : this.transformStyle); r0 = !r0 ? undefined : r0; return r0; }}, {key: 'getValidComponent', value: value_50434}, {key: 'isStickyEnabled', get: function() { var r1; r1 = this.rlvRef?.getCurrentScrollOffset(); r1 = !r1 ? 0 : r1; return r1 >= this.distanceFromWindow; }}, {key: 'prepareForLayoutAnimationRender', value: value_50436}, {key: 'updateViewableItems', value: function() { this.viewabilityManager.updateViewableItems(); }}, {key: 'scrollToEnd', value: function(a0) { var rlvRef = this.rlvRef; if (rlvRef != null) { rlvRef.scrollToEnd(global.Boolean(a0?.animated)); } }}, {key: 'scrollToIndex', value: value_50439}, {key: 'scrollToItem', value: function(a0) { var property = this.props.data; var value = undefined; var r1 = (property == null ? value : property.indexOf(a0.item)) ?? -1; if (r1 >= 0) { this.scrollToIndex(global.Object.assign({}, a0, {index: r1})); } return value; }}, {key: 'scrollToOffset', value: function(a0) { var r3; var r4; var property; var value = 0; r3 = this.props.horizontal ? a0.offset : value; r4 = this.props.horizontal ? value : a0.offset; property = this.rlvRef; if (property != null) { property.scrollToOffset(r3, r4, global.Boolean(a0.animated)); } }}, {key: 'getScrollableNode', value: function() { var r0; var rlvRef = this.rlvRef; var value = null; r0 = value == rlvRef || value == rlvRef.getScrollableNode ? undefined : rlvRef.getScrollableNode(); r0 = !r0 ? value : r0; return r0; }}, {key: 'recyclerlistview_unsafe', get: function() { return this.rlvRef; }}, {key: 'firstItemOffset', get: function() { return this.distanceFromWindow; }}, {key: 'clearLayoutCacheOnUpdate', value: function() { this.state.layoutProvider.markExpired(); }}], [{key: 'getDerivedStateFromProps', value: value_50446}, {key: 'getInitialMutableState', value: value_50447}, {key: 'getLayoutProvider', value: value_50450}]); } function FlashList(a0) { // fn#50395, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:710, offset: 0x01218ca6, size: 796 bytes, params: 2, frame: 23 var environment; var horizontal; const value = environment.__proto__; env1_5(this, FlashList); const items = [a0]; const value3 = env1_8(FlashList); const value6 = env1_7(this, _isNativeReflectConstruct_50391() ? global.Reflect.construct(value3, items, env1_8(this).constructor) : value3.apply(this, items)); const value7 = 0; value6.listFixedDimensionSize = value7; const PlatformConfig = (require(6427) /* metro dependency 6427 */).PlatformConfig; value6.transformStyle = PlatformConfig.invertedTransformStyle; value6.transformStyleHorizontal = PlatformConfig.invertedTransformStyleHorizontal; value6.distanceFromWindow = value7; value6.contentStyle = {'paddingBottom': 0, 'paddingTop': 0, 'paddingLeft': 0, 'paddingRight': 0}; value6.loadStartTime = value7; value6.isListLoaded = false; value6.windowCorrectionConfig = {'value': null, 'applyToItemScroll': true, 'applyToInitialOffset': true, value: {'windowShift': 0, 'startCorrection': 0, 'endCorrection': 0}}; value6.isEmptyList = false; value6.onEndReached = onEndReached; value6.getRefreshControl = getRefreshControl; value6.onScrollBeginDrag = onScrollBeginDrag_50398; value6.onScroll = onScroll_50399; value6.handleSizeChange = handleSizeChange; value6.container = container; value6.itemContainer = itemContainer; value6.updateDistanceFromWindow = updateDistanceFromWindow; value6.separator = separator; value6.header = header_50405; value6.footer = footer; value6.getComponentForHeightMeasurement = getComponentForHeightMeasurement; value6.applyWindowCorrection = applyWindowCorrection; value6.rowRendererSticky = rowRendererSticky; value6.rowRendererWithIndex = rowRendererWithIndex; value6.emptyRowRenderer = function() { return null; }; value6.getCellContainerChild = getCellContainerChild; value6.recyclerRef = recyclerRef; value6.stickyContentRef = stickyContentRef; value6.stickyOverrideRowRenderer = stickyOverrideRowRenderer; value6.onItemLayout = onItemLayout_50416; value6.raiseOnLoadEventIfNeeded = raiseOnLoadEventIfNeeded; value6.runAfterOnLoad = runAfterOnLoad; value6.clearPostLoadTimeout = clearPostLoadTimeout; value6.clearRenderSizeWarningTimeout = clearRenderSizeWarningTimeout; value6.recordInteraction = recordInteraction_50423; value6.recomputeViewableItems = recomputeViewableItems_50424; const Date = global.Date; value6.loadStartTime = Date.now(); value6.validateProps(); let estimatedListSize = a0.estimatedListSize; if (estimatedListSize) { horizontal = a0.horizontal; estimatedListSize = a0.estimatedListSize; if (horizontal) { value6.listFixedDimensionSize = estimatedListSize.height; } else { value6.listFixedDimensionSize = estimatedListSize.width; } } value6.distanceFromWindow = a0.estimatedFirstItemOffset ?? (a0.ListHeaderComponent ? 1 : value7); value6.state = FlashList.getInitialMutableState(value6); const defaultImport = importDefault(6434) /* metro dependency 6434 */; const value9 = Object.create(defaultImport.prototype, {constructor: {value: defaultImport}}); const defaultImport2 = new defaultImport(value6); value6.viewabilityManager = defaultImport2 instanceof Object ? defaultImport2 : value9; value6.itemAnimator = (require(6427) /* metro dependency 6427 */).getItemAnimator(); return value6; } function value_50425() { // fn#50425, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:7723, offset: 0x01219db7, size: 433 bytes, params: 1, frame: 15 var Number; var stickyHeaderIndices; var value; var value4; var moduleValue; var hasUnsupportedKeysInContentContainerStyle; var console; var value5; var defaultImport; var columnsWhileHorizontalNotSupported; var value7; var defaultImport2; var stickyWhileHorizontalNotSupported; var refreshBooleanMissing; let props = this.props; if (props.onRefresh) { props = this.props; if (typeof props.refreshing !== 'boolean') { value = environment.__proto__; value = importDefault(6436) /* metro dependency 6436 */; refreshBooleanMissing = (importDefault(6441) /* metro dependency 6441 */).refreshBooleanMissing; value = new value(); throw value; } Number = global.Number; props = this.props; stickyHeaderIndices = props.stickyHeaderIndices; value = undefined; if (Number(stickyHeaderIndices == null ? value : stickyHeaderIndices.length) > 0) { props = this.props; if (props.horizontal) { value7 = environment.__proto__; defaultImport2 = importDefault(6436) /* metro dependency 6436 */; stickyWhileHorizontalNotSupported = (importDefault(6441) /* metro dependency 6441 */).stickyWhileHorizontalNotSupported; throw new defaultImport2(); } Number = global.Number; props = this.props; if (Number(props.numColumns) > 1) { props = this.props; if (props.horizontal) { value5 = environment.__proto__; defaultImport = importDefault(6436) /* metro dependency 6436 */; columnsWhileHorizontalNotSupported = (importDefault(6441) /* metro dependency 6441 */).columnsWhileHorizontalNotSupported; throw new defaultImport(); } value4 = environment.__proto__; moduleValue = require(6442) /* metro dependency 6442 */; hasUnsupportedKeysInContentContainerStyle = moduleValue.hasUnsupportedKeysInContentContainerStyle; props = this.props; if (Reflect.apply(hasUnsupportedKeysInContentContainerStyle, moduleValue, [props.contentContainerStyle])) { console = global.console; console.warn((importDefault(6433) /* metro dependency 6433 */).styleContentContainerUnsupported); } return value; } value4 = environment.__proto__; moduleValue = require(6442) /* metro dependency 6442 */; hasUnsupportedKeysInContentContainerStyle = moduleValue.hasUnsupportedKeysInContentContainerStyle; props = this.props; if (Reflect.apply(hasUnsupportedKeysInContentContainerStyle, moduleValue, [props.contentContainerStyle])) { console = global.console; console.warn((importDefault(6433) /* metro dependency 6433 */).styleContentContainerUnsupported); } return value; } Number = global.Number; props = this.props; if (Number(props.numColumns) > 1) { props = this.props; if (props.horizontal) { value5 = environment.__proto__; defaultImport = importDefault(6436) /* metro dependency 6436 */; columnsWhileHorizontalNotSupported = (importDefault(6441) /* metro dependency 6441 */).columnsWhileHorizontalNotSupported; throw new defaultImport(); } value4 = environment.__proto__; moduleValue = require(6442) /* metro dependency 6442 */; hasUnsupportedKeysInContentContainerStyle = moduleValue.hasUnsupportedKeysInContentContainerStyle; props = this.props; if (Reflect.apply(hasUnsupportedKeysInContentContainerStyle, moduleValue, [props.contentContainerStyle])) { console = global.console; console.warn((importDefault(6433) /* metro dependency 6433 */).styleContentContainerUnsupported); } return value; } value4 = environment.__proto__; } else { Number = global.Number; props = this.props; stickyHeaderIndices = props.stickyHeaderIndices; value = undefined; if (Number(stickyHeaderIndices == null ? value : stickyHeaderIndices.length) > 0) { props = this.props; if (props.horizontal) { value7 = environment.__proto__; defaultImport2 = importDefault(6436) /* metro dependency 6436 */; stickyWhileHorizontalNotSupported = (importDefault(6441) /* metro dependency 6441 */).stickyWhileHorizontalNotSupported; throw new defaultImport2(); } Number = global.Number; props = this.props; if (Number(props.numColumns) > 1) { props = this.props; if (props.horizontal) { value5 = environment.__proto__; defaultImport = importDefault(6436) /* metro dependency 6436 */; columnsWhileHorizontalNotSupported = (importDefault(6441) /* metro dependency 6441 */).columnsWhileHorizontalNotSupported; throw new defaultImport(); } value4 = environment.__proto__; moduleValue = require(6442) /* metro dependency 6442 */; hasUnsupportedKeysInContentContainerStyle = moduleValue.hasUnsupportedKeysInContentContainerStyle; props = this.props; if (Reflect.apply(hasUnsupportedKeysInContentContainerStyle, moduleValue, [props.contentContainerStyle])) { console = global.console; console.warn((importDefault(6433) /* metro dependency 6433 */).styleContentContainerUnsupported); } return value; } value4 = environment.__proto__; moduleValue = require(6442) /* metro dependency 6442 */; hasUnsupportedKeysInContentContainerStyle = moduleValue.hasUnsupportedKeysInContentContainerStyle; props = this.props; if (Reflect.apply(hasUnsupportedKeysInContentContainerStyle, moduleValue, [props.contentContainerStyle])) { console = global.console; console.warn((importDefault(6433) /* metro dependency 6433 */).styleContentContainerUnsupported); } return value; } Number = global.Number; props = this.props; if (Number(props.numColumns) > 1) { props = this.props; if (props.horizontal) { value5 = environment.__proto__; defaultImport = importDefault(6436) /* metro dependency 6436 */; columnsWhileHorizontalNotSupported = (importDefault(6441) /* metro dependency 6441 */).columnsWhileHorizontalNotSupported; throw new defaultImport(); } value4 = environment.__proto__; moduleValue = require(6442) /* metro dependency 6442 */; hasUnsupportedKeysInContentContainerStyle = moduleValue.hasUnsupportedKeysInContentContainerStyle; props = this.props; if (Reflect.apply(hasUnsupportedKeysInContentContainerStyle, moduleValue, [props.contentContainerStyle])) { console = global.console; console.warn((importDefault(6433) /* metro dependency 6433 */).styleContentContainerUnsupported); } return value; } } moduleValue = require(6442) /* metro dependency 6442 */; if (moduleValue.hasUnsupportedKeysInContentContainerStyle(this.props.contentContainerStyle)) { console = global.console; console.warn((importDefault(6433) /* metro dependency 6433 */).styleContentContainerUnsupported); } return value; } function value_50428() { // fn#50428, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:8722, offset: 0x01219fe1, size: 960 bytes, params: 1, frame: 38 let value = this.state.dataProvider.getSize(); const value2 = 0; this.isEmptyList = value2 === value; value = environment.__proto__; const value3 = undefined; const moduleValue = require(6442) /* metro dependency 6442 */; const updateContentStyle = moduleValue.updateContentStyle; const contentStyle = this.contentStyle; let props = this.props; Reflect.apply(updateContentStyle, moduleValue, [contentStyle, props.contentContainerStyle]); props = this.props; const drawDistance = props.drawDistance; props.removeClippedSubviews; const stickyHeaderIndices = props.stickyHeaderIndices; const horizontal = props.horizontal; let onEndReachedThreshold = props.onEndReachedThreshold; const estimatedListSize = props.estimatedListSize; const initialScrollIndex = props.initialScrollIndex; props.style; props.contentContainerStyle; const renderScrollComponent = props.renderScrollComponent; const value4 = env1_4(props, env1_3); const r2 = this.props.initialScrollOffset ?? value2; let r13 = this.isInitialScrollIndexInFirstRow() && this.distanceFromWindow ? r2 + this.distanceFromWindow : r2; r13 = value2 === r13 ? value3 : r13; let r14 = value3 !== drawDistance ? drawDistance : (require(6427) /* metro dependency 6427 */).PlatformConfig.defaultDrawDistance; const defaultImport = importDefault(6443) /* metro dependency 6443 */; const stickyOverrideRowRenderer = this.stickyOverrideRowRenderer; const applyWindowCorrection = this.applyWindowCorrection; const horizontal2 = this.props.horizontal; let Object = global.Object; let assign = Object.assign; const r5 = horizontal2 ? Reflect.apply(assign, Object, [{}, this.getTransform()]) : Reflect.apply(assign, Object, [{'flex': 1, 'overflow': 'hidden'}, this.getTransform()]); const ProgressiveListView = (require(6455) /* metro dependency 6455 */).ProgressiveListView; Object = global.Object; assign = Object.assign; const object = {}; object.ref = this.recyclerRef; object.layoutProvider = this.state.layoutProvider; object.dataProvider = this.state.dataProvider; object.rowRenderer = this.emptyRowRenderer; object.canChangeSize = true; const Boolean = global.Boolean; object.isHorizontal = Boolean(horizontal); const Object2 = global.Object; const assign2 = Object2.assign; const object5 = {}; object5.onScrollBeginDrag = this.onScrollBeginDrag; object5.onLayout = this.handleSizeChange; object5.refreshControl = this.props.refreshControl || this.getRefreshControl(); object5.style = {'minHeight': 1, 'minWidth': 1}; const Object3 = global.Object; const assign3 = Object3.assign; const object6 = {'backgroundColor': null, 'minHeight': 1, 'minWidth': 1}; object6.backgroundColor = this.contentStyle.backgroundColor; value = moduleValue; const getContentContainerPadding = value.getContentContainerPadding; object5.contentContainerStyle = Reflect.apply(assign3, Object3, [object6, Reflect.apply(getContentContainerPadding, value, [this.contentStyle, horizontal])]); object.scrollViewProps = Reflect.apply(assign2, Object2, [object5, this.props.overrideProps]); object.forceNonDeterministicRendering = true; object.renderItemContainer = this.itemContainer; object.renderContentContainer = this.container; object.onEndReached = this.onEndReached; onEndReachedThreshold = !onEndReachedThreshold ? value3 : onEndReachedThreshold; object.onEndReachedThresholdRelative = onEndReachedThreshold; object.extendedState = this.state.extraData; object.layoutSize = estimatedListSize; object.maxRenderAhead = 3 * r14; object.finalRenderAheadOffset = r14; object.renderAheadStep = r14; r14 = !this.isInitialScrollIndexInFirstRow() && initialScrollIndex; r14 = !r14 ? value3 : r14; object.initialRenderIndex = r14; object.initialOffset = r13; object.onItemLayout = this.onItemLayout; object.onScroll = this.onScroll; object.onVisibleIndicesChanged = this.viewabilityManager.shouldListenToVisibleIndices ? this.viewabilityManager.onVisibleIndicesChanged : value3; object.windowCorrectionConfig = this.getUpdatedWindowCorrectionConfig(); object.itemAnimator = this.itemAnimator; object.suppressBoundedSizeException = true; object.externalScrollView = renderScrollComponent; return ((Component) => )(defaultImport); } function value_50431({nativeEvent}) { // fn#50431, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:11516, offset: 0x0121a41b, size: 128 bytes, params: 2, frame: 16 const {height, width} = nativeEvent.layout; this.clearRenderSizeWarningTimeout(); const Math = global.Math; let value = Math.floor(height); value = value <= 1; if (value || global.Math.floor(width) <= 1) { this.renderedSizeWarningTimeoutId = global.setTimeout(function() { global.console.warn(importDefault(dependencyMap[14]).unusableRenderedSize); }, 1000); } } function value_50434(a0) { // fn#50434, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:11980, offset: 0x0121a505, size: 51 bytes, params: 2, frame: 15 var r1; let value = a0; if (value == null) { return null; } const binding = env1_10; if (binding.isValidElement(value)) { r1 = value; } else { value = ((Component) => )(value); r1 = value; } return r1; } function value_50436() { // fn#50436, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:12269, offset: 0x0121a567, size: 112 bytes, params: 1, frame: 13 var rlvRef; var console; var warn; var value; if (this.props.keyExtractor === null) { console = global.console; warn = console.warn; value = environment.__proto__; Reflect.apply(warn, console, [(importDefault(6433) /* metro dependency 6433 */).missingKeyExtractor]); } else if (this.props.keyExtractor === undefined) { console = global.console; warn = console.warn; value = environment.__proto__; Reflect.apply(warn, console, [(importDefault(6433) /* metro dependency 6433 */).missingKeyExtractor]); } else { rlvRef = this.rlvRef; if (rlvRef != null) { rlvRef.prepareForLayoutAnimationRender(); } } } function value_50439(a0) { // fn#50439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:12757, offset: 0x0121a62d, size: 279 bytes, params: 2, frame: 25 var r9; var r11; var r6; var props; var horizontal; var Math; var max; var viewPosition; var value4; var value5; var value6; let rlvRef = this.rlvRef; const value = undefined; const r2 = rlvRef == null ? value : rlvRef.getLayout(a0.index); rlvRef = this.rlvRef; let r5 = rlvRef == null ? value : rlvRef.getRenderedSize(); if (r2) { if (r5) { props = this.props; horizontal = props.horizontal; r9 = horizontal ? r2.x : r2.y; props = this.props; horizontal = props.horizontal; r11 = horizontal ? r5.width : r5.height; props = this.props; horizontal = props.horizontal; r6 = horizontal ? r2.width : r2.height; Math = global.Math; max = Math.max; viewPosition = a0.viewPosition; value4 = 0; value5 = Reflect.apply(max, Math, [value4, r9 - (viewPosition ?? value4) * (r11 - r6)]); r5 = a0.viewOffset ?? value4; value6 = value5 - r5; rlvRef = this.rlvRef; if (rlvRef != null) { rlvRef.scrollToOffset(value6, value6, global.Boolean(a0.animated), true); } } } return value; } function value_50446(a0, a1) { // fn#50446, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:14025, offset: 0x0121a87c, size: 362 bytes, params: 3, frame: 19 var layoutProvider; var getLayoutProvider; var dataProvider; var cloneWithRows; let Object = global.Object; const value = Object.assign({}, a1); let numColumns = a1.numColumns; if (numColumns !== a0.numColumns) { numColumns = a0.numColumns; numColumns = !numColumns ? 1 : numColumns; value.numColumns = numColumns; getLayoutProvider = FlashList.getLayoutProvider; numColumns = value.numColumns; value.layoutProvider = Reflect.apply(getLayoutProvider, FlashList, [numColumns, a0]); } else { layoutProvider = a1.layoutProvider; if (layoutProvider.updateProps(a0).hasExpired) { value.layoutProvider = FlashList.getLayoutProvider(value.numColumns, a0); } } layoutProvider = value.layoutProvider; const Boolean = global.Boolean; const layoutProvider2 = a1.layoutProvider; const r2 = layoutProvider2 != null && layoutProvider2.hasExpired; const value6 = undefined; layoutProvider.shouldRefreshWithAnchoring = Boolean(!r2); let data = a0.data; if (data !== a1.data) { data = a0.data; value.data = data; dataProvider = a1.dataProvider; cloneWithRows = dataProvider.cloneWithRows; data = a0.data; value.dataProvider = Reflect.apply(cloneWithRows, dataProvider, [data]); if (a0.renderItem !== a1.renderItem) { Object = global.Object; value.extraData = Object.assign({}, a1.extraData); } } const extraData = a0.extraData; const extraData2 = a1.extraData; if (extraData !== (extraData2 == null ? value6 : extraData2.value)) { value.extraData = {value: a0.extraData}; } value.renderItem = a0.renderItem; return value; } function value_50447(a0) { // fn#50447, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:14737, offset: 0x0121a9e6, size: 137 bytes, params: 2, frame: 16 const env0_0 = a0; const r4 = a0.props.keyExtractor !== null && a0.props.keyExtractor !== undefined ? value_50447GetStableId : undefined; const DataProvider = (require(6455) /* metro dependency 6455 */).DataProvider; return {'data': null, 'layoutProvider': null, 'dataProvider': null, 'numColumns': 0, dataProvider: new DataProvider(_fun50449, r4)}; } function value_50450(a0, a1) { // fn#50450, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:15302, offset: 0x0121ab29, size: 77 bytes, params: 3, frame: 19 var environment; const env0_0 = a0; let value = environment.__proto__; value = importDefault(6481) /* metro dependency 6481 */; const value2 = Object.create(value.prototype, {constructor: {value: value}}); value = new value(a0, function(a0, a1) { var r0; r0 = a1.getItemType?.(a1.data[a0], a0, a1.extraData); r0 = !r0 ? 0 : r0; return r0; }, _fun50452, _fun50453, a1); return value instanceof Object ? value : value2; } function onEndReached() { // fn#50396, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:1386, owner: FlashList.onEndReached, offset: 0x01218fc2, size: 47 bytes, params: 1, frame: 10 if (env0_0.props.onEndReached != null) { env0_0.props.onEndReached(); } } function getRefreshControl() { // fn#50397, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:1469, owner: FlashList.getRefreshControl, offset: 0x01218ff1, size: 111 bytes, params: 1, frame: 17 var r0; var value3; var object2; var Boolean; var binding; let props = env0_0.props; if (props.onRefresh) { value3 = environment.__proto__.__proto__; object2 = {}; Boolean = global.Boolean; binding = env0_0; props = binding.props; object2.refreshing = Boolean(props.refreshing); props = binding.props; object2.progressViewOffset = props.progressViewOffset; props = binding.props; object2.onRefresh = props.onRefresh; r0 = ; } else { r0 = null; } return r0; } function FlashListOnScrollBeginDrag(a0) { // fn#50398, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:1651, owner: FlashList.onScrollBeginDrag, offset: 0x01219060, size: 61 bytes, params: 2, frame: 11 const binding = env0_0; binding.recordInteraction(); if (binding.props.onScrollBeginDrag != null) { env0_0.props.onScrollBeginDrag(a0); } } function FlashListOnScroll(a0) { // fn#50399, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:1759, owner: FlashList.onScroll, offset: 0x0121909d, size: 77 bytes, params: 2, frame: 12 const binding = env0_0; binding.recordInteraction(); binding.viewabilityManager.updateViewableItems(); if (binding.props.onScroll != null) { env0_0.props.onScroll(a0); } } function handleSizeChange(a0) { // fn#50400, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:1900, owner: FlashList.handleSizeChange, offset: 0x012190ea, size: 161 bytes, params: 2, frame: 14 var rlvRef; let binding = env0_0; binding.validateListSize(a0); const horizontal = binding.props.horizontal; const layout = a0.nativeEvent.layout; const r4 = horizontal ? layout.height : layout.width; binding = env0_0; const listFixedDimensionSize = binding.listFixedDimensionSize; binding.listFixedDimensionSize = r4; if (listFixedDimensionSize > 0 && listFixedDimensionSize !== r4) { rlvRef = env0_0.rlvRef; if (rlvRef != null) { rlvRef.forceRerender(); } } if (env0_0.props.onLayout) { env0_0.props.onLayout(a0); } } function container(a0, a1) { // fn#50401, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:2175, owner: FlashList.container, offset: 0x0121918b, size: 638 bytes, params: 3, frame: 28 const value = a1; const value2 = null; const r10 = value2 != value ? value instanceof global.Array ? value : [value] : []; let binding = env0_0; binding.clearPostLoadTimeout(); const jsxRuntimeEnv2_14Binding = jsxRuntimeEnv2_14; const PureComponentWrapper = (require(6428) /* metro dependency 6428 */).PureComponentWrapper; let r8 = binding.isListLoaded || r10.length > 0; r8 = !r8 ? env0_0.isEmptyList : r8; binding = env0_0; let contentContainerStyle = binding.props.contentContainerStyle; let horizontal = binding.props.horizontal; const ListHeaderComponent = binding.props.ListHeaderComponent; let extraData = binding.state.extraData; const ListHeaderComponentStyle = binding.props.ListHeaderComponentStyle; const items2 = []; const defaultImport = importDefault(6429) /* metro dependency 6429 */; const Object = global.Object; items2[1] = ((Component) => )(defaultImport); items2[2] = binding.isEmptyList ? env0_0.getValidComponent(env0_0.props.ListEmptyComponent) : value2; let r9 = env0_0.isListLoaded || r10.length > 0; r9 = !r9 ? env0_0.isEmptyList : r9; binding = env0_0; contentContainerStyle = binding.props.contentContainerStyle; horizontal = binding.props.horizontal; const ListFooterComponent = binding.props.ListFooterComponent; extraData = binding.state.extraData; const ListFooterComponentStyle = binding.props.ListFooterComponentStyle; items2[3] = ; const getComponentForHeightMeasurement = binding.getComponentForHeightMeasurement; items2[4] = Reflect.apply(getComponentForHeightMeasurement, binding, []); return ( <> {items2} ); } function itemContainer(a0, a1) { // fn#50402, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:3185, owner: FlashList.itemContainer, offset: 0x01219409, size: 323 bytes, params: 3, frame: 32 const CellRendererComponent = env0_0.props.CellRendererComponent; const r3 = CellRendererComponent ?? (importDefault(6431) /* metro dependency 6431 */); const Object = global.Object; const assign = Object.assign; const object3 = {}; const Object2 = global.Object; const assign2 = Object2.assign; const style = a0.style; const object4 = {}; object4.flexDirection = env0_0.props.horizontal ? 'row' : 'column'; object4.alignItems = 'stretch'; const binding = env0_0; const transform = binding.getTransform(); const moduleValue = require(6427) /* metro dependency 6427 */; const getCellContainerPlatformStyles = moduleValue.getCellContainerPlatformStyles; object3.style = Reflect.apply(assign2, Object2, [{}, style, object4, transform, Reflect.apply(getCellContainerPlatformStyles, moduleValue, [binding.props.inverted, a1])]); let index = a1.index; object3.index = index; const PureComponentWrapper = (require(6428) /* metro dependency 6428 */).PureComponentWrapper; const extendedState = a1.extendedState; const internalSnapshot = a1.internalSnapshot; const data = a1.data; index = a1.index; const getCellContainerChild = binding.getCellContainerChild; object3.children = ; return ((Component) => )(r3); } function updateDistanceFromWindow({nativeEvent}) { // fn#50403, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:3681, owner: FlashList.updateDistanceFromWindow, offset: 0x0121954c, size: 118 bytes, params: 2, frame: 11 var binding; const horizontal = env0_0.props.horizontal; const layout = nativeEvent.layout; const r1 = horizontal ? layout.x : layout.y; if (env0_0.distanceFromWindow !== r1) { binding = env0_0; binding.distanceFromWindow = r1; binding.windowCorrectionConfig.value.windowShift = -binding.distanceFromWindow; binding.viewabilityManager.updateViewableItems(); } } function separator(a0) { // fn#50404, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:3936, owner: FlashList.separator, offset: 0x012195c2, size: 185 bytes, params: 2, frame: 18 var r1; var Object; var value; if (env0_0.props.data === null) { return null; } if (env0_0.props.data === undefined) { return null; } if (a0 + 1 >= env0_0.props.data.length) { return null; } const object2 = {}; const binding = env0_0; object2.leadingItem = binding.props.data[a0]; object2.trailingItem = binding.props.data[a0 + 1]; const ItemSeparatorComponent = binding.props.ItemSeparatorComponent; if (ItemSeparatorComponent) { value = environment.__proto__.__proto__; Object = global.Object; value = ; r1 = value; } else { r1 = ItemSeparatorComponent; } return r1; } function FlashListHeader() { // fn#50405, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:4177, owner: FlashList.header, offset: 0x0121967b, size: 173 bytes, params: 1, frame: 20 let value = environment.__proto__.__proto__; const jsxRuntimeEnv2_14Binding = jsxRuntimeEnv2_14; const binding = env0_0; value = ; const ListHeaderComponentStyle = binding.props.ListHeaderComponentStyle; const getTransform = binding.getTransform; const getValidComponent = binding.getValidComponent; const ListHeaderComponent = binding.props.ListHeaderComponent; return ( <> {value} {Reflect.apply(getValidComponent, binding, [ListHeaderComponent])} ); } function footer() { // fn#50406, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:4437, owner: FlashList.footer, offset: 0x01219728, size: 239 bytes, params: 1, frame: 20 const r6 = (require(6427) /* metro dependency 6427 */).getFooterContainer() ?? (importDefault(6431) /* metro dependency 6431 */); const jsxRuntimeEnv2_14Binding = jsxRuntimeEnv2_14; const binding = env0_0; const ListFooterComponentStyle = binding.props.ListFooterComponentStyle; const getTransform = binding.getTransform; const getValidComponent = binding.getValidComponent; const ListFooterComponent = binding.props.ListFooterComponent; return ( <> {((Component) => {Reflect.apply(getValidComponent, binding, [ListFooterComponent])})(r6)} ); } function getComponentForHeightMeasurement() { // fn#50407, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:4799, owner: FlashList.getComponentForHeightMeasurement, offset: 0x01219817, size: 247 bytes, params: 1, frame: 20 var r0; var value4; var binding; var rowRendererWithIndex; var Math; var min; var value; const horizontal = env0_0.props.horizontal; const value2 = null; if (horizontal) { if (env0_0.props.disableHorizontalListHeightMeasurement) { r0 = value2; } else if (env0_0.isListLoaded) { r0 = value2; } else if (env0_0.state.dataProvider.getSize() > 0) { value4 = environment.__proto__.__proto__; binding = env0_0; rowRendererWithIndex = binding.rowRendererWithIndex; Math = global.Math; min = Math.min; value = binding.state.dataProvider.getSize(); value = Reflect.apply(min, Math, [value - 1, 1]); value = {Reflect.apply(rowRendererWithIndex, binding, [value, (require(6432) /* metro dependency 6432 */).RenderTargetOptions.Measurement])}; r0 = value; } else { r0 = value2; } } else { r0 = value2; } return r0; } function applyWindowCorrection(a0, a1, a2) { // fn#50408, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:5131, owner: FlashList.applyWindowCorrection, offset: 0x0121990e, size: 62 bytes, params: 4, frame: 12 const binding = env0_0; a2.windowShift = -binding.distanceFromWindow; const stickyContentContainerRef = binding.stickyContentContainerRef; if (stickyContentContainerRef != null) { stickyContentContainerRef.setEnabled(env0_0.isStickyEnabled); } } function rowRendererSticky(a0) { // fn#50409, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:5281, owner: FlashList.rowRendererSticky, offset: 0x0121994c, size: 61 bytes, params: 2, frame: 14 const binding = env0_0; const rowRendererWithIndex = binding.rowRendererWithIndex; const RenderTargetOptions = (require(6432) /* metro dependency 6432 */).RenderTargetOptions; const StickyHeader = RenderTargetOptions.StickyHeader; return Reflect.apply(rowRendererWithIndex, binding, [a0, StickyHeader]); } function rowRendererWithIndex(a0, a1) { // fn#50410, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:5392, owner: FlashList.rowRendererWithIndex, offset: 0x01219989, size: 116 bytes, params: 3, frame: 16 var r0; var binding; var extraData; var value; let props = env0_0.props; let renderItem = props.renderItem; const value2 = null; if (value2 == renderItem) { r0 = value2; } else { binding = env0_0; props = binding.props; renderItem = props.renderItem; extraData = binding.state.extraData; value = undefined; value = Reflect.apply(renderItem, props, [{item: binding.props.data[a0], index: a0, target: a1, extraData: value2 == extraData ? value : extraData.value}]); r0 = value; } return r0; } function getCellContainerChild(a0) { // fn#50412, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:5630, owner: FlashList.getCellContainerChild, offset: 0x012199fd, size: 241 bytes, params: 2, frame: 24 const value = environment.__proto__.__proto__; const jsxRuntimeEnv2_14Binding = jsxRuntimeEnv2_14; const inverted = env0_0.props.inverted; const value3 = null; const items2 = [inverted ? env0_0.separator(a0) : value3]; const object = {}; object.flexDirection = env0_0.props.horizontal ? 'column' : env0_0.props.numColumns !== 1 ? 'row' : 'column'; const binding = env0_0; const rowRendererWithIndex = binding.rowRendererWithIndex; const RenderTargetOptions = (require(6432) /* metro dependency 6432 */).RenderTargetOptions; const Cell = RenderTargetOptions.Cell; items2[1] = {Reflect.apply(rowRendererWithIndex, binding, [a0, Cell])}; items2[2] = binding.props.inverted ? value3 : env0_0.separator(a0); return ( <> {items2} ); } function recyclerRef(a0) { // fn#50413, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:5912, owner: FlashList.recyclerRef, offset: 0x01219aee, size: 20 bytes, params: 2, frame: 2 env0_0.rlvRef = a0; } function stickyContentRef(a0) { // fn#50414, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:5955, owner: FlashList.stickyContentRef, offset: 0x01219b02, size: 20 bytes, params: 2, frame: 2 env0_0.stickyContentContainerRef = a0; } function stickyOverrideRowRenderer(a0, a1, a2, a3) { // fn#50415, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6026, owner: FlashList.stickyOverrideRowRenderer, offset: 0x01219b16, size: 99 bytes, params: 5, frame: 15 const PureComponentWrapper = (require(6428) /* metro dependency 6428 */).PureComponentWrapper; const binding = env0_0; return ( ); } function FlashListOnItemLayout(a0) { // fn#50416, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6196, owner: FlashList.onItemLayout, offset: 0x01219b79, size: 48 bytes, params: 2, frame: 12 const binding = env0_0; binding.state.layoutProvider.reportItemLayout(a0); binding.raiseOnLoadEventIfNeeded(); } function raiseOnLoadEventIfNeeded() { // fn#50417, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6308, owner: FlashList.raiseOnLoadEventIfNeeded, offset: 0x01219ba9, size: 117 bytes, params: 1, frame: 15 var binding; var props; var onLoad; var object2; if (!env0_0.isListLoaded) { binding = env0_0; binding.isListLoaded = true; props = binding.props; onLoad = props.onLoad; if (onLoad != null) { binding = env0_0; props = binding.props; onLoad = props.onLoad; object2 = {}; object2.elapsedTimeInMs = global.Date.now() - binding.loadStartTime; Reflect.apply(onLoad, props, [object2]); } binding = env0_0; binding.runAfterOnLoad(); } } function runAfterOnLoad() { // fn#50418, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6475, owner: FlashList.runAfterOnLoad, offset: 0x01219c1e, size: 98 bytes, params: 1, frame: 16 if (env0_0.props.estimatedItemSize === undefined) { env0_0.itemSizeWarningTimeoutId = global.setTimeout(_fun50419, 1000); } env0_0.postLoadTimeoutId = global.setTimeout(_fun50420, 500); } function clearPostLoadTimeout() { // fn#50421, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6834, owner: FlashList.clearPostLoadTimeout, offset: 0x01219d1d, size: 50 bytes, params: 1, frame: 12 var clearTimeout; var binding; if (env0_0.postLoadTimeoutId !== undefined) { clearTimeout = global.clearTimeout; binding = env0_0; clearTimeout(binding.postLoadTimeoutId); binding.postLoadTimeoutId = undefined; } } function clearRenderSizeWarningTimeout() { // fn#50422, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6971, owner: FlashList.clearRenderSizeWarningTimeout, offset: 0x01219d4f, size: 50 bytes, params: 1, frame: 12 var clearTimeout; var binding; if (env0_0.renderedSizeWarningTimeoutId !== undefined) { clearTimeout = global.clearTimeout; binding = env0_0; clearTimeout(binding.renderedSizeWarningTimeoutId); binding.renderedSizeWarningTimeoutId = undefined; } } function FlashListRecordInteraction() { // fn#50423, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:7129, owner: FlashList.recordInteraction, offset: 0x01219d81, size: 27 bytes, params: 1, frame: 9 env0_0.viewabilityManager.recordInteraction(); } function FlashListRecomputeViewableItems() { // fn#50424, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:7207, owner: FlashList.recomputeViewableItems, offset: 0x01219d9c, size: 27 bytes, params: 1, frame: 9 env0_0.viewabilityManager.recomputeViewableItems(); } function value_50447GetStableId(a0) { // fn#50448, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:14848, owner: value_50447.getStableId, offset: 0x0121aa6f, size: 52 bytes, params: 2, frame: 13 const binding = env0_0; const props = binding.props; return props.keyExtractor(binding.props.data[a0], a0).toString(); } function _fun50449(a0, a1) { // fn#50449, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:15004, offset: 0x0121aaa3, size: 134 bytes, params: 3, frame: 17 var r4; var r0; var Object; var value2; var value3; var length; var length2; var value4; var value5; var property; var property2; var value6; const value = true; if (a0 === a1) { r0 = value; } else if (a0 == null) { r0 = a0 == a1; } else if (a1 == null) { r0 = a0 == a1; } else { Object = global.Object; value2 = Object.keys(a0); Object = global.Object; value3 = Object.keys(a1); length = value2.length; length2 = value3.length; value4 = false; if (length !== length2) { r0 = value4; } else { length = value2.length; value5 = 0; if (value5 < length) { r4 = value5; while (true) { property = value2[r4]; property2 = a0[property]; if (property2 !== a1[property]) { r0 = value4; break; } value6 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1; length = value2.length; if (value6 < length) { r4 = value6; continue; } r0 = value; break; } } else { r0 = value; } } } return !r0; } function _fun50452(a0, a1, a2) { // fn#50452, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:15453, offset: 0x0121abb0, size: 92 bytes, params: 4, frame: 20 if (a1.overrideItemLayout != null) { a1.overrideItemLayout(a2, a1.data[a0], a0, env0_0, a1.extraData); } return a2?.span ?? 1; } function _fun50453(a0, a1, a2) { // fn#50453, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:15599, offset: 0x0121ac0c, size: 78 bytes, params: 4, frame: 20 if (a1.overrideItemLayout != null) { a1.overrideItemLayout(a2, a1.data[a0], a0, env0_0, a1.extraData); } return a2?.size; } function _fun50419() { // fn#50419, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6562, offset: 0x01219c80, size: 118 bytes, params: 1, frame: 16 const Math = global.Math; const floor = Math.floor; let value = environment.__proto__; value = Reflect.apply(floor, Math, [env1_0.state.layoutProvider.averageItemSize]); const console = global.console; const warn = console.warn; const estimatedItemSizeMissingWarning = (importDefault(6433) /* metro dependency 6433 */).estimatedItemSizeMissingWarning; const replace = estimatedItemSizeMissingWarning.replace; value = value.toString(); Reflect.apply(warn, console, [Reflect.apply(replace, estimatedItemSizeMissingWarning, ['@size', value])]); } function _fun50420() { // fn#50420, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6604:6756, offset: 0x01219cf6, size: 39 bytes, params: 1, frame: 9 if (env1_0.props.horizontal) { env1_0.forceUpdate(); } }