/* Metro module 4599; source: modules/markup/MarkupReactRules.native.tsx; dependencies: [31, 27, 4502, 1379, 1867, 661, 1386, 482, 33, 4600, 4573, 4501, 697, 4601, 4246, 4008, 5080, 8743, 4647, 1244, 6797, 3856, 6819, 1305, 1471, 8872, 3853, 9875, 9862, 8778, 4000, 4080, 11381, 1962, 21, 3829, 566, 5475, 11366, 12373, 8769, 4598, 10986, 10988, 12374, 12376, 4056, 477, 6647, 12378, 10990, 2] */ import Native from '../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import Linking from '../../lib/native/Linking.tsx'; /* Metro dependency 3853 */ import AccessibilityStore from '../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */ import MarkupReactCommandRule from './native/MarkupReactCommandRule.tsx'; /* Metro dependency 8769 */ import Spoiler from './native/Spoiler.tsx'; /* Metro dependency 10988 */ import TimestampNative from './Timestamp.native.tsx'; /* Metro dependency 10990 */ import Module12373 from '../../by-id/module-12373.js'; /* Metro dependency 12373 */ import MarkupReactGameMentionRule from './native/MarkupReactGameMentionRule.tsx'; /* Metro dependency 12378 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as ConstantsModule from '../../external/discord_common/js/shared/Constants.tsx'; /* Metro dependency 482 */ import * as NativeModule from '../../design/void/native.tsx'; /* Metro dependency 1305 */ import * as UserSettingsModule from '../user_settings/UserSettings.tsx'; /* Metro dependency 3829 */ import * as TextModule from '../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */ import * as MarkupTypesModule from './MarkupTypes.tsx'; /* Metro dependency 4598 */ import * as HighlightJsAnsiLanguageModule from '../../utils/HighlightJsAnsiLanguage.tsx'; /* Metro dependency 4600 */ import * as ChannelUtilsModule from '../../utils/native/ChannelUtils.tsx'; /* Metro dependency 6647 */ import * as MarkupRulesUtilsModule from './MarkupRulesUtils.tsx'; /* Metro dependency 8778 */ import * as MarkupTypesDefaultRulesModule from './MarkupTypesDefaultRules.tsx'; /* Metro dependency 10986 */ function _fun38981(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#38981, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6, offset: 0x010d3614, size: 996 bytes, params: 8, frame: 24 const env0_0 = require; const MarkupText2 = MarkupText; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactNativeModule; const env0_4 = value.PixelRatio; const env0_5 = value.Pressable; const env0_6 = value.View; const env0_7 = value.Text; value = require(661) /* metro dependency 661: Constants */; const EMOJI_CHAT_SIZE = value.EMOJI_CHAT_SIZE; const env0_11 = value.GuildFeatures; value = require(1386) /* metro dependency 1386: ChannelConstants */; const env0_12 = value.StaticChannelRoute; const env0_13 = value.StaticChannelId; const Fonts = (ConstantsModule).Fonts; value = require(33) /* metro dependency 33 */; const env0_14 = value.jsx; const env0_15 = value.jsxs; const RegExp = global.RegExp; const ANSI_CONTROL_SEQUENCE_RE = (HighlightJsAnsiLanguageModule).ANSI_CONTROL_SEQUENCE_RE; let regExp = new RegExp(ANSI_CONTROL_SEQUENCE_RE, 'g'); object = {}; object.emoji = {width: EMOJI_CHAT_SIZE, height: EMOJI_CHAT_SIZE, resizeMode: 'contain'}; object.guildIcon = {'paddingEnd': 2, 'paddingBottom': 1}; object.list = {paddingTop: 16}; object.listItem = {paddingTop: 4}; let CODE_BOLD = Fonts.CODE_BOLD; object.bullet = {fontFamily: CODE_BOLD}; let PRIMARY_BOLD = Fonts.PRIMARY_BOLD; object.strong = {fontFamily: PRIMARY_BOLD}; regExp = require(4501) /* metro dependency 4501: createStyles */; const createStyles = regExp.createStyles; object = {}; const object7 = {}; PRIMARY_BOLD = Fonts.PRIMARY_BOLD; object7.fontFamily = PRIMARY_BOLD; const TEXT_LINK = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_LINK; object7.color = TEXT_LINK; object.link = object7; const MENTION_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MENTION_BACKGROUND; object.channelMention = {'backgroundColor': null, 'borderRadius': 3, 'paddingHorizontal': 2, 'alignItems': 'center', backgroundColor: MENTION_BACKGROUND}; const MENTION_FOREGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MENTION_FOREGROUND; object.channelMentionText = {color: MENTION_FOREGROUND}; const object8 = {}; const BRAND_500 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BRAND_500; object8.color = BRAND_500; const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE; object8.backgroundColor = BORDER_SUBTLE; object.mention = object8; const object9 = {}; CODE_BOLD = Fonts.CODE_BOLD; object9.fontFamily = CODE_BOLD; let TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT; object9.color = TEXT_DEFAULT; let BACKGROUND_CODE = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_CODE; object9.backgroundColor = BACKGROUND_CODE; object.inlineCode = object9; const object10 = {}; CODE_BOLD = Fonts.CODE_BOLD; object10.fontFamily = CODE_BOLD; TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT; object10.color = TEXT_DEFAULT; BACKGROUND_CODE = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_CODE; object10.backgroundColor = BACKGROUND_CODE; object.codeBlock = object10; const BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL; object.blockQuote = {'borderLeftWidth': 2, 'borderLeftColor': null, 'paddingLeft': 4, borderLeftColor: BACKGROUND_MOD_NORMAL}; const env0_18 = Reflect.apply(createStyles, regExp, [object]); (FileImportTrackerModule).fileFinishedImporting('modules/markup/MarkupReactRules.native.tsx'); exports.default = createRules_39003; exports.MarkupText = MarkupText2; exports.plainMentionRenderer = plainMentionRenderer; exports.plainSpoilerRenderer = function(a0) { return typeof a0.content !== 'string' ? '███' : a0.content.replace(RegExp('[^\\n]', 'g'), '█'); }; function MarkupText(a0) { // fn#38982, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:591, offset: 0x010d39f8, size: 141 bytes, params: 2, frame: 19 const children = a0.children; let color = a0.color; color = color === undefined ? 'text-default' : color; let variant = a0.variant; variant = variant === undefined ? 'text-sm/medium' : variant; const object = {'children': 0, 'color': 0, 'variant': 0}; silentSetPrototypeOf(object, null, undefined); const value = copyDataProperties({}, a0, object, undefined); const Text = (TextModule).Text; return ( {children} ); } function MarkupLink({state, node, output, styles}) { // fn#38983, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:1611, offset: 0x010d3a85, size: 233 bytes, params: 2, frame: 23 const styles2 = useStyles(); const r11 = state.linkVariant ?? 'text-sm/medium'; const Text = (TextModule).Text; const object = {variant: r11, accessibilityRole: 'link'}; let link = styles.link; link = !link ? styles2.link : link; object.style = link; object.onPress = onPress_38985; object.onLongPress = onLongPress; const smartOutput = MarkupRulesUtilsModule.smartOutput; const object2 = {}; copyDataProperties(object2, state, undefined); object2['inLink'] = true; return ( {Reflect.apply(smartOutput, MarkupRulesUtilsModule, [node, output, object2])} ); function getValidatedUrl() { // fn#38984, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:1695, owner: MarkupLink.getValidatedUrl, offset: 0x010d3b6e, size: 134 bytes, params: 1, frame: 15 var r0; const target = node.target; if (typeof target !== 'string') { return null; } let value = environment.__proto__; const value2 = (importDefault(1471) /* metro dependency 1471: URLUtils */).safeParseWithQuery(target); const value3 = null; if (value3 == value2) { r0 = value3; } else if (value3 == value2.protocol) { r0 = value3; } else if (value3 == value2.hostname) { r0 = value3; } else { value = importDefault(1471) /* metro dependency 1471: URLUtils */; value = value.format(value2); r0 = value; } return r0; } function MarkupLinkOnPress(a0) { // fn#38985, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:1995, owner: MarkupLink.onPress, offset: 0x010d3bf4, size: 101 bytes, params: 2, frame: 14 var environment; var value2; var moduleValue; const validatedUrl = getValidatedUrl(); if (validatedUrl != null) { a0.stopPropagation(); value2 = environment.__proto__; moduleValue = require(8872) /* metro dependency 8872: MaskedLinkUtils */; moduleValue.handleClick({href: validatedUrl, onConfirm: onConfirm_38986, trusted: trusted}); } function onPressOnConfirm() { // fn#38986, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2092, owner: MarkupLink.onPress.onConfirm, offset: 0x010d3c59, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__.__proto__; return (Linking).openURL(env0_0); } function trusted() { // fn#38987, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2124, owner: MarkupLink.onPress.trusted, offset: 0x010d3c86, size: 45 bytes, params: 1, frame: 11 let value = environment.__proto__.__proto__; value = require(9875) /* metro dependency 9875: MarkupReactLinkUtils */; return value.isLinkTrusted(node); } } function onLongPress(a0) { // fn#38988, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2170, owner: MarkupLink.onLongPress, offset: 0x010d3cb3, size: 69 bytes, params: 2, frame: 13 var value2; const validatedUrl = getValidatedUrl(); if (validatedUrl != null) { a0.stopPropagation(); value2 = environment.__proto__; (importDefault(9862) /* metro dependency 9862: showLongPressURLActionSheet */)({urlString: validatedUrl}); } } } function MarkupMention({roleStyle, state, node, output, styles}) { // fn#38989, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2314, offset: 0x010d3cf8, size: 376 bytes, params: 2, frame: 24 var r10; var object; const styles2 = useStyles(); let mention = styles.mention; mention = !mention ? styles2.mention : mention; const colorString = node.colorString; if (colorString && roleStyle === 'username') { object = {color: colorString}; object.backgroundColor = styles.mention?.backgroundColor ?? (require(4000) /* metro dependency 4000: ColorUtils */).hexWithOpacity(colorString, 0.1); r10 = object; } else { r10 = mention; } const r11 = state.noStyleAndInteraction ? 'text' : 'button'; const r5 = state.noStyleAndInteraction ? undefined : _fun38990; const textColor = state?.textColor; const items2 = [ roleStyle === 'dot' && ((RoleDot) => )((require(1305) /* metro dependency 1305: native */).RoleDot), ]; items2[1] = MarkupRulesUtilsModule.smartOutput(node, output, state); return ( {items2} ); function _fun38990() { // fn#38990, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2653, offset: 0x010d3e70, size: 615 bytes, params: 1, frame: 25 var guildId; var userId; var defaultImport; var show; var object; const intl = require(dependencyMap[19]).intl; const t = require(dependencyMap[19]).t; var value2; var defaultImport3; var openLazy; var value3; var castGuildIdAsEveryoneGuildRoleId; var value4; var defaultImport4; var value5; var value; if (node.roleId == null) { if (node.roleName !== '@everyone') { nodeBinding = node; userId = nodeBinding.userId; if (userId != null) { value = environment.__proto__; value = undefined; importDefault(dependencyMap[17])({userId: userId, channelId: nodeBinding.channelId ?? value}); } else { value = environment.__proto__; defaultImport = importDefault(dependencyMap[18]); show = defaultImport.show; object = {}; object.title = intl.string(t.r0DLNm); object.body = intl.string(t.Fqqbhg); object.confirmText = intl.string(t.BddRzS); Reflect.apply(show, defaultImport, [object]); } } else { guildId = node.guildId; if (guildId != null) { value2 = environment.__proto__; defaultImport3 = importDefault(dependencyMap[31]); openLazy = defaultImport3.openLazy; value3 = require(dependencyMap[33])(dependencyMap[32], dependencyMap.paths); object = {}; nodeBinding = node; guildId = nodeBinding.guildId; object.guildId = guildId; value = importDefault(dependencyMap[34]); castGuildIdAsEveryoneGuildRoleId = value.castGuildIdAsEveryoneGuildRoleId; guildId = nodeBinding.guildId; object.roleId = Reflect.apply(castGuildIdAsEveryoneGuildRoleId, value, [guildId]); object.channelId = nodeBinding.channelId; Reflect.apply(openLazy, defaultImport3, [value3, 'RoleMembersActionSheet', object, 'stack']); } else { nodeBinding = node; userId = nodeBinding.userId; if (userId != null) { value = environment.__proto__; value = undefined; importDefault(dependencyMap[17])({userId: userId, channelId: nodeBinding.channelId ?? value}); } else { value = environment.__proto__; defaultImport = importDefault(dependencyMap[18]); show = defaultImport.show; object = {}; object.title = intl.string(t.r0DLNm); object.body = intl.string(t.Fqqbhg); object.confirmText = intl.string(t.BddRzS); Reflect.apply(show, defaultImport, [object]); } } } } else { guildId = node.guildId; if (guildId != null) { value4 = environment.__proto__; defaultImport4 = importDefault(dependencyMap[31]); openLazy = defaultImport4.openLazy; value5 = require(dependencyMap[33])(dependencyMap[32], dependencyMap.paths); nodeBinding = node; Reflect.apply(openLazy, defaultImport4, [value5, 'RoleMembersActionSheet', {guildId: nodeBinding.guildId, roleId: nodeBinding.roleId, channelId: nodeBinding.channelId}, 'stack']); } else if (node.roleName !== '@everyone') { nodeBinding = node; userId = nodeBinding.userId; if (userId != null) { value = environment.__proto__; value = undefined; importDefault(dependencyMap[17])({userId: userId, channelId: nodeBinding.channelId ?? value}); } else { value = environment.__proto__; defaultImport = importDefault(dependencyMap[18]); show = defaultImport.show; object = {}; object.title = intl.string(t.r0DLNm); object.body = intl.string(t.Fqqbhg); object.confirmText = intl.string(t.BddRzS); Reflect.apply(show, defaultImport, [object]); } } else { guildId = node.guildId; if (guildId != null) { value2 = environment.__proto__; defaultImport3 = importDefault(dependencyMap[31]); openLazy = defaultImport3.openLazy; value3 = require(dependencyMap[33])(dependencyMap[32], dependencyMap.paths); object = {}; nodeBinding = node; guildId = nodeBinding.guildId; object.guildId = guildId; value = importDefault(dependencyMap[34]); castGuildIdAsEveryoneGuildRoleId = value.castGuildIdAsEveryoneGuildRoleId; guildId = nodeBinding.guildId; object.roleId = Reflect.apply(castGuildIdAsEveryoneGuildRoleId, value, [guildId]); object.channelId = nodeBinding.channelId; Reflect.apply(openLazy, defaultImport3, [value3, 'RoleMembersActionSheet', object, 'stack']); } else { nodeBinding = node; userId = nodeBinding.userId; if (userId != null) { value = environment.__proto__; value = undefined; importDefault(dependencyMap[17])({userId: userId, channelId: nodeBinding.channelId ?? value}); } else { value = environment.__proto__; defaultImport = importDefault(dependencyMap[18]); show = defaultImport.show; object = {}; object.title = intl.string(t.r0DLNm); object.body = intl.string(t.Fqqbhg); object.confirmText = intl.string(t.BddRzS); Reflect.apply(show, defaultImport, [object]); } } } } } } function MarkupBlockQuote({styles, state, node, output}) { // fn#38991, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:3501, offset: 0x010d40d7, size: 140 bytes, params: 2, frame: 21 const styles2 = useStyles(); let blockQuote = styles.blockQuote; blockQuote = !blockQuote ? styles2.blockQuote : blockQuote; return ( {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(node, output, state)} ); } function MarkupInlineCode({styles, state, node, output}) { // fn#38992, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:3705, offset: 0x010d4163, size: 222 bytes, params: 2, frame: 22 const styles2 = useStyles(); const r10 = !state.noStyleAndInteraction && !state.inLink; const r11 = r10 ? 'button' : 'text'; const object = {}; let inlineCode = styles.inlineCode; inlineCode = !inlineCode ? styles2.inlineCode : inlineCode; copyDataProperties(object, inlineCode, undefined); if (state.inLink) { delete object.color; } return ( {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(node, output, state)} ); function _fun38993() { // fn#38993, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:3986, offset: 0x010d4241, size: 85 bytes, params: 1, frame: 14 var value; const content = node.content; if (typeof content === 'string') { value = environment.__proto__; value = require(6797) /* metro dependency 6797: ClipboardUtilsNative */; value.copy(content); value = require(3856) /* metro dependency 3856: ToastUtils */; value.presentCopiedToClipboard(); } } } function MarkupCodeBlock({styles, state, node, output}) { // fn#38994, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:4169, offset: 0x010d4296, size: 156 bytes, params: 2, frame: 21 const styles2 = useStyles(); let codeBlock = styles.codeBlock; codeBlock = !codeBlock ? styles2.codeBlock : codeBlock; const textColor = state?.textColor; let value = MarkupRulesUtilsModule; value = value.smartOutput(node, output, state); return ( {value} {'\n'} ); } function MarkupCustomEmoji({styles, state, node}) { // fn#38995, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:4377, offset: 0x010d4332, size: 256 bytes, params: 2, frame: 22 var emoji; var r0; var FastImage; var value; const AnimateEmoji = (UserSettingsModule).AnimateEmoji; const value3 = AnimateEmoji.useSetting(); const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore], function() { return AccessibilityStore.useReducedMotion; }); if (node.src) { FastImage = importDefault(5475) /* metro dependency 5475: FastImage */; emoji = styles.emoji; emoji = !emoji ? env0_17.emoji : emoji; value = !useReducedMotion; value = ( ); r0 = value; } else { r0 = ( {node.alt} ); } return r0; } function MarkupChannelMention({state, node, output, styles, variants}) { // fn#38997, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:4699, offset: 0x010d4441, size: 557 bytes, params: 2, frame: 31 var r11; var r8; var ThemedIcon; var fontScale; var value; const styles2 = useStyles(); let noStyleAndInteraction = state.noStyleAndInteraction; const r10 = noStyleAndInteraction ? 'text' : 'button'; const Text = (TextModule).Text; let channelMentionText = variants.channelMentionText; let r0 = channelMentionText ?? 'text-xs/medium'; channelMentionText = styles2.channelMentionText; const items2 = [node.inContent != null ? output(node.inContent, state) : null]; if (node.inContent != null) { ThemedIcon = (require(1305) /* metro dependency 1305: native */).ThemedIcon; var themedIconProps = {themedColor: (importDefault(697) /* metro dependency 697: native */).colors.MENTION_FOREGROUND}; fontScale = PixelRatio.getFontScale(); themedIconProps.style = fontScale < 1.25 ? {'width': 8, 'height': 8} : fontScale < 2 ? {'width': 12, 'height': 12} : {'width': 16, 'height': 16}; themedIconProps.source = importDefault(11366) /* metro dependency 11366 */; themedIconProps.size = (require(1305) /* metro dependency 1305: native */).Icon.Sizes.CUSTOM; r11 = ; } else { r11 = null; } items2[1] = r11; items2[2] = MarkupRulesUtilsModule.smartOutput(node, output, state); const text = ( {items2} ); if (state.disablePressableChannelMention) { r0 = text; } else { object = {accessibilityRole: r10}; r8 = styles.channel || styles2.channelMention; object.style = r8; noStyleAndInteraction = state.noStyleAndInteraction; value = 'auto'; r8 = noStyleAndInteraction ? 'none' : value; object.pointerEvents = r8; object.onPress = onPress_38998; value = ( {text} ); r0 = value; } return r0; function MarkupChannelMentionOnPress() { // fn#38998, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:5426, owner: MarkupChannelMention.onPress, offset: 0x010d466e, size: 299 bytes, params: 1, frame: 21 var r0; var nodeBinding; var channelId; var messageId; var shouldNavigateBack; var shouldCloseModal; var value3; var channel; var moduleValue; var rootNavigationRef; var value6; var value; const noStyleAndInteraction = state.noStyleAndInteraction; const value2 = null; if (noStyleAndInteraction) { r0 = value2; } else { nodeBinding = node; channelId = nodeBinding.channelId; messageId = nodeBinding.messageId; var {shouldNavigateBack, shouldCloseModal} = state; value = undefined; if (value2 != channelId) { if (value2 != messageId) { value6 = environment.__proto__; (require(4601) /* metro dependency 4601: transitionToChannel */).transitionToMessage(channelId, messageId); r0 = value; } else { value3 = environment.__proto__; channel = ChannelStore.getChannel(channelId); if (value2 != channel) { if (channel.isGuildVocal()) { moduleValue = require(4246) /* metro dependency 4246: LinkUtils */; if (moduleValue.canViewChannel(channel)) { if (shouldNavigateBack) { rootNavigationRef = (require(4008) /* metro dependency 4008: RootNavigationRefNative */).getRootNavigationRef(); if (value2 != rootNavigationRef) { rootNavigationRef.goBack(); } } if (shouldCloseModal) { (importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop(); } } } } (require(4601) /* metro dependency 4601: transitionToChannel */).transitionToChannel(channelId); r0 = value; } } else { r0 = value; } } return r0; } } function MarkupAttachmentLink({state, node, output, styles, variants}) { // fn#38999, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:5814, offset: 0x010d4799, size: 385 bytes, params: 2, frame: 29 var r8; var value; const styles2 = useStyles(); let noStyleAndInteraction = state.noStyleAndInteraction; const r10 = noStyleAndInteraction ? 'text' : 'button'; const Text = (TextModule).Text; let channelMentionText = variants.channelMentionText; let r0 = channelMentionText ?? 'text-xs/medium'; channelMentionText = styles2.channelMentionText; const ThemedIcon = (NativeModule).ThemedIcon; const MENTION_FOREGROUND = (Native).colors.MENTION_FOREGROUND; const items2 = [ , ]; items2[1] = MarkupRulesUtilsModule.smartOutput(node, output, state); const text = ( {items2} ); if (state.disablePressableChannelMention) { r0 = text; } else { object = {accessibilityRole: r10}; r8 = styles.channel || styles2.channelMention; object.style = r8; noStyleAndInteraction = state.noStyleAndInteraction; value = 'auto'; r8 = noStyleAndInteraction ? 'none' : value; object.pointerEvents = r8; object.onPress = onPress_39000; value = ( {text} ); r0 = value; } return r0; function MarkupAttachmentLinkOnPress(a0) { // fn#39000, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6364, owner: MarkupAttachmentLink.onPress, offset: 0x010d491a, size: 79 bytes, params: 2, frame: 12 var value2; var defaultImport; if (!state.noStyleAndInteraction) { a0.stopPropagation(); value2 = environment.__proto__; defaultImport = importDefault(3853) /* metro dependency 3853: Linking */; defaultImport.openURL(node.attachmentLink); } } } function MarkupCommandMention({state, node, output, styles}) { // fn#39001, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6470, offset: 0x010d4969, size: 112 bytes, params: 2, frame: 20 const styles2 = useStyles(); let mention = styles.mention; mention = !mention ? styles2.mention : mention; return ((Component) => )(MarkupReactCommandRule); } function getIconSize_39002() { // fn#39002, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:1471, offset: 0x010d49d9, size: 161 bytes, params: 1, frame: 13 const Icon = (NativeModule).Icon; const fontScale = PixelRatio.getFontScale(); return fontScale < 1 ? Icon.Sizes.EXTRA_SMALL_10 : fontScale < 1.25 ? Icon.Sizes.EXTRA_SMALL : Icon.Sizes.SMALL; } function createRules_39003() { // fn#39003, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6711, offset: 0x010d4a7a, size: 2112 bytes, params: 1, frame: 23 let value = a0; let value2 = a1; const r2 = value !== undefined ? value : {}; let env0_1 = value2 !== undefined ? value2 : {}; value = (() => { var value = a0; var env0_0 = value !== undefined ? value : {}; return _fun39005; })(r2); const value3 = (() => { var value = a0; var value2 = a1; var env0_0 = value !== undefined ? value : {}; var env0_1 = value2 !== undefined ? value2 : 'username'; return _fun39007; })(r2, a2); const object = {}; const AST_KEY = (MarkupTypesModule).AST_KEY; const TEXT = AST_KEY.TEXT; object[TEXT] = {react: react}; const STRIKETHROUGH = AST_KEY.STRIKETHROUGH; const object3 = {}; const DEFAULT_RULES = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const STRIKETHROUGH2 = AST_KEY.STRIKETHROUGH; copyDataProperties(object3, DEFAULT_RULES[STRIKETHROUGH2], undefined); object3['react'] = createRules_39003React_39009; object[STRIKETHROUGH] = object3; const UNDERLINE = AST_KEY.UNDERLINE; const object4 = {}; const UNDERLINE2 = AST_KEY.UNDERLINE; copyDataProperties(object4, DEFAULT_RULES[UNDERLINE2], DEFAULT_RULES); object4['react'] = createRules_39003React_39010; object[UNDERLINE] = object4; const ITALICS = AST_KEY.ITALICS; const object5 = {}; const ITALICS2 = AST_KEY.ITALICS; copyDataProperties(object5, DEFAULT_RULES[ITALICS2], DEFAULT_RULES); object5['react'] = createRules_39003React_39011; object[ITALICS] = object5; const STRONG = AST_KEY.STRONG; const object6 = {}; const STRONG2 = AST_KEY.STRONG; copyDataProperties(object6, DEFAULT_RULES[STRONG2], DEFAULT_RULES); object6['react'] = createRules_39003React_39012; object[STRONG] = object6; const LINK = AST_KEY.LINK; const object7 = {}; const LINK2 = AST_KEY.LINK; copyDataProperties(object7, DEFAULT_RULES[LINK2], DEFAULT_RULES); object7['react'] = value; object[LINK] = object7; const URL = AST_KEY.URL; const object8 = {}; const URL2 = AST_KEY.URL; copyDataProperties(object8, DEFAULT_RULES[URL2], DEFAULT_RULES); object8['react'] = value; object[URL] = object8; const AUTOLINK = AST_KEY.AUTOLINK; const object9 = {}; const AUTOLINK2 = AST_KEY.AUTOLINK; copyDataProperties(object9, DEFAULT_RULES[AUTOLINK2], DEFAULT_RULES); object9['react'] = value; object[AUTOLINK] = object9; const LINE_BREAK = AST_KEY.LINE_BREAK; const object10 = {}; const DEFAULT_RULES2 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const LINE_BREAK2 = AST_KEY.LINE_BREAK; copyDataProperties(object10, DEFAULT_RULES2[LINE_BREAK2], DEFAULT_RULES); object10['react'] = createRules_39003React_39013; object[LINE_BREAK] = object10; const HIGHLIGHT = AST_KEY.HIGHLIGHT; object[HIGHLIGHT] = {react: react_39014}; const BLOCK_QUOTE = AST_KEY.BLOCK_QUOTE; const object12 = {}; const DEFAULT_RULES3 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const BLOCK_QUOTE2 = AST_KEY.BLOCK_QUOTE; copyDataProperties(object12, DEFAULT_RULES3[BLOCK_QUOTE2], DEFAULT_RULES); object12['react'] = createRules_39003React_39015; object[BLOCK_QUOTE] = object12; const PARAGRAPH = AST_KEY.PARAGRAPH; const object13 = {}; const DEFAULT_RULES4 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const PARAGRAPH2 = AST_KEY.PARAGRAPH; copyDataProperties(object13, DEFAULT_RULES4[PARAGRAPH2], DEFAULT_RULES); object13['order'] = 600; object13['react'] = createRules_39003React_39016; object[PARAGRAPH] = object13; const EMOJI = AST_KEY.EMOJI; object[EMOJI] = {react: react_39017}; const CUSTOM_EMOJI = AST_KEY.CUSTOM_EMOJI; object[CUSTOM_EMOJI] = {react: react_39018}; const SPOILER = AST_KEY.SPOILER; object[SPOILER] = {react: react_39019}; const STATIC_ROUTE_LINK = AST_KEY.STATIC_ROUTE_LINK; object[STATIC_ROUTE_LINK] = {react: react_39020}; const INLINE_CODE = AST_KEY.INLINE_CODE; const object18 = {}; const DEFAULT_RULES5 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const INLINE_CODE2 = AST_KEY.INLINE_CODE; copyDataProperties(object18, DEFAULT_RULES5[INLINE_CODE2], DEFAULT_RULES); object18['react'] = createRules_39003React_39022; object[INLINE_CODE] = object18; const CODE_BLOCK = AST_KEY.CODE_BLOCK; const object19 = {}; const DEFAULT_RULES6 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const CODE_BLOCK2 = AST_KEY.CODE_BLOCK; copyDataProperties(object19, DEFAULT_RULES6[CODE_BLOCK2], DEFAULT_RULES); object19['parse'] = createRules_39003Parse; object19['react'] = createRules_39003React_39024; object[CODE_BLOCK] = object19; const MENTION = AST_KEY.MENTION; const object20 = {}; const DEFAULT_RULES7 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const MENTION2 = AST_KEY.MENTION; copyDataProperties(object20, DEFAULT_RULES7[MENTION2], DEFAULT_RULES); object20['react'] = value3; object[MENTION] = object20; const CHANNEL_MENTION = AST_KEY.CHANNEL_MENTION; const object21 = {}; const DEFAULT_RULES8 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const CHANNEL_MENTION2 = AST_KEY.CHANNEL_MENTION; copyDataProperties(object21, DEFAULT_RULES8[CHANNEL_MENTION2], DEFAULT_RULES); object21['react'] = createRules_39003React_39025; object[CHANNEL_MENTION] = object21; const ATTACHMENT_LINK = AST_KEY.ATTACHMENT_LINK; const object22 = {}; const DEFAULT_RULES9 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const ATTACHMENT_LINK2 = AST_KEY.ATTACHMENT_LINK; copyDataProperties(object22, DEFAULT_RULES9[ATTACHMENT_LINK2], DEFAULT_RULES); object22['react'] = createRules_39003React_39026; object[ATTACHMENT_LINK] = object22; const SOUNDBOARD = AST_KEY.SOUNDBOARD; object[SOUNDBOARD] = {react: react_39027}; const GUILD = AST_KEY.GUILD; object[GUILD] = {react: react_39028}; const CHANNEL = AST_KEY.CHANNEL; object[CHANNEL] = {react: react_39029}; const COMMAND_MENTION = AST_KEY.COMMAND_MENTION; const object26 = {}; const DEFAULT_RULES10 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const COMMAND_MENTION2 = AST_KEY.COMMAND_MENTION; copyDataProperties(object26, DEFAULT_RULES10[COMMAND_MENTION2], DEFAULT_RULES); object26['react'] = createRules_39003React_39030; object[COMMAND_MENTION] = object26; const GAME_MENTION = AST_KEY.GAME_MENTION; object[GAME_MENTION] = {react: react_39031}; const TIMESTAMP = AST_KEY.TIMESTAMP; const object28 = {}; const DEFAULT_RULES11 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const TIMESTAMP2 = AST_KEY.TIMESTAMP; copyDataProperties(object28, DEFAULT_RULES11[TIMESTAMP2], DEFAULT_RULES); object28['react'] = createRules_39003React_39032; object[TIMESTAMP] = object28; const LIST = AST_KEY.LIST; const object29 = {}; const DEFAULT_RULES12 = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const LIST2 = AST_KEY.LIST; copyDataProperties(object29, DEFAULT_RULES12[LIST2], DEFAULT_RULES); object29['react'] = createRules_39003React_39033; object[LIST] = object29; const HEADING = AST_KEY.HEADING; object[HEADING] = {react: react_39036}; const SUBTEXT = AST_KEY.SUBTEXT; object[SUBTEXT] = {react: react_39037}; const SILENT_PREFIX = AST_KEY.SILENT_PREFIX; object[SILENT_PREFIX] = {react: react_39038}; return object; function _fun39004() { // fn#39004, offset: 0x010d52ba, size: 24 bytes, params: 1, frame: 3 const value = a0; const env0_0 = value !== undefined ? value : {}; return _fun39005; function _fun39005(a0, a1, a2) { // fn#39005, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6760, offset: 0x010d52d2, size: 153 bytes, params: 4, frame: 21 var r0; const noStyleAndInteraction = a2.noStyleAndInteraction; let value = environment.__proto__.__proto__; if (noStyleAndInteraction) { var markupTextBindingProps = {color: a2?.textColor}; value = require(8778) /* metro dependency 8778: MarkupRulesUtils */; value = ( {value.smartOutput(a0, a1, a2)} ); r0 = value; } else { r0 = ( ); } return r0; } } function _fun39006() { // fn#39006, offset: 0x010d536b, size: 39 bytes, params: 1, frame: 5 const value = a0; const value2 = a1; const env0_0 = value !== undefined ? value : {}; const env0_1 = value2 !== undefined ? value2 : 'username'; return _fun39007; function _fun39007(a0, a1, a2) { // fn#39007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6968, offset: 0x010d5392, size: 73 bytes, params: 4, frame: 16 return ( ); } } function createRules_39003React(a0, a1, a2) { // fn#39008, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:7091, owner: createRules_39003.react, offset: 0x010d53db, size: 119 bytes, params: 4, frame: 19 var r0; var value; if (typeof a0.content === 'string') { r0 = a0.content; } else { value = environment.__proto__; var markupTextBindingProps = {color: a2?.textColor}; value = require(8778) /* metro dependency 8778: MarkupRulesUtils */; value = ( {value.smartOutput(a0, a1, a2)} ); r0 = value; } return r0; } function createRules_39003React_39009(a0, a1, a2) { // fn#39009, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:7328, owner: createRules_39003.react, offset: 0x010d5452, size: 123 bytes, params: 4, frame: 19 const value = environment.__proto__; return ( {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)} ); } function createRules_39003React_39010(a0, a1, a2) { // fn#39010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:7584, owner: createRules_39003.react, offset: 0x010d54cd, size: 121 bytes, params: 4, frame: 19 const value = environment.__proto__; return ( {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)} ); } function createRules_39003React_39011(a0, a1, a2) { // fn#39011, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:7827, owner: createRules_39003.react, offset: 0x010d5546, size: 159 bytes, params: 4, frame: 21 const value = environment.__proto__; const em = env0_0.em; const value3 = undefined; return ( {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)} ); } function createRules_39003React_39012(a0, a1, a2) { // fn#39012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:8128, owner: createRules_39003.react, offset: 0x010d55e5, size: 136 bytes, params: 4, frame: 19 const value = environment.__proto__; let strong = env0_0.strong; strong = !strong ? env1_17.strong : strong; return ( {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)} ); } function createRules_39003React_39013(a0, a1, a2) { // fn#39013, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:8624, owner: createRules_39003.react, offset: 0x010d566d, size: 61 bytes, params: 4, frame: 17 const value = environment.__proto__; return ( {'\n'} ); } function createRules_39003React_39014(a0, a1, a2) { // fn#39014, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:8739, owner: createRules_39003.react, offset: 0x010d56aa, size: 96 bytes, params: 4, frame: 19 const value = environment.__proto__; return ( {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)} ); } function createRules_39003React_39015(a0, a1, a2) { // fn#39015, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:8935, owner: createRules_39003.react, offset: 0x010d570a, size: 64 bytes, params: 4, frame: 15 return ( ); } function createRules_39003React_39016(a0, a1, a2) { // fn#39016, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9106, owner: createRules_39003.react, offset: 0x010d56aa, size: 96 bytes, params: 4, frame: 19 const value = environment.__proto__; return ( {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)} ); } function createRules_39003React_39017(a0, a1, a2) { // fn#39017, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9240, owner: createRules_39003.react, offset: 0x010d574a, size: 53 bytes, params: 4, frame: 16 return ( {a0.surrogate || a0.content} ); } function createRules_39003React_39018(a0, a1, a2) { // fn#39018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9334, owner: createRules_39003.react, offset: 0x010d577f, size: 56 bytes, params: 4, frame: 15 return ( ); } function createRules_39003React_39019(a0, a1, a2) { // fn#39019, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9431, owner: createRules_39003.react, offset: 0x010d57b7, size: 116 bytes, params: 4, frame: 19 const value = environment.__proto__; const binding = env0_0; return ( {(MarkupRulesUtilsModule).smartOutput(a0, a1, a2)} ); } function createRules_39003React_39020(a0, a1, a2) { // fn#39020, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9598, owner: createRules_39003.react, offset: 0x010d582b, size: 404 bytes, params: 4, frame: 23 var environment; var r10; var SignPostIcon; var object2; var items2; const env0_0 = a0; let value = environment.__proto__; const value2 = undefined; const isStaticRouteIconType = MarkupRulesUtilsModule.isStaticRouteIconType; let channelId = a0.channelId; if (Reflect.apply(isStaticRouteIconType, MarkupRulesUtilsModule, [channelId])) { SignPostIcon = (require(12374) /* metro dependency 12374: SignPostIcon */).SignPostIcon; channelId = a0.channelId; r10 = StaticChannelId.GUILD_HOME === channelId || StaticChannelId.SERVER_GUIDE === channelId ? (require(12374) /* metro dependency 12374: SignPostIcon */).SignPostIcon : StaticChannelId.CHANNEL_BROWSER === channelId || StaticChannelId.CUSTOMIZE_COMMUNITY === channelId ? (require(12376) /* metro dependency 12376: ChannelListMagnifyingGlassIcon */).ChannelListMagnifyingGlassIcon : StaticChannelId.LINKED_ROLES !== channelId ? SignPostIcon : (require(4056) /* metro dependency 4056: LinkIcon */).LinkIcon; var markupTextProps = {accessibilityRole: 'button', style: env0_0.staticRouteLink, color: a2 == null ? value2 : a2.textColor, onPress: onPress_39021}; items2 = [ ((Component) => )(r10), ]; value = MarkupRulesUtilsModule; items2[1] = value.smartOutput(a0, a1, a2); return ( {items2} ); } return null; function reactOnPress() { // fn#39021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:10038, owner: createRules_39003.react.onPress, offset: 0x010d59bf, size: 162 bytes, params: 1, frame: 16 var moduleValue; const {guildId, channelId} = env0_0; const guild = GuildStore.getGuild(guildId); if (guildId != null && guild != null && guild.features.has(GuildFeatures.COMMUNITY)) { if (!(channelId !== StaticChannelId.GUILD_HOME && channelId !== StaticChannelId.SERVER_GUIDE)) { moduleValue = require(4601) /* metro dependency 4601: transitionToChannel */; moduleValue.transitionToStaticChannelRoute(guildId, StaticChannelRoute.GUILD_HOME); } } } } function createRules_39003React_39022(a0, a1, a2) { // fn#39022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:10455, owner: createRules_39003.react, offset: 0x010d5a61, size: 64 bytes, params: 4, frame: 15 return ( ); } function createRules_39003Parse(a0, a1, a2) { // fn#39023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:10612, owner: createRules_39003.parse, offset: 0x010d5aa1, size: 140 bytes, params: 4, frame: 16 const DEFAULT_RULES = (MarkupTypesDefaultRulesModule).DEFAULT_RULES; const AST_KEY = (MarkupTypesModule).AST_KEY; const CODE_BLOCK = AST_KEY.CODE_BLOCK; const value2 = DEFAULT_RULES[CODE_BLOCK].parse(a0, a1, a2); if (value2.lang.toLowerCase() === 'ansi') { value2.content = value2.content.replaceAll(env1_16, ''); } return value2; } function createRules_39003React_39024(a0, a1, a2) { // fn#39024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:10781, owner: createRules_39003.react, offset: 0x010d5b2d, size: 64 bytes, params: 4, frame: 15 return ( ); } function createRules_39003React_39025(a0, a1, a2) { // fn#39025, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11042, owner: createRules_39003.react, offset: 0x010d5b6d, size: 73 bytes, params: 4, frame: 16 return ( ); } function createRules_39003React_39026(a0, a1, a2) { // fn#39026, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11230, owner: createRules_39003.react, offset: 0x010d5bb6, size: 73 bytes, params: 4, frame: 16 return ( ); } function createRules_39003React_39027(a0, a1, a2) { // fn#39027, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11353, owner: createRules_39003.react, offset: 0x010d5bff, size: 120 bytes, params: 4, frame: 19 let value = environment.__proto__; const Text = (TextModule).Text; value = require(8778) /* metro dependency 8778: MarkupRulesUtils */; value = value.smartOutput(a0, a1, a2); return ( {''} ); } function createRules_39003React_39028(a0, a1, a2) { // fn#39028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11490, owner: createRules_39003.react, offset: 0x010d5c77, size: 454 bytes, params: 4, frame: 23 var r8; var GuildIcon; var fontScale; const value = environment.__proto__; const value2 = undefined; const r6 = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? 2 : PixelRatio.getFontScale() < 1.5 ? 1 : 0; const icon = a0.icon; const value7 = null; if (value7 != icon) { GuildIcon = importDefault(6819) /* metro dependency 6819: GuildIcon */; var defaultImportProps = {style: {top: r6}, icon: a0.icon}; fontScale = PixelRatio.getFontScale(); defaultImportProps.size = fontScale < 1 ? (require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes.XXXSMALL : fontScale < 1.25 ? (require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes.XXSMALL_12 : (require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes.XXSMALL; r8 = ; } else { r8 = value7; } return ( {r8} {(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)} ); } function createRules_39003React_39029(a0, a1, a2) { // fn#39029, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11981, owner: createRules_39003.react, offset: 0x010d5e3d, size: 293 bytes, params: 4, frame: 24 const iconType = a0.iconType; let value = 'text'; const r10 = iconType ?? value; const r12 = value !== r10 ? 2 : 0; value = environment.__proto__; const value3 = undefined; const ThemedIcon = (NativeModule).ThemedIcon; const MENTION_FOREGROUND = (Native).colors.MENTION_FOREGROUND; const themedIcon = ( ); const textColor = a2 == null ? value3 : a2.textColor; const items2 = [ {themedIcon} , ]; value = require(8778) /* metro dependency 8778: MarkupRulesUtils */; items2[1] = value.smartOutput(a0, a1, a2); return ( {items2} ); } function createRules_39003React_39030(a0, a1, a2) { // fn#39030, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12441, owner: createRules_39003.react, offset: 0x010d5f62, size: 64 bytes, params: 4, frame: 15 return ( ); } function createRules_39003React_39031(a0, a1, a2) { // fn#39031, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12555, owner: createRules_39003.react, offset: 0x010d5fa2, size: 60 bytes, params: 4, frame: 16 const value = environment.__proto__; return ((Component) => )(MarkupReactGameMentionRule); } function createRules_39003React_39032(a0, a1, a2) { // fn#39032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12690, owner: createRules_39003.react, offset: 0x010d5fde, size: 73 bytes, params: 4, frame: 15 const value = environment.__proto__; return ((Component) => )(TimestampNative); } function createRules_39003React_39033(a0, a1, a2) { // fn#39033, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12819, owner: createRules_39003.react, offset: 0x010d6027, size: 198 bytes, params: 4, frame: 17 const env0_0 = a0; const env0_1 = a1; const env0_2 = a2; let level = a2.level; level = level != null ? a2.level : 0; let start = a0.start; start = start != null ? a0.start : a2.start; value = a0.items.map(_fun39034); const Text = (TextModule).Text; return ( {value} ); function _fun39034(a0, a1) { // fn#39034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12909, offset: 0x010d60ed, size: 639 bytes, params: 3, frame: 31 const env0_0 = a0; const r7 = level !== 0 ? '⚬ ' : typeof env0_0.ordered !== 'boolean' ? (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? '• ' : '● ' : env0_0.ordered && start != null ? '' + (start + a1) + '. ' : (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? '• ' : '● '; const object = {}; copyDataProperties(object, importDefault, undefined); const key = importDefault.key; const value8 = ''; object['key'] = value8 + key + '-' + a1; object['level'] = level + 1; object['start'] = start != null ? start + 1 : start; const value12 = undefined; const Text = (TextModule).Text; const listItem = env2_17.listItem; const markupText = ( {level > 0 ? ' '.repeat(level) : value8} {r7} ); const Array = global.Array; return ( {markupText} {Array.isArray(a0) ? a0.map(_fun39035) : require(a0, object)} {env0_0.items.length !== a1 + 1 ? ' ' : value8} ); function _fun39035(a0, a1) { // fn#39035, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:13321, offset: 0x010d636c, size: 132 bytes, params: 3, frame: 21 const value = a0.type === 'list'; const value4 = a1 + 1 === env0_0.length; const Fragment = env3_3.Fragment; const items2 = [value && '\n']; items2[1] = require(a0, env0_1); items2[2] = value4 && !value && '\n'; return ( {items2} ); } } } function createRules_39003React_39036(a0, a1, a2) { // fn#39036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:13623, owner: createRules_39003.react, offset: 0x010d63f0, size: 184 bytes, params: 4, frame: 19 const r6 = a0.level === 1 ? 'heading-xl/bold' : a0.level !== 2 ? 'heading-md/bold' : 'heading-lg/bold'; value = environment.__proto__; const Text = (TextModule).Text; const textProps = {variant: r6, color: a2.forceWhite ? 'white' : 'text-strong'}; value = require(8778) /* metro dependency 8778: MarkupRulesUtils */; value = value.smartOutput(a0, a1, a2); return ( {value} {'\n'} ); } function createRules_39003React_39037(a0, a1, a2) { // fn#39037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:13883, owner: createRules_39003.react, offset: 0x010d64a8, size: 116 bytes, params: 4, frame: 19 let value = environment.__proto__; const Text = (TextModule).Text; value = require(8778) /* metro dependency 8778: MarkupRulesUtils */; value = value.smartOutput(a0, a1, a2); return ( {value} {'\n'} ); } function createRules_39003React_39038(a0, a1, a2) { // fn#39038, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:14046, owner: createRules_39003.react, offset: 0x010d53db, size: 119 bytes, params: 4, frame: 19 var r0; var value; if (typeof a0.content === 'string') { r0 = a0.content; } else { value = environment.__proto__; var markupTextBindingProps = {color: a2?.textColor}; value = require(8778) /* metro dependency 8778: MarkupRulesUtils */; value = ( {value.smartOutput(a0, a1, a2)} ); r0 = value; } return r0; } } function plainMentionRenderer(a0, a1, a2) { // fn#39039, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:14234, offset: 0x010d651c, size: 72 bytes, params: 4, frame: 15 var r0; var value; if (typeof a0.content === 'string') { r0 = a0.content; } else { value = require(8778) /* metro dependency 8778: MarkupRulesUtils */; value = value.smartOutput(a0, a1, a2); r0 = value; } return r0; } } global.__d(_fun38981, 4599, [31, 27, 4502, 1379, 1867, 661, 1386, 482, 33, 4600, 4573, 4501, 697, 4601, 4246, 4008, 5080, 8743, 4647, 1244, 6797, 3856, 6819, 1305, 1471, 8872, 3853, 9875, 9862, 8778, 4000, 4080, 11381, 1962, 21, 3829, 566, 5475, 11366, 12373, 8769, 4598, 10986, 10988, 12374, 12376, 4056, 477, 6647, 12378, 10990, 2]) /* metro module 4599, dependencies: [31, 27, 4502, 1379, 1867, 661, 1386, 482, 33, 4600, 4573, 4501, 697, 4601, 4246, 4008, 5080, 8743, 4647, 1244, 6797, 3856, 6819, 1305, 1471, 8872, 3853, 9875, 9862, 8778, 4000, 4080, 11381, 1962, 21, 3829, 566, 5475, 11366, 12373, 8769, 4598, 10986, 10988, 12374, 12376, 4056, 477, 6647, 12378, 10990, 2] */;