{"version":3,"sources":["../../../src/components/Chat/index.tsx","../../../src/components/Chat/ChatItem/index.tsx","../../../src/assets/icons.tsx","../../../src/constants/Colors.ts","../../../src/helpers/haptics.ts","../../../src/components/Chat/ChatItem/Layouts/Stacked.tsx","../../../src/components/Chat/MessageAvatar.tsx","../../../src/contexts/ChatProvider.tsx","../../../src/contexts/ModalProvider.tsx","../../../src/theme/colors.ts","../../../src/theme/index.ts","../../../src/contexts/MessageStateContext.tsx","../../../src/constants/defaultUser.ts","../../../src/components/Chat/ChatItem/Sticker.tsx","../../../src/utils/index.ts","../../../src/components/Chat/ChatItem/Reactions.tsx","../../../src/components/Chat/ChatItem/Quoted.tsx","../../../src/components/Chat/ChatItem/Preview.tsx","../../../src/components/Chat/ChatItem/Media/index.tsx","../../../src/components/Modals/ImagePreview.tsx","../../../src/components/Chat/ChatInput.tsx","../../../src/components/Chat/ChatItem/Media/VoiceMessage.tsx","../../../src/components/Chat/ChatItem/Media/Video.tsx","../../../src/components/Modals/VideoViewer.tsx","../../../src/components/Chat/ChatItem/Layouts/Default.tsx","../../../src/components/Chat/ChatHeader.tsx","../../../src/components/Conversations/ConversationAvatar.tsx","../../../src/components/Chat/SelectedMessage.tsx","../../../src/components/Chat/EmojiSheet/index.tsx","../../../src/components/Search.tsx","../../../src/assets/emoji.ts","../../../src/components/Chat/MediaOptions/index.tsx","../../../src/components/Chat/MessageOptions/index.tsx","../../../src/components/Modals/EmojiList.tsx"],"sourcesContent":["import React, {\r\n  MutableRefObject,\r\n  RefObject,\r\n  createRef,\r\n  useCallback,\r\n  useEffect,\r\n  useRef,\r\n  useState,\r\n} from \"react\";\r\nimport {\r\n  View,\r\n  StyleSheet,\r\n  TextInput,\r\n  Text,\r\n  KeyboardAvoidingView,\r\n  Platform,\r\n  Dimensions,\r\n  RefreshControl,\r\n} from \"react-native\";\r\nimport {\r\n  ChatBubbleRenderProps,\r\n  ChatHeaderRenderProps,\r\n  ChatInputRenderProps,\r\n  Children,\r\n  AttachmentTypes,\r\n  Prettify,\r\n  BottomSheetRef,\r\n} from \"../../types\";\r\nimport { ChatItem } from \"./ChatItem\";\r\nimport { GestureHandlerRootView } from \"react-native-gesture-handler\";\r\nimport ChatInput, { METERING_MIN_POWER } from \"./ChatInput\";\r\nimport ChatHeader from \"./ChatHeader\";\r\nimport SelectedMessage from \"./SelectedMessage\";\r\nimport EmojiSheet from \"./EmojiSheet\";\r\nimport MediaOptions from \"./MediaOptions\";\r\nimport { restructureMessages } from \"../../utils\";\r\nimport MessageOptions from \"./MessageOptions\";\r\nimport Haptics from \"../../helpers/haptics\";\r\nimport { FlashList } from \"@shopify/flash-list\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\nimport {\r\n  ChatEventGenerics,\r\n  ConnectionEvent,\r\n  Events,\r\n  generateId,\r\n  Message,\r\n  MediaType,\r\n  ConversationListItem,\r\n} from \"softchatjs-core\";\r\nimport { format, isThisWeek } from \"date-fns\";\r\nimport { useMessageState } from \"../../contexts/MessageStateContext\";\r\nimport { LockIcon, MessagePlus } from \"../../assets/icons\";\r\nimport { Audio } from \"expo-av\";\r\nimport { interpolate } from \"react-native-reanimated\";\r\nimport { useModalProvider } from \"../../contexts/ModalProvider\";\r\nimport EmojiListModal from '../../components/Modals/EmojiList'\r\n\r\ntype ChatProps = {\r\n  /**\r\n   * Active conversation is the current conversation the user is actively engaged in\r\n   */\r\n  activeConversation: ConversationListItem;\r\n  /**\r\n   * Render a custom chat item\r\n   */\r\n  renderChatBubble?: (props: Prettify<ChatBubbleRenderProps>) => void;\r\n  /**\r\n   * Render a customer chat input\r\n   */\r\n  renderChatInput?: (props: Prettify<ChatInputRenderProps>) => void;\r\n  /**\r\n   * Render a custom chat header\r\n   */\r\n  renderChatHeader?: (props: Prettify<ChatHeaderRenderProps>) => void;\r\n  /**\r\n   * Render a custom empty state when a user has no messages\r\n   */\r\n  placeholder?: Children;\r\n  /**\r\n   * Value passed to adjust how the keyboard adjusts the input field when it's open\r\n   */\r\n  keyboardOffset?: number;\r\n};\r\n\r\nexport type SendMessage = {\r\n  message: string;\r\n};\r\n\r\nexport type SelectedMessage = {\r\n  message: Message | null;\r\n  ref: MutableRefObject<View | undefined> | null;\r\n  itemIndex: number;\r\n  isMessageOwner: boolean;\r\n};\r\n\r\ntype GroupedMessages = Array<string | Message>;\r\n\r\nconst KeyboardAvoiding = (props: { keyboardOffset: number, children: Children }) => {\r\n  if(Platform.OS === \"android\"){\r\n    return <>{props.children}</>\r\n  }\r\n  return (\r\n    <KeyboardAvoidingView\r\n    style={{ flex: 1, height: '100%', width: '100%' }}\r\n    behavior={Platform.OS === \"ios\" ? \"padding\" : \"height\"}\r\n    keyboardVerticalOffset={props.keyboardOffset}\r\n  >\r\n    {props.children}\r\n  </KeyboardAvoidingView>\r\n  )\r\n}\r\n\r\nexport default function Chat(props: ChatProps) {\r\n  const { client, theme, fontFamily, fontScale } = useConfig();\r\n  const {\r\n    activeConversation,\r\n    renderChatBubble,\r\n    renderChatInput,\r\n    renderChatHeader,\r\n    placeholder,\r\n    keyboardOffset = Platform.OS === \"ios\" ? 10 : 0\r\n  } = props;\r\n  let layout: \"stacked\" | undefined\r\n  const chatUserId = client.chatUserId;\r\n  const conversationId = activeConversation.conversation.conversationId;\r\n  const participantList = activeConversation.conversation.participantList;\r\n  const participants = activeConversation.conversation.participants;\r\n  const [permissionResponse, requestPermission] = Audio.usePermissions();\r\n  const { displayModal } = useModalProvider();\r\n  const scrollRef = useRef<FlashList<Message | string> | null>(null);\r\n  const inputRef = useRef<TextInput>(null);\r\n  const emojiListRef = useRef<BottomSheetRef>(null);\r\n  const mediaOptionsRef = useRef<\r\n    BottomSheetRef & { pickAttachment: () => void }\r\n  >(null);\r\n  const messageOptionsRef = useRef<BottomSheetRef>(null);\r\n  const [isTyping, showTyping] = useState(false);\r\n  const [loadingMessages, setLoadingMessages] = useState(false);\r\n  const {\r\n    globalTextMessage,\r\n    setGlobalTextMessage,\r\n    pendingMessages,\r\n    pauseVoiceMessage,\r\n    addNewPendingMessages,\r\n  } = useMessageState();\r\n\r\n  const [messages, setMessages] = useState<Array<string | Message>>(activeConversation.conversation?.messages? restructureMessages([\r\n    ...activeConversation.conversation.messages.reverse(),\r\n  ]) : []);\r\n  const [isEditing, setIsEditing] = useState(false);\r\n  const [refMap, setRefMap] = useState<{\r\n    [key: string]: { ref: RefObject<View> | null; index: number };\r\n  }>({});\r\n  const [viewable, setViewable] = useState<GroupedMessages>([]);\r\n  const [isScrolling, setIsScrolling] = useState(false);\r\n  const [currentPage, setCurrentPage] = useState(2);\r\n  const [loadingOlderMessages, setLoadingOlderMessages] = useState(false);\r\n  const [recipientId, setRecipientId] = useState(\"\");\r\n  const [connectionStatus, setConnectionStatus] = useState<ConnectionEvent>({\r\n    isConnected: false,\r\n    fetchingConversations: false,\r\n    connecting: false,\r\n  });\r\n  const width = Dimensions.get(\"window\").width;\r\n  const emojiSize = 40;\r\n\r\n  const [selectedMessage, setSelectedMessage] = useState<SelectedMessage>({\r\n    message: null,\r\n    ref: null,\r\n    itemIndex: 0,\r\n    isMessageOwner: false,\r\n  });\r\n  // quoted message and ref\r\n  const [activeQuote, setActiveQuote] = useState<\r\n    Omit<SelectedMessage, \"isMessageOwner\">\r\n  >({\r\n    message: null,\r\n    ref: null,\r\n    itemIndex: 0,\r\n  });\r\n  const [audioTime, setAudioTime] = useState(0);\r\n  const [audioWaves, setAudioWaves] = useState<{\r\n    [key: number]: { metering: number; height: number };\r\n  }>({});\r\n  const [recording, setRecording] = useState<Audio.Recording>();\r\n  // const onViewRef = useRef((viewableItems: any) => {\r\n  //   let Check = [];\r\n  //   for (var i = 0; i < viewableItems.viewableItems.length; i++) {\r\n  //     Check.push(viewableItems.viewableItems[i].item);\r\n  //   }\r\n  //   setViewable(Check);\r\n  // });\r\n\r\n  const viewConfigRef = useRef({ viewAreaCoveragePercentThreshold: 80 });\r\n\r\n  // const conversationId = useMemo(() => {\r\n  //   try {\r\n  //     if(!participantId && !conversationId){\r\n  //       throw new Error('ConversationId and Participant cannot be null')\r\n  //     }\r\n  //     if(participantId && conversationId){\r\n  //       throw new Error('One of ConversationId or Participant can be passed but not both.')\r\n  //     }\r\n  //     return participantId? generateConversationId(chatUser.uid, participantId, client.projectId) : conversationId;\r\n  //   } catch (error) {\r\n  //     throw new Error(error.message)\r\n  //   }\r\n\r\n  // },[participantId, chatUser, client, conversationId]);\r\n\r\n  useEffect(() => {\r\n    setRefMap((prevMap) => {\r\n      const newMap = { ...prevMap };\r\n\r\n      messages.forEach((message, index) => {\r\n        const messageKey =\r\n          typeof message === \"string\" ? message : message.messageId;\r\n\r\n        if (!newMap[messageKey]) {\r\n          newMap[messageKey] = { ref: createRef<View>(), index };\r\n        } else {\r\n          newMap[messageKey] = { ...newMap[messageKey], index };\r\n        }\r\n      });\r\n\r\n      return newMap;\r\n    });\r\n  }, [messages]);\r\n\r\n  const clearSelectedMessage = () =>\r\n    setActiveQuote({ message: null, ref: null, itemIndex: 0 });\r\n\r\n  async function getMessages() {\r\n    try {\r\n      setLoadingMessages(true);\r\n      const messages = (await client\r\n        ?.messageClient(conversationId)\r\n        .getMessages()) as Array<Message>;\r\n      if (messages.length > 0) {\r\n        var restructuredMessages: GroupedMessages = restructureMessages(\r\n          messages.reverse()\r\n        );\r\n        setMessages(restructuredMessages);\r\n      }\r\n    } catch (error) {\r\n      console.log(error);\r\n    } finally {\r\n      setLoadingMessages(false);\r\n    }\r\n  }\r\n\r\n  async function getBroadcastListMessages() {\r\n    try {\r\n      setLoadingMessages(true);\r\n      const messages = (await client\r\n        ?.messageClient(conversationId)\r\n        .getBroadcastListMessages()) as Array<Message>;\r\n      if (messages.length > 0) {\r\n        var restructuredMessages: GroupedMessages = restructureMessages(\r\n          messages.reverse()\r\n        );\r\n        setMessages(restructuredMessages);\r\n      }\r\n    } catch (error) {\r\n      console.log(error);\r\n    } finally {\r\n      setLoadingMessages(false);\r\n    }\r\n  }\r\n\r\n  async function getOlderMessages() {\r\n    try {\r\n      if (client && messages.length >= 25) {\r\n        setLoadingOlderMessages(true);\r\n        const olderMessages = (await client\r\n          .messageClient(conversationId)\r\n          .getMessages(currentPage)) as Array<Message>;\r\n        setMessages((prev) => {\r\n          return restructureMessages([...prev, ...olderMessages.reverse()]);\r\n        });\r\n        if (olderMessages.length > 0) {\r\n          setCurrentPage((prev) => prev + 1);\r\n        }\r\n      }\r\n    } catch (error) {\r\n      console.log(error);\r\n    } finally {\r\n      setLoadingOlderMessages(false);\r\n    }\r\n  }\r\n\r\n  // const getConversation = async () => {\r\n  //   try {\r\n  //     if (client) {\r\n  //       const conversation = (await client\r\n  //         ?.messageClient(conversationId)\r\n  //         .getConversation(conversationId)) as Conversation;\r\n  //       console.log(conversation, \"---the conversation\");\r\n  //       if (conversation) {\r\n  //         setConversationMeta(conversation);\r\n  //       }\r\n  //     }\r\n  //   } catch (error) {}\r\n  // };\r\n\r\n  useEffect(() => {\r\n    if (activeConversation) {\r\n      const recipients = participants.filter((id) => id !== client?.chatUserId);\r\n      if (recipients && recipients.length > 0) {\r\n        setRecipientId(recipients[0]);\r\n      }\r\n      if (\r\n        activeConversation.conversation.conversationType === \"broadcast-chat\"\r\n      ) {\r\n        getBroadcastListMessages();\r\n      } else {\r\n        getMessages();\r\n      }\r\n    }\r\n  }, [activeConversation]);\r\n\r\n  const handleNewMessages = (event: any) => {\r\n    try {\r\n      console.log(event, \":::event\");\r\n      if (event.message.conversationId === conversationId) {\r\n        setMessages((prev) => {\r\n          return restructureMessages([event.message, ...prev]);\r\n        });\r\n      }\r\n    } catch (error) {\r\n      console.log(error);\r\n    }\r\n  };\r\n\r\n  // const handleNewBroadcastMessages = (event: any) => {\r\n  //   try {\r\n  //     console.log(event, ':::event');\r\n  //       setMessages((prev) => {\r\n  //         return restructureMessages([event.message, ...prev]);\r\n  //       });\r\n  //     }\r\n  //   } catch (error) {\r\n  //     console.log(error);\r\n  //   }\r\n  // };\r\n\r\n  const handleEditedMessage = (event: any) => {\r\n    setMessages((prev) => {\r\n      const newMessages = [...prev];\r\n      return newMessages.map((message) => {\r\n        if (\r\n          typeof message !== \"string\" &&\r\n          message.messageId === event.message.messageId\r\n        ) {\r\n          return { ...message, ...event.message };\r\n        }\r\n        return message;\r\n      });\r\n    });\r\n  };\r\n\r\n  const handleTypingStarted = (event: any) => {\r\n    if (event.conversationId === conversationId) {\r\n      showTyping(true);\r\n    }\r\n  };\r\n\r\n  const handleStoppedStarted = (event: any) => {\r\n    if (event.conversationId === conversationId) {\r\n      showTyping(false);\r\n    }\r\n  };\r\n\r\n  const handleDeletedMessage = (event: any) => {\r\n    setMessages((prev) => {\r\n      var prevMessage = prev.filter((message) => {\r\n        if (typeof message !== \"string\") {\r\n          return message.messageId !== event.message.messageId;\r\n        }\r\n      });\r\n      return restructureMessages(prevMessage);\r\n    });\r\n  };\r\n\r\n  const handleConnectionChanged = (\r\n    event: ChatEventGenerics<ConnectionEvent>\r\n  ) => {\r\n    setConnectionStatus(event);\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (client && conversationId) {\r\n      client.messageClient(conversationId).setActiveConversation();\r\n      client.subscribe(Events.NEW_MESSAGE, handleNewMessages);\r\n      client.subscribe(Events.EDITED_MESSAGE, handleEditedMessage);\r\n      client.subscribe(Events.HAS_STARTED_TYPING, handleTypingStarted);\r\n      client.subscribe(Events.HAS_STOPPED_TYPING, handleStoppedStarted);\r\n      client.subscribe(Events.DELETED_MESSAGE, handleDeletedMessage);\r\n      client.subscribe(Events.CONNECTION_CHANGED, handleConnectionChanged);\r\n    }\r\n    return () => {\r\n      if (client) {\r\n        if (conversationId) {\r\n          client.messageClient(conversationId).unSetActiveConversation();\r\n        }\r\n        // client.unsubscribe(\"new_broadcast_message\", handleNewBroadcastMessages);\r\n        client.unsubscribe(Events.NEW_MESSAGE, handleNewMessages);\r\n        client.unsubscribe(Events.EDITED_MESSAGE, handleEditedMessage);\r\n        client.unsubscribe(Events.HAS_STARTED_TYPING, handleTypingStarted);\r\n        client.unsubscribe(Events.HAS_STOPPED_TYPING, handleStoppedStarted);\r\n        client.unsubscribe(Events.DELETED_MESSAGE, handleDeletedMessage);\r\n        client.unsubscribe(Events.CONNECTION_CHANGED, handleConnectionChanged);\r\n      }\r\n    };\r\n  }, [client, conversationId]);\r\n\r\n  const openEmojis = () => {\r\n    // emojiListRef?.current?.open();\r\n    inputRef?.current?.blur();\r\n    displayModal({\r\n      children: <EmojiListModal \r\n      message={selectedMessage.message}\r\n      recipientId={recipientId}\r\n      theme={theme}\r\n      type=\"message\"\r\n      onSelect={(value) => setGlobalTextMessage(p => p+value)}\r\n      />\r\n    })\r\n  };\r\n\r\n  const sendMessage = async () => {\r\n    try {\r\n      if (!globalTextMessage) return null;\r\n      if (conversationId) {\r\n        if (client) {\r\n          client.messageClient(conversationId).sendMessage({\r\n            conversationId: conversationId,\r\n            to: recipientId,\r\n            message: globalTextMessage,\r\n            reactions: [],\r\n            attachedMedia: [],\r\n            attachmentType: AttachmentTypes.NONE,\r\n            quotedMessage: activeQuote.message,\r\n          });\r\n        }\r\n        setGlobalTextMessage(\"\");\r\n        setIsEditing(false);\r\n        clearSelectedMessage();\r\n        if (activeQuote.message) {\r\n          clearSelectedMessage();\r\n        }\r\n      }\r\n    } catch (err) {\r\n      console.log(err);\r\n    }\r\n  };\r\n\r\n  const sendEditedMessage = async (externalInputRef?: RefObject<TextInput>) => {\r\n    try {\r\n      if (client && selectedMessage.message) {\r\n        client\r\n          .messageClient(selectedMessage.message.conversationId)\r\n          .editMessage({\r\n            to: selectedMessage.message.to,\r\n            conversationId: selectedMessage.message.conversationId,\r\n            messageId: selectedMessage.message.messageId,\r\n            textMessage: globalTextMessage,\r\n            shouldEdit: true,\r\n          });\r\n        setGlobalTextMessage(\"\");\r\n        clearSelectedMessage();\r\n        setIsEditing(false);\r\n        if (externalInputRef && externalInputRef.current) {\r\n          externalInputRef.current?.blur();\r\n        } else {\r\n          inputRef.current?.blur();\r\n        }\r\n      }\r\n    } catch (err) {\r\n      console.log(err);\r\n    }\r\n  };\r\n\r\n  const broadcastMessage = async (externalInputRef?: RefObject<TextInput>) => {\r\n    try {\r\n      if (!globalTextMessage) return null;\r\n      if (client && conversationId) {\r\n        client.messageClient(conversationId).broadcastMessage({\r\n          broadcastListId: conversationId,\r\n          participantsIds: activeConversation.conversation.participants,\r\n          newMessage: {\r\n            conversationId: conversationId,\r\n            to: recipientId,\r\n            message: globalTextMessage,\r\n            reactions: [],\r\n            attachedMedia: [],\r\n            attachmentType: AttachmentTypes.NONE,\r\n            quotedMessage: activeQuote.message,\r\n          },\r\n        });\r\n      }\r\n      setGlobalTextMessage(\"\");\r\n      setIsEditing(false);\r\n      clearSelectedMessage();\r\n      if (activeQuote.message) {\r\n        clearSelectedMessage();\r\n      }\r\n      console.log(activeConversation.conversation.conversationType);\r\n    } catch (err) {\r\n      console.log(err);\r\n    }\r\n  };\r\n\r\n  const sendVoiceMessage = async () => {\r\n    try {\r\n      setRecording(undefined);\r\n      await recording?.stopAndUnloadAsync();\r\n      await Audio.setAudioModeAsync({\r\n        allowsRecordingIOS: false,\r\n      });\r\n      const uri = recording?.getURI();\r\n      if (client) {\r\n        // remove any audio being played\r\n        pauseVoiceMessage();\r\n        addNewPendingMessages({\r\n          from: client.chatUserId,\r\n          messageId: generateId(),\r\n          conversationId: conversationId,\r\n          to: recipientId,\r\n          message: \"\",\r\n          reactions: [],\r\n          attachedMedia: [\r\n            {\r\n              type: MediaType.AUDIO,\r\n              ext: \".mp3\",\r\n              mediaId: generateId(),\r\n              mediaUrl: uri as string,\r\n              mimeType: \"audio/mp3\",\r\n              meta: {\r\n                audioDurationSec: audioTime,\r\n              },\r\n            },\r\n          ],\r\n          attachmentType: AttachmentTypes.MEDIA,\r\n          quotedMessage: null,\r\n          createdAt: new Date(),\r\n        });\r\n        setAudioWaves({});\r\n        setAudioTime(0);\r\n      }\r\n    } catch (err) {\r\n      setAudioWaves({});\r\n      setAudioTime(0);\r\n      setRecording(undefined);\r\n      console.error(err);\r\n    }\r\n  };\r\n\r\n  const send = (externalInputRef: RefObject<TextInput>) => {\r\n    if (activeConversation.conversation.conversationType === \"broadcast-chat\") {\r\n      return broadcastMessage();\r\n    }\r\n    if (isEditing) {\r\n      return sendEditedMessage(externalInputRef);\r\n    }\r\n    sendMessage();\r\n  };\r\n\r\n  const onChatItemLongPress = (\r\n    selectedMessage: Message,\r\n    ref: MutableRefObject<View | undefined>,\r\n    isMessageOwner: boolean\r\n  ) => {\r\n    const messageIndex = messages.indexOf(selectedMessage);\r\n    setSelectedMessage({\r\n      message: selectedMessage,\r\n      ref: ref,\r\n      itemIndex: messageIndex,\r\n      isMessageOwner,\r\n    });\r\n    messageOptionsRef?.current?.open();\r\n    Haptics.medium();\r\n  };\r\n\r\n  const onScrollToMessage = (messageId: string) => {\r\n    try {\r\n      const itemRef = refMap[messageId].ref?.current;\r\n      scrollRef.current?.scrollToIndex({\r\n        animated: true,\r\n        index: refMap[messageId].index,\r\n        viewPosition: 0.5,\r\n      });\r\n      if (itemRef) {\r\n        itemRef.setNativeProps({\r\n          style: { backgroundColor: theme?.background.secondary },\r\n        });\r\n        setTimeout(() => {\r\n          itemRef.setNativeProps({\r\n            style: { backgroundColor: \"transparent\" },\r\n          });\r\n        }, 1000);\r\n      }\r\n    } catch (error) {\r\n      scrollRef.current?.scrollToEnd({\r\n        animated: true,\r\n      });\r\n    }\r\n  };\r\n\r\n  function formatViewableDate(date: Date | string): string {\r\n    if (isThisWeek(date, { weekStartsOn: 1 })) {\r\n      // weekStartsOn: 1 makes the week start on Monday\r\n      return format(date, \"EEEE\"); // 'EEEE' returns the full weekday name (e.g., 'Monday')\r\n    } else {\r\n      return format(date, \"yyyy-MM-dd\"); // returns full date (e.g., '2024-09-13')\r\n    }\r\n  }\r\n\r\n  const threaded = (item: string | Message, index: number) => {\r\n    var nextMessage = messages[index - 1];\r\n    if (typeof item === \"string\") {\r\n      return false;\r\n    }\r\n    if (typeof nextMessage === \"string\" || !nextMessage) {\r\n      return false;\r\n    }\r\n    return item.messageOwner.uid === nextMessage.messageOwner.uid;\r\n  };\r\n\r\n  useEffect(() => {\r\n    let debounceTimer: NodeJS.Timeout | undefined;\r\n    let idleTimer: NodeJS.Timeout | undefined;\r\n    if (conversationId) {\r\n      if (globalTextMessage.length > 0) {\r\n        clearTimeout(debounceTimer);\r\n        // set a new debounce timer to send a typing notification after 350ms\r\n        debounceTimer = setTimeout(() => {\r\n          if (client) {\r\n            client\r\n              .messageClient(conversationId)\r\n              .sendTypingNotification(recipientId);\r\n            debounceTimer = undefined; // clear debounce timer reference after sending the typing notification\r\n          }\r\n        }, 300);\r\n        // clear the previous idle timer (stopped typing)\r\n        clearTimeout(idleTimer);\r\n        // set a new idle timer to send a stopped typing notification after 1300ms of inactivity\r\n        idleTimer = setTimeout(() => {\r\n          if (client) {\r\n            client\r\n              .messageClient(conversationId)\r\n              .sendStoppedTypingNotification(recipientId);\r\n          }\r\n        }, 1300);\r\n      }\r\n    }\r\n    return () => clearTimeout(debounceTimer);\r\n  }, [client, globalTextMessage, conversationId]);\r\n\r\n  useEffect(() => {\r\n    if (client && conversationId) {\r\n      const msClient = client.messageClient(conversationId);\r\n      msClient.readMessages(conversationId, {\r\n        uid: client.chatUserId,\r\n        messageIds: activeConversation.unread,\r\n      });\r\n    }\r\n  }, [client, conversationId, activeConversation]);\r\n\r\n  const onStartedScrolling = () => {\r\n    let scrollStateRef: NodeJS.Timeout | undefined = undefined;\r\n    setIsScrolling(true);\r\n    clearTimeout(scrollStateRef);\r\n    scrollStateRef = setTimeout(() => {\r\n      setIsScrolling(false);\r\n    }, 3000);\r\n  };\r\n\r\n  const onRecordingStatusUpdate = (data: Audio.RecordingStatus) => {\r\n    var durationSecond = data.durationMillis / 1000;\r\n    var metering = data.metering ?? -160;\r\n    if (durationSecond >= 300) {\r\n    }\r\n    var interp = interpolate(metering, [METERING_MIN_POWER, 0], [1, 100]);\r\n    setAudioWaves((prev) => {\r\n      return { ...prev, [durationSecond]: { metering, height: interp } };\r\n    });\r\n    setAudioTime(durationSecond);\r\n  };\r\n\r\n  async function startRecording() {\r\n    try {\r\n      if (permissionResponse?.status !== \"granted\") {\r\n        await requestPermission();\r\n      }\r\n      // pause any audio being played\r\n      pauseVoiceMessage();\r\n      await Audio.setAudioModeAsync({\r\n        allowsRecordingIOS: true,\r\n        playsInSilentModeIOS: true,\r\n      });\r\n\r\n      const { recording } = await Audio.Recording.createAsync(\r\n        Audio.RecordingOptionsPresets.LOW_QUALITY,\r\n        onRecordingStatusUpdate\r\n      );\r\n      setRecording(recording);\r\n    } catch (err) {\r\n      console.error(\"Failed to start recording\", err);\r\n    }\r\n  }\r\n\r\n  async function deleteRecording() {\r\n    setRecording(undefined);\r\n    setAudioWaves({});\r\n    // setIsRecordingPaused(false)\r\n    await recording?.stopAndUnloadAsync();\r\n  }\r\n\r\n  const renderMessageOptions = useCallback(() => {\r\n    return (\r\n      <MessageOptions\r\n        ref={messageOptionsRef}\r\n        recipientId={recipientId}\r\n        message={selectedMessage.message}\r\n        isMessageOwner={selectedMessage.isMessageOwner}\r\n        onReply={() => {\r\n          messageOptionsRef?.current?.close();\r\n          setTimeout(() => {\r\n            setActiveQuote(selectedMessage);\r\n            inputRef.current?.focus();\r\n          }, 500);\r\n        }}\r\n        onStartEditing={() => {\r\n          messageOptionsRef?.current?.close();\r\n          setIsEditing(true);\r\n\r\n          setTimeout(() => {\r\n            inputRef?.current?.focus();\r\n            setGlobalTextMessage(selectedMessage.message?.message || \"\");\r\n          }, 500);\r\n        }}\r\n        theme={theme}\r\n        openEmojiList={() => {\r\n          displayModal({\r\n            children: <EmojiListModal \r\n            message={selectedMessage.message}\r\n            recipientId={recipientId}\r\n            theme={theme}\r\n            />\r\n          })\r\n        }}\r\n      />\r\n    );\r\n  }, [\r\n    selectedMessage,\r\n    recipientId,\r\n    messageOptionsRef,\r\n    inputRef,\r\n    messageOptionsRef,\r\n    setIsEditing,\r\n    theme,\r\n  ]);\r\n\r\n  const messageListHeader = useCallback(() => {\r\n    return (\r\n      <View style={{ width: \"100%\" }}>\r\n        {pendingMessages\r\n          .filter((message) => message.conversationId === conversationId)\r\n          .map((message, index) => (\r\n            <ChatItem\r\n              key={index}\r\n              ref={null}\r\n              onScrollToIndex={(messageId) => {}}\r\n              layout={layout}\r\n              onLongPress={({ message, chatItemRef, isMessageOwner }) => {}}\r\n              inputRef={inputRef}\r\n              position={chatUserId === message.from ? \"right\" : \"left\"}\r\n              message={message as Message}\r\n              onSelectedMessage={({ message, chatItemRef }) => {}}\r\n              conversation={activeConversation.conversation}\r\n              chatUserId={chatUserId}\r\n              recipientId={recipientId}\r\n              renderChatBubble={renderChatBubble}\r\n              isPending={true}\r\n            />\r\n          ))}\r\n      </View>\r\n    );\r\n  }, [loadingMessages, pendingMessages, theme]);\r\n\r\n  const renderChatItem = useCallback(\r\n    ({ item, index }: { item: string | Message; index: number }) => {\r\n      if (typeof item === \"string\") {\r\n        if (layout !== \"stacked\") {\r\n          return (\r\n            <View\r\n              style={{\r\n                alignSelf: \"center\",\r\n                padding: 5,\r\n                marginTop: 5,\r\n                backgroundColor: theme?.background.secondary,\r\n                borderRadius: 10,\r\n                marginBottom: 20,\r\n              }}\r\n            >\r\n              <Text\r\n                style={{\r\n                  textAlign: \"center\",\r\n                  paddingHorizontal: 5,\r\n                  color: theme?.text.secondary,\r\n                  fontSize: 11,\r\n                  fontFamily: fontFamily || undefined,\r\n                }}\r\n              >\r\n                {item}\r\n              </Text>\r\n            </View>\r\n          );\r\n        }\r\n        return (\r\n          <View\r\n            style={{\r\n              flexDirection: \"row\",\r\n              alignItems: \"center\",\r\n              paddingVertical: 20,\r\n              backgroundColor: theme?.background.primary,\r\n            }}\r\n          >\r\n            <View\r\n              style={{\r\n                height: 1,\r\n                width: \"100%\",\r\n                flex: 1,\r\n                backgroundColor: theme?.divider,\r\n              }}\r\n            />\r\n            <Text\r\n              style={{\r\n                textAlign: \"center\",\r\n                paddingHorizontal: 15,\r\n                color: theme?.text.secondary,\r\n                fontSize: 11,\r\n                fontFamily: fontFamily || undefined,\r\n              }}\r\n            >\r\n              {item}\r\n            </Text>\r\n            <View\r\n              style={{\r\n                height: 1,\r\n                width: \"100%\",\r\n                flex: 1,\r\n                backgroundColor: theme?.divider,\r\n              }}\r\n            />\r\n          </View>\r\n        );\r\n      }\r\n\r\n      return (\r\n        <ChatItem\r\n          ref={refMap[item.messageId]?.ref}\r\n          onScrollToIndex={(messageId) => {\r\n            onScrollToMessage(messageId);\r\n          }}\r\n          layout={layout}\r\n          onLongPress={({ message, chatItemRef, isMessageOwner }) => {\r\n            activeConversation.conversation.conversationType !== \"admin-chat\"\r\n            ? onChatItemLongPress(message, chatItemRef, isMessageOwner)\r\n            : null\r\n          }\r\n           \r\n          }\r\n          inputRef={inputRef}\r\n          position={chatUserId === item.from ? \"right\" : \"left\"}\r\n          message={item}\r\n          onSelectedMessage={({ message, chatItemRef }) => {\r\n            setActiveQuote({ message, ref: chatItemRef, itemIndex: index });\r\n          }}\r\n          threaded={threaded(item, index)}\r\n          conversation={activeConversation.conversation}\r\n          chatUserId={chatUserId}\r\n          recipientId={recipientId}\r\n          renderChatBubble={renderChatBubble}\r\n        />\r\n      );\r\n    },\r\n    [activeConversation, renderChatBubble, refMap, theme, layout]\r\n  );\r\n\r\n  const renderPlaceholder = useCallback(() => {\r\n    if (placeholder) return placeholder;\r\n    return (\r\n      <View\r\n        style={{\r\n          flex: 1,\r\n          height: Dimensions.get(\"window\").height,\r\n          alignItems: \"center\",\r\n          justifyContent: \"center\",\r\n        }}\r\n      >\r\n        <MessagePlus size={100} color={theme?.icon} />\r\n        <Text\r\n          style={{\r\n            color: theme?.text.disabled,\r\n            marginTop: 20 * fontScale,\r\n            fontFamily: fontFamily || undefined,\r\n          }}\r\n        >\r\n          Start by sending a message.\r\n        </Text>\r\n      </View>\r\n    );\r\n  }, [placeholder, fontScale]);\r\n\r\n  const chatInputProps: ChatInputRenderProps = {\r\n    // sendMessage: (externalInputRef: RefObject<TextInput>) =>\r\n    //   isEditing ? sendEditedMessage(externalInputRef) : sendMessage(),\r\n    sendMessage: (externalInputRef: RefObject<TextInput>) =>\r\n      send(externalInputRef),\r\n    value: globalTextMessage,\r\n    onValueChange: setGlobalTextMessage,\r\n    openMediaOptions: (externalInputRef: RefObject<TextInput>) => {\r\n      mediaOptionsRef?.current?.open();\r\n      externalInputRef?.current?.blur();\r\n    },\r\n    openEmojis,\r\n    onStopEditing: () => {\r\n      setIsEditing(false);\r\n      clearSelectedMessage();\r\n    },\r\n    isRecording: recording !== undefined,\r\n    audioDuration: audioTime,\r\n    onDeleteRecording: deleteRecording,\r\n    onStartRecording: startRecording,\r\n    meteringProgress: audioWaves,\r\n    isEditing,\r\n    sendVoiceMessage: () => sendVoiceMessage(),\r\n    isLoading: connectionStatus.connecting || loadingMessages,\r\n  };\r\n\r\n  // const [ modal, showModal ] = useState(false)\r\n\r\n  // return (\r\n  //   <GestureHandlerRootView\r\n  //   style={{\r\n  //     ...styles.main,\r\n  //     backgroundColor: theme?.background.primary,\r\n  //   }}\r\n  // >\r\n  //   <View>\r\n  //        <Modal visible={modal} style={{ flex: 1 }}>\r\n  //       <View style={{ flex: 1, height: '100%', width: '100%', backgroundColor: 'red' }}>\r\n  //         <Text>sdfsdf</Text>\r\n  //       </View>\r\n  //     </Modal> \r\n  //     <TouchableOpacity onPress={() => showModal(true)} style={{ padding: 10, backgroundColor: 'red' }}>\r\n  //       <Text>cliek me</Text>\r\n  //     </TouchableOpacity>\r\n  //        <EmojiSheet\r\n  //       ref={emojiListRef}\r\n  //       openKeyboard={() => inputRef?.current?.focus()}\r\n  //       sendSticker={sendMessage}\r\n  //       recipientId={recipientId}\r\n  //     />\r\n  //     <MediaOptions\r\n  //       conversationId={conversationId}\r\n  //       clearActiveQuote={clearSelectedMessage}\r\n  //       activeQuote={activeQuote?.message}\r\n  //       ref={mediaOptionsRef}\r\n  //       chatUserId={client?.chatUserId as string}\r\n  //       recipientId={recipientId}\r\n  //     />\r\n  //     <>{renderMessageOptions()}</>\r\n  //   </View>\r\n  // </GestureHandlerRootView>\r\n\r\n  \r\n  // )\r\n\r\n  return (\r\n    <GestureHandlerRootView\r\n      style={{\r\n        ...styles.main,\r\n        backgroundColor: theme?.background.primary,\r\n      }}\r\n    >\r\n      <ChatHeader\r\n        conversation={activeConversation.conversation}\r\n        chatUserId={chatUserId}\r\n        renderChatHeader={renderChatHeader}\r\n        isTyping={isTyping}\r\n      />\r\n      {/* <Button title=\"oepner\"  \r\n      onPress={() => {\r\n    messageOptionsRef?.current?.open();\r\n      }}\r\n      /> */}\r\n      <KeyboardAvoiding keyboardOffset={keyboardOffset}>\r\n        {messages.length === 0 ? (\r\n          renderPlaceholder()\r\n        ) : (\r\n          <View\r\n            style={{\r\n              flex: 1,\r\n              height: \"100%\",\r\n            }}\r\n          >\r\n            <FlashList\r\n              ref={scrollRef}\r\n              inverted\r\n              // onScroll={() => (isScrolling ? null : onStartedScrolling())}\r\n              data={messages}\r\n              keyExtractor={(_, index) => index.toString()}\r\n              renderItem={renderChatItem}\r\n              refreshControl={\r\n                <RefreshControl refreshing={false} onRefresh={getMessages} />\r\n              }\r\n              showsVerticalScrollIndicator={false}\r\n              ListHeaderComponent={messageListHeader}\r\n              ListFooterComponent={() => (\r\n                <View\r\n                  style={{\r\n                    display: loadingOlderMessages ? \"flex\" : \"none\",\r\n                    paddingVertical: 10,\r\n                    alignItems: \"center\",\r\n                    justifyContent: \"center\",\r\n                  }}\r\n                >\r\n                  <Text\r\n                    style={{\r\n                      color: theme?.text.disabled,\r\n                      fontFamily: fontFamily || undefined,\r\n                    }}\r\n                  >\r\n                    Loading older messages...\r\n                  </Text>\r\n                </View>\r\n              )}\r\n              contentContainerStyle={{\r\n                paddingTop: 0,\r\n              }}\r\n              estimatedItemSize={200}\r\n              onEndReached={() => {\r\n                getOlderMessages();\r\n              }}\r\n            />\r\n          </View>\r\n        )}\r\n\r\n        <View>\r\n          {activeQuote.message && (\r\n            <SelectedMessage\r\n              scrollRef={scrollRef}\r\n              message={activeQuote.message}\r\n              messageRef={activeQuote.ref}\r\n              itemIndex={activeQuote.itemIndex}\r\n              onClear={clearSelectedMessage}\r\n            />\r\n          )}\r\n          {activeConversation.conversation.conversationType === \"admin-chat\" ? (\r\n            <View\r\n              style={{\r\n                height: 50,\r\n                width: \"100%\",\r\n                borderTopWidth: 1,\r\n                borderTopColor: theme?.divider,\r\n                alignItems: \"center\",\r\n                flexDirection: \"row\",\r\n                justifyContent: \"center\",\r\n              }}\r\n            >\r\n              <LockIcon size={15} color={theme?.icon} />\r\n              <Text\r\n                style={{\r\n                  marginStart: 5,\r\n                  fontFamily: fontFamily || undefined,\r\n                  fontSize: 14 * fontScale,\r\n                  color: theme?.text.disabled,\r\n                }}\r\n              >\r\n                Only the Admin can send messages.\r\n              </Text>\r\n            </View>\r\n          ) : (\r\n            <View>\r\n              <>\r\n                {renderChatInput ? (\r\n                  renderChatInput(chatInputProps)\r\n                ) : (\r\n                  <ChatInput\r\n                    openEmojis={openEmojis}\r\n                    inputRef={inputRef}\r\n                    mediaOptionsRef={mediaOptionsRef}\r\n                    sendMessage={() => {\r\n                      if (isEditing) {\r\n                        return sendEditedMessage();\r\n                      } else if (\r\n                        activeConversation.conversation.conversationType ===\r\n                        \"broadcast-chat\"\r\n                      ) {\r\n                        return broadcastMessage();\r\n                      }\r\n                      sendMessage();\r\n                    }}\r\n                    isLoading={connectionStatus.connecting || loadingMessages}\r\n                    conversationId={conversationId || \"\"}\r\n                    chatUserId={chatUserId}\r\n                    recipientId={recipientId}\r\n                    // selectedMessage={activeQuote}\r\n                    value={globalTextMessage}\r\n                    audioWaves={audioWaves}\r\n                    audioTime={audioTime}\r\n                    setValue={setGlobalTextMessage}\r\n                    onStopEditing={() => {\r\n                      setIsEditing(false);\r\n                      clearSelectedMessage();\r\n                    }}\r\n                    isEditing={isEditing}\r\n                    sendVoiceMessage={() => sendVoiceMessage()}\r\n                    onStartRecording={() => startRecording()}\r\n                    onDeleteRecording={() => deleteRecording()}\r\n                    isRecording={recording !== undefined}\r\n                  />\r\n                )}\r\n              </>\r\n            </View>\r\n          )}\r\n        </View>\r\n      </KeyboardAvoiding>\r\n      <EmojiSheet\r\n        ref={emojiListRef}\r\n        message={selectedMessage.message}\r\n        recipientId={recipientId}\r\n        theme={theme}\r\n      />\r\n      <MediaOptions\r\n        conversationId={conversationId}\r\n        clearActiveQuote={clearSelectedMessage}\r\n        activeQuote={activeQuote?.message}\r\n        ref={mediaOptionsRef}\r\n        chatUserId={client?.chatUserId as string}\r\n        recipientId={recipientId}\r\n      />\r\n      <>{renderMessageOptions()}</>\r\n      {/* <Modal visible style={{ flex: 1 }}>\r\n        <View style={{ flex: 1, height: '100%', width: '100%', backgroundColor: 'red' }}>\r\n          <Text>sdfsdf</Text>\r\n        </View>\r\n      </Modal> */}\r\n    </GestureHandlerRootView>\r\n  );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n  main: {\r\n    flex: 1,\r\n    height: \"100%\",\r\n    width: \"100%\",\r\n    paddingBottom: Platform.OS === \"android\" ? 0 : 20,\r\n  },\r\n});\r\n","import React, {\r\n  forwardRef,\r\n  useCallback,\r\n  useEffect,\r\n  useState,\r\n} from \"react\";\r\nimport {\r\n  StyleSheet,\r\n  View,\r\n  TextInput,\r\n  Platform,\r\n  Text,\r\n  TouchableWithoutFeedback,\r\n  Dimensions,\r\n  TouchableOpacity,\r\n} from \"react-native\";\r\nimport Animated, {\r\n  useAnimatedStyle,\r\n  useSharedValue,\r\n  withSpring,\r\n  interpolate,\r\n  Extrapolation,\r\n  useAnimatedReaction,\r\n  runOnJS,\r\n} from \"react-native-reanimated\";\r\nimport { Gesture, GestureDetector } from \"react-native-gesture-handler\";\r\nimport {\r\n  AttachmentTypes,\r\n  Conversation,\r\n  MediaType,\r\n  MessageStates,\r\n  Message,\r\n  generateId\r\n} from \"softchatjs-core\";\r\nimport {\r\n  ClockIcon,\r\n  DoubleCheck,\r\n  ErrorIcon,\r\n  ReplyIcon,\r\n  SingleCheck,\r\n} from \"../../../assets/icons\";\r\nimport { Colors } from \"../../../constants/Colors\";\r\nimport Haptics from \"../../../helpers/haptics\";\r\nimport Stacked from \"./Layouts/Stacked\";\r\nimport Default from \"./Layouts/Default\";\r\nimport { useConfig } from \"../../../contexts/ChatProvider\";\r\nimport { useMessageState } from \"../../../contexts/MessageStateContext\";\r\nimport { ChatBubbleRenderProps } from \"../../../types\";\r\n\r\ntype OnSelectedMessage = {\r\n  message: Message;\r\n  chatItemRef: React.MutableRefObject<View | undefined>;\r\n};\r\n\r\ntype ChatItemProps = {\r\n  inputRef: React.RefObject<TextInput>;\r\n  position: \"left\" | \"right\";\r\n  onSelectedMessage: ({ message, chatItemRef }: OnSelectedMessage) => void;\r\n  message: Message;\r\n  conversation: Conversation | null;\r\n  onLongPress: (data: OnSelectedMessage & { isMessageOwner: boolean }) => void;\r\n  chatUserId: string;\r\n  recipientId: string;\r\n  renderChatBubble?: (props: ChatBubbleRenderProps) => void;\r\n  layout?: \"stacked\";\r\n  onScrollToIndex: (messageId: string) => void;\r\n  isPending?: boolean,\r\n  threaded?: boolean\r\n};\r\n\r\nexport const ChatItem = forwardRef((props: ChatItemProps, ref: any) => {\r\n  const {\r\n    layout,\r\n    inputRef,\r\n    position,\r\n    message,\r\n    onSelectedMessage,\r\n    conversation,\r\n    onLongPress,\r\n    chatUserId,\r\n    recipientId,\r\n    renderChatBubble,\r\n    onScrollToIndex,\r\n    isPending,\r\n    threaded\r\n  } = props;\r\n  const { client } = useConfig();\r\n  const pressed = useSharedValue(false);\r\n  const offset = useSharedValue(0);\r\n  const [finished, setFinished] = React.useState(false);\r\n  const [threshHoldReached, setThreshHoldReached] = React.useState(false);\r\n  const [messageState, setMessageState] = useState<MessageStates>(\r\n    MessageStates.LOADING\r\n  );\r\n  const { removePendingMessage, updatePendingMessage } = useMessageState();\r\n\r\n  const touchStart = useSharedValue({ x: 0, y: 0, time: 0 });\r\n  const touchStartX = useSharedValue(0);\r\n  const isDragging = useSharedValue(false);\r\n  const maxThreshHold = -90;\r\n  const TOUCH_SLOP = Platform.OS === \"android\" ? 40 : 10;\r\n  const DISTANCE_TO_ACTIVATE_PAN = 70\r\n  const deviceWidth = Dimensions.get(\"window\").width;\r\n\r\n  const pan = Gesture.Pan()\r\n  .enabled(false)\r\n  // .enabled(conversation.conversationType !== \"admin-chat\")\r\n  .minDistance(DISTANCE_TO_ACTIVATE_PAN)\r\n  .onTouchesDown((e, state) => {\r\n    'worklet';\r\n    touchStart.value = {\r\n      x: e.changedTouches[0].x,\r\n      y: e.changedTouches[0].y,\r\n      time: Date.now(),\r\n    };\r\n  })\r\n  .onTouchesMove((e, state) => {\r\n    'worklet';\r\n    if (messageState < MessageStates.SENT) {\r\n      return;\r\n    }\r\n    touchStartX.value = e.changedTouches[0].x;\r\n    if (e.changedTouches[0].x + TOUCH_SLOP < touchStart.value.x) {\r\n      state.activate();\r\n    }\r\n  })\r\n  .onTouchesUp((e, state) => {\r\n    'worklet';\r\n    touchStartX.value = 0;\r\n    state.fail();\r\n  })\r\n  .onUpdate((e) => {\r\n    'worklet';\r\n    if (Math.abs(e.translationX) < deviceWidth * (30 / 100)) {\r\n      offset.value = e.translationX;\r\n    }\r\n  })\r\n  .onFinalize(() => {\r\n    'worklet';\r\n    isDragging.value = false;\r\n    offset.value = withSpring(0, {\r\n      damping: 100,\r\n    });\r\n    pressed.value = false;\r\n  });\r\n\r\n  const animatedStyles = useAnimatedStyle(() => ({\r\n    transform: [{ translateX: offset.value < -1 ? offset.value : 0 }],\r\n  }));\r\n\r\n  const shareStyle = useAnimatedStyle(() => ({\r\n    opacity: interpolate(\r\n      offset.value,\r\n      [-30, -100],\r\n      [0, 1],\r\n      Extrapolation.CLAMP\r\n    ),\r\n    transform: [\r\n      {\r\n        translateX: interpolate(\r\n          offset.value,\r\n          [-1, -100],\r\n          [-1, -50],\r\n          Extrapolation.CLAMP\r\n        ),\r\n      },\r\n      {\r\n        scale: interpolate(\r\n          offset.value,\r\n          [-30, -50],\r\n          [0, 1],\r\n          Extrapolation.CLAMP\r\n        ),\r\n      },\r\n    ] as any,\r\n  }));\r\n\r\n  useAnimatedReaction(\r\n    () => {\r\n      return {\r\n        offsetValue: offset.value,\r\n        pressedValue: pressed.value,\r\n        touchValue: touchStart.value,\r\n      };\r\n    },\r\n    (result, previous) => {\r\n      var value = Math.ceil(result.offsetValue);\r\n      var value2 = result.pressedValue;\r\n      if (value < maxThreshHold + 10) {\r\n        runOnJS(setThreshHoldReached)(true);\r\n        runOnJS(setFinished)(!value2);\r\n      } else {\r\n        runOnJS(setFinished)(false);\r\n        runOnJS(setThreshHoldReached)(false);\r\n      }\r\n    }\r\n  );\r\n\r\n  const uploadAttachment = async () => {\r\n    try {\r\n      if(client && conversation){\r\n        var media =  message.attachedMedia[0];\r\n        const res = await client.messageClient(conversation?.conversationId).uploadFile(\r\n          media.mediaUrl,\r\n          {\r\n            filename: `${generateId()}${media.ext}`,\r\n            mimeType: media.mimeType as string,\r\n            ext: media.ext\r\n          }\r\n        )\r\n        if(res.success){\r\n          removePendingMessage(message.messageId);\r\n          if(conversation.conversationType !== \"broadcast-chat\"){\r\n            client.messageClient(conversation?.conversationId).sendMessage({\r\n              ...message,\r\n              attachedMedia: [\r\n                {\r\n                  ...media,\r\n                  uploading: false,\r\n                  mediaUrl: res.link,\r\n                }\r\n              ],\r\n            });\r\n          }else{\r\n            client.messageClient(conversation?.conversationId).broadcastMessage({\r\n              broadcastListId: conversation?.conversationId,\r\n              participantsIds: conversation.participants,\r\n              newMessage: {\r\n                ...message,\r\n                attachedMedia: [\r\n                  {\r\n                    ...media,\r\n                    uploading: false,\r\n                    mediaUrl: res.link,\r\n                  }\r\n                ],\r\n              }\r\n            });\r\n          }\r\n        \r\n        }else{\r\n          throw new Error('upload failed');\r\n        }\r\n      }else{\r\n        throw new Error(\"Client not initialized\")\r\n      }\r\n    } catch (error) {\r\n      updatePendingMessage(message.messageId, { ...message, messageState: MessageStates.FAILED });\r\n    }\r\n  }\r\n\r\n  const retryUpload = () => {\r\n    updatePendingMessage(message.messageId, { ...message, messageState: MessageStates.LOADING });\r\n  }\r\n\r\n  useEffect(() => {\r\n    if(isPending && message.messageState !== MessageStates.FAILED){\r\n      uploadAttachment();\r\n    }\r\n  },[ isPending, message ])\r\n\r\n  useEffect(() => {\r\n    if (finished) {\r\n      onSelectedMessage({ message, chatItemRef: ref });\r\n      inputRef.current?.focus();\r\n      Haptics.medium();\r\n    }\r\n  }, [finished]);\r\n\r\n\r\n  const renderStateIcon = useCallback((color: string) => {\r\n    switch (message.messageState) {\r\n      case MessageStates.FAILED:\r\n        return <ErrorIcon size={18} color={color} />;\r\n      case MessageStates.LOADING:\r\n        return <ClockIcon size={12} color={color} />;\r\n      case MessageStates.SENT:\r\n        return <SingleCheck color={color} />;\r\n      case MessageStates.READ:\r\n        return <DoubleCheck color={color} />;\r\n      default:\r\n        return <ClockIcon size={12} color={color} />;\r\n    }\r\n  }, [message]);\r\n\r\n  const getLayout = () => {\r\n    if (layout === \"stacked\") {\r\n      return <Stacked \r\n        message={message} \r\n        animatedStyles={animatedStyles}\r\n        renderStateIcon={renderStateIcon}\r\n        chatUserId={chatUserId}\r\n        recipientId={recipientId}\r\n        myMessage={position === 'right'}\r\n        onScrollToIndex={(messageId) => onScrollToIndex(messageId)}\r\n        isPending={isPending}\r\n        retryUpload={retryUpload}\r\n       />;\r\n    }\r\n    return <Default \r\n      message={message} \r\n      animatedStyles={animatedStyles}\r\n      position={position}\r\n      conversationType={conversation?.conversationType || 'private-chat'}\r\n      renderStateIcon={renderStateIcon}\r\n      chatUserId={chatUserId}\r\n      recipientId={recipientId}\r\n      onScrollToIndex={(messageId) => onScrollToIndex(messageId)}\r\n      isPending={isPending}\r\n      threaded={threaded}\r\n      retryUpload={retryUpload}\r\n    />\r\n  };\r\n\r\n  return (\r\n    <View ref={ref} style={{ flex: 1, marginBottom: 10 }}>\r\n      {/* <GestureDetector gesture={pan}> */}\r\n        <TouchableOpacity\r\n        activeOpacity={.8}\r\n          onLongPress={() => {\r\n            console.log('sfsdfs');\r\n            onLongPress({\r\n              message,\r\n              chatItemRef: ref,\r\n              isMessageOwner: position === \"right\",\r\n            })\r\n          }\r\n           \r\n          }\r\n          \r\n        >\r\n          {/* <View\r\n            style={[\r\n              {\r\n                maxWidth: \"100%\",\r\n                marginBottom: renderChatBubble !== undefined ? 0 : 0,\r\n                flexDirection: \"row\",\r\n                alignItems: \"center\",\r\n                justifyContent: \"space-between\",\r\n              },\r\n              layout === \"stacked\" && { marginBottom: 0 },\r\n              position === \"right\" ? { justifyContent: 'flex-end' } : { justifyContent: \"flex-start\" }\r\n            ]}\r\n          >\r\n            <>{renderChatBubble? renderChatBubble({\r\n              message\r\n            }) : getLayout()}</>\r\n            <Animated.View\r\n              style={[\r\n                styles.reply,\r\n                { right: -20, position: \"absolute\" },\r\n                shareStyle,\r\n              ]}\r\n            >\r\n              <ReplyIcon />\r\n            </Animated.View>\r\n          </View> */}\r\n          {/* <Text>{message?.message}</Text> */}\r\n          <Default \r\n      message={message} \r\n      animatedStyles={animatedStyles}\r\n      position={position}\r\n      conversationType={conversation?.conversationType || 'private-chat'}\r\n      renderStateIcon={renderStateIcon}\r\n      chatUserId={chatUserId}\r\n      recipientId={recipientId}\r\n      onScrollToIndex={(messageId) => onScrollToIndex(messageId)}\r\n      isPending={isPending}\r\n      threaded={threaded}\r\n      retryUpload={retryUpload}\r\n    />\r\n        </TouchableOpacity>\r\n      {/* </GestureDetector> */}\r\n    </View>\r\n  );\r\n})\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n  container: {\r\n    flex: 1,\r\n    width: \"100%\",\r\n    alignItems: \"center\",\r\n    justifyContent: \"center\",\r\n\r\n    height: \"100%\",\r\n  },\r\n  circle: {\r\n    backgroundColor: \"white\",\r\n    flexDirection: \"row\",\r\n    justifyContent: \"space-between\",\r\n    alignItems: \"center\",\r\n  },\r\n  reply: {\r\n    height: 40,\r\n    width: 40,\r\n    alignItems: \"center\",\r\n    justifyContent: \"center\",\r\n    borderRadius: 40,\r\n    backgroundColor: Colors.greyLighter,\r\n  },\r\n  chatContainer: {\r\n    flexGrow: 1,\r\n    paddingBottom: 20, // Adjust as needed\r\n  },\r\n  inputContainer: {\r\n    flexDirection: \"row\",\r\n    alignItems: \"center\",\r\n    paddingHorizontal: 10,\r\n    paddingVertical: 5,\r\n    borderTopWidth: 1,\r\n    borderTopColor: \"#CCCCCC\",\r\n  },\r\n  messageTime: {\r\n    fontSize: 13,\r\n    color: \"grey\",\r\n  },\r\n  input: {\r\n    flex: 1,\r\n    height: 40, // Adjust as needed\r\n    borderWidth: 1,\r\n    borderRadius: 20,\r\n    paddingHorizontal: 15,\r\n  },\r\n});\r\n","import React from \"react\";\r\nimport { View } from \"react-native\";\r\nimport { Svg, Path, G, Defs, ClipPath, Rect } from \"react-native-svg\";\r\n\r\ntype Icon = {\r\n  size?: number;\r\n  color?: string;\r\n};\r\n\r\nexport function XIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M6 18L17.94 6M18 18L6.06 6\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function TimesIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return <XIcon size={size} color={color} />;\r\n}\r\n\r\nexport function CloseIcon(props: Icon & { bgColor: string }) {\r\n  const { size = 25, color = \"black\", bgColor } = props;\r\n  return (\r\n    <View\r\n      style={{ padding: 3, borderRadius: size * 2, backgroundColor: bgColor }}\r\n    >\r\n      <TimesIcon size={size} color={color} />\r\n    </View>\r\n  );\r\n}\r\n\r\nexport function EmojiIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M12 17.5C14.33 17.5 16.3 16.04 17.11 14H6.89C7.69 16.04 9.67 17.5 12 17.5ZM8.5 11C8.89782 11 9.27936 10.842 9.56066 10.5607C9.84196 10.2794 10 9.89782 10 9.5C10 9.10218 9.84196 8.72064 9.56066 8.43934C9.27936 8.15804 8.89782 8 8.5 8C8.10218 8 7.72064 8.15804 7.43934 8.43934C7.15804 8.72064 7 9.10218 7 9.5C7 9.89782 7.15804 10.2794 7.43934 10.5607C7.72064 10.842 8.10218 11 8.5 11ZM15.5 11C15.8978 11 16.2794 10.842 16.5607 10.5607C16.842 10.2794 17 9.89782 17 9.5C17 9.10218 16.842 8.72064 16.5607 8.43934C16.2794 8.15804 15.8978 8 15.5 8C15.1022 8 14.7206 8.15804 14.4393 8.43934C14.158 8.72064 14 9.10218 14 9.5C14 9.89782 14.158 10.2794 14.4393 10.5607C14.7206 10.842 15.1022 11 15.5 11ZM12 20C9.87827 20 7.84344 19.1571 6.34315 17.6569C4.84285 16.1566 4 14.1217 4 12C4 9.87827 4.84285 7.84344 6.34315 6.34315C7.84344 4.84285 9.87827 4 12 4C14.1217 4 16.1566 4.84285 17.6569 6.34315C19.1571 7.84344 20 9.87827 20 12C20 14.1217 19.1571 16.1566 17.6569 17.6569C16.1566 19.1571 14.1217 20 12 20ZM12 2C6.47 2 2 6.5 2 12C2 14.6522 3.05357 17.1957 4.92893 19.0711C5.85752 19.9997 6.95991 20.7362 8.17317 21.2388C9.38642 21.7413 10.6868 22 12 22C14.6522 22 17.1957 20.9464 19.0711 19.0711C20.9464 17.1957 22 14.6522 22 12C22 10.6868 21.7413 9.38642 21.2388 8.17317C20.7362 6.95991 19.9997 5.85752 19.0711 4.92893C18.1425 4.00035 17.0401 3.26375 15.8268 2.7612C14.6136 2.25866 13.3132 2 12 2Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function SendIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        fill-rule=\"evenodd\"\r\n        clip-rule=\"evenodd\"\r\n        d=\"M9.94011 12.646L7.69211 11.897C5.33911 11.113 4.16211 10.721 4.16211 9.99998C4.16211 9.27998 5.33911 8.88698 7.69211 8.10298L16.2051 5.26498C17.8611 4.71298 18.6891 4.43698 19.1261 4.87398C19.5631 5.31098 19.2871 6.13898 18.7361 7.79398L15.8971 16.308C15.1131 18.661 14.7211 19.838 14.0001 19.838C13.2801 19.838 12.8871 18.661 12.1031 16.308L11.3531 14.061L15.7071 9.70698C15.8893 9.51838 15.9901 9.26578 15.9878 9.00358C15.9855 8.74138 15.8803 8.49057 15.6949 8.30516C15.5095 8.11976 15.2587 8.01459 14.9965 8.01231C14.7343 8.01003 14.4817 8.11082 14.2931 8.29298L9.94011 12.646Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function AttachmentIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M21.4381 11.662L12.2481 20.852C11.1222 21.9778 9.59528 22.6103 8.00309 22.6103C6.41091 22.6103 4.88394 21.9778 3.75809 20.852C2.63225 19.7261 1.99976 18.1992 1.99976 16.607C1.99976 15.0148 2.63225 13.4878 3.75809 12.362L12.9481 3.17198C13.6987 2.42142 14.7166 1.99976 15.7781 1.99976C16.8395 1.99976 17.8575 2.42142 18.6081 3.17198C19.3587 3.92254 19.7803 4.94052 19.7803 6.00198C19.7803 7.06344 19.3587 8.08142 18.6081 8.83198L9.40809 18.022C9.22227 18.2078 9.00167 18.3552 8.75889 18.4558C8.5161 18.5563 8.25588 18.6081 7.99309 18.6081C7.7303 18.6081 7.47009 18.5563 7.2273 18.4558C6.98451 18.3552 6.76391 18.2078 6.57809 18.022C6.39227 17.8362 6.24487 17.6156 6.14431 17.3728C6.04374 17.13 5.99198 16.8698 5.99198 16.607C5.99198 16.3442 6.04374 16.084 6.14431 15.8412C6.24487 15.5984 6.39227 15.3778 6.57809 15.192L15.0681 6.71198\"\r\n        stroke={color}\r\n        strokeWidth=\"1.5\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function MicIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 256 256\" fill=\"none\">\r\n      <Path\r\n        d=\"M128 176C140.726 175.987 152.928 170.925 161.927 161.927C170.925 152.928 175.987 140.726 176 128V64C176 51.2696 170.943 39.0606 161.941 30.0589C152.939 21.0571 140.73 16 128 16C115.27 16 103.061 21.0571 94.0589 30.0589C85.0571 39.0606 80 51.2696 80 64V128C80.0132 140.726 85.0746 152.928 94.0735 161.927C103.072 170.925 115.274 175.987 128 176ZM96 64C96 55.5131 99.3714 47.3737 105.373 41.3726C111.374 35.3714 119.513 32 128 32C136.487 32 144.626 35.3714 150.627 41.3726C156.629 47.3737 160 55.5131 160 64V128C160 136.487 156.629 144.626 150.627 150.627C144.626 156.629 136.487 160 128 160C119.513 160 111.374 156.629 105.373 150.627C99.3714 144.626 96 136.487 96 128V64ZM136 207.6V232C136 234.122 135.157 236.157 133.657 237.657C132.157 239.157 130.122 240 128 240C125.878 240 123.843 239.157 122.343 237.657C120.843 236.157 120 234.122 120 232V207.6C100.276 205.593 81.9976 196.344 68.6984 181.641C55.3992 166.938 48.0244 147.825 48 128C48 125.878 48.8429 123.843 50.3431 122.343C51.8434 120.843 53.8783 120 56 120C58.1217 120 60.1566 120.843 61.6569 122.343C63.1571 123.843 64 125.878 64 128C64 144.974 70.7428 161.253 82.7452 173.255C94.7475 185.257 111.026 192 128 192C144.974 192 161.253 185.257 173.255 173.255C185.257 161.253 192 144.974 192 128C192 125.878 192.843 123.843 194.343 122.343C195.843 120.843 197.878 120 200 120C202.122 120 204.157 120.843 205.657 122.343C207.157 123.843 208 125.878 208 128C207.976 147.825 200.601 166.938 187.302 181.641C174.002 196.344 155.724 205.593 136 207.6Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function ReplyIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M8 9.8V10.7L9.7 11C12.3 11.4 14.2 12.4 15.6 13.7C13.9 13.2 12.1 12.9 10 12.9H8V14.2L5.8 12L8 9.8ZM10 5L3 12L10 19V14.9C15 14.9 18.5 16.5 21 20C20 15 17 10 10 9\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function SearchIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 18 18\" fill=\"none\">\r\n      <Path\r\n        d=\"M7.76999 15.3C6.2807 15.3 4.82485 14.8584 3.58655 14.031C2.34825 13.2036 1.38311 12.0275 0.813181 10.6516C0.243253 9.27567 0.0941338 7.76164 0.38468 6.30096C0.675227 4.84029 1.39239 3.49857 2.44548 2.44548C3.49857 1.39239 4.84029 0.675227 6.30096 0.38468C7.76164 0.0941338 9.27567 0.243253 10.6516 0.813181C12.0275 1.38311 13.2036 2.34825 14.031 3.58655C14.8584 4.82485 15.3 6.2807 15.3 7.76999C15.3 8.75885 15.1052 9.73802 14.7268 10.6516C14.3484 11.5652 13.7937 12.3953 13.0945 13.0945C12.3953 13.7937 11.5652 14.3484 10.6516 14.7268C9.73802 15.1052 8.75885 15.3 7.76999 15.3ZM7.76999 1.74999C6.58331 1.74999 5.42327 2.10189 4.43657 2.76118C3.44988 3.42046 2.68084 4.35754 2.22672 5.45389C1.77259 6.55025 1.65377 7.75665 1.88528 8.92054C2.11679 10.0844 2.68824 11.1535 3.52735 11.9926C4.36647 12.8317 5.43556 13.4032 6.59945 13.6347C7.76334 13.8662 8.96974 13.7474 10.0661 13.2933C11.1625 12.8391 12.0995 12.0701 12.7588 11.0834C13.4181 10.0967 13.77 8.93668 13.77 7.74999C13.77 6.15869 13.1379 4.63257 12.0126 3.50735C10.8874 2.38213 9.36129 1.74999 7.76999 1.74999Z\"\r\n        fill={color}\r\n      />\r\n      <Path\r\n        d=\"M17 17.75C16.9014 17.7504 16.8038 17.7312 16.7128 17.6934C16.6218 17.6557 16.5392 17.6001 16.47 17.53L12.34 13.4C12.2075 13.2578 12.1354 13.0697 12.1388 12.8754C12.1422 12.6811 12.2209 12.4958 12.3583 12.3583C12.4958 12.2209 12.6811 12.1422 12.8754 12.1388C13.0697 12.1354 13.2578 12.2075 13.4 12.34L17.53 16.47C17.6704 16.6106 17.7493 16.8012 17.7493 17C17.7493 17.1987 17.6704 17.3893 17.53 17.53C17.4607 17.6001 17.3782 17.6557 17.2872 17.6934C17.1961 17.7312 17.0985 17.7504 17 17.75Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function KeyboardIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M7 9C7 9.26522 6.89464 9.51957 6.70711 9.70711C6.51957 9.89464 6.26522 10 6 10C5.73478 10 5.48043 9.89464 5.29289 9.70711C5.10536 9.51957 5 9.26522 5 9C5 8.73478 5.10536 8.48043 5.29289 8.29289C5.48043 8.10536 5.73478 8 6 8C6.26522 8 6.51957 8.10536 6.70711 8.29289C6.89464 8.48043 7 8.73478 7 9ZM7 12C7 12.2652 6.89464 12.5196 6.70711 12.7071C6.51957 12.8946 6.26522 13 6 13C5.73478 13 5.48043 12.8946 5.29289 12.7071C5.10536 12.5196 5 12.2652 5 12C5 11.7348 5.10536 11.4804 5.29289 11.2929C5.48043 11.1054 5.73478 11 6 11C6.26522 11 6.51957 11.1054 6.70711 11.2929C6.89464 11.4804 7 11.7348 7 12ZM10 12C10 12.2652 9.89464 12.5196 9.70711 12.7071C9.51957 12.8946 9.26522 13 9 13C8.73478 13 8.48043 12.8946 8.29289 12.7071C8.10536 12.5196 8 12.2652 8 12C8 11.7348 8.10536 11.4804 8.29289 11.2929C8.48043 11.1054 8.73478 11 9 11C9.26522 11 9.51957 11.1054 9.70711 11.2929C9.89464 11.4804 10 11.7348 10 12ZM10 9C10 9.26522 9.89464 9.51957 9.70711 9.70711C9.51957 9.89464 9.26522 10 9 10C8.73478 10 8.48043 9.89464 8.29289 9.70711C8.10536 9.51957 8 9.26522 8 9C8 8.73478 8.10536 8.48043 8.29289 8.29289C8.48043 8.10536 8.73478 8 9 8C9.26522 8 9.51957 8.10536 9.70711 8.29289C9.89464 8.48043 10 8.73478 10 9ZM13 9C13 9.26522 12.8946 9.51957 12.7071 9.70711C12.5196 9.89464 12.2652 10 12 10C11.7348 10 11.4804 9.89464 11.2929 9.70711C11.1054 9.51957 11 9.26522 11 9C11 8.73478 11.1054 8.48043 11.2929 8.29289C11.4804 8.10536 11.7348 8 12 8C12.2652 8 12.5196 8.10536 12.7071 8.29289C12.8946 8.48043 13 8.73478 13 9ZM13 12C13 12.2652 12.8946 12.5196 12.7071 12.7071C12.5196 12.8946 12.2652 13 12 13C11.7348 13 11.4804 12.8946 11.2929 12.7071C11.1054 12.5196 11 12.2652 11 12C11 11.7348 11.1054 11.4804 11.2929 11.2929C11.4804 11.1054 11.7348 11 12 11C12.2652 11 12.5196 11.1054 12.7071 11.2929C12.8946 11.4804 13 11.7348 13 12ZM16 9C16 9.26522 15.8946 9.51957 15.7071 9.70711C15.5196 9.89464 15.2652 10 15 10C14.7348 10 14.4804 9.89464 14.2929 9.70711C14.1054 9.51957 14 9.26522 14 9C14 8.73478 14.1054 8.48043 14.2929 8.29289C14.4804 8.10536 14.7348 8 15 8C15.2652 8 15.5196 8.10536 15.7071 8.29289C15.8946 8.48043 16 8.73478 16 9ZM16 12C16 12.2652 15.8946 12.5196 15.7071 12.7071C15.5196 12.8946 15.2652 13 15 13C14.7348 13 14.4804 12.8946 14.2929 12.7071C14.1054 12.5196 14 12.2652 14 12C14 11.7348 14.1054 11.4804 14.2929 11.2929C14.4804 11.1054 14.7348 11 15 11C15.2652 11 15.5196 11.1054 15.7071 11.2929C15.8946 11.4804 16 11.7348 16 12ZM19 9C19 9.26522 18.8946 9.51957 18.7071 9.70711C18.5196 9.89464 18.2652 10 18 10C17.7348 10 17.4804 9.89464 17.2929 9.70711C17.1054 9.51957 17 9.26522 17 9C17 8.73478 17.1054 8.48043 17.2929 8.29289C17.4804 8.10536 17.7348 8 18 8C18.2652 8 18.5196 8.10536 18.7071 8.29289C18.8946 8.48043 19 8.73478 19 9ZM19 12C19 12.2652 18.8946 12.5196 18.7071 12.7071C18.5196 12.8946 18.2652 13 18 13C17.7348 13 17.4804 12.8946 17.2929 12.7071C17.1054 12.5196 17 12.2652 17 12C17 11.7348 17.1054 11.4804 17.2929 11.2929C17.4804 11.1054 17.7348 11 18 11C18.2652 11 18.5196 11.1054 18.7071 11.2929C18.8946 11.4804 19 11.7348 19 12Z\"\r\n        fill={color}\r\n      />\r\n      <Path\r\n        d=\"M2 11C2 8.172 2 6.757 2.879 5.879C3.757 5 5.172 5 8 5H16C18.828 5 20.243 5 21.121 5.879C22 6.757 22 8.172 22 11V13C22 15.828 22 17.243 21.121 18.121C20.243 19 18.828 19 16 19H8C5.172 19 3.757 19 2.879 18.121C2 17.243 2 15.828 2 13V11Z\"\r\n        stroke={color}\r\n        strokeWidth=\"1.5\"\r\n      />\r\n      <Path\r\n        d=\"M7 16H17\"\r\n        stroke={color}\r\n        strokeWidth=\"1.5\"\r\n        strokeLinecap=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function ImageIcon(props: Icon) {\r\n  const { color = \"#85B6FF\", size = 25 } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 2 2\" fill=\"none\">\r\n      <Path\r\n        d=\"M1.75895 0.4375H0.554688C0.421875 0.4375 0.3125 0.544961 0.3125 0.67707V1.63543C0.3125 1.76754 0.421875 1.875 0.554688 1.875H1.75781C1.89062 1.875 2 1.77273 2 1.64062V0.67707C2 0.544961 1.89188 0.4375 1.75895 0.4375ZM1.45758 0.677109C1.49307 0.677325 1.5277 0.688047 1.55711 0.707922C1.58651 0.727798 1.60937 0.755936 1.62281 0.788788C1.63624 0.82164 1.63964 0.857734 1.63258 0.892518C1.62553 0.927301 1.60833 0.959216 1.58316 0.984237C1.55798 1.00926 1.52597 1.02626 1.49114 1.03311C1.45631 1.03995 1.42024 1.03633 1.38747 1.0227C1.3547 1.00907 1.3267 0.986037 1.30701 0.956511C1.28731 0.926986 1.2768 0.892289 1.2768 0.856797C1.27698 0.809005 1.29612 0.763239 1.33002 0.729544C1.36391 0.695849 1.40979 0.676977 1.45758 0.67707V0.677109ZM0.553086 1.75523C0.48668 1.75523 0.436445 1.70152 0.436445 1.63547V1.38223L0.789805 1.06664C0.824349 1.03625 0.86913 1.02009 0.915118 1.02142C0.961107 1.02275 1.00488 1.04146 1.03762 1.07379L1.2823 1.31641L0.840898 1.7552L0.553086 1.75523ZM1.875 1.63543C1.87499 1.65117 1.87189 1.66676 1.86585 1.6813C1.85982 1.69584 1.85098 1.70905 1.83984 1.72017C1.8287 1.7313 1.81548 1.74012 1.80093 1.74612C1.78637 1.75213 1.77078 1.75522 1.75504 1.7552H1.01172L1.46906 1.30078C1.50152 1.2734 1.54258 1.25833 1.58504 1.25822C1.6275 1.2581 1.66865 1.27295 1.70125 1.30016L1.875 1.44762V1.63543Z\"\r\n        fill={color}\r\n      />\r\n      <Path\r\n        d=\"M1.5 0.125H0.25C0.183696 0.125 0.120107 0.151339 0.0732233 0.198223C0.0263392 0.245107 0 0.308696 0 0.375L0 1.375C4.57233e-05 1.43043 0.0184781 1.48427 0.0524089 1.5281C0.0863397 1.57193 0.133852 1.60326 0.1875 1.61719V0.59375C0.1875 0.519158 0.217132 0.447621 0.269876 0.394876C0.322621 0.342132 0.394158 0.3125 0.46875 0.3125H1.74219C1.72826 0.258852 1.69693 0.21134 1.6531 0.177409C1.60927 0.143478 1.55543 0.125046 1.5 0.125Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function CameraIcon(props: Icon) {\r\n  const { size = 25, color = \"white\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 448 352\" fill=\"none\">\r\n      <Path\r\n        d=\"M400 64H341C338 64 334.28 62.06 331.38 59L305.44 18.06C305.03 17.4103 304.572 16.7919 304.07 16.21C295.11 5.76 283 0 270 0H178C165 0 152.89 5.76 143.93 16.21C143.428 16.7919 142.97 17.4103 142.56 18.06L116.62 59.06C114.4 61.48 111.28 64.06 108 64.06V56.06C108 51.8165 106.314 47.7469 103.314 44.7463C100.313 41.7457 96.2435 40.06 92 40.06H68C63.7565 40.06 59.6869 41.7457 56.6863 44.7463C53.6857 47.7469 52 51.8165 52 56.06V64.06H48C35.2737 64.0732 23.0724 69.1346 14.0735 78.1335C5.07462 87.1324 0.0132359 99.3337 0 112.06V304C0.0132359 316.726 5.07462 328.928 14.0735 337.927C23.0724 346.925 35.2737 351.987 48 352H400C412.726 351.987 424.928 346.925 433.927 337.927C442.925 328.928 447.987 316.726 448 304V112C447.987 99.2737 442.925 87.0724 433.927 78.0735C424.928 69.0746 412.726 64.0132 400 64ZM224 288C205.013 288 186.452 282.37 170.665 271.821C154.878 261.272 142.574 246.279 135.308 228.738C128.042 211.196 126.14 191.894 129.845 173.271C133.549 154.649 142.692 137.544 156.118 124.118C169.544 110.692 186.649 101.549 205.271 97.8446C223.894 94.1404 243.196 96.0416 260.738 103.308C278.279 110.574 293.272 122.878 303.821 138.665C314.37 154.452 320 173.013 320 192C319.971 217.452 309.847 241.853 291.85 259.85C273.853 277.847 249.452 287.971 224 288Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function LocationIcon(props: Icon) {\r\n  const { size = 25, color = \"#4ECB71\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 2 2\" fill=\"none\">\r\n      <G clip-path=\"url(#clip0_653_253)\">\r\n        <Path\r\n          d=\"M1 0.125C0.654961 0.125 0.375 0.376992 0.375 0.6875C0.375 1.1875 1 1.875 1 1.875C1 1.875 1.625 1.1875 1.625 0.6875C1.625 0.376992 1.34504 0.125 1 0.125ZM1 1C0.950555 1 0.90222 0.985338 0.861107 0.957867C0.819995 0.930397 0.787952 0.891352 0.76903 0.845671C0.750108 0.799989 0.745157 0.749723 0.754804 0.701227C0.76445 0.652732 0.78826 0.608186 0.823223 0.573223C0.858186 0.53826 0.902732 0.51445 0.951227 0.504804C0.999723 0.495157 1.04999 0.500108 1.09567 0.51903C1.14135 0.537952 1.1804 0.569995 1.20787 0.611107C1.23534 0.65222 1.25 0.700555 1.25 0.75C1.24993 0.816282 1.22357 0.879828 1.1767 0.926697C1.12983 0.973565 1.06628 0.999928 1 1Z\"\r\n          fill={color}\r\n        />\r\n      </G>\r\n      <Defs>\r\n        <ClipPath id=\"clip0_653_253\">\r\n          <Rect width=\"2\" height=\"2\" fill=\"white\" />\r\n        </ClipPath>\r\n      </Defs>\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function DocumentIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 1024 1024\" fill=\"none\">\r\n      <Path\r\n        d=\"M832 384H576V128H192V896H832V384ZM805.504 320L640 154.496V320H805.504ZM160 64H640L896 320V928C896 936.487 892.629 944.626 886.627 950.627C880.626 956.629 872.487 960 864 960H160C151.513 960 143.374 956.629 137.373 950.627C131.371 944.626 128 936.487 128 928V96C128 87.5131 131.371 79.3737 137.373 73.3726C143.374 67.3714 151.513 64 160 64ZM320 512H704V576H320V512ZM320 320H480V384H320V320ZM320 704H704V768H320V704Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function DoubleCheck(props: Omit<Icon, \"size\">) {\r\n  const { color = \"black\" } = props;\r\n  return (\r\n    <Svg width=\"17\" height=\"8\" viewBox=\"0 0 20 11\" fill=\"none\">\r\n      <Path\r\n        d=\"M6 5.48498L10.243 9.72798L18.727 1.24298M1 5.48498L5.243 9.72798M13.728 1.24298L10.5 4.49998\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function SingleCheck(props: Omit<Icon, \"size\">) {\r\n  const { color = \"black\" } = props;\r\n  return (\r\n    <Svg width=\"12\" height=\"7\" viewBox=\"0 0 18 13\" fill=\"none\">\r\n      <Path\r\n        d=\"M1 7.00002L5.95 11.95L16.557 1.34302\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function ClockIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n      />\r\n      <Path\r\n        d=\"M16.5 12H12.25C12.1837 12 12.1201 11.9737 12.0732 11.9268C12.0263 11.8799 12 11.8163 12 11.75V8.5\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function ErrorIcon(props: Icon) {\r\n  const { size = 25, color = \"#F24E1E\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 2 2\" fill=\"none\">\r\n      <Path\r\n        d=\"M1.00004 0.333496C0.868187 0.333496 0.739294 0.372595 0.629661 0.44585C0.520028 0.519104 0.43458 0.623223 0.384121 0.745041C0.333663 0.866858 0.320461 1.0009 0.346184 1.13022C0.371908 1.25954 0.435401 1.37833 0.528636 1.47157C0.621871 1.5648 0.74066 1.6283 0.869981 1.65402C0.999301 1.67974 1.13335 1.66654 1.25516 1.61608C1.37698 1.56562 1.4811 1.48018 1.55435 1.37054C1.62761 1.26091 1.66671 1.13202 1.66671 1.00016C1.66671 0.823352 1.59647 0.653783 1.47145 0.528758C1.34642 0.403734 1.17685 0.333496 1.00004 0.333496ZM0.917263 0.666829C0.917263 0.644728 0.926043 0.623532 0.941671 0.607904C0.957299 0.592276 0.978495 0.583496 1.0006 0.583496C1.0227 0.583496 1.04389 0.592276 1.05952 0.607904C1.07515 0.623532 1.08393 0.644728 1.08393 0.666829V1.04961C1.08393 1.06055 1.08177 1.07139 1.07759 1.0815C1.0734 1.09161 1.06726 1.10079 1.05952 1.10853C1.05178 1.11627 1.0426 1.12241 1.03249 1.1266C1.02238 1.13079 1.01154 1.13294 1.0006 1.13294C0.989653 1.13294 0.978817 1.13079 0.968706 1.1266C0.958596 1.12241 0.949409 1.11627 0.941671 1.10853C0.933933 1.10079 0.927794 1.09161 0.923607 1.0815C0.919419 1.07139 0.917263 1.06055 0.917263 1.04961V0.666829ZM1.00004 1.41683C0.981142 1.41683 0.962667 1.41123 0.946953 1.40073C0.931239 1.39023 0.918992 1.3753 0.911759 1.35784C0.904527 1.34038 0.902634 1.32117 0.906321 1.30263C0.910009 1.2841 0.919109 1.26707 0.932473 1.25371C0.945837 1.24034 0.962863 1.23124 0.981399 1.22755C0.999935 1.22387 1.01915 1.22576 1.03661 1.23299C1.05407 1.24022 1.06899 1.25247 1.07949 1.26819C1.08999 1.2839 1.0956 1.30237 1.0956 1.32127C1.0956 1.34662 1.08553 1.37092 1.06761 1.38884C1.04969 1.40676 1.02538 1.41683 1.00004 1.41683Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function LockClosed(props: Icon) {\r\n  const { size = 25, color = \"#F24E1E\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 18 20\" fill=\"none\">\r\n      <Path\r\n        d=\"M3 8V6C3 4.4087 3.63214 2.88258 4.75736 1.75736C5.88258 0.632141 7.4087 0 9 0C10.5913 0 12.1174 0.632141 13.2426 1.75736C14.3679 2.88258 15 4.4087 15 6V8H16C16.5304 8 17.0391 8.21071 17.4142 8.58579C17.7893 8.96086 18 9.46957 18 10V18C18 18.5304 17.7893 19.0391 17.4142 19.4142C17.0391 19.7893 16.5304 20 16 20H2C1.46957 20 0.960859 19.7893 0.585786 19.4142C0.210714 19.0391 0 18.5304 0 18V10C0 8.9 0.9 8 2 8H3ZM8 14.73V17H10V14.73C10.3813 14.5099 10.6793 14.1701 10.8478 13.7633C11.0162 13.3566 11.0458 12.9056 10.9319 12.4803C10.8179 12.055 10.5668 11.6793 10.2175 11.4112C9.86823 11.1432 9.44027 10.9979 9 10.9979C8.55973 10.9979 8.13177 11.1432 7.78248 11.4112C7.43319 11.6793 7.1821 12.055 7.06815 12.4803C6.9542 12.9056 6.98376 13.3566 7.15224 13.7633C7.32072 14.1701 7.61872 14.5099 8 14.73ZM6 6V8H12V6C12 5.20435 11.6839 4.44129 11.1213 3.87868C10.5587 3.31607 9.79565 3 9 3C8.20435 3 7.44129 3.31607 6.87868 3.87868C6.31607 4.44129 6 5.20435 6 6Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function LockOpen(props: Icon) {\r\n  const { size = 25, color = \"#F24E1E\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 18 20\" fill=\"none\">\r\n      <Path\r\n        d=\"M3 8V6C3 4.4087 3.63214 2.88258 4.75736 1.75736C5.88258 0.632141 7.4087 0 9 0C10.5913 0 12.1174 0.632141 13.2426 1.75736C14.3679 2.88258 15 4.4087 15 6H12V8H16C16.5304 8 17.0391 8.21071 17.4142 8.58579C17.7893 8.96086 18 9.46957 18 10V18C18 18.5304 17.7893 19.0391 17.4142 19.4142C17.0391 19.7893 16.5304 20 16 20H2C1.46957 20 0.960859 19.7893 0.585786 19.4142C0.210714 19.0391 0 18.5304 0 18V10C0 8.9 0.9 8 2 8H3ZM8 14.73V17H10V14.73C10.3813 14.5099 10.6793 14.1701 10.8478 13.7633C11.0162 13.3566 11.0458 12.9056 10.9319 12.4803C10.8179 12.055 10.5668 11.6793 10.2175 11.4112C9.86823 11.1432 9.44027 10.9979 9 10.9979C8.55973 10.9979 8.13177 11.1432 7.78248 11.4112C7.43319 11.6793 7.1821 12.055 7.06815 12.4803C6.9542 12.9056 6.98376 13.3566 7.15224 13.7633C7.32072 14.1701 7.61872 14.5099 8 14.73ZM6 6V8H12V6C12 5.20435 11.6839 4.44129 11.1213 3.87868C10.5587 3.31607 9.79565 3 9 3C8.20435 3 7.44129 3.31607 6.87868 3.87868C6.31607 4.44129 6 5.20435 6 6Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport default function TrashIcon(props: Icon) {\r\n  const { size = 25, color = \"red\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\">\r\n      <Path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M8.75009 1C8.02075 1 7.32127 1.28973 6.80555 1.80546C6.28982 2.32118 6.00009 3.02065 6.00009 3.75V4.193C5.20476 4.26967 4.41643 4.369 3.63509 4.491C3.53634 4.50445 3.44126 4.53745 3.35541 4.58807C3.26956 4.63869 3.19465 4.70591 3.13508 4.78581C3.0755 4.86571 3.03245 4.95667 3.00843 5.0534C2.98441 5.15013 2.97992 5.25067 2.9952 5.34916C3.01048 5.44764 3.04524 5.54209 3.09745 5.62699C3.14965 5.71189 3.21825 5.78553 3.29924 5.84361C3.38023 5.90169 3.47199 5.94305 3.56914 5.96526C3.6663 5.98748 3.76691 5.99011 3.86509 5.973L4.01409 5.951L4.85509 16.469C4.91015 17.1582 5.22279 17.8014 5.73075 18.2704C6.23871 18.7394 6.9047 18.9999 7.59609 19H12.4031C13.0945 19.0002 13.7606 18.74 14.2687 18.2711C14.7769 17.8022 15.0898 17.1592 15.1451 16.47L15.9861 5.95L16.1351 5.973C16.3298 5.99952 16.5271 5.94858 16.6847 5.83111C16.8422 5.71365 16.9473 5.53906 16.9775 5.34488C17.0076 5.15071 16.9603 4.95246 16.8458 4.79278C16.7313 4.6331 16.5587 4.52474 16.3651 4.491C15.5798 4.36877 14.7911 4.26939 14.0001 4.193V3.75C14.0001 3.02065 13.7104 2.32118 13.1946 1.80546C12.6789 1.28973 11.9794 1 11.2501 1H8.75009ZM10.0001 4C10.8401 4 11.6734 4.025 12.5001 4.075V3.75C12.5001 3.06 11.9401 2.5 11.2501 2.5H8.75009C8.06009 2.5 7.50009 3.06 7.50009 3.75V4.075C8.32676 4.025 9.16009 4 10.0001 4ZM8.58009 7.72C8.57213 7.52109 8.48549 7.33348 8.33921 7.19846C8.19293 7.06343 7.999 6.99204 7.80009 7C7.60118 7.00796 7.41357 7.0946 7.27855 7.24088C7.14352 7.38716 7.07213 7.58109 7.08009 7.78L7.38009 15.28C7.38403 15.3785 7.40733 15.4752 7.44866 15.5647C7.48999 15.6542 7.54854 15.7347 7.62097 15.8015C7.6934 15.8684 7.77829 15.9203 7.8708 15.9544C7.9633 15.9884 8.0616 16.0039 8.16009 16C8.25858 15.9961 8.35533 15.9728 8.44482 15.9314C8.53431 15.8901 8.61478 15.8315 8.68163 15.7591C8.74849 15.6867 8.80043 15.6018 8.83448 15.5093C8.86853 15.4168 8.88403 15.3185 8.88009 15.22L8.58009 7.72ZM12.9201 7.78C12.924 7.68151 12.9085 7.58321 12.8745 7.4907C12.8404 7.3982 12.7885 7.31331 12.7216 7.24088C12.6548 7.16845 12.5743 7.1099 12.4848 7.06857C12.3953 7.02724 12.2986 7.00394 12.2001 7C12.0012 6.99204 11.8073 7.06343 11.661 7.19846C11.5147 7.33348 11.428 7.52109 11.4201 7.72L11.1201 15.22C11.1162 15.3185 11.1317 15.4168 11.1657 15.5093C11.1998 15.6018 11.2517 15.6867 11.3185 15.7591C11.3854 15.8315 11.4659 15.8901 11.5554 15.9314C11.6448 15.9728 11.7416 15.9961 11.8401 16C11.9386 16.0039 12.0369 15.9884 12.1294 15.9544C12.2219 15.9203 12.3068 15.8684 12.3792 15.8015C12.4516 15.7347 12.5102 15.6542 12.5515 15.5647C12.5929 15.4752 12.6162 15.3785 12.6201 15.28L12.9201 7.78Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function StickerIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 192 192\" fill=\"none\">\r\n      <Path\r\n        opacity=\"0.2\"\r\n        d=\"M184 104C176 128 128 176 104 184V152C104 139.27 109.057 127.061 118.059 118.059C127.061 109.057 139.27 104 152 104H184Z\"\r\n        fill={color}\r\n      />\r\n      <Path\r\n        d=\"M136 0H56C41.1528 0.0158823 26.9182 5.92097 16.4196 16.4196C5.92097 26.9182 0.0158823 41.1528 0 56V136C0.0158823 150.847 5.92097 165.082 16.4196 175.58C26.9182 186.079 41.1528 191.984 56 192H104C104.86 191.999 105.714 191.861 106.53 191.59C132.76 182.84 182.84 132.76 191.59 106.53C191.861 105.714 191.999 104.86 192 104V56C191.984 41.1528 186.079 26.9182 175.58 16.4196C165.082 5.92097 150.847 0.0158823 136 0ZM16 136V56C16 45.3913 20.2143 35.2172 27.7157 27.7157C35.2172 20.2143 45.3913 16 56 16H136C146.609 16 156.783 20.2143 164.284 27.7157C171.786 35.2172 176 45.3913 176 56V96H152C137.153 96.0159 122.918 101.921 112.42 112.42C101.921 122.918 96.0159 137.153 96 152V176H56C45.3913 176 35.2172 171.786 27.7157 164.284C20.2143 156.783 16 146.609 16 136ZM112 171.14V152C112 141.391 116.214 131.217 123.716 123.716C131.217 116.214 141.391 112 152 112H171.14C159 131.5 131.5 159 112 171.14Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function EditIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M7 7H6C5.46957 7 4.96086 7.21071 4.58579 7.58579C4.21071 7.96086 4 8.46957 4 9V18C4 18.5304 4.21071 19.0391 4.58579 19.4142C4.96086 19.7893 5.46957 20 6 20H15C15.5304 20 16.0391 19.7893 16.4142 19.4142C16.7893 19.0391 17 18.5304 17 18V17\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n      <Path\r\n        d=\"M16 5.00011L19 8.00011M20.385 6.58511C20.7788 6.19126 21.0001 5.65709 21.0001 5.10011C21.0001 4.54312 20.7788 4.00895 20.385 3.61511C19.9912 3.22126 19.457 3 18.9 3C18.343 3 17.8088 3.22126 17.415 3.61511L9 12.0001V15.0001H12L20.385 6.58511Z\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport function CopyIcon(props: Icon) {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 16 18\" fill=\"none\">\r\n      <Path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M14 0C14.5304 0 15.0391 0.210714 15.4142 0.585786C15.7893 0.960859 16 1.46957 16 2V12C16 12.5304 15.7893 13.0391 15.4142 13.4142C15.0391 13.7893 14.5304 14 14 14H13V6C13 4.93913 12.5786 3.92172 11.8284 3.17157C11.0783 2.42143 10.0609 2 9 2H6C5.64895 1.99924 5.30395 2.09135 5 2.267V2C5 1.46957 5.21071 0.960859 5.58579 0.585786C5.96086 0.210714 6.46957 0 7 0H14Z\"\r\n        fill={color}\r\n      />\r\n      <Path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M4 4.054V8H0.2C0.274644 7.84448 0.369095 7.69928 0.481 7.568L2.941 4.698C3.2169 4.37661 3.58771 4.15111 4 4.054ZM6 4V8C6 8.53043 5.78929 9.03914 5.41421 9.41421C5.03914 9.78929 4.53043 10 4 10H0V16C0 16.5304 0.210714 17.0391 0.585786 17.4142C0.960859 17.7893 1.46957 18 2 18H9C9.53043 18 10.0391 17.7893 10.4142 17.4142C10.7893 17.0391 11 16.5304 11 16V6C11 5.46957 10.7893 4.96086 10.4142 4.58579C10.0391 4.21071 9.53043 4 9 4H6Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n}\r\n\r\nexport const CameraFlipIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M20 5H16.83L15 3H9L7.17 5H4C2.9 5 2 5.9 2 7V19C2 19.5304 2.21071 20.0391 2.58579 20.4142C2.96086 20.7893 3.46957 21 4 21H20C21.11 21 22 20.11 22 19V7C22 6.46957 21.7893 5.96086 21.4142 5.58579C21.0391 5.21071 20.5304 5 20 5ZM20 19H4V7H8.05L9.88 5H14.12L16 7H20V19ZM5 12H7.1C7.23084 11.3563 7.48731 10.7447 7.85475 10.2001C8.22219 9.65564 8.69338 9.18892 9.24137 8.82669C9.78936 8.46446 10.4034 8.21382 11.0483 8.08913C11.6933 7.96444 12.3565 7.96813 13 8.1C13.76 8.25 14.43 8.59 15 9L13.56 10.45C13.11 10.17 12.58 10 12 10C10.74 10 9.6 10.8 9.18 12H11L8 15L5 12ZM16.91 14C16.36 16.71 13.72 18.45 11 17.9C10.2788 17.74 9.59809 17.4336 9 17L10.44 15.55C10.9 15.83 11.43 16 12 16C13.27 16 14.41 15.2 14.83 14H13L16 11L19 14H16.91Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const ChatIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M12 2C17.523 2 22 6.477 22 12C22 17.523 17.523 22 12 22H4C3.46957 22 2.96086 21.7893 2.58579 21.4142C2.21071 21.0391 2 20.5304 2 20V12C2 6.477 6.477 2 12 2ZM12 14H9C8.73478 14 8.48043 14.1054 8.29289 14.2929C8.10536 14.4804 8 14.7348 8 15C8 15.2652 8.10536 15.5196 8.29289 15.7071C8.48043 15.8946 8.73478 16 9 16H12C12.2652 16 12.5196 15.8946 12.7071 15.7071C12.8946 15.5196 13 15.2652 13 15C13 14.7348 12.8946 14.4804 12.7071 14.2929C12.5196 14.1054 12.2652 14 12 14ZM15 10H9C8.74512 10.0003 8.49997 10.0979 8.31463 10.2728C8.1293 10.4478 8.01776 10.687 8.00283 10.9414C7.98789 11.1958 8.07067 11.4464 8.23426 11.6418C8.39785 11.8373 8.6299 11.9629 8.883 11.993L9 12H15C15.2549 11.9997 15.5 11.9021 15.6854 11.7272C15.8707 11.5522 15.9822 11.313 15.9972 11.0586C16.0121 10.8042 15.9293 10.5536 15.7657 10.3582C15.6021 10.1627 15.3701 10.0371 15.117 10.007L15 10Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const ChatIconPlus = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M19 8V2\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n      <Path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M20.7299 9.80407C21.064 11.1317 21.0907 12.5181 20.8082 13.8576C20.5256 15.1972 19.9412 16.4546 19.0994 17.5342C18.2575 18.6138 17.1805 19.4872 15.9503 20.0878C14.72 20.6884 13.369 21.0004 11.9999 21.0001H7.49993C6.10193 21.0001 5.40293 21.0001 4.85193 20.7721C4.48784 20.6213 4.15702 20.4003 3.87837 20.1216C3.59972 19.843 3.3787 19.5122 3.22793 19.1481C2.99993 18.5971 2.99993 17.8981 2.99993 16.5001V12.0001C2.99962 10.631 3.31164 9.27999 3.91223 8.04974C4.51282 6.81949 5.38616 5.74246 6.46578 4.90064C7.54539 4.05882 8.80283 3.47439 10.1424 3.19183C11.4819 2.90927 12.8683 2.93603 14.1959 3.27007C13.8569 3.62372 13.6293 4.06918 13.5413 4.5511C13.4533 5.03303 13.5089 5.53018 13.7011 5.9808C13.8933 6.43142 14.2136 6.81565 14.6223 7.08575C15.031 7.35585 15.51 7.49992 15.9999 7.50007H16.4999V8.00007C16.5001 8.48996 16.6441 8.96901 16.9143 9.37771C17.1844 9.78641 17.5686 10.1067 18.0192 10.2989C18.4698 10.4911 18.967 10.5467 19.4489 10.4587C19.9308 10.3707 20.3763 10.1431 20.7299 9.80407ZM14.9999 10.0001C15.2651 10.0001 15.5195 10.1054 15.707 10.293C15.8946 10.4805 15.9999 10.7349 15.9999 11.0001C15.9999 11.2653 15.8946 11.5196 15.707 11.7072C15.5195 11.8947 15.2651 12.0001 14.9999 12.0001H8.99993C8.73471 12.0001 8.48036 11.8947 8.29282 11.7072C8.10529 11.5196 7.99993 11.2653 7.99993 11.0001C7.99993 10.7349 8.10529 10.4805 8.29282 10.293C8.48036 10.1054 8.73471 10.0001 8.99993 10.0001H14.9999ZM11.9999 14.0001C12.2651 14.0001 12.5195 14.1054 12.707 14.293C12.8946 14.4805 12.9999 14.7349 12.9999 15.0001C12.9999 15.2653 12.8946 15.5196 12.707 15.7072C12.5195 15.8947 12.2651 16.0001 11.9999 16.0001H8.99993C8.73471 16.0001 8.48036 15.8947 8.29282 15.7072C8.10529 15.5196 7.99993 15.2653 7.99993 15.0001C7.99993 14.7349 8.10529 14.4805 8.29282 14.293C8.48036 14.1054 8.73471 14.0001 8.99993 14.0001H11.9999Z\"\r\n        fill={color}\r\n      />\r\n      <Path\r\n        d=\"M22 5H16\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const PauseIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        fill-rule=\"evenodd\"\r\n        clip-rule=\"evenodd\"\r\n        d=\"M8 5C7.46957 5 6.96086 5.21071 6.58579 5.58579C6.21071 5.96086 6 6.46957 6 7V17C6 17.5304 6.21071 18.0391 6.58579 18.4142C6.96086 18.7893 7.46957 19 8 19H9C9.53043 19 10.0391 18.7893 10.4142 18.4142C10.7893 18.0391 11 17.5304 11 17V7C11 6.46957 10.7893 5.96086 10.4142 5.58579C10.0391 5.21071 9.53043 5 9 5H8ZM15 5C14.4696 5 13.9609 5.21071 13.5858 5.58579C13.2107 5.96086 13 6.46957 13 7V17C13 17.5304 13.2107 18.0391 13.5858 18.4142C13.9609 18.7893 14.4696 19 15 19H16C16.5304 19 17.0391 18.7893 17.4142 18.4142C17.7893 18.0391 18 17.5304 18 17V7C18 6.46957 17.7893 5.96086 17.4142 5.58579C17.0391 5.21071 16.5304 5 16 5H15Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const PlayIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 256 256\" fill=\"none\">\r\n      <Path\r\n        d=\"M240 128C240.007 130.716 239.31 133.388 237.978 135.756C236.647 138.123 234.725 140.105 232.4 141.51L88.32 229.65C85.8909 231.138 83.1087 231.95 80.2608 232.002C77.4129 232.055 74.6025 231.347 72.12 229.95C69.6611 228.575 67.6128 226.57 66.1856 224.141C64.7585 221.712 64.0041 218.947 64 216.13V39.8701C64.0041 37.053 64.7585 34.2877 66.1856 31.8588C67.6128 29.4299 69.6611 27.4249 72.12 26.0501C74.6025 24.6536 77.4129 23.9451 80.2608 23.9979C83.1087 24.0506 85.8909 24.8626 88.32 26.3501L232.4 114.49C234.725 115.895 236.647 117.877 237.978 120.245C239.31 122.612 240.007 125.284 240 128Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const LinkIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M11 17H7C5.61667 17 4.43767 16.5123 3.463 15.537C2.48833 14.5617 2.00067 13.3827 2 12C1.99933 10.6173 2.487 9.43833 3.463 8.463C4.439 7.48767 5.618 7 7 7H11V9H7C6.16667 9 5.45833 9.29167 4.875 9.875C4.29167 10.4583 4 11.1667 4 12C4 12.8333 4.29167 13.5417 4.875 14.125C5.45833 14.7083 6.16667 15 7 15H11V17ZM8 13V11H16V13H8ZM13 17V15H17C17.8333 15 18.5417 14.7083 19.125 14.125C19.7083 13.5417 20 12.8333 20 12C20 11.1667 19.7083 10.4583 19.125 9.875C18.5417 9.29167 17.8333 9 17 9H13V7H17C18.3833 7 19.5627 7.48767 20.538 8.463C21.5133 9.43833 22.0007 10.6173 22 12C21.9993 13.3827 21.5117 14.562 20.537 15.538C19.5623 16.514 18.3833 17.0013 17 17H13Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const MessagePlus = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M8 9H16M8 13H14M12.5 20.5L12 21L9 18H6C5.20435 18 4.44129 17.6839 3.87868 17.1213C3.31607 16.5587 3 15.7956 3 15V7C3 6.20435 3.31607 5.44129 3.87868 4.87868C4.44129 4.31607 5.20435 4 6 4H18C18.7956 4 19.5587 4.31607 20.1213 4.87868C20.6839 5.44129 21 6.20435 21 7V12.5M16 19H22M19 16V22\"\r\n        stroke={color}\r\n        strokeWidth=\"2\"\r\n        strokeLinecap=\"round\"\r\n        strokeLinejoin=\"round\"\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const StopIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\">\r\n      <Path\r\n        d=\"M8 2C9.18669 2 10.3467 2.35189 11.3334 3.01118C12.3201 3.67047 13.0892 4.60754 13.5433 5.7039C13.9974 6.80026 14.1162 8.00666 13.8847 9.17054C13.6532 10.3344 13.0818 11.4035 12.2426 12.2426C11.4035 13.0818 10.3344 13.6532 9.17054 13.8847C8.00666 14.1162 6.80026 13.9974 5.7039 13.5433C4.60755 13.0892 3.67047 12.3201 3.01119 11.3334C2.3519 10.3467 2 9.18669 2 8C2 6.4087 2.63214 4.88258 3.75736 3.75736C4.88258 2.63214 6.4087 2 8 2ZM8 1C6.61553 1 5.26216 1.41054 4.11101 2.17971C2.95987 2.94888 2.06266 4.04213 1.53285 5.32122C1.00303 6.6003 0.86441 8.00777 1.13451 9.36563C1.4046 10.7235 2.07129 11.9708 3.05026 12.9497C4.02922 13.9287 5.2765 14.5954 6.63437 14.8655C7.99224 15.1356 9.3997 14.997 10.6788 14.4672C11.9579 13.9373 13.0511 13.0401 13.8203 11.889C14.5895 10.7378 15 9.38447 15 8C15 6.14348 14.2625 4.36301 12.9497 3.05025C11.637 1.7375 9.85652 1 8 1Z\"\r\n        fill={color}\r\n      />\r\n      <Path\r\n        d=\"M10 6V10H6V6H10ZM10 5H6C5.73478 5 5.48043 5.10536 5.29289 5.29289C5.10536 5.48043 5 5.73478 5 6V10C5 10.2652 5.10536 10.5196 5.29289 10.7071C5.48043 10.8946 5.73478 11 6 11H10C10.2652 11 10.5196 10.8946 10.7071 10.7071C10.8946 10.5196 11 10.2652 11 10V6C11 5.73478 10.8946 5.48043 10.7071 5.29289C10.5196 5.10536 10.2652 5 10 5Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const LockIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\">\r\n      <Path\r\n        d=\"M18 8H17V6C17 3.24 14.76 1 12 1C9.24 1 7 3.24 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8ZM9 6C9 4.34 10.34 3 12 3C13.66 3 15 4.34 15 6V8H9V6ZM18 20H6V10H18V20ZM12 17C13.1 17 14 16.1 14 15C14 13.9 13.1 13 12 13C10.9 13 10 13.9 10 15C10 16.1 10.9 17 12 17Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const ArrowRight = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size * 2} viewBox=\"0 0 12 24\" fill=\"none\">\r\n      <Path\r\n        fillRule=\"evenodd\"\r\n        clipRule=\"evenodd\"\r\n        d=\"M10.1569 12.7111L4.49994 18.3681L3.08594 16.9541L8.03594 12.0041L3.08594 7.05414L4.49994 5.64014L10.1569 11.2971C10.3444 11.4847 10.4497 11.739 10.4497 12.0041C10.4497 12.2693 10.3444 12.5236 10.1569 12.7111Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const BroadcastIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\">\r\n      <Path\r\n        d=\"M14.158 1.02584C14.2838 1.06763 14.3879 1.15768 14.4474 1.2762C14.5068 1.39472 14.5167 1.532 14.475 1.65784L13.975 3.15784C13.9331 3.28382 13.8428 3.38799 13.7241 3.44744C13.6054 3.50689 13.468 3.51675 13.342 3.47484C13.216 3.43294 13.1118 3.34271 13.0524 3.224C12.9929 3.10529 12.9831 2.96782 13.025 2.84184L13.525 1.34184C13.5458 1.27951 13.5786 1.22189 13.6217 1.17226C13.6648 1.12264 13.7172 1.08199 13.776 1.05265C13.8348 1.0233 13.8988 1.00582 13.9643 1.00123C14.0299 0.996627 14.0957 1.00499 14.158 1.02584ZM17.855 2.85384C17.9014 2.80736 17.9382 2.75218 17.9633 2.69147C17.9884 2.63075 18.0013 2.56569 18.0013 2.49999C18.0012 2.43429 17.9882 2.36925 17.963 2.30857C17.9379 2.24789 17.901 2.19277 17.8545 2.14634C17.808 2.09992 17.7528 2.06311 17.6921 2.03801C17.6314 2.01291 17.5663 2.00002 17.5006 2.00007C17.4349 2.00011 17.3699 2.0131 17.3092 2.03828C17.2485 2.06347 17.1934 2.10036 17.147 2.14684L15.147 4.14684C15.0559 4.24115 15.0055 4.36745 15.0066 4.49855C15.0078 4.62964 15.0604 4.75505 15.1531 4.84775C15.2458 4.94046 15.3712 4.99304 15.5023 4.99418C15.6334 4.99532 15.7597 4.94492 15.854 4.85384L17.855 2.85384ZM7.60698 3.14584C7.74648 2.85208 7.95551 2.59676 8.21596 2.40201C8.47641 2.20726 8.78042 2.07897 9.10164 2.02824C9.42287 1.97751 9.75162 2.00587 10.0594 2.11088C10.3672 2.21589 10.6447 2.39436 10.868 2.63084L17.455 9.61084C17.6748 9.84373 17.8355 10.126 17.9235 10.4339C18.0115 10.7418 18.0243 11.0663 17.9608 11.3802C17.8973 11.6941 17.7594 11.9882 17.5586 12.2376C17.3578 12.4871 17.1 12.6847 16.807 12.8138L12.87 14.5498C13.0159 15.0703 13.0395 15.6175 12.9387 16.1486C12.838 16.6797 12.6158 17.1803 12.2895 17.6113C11.9631 18.0422 11.5415 18.3918 11.0576 18.6327C10.5736 18.8736 10.0405 18.9992 9.49998 18.9998C8.90423 19 8.31831 18.848 7.7977 18.5584C7.27709 18.2688 6.83902 17.8511 6.52498 17.3448L5.32498 17.8738C5.04921 17.9953 4.74326 18.0308 4.447 17.9759C4.15073 17.921 3.87787 17.7781 3.66398 17.5658L2.44198 16.3558C2.22101 16.137 2.07355 15.8549 2.01998 15.5485C1.96641 15.2421 2.00939 14.9267 2.14298 14.6458L7.60698 3.14584ZM7.45298 16.9348C7.78487 17.4086 8.27081 17.7527 8.82797 17.9083C9.38512 18.064 9.97901 18.0216 10.5084 17.7884C11.0378 17.5552 11.4699 17.1456 11.7312 16.6294C11.9924 16.1133 12.0665 15.5225 11.941 14.9578L7.45298 16.9348ZM10.141 3.31784C10.0294 3.19969 9.89068 3.11052 9.73687 3.05805C9.58305 3.00557 9.41877 2.99137 9.25823 3.01669C9.0977 3.042 8.94575 3.10605 8.81555 3.20331C8.68534 3.30057 8.5808 3.42809 8.51098 3.57484L3.04598 15.0748C3.00172 15.1684 2.98757 15.2733 3.00548 15.3752C3.02339 15.4772 3.07248 15.571 3.14598 15.6438L4.36798 16.8548C4.4393 16.9253 4.53016 16.9728 4.62878 16.991C4.7274 17.0091 4.8292 16.9973 4.92098 16.9568L16.403 11.8998C16.5495 11.8354 16.6784 11.7366 16.7788 11.612C16.8793 11.4873 16.9483 11.3404 16.9801 11.1835C17.012 11.0266 17.0057 10.8644 16.9618 10.7105C16.9179 10.5565 16.8377 10.4154 16.728 10.2988L10.141 3.31784ZM17 5.99985C16.8674 5.99985 16.7402 6.05252 16.6464 6.14629C16.5527 6.24006 16.5 6.36724 16.5 6.49985C16.5 6.63245 16.5527 6.75963 16.6464 6.8534C16.7402 6.94717 16.8674 6.99985 17 6.99985H18.5C18.6326 6.99985 18.7598 6.94717 18.8535 6.8534C18.9473 6.75963 19 6.63245 19 6.49985C19 6.36724 18.9473 6.24006 18.8535 6.14629C18.7598 6.05252 18.6326 5.99985 18.5 5.99985H17Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n\r\nexport const NoImageIcon = (props: Icon) => {\r\n  const { size = 25, color = \"black\" } = props;\r\n  return (\r\n    <Svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\">\r\n      <Path\r\n        d=\"M15 1.707L14.293 1L1 14.293L1.707 15L2.707 14H13C13.2651 13.9996 13.5192 13.8941 13.7067 13.7067C13.8941 13.5192 13.9996 13.2651 14 13V2.707L15 1.707ZM13 13H3.707L7.6035 9.1035L8.793 10.293C8.98053 10.4805 9.23484 10.5858 9.5 10.5858C9.76516 10.5858 10.0195 10.4805 10.207 10.293L11 9.5L13 11.4985V13ZM13 10.084L11.707 8.791C11.5195 8.60353 11.2652 8.49821 11 8.49821C10.7348 8.49821 10.4805 8.60353 10.293 8.791L9.5 9.584L8.3115 8.3955L13 3.707V10.084ZM3 11V9.5L5.5 7.0015L6.1865 7.6885L6.8945 6.9805L6.207 6.293C6.01947 6.10553 5.76516 6.00021 5.5 6.00021C5.23484 6.00021 4.98053 6.10553 4.793 6.293L3 8.086V3H11V2H3C2.73478 2 2.48043 2.10536 2.29289 2.29289C2.10536 2.48043 2 2.73478 2 3V11H3Z\"\r\n        fill={color}\r\n      />\r\n    </Svg>\r\n  );\r\n};\r\n","export const Colors = {\r\n  greyLighter: '#F0F0F0'\r\n}","import * as ExpoHaptics from 'expo-haptics';\r\n\r\nexport default class Haptics {\r\n  static success() {\r\n    ExpoHaptics.notificationAsync(\r\n      ExpoHaptics.NotificationFeedbackType.Success\r\n    )\r\n  }\r\n\r\n  static light() {\r\n    ExpoHaptics.impactAsync(ExpoHaptics.ImpactFeedbackStyle.Light)\r\n  }\r\n\r\n  static medium() {\r\n    ExpoHaptics.impactAsync(ExpoHaptics.ImpactFeedbackStyle.Medium)\r\n  }\r\n}","import { View, Text, ViewStyle, TouchableOpacity, Linking } from \"react-native\";\r\nimport React, { useCallback, useMemo } from \"react\";\r\nimport {\r\n  ChatBubbleRenderProps,\r\n} from \"../../../../types\";\r\nimport MessageAvatar from \"../../MessageAvatar\";\r\nimport Sticker from \"../Sticker\";\r\nimport Animated from \"react-native-reanimated\";\r\nimport { formatMessageTime, truncate } from \"../../../../utils\";\r\nimport Reactions from \"../Reactions\";\r\nimport Quoted from \"../Quoted\";\r\nimport { useConfig } from \"../../../../contexts/ChatProvider\";\r\nimport Preview from \"../Preview\";\r\nimport MediaMessage from \"../Media\";\r\nimport { Message, AttachmentTypes, MessageStates } from \"softchatjs-core\"\r\nimport { BroadcastIcon } from \"../../../../assets/icons\";\r\n\r\n\r\ntype StackedProps = {\r\n  message: Message;\r\n  animatedStyles: ViewStyle;\r\n  renderStateIcon: (color: string) => JSX.Element;\r\n  chatUserId: string;\r\n  recipientId: string;\r\n  myMessage: boolean;\r\n  renderChatBubble?: (props: ChatBubbleRenderProps) => void;\r\n  onScrollToIndex: (messageId: string) => void;\r\n  isPending?: boolean;\r\n  retryUpload: () => void;\r\n};\r\n\r\nexport default function Stacked(props: StackedProps) {\r\n  const { theme, fontFamily } = useConfig();\r\n  const {\r\n    message,\r\n    animatedStyles,\r\n    renderStateIcon,\r\n    chatUserId,\r\n    recipientId,\r\n    renderChatBubble,\r\n    myMessage,\r\n    onScrollToIndex,\r\n    isPending,\r\n    retryUpload\r\n  } = props;\r\n\r\n  const RenderAttachment = useCallback(() => {\r\n    switch (message.attachmentType) {\r\n      case AttachmentTypes.STICKER:\r\n        return <Sticker message={message} />;\r\n      case AttachmentTypes.MEDIA:\r\n        return <MediaMessage message={message} isPending={isPending} recipientId={recipientId} />;\r\n      default:\r\n        return <></>;\r\n    }\r\n  }, [message]);\r\n\r\n  const hasTextMessage = useMemo(() => {\r\n    return message.message.length > 0;\r\n  }, [message.message]);\r\n\r\n  const renderMessageWithLinks = (message: string) => {\r\n    if (!message) return null;\r\n\r\n    const urlRegex = /(https?:\\/\\/[^\\s]+)/gi;\r\n\r\n    const parts = message.split(urlRegex);\r\n\r\n    return parts.map((part, index) => {\r\n      if (urlRegex.test(part)) {\r\n        return (\r\n          <Text\r\n            key={index}\r\n            style={{\r\n              fontFamily,\r\n              textDecorationLine: \"underline\",\r\n              textTransform: \"lowercase\",\r\n            }}\r\n            onPress={() => Linking.openURL(part)}\r\n          >\r\n            {part}\r\n          </Text>\r\n        );\r\n      } else {\r\n        return <Text style={{ fontFamily }} key={index}>{part}</Text>;\r\n      }\r\n    });\r\n  };\r\n\r\n  return (\r\n    <Animated.View\r\n      style={[\r\n        isPending ? { opacity: 0.7 } : animatedStyles,\r\n        {\r\n          paddingVertical: 10,\r\n          paddingHorizontal: 10,\r\n          flex: 1,\r\n          borderBottomWidth: 0,\r\n          borderColor: theme?.divider,\r\n          // backgroundColor: theme?.background.primary\r\n        },\r\n      ]}\r\n    >\r\n      {message.quotedMessage && (\r\n        <Quoted\r\n          onPress={() =>\r\n            onScrollToIndex(message.quotedMessage?.messageId as string)\r\n          }\r\n          quotedMessage={message.quotedMessage}\r\n          layout=\"stacked\"\r\n          theme={theme}\r\n        />\r\n      )}\r\n      <>\r\n        {renderChatBubble ? (\r\n          renderChatBubble({ message })\r\n        ) : (\r\n          <View\r\n            style={{\r\n              flexDirection: \"row\",\r\n              alignItems: \"flex-start\",\r\n              width: \"100%\",\r\n              flex: 1,\r\n            }}\r\n          >\r\n            <MessageAvatar\r\n              size={45}\r\n              initials={message.messageOwner?.username.substring(0, 2)}\r\n              imgUrl={message.messageOwner?.profileUrl}\r\n              style={{\r\n                marginEnd: 5,\r\n                backgroundColor: message.messageOwner?.color,\r\n              }}\r\n            />\r\n\r\n            <View style={{ flex: 1, paddingHorizontal: 10, width: \"100%\" }}>\r\n              <View\r\n                style={{\r\n                  flexDirection: \"row\",\r\n                  alignItems: \"center\",\r\n                  marginBottom: 5,\r\n                }}\r\n              >\r\n                {message.isBroadcast && (\r\n                  <BroadcastIcon color={theme?.chatBubble.right.messageColor} size={13} />\r\n                )}\r\n                <Text style={[{ color: theme?.text.secondary, fontFamily }]}>\r\n                  {message.messageOwner?.username}\r\n                </Text>\r\n                <Text\r\n                  style={[\r\n                    {\r\n                      fontFamily,\r\n                      color: theme?.text.disabled,\r\n                      marginStart: 10,\r\n                      fontSize: 9,\r\n                      marginEnd: 5,\r\n                    },\r\n                  ]}\r\n                >\r\n                  {formatMessageTime(message.createdAt)}\r\n                </Text>\r\n                {myMessage && <>{renderStateIcon(theme?.icon as string)}</>}\r\n              </View>\r\n\r\n              <RenderAttachment />\r\n              {hasTextMessage && (\r\n                <View style={{ flex: 1, marginBottom: 10 }}>\r\n                  <Preview\r\n                    message={message.message}\r\n                    color={theme?.text.secondary as string}\r\n                  />\r\n                  <Text\r\n                    style={{\r\n                      color: theme?.text.secondary,\r\n                      fontFamily,\r\n                      fontSize: 17,\r\n                    }}\r\n                  >\r\n                    {renderMessageWithLinks(message.message || \"\")}{\" \"}\r\n                    {message.lastEdited && (\r\n                      <Text\r\n                        style={{\r\n                          fontSize: 11,\r\n                          fontFamily,\r\n                          fontStyle: \"italic\",\r\n                          color: theme?.text.disabled,\r\n                        }}\r\n                      >\r\n                        (edited)\r\n                      </Text>\r\n                    )}\r\n                  </Text>\r\n                </View>\r\n              )}\r\n            {isPending === true && message.messageState !== MessageStates.FAILED && (\r\n              <Text\r\n                style={[\r\n                  {\r\n                    color: theme?.text.disabled,\r\n                    fontFamily,\r\n                    fontSize: 11,\r\n                    marginTop: 5,\r\n                    fontStyle: \"italic\",\r\n                    marginStart: 15\r\n                  },\r\n                ]}\r\n              >\r\n                Uploading...\r\n              </Text>\r\n            )}\r\n             {isPending === true && message.messageState === MessageStates.FAILED && (\r\n              <Text\r\n                onPress={retryUpload}\r\n                style={[\r\n                  {\r\n                    color: 'tomato',\r\n                    fontSize: 11,\r\n                    marginTop: 5,\r\n                    fontStyle: \"italic\",\r\n                    marginStart: 15,\r\n                    fontFamily\r\n                  },\r\n                ]}\r\n              >\r\n                Upload failed\r\n              </Text>\r\n            )}\r\n       \r\n              <Reactions\r\n                layout=\"stacked\"\r\n                reactions={message.reactions}\r\n                position={\"left\"}\r\n                conversationId={message.conversationId}\r\n                messageId={message.messageId}\r\n                chatUserId={chatUserId}\r\n                recipientId={recipientId}\r\n              />\r\n            </View>\r\n          </View>\r\n        )}\r\n      </>\r\n    </Animated.View>\r\n  );\r\n}\r\n","import React from \"react\"\r\nimport { TouchableOpacity, Text, ViewStyle } from \"react-native\";\r\nimport { Colors } from \"../../constants/Colors\";\r\nimport { getRandomColor } from \"../../utils\";\r\nimport { Image } from \"expo-image\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\n\r\ntype MessageAvatarProps = {\r\n  initials: string;\r\n  size: number;\r\n  imgUrl?: string;\r\n  style?: ViewStyle\r\n};\r\n\r\nexport default function MessageAvatar(props: MessageAvatarProps) {\r\n  const { imgUrl, initials, size = 40, style } = props;\r\n  const { fontFamily } = useConfig();\r\n\r\n  return (\r\n    <TouchableOpacity\r\n      style={{\r\n        height: size,\r\n        width: size,\r\n        borderRadius: size,\r\n        backgroundColor: 'black',\r\n        alignItems: 'center',\r\n        justifyContent: 'center',\r\n        ...style\r\n      }}\r\n    >\r\n      {imgUrl ? (\r\n        <Image\r\n          source={{ uri: imgUrl }}\r\n          cachePolicy=\"disk\"\r\n          style={{\r\n            height: size,\r\n            width: size,\r\n            borderRadius: size,\r\n            backgroundColor: Colors.greyLighter,\r\n          }}\r\n        />\r\n      ) : (\r\n        <Text\r\n          style={{\r\n            fontSize: size/2,\r\n            textTransform: \"uppercase\",\r\n            color: \"white\",\r\n            fontFamily\r\n          }}\r\n        >\r\n          {initials}\r\n        </Text>\r\n      )}\r\n    </TouchableOpacity>\r\n  );\r\n}\r\n","import React, { createContext, useContext, useEffect } from \"react\";\r\nimport { ChatTheme, Config } from \"../types\";\r\nimport ModalProvider from \"./ModalProvider\";\r\nimport ChatClient from \"softchatjs-core\";\r\nimport defaultTheme from \"../theme\";\r\nimport { MessageStateProvider } from \"./MessageStateContext\";\r\n\r\ntype ChatProvider = {\r\n  children: JSX.Element;\r\n  theme?: ChatTheme;\r\n  fontFamily: string | undefined;\r\n   /**\r\n   * Multiplier to adjust the font size dynamically.\r\n   * A value of 1 keeps the default size, while values like 0.5 or 1.5 scale it down or up.\r\n  */\r\n   fontScale?: number\r\n};\r\n\r\nconst ConfigContext = createContext<\r\n  Omit<ChatProvider, \"children\"> & { client: ChatClient | null }\r\n>({\r\n  theme: defaultTheme,\r\n  client: null,\r\n  fontFamily: undefined,\r\n  fontScale: 1\r\n});\r\n\r\nexport function useConfig() {\r\n  return useContext(ConfigContext);\r\n}\r\n\r\nexport default function ChatProvider(\r\n  props: ChatProvider & { client: ChatClient | null }\r\n) {\r\n  const { children, client, theme = defaultTheme, fontFamily, fontScale } = props;\r\n\r\n  return (\r\n    <ConfigContext.Provider value={{ theme, client, fontFamily, fontScale }}>\r\n      <MessageStateProvider>\r\n        <ModalProvider>{children}</ModalProvider>\r\n      </MessageStateProvider>\r\n    </ConfigContext.Provider>\r\n  );\r\n}\r\n","import React, { createContext, useContext, useState } from \"react\";\r\nimport {\r\n  KeyboardAvoidingView,\r\n  Modal,\r\n  ScrollView,\r\n  StyleSheet,\r\n  TouchableWithoutFeedback,\r\n  View,\r\n  ViewStyle,\r\n  Text,\r\n} from \"react-native\";\r\nimport { Children } from \"../types\";\r\nimport { stopPropagation } from \"../utils\";\r\n\r\ntype ModalProps = {\r\n  dismissable?: boolean;\r\n  justifyContent?: ViewStyle[\"justifyContent\"];\r\n  children: Children | null;\r\n  animation?: \"none\" | \"fade\" | \"slide\" | undefined;\r\n  containerWidth?: ViewStyle[\"width\"];\r\n};\r\n\r\ntype ModalProvider = {\r\n  displayModal: (child: ModalProps) => void;\r\n  resetModal: (cb?: Function) => void;\r\n};\r\n\r\nconst initial: ModalProvider & { modalProps: ModalProps | null } = {\r\n  displayModal: () => {},\r\n  resetModal: () => {},\r\n  modalProps: {\r\n    dismissable: true,\r\n    justifyContent: \"center\",\r\n    children: null,\r\n    animation: \"slide\",\r\n    containerWidth: \"100%\",\r\n  },\r\n};\r\n\r\nconst ModalProviderContext = createContext<ModalProvider>(initial);\r\n\r\nexport const useModalProvider = () => useContext(ModalProviderContext);\r\n\r\nexport default function ModalProvider(props: { children: Children }) {\r\n  const { children } = props;\r\n\r\n  const [modal, showModal] = useState(false);\r\n  const [modalProps, setModalProps] = useState(initial.modalProps);\r\n\r\n  const displayModal = (props: ModalProps) => {\r\n    showModal(true);\r\n    setModalProps({ ...initial.modalProps, ...props });\r\n  };\r\n\r\n  const dismiss = () => {\r\n    if (modalProps?.dismissable) {\r\n      showModal(false);\r\n    }\r\n  };\r\n\r\n  const resetModal = (cb?: Function) => {\r\n    showModal(false);\r\n    cb?.();\r\n  };\r\n\r\n  return (\r\n    <ModalProviderContext.Provider\r\n      value={{\r\n        displayModal,\r\n        resetModal,\r\n      }}\r\n    >\r\n      {children}\r\n      <Modal\r\n        animationType={modalProps?.animation}\r\n        style={{ height: \"100%\", width: \"100%\" }}\r\n        visible={modal}\r\n        transparent\r\n      >\r\n        <View\r\n          style={{\r\n            flex: 1,\r\n            height: \"100%\",\r\n            width: \"100%\",\r\n            alignItems: \"center\",\r\n            justifyContent: modalProps?.justifyContent,\r\n            backgroundColor: \"rgba(0,0,0,.3)\",\r\n          }}\r\n        >\r\n          <View style={{ flex: 1, width: \"100%\", height: \"100%\" }}>\r\n            {modalProps?.children}\r\n          </View>\r\n        </View>\r\n      </Modal>\r\n    </ModalProviderContext.Provider>\r\n  );\r\n}\r\n","interface Color {\r\n  50: string;\r\n  100: string;\r\n  200: string;\r\n  300: string;\r\n  400: string;\r\n  500: string;\r\n  600: string;\r\n  700: string;\r\n  800: string;\r\n  900: string;\r\n  A100?: string;\r\n}\r\n\r\nexport const teal: Color = {\r\n  50: '#DCF2F0',\r\n  100: '#A9DFD8',\r\n  200: '#73CABE',\r\n  300: '#3AB4A4',\r\n  400: '#00A391',\r\n  500: '#00927E',\r\n  600: '#008572',\r\n  700: '#007662',\r\n  800: '#006654',\r\n  900: '#004A38',\r\n};\r\n\r\nexport const fuchsia: Color = {\r\n  50: '#FAE9F7',\r\n  100: '#F2C8ED',\r\n  200: '#EBA3E3',\r\n  300: '#E27DD7',\r\n  400: '#D95ECD',\r\n  500: '#D043C4',\r\n  600: '#C13EBD',\r\n  700: '#AE36B5',\r\n  800: '#9D31AE',\r\n  900: '#7F28A0',\r\n};\r\n\r\nexport const green: Color = {\r\n  50: '#E6F5E4',\r\n  100: '#C2E6BD',\r\n  200: '#9AD693',\r\n  300: '#6FC666',\r\n  400: '#4ABA42',\r\n  500: '#17AE13',\r\n  600: '#029F04',\r\n  700: '#008D00',\r\n  800: '#007C00',\r\n  900: '#005E00',\r\n};\r\n\r\nexport const bluishCyan: Color = {\r\n  50: '#E2F5FE',\r\n  100: '#B5E6FB',\r\n  200: '#84D6F9',\r\n  300: '#56C6F6',\r\n  400: '#36B9F5',\r\n  500: '#20AEF3',\r\n  600: '#1D9FE4',\r\n  700: '#188BD0',\r\n  800: '#167ABC',\r\n  900: '#105A9A',\r\n};\r\n\r\nexport const yellowOrange: Color = {\r\n  50: '#FEF3E2',\r\n  100: '#FDE0B6',\r\n  200: '#FDCD87',\r\n  300: '#FCB859',\r\n  400: '#FBA939',\r\n  500: '#FB9A23',\r\n  600: '#F78F21',\r\n  700: '#F07F1E',\r\n  800: '#EA701B',\r\n  900: '#E05716',\r\n};\r\n\r\nexport const pinkishRed: Color = {\r\n  50: '#FFEBF0',\r\n  100: '#FFCCD6',\r\n  200: '#FB969F',\r\n  300: '#F66B79',\r\n  400: '#FF3F56',\r\n  500: '#FF183B',\r\n  600: '#FC003C',\r\n  700: '#EA0034',\r\n  800: '#DD002C',\r\n  900: '#CF001E',\r\n};\r\n\r\nexport const grey: Color = {\r\n  50: '#F6F6FF',\r\n  100: '#F2F1FF',\r\n  200: '#EBEBF9',\r\n  300: '#CAC9D7',\r\n  400: '#ACACB9',\r\n  500: '#82818F',\r\n  600: '#6D6D7A',\r\n  700: '#4D4D59',\r\n  800: '#2B2B36',\r\n  900: '#21222D',\r\n  A100: '#1D1E26',\r\n};\r\n\r\nexport const stone: Color = {\r\n  50: '#F8F8F8',\r\n  100: '#EFEFEF',\r\n  200: '#E8E8E8',\r\n  300: '#D9D9D9',\r\n  400: '#D2D2D2',\r\n  500: '#A0A0A0',\r\n  600: '#87888C',\r\n  700: '#2C2D33',\r\n  800: '#1D1E26',\r\n  900: '#171821',\r\n};\r\n","import { ChatTheme } from \"../types\"\r\nimport { bluishCyan, fuchsia, green, grey, stone, teal } from \"./colors\"\r\n\r\nconst theme: ChatTheme = {\r\n  background: {\r\n    primary: stone[900],\r\n    secondary: grey[900],\r\n    disabled: grey[800]\r\n  },\r\n  text: {\r\n    primary: 'black',\r\n    secondary: stone[200],\r\n    disabled: stone[500],\r\n  },\r\n  action: {\r\n    primary: teal[50],\r\n    secondary: stone[300]\r\n  },\r\n  chatBubble: {\r\n    left: {\r\n      bgColor: grey[900],\r\n      messageColor: stone[200],\r\n      messageTimeColor: 'grey',\r\n      replyBorderColor: stone[200]\r\n    },\r\n    right: {\r\n      bgColor: \"#474952\",\r\n      messageColor: 'white',\r\n      messageTimeColor: 'grey',\r\n      replyBorderColor: green[900]\r\n    },\r\n  },\r\n  icon: 'white',\r\n  divider: stone[700]\r\n}\r\n\r\nexport default theme","import React, {\r\n  createContext,\r\n  useState,\r\n  useContext,\r\n} from \"react\";\r\nimport {\r\n  SetState,\r\n} from \"../types\";\r\nimport { Audio, AVPlaybackStatus } from 'expo-av';\r\nimport { Emoticon, Message, SendMessageGenerics, Media, UserMeta, Conversation, ConversationListItem } from \"softchatjs-core\";\r\nimport defaultUser from \"../constants/defaultUser\";\r\n\r\ntype MessageStateContext = {\r\n  globalTextMessage: string,\r\n  setGlobalTextMessage: SetState<string>,\r\n  stickers: Emoticon[],\r\n  setStickers: SetState<Emoticon[]>,\r\n  pendingMessages: Array<Partial<Message>>,\r\n  addNewPendingMessages: (message: Partial<Message>) => void;\r\n  removePendingMessage: (messageId: string) => void;\r\n  updatePendingMessage: (messageId: string, message: Message) => void;\r\n  playVoiceMessage: (media: Media) => void;\r\n  pauseVoiceMessage: () => void;\r\n  resumeVoiceMessage: () => void;\r\n  audioState: \"playing\" | \"paused\" | \"loading\" | null,\r\n  unload: () => void;\r\n  sound: Audio.Sound | null,\r\n  activeVoiceMessage: Media | null,\r\n  avPlayBackStatus: AVPlaybackStatus & { positionMillis: number } | null,\r\n  userMeta: UserMeta,\r\n  setUserMeta: SetState<UserMeta>,\r\n  conversationList: Array<ConversationListItem>,\r\n  setConversationList: SetState<Array<ConversationListItem>>\r\n};\r\n\r\nconst initialMessageStateContext: MessageStateContext = {\r\n  globalTextMessage: '',\r\n  setGlobalTextMessage: () => {},\r\n  stickers: [],\r\n  setStickers: () => {},\r\n  pendingMessages: [],\r\n  addNewPendingMessages: (message: Partial<Message>) => {},\r\n  removePendingMessage: (messageId: string) => {},\r\n  updatePendingMessage: (messageId: string, message: Message) => {},\r\n  playVoiceMessage: (media: Media) => {},\r\n  pauseVoiceMessage: () => {},\r\n  resumeVoiceMessage: () => {},\r\n  audioState: null,\r\n  unload: () => {},\r\n  sound: null,\r\n  activeVoiceMessage: null,\r\n  avPlayBackStatus: null,\r\n  userMeta: defaultUser,\r\n  setUserMeta: () => {},\r\n  conversationList: [],\r\n  setConversationList: () => {}\r\n}\r\n\r\nexport default initialMessageStateContext;\r\n\r\nconst MessageStateContext = createContext<MessageStateContext>(\r\n  initialMessageStateContext\r\n);\r\n\r\nexport const useMessageState = () => useContext(MessageStateContext);\r\n\r\nexport const MessageStateProvider = ({ children }: { children: JSX.Element }) => {\r\n \r\n  const [conversationList, setConversationList] = useState<Array<ConversationListItem>>([]);\r\n  const [ globalTextMessage, setGlobalTextMessage ] = useState('');\r\n  const [ stickers, setStickers ] = useState<Emoticon[]>([]);\r\n  const [ pendingMessages, setPendingMessages ] = useState<Array<Partial<Message>>>([]);\r\n  const [sound, setSound] = useState<Audio.Sound | null>(null);\r\n  const [ audioState, setAudioState ] = useState<\"playing\" | \"paused\" | \"loading\" | null>(null);\r\n  const [ activeVoiceMessage, setActiveVoiceMessage ] = useState<Media | null>(null);\r\n  const [ avPlayBackStatus, setAvPlayBackStatus ] = useState<AVPlaybackStatus & { positionMillis: number } | null>(null);\r\n  const [ userMeta, setUserMeta ] = useState<UserMeta>(defaultUser);\r\n\r\n  const addNewPendingMessages = (message: Partial<Message>) => {\r\n    setPendingMessages((prev) => {\r\n      return [ ...prev, message ]\r\n    });\r\n  }\r\n\r\n  const removePendingMessage = (messageId: string) => {\r\n    setPendingMessages((prev) => {\r\n      const filtered = prev.filter(m => m.messageId !== messageId)\r\n      return filtered\r\n    });\r\n  }\r\n\r\n  const updatePendingMessage = (messageId: string, updatedMessage: Message) => {\r\n    const clonedMessage = JSON.parse(JSON.stringify(updatedMessage));\r\n  \r\n    setPendingMessages((prev) =>\r\n      prev.map((message) =>\r\n        message.messageId === messageId ? { ...message, ...clonedMessage } : message\r\n      )\r\n    );\r\n  };\r\n  \r\n  const onPlaybackStatusUpdate = (data: AVPlaybackStatus & { didJustFinish: boolean , positionMillis: number}) => {\r\n    console.log(data)\r\n    setAvPlayBackStatus(data)\r\n    if(data?.didJustFinish){\r\n      setAudioState(null);\r\n      unload();\r\n    }\r\n  };\r\n  \r\n  const playVoiceMessage = async (media: Media) => {\r\n    if (activeVoiceMessage !== null && media.mediaId !== activeVoiceMessage?.mediaId) {\r\n      return unload()\r\n    }\r\n  \r\n    setActiveVoiceMessage(media);\r\n    setAudioState(\"loading\");\r\n  \r\n    try {\r\n      console.log('Loading Sound');\r\n      console.log(media.mediaUrl)\r\n      const { sound: avSound } = await Audio.Sound.createAsync({ uri: media.mediaUrl }, {}, onPlaybackStatusUpdate);\r\n      setSound(avSound);\r\n      console.log('Playing Sound');\r\n      setAudioState(\"playing\");\r\n      await avSound.playAsync();\r\n    } catch (error) {\r\n      console.error(\"Error loading audio: \", error);\r\n      setAudioState(null);  \r\n    }\r\n  };\r\n\r\n  const pauseVoiceMessage = async () => {\r\n    await sound?.pauseAsync();\r\n    setAudioState(\"paused\")\r\n  }\r\n\r\n  const resumeVoiceMessage = async () => {\r\n    if(audioState === \"paused\"){\r\n      await sound?.playAsync();\r\n      setAudioState(\"playing\")\r\n    }\r\n  }\r\n\r\n  const unload = () => {\r\n    console.log('Unloading Sound');\r\n    sound?.stopAsync();\r\n    sound?.unloadAsync();\r\n    setSound(null);\r\n    setActiveVoiceMessage(null);\r\n    setAudioState(null)\r\n  }\r\n\r\n  return (\r\n    <MessageStateContext.Provider\r\n      value={{\r\n        globalTextMessage,\r\n        setGlobalTextMessage,\r\n        stickers,\r\n        setStickers,\r\n        pendingMessages, \r\n        addNewPendingMessages,\r\n        removePendingMessage,\r\n        updatePendingMessage,\r\n        playVoiceMessage,\r\n        pauseVoiceMessage,\r\n        resumeVoiceMessage,\r\n        audioState,\r\n        unload,\r\n        sound,\r\n        activeVoiceMessage,\r\n        avPlayBackStatus,\r\n        userMeta,\r\n        setUserMeta,\r\n        conversationList,\r\n        setConversationList\r\n      }}\r\n    >\r\n      {children}\r\n    </MessageStateContext.Provider>\r\n  );\r\n};\r\n","export default {\r\n  id: \"\",\r\n  uid: \"\",\r\n  username: \"\",\r\n  firstname: \"\",\r\n  lastname: \"\",\r\n  profileUrl: \"\",\r\n  color: \"\",\r\n  custom: {}\r\n}\r\n","import { Message } from \"softchatjs-core\";\r\nimport React, { useCallback } from \"react\";\r\nimport { Image } from \"expo-image\";\r\n\r\ntype SickerProps = {\r\n  message: Message;\r\n};\r\n\r\nexport default function Sticker(props: SickerProps) {\r\n  \r\n  const { message } = props;\r\n\r\n  const renderSicker = useCallback(() => {\r\n    return (\r\n      <Image\r\n      source={{ uri: message.attachedMedia[0].mediaUrl }}\r\n      cachePolicy=\"disk\"\r\n      style={{ height: 70, width: 70, borderRadius: 8 }}\r\n    />\r\n    )\r\n  },[])\r\n\r\n  return (\r\n    <>{renderSicker()}</>\r\n  );\r\n}\r\n","import moment from 'moment';\r\n\r\nimport { StringOrNumber, Participant } from \"../types\";\r\nimport { Conversation, Message, MessageStates, UserMeta, ParticipantListInfo } from \"softchatjs-core\";\r\n\r\nimport { GestureResponderEvent } from 'react-native';\r\n\r\nexport function generateConversationId(str1: StringOrNumber, str2: StringOrNumber) {\r\n    const sortedStrings = [str1, str2].sort();\r\n    const combinedString = sortedStrings.join('_');\r\n    const hash = hashCode(combinedString);\r\n    return hash.toString()\r\n}\r\n\r\nfunction hashCode(str: string) {\r\n  let hash = 0;\r\n  if (str.length == 0) {\r\n      return hash;\r\n  }\r\n  for (let i = 0; i < str.length; i++) {\r\n      let char = str.charCodeAt(i);\r\n      hash = ((hash << 5) - hash) + char;\r\n      hash = hash & hash; // Convert to 32bit integer\r\n  }\r\n  return hash;\r\n}\r\n\r\nexport const generateId = () => {\r\n    let uuid = '';\r\n    const characters = 'abcdef0123456789';\r\n    for (let i = 0; i < 32; i++) {\r\n      const randomNumber = Math.floor(Math.random() * characters.length);\r\n      const character = characters.charAt(randomNumber);\r\n      if (i === 8 || i === 12 || i === 16 || i === 20) {\r\n        uuid += '-';\r\n      }\r\n      uuid += character;\r\n    }\r\n    return uuid;\r\n}\r\n\r\n\r\nexport const getUserInfoWithId = (userId: string, participantList: ParticipantListInfo[]): {\r\n  presentUser: UserMeta | undefined,\r\n  receivingUser: UserMeta | undefined,\r\n} => {\r\n  let presentUser = participantList.find(participant => participant.participantId === userId);\r\n  let otherParticipants = participantList.filter(participant => participant.participantId !== userId)\r\n  return { presentUser: presentUser?.participantDetails, receivingUser: otherParticipants[0]?.participantDetails };\r\n};\r\n\r\nexport const truncate = (str: string, len: number) => {\r\n  return str.length > len ? str.substring(0, len)+'...' : str;\r\n}\r\n\r\nexport const getConversationTitle = (userId: string, converstaion: Conversation) => {\r\n  if(converstaion.conversationType !== 'group-chat'){\r\n    const userInfos = getUserInfoWithId(userId, converstaion.participantList);\r\n\r\n    const firstname = userInfos.receivingUser?.firstname\r\n    const username = userInfos.receivingUser?.username\r\n    return firstname? firstname : username\r\n  }\r\n  return converstaion.groupMeta?.groupName || 'no-groupname'\r\n}\r\n\r\nexport const getUsernameInitials = (username: string) =>{\r\n  return username.substring(0, 1)\r\n}\r\n\r\nexport function formatMessageTime(time: Date | string) {\r\n  return moment(new Date(time)).format(\"hh:mm a\");\r\n}\r\n\r\nexport function formatConversationTime(time: Date | string) {\r\n  const now = moment();\r\n  const then = moment(time);\r\n  const duration = moment.duration(now.diff(then));\r\n\r\n  // Get the largest unit\r\n  const years = Math.floor(duration.asYears());\r\n  if (years > 0) return years + 'yr';\r\n\r\n  const months = Math.floor(duration.asMonths());\r\n  if (months > 0) return months + 'mo';\r\n\r\n  const weeks = Math.floor(duration.asWeeks());\r\n  if (weeks > 0) return weeks + 'w';\r\n\r\n  const days = Math.floor(duration.asDays());\r\n  if (days > 0) return days + 'd';\r\n\r\n  const hours = Math.floor(duration.asHours());\r\n  if (hours > 0) return hours + 'h';\r\n\r\n  const minutes = Math.floor(duration.asMinutes());\r\n  if (minutes > 0) return minutes + 'm';\r\n\r\n  // If duration is less than 1 minute\r\n  return 'Just now';\r\n}\r\n\r\nexport const generateFillerTimestamps = () => {\r\n  return {\r\n    createdAt: new Date(),\r\n    updatedAt: new Date(),\r\n  }\r\n}\r\n\r\nexport const getUnreadMessageIds = (conversation: Conversation, userId: string) => {\r\n  var ids: string[] = []\r\n  conversation.messages.map(m => {\r\n    if (m.messageState === MessageStates.SENT && m.from !== userId) {\r\n      ids.push(m.messageId)\r\n    }\r\n  })\r\n  return ids\r\n}\r\n\r\nexport const getQuotedMessage = (messageId: string, messages: Message[]) => {\r\n  const message = messages.find(msg => msg.messageId === messageId)\r\n  return message\r\n}\r\n\r\nexport const stopPropagation = (event: GestureResponderEvent) => {\r\n  event.stopPropagation();\r\n};\r\n\r\nexport const getRandomColor = (): string => {\r\n  const letters = '0123456789ABCDEF';\r\n  let color = '#';\r\n  for (let i = 0; i < 6; i++) {\r\n    color += letters[Math.floor(Math.random() * 16)];\r\n  }\r\n  return color\r\n};\r\n\r\nexport const getParticipant = (uid: string, participantList: ParticipantListInfo[]) => {\r\n  return participantList.find(p => p.participantDetails.uid === uid);\r\n}\r\n\r\nexport function convertToMinutes(seconds: number) {\r\n  var _seconds = Number(seconds.toFixed(0))\r\n  const minutes = Math.floor(_seconds / 60);\r\n  const remainingSeconds = _seconds % 60;\r\n\r\n  // Pad the numbers to always have two digits\r\n  const paddedMinutes = String(minutes).padStart(2, '0');\r\n  const paddedSeconds = String(remainingSeconds).padStart(2, '0');\r\n\r\n  return `${paddedMinutes}:${paddedSeconds}`;\r\n}\r\n\r\nexport const restructureMessages = (data: Array<string | Message>) => {\r\n  const groupMessagesByDate = data.reduce((acc, item) => {\r\n    if(typeof item !== \"string\") {\r\n      var date = moment(item.createdAt).format('MMMM DD, YYYY');\r\n      if(acc[date]) {\r\n        acc[date].unshift(item)\r\n      }else{\r\n        acc[date] = [ item ]\r\n      }\r\n    }\r\n    return acc\r\n  },{} as {[key: string]: Array<Message>});\r\n\r\n  const _messages: Array<string | Message> = Object.entries(groupMessagesByDate).flatMap(\r\n    ([date, messages]) => [...messages.reverse(), date]\r\n  );\r\n  return _messages\r\n}\r\n\r\n","import React from \"react\";\r\nimport { View, TouchableOpacity, Image, Text, Platform, ViewStyle } from \"react-native\";\r\nimport { Reaction, ServerActions } from \"softchatjs-core\";\r\nimport { useConfig } from \"../../../contexts/ChatProvider\";\r\nimport theme from \"../../../theme\";\r\n\r\ntype ReactionProps = {\r\n  reactions: Reaction[];\r\n  position: \"left\" | \"right\";\r\n  conversationId: string, \r\n  messageId: string,\r\n  chatUserId: string,\r\n  recipientId: string,\r\n  layout?: 'stacked'\r\n};\r\n\r\nexport default function Reactions(props: ReactionProps) {\r\n  const { reactions, position, conversationId, messageId, chatUserId, recipientId, layout } = props;\r\n  const { client, theme, fontScale } = useConfig()\r\n\r\n  const removeReaction = (selected: Reaction) => {\r\n    if(client){\r\n      if(selected.uid === chatUserId) {\r\n        const index = reactions.indexOf(selected);\r\n        if(index !== -1) {\r\n          const updateReactions = reactions.filter(r => reactions.indexOf(r) !== index);\r\n          client.messageClient(conversationId).reactToMessage(\r\n            {\r\n              conversationId: conversationId,\r\n              messageId: messageId,\r\n              reactions: updateReactions,\r\n              to: recipientId\r\n            }\r\n          )\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  return (\r\n    <View style={[{ flexDirection: \"row\" }]}>\r\n      {reactions.map((reaction, i) => (\r\n        <TouchableOpacity\r\n          key={i}\r\n          onPress={() => removeReaction(reaction)}\r\n          style={{\r\n            backgroundColor: position === \"left\" ? theme?.background.primary : theme?.background.secondary,\r\n            borderRadius: 45,\r\n            borderWidth: 1,\r\n            borderColor: theme?.divider,\r\n            alignItems: \"center\",\r\n            justifyContent: \"center\",\r\n            flexDirection: 'row',\r\n          }}\r\n        >\r\n          <Text\r\n            style={{ fontSize: Platform.OS === 'android'? 16 * fontScale : 18 * fontScale }}\r\n          >{reaction.emoji}</Text>\r\n        </TouchableOpacity>\r\n      ))}\r\n    </View>\r\n  );\r\n}\r\n","import React from \"react\";\r\nimport {\r\n  StyleSheet,\r\n  View,\r\n  TouchableOpacity,\r\n  Image,\r\n  Text,\r\n  ViewStyle,\r\n} from \"react-native\";\r\nimport {\r\n  AttachmentTypes,\r\n  Conversation,\r\n  MediaType,\r\n  Message,\r\n  UserMeta,\r\n} from \"softchatjs-core\";\r\nimport { ChatTheme } from \"../../../types\";\r\nimport { useCallback } from \"react\";\r\nimport Sticker from \"./Sticker\";\r\nimport MessageAvatar from \"../MessageAvatar\";\r\nimport { convertToMinutes, truncate } from \"../../../utils\";\r\nimport { useConfig } from \"../../../contexts/ChatProvider\";\r\nimport { MicIcon } from \"../../../assets/icons\";\r\nimport Preview from \"./Preview\";\r\n\r\ntype QuotedProps = {\r\n  quotedMessage: Message | null;\r\n  onPress: () => void;\r\n  layout?: \"stacked\";\r\n  theme?: ChatTheme;\r\n  position?: \"left\" | \"right\";\r\n  chatUserId?: string;\r\n};\r\n\r\nexport default function Quoted(props: QuotedProps) {\r\n  const { quotedMessage, layout, onPress, theme, position, chatUserId } = props;\r\n  const { fontFamily, fontScale } = useConfig();\r\n\r\n  if (!quotedMessage) {\r\n    return null;\r\n  }\r\n\r\n  // const RenderQuotedMessagePreview = useCallback(() => {\r\n  //   switch (quotedMessage.attachmentType) {\r\n  //     case AttachmentTypes.STICKER:\r\n  //       return (\r\n  //         <View style={{ padding: 3, borderWidth: 1, borderRadius: 3 }}>\r\n  //           <Text\r\n  //             style={{\r\n  //               color: theme?.text.secondary,\r\n  //               fontSize: 10,\r\n  //               fontFamily,\r\n  //             }}\r\n  //           >\r\n  //             {quotedMessage.attachmentType}\r\n  //           </Text>\r\n  //         </View>\r\n  //       );\r\n  //     case AttachmentTypes.MEDIA:\r\n  //       return (\r\n  //         <View style={{ padding: 3, borderWidth: 1, borderRadius: 3 }}>\r\n  //           <Text\r\n  //             style={{\r\n  //               color: theme?.text.secondary,\r\n  //               fontSize: 10,\r\n  //               fontFamily\r\n  //             }}\r\n  //           >\r\n  //             {quotedMessage.attachmentType}\r\n  //           </Text>\r\n  //         </View>\r\n  //       );\r\n  //     default:\r\n  //       return (\r\n  //         <View style={{ padding: 3, borderWidth: 1, borderRadius: 3 }}>\r\n  //           <Text\r\n  //             style={{\r\n  //               color: theme?.text.secondary,\r\n  //               fontSize: 10,\r\n  //               fontFamily\r\n  //             }}\r\n  //           >\r\n  //             media\r\n  //           </Text>\r\n  //         </View>\r\n  //       );\r\n  //   }\r\n  // }, []);\r\n  const renderMediaPreview = () => {\r\n    switch (quotedMessage.attachmentType) {\r\n      case AttachmentTypes.STICKER:\r\n        return <Sticker message={quotedMessage} />;\r\n      case AttachmentTypes.MEDIA:\r\n        var mediaType = quotedMessage.attachedMedia[0]?.type;\r\n        if (mediaType === MediaType.IMAGE) {\r\n          return <Sticker message={quotedMessage} />;\r\n        } else if (mediaType === MediaType.AUDIO) {\r\n          return (\r\n            <View style={{ flexDirection: \"row\", alignItems: \"center\" }}>\r\n              <MicIcon size={20} color={\"white\"} />\r\n              <Text\r\n                style={{\r\n                  color: \"white\",\r\n                  marginStart: 5,\r\n                }}\r\n              >\r\n                {convertToMinutes(\r\n                  quotedMessage.attachedMedia[0]?.meta?.audioDurationSec ?? 0\r\n                )}\r\n              </Text>\r\n            </View>\r\n          );\r\n        }\r\n    }\r\n  };\r\n\r\n  if (layout === \"stacked\") {\r\n    return (\r\n      <TouchableOpacity\r\n        onPress={() => onPress?.()}\r\n        style={{ flexDirection: \"row\", alignItems: \"center\" }}\r\n      >\r\n        <View\r\n          style={{\r\n            height: \"70%\",\r\n            width: \"100%\",\r\n            flex: 1,\r\n            borderLeftWidth: 2,\r\n            borderTopWidth: 2,\r\n            borderTopLeftRadius: 10,\r\n            marginStart: 22,\r\n            borderColor: theme?.divider,\r\n          }}\r\n        />\r\n        <View\r\n          style={{\r\n            width: \"85%\",\r\n            top: -8,\r\n            flexDirection: \"row\",\r\n            alignItems: \"center\",\r\n          }}\r\n        >\r\n          <MessageAvatar\r\n            size={20}\r\n            initials={quotedMessage?.messageOwner?.username.substring(0, 2)}\r\n            imgUrl={quotedMessage.messageOwner.profileUrl}\r\n            style={{\r\n              marginEnd: 5,\r\n              backgroundColor: quotedMessage.messageOwner.color,\r\n            }}\r\n          />\r\n          {quotedMessage.message ? (\r\n            <Text style={{ flex: 1, color: theme?.text.disabled, fontFamily }}>\r\n              {truncate(quotedMessage?.message, 100)}\r\n            </Text>\r\n          ) : (\r\n            <>{renderMediaPreview()}</>\r\n          )}\r\n        </View>\r\n      </TouchableOpacity>\r\n    );\r\n  }\r\n\r\n  let rightStyle: ViewStyle = {\r\n    borderRadius: 10,\r\n    alignItems: \"flex-end\",\r\n    padding: 8,\r\n    backgroundColor: theme?.chatBubble.right.bgColor,\r\n  };\r\n\r\n  let leftStyle: ViewStyle = {\r\n    padding: 8,\r\n    borderRadius: 10,\r\n    alignItems: \"flex-start\",\r\n    backgroundColor: theme?.chatBubble.left.bgColor,\r\n  };\r\n\r\n  // var replyingTo = (messageOwner: UserMeta) => {\r\n  //   return chatUserId === messageOwner.uid? `You replied to ${messageOwner.username}` : `${messageOwner.username} replied to you.`\r\n  // }\r\n\r\n  return (\r\n    <TouchableOpacity\r\n      onPress={() => onPress?.()}\r\n      style={[\r\n        {\r\n          backgroundColor: \"rgba(0,0,0,.3)\",\r\n          padding: 8,\r\n          marginTop: 8,\r\n          marginLeft: 8,\r\n          marginRight: 8,\r\n          borderRadius: 10,\r\n          borderLeftWidth: 4,\r\n          borderTopWidth: 4,\r\n          borderTopColor: 'transparent',\r\n          borderLeftColor: quotedMessage.messageOwner.color,\r\n        },\r\n      ]}\r\n    >\r\n      <Text\r\n        style={{\r\n          color: quotedMessage.messageOwner.color,\r\n          textTransform: \"capitalize\",\r\n          fontFamily,\r\n          marginBottom: 5,\r\n          textShadowColor: \"rgba(0, 0, 0, 0.3)\",\r\n          textShadowOffset: { width: 0.5, height: 0.5 },\r\n          textShadowRadius: 5,\r\n        }}\r\n      >\r\n        {quotedMessage.messageOwner.uid === chatUserId\r\n          ? \"You\"\r\n          : quotedMessage.messageOwner.username}\r\n      </Text>\r\n      <>{renderMediaPreview()}</>\r\n      <Preview\r\n        message={quotedMessage.message}\r\n        color={\r\n          position === \"left\"\r\n            ? (theme?.chatBubble.left.messageColor as string)\r\n            : (theme?.chatBubble.right.messageColor as string)\r\n        }\r\n      />\r\n      {quotedMessage.message && (\r\n        <Text\r\n          style={{\r\n            display: quotedMessage.message ? \"flex\" : \"none\",\r\n            fontFamily,\r\n            color: \"white\",\r\n            fontSize: 14 * fontScale,\r\n            marginTop: 5\r\n          }}\r\n        >\r\n          {quotedMessage.message}\r\n        </Text>\r\n      )}\r\n    </TouchableOpacity>\r\n  );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n  main: {\r\n    padding: 5,\r\n    borderLeftWidth: 2,\r\n    marginBottom: 5,\r\n  },\r\n});\r\n","import { View, Text } from \"react-native\";\r\nimport React from \"react\";\r\nimport { LinkPreview } from \"@flyerhq/react-native-link-preview\";\r\nimport { useConfig } from \"../../../contexts/ChatProvider\";\r\nimport { truncate } from \"../../../utils\";\r\nimport { LinkIcon } from \"../../../assets/icons\";\r\nimport { Image } from \"expo-image\";\r\n\r\nexport default function Preview({\r\n  message,\r\n  color,\r\n}: {\r\n  message: string;\r\n  color: string;\r\n}) {\r\n  const { theme, fontFamily, fontScale } = useConfig();\r\n\r\n  const urlRegex = /(https?:\\/\\/[^\\s]+)/gi;\r\n\r\n  if (!urlRegex.test(message)) {\r\n    return null;\r\n  }\r\n\r\n  return (\r\n    <LinkPreview\r\n      text={message}\r\n      renderLinkPreview={(data) => (\r\n        <View\r\n          style={{\r\n            flexDirection: \"row\",\r\n            alignItems: \"flex-start\",\r\n            width: '100%',\r\n            minWidth: 220,\r\n            // marginBottom: 5,\r\n            // borderWidth: 1,\r\n            // borderColor: theme?.icon,\r\n            padding: 8,\r\n            borderRadius: 10\r\n          }}\r\n        >\r\n          {data.previewData?.image?.url? (\r\n            <View style={{ height: 80, width: 80, borderRadius: 10, backgroundColor: \"lightgrey\", alignItems: 'center', justifyContent: \"center\" }}>\r\n              <LinkIcon color=\"black\" />\r\n            </View>\r\n          ):(\r\n            <Image\r\n              source={{ uri: data.previewData?.image?.url }}\r\n              cachePolicy=\"disk\"\r\n              style={{ backgroundColor: \"lightgrey\", borderRadius: 10, height: 80, width: 80 }}\r\n            />\r\n          )}\r\n          \r\n          <View style={{ flex: 1, width: '100%' }}>\r\n            <Text\r\n              style={{\r\n                display: data.previewData?.title? \"flex\" : \"none\",\r\n                flex: 1,\r\n                color: color,\r\n                marginStart: 8,\r\n                textDecorationLine: \"underline\",\r\n                fontFamily\r\n              }}\r\n            >\r\n              {data.previewData?.title}\r\n            </Text>\r\n            <Text\r\n              style={{\r\n                display: data.previewData?.description? \"flex\" : \"none\",\r\n                flex: 1,\r\n                color: color,\r\n                fontSize: 12 * fontScale,\r\n                marginStart: 8,\r\n                textDecorationLine: \"underline\",\r\n                fontFamily\r\n              }}\r\n            >\r\n              {truncate(data.previewData?.description || \"\", 100)}\r\n            </Text>\r\n          </View>\r\n        </View>\r\n      )}\r\n    />\r\n  );\r\n}\r\n","import { View, Text, TouchableOpacity } from \"react-native\";\r\nimport React from \"react\";\r\nimport { MediaType, Message } from \"softchatjs-core\";\r\nimport { useModalProvider } from \"../../../../contexts/ModalProvider\";\r\nimport ImagePreview from \"../../../Modals/ImagePreview\";\r\nimport VoiceMessage from \"./VoiceMessage\";\r\nimport { useConfig } from \"../../../../contexts/ChatProvider\";\r\nimport { Image } from \"expo-image\";\r\nimport VideoPlayer from \"./Video\";\r\n\r\ntype Props = {\r\n  message: Message;\r\n  isPending?: boolean;\r\n  recipientId: string;\r\n  position?: \"left\" | \"right\"\r\n};\r\n\r\nexport default function MediaMessage(props: Props) {\r\n  const { message, isPending, recipientId, position } = props;\r\n\r\n  const { theme } = useConfig();\r\n\r\n  const { displayModal } = useModalProvider();\r\n\r\n  return (\r\n    <View style={{ marginTop: message?.message ? 3 : 0 }}>\r\n      {message.attachedMedia.map((media, i) => {\r\n        if (media.type === MediaType.IMAGE) {\r\n          return (\r\n            <TouchableOpacity\r\n              onPress={() =>\r\n                displayModal({\r\n                  justifyContent: \"flex-start\",\r\n                  children: (\r\n                    <ImagePreview\r\n                      viewOnly\r\n                      clearActiveQuote={() => {}}\r\n                      activeQuote={null}\r\n                      chatUserId={\"\"}\r\n                      recipientId={\"\"}\r\n                      image={media}\r\n                    />\r\n                  ),\r\n                })\r\n              }\r\n              key={i}\r\n              activeOpacity={0.7}\r\n              style={{ padding: 2, borderRadius: 16.5, backgroundColor: position === \"right\"? theme.chatBubble.right.bgColor : theme.chatBubble.left.bgColor }}\r\n            >\r\n              <Image\r\n                placeholder={require(\"../../../../assets/img_placeholder.png\")}\r\n                placeholderContentFit=\"cover\"\r\n                source={{ uri: isPending ? media.mediaUrl : media.mediaUrl }}\r\n                style={{\r\n                  height: 200,\r\n                  width: 250,\r\n                  borderRadius: 15,\r\n                  // marginBottom: 10,\r\n                }}\r\n                cachePolicy=\"disk\"\r\n                contentFit=\"cover\"\r\n              />\r\n            </TouchableOpacity>\r\n          );\r\n        } else if (media.type === MediaType.AUDIO) {\r\n          return (\r\n            <View key={i} style={{ marginBottom: 5 }}>\r\n              <VoiceMessage media={media} textColor={theme?.text.secondary} />\r\n            </View>\r\n          );\r\n        } else if (media.type === MediaType.VIDEO) {\r\n          return (\r\n            <VideoPlayer\r\n              key={i}\r\n              media={media}\r\n              message={message}\r\n              recipientId={recipientId}\r\n              position={position}\r\n            />\r\n          );\r\n        }\r\n      })}\r\n    </View>\r\n  );\r\n}\r\n","import {\r\n  View,\r\n  Text,\r\n  TextInput,\r\n  KeyboardAvoidingView,\r\n  Platform,\r\n  TouchableWithoutFeedback,\r\n  Keyboard,\r\n  Dimensions,\r\n  TouchableOpacity,\r\n  ActivityIndicator,\r\n} from \"react-native\";\r\nimport React, { useMemo, useRef, useState } from \"react\";\r\nimport {\r\n  generateConversationId,\r\n  generateFillerTimestamps,\r\n  generateId,\r\n  AttachmentTypes,\r\n  Media,\r\n  MediaType,\r\n  Message,\r\n  MessageStates,\r\n} from \"softchatjs-core\";\r\nimport {\r\n  Gesture,\r\n  GestureDetector,\r\n  GestureHandlerRootView,\r\n} from \"react-native-gesture-handler\";\r\nimport ChatInput from \"../Chat/ChatInput\";\r\nimport { XIcon } from \"../../assets/icons\";\r\nimport { useModalProvider } from \"../../contexts/ModalProvider\";\r\nimport { UPLOAD_MEDIA } from \"../../api\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\nimport { useMessageState } from \"../../contexts/MessageStateContext\";\r\nimport { Image } from \"expo-image\";\r\n\r\ntype ImagePreviewProps = {\r\n  image: (Media & { base64?: string | undefined }) | null;\r\n  chatUserId: string;\r\n  recipientId: string;\r\n  activeQuote: Message | null;\r\n  clearActiveQuote: () => void;\r\n  viewOnly?: boolean;\r\n  conversationId?: string | undefined;\r\n};\r\n\r\nconst { width, height } = Dimensions.get(\"screen\");\r\n\r\nfunction clamp(val: number, min: number, max: number) {\r\n  return Math.min(Math.max(val, min), max);\r\n}\r\n\r\nexport default function ImagePreview(props: ImagePreviewProps) {\r\n  const inputRef = useRef<TextInput>(null);\r\n\r\n  const {\r\n    image,\r\n    chatUserId,\r\n    recipientId,\r\n    activeQuote,\r\n    clearActiveQuote,\r\n    viewOnly = false,\r\n    conversationId,\r\n  } = props;\r\n  const { userMeta, addNewPendingMessages } = useMessageState();\r\n  const { resetModal } = useModalProvider();\r\n  const { client } = useConfig();\r\n  const { globalTextMessage, setGlobalTextMessage } = useMessageState();\r\n  const [message, setMessage] = useState(globalTextMessage);\r\n\r\n  const screenWidth = width;\r\n  const screenHeight = height;\r\n  const [uploading, showUploading] = useState(false);\r\n\r\n  const uploadImage = async () => {\r\n    try {\r\n      if (client && image?.base64) {\r\n        var timeStamps = generateFillerTimestamps();\r\n\r\n        addNewPendingMessages({\r\n          from: chatUserId,\r\n          messageId: generateId(),\r\n          conversationId,\r\n          to: recipientId,\r\n          message,\r\n          reactions: [],\r\n          attachedMedia: [\r\n            {\r\n              uploading: true,\r\n              type: MediaType.IMAGE,\r\n              mimeType: image.mimeType,\r\n              ext: \".png\",\r\n              mediaId: generateId(),\r\n              mediaUrl: image.base64,\r\n              meta: {\r\n                aspectRatio: image?.meta?.aspectRatio,\r\n                height: image?.meta?.height,\r\n                width: image?.meta?.width,\r\n                size: image?.meta?.size,\r\n              },\r\n            },\r\n          ],\r\n          messageOwner: {\r\n            ...userMeta,\r\n            ...timeStamps,\r\n          },\r\n          attachmentType: AttachmentTypes.MEDIA,\r\n          quotedMessage: null,\r\n          quotedMessageId: activeQuote?.messageId || \"\",\r\n          createdAt: new Date(),\r\n        });\r\n        if (activeQuote?.message) {\r\n          clearActiveQuote();\r\n        }\r\n        resetModal();\r\n      }\r\n    } catch (error) {\r\n      if (error instanceof Error) {\r\n        console.error(error.message);\r\n      }\r\n    } finally {\r\n      showUploading(false);\r\n    }\r\n  };\r\n\r\n  const url = useMemo(() => {\r\n    // if(viewOnly) return image?.mediaUrl\r\n    // return \"data:image/jpeg;base64,\" + image?.base64\r\n    return image?.mediaUrl;\r\n  }, [image]);\r\n\r\n  return (\r\n    // <GestureHandlerRootView>\r\n    <View\r\n      style={{\r\n        flex: 1,\r\n        backgroundColor: \"black\",\r\n        height: \"100%\",\r\n        width: \"100%\",\r\n        paddingBottom: Platform.OS === \"android\" ? 0 : 20,\r\n      }}\r\n    >\r\n      <TouchableOpacity\r\n        onPress={() => resetModal(() => {})}\r\n        style={{\r\n          zIndex: 999,\r\n          top: Platform.OS === \"ios\" ? 50 : 20,\r\n          right: 15,\r\n          position: \"absolute\",\r\n          alignSelf: \"flex-end\",\r\n        }}\r\n      >\r\n        <XIcon size={30} color=\"white\" />\r\n      </TouchableOpacity>\r\n      <KeyboardAvoidingView\r\n        style={{ flex: 1 }}\r\n        behavior={Platform.OS === \"ios\" ? \"padding\" : \"height\"}\r\n        keyboardVerticalOffset={Platform.OS === \"ios\" ? 10 : 0}\r\n      >\r\n        <TouchableWithoutFeedback onPress={() => Keyboard.dismiss()}>\r\n          <View\r\n            style={{\r\n              flex: 1,\r\n              height: \"100%\",\r\n              width: \"100%\",\r\n              justifyContent: \"center\",\r\n              alignItems: \"center\",\r\n            }}\r\n          >\r\n            <Image\r\n              source={{ uri: url }}\r\n              style={{\r\n                height: \"100%\",\r\n                width: \"100%\",\r\n              }}\r\n              contentFit=\"contain\"\r\n            />\r\n          </View>\r\n        </TouchableWithoutFeedback>\r\n\r\n        {viewOnly === false && (\r\n          <View\r\n            style={{\r\n              width: screenWidth,\r\n              alignSelf: \"center\",\r\n              opacity: 1,\r\n              backgroundColor: \"black\",\r\n            }}\r\n          >\r\n            <ChatInput\r\n              conversationId={conversationId || \"\"}\r\n              hasEmojis={false}\r\n              inputRef={inputRef}\r\n              sendMessage={() => uploadImage()}\r\n              chatUserId={chatUserId}\r\n              recipientId={recipientId}\r\n              // selectedMessage={activeQuote}\r\n              value={message}\r\n              setValue={setMessage}\r\n              messageType=\"multimedia-text\"\r\n            />\r\n          </View>\r\n        )}\r\n      </KeyboardAvoidingView>\r\n      {uploading && (\r\n        <View\r\n          style={{\r\n            position: \"absolute\",\r\n            flex: 1,\r\n            height: \"100%\",\r\n            width: \"100%\",\r\n            backgroundColor: \"rgba(0,0,0,.5)\",\r\n            alignItems: \"center\",\r\n            justifyContent: \"center\",\r\n          }}\r\n        >\r\n          <ActivityIndicator size=\"large\" />\r\n        </View>\r\n      )}\r\n    </View>\r\n    // </GestureHandlerRootView>\r\n  );\r\n}\r\n","import React from \"react\";\r\nimport {\r\n  TextInput,\r\n  View,\r\n  StyleSheet,\r\n  TouchableOpacity,\r\n  Dimensions,\r\n  Text,\r\n  Platform,\r\n  ActivityIndicator,\r\n  ViewStyle\r\n} from \"react-native\";\r\nimport Animated, {\r\n  interpolate,\r\n  useAnimatedStyle,\r\n  useSharedValue,\r\n} from \"react-native-reanimated\";\r\nimport TrashIcon, {\r\n  AttachmentIcon,\r\n  CloseIcon,\r\n  EmojiIcon,\r\n  LockClosed,\r\n  LockOpen,\r\n  MicIcon,\r\n  PauseIcon,\r\n  PlayIcon,\r\n  SendIcon,\r\n  StickerIcon,\r\n  StopIcon,\r\n} from \"../../assets/icons\";\r\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\nimport { Audio } from \"expo-av\";\r\nimport { AudioWaves } from \"./ChatItem/Media/VoiceMessage\";\r\nimport { Children } from \"../../types\";\r\nimport { useMessageState } from \"../../contexts/MessageStateContext\";\r\nimport { ConversationType } from 'softchatjs-core'\r\n \r\ntype RecordingStatus = {\r\n  canRecord: boolean;\r\n  durationMillis: number;\r\n  isRecording: boolean;\r\n  mediaServicesDidReset: boolean;\r\n  metering: number;\r\n};\r\n\r\ntype ChatInputProps = {\r\n  inputRef: React.RefObject<TextInput>;\r\n  mediaOptionsRef?: React.RefObject<any>;\r\n  openEmojis?: () => void;\r\n  sendMessage: () => void;\r\n  chatUserId: string;\r\n  // recipientId: string;\r\n  // selectedMessage: SelectedMessage;\r\n  hasEmojis?: boolean;\r\n  value: string;\r\n  setValue: (value: string) => void;\r\n  isEditing?: boolean;\r\n  onStopEditing?: () => void;\r\n  messageType?: \"text\" | \"multimedia-text\";\r\n  conversationId: string;\r\n  recipientId: string;\r\n  audioWaves?: { [key: number]: { metering: number; height: number } };\r\n  isLoading?: boolean;\r\n  sendVoiceMessage?: () => void;\r\n  onStartRecording?: () => void;\r\n  onDeleteRecording?: () => void;\r\n  isRecording?: boolean;\r\n  audioTime?: number;\r\n  // conversationType: ConversationType\r\n};\r\n\r\nconst ActionContainer = ({\r\n  loading,\r\n  onPress,\r\n  children,\r\n  style\r\n}: {\r\n  loading: boolean;\r\n  onPress: () => void;\r\n  children: Children;\r\n  style?: ViewStyle\r\n}) => {\r\n  if (loading) {\r\n    return <ActivityIndicator style={{ ...style }} />;\r\n  }\r\n  return (\r\n    <TouchableOpacity\r\n      disabled={loading}\r\n      style={{\r\n        padding: Platform.OS === \"ios\" ? 3 : 1.5,\r\n        borderRadius: 100,\r\n        ...style,\r\n      }}\r\n      onPress={onPress}\r\n    >\r\n      {children}\r\n    </TouchableOpacity>\r\n  );\r\n};\r\n\r\nexport const METERING_MIN_POWER = Platform.select({\r\n  default: -50,\r\n  android: -100,\r\n});\r\n\r\nexport default function ChatInput(props: ChatInputProps) {\r\n  const {\r\n    inputRef,\r\n    openEmojis,\r\n    mediaOptionsRef,\r\n    sendMessage,\r\n    // chatUserId,\r\n    // recipientId,\r\n    // selectedMessage,\r\n    hasEmojis = true,\r\n    value,\r\n    setValue,\r\n    isEditing,\r\n    onStopEditing,\r\n    messageType = \"text\",\r\n    conversationId,\r\n    recipientId,\r\n    isLoading = false,\r\n    audioWaves = {},\r\n    sendVoiceMessage,\r\n    onStartRecording,\r\n    onDeleteRecording,\r\n    isRecording = false,\r\n    audioTime = 0,\r\n  } = props;\r\n\r\n  const { theme, fontScale } = useConfig();\r\n  var minInputHeight = Platform.OS === \"android\" ? 30 : 40;\r\n  const { addNewPendingMessages, pauseVoiceMessage } = useMessageState();\r\n  const { client, fontFamily } = useConfig();\r\n  const [inputHeight, setInputHeight] = useState(minInputHeight);\r\n  const [alignItems, setAlignItems] = useState<\"center\" | \"flex-end\">(\"center\");\r\n  const touchStart = useSharedValue({ x: 0, y: 0, time: 0 });\r\n  const inputAnimatedView = useSharedValue(0);\r\n  const deviceWidth = Dimensions.get(\"window\").width;\r\n  const deviceHeight = Dimensions.get(\"window\").height;\r\n  const micDrag = useSharedValue({ x: deviceWidth, y: 0 });\r\n  const [lock, setLock] = useState(false);\r\n  const [isInputFocused, setIsInputFocused] = useState(false);\r\n  const [recording, setRecording] = useState<Audio.Recording>();\r\n  const [permissionResponse, requestPermission] = Audio.usePermissions();\r\n  // const [audioTime, setAudioTime] = useState(0);\r\n  // const [audioWaves, setAudioWaves] = useState<{ [key: number]: { metering: number, height: number } }>({});\r\n  const [sound, setSound] = useState();\r\n  const [audioFileUri, setAudioFileUri] = useState(\"\");\r\n  const [isRecordingPaused, setIsRecordingPaused] = useState(false);\r\n  const [voiceMessageState, setVoiceMessageState] = useState<\r\n    \"inactive\" | \"recording\" | \"paused\" | \"stopped\"\r\n  >(\"inactive\");\r\n\r\n  const hasTyped = useMemo(() => {\r\n    if (messageType === \"text\") {\r\n      return value?.length > 0 ? true : false;\r\n    }\r\n    // just to stop the send btn from being disabled incase of a multimedia-text message\r\n    return true;\r\n  }, [value]);\r\n\r\n  const getContainerBottomPadding = useMemo(() => {\r\n    let value = 0;\r\n    if (inputHeight > 60) {\r\n      if (alignItems === \"flex-end\") {\r\n        if (Platform.OS === \"ios\") {\r\n          value = 0;\r\n        }\r\n        value = 5;\r\n      }\r\n      if (Platform.OS === \"android\") value = 10;\r\n    } else {\r\n      if (Platform.OS === \"android\") {\r\n        value = 10;\r\n      }\r\n    }\r\n    return value;\r\n  }, []);\r\n\r\n  if (isRecording) {\r\n    return (\r\n      <View\r\n        style={[\r\n          {\r\n            ...styles.main,\r\n            alignItems,\r\n            flexDirection: \"column\",\r\n\r\n            paddingBottom: getContainerBottomPadding,\r\n            borderTopColor: theme?.divider,\r\n            justifyContent: \"space-between\",\r\n          },\r\n        ]}\r\n      >\r\n        <View\r\n          style={{\r\n            flexDirection: \"row\",\r\n            alignItems: \"center\",\r\n            paddingHorizontal: 0,\r\n          }}\r\n        >\r\n          <TouchableOpacity\r\n            style={{\r\n              padding: Platform.OS === \"ios\" ? 3 : 1.5,\r\n              borderRadius: 100,\r\n              // backgroundColor: theme?.icon,\r\n            }}\r\n            onPress={() => onDeleteRecording?.()}\r\n          >\r\n            <TrashIcon color={theme?.icon} />\r\n          </TouchableOpacity>\r\n          <AudioWaves\r\n            type=\"record\"\r\n            audioTime={audioTime}\r\n            audioWaves={audioWaves}\r\n          />\r\n          <ActionContainer\r\n            loading={isLoading}\r\n            onPress={() => sendVoiceMessage?.()}\r\n          >\r\n            <SendIcon size={30} color={theme?.icon} />\r\n          </ActionContainer>\r\n        </View>\r\n      </View>\r\n    );\r\n  }\r\n\r\n  return (\r\n    <View\r\n      style={[\r\n        {\r\n          ...styles.main,\r\n          alignItems,\r\n          paddingBottom: getContainerBottomPadding,\r\n          borderTopColor: theme?.divider,\r\n        },\r\n      ]}\r\n    >\r\n      <View\r\n        style={[\r\n          {\r\n            flexDirection: \"row\",\r\n            alignItems: \"center\",\r\n            flex: 1,\r\n          },\r\n        ]}\r\n      >\r\n        {hasEmojis && (\r\n          <TouchableOpacity\r\n            onPress={() => {\r\n              mediaOptionsRef?.current.pickAttachment();\r\n              inputRef?.current?.blur();\r\n            }}\r\n            style={{\r\n              marginEnd: 5,\r\n              marginBottom: 3,\r\n              display: isEditing ? \"none\" : \"flex\",\r\n            }}\r\n          >\r\n            <AttachmentIcon size={26} color={theme?.icon} />\r\n          </TouchableOpacity>\r\n        )}\r\n\r\n        <View\r\n          style={{\r\n            backgroundColor: theme?.background.secondary,\r\n            flex: 1,\r\n            flexDirection: \"row\",\r\n            alignItems: \"center\",\r\n            borderRadius: 25,\r\n            padding: Platform.OS === \"ios\" ? 5 : 2.5,\r\n          }}\r\n        >\r\n          <TextInput\r\n            ref={inputRef}\r\n            style={{\r\n              ...styles.textInput,\r\n              fontSize: 18 * fontScale,\r\n              color: theme?.text.secondary,\r\n              backgroundColor: theme?.background.secondary,\r\n              fontFamily\r\n            }}\r\n            onFocus={() => setIsInputFocused(true)}\r\n            onBlur={() => setIsInputFocused(false)}\r\n            multiline\r\n            defaultValue={value}\r\n            onChangeText={(value) => setValue(value)}\r\n          />\r\n          {hasEmojis && (\r\n            <TouchableOpacity\r\n              onPress={() => openEmojis?.()}\r\n              style={{ padding: 4, display: isEditing ? \"none\" : \"flex\" }}\r\n            >\r\n              <EmojiIcon size={25} color={theme?.icon} />\r\n            </TouchableOpacity>\r\n          )}\r\n        </View>\r\n        {isEditing && (\r\n          <TouchableOpacity\r\n            activeOpacity={0.7}\r\n            style={{\r\n              marginStart: 10,\r\n              marginEnd: 5,\r\n              padding: Platform.OS === \"ios\" ? 3 : 1.5,\r\n              borderRadius: 100,\r\n              backgroundColor: \"red\",\r\n            }}\r\n            onPress={() => onStopEditing?.()}\r\n          >\r\n            <CloseIcon bgColor=\"transparent\" size={23} color=\"white\" />\r\n          </TouchableOpacity>\r\n        )}\r\n        {hasTyped ? (\r\n          <TouchableOpacity\r\n            disabled={!hasTyped || isLoading}\r\n            activeOpacity={0.7}\r\n            style={{\r\n              opacity: hasTyped ? 1 : 0.3,\r\n              marginStart: 5,\r\n              padding: Platform.OS === \"ios\" ? 3 : 1.5,\r\n              borderRadius: 100,\r\n              // backgroundColor: theme?.icon,\r\n            }}\r\n            onPress={() => sendMessage()}\r\n          >\r\n            {isLoading ? (\r\n              <ActivityIndicator />\r\n            ) : (\r\n              <SendIcon\r\n                size={30}\r\n                color={\r\n                  messageType === \"multimedia-text\" ? \"white\" : theme?.icon\r\n                }\r\n              />\r\n            )}\r\n          </TouchableOpacity>\r\n        ) : (\r\n          <ActionContainer loading={isLoading} style={{ marginLeft: 5 }} onPress={() => onStartRecording?.()}>\r\n            <MicIcon color={theme?.icon} />\r\n          </ActionContainer>\r\n          \r\n        )}\r\n      </View>\r\n    </View>\r\n  );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n  main: {\r\n    width: \"100%\",\r\n    flexDirection: \"row\",\r\n    paddingHorizontal: 10,\r\n    borderTopWidth: 0.5,\r\n\r\n    alignItems: \"center\",\r\n    paddingVertical: Platform.OS === \"ios\" ? 10 : 10,\r\n    maxHeight: 110,\r\n  },\r\n  textInput: {\r\n    maxHeight: 100,\r\n    fontSize: 18,\r\n    height: Platform.OS === \"ios\" ? \"100%\" : \"100%\",\r\n    width: \"100%\",\r\n    paddingHorizontal: 10,\r\n    borderRadius: 25,\r\n    flex: 1,\r\n  },\r\n});\r\n","import { View, Text, TouchableOpacity, ActivityIndicator } from \"react-native\";\r\nimport React, { useCallback, useMemo } from \"react\";\r\nimport { PauseIcon, PlayIcon } from \"../../../../assets/icons\";\r\nimport { convertToMinutes } from \"../../../../utils\";\r\nimport { useConfig } from \"../../../../contexts/ChatProvider\";\r\nimport { Media } from \"softchatjs-core\";\r\nimport { useMessageState } from \"../../../../contexts/MessageStateContext\";\r\nimport theme from \"../../../../theme\";\r\n\r\ntype VoiceMessageProps = {\r\n  media: Media;\r\n  textColor?: string;\r\n};\r\n\r\nvar generateDefaultAudioMeterings = () => {\r\n  const ui: { [key: number]: { metering: number; height: number } } = {};\r\n  for (let i = 1; i <= 50; i++) {\r\n    ui[i] = {\r\n      metering: -50,\r\n      height: 10,\r\n    };\r\n  }\r\n  return ui;\r\n};\r\n\r\nexport const AudioWaves = ({\r\n  type = \"record\",\r\n  audioTime,\r\n  audioWaves,\r\n}: {\r\n  type: \"play\" | \"record\";\r\n  audioTime: number;\r\n  audioWaves: { [key: number]: { metering: number; height: number } };\r\n}) => {\r\n  const { theme, fontFamily } = useConfig();\r\n\r\n  const waves = Object.values(audioWaves).flat();\r\n\r\n  return (\r\n    <View\r\n      style={{\r\n        flex: 1,\r\n        marginHorizontal: 5,\r\n        borderWidth: type === \"record\" ? 1 : 0,\r\n        overflow: \"hidden\",\r\n        borderColor: theme?.divider,\r\n        borderRadius: 100,\r\n        paddingHorizontal: 10,\r\n        height: 35,\r\n        flexDirection: \"row\",\r\n        alignItems: \"center\",\r\n      }}\r\n    >\r\n      <Text\r\n        style={{\r\n          color: type === \"play\" ? theme?.text.primary : \"white\",\r\n          fontSize: 12,\r\n          fontFamily,\r\n          marginEnd: 5,\r\n        }}\r\n      >\r\n        {convertToMinutes(Number(audioTime.toFixed(0)))}\r\n      </Text>\r\n      <View\r\n        style={{\r\n          flex: 1,\r\n          flexDirection: \"row\",\r\n          alignItems: \"center\",\r\n          height: \"100%\",\r\n          justifyContent: type === \"play\" ? \"flex-start\" : \"flex-end\",\r\n          overflow: \"hidden\",\r\n          paddingHorizontal: 0,\r\n        }}\r\n      >\r\n        {waves.map((wave, i) => (\r\n          <View\r\n            key={i}\r\n            style={{\r\n              width: 2,\r\n              backgroundColor: theme?.icon,\r\n              height: `${wave.height}%`,\r\n              marginEnd: 2,\r\n              borderRadius: 1,\r\n            }}\r\n          />\r\n        ))}\r\n      </View>\r\n    </View>\r\n  );\r\n};\r\n\r\nexport default function VoiceMessage(props: VoiceMessageProps) {\r\n  const { media, textColor = theme.text.primary } = props;\r\n  const { fontFamily } = useConfig()\r\n  const {\r\n    audioState,\r\n    playVoiceMessage,\r\n    pauseVoiceMessage,\r\n    resumeVoiceMessage,\r\n    activeVoiceMessage,\r\n    avPlayBackStatus,\r\n  } = useMessageState();\r\n\r\n  const renderVoiceMessageControls = useCallback(() => {\r\n    var isActiveVoiceMessage = media.mediaId === activeVoiceMessage?.mediaId;\r\n    if (isActiveVoiceMessage && audioState === \"loading\") {\r\n      return <ActivityIndicator size={25} />;\r\n    } else if (isActiveVoiceMessage && audioState === null) {\r\n      return (\r\n        <TouchableOpacity onPress={() => playVoiceMessage(media)}>\r\n          <PlayIcon color={theme?.icon} />\r\n        </TouchableOpacity>\r\n      );\r\n    } else if (isActiveVoiceMessage && audioState === \"playing\") {\r\n      return (\r\n        <TouchableOpacity onPress={pauseVoiceMessage}>\r\n          <PauseIcon color={theme?.icon} />\r\n        </TouchableOpacity>\r\n      );\r\n    } else if (isActiveVoiceMessage && audioState === \"paused\") {\r\n      return (\r\n        <TouchableOpacity onPress={resumeVoiceMessage}>\r\n          <PlayIcon color={theme?.icon} />\r\n        </TouchableOpacity>\r\n      );\r\n    } else {\r\n      return (\r\n        <TouchableOpacity onPress={() => playVoiceMessage(media)}>\r\n          <PlayIcon color={theme?.icon} />\r\n        </TouchableOpacity>\r\n      );\r\n    }\r\n  }, [media, activeVoiceMessage, audioState]);\r\n\r\n  var progress = useMemo(() => {\r\n    try {\r\n      var isActiveVoiceMessage = media.mediaId === activeVoiceMessage?.mediaId;\r\n      if (isActiveVoiceMessage) {\r\n        if (audioState === null || audioState === \"loading\") {\r\n          return {\r\n            percentage: 0,\r\n            timePlayed: media?.meta?.audioDurationSec ?? 0 / 1000,\r\n          };\r\n        }\r\n        var curr = avPlayBackStatus?.positionMillis / 1000;\r\n        var duration = media?.meta?.audioDurationSec ?? 0 / 1000;\r\n        var percentage = (curr / duration) * 100;\r\n        return { percentage, timePlayed: curr };\r\n      }\r\n      return { percentage: 0, timePlayed: media.meta?.audioDurationSec ?? 0 };\r\n    } catch (error) {\r\n      return { percentage: 0, timePlayed: media.meta?.audioDurationSec ?? 0 };\r\n    }\r\n  }, [media, avPlayBackStatus, audioState]);\r\n\r\n  return (\r\n    <View\r\n      style={{\r\n        flexDirection: \"row\",\r\n        alignItems: \"center\",\r\n        width: \"100%\",\r\n        minWidth: 50,\r\n        backgroundColor: theme.background.disabled,\r\n        padding: 10,\r\n        borderRadius: 25\r\n        // backgroundColor: 'red'\r\n      }}\r\n    >\r\n      <>{renderVoiceMessageControls()}</>\r\n      <View\r\n        style={{\r\n          flex: 1,\r\n          backgroundColor: theme?.divider,\r\n          marginHorizontal: 10,\r\n        }}\r\n      >\r\n        <View\r\n          style={{\r\n            width: `${progress.percentage}%`,\r\n            maxWidth: \"100%\",\r\n            height: 3,\r\n            backgroundColor: theme?.icon,\r\n          }}\r\n        />\r\n      </View>\r\n      <Text style={{ marginStart: 5, color: textColor, fontFamily }}>\r\n        {convertToMinutes(progress.timePlayed)}\r\n      </Text>\r\n    </View>\r\n  );\r\n}\r\n","import React, { useRef, useState } from 'react'\r\nimport { View, Text, StyleSheet, Button, TouchableOpacity } from 'react-native'\r\nimport { Video, ResizeMode } from 'expo-av';\r\nimport { Media, Message } from 'softchatjs-core';\r\nimport { useModalProvider } from '../../../../contexts/ModalProvider';\r\nimport VideoViewer from '../../../Modals/VideoViewer';\r\nimport { PlayIcon } from '../../../../assets/icons';\r\nimport { useConfig } from '../../../../contexts/ChatProvider';\r\nimport { useVideoPlayer, VideoView } from \"expo-video\";\r\nimport { useEvent } from \"expo\";\r\n\r\n\r\nexport default function VideoPlayer(props: { media: Media, message: Message, recipientId: string, position: \"left\" | \"right\" }) {\r\n\r\n  const { client, theme } = useConfig()\r\n  const video = useRef(null);\r\n  const [status, setStatus] = useState({});\r\n  const { displayModal } = useModalProvider();\r\n\r\n  const player = useVideoPlayer(props.media.mediaUrl, (player) => {\r\n    // player.loop = true;\r\n    // player.play();\r\n  });\r\n\r\n  const deleteMessage = () => {\r\n    if (client) {\r\n      client\r\n        .messageClient(props.message.conversationId)\r\n        .deleteMessage(\r\n          props.message.messageId,\r\n          props.recipientId,\r\n          props.message.conversationId\r\n        );\r\n    }\r\n  };\r\n\r\n  return (\r\n    <TouchableOpacity onPress={() =>\r\n      displayModal({\r\n        justifyContent: 'flex-start',\r\n        children: <VideoViewer onDelete={deleteMessage} conversationId={''} clearActiveQuote={() => {}} view activeQuote={null} chatUserId={''} recipientId={''} media={\r\n          props.media\r\n        } />\r\n      })\r\n    } style={{ ...styles.container, borderRadius: 16.5, padding: 2, backgroundColor: props.position === \"right\"? theme.chatBubble.right.bgColor : theme.chatBubble.left.bgColor }}>\r\n      <VideoView\r\n        style={styles.video}\r\n        player={player}\r\n        contentFit=\"cover\"\r\n      />\r\n      <View style={{ flex: 1, position: \"absolute\", borderRadius: 15, height: '100%', width: '100%', backgroundColor: \"rgba(0,0,0,.6)\", alignItems: 'center', justifyContent: 'center' }}>\r\n        <PlayIcon color='white' size={30} />\r\n      </View>\r\n    </TouchableOpacity>\r\n  )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n  container: {\r\n    height: 200, \r\n    minWidth: 250,\r\n    borderRadius: 15,\r\n    alignItems: 'center',\r\n    justifyContent: 'center'\r\n  },\r\n  buttons: {\r\n\r\n  },\r\n  video: {\r\n    flex: 1,\r\n    borderRadius: 15\r\n  }\r\n})","import { useModalProvider } from \"../../contexts/ModalProvider\";\r\nimport TrashIcon, {\r\n  PauseIcon,\r\n  PlayIcon,\r\n  SendIcon,\r\n  XIcon,\r\n} from \"../../assets/icons\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\nimport { useEvent } from \"expo\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { useVideoPlayer, VideoView } from \"expo-video\";\r\nimport {\r\n  StyleSheet,\r\n  View,\r\n  Button,\r\n  TouchableOpacity,\r\n  Alert,\r\n} from \"react-native\";\r\nimport {\r\n  Message,\r\n  Media,\r\n  generateFillerTimestamps,\r\n  generateId,\r\n  MediaType,\r\n  AttachmentTypes,\r\n} from \"softchatjs-core\";\r\nimport { useMessageState } from \"../../contexts/MessageStateContext\";\r\n\r\ntype VideoViewProps = {\r\n  conversationId?: string;\r\n  clearActiveQuote?: () => void;\r\n  activeQuote: Message | null;\r\n  chatUserId: string;\r\n  recipientId: string;\r\n  media: Media;\r\n  view?: boolean;\r\n  onDelete?: () => void;\r\n};\r\n\r\nconst videoSource =\r\n  \"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4\";\r\n\r\nexport default function VideoScreen(props: VideoViewProps) {\r\n  const {\r\n    conversationId,\r\n    onDelete,\r\n    clearActiveQuote,\r\n    activeQuote,\r\n    chatUserId,\r\n    recipientId,\r\n    media,\r\n    view,\r\n  } = props;\r\n\r\n  const { client, fontFamily } = useConfig();\r\n  const { resetModal } = useModalProvider();\r\n  const { userMeta, addNewPendingMessages } = useMessageState();\r\n  const [loading, setLoading] = useState(false);\r\n\r\n  const player = useVideoPlayer(media.mediaUrl, (player) => {\r\n    player.loop = true;\r\n    player.play();\r\n  });\r\n\r\n  const { isPlaying } = useEvent(player, \"playingChange\", {\r\n    isPlaying: player.playing,\r\n  });\r\n\r\n  const uploadImage = async () => {\r\n    try {\r\n      if (client && media.mediaUrl) {\r\n        var timeStamps = generateFillerTimestamps();\r\n        addNewPendingMessages({\r\n          from: chatUserId,\r\n          messageId: generateId(),\r\n          conversationId,\r\n          to: recipientId,\r\n          message: \"\",\r\n          reactions: [],\r\n          attachedMedia: [\r\n            {\r\n              uploading: true,\r\n              type: MediaType.VIDEO,\r\n              mimeType: media.mimeType,\r\n              ext: \".mp4\",\r\n              mediaId: generateId(),\r\n              mediaUrl: media.mediaUrl,\r\n              meta: {\r\n                aspectRatio: media?.meta?.aspectRatio,\r\n                height: media?.meta?.height,\r\n                width: media?.meta?.width,\r\n                size: media?.meta?.size,\r\n              },\r\n            },\r\n          ],\r\n          messageOwner: {\r\n            ...userMeta,\r\n            ...timeStamps,\r\n          },\r\n          quotedMessageId: activeQuote?.messageId || \"\",\r\n          attachmentType: AttachmentTypes.MEDIA,\r\n          quotedMessage: activeQuote,\r\n          createdAt: new Date(),\r\n        });\r\n        if (activeQuote?.message) {\r\n          clearActiveQuote?.();\r\n        }\r\n        console.log('got here')\r\n        resetModal();\r\n      }\r\n    } catch (error) {\r\n      if (error instanceof Error) {\r\n        console.error(error.message);\r\n      }\r\n    } finally {\r\n      // showUploading(false)\r\n    }\r\n  };\r\n\r\n  const showAlert = () => {\r\n    Alert.alert(\r\n      \"Delete video\",\r\n      \"This action is irreversible. Proceed?\",\r\n      [\r\n        {\r\n          text: \"Cancel\",\r\n          onPress: () => console.log(\"Cancelled\"),\r\n          style: \"cancel\",\r\n        },\r\n        {\r\n          text: \"Proceed\",\r\n          onPress: () => {\r\n            resetModal();\r\n            onDelete?.();\r\n          },\r\n          style: \"destructive\",\r\n        },\r\n      ],\r\n      { cancelable: false }\r\n    );\r\n  };\r\n\r\n  const deleteMessage = () => {\r\n    if (view) {\r\n      showAlert();\r\n    } else {\r\n      resetModal();\r\n    }\r\n  };\r\n\r\n  return (\r\n    <View style={styles.contentContainer}>\r\n      <VideoView\r\n        style={styles.video}\r\n        player={player}\r\n        // allowsFullscreen\r\n        // allowsPictureInPicture\r\n        contentFit=\"contain\"\r\n      />\r\n      <View style={styles.controls}>\r\n        <TouchableOpacity onPress={deleteMessage}>\r\n          <TrashIcon color=\"white\" size={30} />\r\n        </TouchableOpacity>\r\n        <TouchableOpacity\r\n          disabled={loading}\r\n          onPress={() => (isPlaying ? player.pause() : player.play())}\r\n        >\r\n          {isPlaying ? (\r\n            <PauseIcon color=\"white\" size={30} />\r\n          ) : (\r\n            <PlayIcon color=\"white\" size={30} />\r\n          )}\r\n        </TouchableOpacity>\r\n        {view ? (\r\n          <TouchableOpacity onPress={() => resetModal()}>\r\n            <XIcon color=\"white\" size={30} />\r\n          </TouchableOpacity>\r\n        ) : (\r\n          <TouchableOpacity\r\n            disabled={view}\r\n            style={{ opacity: view ? 0.3 : 1 }}\r\n            onPress={uploadImage}\r\n          >\r\n            <SendIcon color=\"white\" size={35} />\r\n          </TouchableOpacity>\r\n        )}\r\n      </View>\r\n    </View>\r\n  );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n  contentContainer: {\r\n    flex: 1,\r\n    alignItems: \"center\",\r\n    justifyContent: \"center\",\r\n    backgroundColor: \"black\",\r\n  },\r\n  video: {\r\n    width: \"100%\",\r\n    height: \"85%\",\r\n    // flex: 1\r\n  },\r\n  controls: {\r\n    width: '100%',\r\n    padding: 20,\r\n    flexDirection: \"row\",\r\n    alignItems: \"center\",\r\n    justifyContent: \"space-between\",\r\n  },\r\n});\r\n","import { View, Text, ViewStyle, Linking, TouchableOpacity } from \"react-native\";\r\nimport React, { useCallback, useMemo } from \"react\";\r\nimport Animated from \"react-native-reanimated\";\r\nimport { ChatBubbleRenderProps } from \"../../../../types\";\r\nimport {\r\n  AttachmentTypes,\r\n  ConversationType,\r\n  Message,\r\n  MessageStates,\r\n  UserMeta,\r\n} from \"softchatjs-core\";\r\nimport MessageAvatar from \"../../MessageAvatar\";\r\nimport Quoted from \"../Quoted\";\r\nimport Sticker from \"../Sticker\";\r\nimport { formatMessageTime } from \"../../../../utils\";\r\nimport Reactions from \"../Reactions\";\r\nimport { useConfig } from \"../../../../contexts/ChatProvider\";\r\nimport Preview from \"../Preview\";\r\nimport MediaMessage from \"../Media\";\r\nimport { BroadcastIcon } from \"../../../../assets/icons\";\r\n\r\ntype DefaultProps = {\r\n  message: Message;\r\n  animatedStyles: ViewStyle;\r\n  position: \"left\" | \"right\";\r\n  conversationType: ConversationType;\r\n  renderStateIcon: (color: string) => JSX.Element;\r\n  chatUserId: string;\r\n  recipientId: string;\r\n  renderChatBubble?: (props: ChatBubbleRenderProps) => void;\r\n  onScrollToIndex: (messageId: string) => void;\r\n  isPending?: boolean;\r\n  threaded?: boolean;\r\n  retryUpload: () => void;\r\n};\r\n\r\nexport default function Default(props: DefaultProps) {\r\n  const {\r\n    message,\r\n    animatedStyles,\r\n    position,\r\n    conversationType,\r\n    renderStateIcon,\r\n    chatUserId,\r\n    recipientId,\r\n    renderChatBubble,\r\n    onScrollToIndex,\r\n    isPending,\r\n    threaded = false,\r\n    retryUpload,\r\n  } = props;\r\n\r\n  const { theme, fontFamily, fontScale } = useConfig();\r\n\r\n  const getStyle = useMemo(() => {\r\n    if (position === \"right\") {\r\n      return {\r\n        // borderTopRightRadius: 10,\r\n        // borderTopLeftRadius: 10,\r\n        // borderBottomLeftRadius: 10,\r\n        backgroundColor: theme?.chatBubble.right.bgColor,\r\n      };\r\n    }\r\n    return {\r\n      // borderTopLeftRadius: 10,\r\n      // borderTopRightRadius: 10,\r\n      // borderBottomRightRadius: 10,\r\n      backgroundColor: theme?.chatBubble.left.bgColor,\r\n    };\r\n  }, [threaded, position]);\r\n\r\n  const RenderAttachment = useCallback(\r\n    ({ isQuote }: { isQuote?: boolean }) => {\r\n      var data =\r\n        isQuote === true ? (message.quotedMessage as Message) : message;\r\n      switch (data.attachmentType) {\r\n        case AttachmentTypes.STICKER:\r\n          return <Sticker message={data} />;\r\n        case AttachmentTypes.MEDIA:\r\n          return (\r\n            <MediaMessage\r\n              message={data}\r\n              isPending={isPending}\r\n              recipientId={recipientId}\r\n              position={position}\r\n            />\r\n          );\r\n        default:\r\n          return <></>;\r\n      }\r\n    },\r\n    [message]\r\n  );\r\n\r\n  const hasTextMessage = useMemo(() => {\r\n    return message.message.length > 0;\r\n  }, [message]);\r\n\r\n  const renderMessageWithLinks = (message: string) => {\r\n    if (!message) return null;\r\n\r\n    const urlRegex = /(https?:\\/\\/[^\\s]+)/gi;\r\n\r\n    const parts = message.split(urlRegex);\r\n\r\n    return parts.map((part, index) => {\r\n      if (urlRegex.test(part)) {\r\n        return (\r\n          <Text\r\n            key={index}\r\n            style={{\r\n              textDecorationLine: \"underline\",\r\n              textTransform: \"lowercase\",\r\n              fontFamily,\r\n            }}\r\n            onPress={() => Linking.openURL(part)}\r\n          >\r\n            {part}\r\n          </Text>\r\n        );\r\n      } else {\r\n        return (\r\n          <Text style={{ fontFamily }} key={index}>\r\n            {part}\r\n          </Text>\r\n        );\r\n      }\r\n    });\r\n  };\r\n\r\n  return (\r\n    <View style={{ marginBottom: 15 }}>\r\n      <View\r\n        style={[\r\n          {\r\n            flexDirection: \"row\",\r\n            paddingHorizontal: 20,\r\n            marginBottom: 5,\r\n            alignItems: \"center\",\r\n            // alignItems: position === \"right\" ? \"flex-end\" : \"flex-start\",\r\n            alignSelf: position === \"left\" ? \"flex-start\" : \"flex-end\",\r\n          },\r\n        ]}\r\n      >\r\n        {message.isBroadcast && (\r\n          <BroadcastIcon\r\n            color={\r\n              position === \"right\"\r\n                ? theme?.chatBubble.right.messageTimeColor\r\n                : theme?.chatBubble.left.messageTimeColor\r\n            }\r\n            size={13}\r\n          />\r\n        )}\r\n        <Text\r\n          style={{\r\n            fontFamily,\r\n            fontSize: 11 * fontScale,\r\n            marginTop: 3,\r\n            color:\r\n              position === \"left\"\r\n                ? theme?.chatBubble.left.messageTimeColor\r\n                : theme?.chatBubble.right.messageTimeColor,\r\n          }}\r\n        >\r\n          <Text style={{ fontStyle: \"italic\", fontFamily }}>\r\n            {message.lastEdited && \"(Edited)\"}{\" \"}\r\n          </Text>\r\n          {formatMessageTime(message.createdAt)}\r\n        </Text>\r\n\r\n        {position === \"right\" && (\r\n          <View style={{ marginTop: 2.5, marginStart: 2.5 }}>\r\n            {renderStateIcon(\r\n              theme?.chatBubble.right.messageTimeColor as string\r\n            )}\r\n          </View>\r\n        )}\r\n      </View>\r\n      <View\r\n        style={[\r\n          isPending ? { opacity: 0.7 } : animatedStyles,\r\n          {\r\n            maxWidth: \"80%\",\r\n            alignItems: position === \"right\" ? \"flex-end\" : \"flex-start\",\r\n            alignSelf: position === \"left\" ? \"flex-start\" : \"flex-end\",\r\n          },\r\n          // message.reactions.length > 0 && { marginBottom: 15 },\r\n          position === \"left\" ? { paddingLeft: 10 } : { paddingRight: 10 },\r\n        ]}\r\n      >\r\n        <View style={[getStyle, { borderRadius: 15 }]}>\r\n          <Quoted\r\n            chatUserId={chatUserId}\r\n            quotedMessage={message.quotedMessage}\r\n            onPress={() =>\r\n              onScrollToIndex(message.quotedMessage?.messageId as string)\r\n            }\r\n            theme={theme}\r\n            position={position}\r\n          />\r\n          {hasTextMessage && (\r\n            <Preview \r\n              message={message?.message}\r\n              color={\r\n                position === \"left\"\r\n                  ? (theme?.chatBubble.left.messageColor as string)\r\n                  : (theme?.chatBubble.right.messageColor as string)\r\n              }\r\n            />\r\n          )}\r\n          {hasTextMessage && (\r\n            <Text\r\n              style={{\r\n                fontFamily,\r\n                padding: 10,\r\n                fontSize: 16 * fontScale,\r\n                color:\r\n                  position === \"left\"\r\n                    ? theme?.chatBubble.left.messageColor\r\n                    : theme?.chatBubble.right.messageColor,\r\n              }}\r\n            >\r\n              {renderMessageWithLinks(message?.message)}\r\n            </Text>\r\n          )}\r\n        </View>\r\n        <RenderAttachment />\r\n      </View>\r\n      <View style={{ \r\n        paddingHorizontal: 20,\r\n        marginTop: -3,\r\n        alignSelf: position === \"left\" ? \"flex-start\" : \"flex-end\",\r\n       }}>\r\n      <Reactions\r\n        reactions={message.reactions}\r\n        position={position}\r\n        conversationId={message.conversationId}\r\n        messageId={message.messageId}\r\n        chatUserId={chatUserId}\r\n        recipientId={recipientId}\r\n      />\r\n      {isPending === true && message.messageState !== MessageStates.FAILED && (\r\n        <Text\r\n          style={[\r\n            position == \"right\" && { marginEnd: 15 },\r\n            position == \"left\" && { marginStart: 15 },\r\n            {\r\n              fontFamily,\r\n              color: theme?.text.disabled,\r\n              fontSize: 11 * fontScale,\r\n              marginTop: 5,\r\n              fontStyle: \"italic\",\r\n            },\r\n          ]}\r\n        >\r\n          Uploading...\r\n        </Text>\r\n      )}\r\n      {isPending === true && message.messageState === MessageStates.FAILED && (\r\n        <Text\r\n          onPress={retryUpload}\r\n          style={[\r\n            position == \"right\" && { marginEnd: 15 },\r\n            position == \"left\" && { marginStart: 15 },\r\n            {\r\n              fontFamily,\r\n              color: \"tomato\",\r\n              fontSize: 11 * fontScale,\r\n              marginTop: 5,\r\n              fontStyle: \"italic\",\r\n            },\r\n          ]}\r\n        >\r\n          Upload failed\r\n        </Text>\r\n      )}\r\n      </View>\r\n\r\n    </View>\r\n  );\r\n\r\n  return (\r\n    <View\r\n      style={[\r\n        isPending ? { opacity: 0.7 } : animatedStyles,\r\n        {\r\n          maxWidth: \"80%\",\r\n          alignItems: position === \"right\" ? \"flex-end\" : \"flex-start\",\r\n          alignSelf: position === \"left\" ? \"flex-start\" : \"flex-end\",\r\n        },\r\n        message.reactions.length > 0 && { marginBottom: 15 },\r\n        position === \"left\" ? { paddingLeft: 10 } : { paddingRight: 10 },\r\n      ]}\r\n    >\r\n      <View\r\n        style={{\r\n          flexDirection: position === \"right\" ? \"row\" : \"row-reverse\",\r\n          alignItems: \"flex-end\",\r\n        }}\r\n      >\r\n        <View style={[getStyle, { borderRadius: 15 }]}>\r\n          <Quoted\r\n            chatUserId={chatUserId}\r\n            quotedMessage={message.quotedMessage}\r\n            onPress={() =>\r\n              onScrollToIndex(message.quotedMessage?.messageId as string)\r\n            }\r\n            theme={theme}\r\n            position={position}\r\n          />\r\n          <RenderAttachment />\r\n          {hasTextMessage && (\r\n            <Preview\r\n              message={message.message}\r\n              color={\r\n                position === \"left\"\r\n                  ? (theme?.chatBubble.left.messageColor as string)\r\n                  : (theme?.chatBubble.right.messageColor as string)\r\n              }\r\n            />\r\n          )}\r\n          {hasTextMessage && (\r\n            <Text\r\n              style={{\r\n                fontFamily,\r\n                // fontSize: 17,\r\n                color:\r\n                  position === \"left\"\r\n                    ? theme?.chatBubble.left.messageColor\r\n                    : theme?.chatBubble.right.messageColor,\r\n              }}\r\n            >\r\n              {renderMessageWithLinks(message?.message)}\r\n            </Text>\r\n          )}\r\n          {/* <View\r\n            style={[\r\n              {\r\n                flexDirection: \"row\",\r\n                alignItems: \"center\",\r\n              },\r\n              { justifyContent: \"flex-end\" },\r\n              position === \"left\" && {\r\n                paddingRight: 5,\r\n              },\r\n            ]}\r\n          >\r\n            {message.isBroadcast && (\r\n              <BroadcastIcon\r\n                color={\r\n                  position === \"right\"\r\n                    ? theme.chatBubble.right.messageColor\r\n                    : theme.chatBubble.left.messageColor\r\n                }\r\n                size={13}\r\n              />\r\n            )}\r\n            <Text\r\n              style={{\r\n                fontFamily,\r\n                fontSize: 11,\r\n                marginTop: 3,\r\n                color:\r\n                  position === \"left\"\r\n                    ? theme?.chatBubble.left.messageTimeColor\r\n                    : theme?.chatBubble.right.messageTimeColor,\r\n              }}\r\n            >\r\n              <Text style={{ fontStyle: \"italic\", fontFamily }}>\r\n                {message.lastEdited && \"(Edited)\"}{\" \"}\r\n              </Text>\r\n              {formatMessageTime(message.createdAt)}\r\n            </Text>\r\n\r\n            {position === \"right\" && (\r\n              <>\r\n                {renderStateIcon(\r\n                  theme?.chatBubble.right.messageTimeColor as string\r\n                )}\r\n              </>\r\n            )}\r\n          </View> */}\r\n        </View>\r\n      </View>\r\n      <Reactions\r\n        reactions={message.reactions}\r\n        position={position}\r\n        conversationId={message.conversationId}\r\n        messageId={message.messageId}\r\n        chatUserId={chatUserId}\r\n        recipientId={recipientId}\r\n      />\r\n      {isPending === true && message.messageState !== MessageStates.FAILED && (\r\n        <Text\r\n          style={[\r\n            position == \"right\" && { marginEnd: 15 },\r\n            position == \"left\" && { marginStart: 15 },\r\n            {\r\n              fontFamily,\r\n              color: theme?.text.disabled,\r\n              fontSize: 11,\r\n              marginTop: 5,\r\n              fontStyle: \"italic\",\r\n            },\r\n          ]}\r\n        >\r\n          Uploading...\r\n        </Text>\r\n      )}\r\n      {isPending === true && message.messageState === MessageStates.FAILED && (\r\n        <Text\r\n          onPress={retryUpload}\r\n          style={[\r\n            position == \"right\" && { marginEnd: 15 },\r\n            position == \"left\" && { marginStart: 15 },\r\n            {\r\n              fontFamily,\r\n              color: \"tomato\",\r\n              fontSize: 11,\r\n              marginTop: 5,\r\n              fontStyle: \"italic\",\r\n            },\r\n          ]}\r\n        >\r\n          Upload failed\r\n        </Text>\r\n      )}\r\n    </View>\r\n  );\r\n}\r\n","import React from \"react\";\r\nimport { View, TouchableOpacity, StyleSheet, Text } from \"react-native\";\r\nimport { Colors } from \"../../constants/Colors\";\r\nimport { ConversationAvatar } from \"../Conversations/ConversationAvatar\";\r\nimport { ChatHeaderRenderProps } from \"../../types\";\r\nimport { getConversationTitle, getUserInfoWithId } from \"../../utils\";\r\nimport { ConversationTitle } from \"../Conversations/ConversationList\";\r\nimport { useMemo } from \"react\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\nimport { StatusBar } from \"expo-status-bar\";\r\nimport { Conversation } from \"softchatjs-core\"\r\nimport { BroadcastIcon } from \"../../assets/icons\";\r\n\r\ntype ChatHeaderProps = {\r\n  conversation: Conversation | null;\r\n  chatUserId: string;\r\n  isTyping: boolean;\r\n  // participant: UserMeta;\r\n  renderChatHeader?: (props: ChatHeaderRenderProps) => void;\r\n};\r\n\r\nexport default function ChatHeader(props: ChatHeaderProps) {\r\n  const { conversation, chatUserId, renderChatHeader, isTyping } =\r\n    props;\r\n\r\n  const { theme, fontFamily, fontScale } = useConfig();\r\n\r\n  let conversationTitle = useMemo(() => {\r\n    return conversation ? getConversationTitle(chatUserId, conversation) : null;\r\n  }, [chatUserId, conversation]);\r\n\r\n  if (renderChatHeader !== undefined) {\r\n    if (!conversation) return <></>;\r\n\r\n    const userInfo = getUserInfoWithId(\r\n      chatUserId,\r\n      conversation.participantList\r\n    );\r\n\r\n    return (\r\n      <>\r\n        {renderChatHeader({\r\n          conversationTitle,\r\n          conversationType: conversation.conversationType,\r\n          activeUser: userInfo?.presentUser,\r\n          groupMeta: conversation?.groupMeta,\r\n        })}\r\n      </>\r\n    );\r\n  }\r\n\r\n  if(conversation?.conversationType === \"broadcast-chat\"){\r\n    return (\r\n      <View style={{ height: 'auto', paddingVertical: 10, width: '100%', alignItems: 'center', justifyContent: 'center', borderBottomColor: theme?.divider, borderBottomWidth: 1 }}>\r\n        <BroadcastIcon size={50} />\r\n        <Text style={{ fontFamily, color: theme?.text.secondary }}>{conversation?.name?? 'Broadcast List'}</Text>\r\n      </View>\r\n    )\r\n  }\r\n\r\n  return (\r\n    <View style={{ ...styles.main, borderBottomColor: theme?.divider }}>\r\n      <StatusBar style=\"auto\" />\r\n      {conversation !== null && (\r\n        \r\n        <ConversationAvatar\r\n          chatUserId={chatUserId}\r\n          participantList={conversation.participantList}\r\n          type={conversation.conversationType}\r\n          groupMeta={conversation.groupMeta}\r\n          conversationTitle={conversationTitle || \"\"}\r\n        />\r\n        // <MessageAvatar initials={conversationTitle.substring(0,1)} size={60} />\r\n      )}\r\n      <View>\r\n        {conversationTitle && (\r\n          <Text\r\n            style={{\r\n              ...styles.conversationTitle,\r\n              fontSize: 20 * fontScale, \r\n              color: theme?.text.secondary,\r\n              fontFamily,\r\n            }}\r\n          >\r\n            {conversationTitle}\r\n          </Text>\r\n        )}\r\n        {isTyping && (\r\n          <Text\r\n            style={{\r\n              ...styles.typingIndicator,\r\n              fontSize: 15 * fontScale,\r\n              color: theme?.text.secondary,\r\n              fontFamily,\r\n            }}\r\n          >\r\n            Typing...\r\n          </Text>\r\n        )}\r\n      </View>\r\n    </View>\r\n  );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n  main: {\r\n    paddingHorizontal: 15,\r\n    alignItems: \"center\",\r\n    flexDirection: \"row\",\r\n    width: \"100%\",\r\n    paddingVertical: 10,\r\n    borderBottomWidth: 1,\r\n  },\r\n  conversationTitle: {\r\n    fontSize: 20,\r\n    textTransform: \"capitalize\",\r\n  },\r\n  typingIndicator: {\r\n    fontSize: 15,\r\n    fontStyle: \"italic\",\r\n  },\r\n});\r\n","import {\r\n  TouchableOpacity,\r\n  View,\r\n  StyleSheet,\r\n  Text,\r\n  FlatList,\r\n} from \"react-native\";\r\nimport {\r\n  Conversation,\r\n  ConversationType,\r\n  GroupChatMeta,\r\n  ParticipantListInfo,\r\n  PrivateChatMeta,\r\n} from \"softchatjs-core\";\r\nimport React, { useMemo, useRef } from \"react\";\r\nimport {\r\n  getUserInfoWithId,\r\n} from \"../../utils\";\r\nimport { Colors } from \"../../constants/Colors\";\r\nimport { Image } from \"expo-image\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\n\r\nconst avatarSize = 50;\r\n\r\nexport const ConversationAvatar = ({\r\n  type,\r\n  chatUserId,\r\n  participantList,\r\n  groupMeta,\r\n  conversationTitle,\r\n}: {\r\n  conversationTitle: string | undefined;\r\n  chatUserId: string;\r\n  type: ConversationType;\r\n  participantList: ParticipantListInfo[];\r\n  groupMeta: GroupChatMeta | null;\r\n}) => {\r\n\r\n  const { fontFamily, fontScale } = useConfig();\r\n  \r\n  const userInfo = useMemo(() => {\r\n    if (type === \"private-chat\") {\r\n      return getUserInfoWithId(chatUserId, participantList);\r\n    }\r\n    return null;\r\n  }, [chatUserId, participantList, type]);\r\n\r\n  const imageUri = type === \"private-chat\"\r\n    ? userInfo?.receivingUser?.profileUrl\r\n    : groupMeta?.groupIcon;\r\n  \r\n  const initials = conversationTitle ? conversationTitle.substring(0, 1) : \"\";\r\n  \r\n  return (\r\n    imageUri ? (\r\n      <Image source={{ uri: imageUri }} style={styles.avatar} cachePolicy=\"disk\" />\r\n    ) : (\r\n      <View style={styles.avatar}>\r\n        <Text style={{ ...styles.avatarInitials, fontSize: 30 * fontScale, fontFamily }}>{initials}</Text>\r\n      </View>\r\n    )\r\n  );\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n  main: {\r\n    height: \"100%\",\r\n    width: \"100%\",\r\n  },\r\n  conversationTitle: {\r\n    color: \"black\",\r\n    fontSize: 20,\r\n    textTransform: \"capitalize\",\r\n  },\r\n  messageText: {\r\n    color: \"black\",\r\n    fontSize: 17,\r\n  },\r\n  messageTime: {},\r\n  avatar: {\r\n    height: avatarSize,\r\n    width: avatarSize,\r\n    borderRadius: avatarSize,\r\n    backgroundColor: Colors.greyLighter,\r\n    alignItems: \"center\",\r\n    justifyContent: \"center\",\r\n    marginEnd: 10,\r\n  },\r\n  avatarInitials: {\r\n    fontSize: 30,\r\n    textTransform: \"capitalize\",\r\n    color: \"white\",\r\n  },\r\n  listItem: {\r\n    height: 80,\r\n    width: \"100%\",\r\n    paddingHorizontal: 10,\r\n    flexDirection: \"row\",\r\n    alignItems: \"center\",\r\n    justifyContent: \"space-between\",\r\n  },\r\n});\r\n","import React from 'react';\r\nimport {\r\n  TouchableOpacity,\r\n  StyleSheet,\r\n  View,\r\n  Text,\r\n  FlatList,\r\n} from \"react-native\";\r\nimport { AttachmentTypes, Message } from \"softchatjs-core\";\r\nimport { CloseIcon } from \"../../assets/icons\";\r\nimport { Colors } from \"../../constants/Colors\";\r\nimport { truncate } from \"../../utils\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\nimport { FlashList } from \"@shopify/flash-list\";\r\n\r\ntype SelectedMessageProps = {\r\n  message: Message | null;\r\n  messageRef: React.MutableRefObject<View | undefined> | null;\r\n  scrollRef: React.MutableRefObject<FlashList<string | Message> | null>;\r\n  onClear: () => void;\r\n  itemIndex: number;\r\n};\r\n\r\nexport default function SelectedMessage(props: SelectedMessageProps) {\r\n  const { message, onClear, messageRef, scrollRef, itemIndex } = props;\r\n  const { theme, fontFamily } = useConfig();\r\n  \r\n  const highLightChat = () => {\r\n    try {\r\n      if (messageRef?.current) {\r\n        messageRef.current.setNativeProps({\r\n          style: { backgroundColor: theme?.background.secondary },\r\n        });\r\n        setTimeout(() => {\r\n          if (messageRef.current) {\r\n            messageRef.current.setNativeProps({\r\n              style: { backgroundColor: \"transparent\" },\r\n            });\r\n          }\r\n        }, 1000);\r\n        if (scrollRef?.current) {\r\n          scrollRef.current.scrollToIndex({ animated: true, index: itemIndex });\r\n        }\r\n      }\r\n    } catch (error) {\r\n      if (error instanceof Error) {\r\n        console.warn(error?.message);\r\n      }\r\n    }\r\n  };\r\n\r\n  return (\r\n    <View style={{ \r\n      ...styles.main,\r\n      borderTopColor: theme?.divider,\r\n      }}>\r\n      {message && (\r\n        <TouchableOpacity style={{ flex: 1 }} onPress={() => highLightChat()}>\r\n          <Text style={{\r\n            ...styles.message,\r\n            color: theme?.text.secondary,\r\n            fontFamily\r\n          }}>{message.attachmentType === AttachmentTypes.NONE? truncate(message.message, 55) : message.attachedMedia?.[0]?.type || '...'}</Text>\r\n        </TouchableOpacity>\r\n      )}\r\n      <TouchableOpacity activeOpacity={0.7} onPress={onClear}>\r\n        <CloseIcon bgColor={Colors.greyLighter} size={20} />\r\n      </TouchableOpacity>\r\n    </View>\r\n  );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n  main: {\r\n    height: 40,\r\n    width: \"100%\",\r\n    flexDirection: \"row\",\r\n    alignItems: \"center\",\r\n    paddingHorizontal: 10,\r\n    borderTopWidth: 0.5,\r\n  },\r\n  message: {\r\n    marginStart: 8,\r\n  },\r\n});\r\n","import React from \"react\";\r\nimport {\r\n  View,\r\n  Text,\r\n  Dimensions,\r\n  TouchableOpacity,\r\n  Platform,\r\n  Alert,\r\n  KeyboardAvoidingView,\r\n} from \"react-native\";\r\nimport {\r\n  useCallback,\r\n  useMemo,\r\n  useRef,\r\n  useState,\r\n  useImperativeHandle,\r\n  forwardRef,\r\n} from \"react\";\r\nimport TrashIcon, {\r\n  CopyIcon,\r\n  EditIcon,\r\n  EmojiIcon,\r\n  ReplyIcon,\r\n} from \"../../../assets/icons\";\r\nimport { ChatTheme } from \"../../../types\";\r\nimport { Message, Emoji } from \"softchatjs-core\";\r\nimport Search from \"../../Search\";\r\n// import { FlashList } from \"@shopify/flash-list\";\r\nimport { emojis } from \"../../../assets/emoji\";\r\nimport { useConfig } from \"../../../contexts/ChatProvider\";\r\nimport ActionSheet, { ActionSheetRef } from \"react-native-actions-sheet\";\r\nimport { FlashList } from \"react-native-actions-sheet/dist/src/views/FlashList\";\r\n\r\ntype EmojiListProps = {\r\n  recipientId: string;\r\n  message: Message | null;\r\n  theme: ChatTheme | undefined;\r\n};\r\n\r\nvar windowHeight = Dimensions.get(\"window\").height;\r\n\r\nexport const EmojiList = forwardRef(\r\n  (props: EmojiListProps, ref: any) => {\r\n    const emojiRef = useRef<ActionSheetRef>(null);\r\n    const { client, fontFamily } = useConfig();\r\n    const {\r\n      recipientId,\r\n      message,\r\n      theme,\r\n    } = props;\r\n    const flatListRef = useRef(null);\r\n    const [searchValue, setSearchValue] = useState(\"\");\r\n\r\n    const width = Dimensions.get(\"window\").width;\r\n    const emojiSize = 40;\r\n    var noOfColumns = Math.floor(width / emojiSize);\r\n\r\n    const close = () => {\r\n      emojiRef?.current?.hide();\r\n    };\r\n\r\n    const open = () => {\r\n      emojiRef?.current?.show();\r\n    };\r\n\r\n    useImperativeHandle(ref, () => ({\r\n      open: () => open(),\r\n      close: () => close(),\r\n    }));\r\n\r\n    const addReaction = useCallback(\r\n      (emoji: string) => {\r\n        if (client && message) {\r\n          const newReaction = {\r\n            emoji: emoji,\r\n            uid: client.chatUserId,\r\n          };\r\n\r\n          const existingReactionIndex = message.reactions.findIndex(\r\n            (reaction) => reaction.uid === client.chatUserId\r\n          );\r\n\r\n          let updatedReactions: Array<{ uid: string; emoji: string }>;\r\n\r\n          if (existingReactionIndex !== -1) {\r\n            updatedReactions = [...message.reactions];\r\n            updatedReactions[existingReactionIndex] = newReaction;\r\n          } else {\r\n            updatedReactions = [...message.reactions, newReaction];\r\n          }\r\n\r\n          client.messageClient(message.conversationId).reactToMessage({\r\n            conversationId: message.conversationId,\r\n            messageId: message.messageId,\r\n            reactions: updatedReactions,\r\n            to: recipientId,\r\n          });\r\n\r\n          emojiRef?.current?.hide();\r\n        } else {\r\n          console.log(\"not sending\");\r\n        }\r\n      },\r\n      [message, client, recipientId]\r\n    );\r\n\r\n    var filtered_emojis = emojis.filter((data: Emoji) => {\r\n      return (\r\n        data.description.toLowerCase()?.indexOf(searchValue.toLowerCase()) !==\r\n        -1\r\n      );\r\n    });\r\n\r\n    const emoji_list = filtered_emojis.length > 0 ? filtered_emojis : emojis;\r\n\r\n    const renderEmoji = useCallback(\r\n      ({ item, index }: { item: any; index: number }) => {\r\n        return (\r\n          <TouchableOpacity\r\n            key={index}\r\n            onPress={() => {\r\n              addReaction(item.emoji);\r\n            }}\r\n            style={{\r\n              height: emojiSize,\r\n              minWidth: emojiSize,\r\n              alignItems: \"center\",\r\n              margin: 0.7,\r\n              flex: 1,\r\n              justifyContent: \"center\",\r\n              borderRadius: emojiSize,\r\n            }}\r\n          >\r\n            <Text\r\n              style={{\r\n                fontSize: Platform.OS === \"android\" ? 25 : 35,\r\n                fontFamily,\r\n              }}\r\n            >\r\n              {item.emoji}\r\n            </Text>\r\n          </TouchableOpacity>\r\n        );\r\n      },\r\n      [message]\r\n    );\r\n\r\n    return (\r\n      <ActionSheet\r\n        ref={emojiRef}\r\n        enableGesturesInScrollView\r\n        keyboardHandlerEnabled={false}\r\n        isModal\r\n        openAnimationConfig={{ speed: 700 }}\r\n        onClose={close}\r\n        gestureEnabled\r\n        containerStyle={{\r\n          borderTopLeftRadius: 30,\r\n          borderTopRightRadius: 30,\r\n          backgroundColor: theme.background.primary,\r\n          height: windowHeight - (30 / 100) * windowHeight,\r\n          padding: 0,\r\n        }}\r\n      >\r\n        {/* <KeyboardAvoidingView behavior=\"position\" style={{ flex: 1, height: '100%', backgroundColor: theme.background.primary }}> */}\r\n          <View\r\n            style={{\r\n              flex: 1,\r\n              minHeight: windowHeight - (30 / 100) * windowHeight,\r\n              width: \"100%\",\r\n            }}\r\n          >\r\n            <Search\r\n              value={searchValue}\r\n              setValue={setSearchValue}\r\n              placeholder=\"Find a reaction\"\r\n            />\r\n            <View\r\n              style={{\r\n                height: \"100%\",\r\n                width: \"100%\",\r\n                paddingTop: 5,\r\n                padding: 15,\r\n                flexDirection: \"row\",\r\n                flexWrap: \"wrap\",\r\n                flexGrow: 1,\r\n                flex: 1,\r\n              }}\r\n            >\r\n              <FlashList\r\n                ref={flatListRef}\r\n                numColumns={noOfColumns}\r\n                data={emoji_list}\r\n                estimatedItemSize={8000}\r\n                renderItem={renderEmoji}\r\n                ListEmptyComponent={() => <Text>emepty</Text>}\r\n              />\r\n            </View>\r\n          </View>\r\n        {/* </KeyboardAvoidingView> */}\r\n      </ActionSheet>\r\n    );\r\n  }\r\n);\r\n\r\nexport default EmojiList;\r\n","import { View, Text, TextInput, ViewStyle } from \"react-native\";\r\nimport React from \"react\";\r\nimport { SetState } from \"../types\";\r\nimport { useConfig } from \"../contexts/ChatProvider\";\r\n\r\ntype Search = {\r\n  value: string;\r\n  setValue: SetState<string>;\r\n  placeholder: string;\r\n  containerStyle?: ViewStyle;\r\n};\r\n\r\nexport default function Search(props: Search) {\r\n  const { theme, fontFamily } = useConfig();\r\n  const { value, setValue, placeholder, containerStyle } = props;\r\n  return (\r\n    <View\r\n      style={{\r\n        paddingHorizontal: 10,\r\n        marginVertical: 10,\r\n        width: \"100%\",\r\n        ...containerStyle,\r\n      }}\r\n    >\r\n      <TextInput\r\n        style={{\r\n          height: 45,\r\n          width: \"100%\",\r\n          borderWidth: 1,\r\n          borderColor: theme?.divider,\r\n          borderRadius: 10,\r\n          paddingStart: 10,\r\n          color: theme?.text.secondary,\r\n          fontFamily\r\n        }}\r\n        placeholder={placeholder}\r\n        placeholderTextColor=\"grey\"\r\n        value={value}\r\n        onChangeText={(val) => setValue(val)}\r\n      />\r\n    </View>\r\n  );\r\n}\r\n","export const emojis = [\r\n  {\r\n    emoji: \"😀\",\r\n    description: \"grinning face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"grinning\"],\r\n    tags: [\"smile\", \"happy\"],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😃\",\r\n    description: \"grinning face with big eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smiley\"],\r\n    tags: [\"happy\", \"joy\", \"haha\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😄\",\r\n    description: \"grinning face with smiling eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smile\"],\r\n    tags: [\"happy\", \"joy\", \"laugh\", \"pleased\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😁\",\r\n    description: \"beaming face with smiling eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"grin\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😆\",\r\n    description: \"grinning squinting face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"laughing\", \"satisfied\"],\r\n    tags: [\"happy\", \"haha\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😅\",\r\n    description: \"grinning face with sweat\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sweat_smile\"],\r\n    tags: [\"hot\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤣\",\r\n    description: \"rolling on the floor laughing\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"rofl\"],\r\n    tags: [\"lol\", \"laughing\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"😂\",\r\n    description: \"face with tears of joy\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"joy\"],\r\n    tags: [\"tears\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🙂\",\r\n    description: \"slightly smiling face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"slightly_smiling_face\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🙃\",\r\n    description: \"upside-down face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"upside_down_face\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"😉\",\r\n    description: \"winking face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"wink\"],\r\n    tags: [\"flirt\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😊\",\r\n    description: \"smiling face with smiling eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"blush\"],\r\n    tags: [\"proud\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😇\",\r\n    description: \"smiling face with halo\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"innocent\"],\r\n    tags: [\"angel\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥰\",\r\n    description: \"smiling face with hearts\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smiling_face_with_three_hearts\"],\r\n    tags: [\"love\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"😍\",\r\n    description: \"smiling face with heart-eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"heart_eyes\"],\r\n    tags: [\"love\", \"crush\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤩\",\r\n    description: \"star-struck\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"star_struck\"],\r\n    tags: [\"eyes\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"😘\",\r\n    description: \"face blowing a kiss\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"kissing_heart\"],\r\n    tags: [\"flirt\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😗\",\r\n    description: \"kissing face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"kissing\"],\r\n    tags: [],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☺️\",\r\n    description: \"smiling face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"relaxed\"],\r\n    tags: [\"blush\", \"pleased\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😚\",\r\n    description: \"kissing face with closed eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"kissing_closed_eyes\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😙\",\r\n    description: \"kissing face with smiling eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"kissing_smiling_eyes\"],\r\n    tags: [],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥲\",\r\n    description: \"smiling face with tear\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smiling_face_with_tear\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"😋\",\r\n    description: \"face savoring food\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"yum\"],\r\n    tags: [\"tongue\", \"lick\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😛\",\r\n    description: \"face with tongue\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"stuck_out_tongue\"],\r\n    tags: [],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😜\",\r\n    description: \"winking face with tongue\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"stuck_out_tongue_winking_eye\"],\r\n    tags: [\"prank\", \"silly\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤪\",\r\n    description: \"zany face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"zany_face\"],\r\n    tags: [\"goofy\", \"wacky\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"😝\",\r\n    description: \"squinting face with tongue\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"stuck_out_tongue_closed_eyes\"],\r\n    tags: [\"prank\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤑\",\r\n    description: \"money-mouth face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"money_mouth_face\"],\r\n    tags: [\"rich\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🤗\",\r\n    description: \"smiling face with open hands\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"hugs\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🤭\",\r\n    description: \"face with hand over mouth\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"hand_over_mouth\"],\r\n    tags: [\"quiet\", \"whoops\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🫢\",\r\n    description: \"face with open eyes and hand over mouth\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_with_open_eyes_and_hand_over_mouth\"],\r\n    tags: [\"gasp\", \"shock\"],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🫣\",\r\n    description: \"face with peeking eye\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_with_peeking_eye\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🤫\",\r\n    description: \"shushing face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"shushing_face\"],\r\n    tags: [\"silence\", \"quiet\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🤔\",\r\n    description: \"thinking face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"thinking\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🫡\",\r\n    description: \"saluting face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"saluting_face\"],\r\n    tags: [\"respect\"],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🤐\",\r\n    description: \"zipper-mouth face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"zipper_mouth_face\"],\r\n    tags: [\"silence\", \"hush\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🤨\",\r\n    description: \"face with raised eyebrow\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"raised_eyebrow\"],\r\n    tags: [\"suspicious\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"😐\",\r\n    description: \"neutral face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"neutral_face\"],\r\n    tags: [\"meh\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😑\",\r\n    description: \"expressionless face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"expressionless\"],\r\n    tags: [],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😶\",\r\n    description: \"face without mouth\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"no_mouth\"],\r\n    tags: [\"mute\", \"silence\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫥\",\r\n    description: \"dotted line face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"dotted_line_face\"],\r\n    tags: [\"invisible\"],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"😶‍🌫️\",\r\n    description: \"face in clouds\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_in_clouds\"],\r\n    tags: [],\r\n    unicode_version: \"13.1\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"😏\",\r\n    description: \"smirking face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smirk\"],\r\n    tags: [\"smug\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😒\",\r\n    description: \"unamused face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"unamused\"],\r\n    tags: [\"meh\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🙄\",\r\n    description: \"face with rolling eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"roll_eyes\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"😬\",\r\n    description: \"grimacing face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"grimacing\"],\r\n    tags: [],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😮‍💨\",\r\n    description: \"face exhaling\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_exhaling\"],\r\n    tags: [],\r\n    unicode_version: \"13.1\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🤥\",\r\n    description: \"lying face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"lying_face\"],\r\n    tags: [\"liar\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🫨\",\r\n    description: \"shaking face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"shaking_face\"],\r\n    tags: [\"shock\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"😌\",\r\n    description: \"relieved face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"relieved\"],\r\n    tags: [\"whew\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😔\",\r\n    description: \"pensive face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"pensive\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😪\",\r\n    description: \"sleepy face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sleepy\"],\r\n    tags: [\"tired\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤤\",\r\n    description: \"drooling face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"drooling_face\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"😴\",\r\n    description: \"sleeping face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sleeping\"],\r\n    tags: [\"zzz\"],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😷\",\r\n    description: \"face with medical mask\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"mask\"],\r\n    tags: [\"sick\", \"ill\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤒\",\r\n    description: \"face with thermometer\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_with_thermometer\"],\r\n    tags: [\"sick\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🤕\",\r\n    description: \"face with head-bandage\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_with_head_bandage\"],\r\n    tags: [\"hurt\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🤢\",\r\n    description: \"nauseated face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"nauseated_face\"],\r\n    tags: [\"sick\", \"barf\", \"disgusted\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🤮\",\r\n    description: \"face vomiting\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"vomiting_face\"],\r\n    tags: [\"barf\", \"sick\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🤧\",\r\n    description: \"sneezing face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sneezing_face\"],\r\n    tags: [\"achoo\", \"sick\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥵\",\r\n    description: \"hot face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"hot_face\"],\r\n    tags: [\"heat\", \"sweating\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥶\",\r\n    description: \"cold face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"cold_face\"],\r\n    tags: [\"freezing\", \"ice\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥴\",\r\n    description: \"woozy face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"woozy_face\"],\r\n    tags: [\"groggy\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"😵\",\r\n    description: \"face with crossed-out eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"dizzy_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😵‍💫\",\r\n    description: \"face with spiral eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_with_spiral_eyes\"],\r\n    tags: [],\r\n    unicode_version: \"13.1\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🤯\",\r\n    description: \"exploding head\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"exploding_head\"],\r\n    tags: [\"mind\", \"blown\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🤠\",\r\n    description: \"cowboy hat face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"cowboy_hat_face\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥳\",\r\n    description: \"partying face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"partying_face\"],\r\n    tags: [\"celebration\", \"birthday\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥸\",\r\n    description: \"disguised face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"disguised_face\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"😎\",\r\n    description: \"smiling face with sunglasses\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sunglasses\"],\r\n    tags: [\"cool\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤓\",\r\n    description: \"nerd face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"nerd_face\"],\r\n    tags: [\"geek\", \"glasses\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🧐\",\r\n    description: \"face with monocle\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"monocle_face\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"😕\",\r\n    description: \"confused face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"confused\"],\r\n    tags: [],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫤\",\r\n    description: \"face with diagonal mouth\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_with_diagonal_mouth\"],\r\n    tags: [\"confused\"],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"😟\",\r\n    description: \"worried face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"worried\"],\r\n    tags: [\"nervous\"],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🙁\",\r\n    description: \"slightly frowning face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"slightly_frowning_face\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☹️\",\r\n    description: \"frowning face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"frowning_face\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"😮\",\r\n    description: \"face with open mouth\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"open_mouth\"],\r\n    tags: [\"surprise\", \"impressed\", \"wow\"],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😯\",\r\n    description: \"hushed face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"hushed\"],\r\n    tags: [\"silence\", \"speechless\"],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😲\",\r\n    description: \"astonished face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"astonished\"],\r\n    tags: [\"amazed\", \"gasp\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😳\",\r\n    description: \"flushed face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"flushed\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥺\",\r\n    description: \"pleading face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"pleading_face\"],\r\n    tags: [\"puppy\", \"eyes\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥹\",\r\n    description: \"face holding back tears\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"face_holding_back_tears\"],\r\n    tags: [\"tears\", \"gratitude\"],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"😦\",\r\n    description: \"frowning face with open mouth\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"frowning\"],\r\n    tags: [],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😧\",\r\n    description: \"anguished face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"anguished\"],\r\n    tags: [\"stunned\"],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😨\",\r\n    description: \"fearful face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"fearful\"],\r\n    tags: [\"scared\", \"shocked\", \"oops\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😰\",\r\n    description: \"anxious face with sweat\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"cold_sweat\"],\r\n    tags: [\"nervous\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😥\",\r\n    description: \"sad but relieved face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"disappointed_relieved\"],\r\n    tags: [\"phew\", \"sweat\", \"nervous\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😢\",\r\n    description: \"crying face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"cry\"],\r\n    tags: [\"sad\", \"tear\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😭\",\r\n    description: \"loudly crying face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sob\"],\r\n    tags: [\"sad\", \"cry\", \"bawling\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😱\",\r\n    description: \"face screaming in fear\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"scream\"],\r\n    tags: [\"horror\", \"shocked\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😖\",\r\n    description: \"confounded face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"confounded\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😣\",\r\n    description: \"persevering face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"persevere\"],\r\n    tags: [\"struggling\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😞\",\r\n    description: \"disappointed face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"disappointed\"],\r\n    tags: [\"sad\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😓\",\r\n    description: \"downcast face with sweat\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sweat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😩\",\r\n    description: \"weary face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"weary\"],\r\n    tags: [\"tired\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😫\",\r\n    description: \"tired face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"tired_face\"],\r\n    tags: [\"upset\", \"whine\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥱\",\r\n    description: \"yawning face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"yawning_face\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"😤\",\r\n    description: \"face with steam from nose\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"triumph\"],\r\n    tags: [\"smug\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😡\",\r\n    description: \"enraged face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"rage\", \"pout\"],\r\n    tags: [\"angry\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😠\",\r\n    description: \"angry face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"angry\"],\r\n    tags: [\"mad\", \"annoyed\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤬\",\r\n    description: \"face with symbols on mouth\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"cursing_face\"],\r\n    tags: [\"foul\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"😈\",\r\n    description: \"smiling face with horns\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smiling_imp\"],\r\n    tags: [\"devil\", \"evil\", \"horns\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👿\",\r\n    description: \"angry face with horns\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"imp\"],\r\n    tags: [\"angry\", \"devil\", \"evil\", \"horns\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💀\",\r\n    description: \"skull\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"skull\"],\r\n    tags: [\"dead\", \"danger\", \"poison\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☠️\",\r\n    description: \"skull and crossbones\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"skull_and_crossbones\"],\r\n    tags: [\"danger\", \"pirate\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💩\",\r\n    description: \"pile of poo\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"hankey\", \"poop\", \"shit\"],\r\n    tags: [\"crap\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤡\",\r\n    description: \"clown face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"clown_face\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"👹\",\r\n    description: \"ogre\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"japanese_ogre\"],\r\n    tags: [\"monster\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👺\",\r\n    description: \"goblin\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"japanese_goblin\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👻\",\r\n    description: \"ghost\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"ghost\"],\r\n    tags: [\"halloween\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👽\",\r\n    description: \"alien\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"alien\"],\r\n    tags: [\"ufo\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👾\",\r\n    description: \"alien monster\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"space_invader\"],\r\n    tags: [\"game\", \"retro\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤖\",\r\n    description: \"robot\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"robot\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"😺\",\r\n    description: \"grinning cat\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smiley_cat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😸\",\r\n    description: \"grinning cat with smiling eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smile_cat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😹\",\r\n    description: \"cat with tears of joy\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"joy_cat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😻\",\r\n    description: \"smiling cat with heart-eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"heart_eyes_cat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😼\",\r\n    description: \"cat with wry smile\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smirk_cat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😽\",\r\n    description: \"kissing cat\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"kissing_cat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🙀\",\r\n    description: \"weary cat\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"scream_cat\"],\r\n    tags: [\"horror\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😿\",\r\n    description: \"crying cat\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"crying_cat_face\"],\r\n    tags: [\"sad\", \"tear\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😾\",\r\n    description: \"pouting cat\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"pouting_cat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🙈\",\r\n    description: \"see-no-evil monkey\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"see_no_evil\"],\r\n    tags: [\"monkey\", \"blind\", \"ignore\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🙉\",\r\n    description: \"hear-no-evil monkey\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"hear_no_evil\"],\r\n    tags: [\"monkey\", \"deaf\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🙊\",\r\n    description: \"speak-no-evil monkey\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"speak_no_evil\"],\r\n    tags: [\"monkey\", \"mute\", \"hush\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💌\",\r\n    description: \"love letter\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"love_letter\"],\r\n    tags: [\"email\", \"envelope\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💘\",\r\n    description: \"heart with arrow\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"cupid\"],\r\n    tags: [\"love\", \"heart\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💝\",\r\n    description: \"heart with ribbon\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"gift_heart\"],\r\n    tags: [\"chocolates\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💖\",\r\n    description: \"sparkling heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sparkling_heart\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💗\",\r\n    description: \"growing heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"heartpulse\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💓\",\r\n    description: \"beating heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"heartbeat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💞\",\r\n    description: \"revolving hearts\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"revolving_hearts\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💕\",\r\n    description: \"two hearts\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"two_hearts\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💟\",\r\n    description: \"heart decoration\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"heart_decoration\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❣️\",\r\n    description: \"heart exclamation\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"heavy_heart_exclamation\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💔\",\r\n    description: \"broken heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"broken_heart\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❤️‍🔥\",\r\n    description: \"heart on fire\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"heart_on_fire\"],\r\n    tags: [],\r\n    unicode_version: \"13.1\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"❤️‍🩹\",\r\n    description: \"mending heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"mending_heart\"],\r\n    tags: [],\r\n    unicode_version: \"13.1\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"❤️\",\r\n    description: \"red heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"heart\"],\r\n    tags: [\"love\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🩷\",\r\n    description: \"pink heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"pink_heart\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🧡\",\r\n    description: \"orange heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"orange_heart\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"💛\",\r\n    description: \"yellow heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"yellow_heart\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💚\",\r\n    description: \"green heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"green_heart\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💙\",\r\n    description: \"blue heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"blue_heart\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🩵\",\r\n    description: \"light blue heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"light_blue_heart\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"💜\",\r\n    description: \"purple heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"purple_heart\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤎\",\r\n    description: \"brown heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"brown_heart\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🖤\",\r\n    description: \"black heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"black_heart\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🩶\",\r\n    description: \"grey heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"grey_heart\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🤍\",\r\n    description: \"white heart\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"white_heart\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"💋\",\r\n    description: \"kiss mark\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"kiss\"],\r\n    tags: [\"lipstick\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💯\",\r\n    description: \"hundred points\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"100\"],\r\n    tags: [\"score\", \"perfect\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💢\",\r\n    description: \"anger symbol\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"anger\"],\r\n    tags: [\"angry\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💥\",\r\n    description: \"collision\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"boom\", \"collision\"],\r\n    tags: [\"explode\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💫\",\r\n    description: \"dizzy\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"dizzy\"],\r\n    tags: [\"star\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💦\",\r\n    description: \"sweat droplets\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"sweat_drops\"],\r\n    tags: [\"water\", \"workout\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💨\",\r\n    description: \"dashing away\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"dash\"],\r\n    tags: [\"wind\", \"blow\", \"fast\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕳️\",\r\n    description: \"hole\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"hole\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💬\",\r\n    description: \"speech balloon\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"speech_balloon\"],\r\n    tags: [\"comment\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👁️‍🗨️\",\r\n    description: \"eye in speech bubble\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"eye_speech_bubble\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🗨️\",\r\n    description: \"left speech bubble\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"left_speech_bubble\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🗯️\",\r\n    description: \"right anger bubble\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"right_anger_bubble\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💭\",\r\n    description: \"thought balloon\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"thought_balloon\"],\r\n    tags: [\"thinking\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💤\",\r\n    description: \"ZZZ\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"zzz\"],\r\n    tags: [\"sleeping\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👋\",\r\n    description: \"waving hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"wave\"],\r\n    tags: [\"goodbye\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤚\",\r\n    description: \"raised back of hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"raised_back_of_hand\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🖐️\",\r\n    description: \"hand with fingers splayed\",\r\n    category: \"People & Body\",\r\n    aliases: [\"raised_hand_with_fingers_splayed\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"✋\",\r\n    description: \"raised hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"hand\", \"raised_hand\"],\r\n    tags: [\"highfive\", \"stop\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🖖\",\r\n    description: \"vulcan salute\",\r\n    category: \"People & Body\",\r\n    aliases: [\"vulcan_salute\"],\r\n    tags: [\"prosper\", \"spock\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"8.3\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫱\",\r\n    description: \"rightwards hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"rightwards_hand\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫲\",\r\n    description: \"leftwards hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"leftwards_hand\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫳\",\r\n    description: \"palm down hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"palm_down_hand\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫴\",\r\n    description: \"palm up hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"palm_up_hand\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫷\",\r\n    description: \"leftwards pushing hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"leftwards_pushing_hand\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫸\",\r\n    description: \"rightwards pushing hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"rightwards_pushing_hand\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👌\",\r\n    description: \"OK hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"ok_hand\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤌\",\r\n    description: \"pinched fingers\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pinched_fingers\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤏\",\r\n    description: \"pinching hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pinching_hand\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"✌️\",\r\n    description: \"victory hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"v\"],\r\n    tags: [\"victory\", \"peace\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤞\",\r\n    description: \"crossed fingers\",\r\n    category: \"People & Body\",\r\n    aliases: [\"crossed_fingers\"],\r\n    tags: [\"luck\", \"hopeful\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫰\",\r\n    description: \"hand with index finger and thumb crossed\",\r\n    category: \"People & Body\",\r\n    aliases: [\"hand_with_index_finger_and_thumb_crossed\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤟\",\r\n    description: \"love-you gesture\",\r\n    category: \"People & Body\",\r\n    aliases: [\"love_you_gesture\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤘\",\r\n    description: \"sign of the horns\",\r\n    category: \"People & Body\",\r\n    aliases: [\"metal\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤙\",\r\n    description: \"call me hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"call_me_hand\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👈\",\r\n    description: \"backhand index pointing left\",\r\n    category: \"People & Body\",\r\n    aliases: [\"point_left\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👉\",\r\n    description: \"backhand index pointing right\",\r\n    category: \"People & Body\",\r\n    aliases: [\"point_right\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👆\",\r\n    description: \"backhand index pointing up\",\r\n    category: \"People & Body\",\r\n    aliases: [\"point_up_2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🖕\",\r\n    description: \"middle finger\",\r\n    category: \"People & Body\",\r\n    aliases: [\"middle_finger\", \"fu\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👇\",\r\n    description: \"backhand index pointing down\",\r\n    category: \"People & Body\",\r\n    aliases: [\"point_down\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"☝️\",\r\n    description: \"index pointing up\",\r\n    category: \"People & Body\",\r\n    aliases: [\"point_up\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫵\",\r\n    description: \"index pointing at the viewer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"index_pointing_at_the_viewer\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👍\",\r\n    description: \"thumbs up\",\r\n    category: \"People & Body\",\r\n    aliases: [\"+1\", \"thumbsup\"],\r\n    tags: [\"approve\", \"ok\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👎\",\r\n    description: \"thumbs down\",\r\n    category: \"People & Body\",\r\n    aliases: [\"-1\", \"thumbsdown\"],\r\n    tags: [\"disapprove\", \"bury\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"✊\",\r\n    description: \"raised fist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"fist_raised\", \"fist\"],\r\n    tags: [\"power\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👊\",\r\n    description: \"oncoming fist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"fist_oncoming\", \"facepunch\", \"punch\"],\r\n    tags: [\"attack\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤛\",\r\n    description: \"left-facing fist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"fist_left\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤜\",\r\n    description: \"right-facing fist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"fist_right\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👏\",\r\n    description: \"clapping hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"clap\"],\r\n    tags: [\"praise\", \"applause\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙌\",\r\n    description: \"raising hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"raised_hands\"],\r\n    tags: [\"hooray\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫶\",\r\n    description: \"heart hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"heart_hands\"],\r\n    tags: [\"love\"],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👐\",\r\n    description: \"open hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"open_hands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤲\",\r\n    description: \"palms up together\",\r\n    category: \"People & Body\",\r\n    aliases: [\"palms_up_together\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤝\",\r\n    description: \"handshake\",\r\n    category: \"People & Body\",\r\n    aliases: [\"handshake\"],\r\n    tags: [\"deal\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙏\",\r\n    description: \"folded hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pray\"],\r\n    tags: [\"please\", \"hope\", \"wish\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"✍️\",\r\n    description: \"writing hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"writing_hand\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💅\",\r\n    description: \"nail polish\",\r\n    category: \"People & Body\",\r\n    aliases: [\"nail_care\"],\r\n    tags: [\"beauty\", \"manicure\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤳\",\r\n    description: \"selfie\",\r\n    category: \"People & Body\",\r\n    aliases: [\"selfie\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💪\",\r\n    description: \"flexed biceps\",\r\n    category: \"People & Body\",\r\n    aliases: [\"muscle\"],\r\n    tags: [\"flex\", \"bicep\", \"strong\", \"workout\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦾\",\r\n    description: \"mechanical arm\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mechanical_arm\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🦿\",\r\n    description: \"mechanical leg\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mechanical_leg\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🦵\",\r\n    description: \"leg\",\r\n    category: \"People & Body\",\r\n    aliases: [\"leg\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦶\",\r\n    description: \"foot\",\r\n    category: \"People & Body\",\r\n    aliases: [\"foot\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👂\",\r\n    description: \"ear\",\r\n    category: \"People & Body\",\r\n    aliases: [\"ear\"],\r\n    tags: [\"hear\", \"sound\", \"listen\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦻\",\r\n    description: \"ear with hearing aid\",\r\n    category: \"People & Body\",\r\n    aliases: [\"ear_with_hearing_aid\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👃\",\r\n    description: \"nose\",\r\n    category: \"People & Body\",\r\n    aliases: [\"nose\"],\r\n    tags: [\"smell\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧠\",\r\n    description: \"brain\",\r\n    category: \"People & Body\",\r\n    aliases: [\"brain\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🫀\",\r\n    description: \"anatomical heart\",\r\n    category: \"People & Body\",\r\n    aliases: [\"anatomical_heart\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🫁\",\r\n    description: \"lungs\",\r\n    category: \"People & Body\",\r\n    aliases: [\"lungs\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🦷\",\r\n    description: \"tooth\",\r\n    category: \"People & Body\",\r\n    aliases: [\"tooth\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦴\",\r\n    description: \"bone\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bone\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"👀\",\r\n    description: \"eyes\",\r\n    category: \"People & Body\",\r\n    aliases: [\"eyes\"],\r\n    tags: [\"look\", \"see\", \"watch\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👁️\",\r\n    description: \"eye\",\r\n    category: \"People & Body\",\r\n    aliases: [\"eye\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"👅\",\r\n    description: \"tongue\",\r\n    category: \"People & Body\",\r\n    aliases: [\"tongue\"],\r\n    tags: [\"taste\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👄\",\r\n    description: \"mouth\",\r\n    category: \"People & Body\",\r\n    aliases: [\"lips\"],\r\n    tags: [\"kiss\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫦\",\r\n    description: \"biting lip\",\r\n    category: \"People & Body\",\r\n    aliases: [\"biting_lip\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"👶\",\r\n    description: \"baby\",\r\n    category: \"People & Body\",\r\n    aliases: [\"baby\"],\r\n    tags: [\"child\", \"newborn\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧒\",\r\n    description: \"child\",\r\n    category: \"People & Body\",\r\n    aliases: [\"child\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👦\",\r\n    description: \"boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"boy\"],\r\n    tags: [\"child\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👧\",\r\n    description: \"girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"girl\"],\r\n    tags: [\"child\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑\",\r\n    description: \"person\",\r\n    category: \"People & Body\",\r\n    aliases: [\"adult\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👱\",\r\n    description: \"person: blond hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"blond_haired_person\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨\",\r\n    description: \"man\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man\"],\r\n    tags: [\"mustache\", \"father\", \"dad\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧔\",\r\n    description: \"person: beard\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bearded_person\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧔‍♂️\",\r\n    description: \"man: beard\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_beard\"],\r\n    tags: [],\r\n    unicode_version: \"13.1\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧔‍♀️\",\r\n    description: \"woman: beard\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_beard\"],\r\n    tags: [],\r\n    unicode_version: \"13.1\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🦰\",\r\n    description: \"man: red hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"red_haired_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🦱\",\r\n    description: \"man: curly hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"curly_haired_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🦳\",\r\n    description: \"man: white hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"white_haired_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🦲\",\r\n    description: \"man: bald\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bald_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩\",\r\n    description: \"woman\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman\"],\r\n    tags: [\"girls\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🦰\",\r\n    description: \"woman: red hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"red_haired_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🦰\",\r\n    description: \"person: red hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_red_hair\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🦱\",\r\n    description: \"woman: curly hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"curly_haired_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🦱\",\r\n    description: \"person: curly hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_curly_hair\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🦳\",\r\n    description: \"woman: white hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"white_haired_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🦳\",\r\n    description: \"person: white hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_white_hair\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🦲\",\r\n    description: \"woman: bald\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bald_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🦲\",\r\n    description: \"person: bald\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_bald\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👱‍♀️\",\r\n    description: \"woman: blond hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"blond_haired_woman\", \"blonde_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👱‍♂️\",\r\n    description: \"man: blond hair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"blond_haired_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧓\",\r\n    description: \"older person\",\r\n    category: \"People & Body\",\r\n    aliases: [\"older_adult\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👴\",\r\n    description: \"old man\",\r\n    category: \"People & Body\",\r\n    aliases: [\"older_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👵\",\r\n    description: \"old woman\",\r\n    category: \"People & Body\",\r\n    aliases: [\"older_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙍\",\r\n    description: \"person frowning\",\r\n    category: \"People & Body\",\r\n    aliases: [\"frowning_person\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙍‍♂️\",\r\n    description: \"man frowning\",\r\n    category: \"People & Body\",\r\n    aliases: [\"frowning_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙍‍♀️\",\r\n    description: \"woman frowning\",\r\n    category: \"People & Body\",\r\n    aliases: [\"frowning_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙎\",\r\n    description: \"person pouting\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pouting_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙎‍♂️\",\r\n    description: \"man pouting\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pouting_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙎‍♀️\",\r\n    description: \"woman pouting\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pouting_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙅\",\r\n    description: \"person gesturing NO\",\r\n    category: \"People & Body\",\r\n    aliases: [\"no_good\"],\r\n    tags: [\"stop\", \"halt\", \"denied\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙅‍♂️\",\r\n    description: \"man gesturing NO\",\r\n    category: \"People & Body\",\r\n    aliases: [\"no_good_man\", \"ng_man\"],\r\n    tags: [\"stop\", \"halt\", \"denied\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙅‍♀️\",\r\n    description: \"woman gesturing NO\",\r\n    category: \"People & Body\",\r\n    aliases: [\"no_good_woman\", \"ng_woman\"],\r\n    tags: [\"stop\", \"halt\", \"denied\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙆\",\r\n    description: \"person gesturing OK\",\r\n    category: \"People & Body\",\r\n    aliases: [\"ok_person\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙆‍♂️\",\r\n    description: \"man gesturing OK\",\r\n    category: \"People & Body\",\r\n    aliases: [\"ok_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙆‍♀️\",\r\n    description: \"woman gesturing OK\",\r\n    category: \"People & Body\",\r\n    aliases: [\"ok_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💁\",\r\n    description: \"person tipping hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"tipping_hand_person\", \"information_desk_person\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💁‍♂️\",\r\n    description: \"man tipping hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"tipping_hand_man\", \"sassy_man\"],\r\n    tags: [\"information\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💁‍♀️\",\r\n    description: \"woman tipping hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"tipping_hand_woman\", \"sassy_woman\"],\r\n    tags: [\"information\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙋\",\r\n    description: \"person raising hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"raising_hand\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙋‍♂️\",\r\n    description: \"man raising hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"raising_hand_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙋‍♀️\",\r\n    description: \"woman raising hand\",\r\n    category: \"People & Body\",\r\n    aliases: [\"raising_hand_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧏\",\r\n    description: \"deaf person\",\r\n    category: \"People & Body\",\r\n    aliases: [\"deaf_person\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧏‍♂️\",\r\n    description: \"deaf man\",\r\n    category: \"People & Body\",\r\n    aliases: [\"deaf_man\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧏‍♀️\",\r\n    description: \"deaf woman\",\r\n    category: \"People & Body\",\r\n    aliases: [\"deaf_woman\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙇\",\r\n    description: \"person bowing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bow\"],\r\n    tags: [\"respect\", \"thanks\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙇‍♂️\",\r\n    description: \"man bowing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bowing_man\"],\r\n    tags: [\"respect\", \"thanks\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🙇‍♀️\",\r\n    description: \"woman bowing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bowing_woman\"],\r\n    tags: [\"respect\", \"thanks\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤦\",\r\n    description: \"person facepalming\",\r\n    category: \"People & Body\",\r\n    aliases: [\"facepalm\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤦‍♂️\",\r\n    description: \"man facepalming\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_facepalming\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤦‍♀️\",\r\n    description: \"woman facepalming\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_facepalming\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤷\",\r\n    description: \"person shrugging\",\r\n    category: \"People & Body\",\r\n    aliases: [\"shrug\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤷‍♂️\",\r\n    description: \"man shrugging\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_shrugging\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤷‍♀️\",\r\n    description: \"woman shrugging\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_shrugging\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍⚕️\",\r\n    description: \"health worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"health_worker\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍⚕️\",\r\n    description: \"man health worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_health_worker\"],\r\n    tags: [\"doctor\", \"nurse\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍⚕️\",\r\n    description: \"woman health worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_health_worker\"],\r\n    tags: [\"doctor\", \"nurse\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🎓\",\r\n    description: \"student\",\r\n    category: \"People & Body\",\r\n    aliases: [\"student\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🎓\",\r\n    description: \"man student\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_student\"],\r\n    tags: [\"graduation\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🎓\",\r\n    description: \"woman student\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_student\"],\r\n    tags: [\"graduation\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🏫\",\r\n    description: \"teacher\",\r\n    category: \"People & Body\",\r\n    aliases: [\"teacher\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🏫\",\r\n    description: \"man teacher\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_teacher\"],\r\n    tags: [\"school\", \"professor\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🏫\",\r\n    description: \"woman teacher\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_teacher\"],\r\n    tags: [\"school\", \"professor\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍⚖️\",\r\n    description: \"judge\",\r\n    category: \"People & Body\",\r\n    aliases: [\"judge\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍⚖️\",\r\n    description: \"man judge\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_judge\"],\r\n    tags: [\"justice\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍⚖️\",\r\n    description: \"woman judge\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_judge\"],\r\n    tags: [\"justice\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🌾\",\r\n    description: \"farmer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"farmer\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🌾\",\r\n    description: \"man farmer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_farmer\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🌾\",\r\n    description: \"woman farmer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_farmer\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🍳\",\r\n    description: \"cook\",\r\n    category: \"People & Body\",\r\n    aliases: [\"cook\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🍳\",\r\n    description: \"man cook\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_cook\"],\r\n    tags: [\"chef\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🍳\",\r\n    description: \"woman cook\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_cook\"],\r\n    tags: [\"chef\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🔧\",\r\n    description: \"mechanic\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mechanic\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🔧\",\r\n    description: \"man mechanic\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_mechanic\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🔧\",\r\n    description: \"woman mechanic\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_mechanic\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🏭\",\r\n    description: \"factory worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"factory_worker\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🏭\",\r\n    description: \"man factory worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_factory_worker\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🏭\",\r\n    description: \"woman factory worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_factory_worker\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍💼\",\r\n    description: \"office worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"office_worker\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍💼\",\r\n    description: \"man office worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_office_worker\"],\r\n    tags: [\"business\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍💼\",\r\n    description: \"woman office worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_office_worker\"],\r\n    tags: [\"business\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🔬\",\r\n    description: \"scientist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"scientist\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🔬\",\r\n    description: \"man scientist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_scientist\"],\r\n    tags: [\"research\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🔬\",\r\n    description: \"woman scientist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_scientist\"],\r\n    tags: [\"research\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍💻\",\r\n    description: \"technologist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"technologist\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍💻\",\r\n    description: \"man technologist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_technologist\"],\r\n    tags: [\"coder\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍💻\",\r\n    description: \"woman technologist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_technologist\"],\r\n    tags: [\"coder\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🎤\",\r\n    description: \"singer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"singer\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🎤\",\r\n    description: \"man singer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_singer\"],\r\n    tags: [\"rockstar\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🎤\",\r\n    description: \"woman singer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_singer\"],\r\n    tags: [\"rockstar\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🎨\",\r\n    description: \"artist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"artist\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🎨\",\r\n    description: \"man artist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_artist\"],\r\n    tags: [\"painter\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🎨\",\r\n    description: \"woman artist\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_artist\"],\r\n    tags: [\"painter\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍✈️\",\r\n    description: \"pilot\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pilot\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍✈️\",\r\n    description: \"man pilot\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_pilot\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍✈️\",\r\n    description: \"woman pilot\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_pilot\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🚀\",\r\n    description: \"astronaut\",\r\n    category: \"People & Body\",\r\n    aliases: [\"astronaut\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🚀\",\r\n    description: \"man astronaut\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_astronaut\"],\r\n    tags: [\"space\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🚀\",\r\n    description: \"woman astronaut\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_astronaut\"],\r\n    tags: [\"space\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🚒\",\r\n    description: \"firefighter\",\r\n    category: \"People & Body\",\r\n    aliases: [\"firefighter\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🚒\",\r\n    description: \"man firefighter\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_firefighter\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🚒\",\r\n    description: \"woman firefighter\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_firefighter\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👮\",\r\n    description: \"police officer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"police_officer\", \"cop\"],\r\n    tags: [\"law\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👮‍♂️\",\r\n    description: \"man police officer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"policeman\"],\r\n    tags: [\"law\", \"cop\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👮‍♀️\",\r\n    description: \"woman police officer\",\r\n    category: \"People & Body\",\r\n    aliases: [\"policewoman\"],\r\n    tags: [\"law\", \"cop\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🕵️\",\r\n    description: \"detective\",\r\n    category: \"People & Body\",\r\n    aliases: [\"detective\"],\r\n    tags: [\"sleuth\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🕵️‍♂️\",\r\n    description: \"man detective\",\r\n    category: \"People & Body\",\r\n    aliases: [\"male_detective\"],\r\n    tags: [\"sleuth\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🕵️‍♀️\",\r\n    description: \"woman detective\",\r\n    category: \"People & Body\",\r\n    aliases: [\"female_detective\"],\r\n    tags: [\"sleuth\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💂\",\r\n    description: \"guard\",\r\n    category: \"People & Body\",\r\n    aliases: [\"guard\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💂‍♂️\",\r\n    description: \"man guard\",\r\n    category: \"People & Body\",\r\n    aliases: [\"guardsman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💂‍♀️\",\r\n    description: \"woman guard\",\r\n    category: \"People & Body\",\r\n    aliases: [\"guardswoman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🥷\",\r\n    description: \"ninja\",\r\n    category: \"People & Body\",\r\n    aliases: [\"ninja\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👷\",\r\n    description: \"construction worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"construction_worker\"],\r\n    tags: [\"helmet\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👷‍♂️\",\r\n    description: \"man construction worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"construction_worker_man\"],\r\n    tags: [\"helmet\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👷‍♀️\",\r\n    description: \"woman construction worker\",\r\n    category: \"People & Body\",\r\n    aliases: [\"construction_worker_woman\"],\r\n    tags: [\"helmet\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫅\",\r\n    description: \"person with crown\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_with_crown\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤴\",\r\n    description: \"prince\",\r\n    category: \"People & Body\",\r\n    aliases: [\"prince\"],\r\n    tags: [\"crown\", \"royal\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👸\",\r\n    description: \"princess\",\r\n    category: \"People & Body\",\r\n    aliases: [\"princess\"],\r\n    tags: [\"crown\", \"royal\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👳\",\r\n    description: \"person wearing turban\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_with_turban\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👳‍♂️\",\r\n    description: \"man wearing turban\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_with_turban\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👳‍♀️\",\r\n    description: \"woman wearing turban\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_with_turban\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👲\",\r\n    description: \"person with skullcap\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_with_gua_pi_mao\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧕\",\r\n    description: \"woman with headscarf\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_with_headscarf\"],\r\n    tags: [\"hijab\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤵\",\r\n    description: \"person in tuxedo\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_in_tuxedo\"],\r\n    tags: [\"groom\", \"marriage\", \"wedding\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤵‍♂️\",\r\n    description: \"man in tuxedo\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_in_tuxedo\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤵‍♀️\",\r\n    description: \"woman in tuxedo\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_in_tuxedo\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👰\",\r\n    description: \"person with veil\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_with_veil\"],\r\n    tags: [\"marriage\", \"wedding\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👰‍♂️\",\r\n    description: \"man with veil\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_with_veil\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👰‍♀️\",\r\n    description: \"woman with veil\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_with_veil\", \"bride_with_veil\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤰\",\r\n    description: \"pregnant woman\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pregnant_woman\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫃\",\r\n    description: \"pregnant man\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pregnant_man\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🫄\",\r\n    description: \"pregnant person\",\r\n    category: \"People & Body\",\r\n    aliases: [\"pregnant_person\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤱\",\r\n    description: \"breast-feeding\",\r\n    category: \"People & Body\",\r\n    aliases: [\"breast_feeding\"],\r\n    tags: [\"nursing\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🍼\",\r\n    description: \"woman feeding baby\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_feeding_baby\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🍼\",\r\n    description: \"man feeding baby\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_feeding_baby\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🍼\",\r\n    description: \"person feeding baby\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_feeding_baby\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👼\",\r\n    description: \"baby angel\",\r\n    category: \"People & Body\",\r\n    aliases: [\"angel\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🎅\",\r\n    description: \"Santa Claus\",\r\n    category: \"People & Body\",\r\n    aliases: [\"santa\"],\r\n    tags: [\"christmas\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤶\",\r\n    description: \"Mrs. Claus\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mrs_claus\"],\r\n    tags: [\"santa\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🎄\",\r\n    description: \"mx claus\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mx_claus\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦸\",\r\n    description: \"superhero\",\r\n    category: \"People & Body\",\r\n    aliases: [\"superhero\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦸‍♂️\",\r\n    description: \"man superhero\",\r\n    category: \"People & Body\",\r\n    aliases: [\"superhero_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦸‍♀️\",\r\n    description: \"woman superhero\",\r\n    category: \"People & Body\",\r\n    aliases: [\"superhero_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦹\",\r\n    description: \"supervillain\",\r\n    category: \"People & Body\",\r\n    aliases: [\"supervillain\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦹‍♂️\",\r\n    description: \"man supervillain\",\r\n    category: \"People & Body\",\r\n    aliases: [\"supervillain_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🦹‍♀️\",\r\n    description: \"woman supervillain\",\r\n    category: \"People & Body\",\r\n    aliases: [\"supervillain_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧙\",\r\n    description: \"mage\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mage\"],\r\n    tags: [\"wizard\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧙‍♂️\",\r\n    description: \"man mage\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mage_man\"],\r\n    tags: [\"wizard\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧙‍♀️\",\r\n    description: \"woman mage\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mage_woman\"],\r\n    tags: [\"wizard\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧚\",\r\n    description: \"fairy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"fairy\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧚‍♂️\",\r\n    description: \"man fairy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"fairy_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧚‍♀️\",\r\n    description: \"woman fairy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"fairy_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧛\",\r\n    description: \"vampire\",\r\n    category: \"People & Body\",\r\n    aliases: [\"vampire\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧛‍♂️\",\r\n    description: \"man vampire\",\r\n    category: \"People & Body\",\r\n    aliases: [\"vampire_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧛‍♀️\",\r\n    description: \"woman vampire\",\r\n    category: \"People & Body\",\r\n    aliases: [\"vampire_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧜\",\r\n    description: \"merperson\",\r\n    category: \"People & Body\",\r\n    aliases: [\"merperson\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧜‍♂️\",\r\n    description: \"merman\",\r\n    category: \"People & Body\",\r\n    aliases: [\"merman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧜‍♀️\",\r\n    description: \"mermaid\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mermaid\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧝\",\r\n    description: \"elf\",\r\n    category: \"People & Body\",\r\n    aliases: [\"elf\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧝‍♂️\",\r\n    description: \"man elf\",\r\n    category: \"People & Body\",\r\n    aliases: [\"elf_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧝‍♀️\",\r\n    description: \"woman elf\",\r\n    category: \"People & Body\",\r\n    aliases: [\"elf_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧞\",\r\n    description: \"genie\",\r\n    category: \"People & Body\",\r\n    aliases: [\"genie\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧞‍♂️\",\r\n    description: \"man genie\",\r\n    category: \"People & Body\",\r\n    aliases: [\"genie_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧞‍♀️\",\r\n    description: \"woman genie\",\r\n    category: \"People & Body\",\r\n    aliases: [\"genie_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧟\",\r\n    description: \"zombie\",\r\n    category: \"People & Body\",\r\n    aliases: [\"zombie\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧟‍♂️\",\r\n    description: \"man zombie\",\r\n    category: \"People & Body\",\r\n    aliases: [\"zombie_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧟‍♀️\",\r\n    description: \"woman zombie\",\r\n    category: \"People & Body\",\r\n    aliases: [\"zombie_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧌\",\r\n    description: \"troll\",\r\n    category: \"People & Body\",\r\n    aliases: [\"troll\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"💆\",\r\n    description: \"person getting massage\",\r\n    category: \"People & Body\",\r\n    aliases: [\"massage\"],\r\n    tags: [\"spa\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💆‍♂️\",\r\n    description: \"man getting massage\",\r\n    category: \"People & Body\",\r\n    aliases: [\"massage_man\"],\r\n    tags: [\"spa\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💆‍♀️\",\r\n    description: \"woman getting massage\",\r\n    category: \"People & Body\",\r\n    aliases: [\"massage_woman\"],\r\n    tags: [\"spa\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💇\",\r\n    description: \"person getting haircut\",\r\n    category: \"People & Body\",\r\n    aliases: [\"haircut\"],\r\n    tags: [\"beauty\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💇‍♂️\",\r\n    description: \"man getting haircut\",\r\n    category: \"People & Body\",\r\n    aliases: [\"haircut_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💇‍♀️\",\r\n    description: \"woman getting haircut\",\r\n    category: \"People & Body\",\r\n    aliases: [\"haircut_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚶\",\r\n    description: \"person walking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"walking\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚶‍♂️\",\r\n    description: \"man walking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"walking_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚶‍♀️\",\r\n    description: \"woman walking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"walking_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧍\",\r\n    description: \"person standing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"standing_person\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧍‍♂️\",\r\n    description: \"man standing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"standing_man\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧍‍♀️\",\r\n    description: \"woman standing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"standing_woman\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧎\",\r\n    description: \"person kneeling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"kneeling_person\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧎‍♂️\",\r\n    description: \"man kneeling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"kneeling_man\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧎‍♀️\",\r\n    description: \"woman kneeling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"kneeling_woman\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🦯\",\r\n    description: \"person with white cane\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_with_probing_cane\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🦯\",\r\n    description: \"man with white cane\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_with_probing_cane\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🦯\",\r\n    description: \"woman with white cane\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_with_probing_cane\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🦼\",\r\n    description: \"person in motorized wheelchair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_in_motorized_wheelchair\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🦼\",\r\n    description: \"man in motorized wheelchair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_in_motorized_wheelchair\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🦼\",\r\n    description: \"woman in motorized wheelchair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_in_motorized_wheelchair\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🦽\",\r\n    description: \"person in manual wheelchair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_in_manual_wheelchair\"],\r\n    tags: [],\r\n    unicode_version: \"12.1\",\r\n    ios_version: \"13.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍🦽\",\r\n    description: \"man in manual wheelchair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_in_manual_wheelchair\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍🦽\",\r\n    description: \"woman in manual wheelchair\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_in_manual_wheelchair\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏃\",\r\n    description: \"person running\",\r\n    category: \"People & Body\",\r\n    aliases: [\"runner\", \"running\"],\r\n    tags: [\"exercise\", \"workout\", \"marathon\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏃‍♂️\",\r\n    description: \"man running\",\r\n    category: \"People & Body\",\r\n    aliases: [\"running_man\"],\r\n    tags: [\"exercise\", \"workout\", \"marathon\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏃‍♀️\",\r\n    description: \"woman running\",\r\n    category: \"People & Body\",\r\n    aliases: [\"running_woman\"],\r\n    tags: [\"exercise\", \"workout\", \"marathon\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💃\",\r\n    description: \"woman dancing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_dancing\", \"dancer\"],\r\n    tags: [\"dress\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🕺\",\r\n    description: \"man dancing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_dancing\"],\r\n    tags: [\"dancer\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🕴️\",\r\n    description: \"person in suit levitating\",\r\n    category: \"People & Body\",\r\n    aliases: [\"business_suit_levitating\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👯\",\r\n    description: \"people with bunny ears\",\r\n    category: \"People & Body\",\r\n    aliases: [\"dancers\"],\r\n    tags: [\"bunny\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👯‍♂️\",\r\n    description: \"men with bunny ears\",\r\n    category: \"People & Body\",\r\n    aliases: [\"dancing_men\"],\r\n    tags: [\"bunny\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👯‍♀️\",\r\n    description: \"women with bunny ears\",\r\n    category: \"People & Body\",\r\n    aliases: [\"dancing_women\"],\r\n    tags: [\"bunny\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧖\",\r\n    description: \"person in steamy room\",\r\n    category: \"People & Body\",\r\n    aliases: [\"sauna_person\"],\r\n    tags: [\"steamy\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧖‍♂️\",\r\n    description: \"man in steamy room\",\r\n    category: \"People & Body\",\r\n    aliases: [\"sauna_man\"],\r\n    tags: [\"steamy\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧖‍♀️\",\r\n    description: \"woman in steamy room\",\r\n    category: \"People & Body\",\r\n    aliases: [\"sauna_woman\"],\r\n    tags: [\"steamy\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧗\",\r\n    description: \"person climbing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"climbing\"],\r\n    tags: [\"bouldering\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧗‍♂️\",\r\n    description: \"man climbing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"climbing_man\"],\r\n    tags: [\"bouldering\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧗‍♀️\",\r\n    description: \"woman climbing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"climbing_woman\"],\r\n    tags: [\"bouldering\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤺\",\r\n    description: \"person fencing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"person_fencing\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🏇\",\r\n    description: \"horse racing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"horse_racing\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"⛷️\",\r\n    description: \"skier\",\r\n    category: \"People & Body\",\r\n    aliases: [\"skier\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏂\",\r\n    description: \"snowboarder\",\r\n    category: \"People & Body\",\r\n    aliases: [\"snowboarder\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏌️\",\r\n    description: \"person golfing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"golfing\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏌️‍♂️\",\r\n    description: \"man golfing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"golfing_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏌️‍♀️\",\r\n    description: \"woman golfing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"golfing_woman\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏄\",\r\n    description: \"person surfing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"surfer\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏄‍♂️\",\r\n    description: \"man surfing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"surfing_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏄‍♀️\",\r\n    description: \"woman surfing\",\r\n    category: \"People & Body\",\r\n    aliases: [\"surfing_woman\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚣\",\r\n    description: \"person rowing boat\",\r\n    category: \"People & Body\",\r\n    aliases: [\"rowboat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚣‍♂️\",\r\n    description: \"man rowing boat\",\r\n    category: \"People & Body\",\r\n    aliases: [\"rowing_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚣‍♀️\",\r\n    description: \"woman rowing boat\",\r\n    category: \"People & Body\",\r\n    aliases: [\"rowing_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏊\",\r\n    description: \"person swimming\",\r\n    category: \"People & Body\",\r\n    aliases: [\"swimmer\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏊‍♂️\",\r\n    description: \"man swimming\",\r\n    category: \"People & Body\",\r\n    aliases: [\"swimming_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏊‍♀️\",\r\n    description: \"woman swimming\",\r\n    category: \"People & Body\",\r\n    aliases: [\"swimming_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"⛹️\",\r\n    description: \"person bouncing ball\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bouncing_ball_person\"],\r\n    tags: [\"basketball\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"⛹️‍♂️\",\r\n    description: \"man bouncing ball\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bouncing_ball_man\", \"basketball_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"⛹️‍♀️\",\r\n    description: \"woman bouncing ball\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bouncing_ball_woman\", \"basketball_woman\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏋️\",\r\n    description: \"person lifting weights\",\r\n    category: \"People & Body\",\r\n    aliases: [\"weight_lifting\"],\r\n    tags: [\"gym\", \"workout\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏋️‍♂️\",\r\n    description: \"man lifting weights\",\r\n    category: \"People & Body\",\r\n    aliases: [\"weight_lifting_man\"],\r\n    tags: [\"gym\", \"workout\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🏋️‍♀️\",\r\n    description: \"woman lifting weights\",\r\n    category: \"People & Body\",\r\n    aliases: [\"weight_lifting_woman\"],\r\n    tags: [\"gym\", \"workout\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚴\",\r\n    description: \"person biking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bicyclist\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚴‍♂️\",\r\n    description: \"man biking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"biking_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚴‍♀️\",\r\n    description: \"woman biking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"biking_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚵\",\r\n    description: \"person mountain biking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mountain_bicyclist\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚵‍♂️\",\r\n    description: \"man mountain biking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mountain_biking_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🚵‍♀️\",\r\n    description: \"woman mountain biking\",\r\n    category: \"People & Body\",\r\n    aliases: [\"mountain_biking_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤸\",\r\n    description: \"person cartwheeling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"cartwheeling\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤸‍♂️\",\r\n    description: \"man cartwheeling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_cartwheeling\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤸‍♀️\",\r\n    description: \"woman cartwheeling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_cartwheeling\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤼\",\r\n    description: \"people wrestling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"wrestling\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🤼‍♂️\",\r\n    description: \"men wrestling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"men_wrestling\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🤼‍♀️\",\r\n    description: \"women wrestling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"women_wrestling\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🤽\",\r\n    description: \"person playing water polo\",\r\n    category: \"People & Body\",\r\n    aliases: [\"water_polo\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤽‍♂️\",\r\n    description: \"man playing water polo\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_playing_water_polo\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤽‍♀️\",\r\n    description: \"woman playing water polo\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_playing_water_polo\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤾\",\r\n    description: \"person playing handball\",\r\n    category: \"People & Body\",\r\n    aliases: [\"handball_person\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤾‍♂️\",\r\n    description: \"man playing handball\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_playing_handball\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤾‍♀️\",\r\n    description: \"woman playing handball\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_playing_handball\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤹\",\r\n    description: \"person juggling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"juggling_person\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤹‍♂️\",\r\n    description: \"man juggling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"man_juggling\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🤹‍♀️\",\r\n    description: \"woman juggling\",\r\n    category: \"People & Body\",\r\n    aliases: [\"woman_juggling\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧘\",\r\n    description: \"person in lotus position\",\r\n    category: \"People & Body\",\r\n    aliases: [\"lotus_position\"],\r\n    tags: [\"meditation\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧘‍♂️\",\r\n    description: \"man in lotus position\",\r\n    category: \"People & Body\",\r\n    aliases: [\"lotus_position_man\"],\r\n    tags: [\"meditation\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧘‍♀️\",\r\n    description: \"woman in lotus position\",\r\n    category: \"People & Body\",\r\n    aliases: [\"lotus_position_woman\"],\r\n    tags: [\"meditation\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🛀\",\r\n    description: \"person taking bath\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bath\"],\r\n    tags: [\"shower\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🛌\",\r\n    description: \"person in bed\",\r\n    category: \"People & Body\",\r\n    aliases: [\"sleeping_bed\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"🧑‍🤝‍🧑\",\r\n    description: \"people holding hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"people_holding_hands\"],\r\n    tags: [\"couple\", \"date\"],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👭\",\r\n    description: \"women holding hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"two_women_holding_hands\"],\r\n    tags: [\"couple\", \"date\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👫\",\r\n    description: \"woman and man holding hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couple\"],\r\n    tags: [\"date\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👬\",\r\n    description: \"men holding hands\",\r\n    category: \"People & Body\",\r\n    aliases: [\"two_men_holding_hands\"],\r\n    tags: [\"couple\", \"date\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💏\",\r\n    description: \"kiss\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couplekiss\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍❤️‍💋‍👨\",\r\n    description: \"kiss: woman, man\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couplekiss_man_woman\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍❤️‍💋‍👨\",\r\n    description: \"kiss: man, man\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couplekiss_man_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍❤️‍💋‍👩\",\r\n    description: \"kiss: woman, woman\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couplekiss_woman_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"💑\",\r\n    description: \"couple with heart\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couple_with_heart\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍❤️‍👨\",\r\n    description: \"couple with heart: woman, man\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couple_with_heart_woman_man\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👨‍❤️‍👨\",\r\n    description: \"couple with heart: man, man\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couple_with_heart_man_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👩‍❤️‍👩\",\r\n    description: \"couple with heart: woman, woman\",\r\n    category: \"People & Body\",\r\n    aliases: [\"couple_with_heart_woman_woman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n    skin_tones: true,\r\n  },\r\n  {\r\n    emoji: \"👪\",\r\n    description: \"family\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family\"],\r\n    tags: [\"home\", \"parents\", \"child\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👩‍👦\",\r\n    description: \"family: man, woman, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_woman_boy\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👩‍👧\",\r\n    description: \"family: man, woman, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_woman_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👩‍👧‍👦\",\r\n    description: \"family: man, woman, girl, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_woman_girl_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👩‍👦‍👦\",\r\n    description: \"family: man, woman, boy, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_woman_boy_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👩‍👧‍👧\",\r\n    description: \"family: man, woman, girl, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_woman_girl_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👨‍👦\",\r\n    description: \"family: man, man, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_man_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👨‍👧\",\r\n    description: \"family: man, man, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_man_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👨‍👧‍👦\",\r\n    description: \"family: man, man, girl, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_man_girl_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👨‍👦‍👦\",\r\n    description: \"family: man, man, boy, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_man_boy_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👨‍👧‍👧\",\r\n    description: \"family: man, man, girl, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_man_girl_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👩‍👦\",\r\n    description: \"family: woman, woman, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_woman_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👩‍👧\",\r\n    description: \"family: woman, woman, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_woman_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👩‍👧‍👦\",\r\n    description: \"family: woman, woman, girl, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_woman_girl_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👩‍👦‍👦\",\r\n    description: \"family: woman, woman, boy, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_woman_boy_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👩‍👧‍👧\",\r\n    description: \"family: woman, woman, girl, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_woman_girl_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👦\",\r\n    description: \"family: man, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👦‍👦\",\r\n    description: \"family: man, boy, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_boy_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👧\",\r\n    description: \"family: man, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👧‍👦\",\r\n    description: \"family: man, girl, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_girl_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👨‍👧‍👧\",\r\n    description: \"family: man, girl, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_man_girl_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👦\",\r\n    description: \"family: woman, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👦‍👦\",\r\n    description: \"family: woman, boy, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_boy_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👧\",\r\n    description: \"family: woman, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👧‍👦\",\r\n    description: \"family: woman, girl, boy\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_girl_boy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"👩‍👧‍👧\",\r\n    description: \"family: woman, girl, girl\",\r\n    category: \"People & Body\",\r\n    aliases: [\"family_woman_girl_girl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"🗣️\",\r\n    description: \"speaking head\",\r\n    category: \"People & Body\",\r\n    aliases: [\"speaking_head\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"👤\",\r\n    description: \"bust in silhouette\",\r\n    category: \"People & Body\",\r\n    aliases: [\"bust_in_silhouette\"],\r\n    tags: [\"user\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👥\",\r\n    description: \"busts in silhouette\",\r\n    category: \"People & Body\",\r\n    aliases: [\"busts_in_silhouette\"],\r\n    tags: [\"users\", \"group\", \"team\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫂\",\r\n    description: \"people hugging\",\r\n    category: \"People & Body\",\r\n    aliases: [\"people_hugging\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"👣\",\r\n    description: \"footprints\",\r\n    category: \"People & Body\",\r\n    aliases: [\"footprints\"],\r\n    tags: [\"feet\", \"tracks\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐵\",\r\n    description: \"monkey face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"monkey_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐒\",\r\n    description: \"monkey\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"monkey\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦍\",\r\n    description: \"gorilla\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"gorilla\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦧\",\r\n    description: \"orangutan\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"orangutan\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🐶\",\r\n    description: \"dog face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"dog\"],\r\n    tags: [\"pet\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐕\",\r\n    description: \"dog\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"dog2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦮\",\r\n    description: \"guide dog\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"guide_dog\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🐕‍🦺\",\r\n    description: \"service dog\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"service_dog\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🐩\",\r\n    description: \"poodle\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"poodle\"],\r\n    tags: [\"dog\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐺\",\r\n    description: \"wolf\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"wolf\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦊\",\r\n    description: \"fox\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"fox_face\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦝\",\r\n    description: \"raccoon\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"raccoon\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🐱\",\r\n    description: \"cat face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"cat\"],\r\n    tags: [\"pet\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐈\",\r\n    description: \"cat\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"cat2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐈‍⬛\",\r\n    description: \"black cat\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"black_cat\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🦁\",\r\n    description: \"lion\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"lion\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🐯\",\r\n    description: \"tiger face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"tiger\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐅\",\r\n    description: \"tiger\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"tiger2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐆\",\r\n    description: \"leopard\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"leopard\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐴\",\r\n    description: \"horse face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"horse\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫎\",\r\n    description: \"moose\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"moose\"],\r\n    tags: [\"canada\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🫏\",\r\n    description: \"donkey\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"donkey\"],\r\n    tags: [\"mule\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🐎\",\r\n    description: \"horse\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"racehorse\"],\r\n    tags: [\"speed\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦄\",\r\n    description: \"unicorn\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"unicorn\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🦓\",\r\n    description: \"zebra\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"zebra\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦌\",\r\n    description: \"deer\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"deer\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦬\",\r\n    description: \"bison\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"bison\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🐮\",\r\n    description: \"cow face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"cow\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐂\",\r\n    description: \"ox\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"ox\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐃\",\r\n    description: \"water buffalo\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"water_buffalo\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐄\",\r\n    description: \"cow\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"cow2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐷\",\r\n    description: \"pig face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"pig\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐖\",\r\n    description: \"pig\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"pig2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐗\",\r\n    description: \"boar\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"boar\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐽\",\r\n    description: \"pig nose\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"pig_nose\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐏\",\r\n    description: \"ram\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"ram\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐑\",\r\n    description: \"ewe\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"sheep\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐐\",\r\n    description: \"goat\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"goat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐪\",\r\n    description: \"camel\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"dromedary_camel\"],\r\n    tags: [\"desert\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐫\",\r\n    description: \"two-hump camel\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"camel\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦙\",\r\n    description: \"llama\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"llama\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦒\",\r\n    description: \"giraffe\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"giraffe\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🐘\",\r\n    description: \"elephant\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"elephant\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦣\",\r\n    description: \"mammoth\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"mammoth\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🦏\",\r\n    description: \"rhinoceros\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"rhinoceros\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦛\",\r\n    description: \"hippopotamus\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"hippopotamus\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🐭\",\r\n    description: \"mouse face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"mouse\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐁\",\r\n    description: \"mouse\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"mouse2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐀\",\r\n    description: \"rat\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"rat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐹\",\r\n    description: \"hamster\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"hamster\"],\r\n    tags: [\"pet\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐰\",\r\n    description: \"rabbit face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"rabbit\"],\r\n    tags: [\"bunny\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐇\",\r\n    description: \"rabbit\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"rabbit2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐿️\",\r\n    description: \"chipmunk\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"chipmunk\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🦫\",\r\n    description: \"beaver\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"beaver\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🦔\",\r\n    description: \"hedgehog\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"hedgehog\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦇\",\r\n    description: \"bat\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"bat\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🐻\",\r\n    description: \"bear\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"bear\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐻‍❄️\",\r\n    description: \"polar bear\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"polar_bear\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🐨\",\r\n    description: \"koala\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"koala\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐼\",\r\n    description: \"panda\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"panda_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦥\",\r\n    description: \"sloth\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"sloth\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🦦\",\r\n    description: \"otter\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"otter\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🦨\",\r\n    description: \"skunk\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"skunk\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🦘\",\r\n    description: \"kangaroo\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"kangaroo\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦡\",\r\n    description: \"badger\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"badger\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🐾\",\r\n    description: \"paw prints\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"feet\", \"paw_prints\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦃\",\r\n    description: \"turkey\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"turkey\"],\r\n    tags: [\"thanksgiving\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🐔\",\r\n    description: \"chicken\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"chicken\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐓\",\r\n    description: \"rooster\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"rooster\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐣\",\r\n    description: \"hatching chick\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"hatching_chick\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐤\",\r\n    description: \"baby chick\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"baby_chick\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐥\",\r\n    description: \"front-facing baby chick\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"hatched_chick\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐦\",\r\n    description: \"bird\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"bird\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐧\",\r\n    description: \"penguin\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"penguin\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕊️\",\r\n    description: \"dove\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"dove\"],\r\n    tags: [\"peace\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🦅\",\r\n    description: \"eagle\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"eagle\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦆\",\r\n    description: \"duck\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"duck\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦢\",\r\n    description: \"swan\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"swan\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦉\",\r\n    description: \"owl\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"owl\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦤\",\r\n    description: \"dodo\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"dodo\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪶\",\r\n    description: \"feather\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"feather\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🦩\",\r\n    description: \"flamingo\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"flamingo\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🦚\",\r\n    description: \"peacock\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"peacock\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦜\",\r\n    description: \"parrot\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"parrot\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪽\",\r\n    description: \"wing\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"wing\"],\r\n    tags: [\"fly\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🐦‍⬛\",\r\n    description: \"black bird\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"black_bird\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🪿\",\r\n    description: \"goose\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"goose\"],\r\n    tags: [\"honk\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🐸\",\r\n    description: \"frog\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"frog\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐊\",\r\n    description: \"crocodile\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"crocodile\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐢\",\r\n    description: \"turtle\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"turtle\"],\r\n    tags: [\"slow\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦎\",\r\n    description: \"lizard\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"lizard\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🐍\",\r\n    description: \"snake\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"snake\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐲\",\r\n    description: \"dragon face\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"dragon_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐉\",\r\n    description: \"dragon\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"dragon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦕\",\r\n    description: \"sauropod\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"sauropod\"],\r\n    tags: [\"dinosaur\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦖\",\r\n    description: \"T-Rex\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"t-rex\"],\r\n    tags: [\"dinosaur\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🐳\",\r\n    description: \"spouting whale\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"whale\"],\r\n    tags: [\"sea\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐋\",\r\n    description: \"whale\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"whale2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐬\",\r\n    description: \"dolphin\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"dolphin\", \"flipper\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦭\",\r\n    description: \"seal\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"seal\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🐟\",\r\n    description: \"fish\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"fish\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐠\",\r\n    description: \"tropical fish\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"tropical_fish\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐡\",\r\n    description: \"blowfish\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"blowfish\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦈\",\r\n    description: \"shark\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"shark\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🐙\",\r\n    description: \"octopus\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"octopus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐚\",\r\n    description: \"spiral shell\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"shell\"],\r\n    tags: [\"sea\", \"beach\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪸\",\r\n    description: \"coral\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"coral\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🪼\",\r\n    description: \"jellyfish\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"jellyfish\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🐌\",\r\n    description: \"snail\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"snail\"],\r\n    tags: [\"slow\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦋\",\r\n    description: \"butterfly\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"butterfly\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🐛\",\r\n    description: \"bug\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"bug\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐜\",\r\n    description: \"ant\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"ant\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🐝\",\r\n    description: \"honeybee\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"bee\", \"honeybee\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪲\",\r\n    description: \"beetle\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"beetle\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🐞\",\r\n    description: \"lady beetle\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"lady_beetle\"],\r\n    tags: [\"bug\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🦗\",\r\n    description: \"cricket\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"cricket\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪳\",\r\n    description: \"cockroach\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"cockroach\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🕷️\",\r\n    description: \"spider\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"spider\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🕸️\",\r\n    description: \"spider web\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"spider_web\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🦂\",\r\n    description: \"scorpion\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"scorpion\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🦟\",\r\n    description: \"mosquito\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"mosquito\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪰\",\r\n    description: \"fly\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"fly\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪱\",\r\n    description: \"worm\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"worm\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🦠\",\r\n    description: \"microbe\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"microbe\"],\r\n    tags: [\"germ\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"💐\",\r\n    description: \"bouquet\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"bouquet\"],\r\n    tags: [\"flowers\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌸\",\r\n    description: \"cherry blossom\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"cherry_blossom\"],\r\n    tags: [\"flower\", \"spring\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💮\",\r\n    description: \"white flower\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"white_flower\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪷\",\r\n    description: \"lotus\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"lotus\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🏵️\",\r\n    description: \"rosette\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"rosette\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌹\",\r\n    description: \"rose\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"rose\"],\r\n    tags: [\"flower\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥀\",\r\n    description: \"wilted flower\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"wilted_flower\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🌺\",\r\n    description: \"hibiscus\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"hibiscus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌻\",\r\n    description: \"sunflower\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"sunflower\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌼\",\r\n    description: \"blossom\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"blossom\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌷\",\r\n    description: \"tulip\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"tulip\"],\r\n    tags: [\"flower\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪻\",\r\n    description: \"hyacinth\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"hyacinth\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🌱\",\r\n    description: \"seedling\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"seedling\"],\r\n    tags: [\"plant\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪴\",\r\n    description: \"potted plant\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"potted_plant\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🌲\",\r\n    description: \"evergreen tree\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"evergreen_tree\"],\r\n    tags: [\"wood\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌳\",\r\n    description: \"deciduous tree\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"deciduous_tree\"],\r\n    tags: [\"wood\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌴\",\r\n    description: \"palm tree\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"palm_tree\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌵\",\r\n    description: \"cactus\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"cactus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌾\",\r\n    description: \"sheaf of rice\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"ear_of_rice\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌿\",\r\n    description: \"herb\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"herb\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☘️\",\r\n    description: \"shamrock\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"shamrock\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🍀\",\r\n    description: \"four leaf clover\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"four_leaf_clover\"],\r\n    tags: [\"luck\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍁\",\r\n    description: \"maple leaf\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"maple_leaf\"],\r\n    tags: [\"canada\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍂\",\r\n    description: \"fallen leaf\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"fallen_leaf\"],\r\n    tags: [\"autumn\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍃\",\r\n    description: \"leaf fluttering in wind\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"leaves\"],\r\n    tags: [\"leaf\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪹\",\r\n    description: \"empty nest\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"empty_nest\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🪺\",\r\n    description: \"nest with eggs\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"nest_with_eggs\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🍄\",\r\n    description: \"mushroom\",\r\n    category: \"Animals & Nature\",\r\n    aliases: [\"mushroom\"],\r\n    tags: [\"fungus\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍇\",\r\n    description: \"grapes\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"grapes\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍈\",\r\n    description: \"melon\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"melon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍉\",\r\n    description: \"watermelon\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"watermelon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍊\",\r\n    description: \"tangerine\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"tangerine\", \"orange\", \"mandarin\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍋\",\r\n    description: \"lemon\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"lemon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍌\",\r\n    description: \"banana\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"banana\"],\r\n    tags: [\"fruit\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍍\",\r\n    description: \"pineapple\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"pineapple\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥭\",\r\n    description: \"mango\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"mango\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🍎\",\r\n    description: \"red apple\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"apple\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍏\",\r\n    description: \"green apple\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"green_apple\"],\r\n    tags: [\"fruit\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍐\",\r\n    description: \"pear\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"pear\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍑\",\r\n    description: \"peach\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"peach\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍒\",\r\n    description: \"cherries\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cherries\"],\r\n    tags: [\"fruit\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍓\",\r\n    description: \"strawberry\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"strawberry\"],\r\n    tags: [\"fruit\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫐\",\r\n    description: \"blueberries\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"blueberries\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🥝\",\r\n    description: \"kiwi fruit\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"kiwi_fruit\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🍅\",\r\n    description: \"tomato\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"tomato\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫒\",\r\n    description: \"olive\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"olive\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🥥\",\r\n    description: \"coconut\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"coconut\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥑\",\r\n    description: \"avocado\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"avocado\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🍆\",\r\n    description: \"eggplant\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"eggplant\"],\r\n    tags: [\"aubergine\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥔\",\r\n    description: \"potato\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"potato\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥕\",\r\n    description: \"carrot\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"carrot\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🌽\",\r\n    description: \"ear of corn\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"corn\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌶️\",\r\n    description: \"hot pepper\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"hot_pepper\"],\r\n    tags: [\"spicy\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🫑\",\r\n    description: \"bell pepper\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"bell_pepper\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🥒\",\r\n    description: \"cucumber\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cucumber\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥬\",\r\n    description: \"leafy green\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"leafy_green\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥦\",\r\n    description: \"broccoli\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"broccoli\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧄\",\r\n    description: \"garlic\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"garlic\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🧅\",\r\n    description: \"onion\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"onion\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🥜\",\r\n    description: \"peanuts\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"peanuts\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🫘\",\r\n    description: \"beans\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"beans\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🌰\",\r\n    description: \"chestnut\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"chestnut\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫚\",\r\n    description: \"ginger root\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"ginger_root\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🫛\",\r\n    description: \"pea pod\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"pea_pod\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🍞\",\r\n    description: \"bread\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"bread\"],\r\n    tags: [\"toast\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥐\",\r\n    description: \"croissant\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"croissant\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥖\",\r\n    description: \"baguette bread\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"baguette_bread\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🫓\",\r\n    description: \"flatbread\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"flatbread\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🥨\",\r\n    description: \"pretzel\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"pretzel\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥯\",\r\n    description: \"bagel\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"bagel\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥞\",\r\n    description: \"pancakes\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"pancakes\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🧇\",\r\n    description: \"waffle\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"waffle\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🧀\",\r\n    description: \"cheese wedge\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cheese\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🍖\",\r\n    description: \"meat on bone\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"meat_on_bone\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍗\",\r\n    description: \"poultry leg\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"poultry_leg\"],\r\n    tags: [\"meat\", \"chicken\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥩\",\r\n    description: \"cut of meat\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cut_of_meat\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥓\",\r\n    description: \"bacon\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"bacon\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🍔\",\r\n    description: \"hamburger\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"hamburger\"],\r\n    tags: [\"burger\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍟\",\r\n    description: \"french fries\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"fries\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍕\",\r\n    description: \"pizza\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"pizza\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌭\",\r\n    description: \"hot dog\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"hotdog\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🥪\",\r\n    description: \"sandwich\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"sandwich\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🌮\",\r\n    description: \"taco\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"taco\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌯\",\r\n    description: \"burrito\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"burrito\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🫔\",\r\n    description: \"tamale\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"tamale\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🥙\",\r\n    description: \"stuffed flatbread\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"stuffed_flatbread\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🧆\",\r\n    description: \"falafel\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"falafel\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🥚\",\r\n    description: \"egg\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"egg\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🍳\",\r\n    description: \"cooking\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"fried_egg\"],\r\n    tags: [\"breakfast\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥘\",\r\n    description: \"shallow pan of food\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"shallow_pan_of_food\"],\r\n    tags: [\"paella\", \"curry\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🍲\",\r\n    description: \"pot of food\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"stew\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫕\",\r\n    description: \"fondue\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"fondue\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🥣\",\r\n    description: \"bowl with spoon\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"bowl_with_spoon\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥗\",\r\n    description: \"green salad\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"green_salad\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🍿\",\r\n    description: \"popcorn\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"popcorn\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🧈\",\r\n    description: \"butter\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"butter\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🧂\",\r\n    description: \"salt\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"salt\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥫\",\r\n    description: \"canned food\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"canned_food\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🍱\",\r\n    description: \"bento box\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"bento\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍘\",\r\n    description: \"rice cracker\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"rice_cracker\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍙\",\r\n    description: \"rice ball\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"rice_ball\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍚\",\r\n    description: \"cooked rice\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"rice\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍛\",\r\n    description: \"curry rice\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"curry\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍜\",\r\n    description: \"steaming bowl\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"ramen\"],\r\n    tags: [\"noodle\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍝\",\r\n    description: \"spaghetti\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"spaghetti\"],\r\n    tags: [\"pasta\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍠\",\r\n    description: \"roasted sweet potato\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"sweet_potato\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍢\",\r\n    description: \"oden\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"oden\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍣\",\r\n    description: \"sushi\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"sushi\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍤\",\r\n    description: \"fried shrimp\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"fried_shrimp\"],\r\n    tags: [\"tempura\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍥\",\r\n    description: \"fish cake with swirl\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"fish_cake\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥮\",\r\n    description: \"moon cake\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"moon_cake\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🍡\",\r\n    description: \"dango\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"dango\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥟\",\r\n    description: \"dumpling\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"dumpling\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥠\",\r\n    description: \"fortune cookie\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"fortune_cookie\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥡\",\r\n    description: \"takeout box\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"takeout_box\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦀\",\r\n    description: \"crab\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"crab\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🦞\",\r\n    description: \"lobster\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"lobster\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦐\",\r\n    description: \"shrimp\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"shrimp\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦑\",\r\n    description: \"squid\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"squid\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦪\",\r\n    description: \"oyster\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"oyster\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🍦\",\r\n    description: \"soft ice cream\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"icecream\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍧\",\r\n    description: \"shaved ice\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"shaved_ice\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍨\",\r\n    description: \"ice cream\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"ice_cream\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍩\",\r\n    description: \"doughnut\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"doughnut\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍪\",\r\n    description: \"cookie\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cookie\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎂\",\r\n    description: \"birthday cake\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"birthday\"],\r\n    tags: [\"party\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍰\",\r\n    description: \"shortcake\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cake\"],\r\n    tags: [\"dessert\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧁\",\r\n    description: \"cupcake\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cupcake\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥧\",\r\n    description: \"pie\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"pie\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🍫\",\r\n    description: \"chocolate bar\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"chocolate_bar\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍬\",\r\n    description: \"candy\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"candy\"],\r\n    tags: [\"sweet\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍭\",\r\n    description: \"lollipop\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"lollipop\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍮\",\r\n    description: \"custard\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"custard\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍯\",\r\n    description: \"honey pot\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"honey_pot\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍼\",\r\n    description: \"baby bottle\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"baby_bottle\"],\r\n    tags: [\"milk\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥛\",\r\n    description: \"glass of milk\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"milk_glass\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"☕\",\r\n    description: \"hot beverage\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"coffee\"],\r\n    tags: [\"cafe\", \"espresso\"],\r\n    unicode_version: \"4.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫖\",\r\n    description: \"teapot\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"teapot\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🍵\",\r\n    description: \"teacup without handle\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"tea\"],\r\n    tags: [\"green\", \"breakfast\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍶\",\r\n    description: \"sake\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"sake\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍾\",\r\n    description: \"bottle with popping cork\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"champagne\"],\r\n    tags: [\"bottle\", \"bubbly\", \"celebration\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🍷\",\r\n    description: \"wine glass\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"wine_glass\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍸\",\r\n    description: \"cocktail glass\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cocktail\"],\r\n    tags: [\"drink\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍹\",\r\n    description: \"tropical drink\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"tropical_drink\"],\r\n    tags: [\"summer\", \"vacation\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍺\",\r\n    description: \"beer mug\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"beer\"],\r\n    tags: [\"drink\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🍻\",\r\n    description: \"clinking beer mugs\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"beers\"],\r\n    tags: [\"drinks\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥂\",\r\n    description: \"clinking glasses\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"clinking_glasses\"],\r\n    tags: [\"cheers\", \"toast\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥃\",\r\n    description: \"tumbler glass\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"tumbler_glass\"],\r\n    tags: [\"whisky\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🫗\",\r\n    description: \"pouring liquid\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"pouring_liquid\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🥤\",\r\n    description: \"cup with straw\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"cup_with_straw\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧋\",\r\n    description: \"bubble tea\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"bubble_tea\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🧃\",\r\n    description: \"beverage box\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"beverage_box\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🧉\",\r\n    description: \"mate\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"mate\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🧊\",\r\n    description: \"ice\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"ice_cube\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🥢\",\r\n    description: \"chopsticks\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"chopsticks\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🍽️\",\r\n    description: \"fork and knife with plate\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"plate_with_cutlery\"],\r\n    tags: [\"dining\", \"dinner\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🍴\",\r\n    description: \"fork and knife\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"fork_and_knife\"],\r\n    tags: [\"cutlery\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥄\",\r\n    description: \"spoon\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"spoon\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🔪\",\r\n    description: \"kitchen knife\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"hocho\", \"knife\"],\r\n    tags: [\"cut\", \"chop\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🫙\",\r\n    description: \"jar\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"jar\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🏺\",\r\n    description: \"amphora\",\r\n    category: \"Food & Drink\",\r\n    aliases: [\"amphora\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌍\",\r\n    description: \"globe showing Europe-Africa\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"earth_africa\"],\r\n    tags: [\"globe\", \"world\", \"international\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌎\",\r\n    description: \"globe showing Americas\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"earth_americas\"],\r\n    tags: [\"globe\", \"world\", \"international\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌏\",\r\n    description: \"globe showing Asia-Australia\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"earth_asia\"],\r\n    tags: [\"globe\", \"world\", \"international\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌐\",\r\n    description: \"globe with meridians\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"globe_with_meridians\"],\r\n    tags: [\"world\", \"global\", \"international\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗺️\",\r\n    description: \"world map\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"world_map\"],\r\n    tags: [\"travel\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🗾\",\r\n    description: \"map of Japan\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"japan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧭\",\r\n    description: \"compass\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"compass\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🏔️\",\r\n    description: \"snow-capped mountain\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"mountain_snow\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⛰️\",\r\n    description: \"mountain\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"mountain\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌋\",\r\n    description: \"volcano\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"volcano\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗻\",\r\n    description: \"mount fuji\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"mount_fuji\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏕️\",\r\n    description: \"camping\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"camping\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏖️\",\r\n    description: \"beach with umbrella\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"beach_umbrella\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏜️\",\r\n    description: \"desert\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"desert\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏝️\",\r\n    description: \"desert island\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"desert_island\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏞️\",\r\n    description: \"national park\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"national_park\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏟️\",\r\n    description: \"stadium\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"stadium\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏛️\",\r\n    description: \"classical building\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"classical_building\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏗️\",\r\n    description: \"building construction\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"building_construction\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🧱\",\r\n    description: \"brick\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"bricks\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪨\",\r\n    description: \"rock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"rock\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪵\",\r\n    description: \"wood\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"wood\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🛖\",\r\n    description: \"hut\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"hut\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🏘️\",\r\n    description: \"houses\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"houses\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏚️\",\r\n    description: \"derelict house\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"derelict_house\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏠\",\r\n    description: \"house\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"house\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏡\",\r\n    description: \"house with garden\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"house_with_garden\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏢\",\r\n    description: \"office building\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"office\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏣\",\r\n    description: \"Japanese post office\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"post_office\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏤\",\r\n    description: \"post office\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"european_post_office\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏥\",\r\n    description: \"hospital\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"hospital\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏦\",\r\n    description: \"bank\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"bank\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏨\",\r\n    description: \"hotel\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"hotel\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏩\",\r\n    description: \"love hotel\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"love_hotel\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏪\",\r\n    description: \"convenience store\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"convenience_store\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏫\",\r\n    description: \"school\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"school\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏬\",\r\n    description: \"department store\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"department_store\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏭\",\r\n    description: \"factory\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"factory\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏯\",\r\n    description: \"Japanese castle\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"japanese_castle\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏰\",\r\n    description: \"castle\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"european_castle\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💒\",\r\n    description: \"wedding\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"wedding\"],\r\n    tags: [\"marriage\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗼\",\r\n    description: \"Tokyo tower\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"tokyo_tower\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗽\",\r\n    description: \"Statue of Liberty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"statue_of_liberty\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛪\",\r\n    description: \"church\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"church\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕌\",\r\n    description: \"mosque\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"mosque\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛕\",\r\n    description: \"hindu temple\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"hindu_temple\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🕍\",\r\n    description: \"synagogue\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"synagogue\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⛩️\",\r\n    description: \"shinto shrine\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"shinto_shrine\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🕋\",\r\n    description: \"kaaba\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"kaaba\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⛲\",\r\n    description: \"fountain\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"fountain\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛺\",\r\n    description: \"tent\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"tent\"],\r\n    tags: [\"camping\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌁\",\r\n    description: \"foggy\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"foggy\"],\r\n    tags: [\"karl\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌃\",\r\n    description: \"night with stars\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"night_with_stars\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏙️\",\r\n    description: \"cityscape\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"cityscape\"],\r\n    tags: [\"skyline\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌄\",\r\n    description: \"sunrise over mountains\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"sunrise_over_mountains\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌅\",\r\n    description: \"sunrise\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"sunrise\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌆\",\r\n    description: \"cityscape at dusk\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"city_sunset\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌇\",\r\n    description: \"sunset\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"city_sunrise\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌉\",\r\n    description: \"bridge at night\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"bridge_at_night\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♨️\",\r\n    description: \"hot springs\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"hotsprings\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎠\",\r\n    description: \"carousel horse\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"carousel_horse\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛝\",\r\n    description: \"playground slide\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"playground_slide\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🎡\",\r\n    description: \"ferris wheel\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"ferris_wheel\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎢\",\r\n    description: \"roller coaster\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"roller_coaster\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💈\",\r\n    description: \"barber pole\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"barber\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎪\",\r\n    description: \"circus tent\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"circus_tent\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚂\",\r\n    description: \"locomotive\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"steam_locomotive\"],\r\n    tags: [\"train\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚃\",\r\n    description: \"railway car\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"railway_car\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚄\",\r\n    description: \"high-speed train\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"bullettrain_side\"],\r\n    tags: [\"train\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚅\",\r\n    description: \"bullet train\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"bullettrain_front\"],\r\n    tags: [\"train\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚆\",\r\n    description: \"train\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"train2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚇\",\r\n    description: \"metro\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"metro\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚈\",\r\n    description: \"light rail\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"light_rail\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚉\",\r\n    description: \"station\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"station\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚊\",\r\n    description: \"tram\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"tram\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚝\",\r\n    description: \"monorail\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"monorail\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚞\",\r\n    description: \"mountain railway\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"mountain_railway\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚋\",\r\n    description: \"tram car\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"train\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚌\",\r\n    description: \"bus\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"bus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚍\",\r\n    description: \"oncoming bus\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"oncoming_bus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚎\",\r\n    description: \"trolleybus\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"trolleybus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚐\",\r\n    description: \"minibus\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"minibus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚑\",\r\n    description: \"ambulance\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"ambulance\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚒\",\r\n    description: \"fire engine\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"fire_engine\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚓\",\r\n    description: \"police car\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"police_car\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚔\",\r\n    description: \"oncoming police car\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"oncoming_police_car\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚕\",\r\n    description: \"taxi\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"taxi\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚖\",\r\n    description: \"oncoming taxi\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"oncoming_taxi\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚗\",\r\n    description: \"automobile\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"car\", \"red_car\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚘\",\r\n    description: \"oncoming automobile\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"oncoming_automobile\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚙\",\r\n    description: \"sport utility vehicle\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"blue_car\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛻\",\r\n    description: \"pickup truck\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"pickup_truck\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🚚\",\r\n    description: \"delivery truck\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"truck\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚛\",\r\n    description: \"articulated lorry\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"articulated_lorry\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚜\",\r\n    description: \"tractor\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"tractor\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏎️\",\r\n    description: \"racing car\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"racing_car\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏍️\",\r\n    description: \"motorcycle\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"motorcycle\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛵\",\r\n    description: \"motor scooter\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"motor_scooter\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🦽\",\r\n    description: \"manual wheelchair\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"manual_wheelchair\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🦼\",\r\n    description: \"motorized wheelchair\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"motorized_wheelchair\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🛺\",\r\n    description: \"auto rickshaw\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"auto_rickshaw\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🚲\",\r\n    description: \"bicycle\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"bike\"],\r\n    tags: [\"bicycle\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛴\",\r\n    description: \"kick scooter\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"kick_scooter\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🛹\",\r\n    description: \"skateboard\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"skateboard\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🛼\",\r\n    description: \"roller skate\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"roller_skate\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🚏\",\r\n    description: \"bus stop\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"busstop\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛣️\",\r\n    description: \"motorway\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"motorway\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛤️\",\r\n    description: \"railway track\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"railway_track\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛢️\",\r\n    description: \"oil drum\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"oil_drum\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⛽\",\r\n    description: \"fuel pump\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"fuelpump\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛞\",\r\n    description: \"wheel\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"wheel\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🚨\",\r\n    description: \"police car light\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"rotating_light\"],\r\n    tags: [\"911\", \"emergency\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚥\",\r\n    description: \"horizontal traffic light\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"traffic_light\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚦\",\r\n    description: \"vertical traffic light\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"vertical_traffic_light\"],\r\n    tags: [\"semaphore\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛑\",\r\n    description: \"stop sign\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"stop_sign\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🚧\",\r\n    description: \"construction\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"construction\"],\r\n    tags: [\"wip\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⚓\",\r\n    description: \"anchor\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"anchor\"],\r\n    tags: [\"ship\"],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛟\",\r\n    description: \"ring buoy\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"ring_buoy\"],\r\n    tags: [\"life preserver\"],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"⛵\",\r\n    description: \"sailboat\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"boat\", \"sailboat\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛶\",\r\n    description: \"canoe\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"canoe\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🚤\",\r\n    description: \"speedboat\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"speedboat\"],\r\n    tags: [\"ship\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛳️\",\r\n    description: \"passenger ship\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"passenger_ship\"],\r\n    tags: [\"cruise\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⛴️\",\r\n    description: \"ferry\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"ferry\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛥️\",\r\n    description: \"motor boat\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"motor_boat\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🚢\",\r\n    description: \"ship\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"ship\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"✈️\",\r\n    description: \"airplane\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"airplane\"],\r\n    tags: [\"flight\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛩️\",\r\n    description: \"small airplane\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"small_airplane\"],\r\n    tags: [\"flight\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛫\",\r\n    description: \"airplane departure\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"flight_departure\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛬\",\r\n    description: \"airplane arrival\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"flight_arrival\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🪂\",\r\n    description: \"parachute\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"parachute\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"💺\",\r\n    description: \"seat\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"seat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚁\",\r\n    description: \"helicopter\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"helicopter\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚟\",\r\n    description: \"suspension railway\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"suspension_railway\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚠\",\r\n    description: \"mountain cableway\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"mountain_cableway\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚡\",\r\n    description: \"aerial tramway\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"aerial_tramway\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛰️\",\r\n    description: \"satellite\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"artificial_satellite\"],\r\n    tags: [\"orbit\", \"space\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🚀\",\r\n    description: \"rocket\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"rocket\"],\r\n    tags: [\"ship\", \"launch\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛸\",\r\n    description: \"flying saucer\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"flying_saucer\"],\r\n    tags: [\"ufo\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🛎️\",\r\n    description: \"bellhop bell\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"bellhop_bell\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🧳\",\r\n    description: \"luggage\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"luggage\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"⌛\",\r\n    description: \"hourglass done\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"hourglass\"],\r\n    tags: [\"time\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏳\",\r\n    description: \"hourglass not done\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"hourglass_flowing_sand\"],\r\n    tags: [\"time\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⌚\",\r\n    description: \"watch\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"watch\"],\r\n    tags: [\"time\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏰\",\r\n    description: \"alarm clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"alarm_clock\"],\r\n    tags: [\"morning\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏱️\",\r\n    description: \"stopwatch\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"stopwatch\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⏲️\",\r\n    description: \"timer clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"timer_clock\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🕰️\",\r\n    description: \"mantelpiece clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"mantelpiece_clock\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🕛\",\r\n    description: \"twelve o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock12\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕧\",\r\n    description: \"twelve-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock1230\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕐\",\r\n    description: \"one o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock1\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕜\",\r\n    description: \"one-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock130\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕑\",\r\n    description: \"two o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕝\",\r\n    description: \"two-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock230\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕒\",\r\n    description: \"three o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock3\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕞\",\r\n    description: \"three-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock330\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕓\",\r\n    description: \"four o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock4\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕟\",\r\n    description: \"four-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock430\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕔\",\r\n    description: \"five o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock5\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕠\",\r\n    description: \"five-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock530\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕕\",\r\n    description: \"six o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock6\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕡\",\r\n    description: \"six-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock630\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕖\",\r\n    description: \"seven o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock7\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕢\",\r\n    description: \"seven-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock730\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕗\",\r\n    description: \"eight o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock8\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕣\",\r\n    description: \"eight-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock830\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕘\",\r\n    description: \"nine o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock9\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕤\",\r\n    description: \"nine-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock930\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕙\",\r\n    description: \"ten o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock10\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕥\",\r\n    description: \"ten-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock1030\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕚\",\r\n    description: \"eleven o’clock\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock11\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕦\",\r\n    description: \"eleven-thirty\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"clock1130\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌑\",\r\n    description: \"new moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"new_moon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌒\",\r\n    description: \"waxing crescent moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"waxing_crescent_moon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌓\",\r\n    description: \"first quarter moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"first_quarter_moon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌔\",\r\n    description: \"waxing gibbous moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"moon\", \"waxing_gibbous_moon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌕\",\r\n    description: \"full moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"full_moon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌖\",\r\n    description: \"waning gibbous moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"waning_gibbous_moon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌗\",\r\n    description: \"last quarter moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"last_quarter_moon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌘\",\r\n    description: \"waning crescent moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"waning_crescent_moon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌙\",\r\n    description: \"crescent moon\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"crescent_moon\"],\r\n    tags: [\"night\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌚\",\r\n    description: \"new moon face\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"new_moon_with_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌛\",\r\n    description: \"first quarter moon face\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"first_quarter_moon_with_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌜\",\r\n    description: \"last quarter moon face\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"last_quarter_moon_with_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌡️\",\r\n    description: \"thermometer\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"thermometer\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☀️\",\r\n    description: \"sun\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"sunny\"],\r\n    tags: [\"weather\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌝\",\r\n    description: \"full moon face\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"full_moon_with_face\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌞\",\r\n    description: \"sun with face\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"sun_with_face\"],\r\n    tags: [\"summer\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪐\",\r\n    description: \"ringed planet\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"ringed_planet\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"⭐\",\r\n    description: \"star\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"star\"],\r\n    tags: [],\r\n    unicode_version: \"5.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌟\",\r\n    description: \"glowing star\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"star2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌠\",\r\n    description: \"shooting star\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"stars\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌌\",\r\n    description: \"milky way\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"milky_way\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☁️\",\r\n    description: \"cloud\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"cloud\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛅\",\r\n    description: \"sun behind cloud\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"partly_sunny\"],\r\n    tags: [\"weather\", \"cloud\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛈️\",\r\n    description: \"cloud with lightning and rain\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"cloud_with_lightning_and_rain\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌤️\",\r\n    description: \"sun behind small cloud\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"sun_behind_small_cloud\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌥️\",\r\n    description: \"sun behind large cloud\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"sun_behind_large_cloud\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌦️\",\r\n    description: \"sun behind rain cloud\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"sun_behind_rain_cloud\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌧️\",\r\n    description: \"cloud with rain\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"cloud_with_rain\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌨️\",\r\n    description: \"cloud with snow\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"cloud_with_snow\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌩️\",\r\n    description: \"cloud with lightning\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"cloud_with_lightning\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌪️\",\r\n    description: \"tornado\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"tornado\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌫️\",\r\n    description: \"fog\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"fog\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌬️\",\r\n    description: \"wind face\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"wind_face\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🌀\",\r\n    description: \"cyclone\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"cyclone\"],\r\n    tags: [\"swirl\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌈\",\r\n    description: \"rainbow\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"rainbow\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌂\",\r\n    description: \"closed umbrella\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"closed_umbrella\"],\r\n    tags: [\"weather\", \"rain\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☂️\",\r\n    description: \"umbrella\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"open_umbrella\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☔\",\r\n    description: \"umbrella with rain drops\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"umbrella\"],\r\n    tags: [\"rain\", \"weather\"],\r\n    unicode_version: \"4.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛱️\",\r\n    description: \"umbrella on ground\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"parasol_on_ground\"],\r\n    tags: [\"beach_umbrella\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⚡\",\r\n    description: \"high voltage\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"zap\"],\r\n    tags: [\"lightning\", \"thunder\"],\r\n    unicode_version: \"4.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❄️\",\r\n    description: \"snowflake\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"snowflake\"],\r\n    tags: [\"winter\", \"cold\", \"weather\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☃️\",\r\n    description: \"snowman\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"snowman_with_snow\"],\r\n    tags: [\"winter\", \"christmas\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⛄\",\r\n    description: \"snowman without snow\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"snowman\"],\r\n    tags: [\"winter\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☄️\",\r\n    description: \"comet\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"comet\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🔥\",\r\n    description: \"fire\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"fire\"],\r\n    tags: [\"burn\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💧\",\r\n    description: \"droplet\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"droplet\"],\r\n    tags: [\"water\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🌊\",\r\n    description: \"water wave\",\r\n    category: \"Travel & Places\",\r\n    aliases: [\"ocean\"],\r\n    tags: [\"sea\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎃\",\r\n    description: \"jack-o-lantern\",\r\n    category: \"Activities\",\r\n    aliases: [\"jack_o_lantern\"],\r\n    tags: [\"halloween\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎄\",\r\n    description: \"Christmas tree\",\r\n    category: \"Activities\",\r\n    aliases: [\"christmas_tree\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎆\",\r\n    description: \"fireworks\",\r\n    category: \"Activities\",\r\n    aliases: [\"fireworks\"],\r\n    tags: [\"festival\", \"celebration\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎇\",\r\n    description: \"sparkler\",\r\n    category: \"Activities\",\r\n    aliases: [\"sparkler\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧨\",\r\n    description: \"firecracker\",\r\n    category: \"Activities\",\r\n    aliases: [\"firecracker\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"✨\",\r\n    description: \"sparkles\",\r\n    category: \"Activities\",\r\n    aliases: [\"sparkles\"],\r\n    tags: [\"shiny\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎈\",\r\n    description: \"balloon\",\r\n    category: \"Activities\",\r\n    aliases: [\"balloon\"],\r\n    tags: [\"party\", \"birthday\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎉\",\r\n    description: \"party popper\",\r\n    category: \"Activities\",\r\n    aliases: [\"tada\"],\r\n    tags: [\"hooray\", \"party\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎊\",\r\n    description: \"confetti ball\",\r\n    category: \"Activities\",\r\n    aliases: [\"confetti_ball\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎋\",\r\n    description: \"tanabata tree\",\r\n    category: \"Activities\",\r\n    aliases: [\"tanabata_tree\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎍\",\r\n    description: \"pine decoration\",\r\n    category: \"Activities\",\r\n    aliases: [\"bamboo\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎎\",\r\n    description: \"Japanese dolls\",\r\n    category: \"Activities\",\r\n    aliases: [\"dolls\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎏\",\r\n    description: \"carp streamer\",\r\n    category: \"Activities\",\r\n    aliases: [\"flags\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎐\",\r\n    description: \"wind chime\",\r\n    category: \"Activities\",\r\n    aliases: [\"wind_chime\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎑\",\r\n    description: \"moon viewing ceremony\",\r\n    category: \"Activities\",\r\n    aliases: [\"rice_scene\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧧\",\r\n    description: \"red envelope\",\r\n    category: \"Activities\",\r\n    aliases: [\"red_envelope\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🎀\",\r\n    description: \"ribbon\",\r\n    category: \"Activities\",\r\n    aliases: [\"ribbon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎁\",\r\n    description: \"wrapped gift\",\r\n    category: \"Activities\",\r\n    aliases: [\"gift\"],\r\n    tags: [\"present\", \"birthday\", \"christmas\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎗️\",\r\n    description: \"reminder ribbon\",\r\n    category: \"Activities\",\r\n    aliases: [\"reminder_ribbon\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎟️\",\r\n    description: \"admission tickets\",\r\n    category: \"Activities\",\r\n    aliases: [\"tickets\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎫\",\r\n    description: \"ticket\",\r\n    category: \"Activities\",\r\n    aliases: [\"ticket\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎖️\",\r\n    description: \"military medal\",\r\n    category: \"Activities\",\r\n    aliases: [\"medal_military\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏆\",\r\n    description: \"trophy\",\r\n    category: \"Activities\",\r\n    aliases: [\"trophy\"],\r\n    tags: [\"award\", \"contest\", \"winner\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏅\",\r\n    description: \"sports medal\",\r\n    category: \"Activities\",\r\n    aliases: [\"medal_sports\"],\r\n    tags: [\"gold\", \"winner\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🥇\",\r\n    description: \"1st place medal\",\r\n    category: \"Activities\",\r\n    aliases: [\"1st_place_medal\"],\r\n    tags: [\"gold\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥈\",\r\n    description: \"2nd place medal\",\r\n    category: \"Activities\",\r\n    aliases: [\"2nd_place_medal\"],\r\n    tags: [\"silver\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥉\",\r\n    description: \"3rd place medal\",\r\n    category: \"Activities\",\r\n    aliases: [\"3rd_place_medal\"],\r\n    tags: [\"bronze\"],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"⚽\",\r\n    description: \"soccer ball\",\r\n    category: \"Activities\",\r\n    aliases: [\"soccer\"],\r\n    tags: [\"sports\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⚾\",\r\n    description: \"baseball\",\r\n    category: \"Activities\",\r\n    aliases: [\"baseball\"],\r\n    tags: [\"sports\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥎\",\r\n    description: \"softball\",\r\n    category: \"Activities\",\r\n    aliases: [\"softball\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🏀\",\r\n    description: \"basketball\",\r\n    category: \"Activities\",\r\n    aliases: [\"basketball\"],\r\n    tags: [\"sports\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏐\",\r\n    description: \"volleyball\",\r\n    category: \"Activities\",\r\n    aliases: [\"volleyball\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏈\",\r\n    description: \"american football\",\r\n    category: \"Activities\",\r\n    aliases: [\"football\"],\r\n    tags: [\"sports\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏉\",\r\n    description: \"rugby football\",\r\n    category: \"Activities\",\r\n    aliases: [\"rugby_football\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎾\",\r\n    description: \"tennis\",\r\n    category: \"Activities\",\r\n    aliases: [\"tennis\"],\r\n    tags: [\"sports\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥏\",\r\n    description: \"flying disc\",\r\n    category: \"Activities\",\r\n    aliases: [\"flying_disc\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🎳\",\r\n    description: \"bowling\",\r\n    category: \"Activities\",\r\n    aliases: [\"bowling\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏏\",\r\n    description: \"cricket game\",\r\n    category: \"Activities\",\r\n    aliases: [\"cricket_game\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏑\",\r\n    description: \"field hockey\",\r\n    category: \"Activities\",\r\n    aliases: [\"field_hockey\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏒\",\r\n    description: \"ice hockey\",\r\n    category: \"Activities\",\r\n    aliases: [\"ice_hockey\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🥍\",\r\n    description: \"lacrosse\",\r\n    category: \"Activities\",\r\n    aliases: [\"lacrosse\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🏓\",\r\n    description: \"ping pong\",\r\n    category: \"Activities\",\r\n    aliases: [\"ping_pong\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏸\",\r\n    description: \"badminton\",\r\n    category: \"Activities\",\r\n    aliases: [\"badminton\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🥊\",\r\n    description: \"boxing glove\",\r\n    category: \"Activities\",\r\n    aliases: [\"boxing_glove\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥋\",\r\n    description: \"martial arts uniform\",\r\n    category: \"Activities\",\r\n    aliases: [\"martial_arts_uniform\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🥅\",\r\n    description: \"goal net\",\r\n    category: \"Activities\",\r\n    aliases: [\"goal_net\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"⛳\",\r\n    description: \"flag in hole\",\r\n    category: \"Activities\",\r\n    aliases: [\"golf\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛸️\",\r\n    description: \"ice skate\",\r\n    category: \"Activities\",\r\n    aliases: [\"ice_skate\"],\r\n    tags: [\"skating\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎣\",\r\n    description: \"fishing pole\",\r\n    category: \"Activities\",\r\n    aliases: [\"fishing_pole_and_fish\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🤿\",\r\n    description: \"diving mask\",\r\n    category: \"Activities\",\r\n    aliases: [\"diving_mask\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🎽\",\r\n    description: \"running shirt\",\r\n    category: \"Activities\",\r\n    aliases: [\"running_shirt_with_sash\"],\r\n    tags: [\"marathon\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎿\",\r\n    description: \"skis\",\r\n    category: \"Activities\",\r\n    aliases: [\"ski\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛷\",\r\n    description: \"sled\",\r\n    category: \"Activities\",\r\n    aliases: [\"sled\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥌\",\r\n    description: \"curling stone\",\r\n    category: \"Activities\",\r\n    aliases: [\"curling_stone\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🎯\",\r\n    description: \"bullseye\",\r\n    category: \"Activities\",\r\n    aliases: [\"dart\"],\r\n    tags: [\"target\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪀\",\r\n    description: \"yo-yo\",\r\n    category: \"Activities\",\r\n    aliases: [\"yo_yo\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🪁\",\r\n    description: \"kite\",\r\n    category: \"Activities\",\r\n    aliases: [\"kite\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🔫\",\r\n    description: \"water pistol\",\r\n    category: \"Activities\",\r\n    aliases: [\"gun\"],\r\n    tags: [\"shoot\", \"weapon\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎱\",\r\n    description: \"pool 8 ball\",\r\n    category: \"Activities\",\r\n    aliases: [\"8ball\"],\r\n    tags: [\"pool\", \"billiards\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔮\",\r\n    description: \"crystal ball\",\r\n    category: \"Activities\",\r\n    aliases: [\"crystal_ball\"],\r\n    tags: [\"fortune\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪄\",\r\n    description: \"magic wand\",\r\n    category: \"Activities\",\r\n    aliases: [\"magic_wand\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🎮\",\r\n    description: \"video game\",\r\n    category: \"Activities\",\r\n    aliases: [\"video_game\"],\r\n    tags: [\"play\", \"controller\", \"console\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕹️\",\r\n    description: \"joystick\",\r\n    category: \"Activities\",\r\n    aliases: [\"joystick\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎰\",\r\n    description: \"slot machine\",\r\n    category: \"Activities\",\r\n    aliases: [\"slot_machine\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎲\",\r\n    description: \"game die\",\r\n    category: \"Activities\",\r\n    aliases: [\"game_die\"],\r\n    tags: [\"dice\", \"gambling\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧩\",\r\n    description: \"puzzle piece\",\r\n    category: \"Activities\",\r\n    aliases: [\"jigsaw\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧸\",\r\n    description: \"teddy bear\",\r\n    category: \"Activities\",\r\n    aliases: [\"teddy_bear\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪅\",\r\n    description: \"piñata\",\r\n    category: \"Activities\",\r\n    aliases: [\"pinata\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪩\",\r\n    description: \"mirror ball\",\r\n    category: \"Activities\",\r\n    aliases: [\"mirror_ball\"],\r\n    tags: [\"disco\", \"party\"],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🪆\",\r\n    description: \"nesting dolls\",\r\n    category: \"Activities\",\r\n    aliases: [\"nesting_dolls\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"♠️\",\r\n    description: \"spade suit\",\r\n    category: \"Activities\",\r\n    aliases: [\"spades\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♥️\",\r\n    description: \"heart suit\",\r\n    category: \"Activities\",\r\n    aliases: [\"hearts\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♦️\",\r\n    description: \"diamond suit\",\r\n    category: \"Activities\",\r\n    aliases: [\"diamonds\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♣️\",\r\n    description: \"club suit\",\r\n    category: \"Activities\",\r\n    aliases: [\"clubs\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♟️\",\r\n    description: \"chess pawn\",\r\n    category: \"Activities\",\r\n    aliases: [\"chess_pawn\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🃏\",\r\n    description: \"joker\",\r\n    category: \"Activities\",\r\n    aliases: [\"black_joker\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🀄\",\r\n    description: \"mahjong red dragon\",\r\n    category: \"Activities\",\r\n    aliases: [\"mahjong\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎴\",\r\n    description: \"flower playing cards\",\r\n    category: \"Activities\",\r\n    aliases: [\"flower_playing_cards\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎭\",\r\n    description: \"performing arts\",\r\n    category: \"Activities\",\r\n    aliases: [\"performing_arts\"],\r\n    tags: [\"theater\", \"drama\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🖼️\",\r\n    description: \"framed picture\",\r\n    category: \"Activities\",\r\n    aliases: [\"framed_picture\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎨\",\r\n    description: \"artist palette\",\r\n    category: \"Activities\",\r\n    aliases: [\"art\"],\r\n    tags: [\"design\", \"paint\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧵\",\r\n    description: \"thread\",\r\n    category: \"Activities\",\r\n    aliases: [\"thread\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪡\",\r\n    description: \"sewing needle\",\r\n    category: \"Activities\",\r\n    aliases: [\"sewing_needle\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🧶\",\r\n    description: \"yarn\",\r\n    category: \"Activities\",\r\n    aliases: [\"yarn\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪢\",\r\n    description: \"knot\",\r\n    category: \"Activities\",\r\n    aliases: [\"knot\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"👓\",\r\n    description: \"glasses\",\r\n    category: \"Objects\",\r\n    aliases: [\"eyeglasses\"],\r\n    tags: [\"glasses\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕶️\",\r\n    description: \"sunglasses\",\r\n    category: \"Objects\",\r\n    aliases: [\"dark_sunglasses\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🥽\",\r\n    description: \"goggles\",\r\n    category: \"Objects\",\r\n    aliases: [\"goggles\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥼\",\r\n    description: \"lab coat\",\r\n    category: \"Objects\",\r\n    aliases: [\"lab_coat\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🦺\",\r\n    description: \"safety vest\",\r\n    category: \"Objects\",\r\n    aliases: [\"safety_vest\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"👔\",\r\n    description: \"necktie\",\r\n    category: \"Objects\",\r\n    aliases: [\"necktie\"],\r\n    tags: [\"shirt\", \"formal\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👕\",\r\n    description: \"t-shirt\",\r\n    category: \"Objects\",\r\n    aliases: [\"shirt\", \"tshirt\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👖\",\r\n    description: \"jeans\",\r\n    category: \"Objects\",\r\n    aliases: [\"jeans\"],\r\n    tags: [\"pants\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧣\",\r\n    description: \"scarf\",\r\n    category: \"Objects\",\r\n    aliases: [\"scarf\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧤\",\r\n    description: \"gloves\",\r\n    category: \"Objects\",\r\n    aliases: [\"gloves\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧥\",\r\n    description: \"coat\",\r\n    category: \"Objects\",\r\n    aliases: [\"coat\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧦\",\r\n    description: \"socks\",\r\n    category: \"Objects\",\r\n    aliases: [\"socks\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"👗\",\r\n    description: \"dress\",\r\n    category: \"Objects\",\r\n    aliases: [\"dress\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👘\",\r\n    description: \"kimono\",\r\n    category: \"Objects\",\r\n    aliases: [\"kimono\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥻\",\r\n    description: \"sari\",\r\n    category: \"Objects\",\r\n    aliases: [\"sari\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🩱\",\r\n    description: \"one-piece swimsuit\",\r\n    category: \"Objects\",\r\n    aliases: [\"one_piece_swimsuit\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🩲\",\r\n    description: \"briefs\",\r\n    category: \"Objects\",\r\n    aliases: [\"swim_brief\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🩳\",\r\n    description: \"shorts\",\r\n    category: \"Objects\",\r\n    aliases: [\"shorts\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"👙\",\r\n    description: \"bikini\",\r\n    category: \"Objects\",\r\n    aliases: [\"bikini\"],\r\n    tags: [\"beach\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👚\",\r\n    description: \"woman’s clothes\",\r\n    category: \"Objects\",\r\n    aliases: [\"womans_clothes\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪭\",\r\n    description: \"folding hand fan\",\r\n    category: \"Objects\",\r\n    aliases: [\"folding_hand_fan\"],\r\n    tags: [\"sensu\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"👛\",\r\n    description: \"purse\",\r\n    category: \"Objects\",\r\n    aliases: [\"purse\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👜\",\r\n    description: \"handbag\",\r\n    category: \"Objects\",\r\n    aliases: [\"handbag\"],\r\n    tags: [\"bag\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👝\",\r\n    description: \"clutch bag\",\r\n    category: \"Objects\",\r\n    aliases: [\"pouch\"],\r\n    tags: [\"bag\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛍️\",\r\n    description: \"shopping bags\",\r\n    category: \"Objects\",\r\n    aliases: [\"shopping\"],\r\n    tags: [\"bags\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎒\",\r\n    description: \"backpack\",\r\n    category: \"Objects\",\r\n    aliases: [\"school_satchel\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🩴\",\r\n    description: \"thong sandal\",\r\n    category: \"Objects\",\r\n    aliases: [\"thong_sandal\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"👞\",\r\n    description: \"man’s shoe\",\r\n    category: \"Objects\",\r\n    aliases: [\"mans_shoe\", \"shoe\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👟\",\r\n    description: \"running shoe\",\r\n    category: \"Objects\",\r\n    aliases: [\"athletic_shoe\"],\r\n    tags: [\"sneaker\", \"sport\", \"running\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🥾\",\r\n    description: \"hiking boot\",\r\n    category: \"Objects\",\r\n    aliases: [\"hiking_boot\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🥿\",\r\n    description: \"flat shoe\",\r\n    category: \"Objects\",\r\n    aliases: [\"flat_shoe\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"👠\",\r\n    description: \"high-heeled shoe\",\r\n    category: \"Objects\",\r\n    aliases: [\"high_heel\"],\r\n    tags: [\"shoe\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👡\",\r\n    description: \"woman’s sandal\",\r\n    category: \"Objects\",\r\n    aliases: [\"sandal\"],\r\n    tags: [\"shoe\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🩰\",\r\n    description: \"ballet shoes\",\r\n    category: \"Objects\",\r\n    aliases: [\"ballet_shoes\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"👢\",\r\n    description: \"woman’s boot\",\r\n    category: \"Objects\",\r\n    aliases: [\"boot\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪮\",\r\n    description: \"hair pick\",\r\n    category: \"Objects\",\r\n    aliases: [\"hair_pick\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"👑\",\r\n    description: \"crown\",\r\n    category: \"Objects\",\r\n    aliases: [\"crown\"],\r\n    tags: [\"king\", \"queen\", \"royal\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"👒\",\r\n    description: \"woman’s hat\",\r\n    category: \"Objects\",\r\n    aliases: [\"womans_hat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎩\",\r\n    description: \"top hat\",\r\n    category: \"Objects\",\r\n    aliases: [\"tophat\"],\r\n    tags: [\"hat\", \"classy\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎓\",\r\n    description: \"graduation cap\",\r\n    category: \"Objects\",\r\n    aliases: [\"mortar_board\"],\r\n    tags: [\"education\", \"college\", \"university\", \"graduation\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧢\",\r\n    description: \"billed cap\",\r\n    category: \"Objects\",\r\n    aliases: [\"billed_cap\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪖\",\r\n    description: \"military helmet\",\r\n    category: \"Objects\",\r\n    aliases: [\"military_helmet\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"⛑️\",\r\n    description: \"rescue worker’s helmet\",\r\n    category: \"Objects\",\r\n    aliases: [\"rescue_worker_helmet\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"📿\",\r\n    description: \"prayer beads\",\r\n    category: \"Objects\",\r\n    aliases: [\"prayer_beads\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💄\",\r\n    description: \"lipstick\",\r\n    category: \"Objects\",\r\n    aliases: [\"lipstick\"],\r\n    tags: [\"makeup\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💍\",\r\n    description: \"ring\",\r\n    category: \"Objects\",\r\n    aliases: [\"ring\"],\r\n    tags: [\"wedding\", \"marriage\", \"engaged\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💎\",\r\n    description: \"gem stone\",\r\n    category: \"Objects\",\r\n    aliases: [\"gem\"],\r\n    tags: [\"diamond\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔇\",\r\n    description: \"muted speaker\",\r\n    category: \"Objects\",\r\n    aliases: [\"mute\"],\r\n    tags: [\"sound\", \"volume\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔈\",\r\n    description: \"speaker low volume\",\r\n    category: \"Objects\",\r\n    aliases: [\"speaker\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔉\",\r\n    description: \"speaker medium volume\",\r\n    category: \"Objects\",\r\n    aliases: [\"sound\"],\r\n    tags: [\"volume\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔊\",\r\n    description: \"speaker high volume\",\r\n    category: \"Objects\",\r\n    aliases: [\"loud_sound\"],\r\n    tags: [\"volume\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📢\",\r\n    description: \"loudspeaker\",\r\n    category: \"Objects\",\r\n    aliases: [\"loudspeaker\"],\r\n    tags: [\"announcement\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📣\",\r\n    description: \"megaphone\",\r\n    category: \"Objects\",\r\n    aliases: [\"mega\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📯\",\r\n    description: \"postal horn\",\r\n    category: \"Objects\",\r\n    aliases: [\"postal_horn\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔔\",\r\n    description: \"bell\",\r\n    category: \"Objects\",\r\n    aliases: [\"bell\"],\r\n    tags: [\"sound\", \"notification\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔕\",\r\n    description: \"bell with slash\",\r\n    category: \"Objects\",\r\n    aliases: [\"no_bell\"],\r\n    tags: [\"volume\", \"off\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎼\",\r\n    description: \"musical score\",\r\n    category: \"Objects\",\r\n    aliases: [\"musical_score\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎵\",\r\n    description: \"musical note\",\r\n    category: \"Objects\",\r\n    aliases: [\"musical_note\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎶\",\r\n    description: \"musical notes\",\r\n    category: \"Objects\",\r\n    aliases: [\"notes\"],\r\n    tags: [\"music\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎙️\",\r\n    description: \"studio microphone\",\r\n    category: \"Objects\",\r\n    aliases: [\"studio_microphone\"],\r\n    tags: [\"podcast\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎚️\",\r\n    description: \"level slider\",\r\n    category: \"Objects\",\r\n    aliases: [\"level_slider\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎛️\",\r\n    description: \"control knobs\",\r\n    category: \"Objects\",\r\n    aliases: [\"control_knobs\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎤\",\r\n    description: \"microphone\",\r\n    category: \"Objects\",\r\n    aliases: [\"microphone\"],\r\n    tags: [\"sing\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎧\",\r\n    description: \"headphone\",\r\n    category: \"Objects\",\r\n    aliases: [\"headphones\"],\r\n    tags: [\"music\", \"earphones\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📻\",\r\n    description: \"radio\",\r\n    category: \"Objects\",\r\n    aliases: [\"radio\"],\r\n    tags: [\"podcast\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎷\",\r\n    description: \"saxophone\",\r\n    category: \"Objects\",\r\n    aliases: [\"saxophone\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪗\",\r\n    description: \"accordion\",\r\n    category: \"Objects\",\r\n    aliases: [\"accordion\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🎸\",\r\n    description: \"guitar\",\r\n    category: \"Objects\",\r\n    aliases: [\"guitar\"],\r\n    tags: [\"rock\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎹\",\r\n    description: \"musical keyboard\",\r\n    category: \"Objects\",\r\n    aliases: [\"musical_keyboard\"],\r\n    tags: [\"piano\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎺\",\r\n    description: \"trumpet\",\r\n    category: \"Objects\",\r\n    aliases: [\"trumpet\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎻\",\r\n    description: \"violin\",\r\n    category: \"Objects\",\r\n    aliases: [\"violin\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪕\",\r\n    description: \"banjo\",\r\n    category: \"Objects\",\r\n    aliases: [\"banjo\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🥁\",\r\n    description: \"drum\",\r\n    category: \"Objects\",\r\n    aliases: [\"drum\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🪘\",\r\n    description: \"long drum\",\r\n    category: \"Objects\",\r\n    aliases: [\"long_drum\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪇\",\r\n    description: \"maracas\",\r\n    category: \"Objects\",\r\n    aliases: [\"maracas\"],\r\n    tags: [\"shaker\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"🪈\",\r\n    description: \"flute\",\r\n    category: \"Objects\",\r\n    aliases: [\"flute\"],\r\n    tags: [\"recorder\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"📱\",\r\n    description: \"mobile phone\",\r\n    category: \"Objects\",\r\n    aliases: [\"iphone\"],\r\n    tags: [\"smartphone\", \"mobile\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📲\",\r\n    description: \"mobile phone with arrow\",\r\n    category: \"Objects\",\r\n    aliases: [\"calling\"],\r\n    tags: [\"call\", \"incoming\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☎️\",\r\n    description: \"telephone\",\r\n    category: \"Objects\",\r\n    aliases: [\"phone\", \"telephone\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📞\",\r\n    description: \"telephone receiver\",\r\n    category: \"Objects\",\r\n    aliases: [\"telephone_receiver\"],\r\n    tags: [\"phone\", \"call\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📟\",\r\n    description: \"pager\",\r\n    category: \"Objects\",\r\n    aliases: [\"pager\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📠\",\r\n    description: \"fax machine\",\r\n    category: \"Objects\",\r\n    aliases: [\"fax\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔋\",\r\n    description: \"battery\",\r\n    category: \"Objects\",\r\n    aliases: [\"battery\"],\r\n    tags: [\"power\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪫\",\r\n    description: \"low battery\",\r\n    category: \"Objects\",\r\n    aliases: [\"low_battery\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🔌\",\r\n    description: \"electric plug\",\r\n    category: \"Objects\",\r\n    aliases: [\"electric_plug\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💻\",\r\n    description: \"laptop\",\r\n    category: \"Objects\",\r\n    aliases: [\"computer\"],\r\n    tags: [\"desktop\", \"screen\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🖥️\",\r\n    description: \"desktop computer\",\r\n    category: \"Objects\",\r\n    aliases: [\"desktop_computer\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🖨️\",\r\n    description: \"printer\",\r\n    category: \"Objects\",\r\n    aliases: [\"printer\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⌨️\",\r\n    description: \"keyboard\",\r\n    category: \"Objects\",\r\n    aliases: [\"keyboard\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🖱️\",\r\n    description: \"computer mouse\",\r\n    category: \"Objects\",\r\n    aliases: [\"computer_mouse\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🖲️\",\r\n    description: \"trackball\",\r\n    category: \"Objects\",\r\n    aliases: [\"trackball\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💽\",\r\n    description: \"computer disk\",\r\n    category: \"Objects\",\r\n    aliases: [\"minidisc\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💾\",\r\n    description: \"floppy disk\",\r\n    category: \"Objects\",\r\n    aliases: [\"floppy_disk\"],\r\n    tags: [\"save\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💿\",\r\n    description: \"optical disk\",\r\n    category: \"Objects\",\r\n    aliases: [\"cd\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📀\",\r\n    description: \"dvd\",\r\n    category: \"Objects\",\r\n    aliases: [\"dvd\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧮\",\r\n    description: \"abacus\",\r\n    category: \"Objects\",\r\n    aliases: [\"abacus\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🎥\",\r\n    description: \"movie camera\",\r\n    category: \"Objects\",\r\n    aliases: [\"movie_camera\"],\r\n    tags: [\"film\", \"video\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎞️\",\r\n    description: \"film frames\",\r\n    category: \"Objects\",\r\n    aliases: [\"film_strip\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"📽️\",\r\n    description: \"film projector\",\r\n    category: \"Objects\",\r\n    aliases: [\"film_projector\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🎬\",\r\n    description: \"clapper board\",\r\n    category: \"Objects\",\r\n    aliases: [\"clapper\"],\r\n    tags: [\"film\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📺\",\r\n    description: \"television\",\r\n    category: \"Objects\",\r\n    aliases: [\"tv\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📷\",\r\n    description: \"camera\",\r\n    category: \"Objects\",\r\n    aliases: [\"camera\"],\r\n    tags: [\"photo\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📸\",\r\n    description: \"camera with flash\",\r\n    category: \"Objects\",\r\n    aliases: [\"camera_flash\"],\r\n    tags: [\"photo\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"📹\",\r\n    description: \"video camera\",\r\n    category: \"Objects\",\r\n    aliases: [\"video_camera\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📼\",\r\n    description: \"videocassette\",\r\n    category: \"Objects\",\r\n    aliases: [\"vhs\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔍\",\r\n    description: \"magnifying glass tilted left\",\r\n    category: \"Objects\",\r\n    aliases: [\"mag\"],\r\n    tags: [\"search\", \"zoom\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔎\",\r\n    description: \"magnifying glass tilted right\",\r\n    category: \"Objects\",\r\n    aliases: [\"mag_right\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🕯️\",\r\n    description: \"candle\",\r\n    category: \"Objects\",\r\n    aliases: [\"candle\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💡\",\r\n    description: \"light bulb\",\r\n    category: \"Objects\",\r\n    aliases: [\"bulb\"],\r\n    tags: [\"idea\", \"light\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔦\",\r\n    description: \"flashlight\",\r\n    category: \"Objects\",\r\n    aliases: [\"flashlight\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏮\",\r\n    description: \"red paper lantern\",\r\n    category: \"Objects\",\r\n    aliases: [\"izakaya_lantern\", \"lantern\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪔\",\r\n    description: \"diya lamp\",\r\n    category: \"Objects\",\r\n    aliases: [\"diya_lamp\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"📔\",\r\n    description: \"notebook with decorative cover\",\r\n    category: \"Objects\",\r\n    aliases: [\"notebook_with_decorative_cover\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📕\",\r\n    description: \"closed book\",\r\n    category: \"Objects\",\r\n    aliases: [\"closed_book\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📖\",\r\n    description: \"open book\",\r\n    category: \"Objects\",\r\n    aliases: [\"book\", \"open_book\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📗\",\r\n    description: \"green book\",\r\n    category: \"Objects\",\r\n    aliases: [\"green_book\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📘\",\r\n    description: \"blue book\",\r\n    category: \"Objects\",\r\n    aliases: [\"blue_book\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📙\",\r\n    description: \"orange book\",\r\n    category: \"Objects\",\r\n    aliases: [\"orange_book\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📚\",\r\n    description: \"books\",\r\n    category: \"Objects\",\r\n    aliases: [\"books\"],\r\n    tags: [\"library\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📓\",\r\n    description: \"notebook\",\r\n    category: \"Objects\",\r\n    aliases: [\"notebook\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📒\",\r\n    description: \"ledger\",\r\n    category: \"Objects\",\r\n    aliases: [\"ledger\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📃\",\r\n    description: \"page with curl\",\r\n    category: \"Objects\",\r\n    aliases: [\"page_with_curl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📜\",\r\n    description: \"scroll\",\r\n    category: \"Objects\",\r\n    aliases: [\"scroll\"],\r\n    tags: [\"document\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📄\",\r\n    description: \"page facing up\",\r\n    category: \"Objects\",\r\n    aliases: [\"page_facing_up\"],\r\n    tags: [\"document\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📰\",\r\n    description: \"newspaper\",\r\n    category: \"Objects\",\r\n    aliases: [\"newspaper\"],\r\n    tags: [\"press\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗞️\",\r\n    description: \"rolled-up newspaper\",\r\n    category: \"Objects\",\r\n    aliases: [\"newspaper_roll\"],\r\n    tags: [\"press\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"📑\",\r\n    description: \"bookmark tabs\",\r\n    category: \"Objects\",\r\n    aliases: [\"bookmark_tabs\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔖\",\r\n    description: \"bookmark\",\r\n    category: \"Objects\",\r\n    aliases: [\"bookmark\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏷️\",\r\n    description: \"label\",\r\n    category: \"Objects\",\r\n    aliases: [\"label\"],\r\n    tags: [\"tag\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💰\",\r\n    description: \"money bag\",\r\n    category: \"Objects\",\r\n    aliases: [\"moneybag\"],\r\n    tags: [\"dollar\", \"cream\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪙\",\r\n    description: \"coin\",\r\n    category: \"Objects\",\r\n    aliases: [\"coin\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"💴\",\r\n    description: \"yen banknote\",\r\n    category: \"Objects\",\r\n    aliases: [\"yen\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💵\",\r\n    description: \"dollar banknote\",\r\n    category: \"Objects\",\r\n    aliases: [\"dollar\"],\r\n    tags: [\"money\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💶\",\r\n    description: \"euro banknote\",\r\n    category: \"Objects\",\r\n    aliases: [\"euro\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💷\",\r\n    description: \"pound banknote\",\r\n    category: \"Objects\",\r\n    aliases: [\"pound\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💸\",\r\n    description: \"money with wings\",\r\n    category: \"Objects\",\r\n    aliases: [\"money_with_wings\"],\r\n    tags: [\"dollar\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💳\",\r\n    description: \"credit card\",\r\n    category: \"Objects\",\r\n    aliases: [\"credit_card\"],\r\n    tags: [\"subscription\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🧾\",\r\n    description: \"receipt\",\r\n    category: \"Objects\",\r\n    aliases: [\"receipt\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"💹\",\r\n    description: \"chart increasing with yen\",\r\n    category: \"Objects\",\r\n    aliases: [\"chart\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"✉️\",\r\n    description: \"envelope\",\r\n    category: \"Objects\",\r\n    aliases: [\"envelope\"],\r\n    tags: [\"letter\", \"email\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📧\",\r\n    description: \"e-mail\",\r\n    category: \"Objects\",\r\n    aliases: [\"email\", \"e-mail\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📨\",\r\n    description: \"incoming envelope\",\r\n    category: \"Objects\",\r\n    aliases: [\"incoming_envelope\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📩\",\r\n    description: \"envelope with arrow\",\r\n    category: \"Objects\",\r\n    aliases: [\"envelope_with_arrow\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📤\",\r\n    description: \"outbox tray\",\r\n    category: \"Objects\",\r\n    aliases: [\"outbox_tray\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📥\",\r\n    description: \"inbox tray\",\r\n    category: \"Objects\",\r\n    aliases: [\"inbox_tray\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📦\",\r\n    description: \"package\",\r\n    category: \"Objects\",\r\n    aliases: [\"package\"],\r\n    tags: [\"shipping\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📫\",\r\n    description: \"closed mailbox with raised flag\",\r\n    category: \"Objects\",\r\n    aliases: [\"mailbox\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📪\",\r\n    description: \"closed mailbox with lowered flag\",\r\n    category: \"Objects\",\r\n    aliases: [\"mailbox_closed\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📬\",\r\n    description: \"open mailbox with raised flag\",\r\n    category: \"Objects\",\r\n    aliases: [\"mailbox_with_mail\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📭\",\r\n    description: \"open mailbox with lowered flag\",\r\n    category: \"Objects\",\r\n    aliases: [\"mailbox_with_no_mail\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📮\",\r\n    description: \"postbox\",\r\n    category: \"Objects\",\r\n    aliases: [\"postbox\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗳️\",\r\n    description: \"ballot box with ballot\",\r\n    category: \"Objects\",\r\n    aliases: [\"ballot_box\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"✏️\",\r\n    description: \"pencil\",\r\n    category: \"Objects\",\r\n    aliases: [\"pencil2\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"✒️\",\r\n    description: \"black nib\",\r\n    category: \"Objects\",\r\n    aliases: [\"black_nib\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🖋️\",\r\n    description: \"fountain pen\",\r\n    category: \"Objects\",\r\n    aliases: [\"fountain_pen\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🖊️\",\r\n    description: \"pen\",\r\n    category: \"Objects\",\r\n    aliases: [\"pen\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🖌️\",\r\n    description: \"paintbrush\",\r\n    category: \"Objects\",\r\n    aliases: [\"paintbrush\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🖍️\",\r\n    description: \"crayon\",\r\n    category: \"Objects\",\r\n    aliases: [\"crayon\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"📝\",\r\n    description: \"memo\",\r\n    category: \"Objects\",\r\n    aliases: [\"memo\", \"pencil\"],\r\n    tags: [\"document\", \"note\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💼\",\r\n    description: \"briefcase\",\r\n    category: \"Objects\",\r\n    aliases: [\"briefcase\"],\r\n    tags: [\"business\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📁\",\r\n    description: \"file folder\",\r\n    category: \"Objects\",\r\n    aliases: [\"file_folder\"],\r\n    tags: [\"directory\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📂\",\r\n    description: \"open file folder\",\r\n    category: \"Objects\",\r\n    aliases: [\"open_file_folder\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗂️\",\r\n    description: \"card index dividers\",\r\n    category: \"Objects\",\r\n    aliases: [\"card_index_dividers\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"📅\",\r\n    description: \"calendar\",\r\n    category: \"Objects\",\r\n    aliases: [\"date\"],\r\n    tags: [\"calendar\", \"schedule\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📆\",\r\n    description: \"tear-off calendar\",\r\n    category: \"Objects\",\r\n    aliases: [\"calendar\"],\r\n    tags: [\"schedule\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗒️\",\r\n    description: \"spiral notepad\",\r\n    category: \"Objects\",\r\n    aliases: [\"spiral_notepad\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🗓️\",\r\n    description: \"spiral calendar\",\r\n    category: \"Objects\",\r\n    aliases: [\"spiral_calendar\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"📇\",\r\n    description: \"card index\",\r\n    category: \"Objects\",\r\n    aliases: [\"card_index\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📈\",\r\n    description: \"chart increasing\",\r\n    category: \"Objects\",\r\n    aliases: [\"chart_with_upwards_trend\"],\r\n    tags: [\"graph\", \"metrics\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📉\",\r\n    description: \"chart decreasing\",\r\n    category: \"Objects\",\r\n    aliases: [\"chart_with_downwards_trend\"],\r\n    tags: [\"graph\", \"metrics\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📊\",\r\n    description: \"bar chart\",\r\n    category: \"Objects\",\r\n    aliases: [\"bar_chart\"],\r\n    tags: [\"stats\", \"metrics\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📋\",\r\n    description: \"clipboard\",\r\n    category: \"Objects\",\r\n    aliases: [\"clipboard\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📌\",\r\n    description: \"pushpin\",\r\n    category: \"Objects\",\r\n    aliases: [\"pushpin\"],\r\n    tags: [\"location\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📍\",\r\n    description: \"round pushpin\",\r\n    category: \"Objects\",\r\n    aliases: [\"round_pushpin\"],\r\n    tags: [\"location\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📎\",\r\n    description: \"paperclip\",\r\n    category: \"Objects\",\r\n    aliases: [\"paperclip\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🖇️\",\r\n    description: \"linked paperclips\",\r\n    category: \"Objects\",\r\n    aliases: [\"paperclips\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"📏\",\r\n    description: \"straight ruler\",\r\n    category: \"Objects\",\r\n    aliases: [\"straight_ruler\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📐\",\r\n    description: \"triangular ruler\",\r\n    category: \"Objects\",\r\n    aliases: [\"triangular_ruler\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"✂️\",\r\n    description: \"scissors\",\r\n    category: \"Objects\",\r\n    aliases: [\"scissors\"],\r\n    tags: [\"cut\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗃️\",\r\n    description: \"card file box\",\r\n    category: \"Objects\",\r\n    aliases: [\"card_file_box\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🗄️\",\r\n    description: \"file cabinet\",\r\n    category: \"Objects\",\r\n    aliases: [\"file_cabinet\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🗑️\",\r\n    description: \"wastebasket\",\r\n    category: \"Objects\",\r\n    aliases: [\"wastebasket\"],\r\n    tags: [\"trash\"],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🔒\",\r\n    description: \"locked\",\r\n    category: \"Objects\",\r\n    aliases: [\"lock\"],\r\n    tags: [\"security\", \"private\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔓\",\r\n    description: \"unlocked\",\r\n    category: \"Objects\",\r\n    aliases: [\"unlock\"],\r\n    tags: [\"security\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔏\",\r\n    description: \"locked with pen\",\r\n    category: \"Objects\",\r\n    aliases: [\"lock_with_ink_pen\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔐\",\r\n    description: \"locked with key\",\r\n    category: \"Objects\",\r\n    aliases: [\"closed_lock_with_key\"],\r\n    tags: [\"security\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔑\",\r\n    description: \"key\",\r\n    category: \"Objects\",\r\n    aliases: [\"key\"],\r\n    tags: [\"lock\", \"password\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🗝️\",\r\n    description: \"old key\",\r\n    category: \"Objects\",\r\n    aliases: [\"old_key\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🔨\",\r\n    description: \"hammer\",\r\n    category: \"Objects\",\r\n    aliases: [\"hammer\"],\r\n    tags: [\"tool\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪓\",\r\n    description: \"axe\",\r\n    category: \"Objects\",\r\n    aliases: [\"axe\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"⛏️\",\r\n    description: \"pick\",\r\n    category: \"Objects\",\r\n    aliases: [\"pick\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⚒️\",\r\n    description: \"hammer and pick\",\r\n    category: \"Objects\",\r\n    aliases: [\"hammer_and_pick\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛠️\",\r\n    description: \"hammer and wrench\",\r\n    category: \"Objects\",\r\n    aliases: [\"hammer_and_wrench\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🗡️\",\r\n    description: \"dagger\",\r\n    category: \"Objects\",\r\n    aliases: [\"dagger\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⚔️\",\r\n    description: \"crossed swords\",\r\n    category: \"Objects\",\r\n    aliases: [\"crossed_swords\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"💣\",\r\n    description: \"bomb\",\r\n    category: \"Objects\",\r\n    aliases: [\"bomb\"],\r\n    tags: [\"boom\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪃\",\r\n    description: \"boomerang\",\r\n    category: \"Objects\",\r\n    aliases: [\"boomerang\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🏹\",\r\n    description: \"bow and arrow\",\r\n    category: \"Objects\",\r\n    aliases: [\"bow_and_arrow\"],\r\n    tags: [\"archery\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛡️\",\r\n    description: \"shield\",\r\n    category: \"Objects\",\r\n    aliases: [\"shield\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🪚\",\r\n    description: \"carpentry saw\",\r\n    category: \"Objects\",\r\n    aliases: [\"carpentry_saw\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🔧\",\r\n    description: \"wrench\",\r\n    category: \"Objects\",\r\n    aliases: [\"wrench\"],\r\n    tags: [\"tool\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪛\",\r\n    description: \"screwdriver\",\r\n    category: \"Objects\",\r\n    aliases: [\"screwdriver\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🔩\",\r\n    description: \"nut and bolt\",\r\n    category: \"Objects\",\r\n    aliases: [\"nut_and_bolt\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⚙️\",\r\n    description: \"gear\",\r\n    category: \"Objects\",\r\n    aliases: [\"gear\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🗜️\",\r\n    description: \"clamp\",\r\n    category: \"Objects\",\r\n    aliases: [\"clamp\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⚖️\",\r\n    description: \"balance scale\",\r\n    category: \"Objects\",\r\n    aliases: [\"balance_scale\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🦯\",\r\n    description: \"white cane\",\r\n    category: \"Objects\",\r\n    aliases: [\"probing_cane\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🔗\",\r\n    description: \"link\",\r\n    category: \"Objects\",\r\n    aliases: [\"link\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛓️\",\r\n    description: \"chains\",\r\n    category: \"Objects\",\r\n    aliases: [\"chains\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🪝\",\r\n    description: \"hook\",\r\n    category: \"Objects\",\r\n    aliases: [\"hook\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🧰\",\r\n    description: \"toolbox\",\r\n    category: \"Objects\",\r\n    aliases: [\"toolbox\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧲\",\r\n    description: \"magnet\",\r\n    category: \"Objects\",\r\n    aliases: [\"magnet\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪜\",\r\n    description: \"ladder\",\r\n    category: \"Objects\",\r\n    aliases: [\"ladder\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"⚗️\",\r\n    description: \"alembic\",\r\n    category: \"Objects\",\r\n    aliases: [\"alembic\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🧪\",\r\n    description: \"test tube\",\r\n    category: \"Objects\",\r\n    aliases: [\"test_tube\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧫\",\r\n    description: \"petri dish\",\r\n    category: \"Objects\",\r\n    aliases: [\"petri_dish\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧬\",\r\n    description: \"dna\",\r\n    category: \"Objects\",\r\n    aliases: [\"dna\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🔬\",\r\n    description: \"microscope\",\r\n    category: \"Objects\",\r\n    aliases: [\"microscope\"],\r\n    tags: [\"science\", \"laboratory\", \"investigate\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔭\",\r\n    description: \"telescope\",\r\n    category: \"Objects\",\r\n    aliases: [\"telescope\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📡\",\r\n    description: \"satellite antenna\",\r\n    category: \"Objects\",\r\n    aliases: [\"satellite\"],\r\n    tags: [\"signal\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💉\",\r\n    description: \"syringe\",\r\n    category: \"Objects\",\r\n    aliases: [\"syringe\"],\r\n    tags: [\"health\", \"hospital\", \"needle\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🩸\",\r\n    description: \"drop of blood\",\r\n    category: \"Objects\",\r\n    aliases: [\"drop_of_blood\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"💊\",\r\n    description: \"pill\",\r\n    category: \"Objects\",\r\n    aliases: [\"pill\"],\r\n    tags: [\"health\", \"medicine\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🩹\",\r\n    description: \"adhesive bandage\",\r\n    category: \"Objects\",\r\n    aliases: [\"adhesive_bandage\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🩼\",\r\n    description: \"crutch\",\r\n    category: \"Objects\",\r\n    aliases: [\"crutch\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🩺\",\r\n    description: \"stethoscope\",\r\n    category: \"Objects\",\r\n    aliases: [\"stethoscope\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🩻\",\r\n    description: \"x-ray\",\r\n    category: \"Objects\",\r\n    aliases: [\"x_ray\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🚪\",\r\n    description: \"door\",\r\n    category: \"Objects\",\r\n    aliases: [\"door\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛗\",\r\n    description: \"elevator\",\r\n    category: \"Objects\",\r\n    aliases: [\"elevator\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪞\",\r\n    description: \"mirror\",\r\n    category: \"Objects\",\r\n    aliases: [\"mirror\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪟\",\r\n    description: \"window\",\r\n    category: \"Objects\",\r\n    aliases: [\"window\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🛏️\",\r\n    description: \"bed\",\r\n    category: \"Objects\",\r\n    aliases: [\"bed\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🛋️\",\r\n    description: \"couch and lamp\",\r\n    category: \"Objects\",\r\n    aliases: [\"couch_and_lamp\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🪑\",\r\n    description: \"chair\",\r\n    category: \"Objects\",\r\n    aliases: [\"chair\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🚽\",\r\n    description: \"toilet\",\r\n    category: \"Objects\",\r\n    aliases: [\"toilet\"],\r\n    tags: [\"wc\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪠\",\r\n    description: \"plunger\",\r\n    category: \"Objects\",\r\n    aliases: [\"plunger\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🚿\",\r\n    description: \"shower\",\r\n    category: \"Objects\",\r\n    aliases: [\"shower\"],\r\n    tags: [\"bath\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛁\",\r\n    description: \"bathtub\",\r\n    category: \"Objects\",\r\n    aliases: [\"bathtub\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪤\",\r\n    description: \"mouse trap\",\r\n    category: \"Objects\",\r\n    aliases: [\"mouse_trap\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪒\",\r\n    description: \"razor\",\r\n    category: \"Objects\",\r\n    aliases: [\"razor\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🧴\",\r\n    description: \"lotion bottle\",\r\n    category: \"Objects\",\r\n    aliases: [\"lotion_bottle\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧷\",\r\n    description: \"safety pin\",\r\n    category: \"Objects\",\r\n    aliases: [\"safety_pin\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧹\",\r\n    description: \"broom\",\r\n    category: \"Objects\",\r\n    aliases: [\"broom\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧺\",\r\n    description: \"basket\",\r\n    category: \"Objects\",\r\n    aliases: [\"basket\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧻\",\r\n    description: \"roll of paper\",\r\n    category: \"Objects\",\r\n    aliases: [\"roll_of_paper\"],\r\n    tags: [\"toilet\"],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪣\",\r\n    description: \"bucket\",\r\n    category: \"Objects\",\r\n    aliases: [\"bucket\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🧼\",\r\n    description: \"soap\",\r\n    category: \"Objects\",\r\n    aliases: [\"soap\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🫧\",\r\n    description: \"bubbles\",\r\n    category: \"Objects\",\r\n    aliases: [\"bubbles\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🪥\",\r\n    description: \"toothbrush\",\r\n    category: \"Objects\",\r\n    aliases: [\"toothbrush\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🧽\",\r\n    description: \"sponge\",\r\n    category: \"Objects\",\r\n    aliases: [\"sponge\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🧯\",\r\n    description: \"fire extinguisher\",\r\n    category: \"Objects\",\r\n    aliases: [\"fire_extinguisher\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🛒\",\r\n    description: \"shopping cart\",\r\n    category: \"Objects\",\r\n    aliases: [\"shopping_cart\"],\r\n    tags: [],\r\n    unicode_version: \"9.0\",\r\n    ios_version: \"10.2\",\r\n  },\r\n  {\r\n    emoji: \"🚬\",\r\n    description: \"cigarette\",\r\n    category: \"Objects\",\r\n    aliases: [\"smoking\"],\r\n    tags: [\"cigarette\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⚰️\",\r\n    description: \"coffin\",\r\n    category: \"Objects\",\r\n    aliases: [\"coffin\"],\r\n    tags: [\"funeral\"],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🪦\",\r\n    description: \"headstone\",\r\n    category: \"Objects\",\r\n    aliases: [\"headstone\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"⚱️\",\r\n    description: \"funeral urn\",\r\n    category: \"Objects\",\r\n    aliases: [\"funeral_urn\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🧿\",\r\n    description: \"nazar amulet\",\r\n    category: \"Objects\",\r\n    aliases: [\"nazar_amulet\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🪬\",\r\n    description: \"hamsa\",\r\n    category: \"Objects\",\r\n    aliases: [\"hamsa\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🗿\",\r\n    description: \"moai\",\r\n    category: \"Objects\",\r\n    aliases: [\"moyai\"],\r\n    tags: [\"stone\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪧\",\r\n    description: \"placard\",\r\n    category: \"Objects\",\r\n    aliases: [\"placard\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🪪\",\r\n    description: \"identification card\",\r\n    category: \"Objects\",\r\n    aliases: [\"identification_card\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"🏧\",\r\n    description: \"ATM sign\",\r\n    category: \"Symbols\",\r\n    aliases: [\"atm\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚮\",\r\n    description: \"litter in bin sign\",\r\n    category: \"Symbols\",\r\n    aliases: [\"put_litter_in_its_place\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚰\",\r\n    description: \"potable water\",\r\n    category: \"Symbols\",\r\n    aliases: [\"potable_water\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♿\",\r\n    description: \"wheelchair symbol\",\r\n    category: \"Symbols\",\r\n    aliases: [\"wheelchair\"],\r\n    tags: [\"accessibility\"],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚹\",\r\n    description: \"men’s room\",\r\n    category: \"Symbols\",\r\n    aliases: [\"mens\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚺\",\r\n    description: \"women’s room\",\r\n    category: \"Symbols\",\r\n    aliases: [\"womens\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚻\",\r\n    description: \"restroom\",\r\n    category: \"Symbols\",\r\n    aliases: [\"restroom\"],\r\n    tags: [\"toilet\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚼\",\r\n    description: \"baby symbol\",\r\n    category: \"Symbols\",\r\n    aliases: [\"baby_symbol\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚾\",\r\n    description: \"water closet\",\r\n    category: \"Symbols\",\r\n    aliases: [\"wc\"],\r\n    tags: [\"toilet\", \"restroom\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛂\",\r\n    description: \"passport control\",\r\n    category: \"Symbols\",\r\n    aliases: [\"passport_control\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛃\",\r\n    description: \"customs\",\r\n    category: \"Symbols\",\r\n    aliases: [\"customs\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛄\",\r\n    description: \"baggage claim\",\r\n    category: \"Symbols\",\r\n    aliases: [\"baggage_claim\"],\r\n    tags: [\"airport\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛅\",\r\n    description: \"left luggage\",\r\n    category: \"Symbols\",\r\n    aliases: [\"left_luggage\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⚠️\",\r\n    description: \"warning\",\r\n    category: \"Symbols\",\r\n    aliases: [\"warning\"],\r\n    tags: [\"wip\"],\r\n    unicode_version: \"4.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚸\",\r\n    description: \"children crossing\",\r\n    category: \"Symbols\",\r\n    aliases: [\"children_crossing\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛔\",\r\n    description: \"no entry\",\r\n    category: \"Symbols\",\r\n    aliases: [\"no_entry\"],\r\n    tags: [\"limit\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚫\",\r\n    description: \"prohibited\",\r\n    category: \"Symbols\",\r\n    aliases: [\"no_entry_sign\"],\r\n    tags: [\"block\", \"forbidden\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚳\",\r\n    description: \"no bicycles\",\r\n    category: \"Symbols\",\r\n    aliases: [\"no_bicycles\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚭\",\r\n    description: \"no smoking\",\r\n    category: \"Symbols\",\r\n    aliases: [\"no_smoking\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚯\",\r\n    description: \"no littering\",\r\n    category: \"Symbols\",\r\n    aliases: [\"do_not_litter\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚱\",\r\n    description: \"non-potable water\",\r\n    category: \"Symbols\",\r\n    aliases: [\"non-potable_water\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚷\",\r\n    description: \"no pedestrians\",\r\n    category: \"Symbols\",\r\n    aliases: [\"no_pedestrians\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📵\",\r\n    description: \"no mobile phones\",\r\n    category: \"Symbols\",\r\n    aliases: [\"no_mobile_phones\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔞\",\r\n    description: \"no one under eighteen\",\r\n    category: \"Symbols\",\r\n    aliases: [\"underage\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☢️\",\r\n    description: \"radioactive\",\r\n    category: \"Symbols\",\r\n    aliases: [\"radioactive\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☣️\",\r\n    description: \"biohazard\",\r\n    category: \"Symbols\",\r\n    aliases: [\"biohazard\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⬆️\",\r\n    description: \"up arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_up\"],\r\n    tags: [],\r\n    unicode_version: \"4.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"↗️\",\r\n    description: \"up-right arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_upper_right\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"➡️\",\r\n    description: \"right arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_right\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"↘️\",\r\n    description: \"down-right arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_lower_right\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⬇️\",\r\n    description: \"down arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_down\"],\r\n    tags: [],\r\n    unicode_version: \"4.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"↙️\",\r\n    description: \"down-left arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_lower_left\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⬅️\",\r\n    description: \"left arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_left\"],\r\n    tags: [],\r\n    unicode_version: \"4.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"↖️\",\r\n    description: \"up-left arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_upper_left\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"↕️\",\r\n    description: \"up-down arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_up_down\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"↔️\",\r\n    description: \"left-right arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"left_right_arrow\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"↩️\",\r\n    description: \"right arrow curving left\",\r\n    category: \"Symbols\",\r\n    aliases: [\"leftwards_arrow_with_hook\"],\r\n    tags: [\"return\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"↪️\",\r\n    description: \"left arrow curving right\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_right_hook\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⤴️\",\r\n    description: \"right arrow curving up\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_heading_up\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⤵️\",\r\n    description: \"right arrow curving down\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_heading_down\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔃\",\r\n    description: \"clockwise vertical arrows\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrows_clockwise\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔄\",\r\n    description: \"counterclockwise arrows button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrows_counterclockwise\"],\r\n    tags: [\"sync\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔙\",\r\n    description: \"BACK arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"back\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔚\",\r\n    description: \"END arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"end\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔛\",\r\n    description: \"ON! arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"on\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔜\",\r\n    description: \"SOON arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"soon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔝\",\r\n    description: \"TOP arrow\",\r\n    category: \"Symbols\",\r\n    aliases: [\"top\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛐\",\r\n    description: \"place of worship\",\r\n    category: \"Symbols\",\r\n    aliases: [\"place_of_worship\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⚛️\",\r\n    description: \"atom symbol\",\r\n    category: \"Symbols\",\r\n    aliases: [\"atom_symbol\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🕉️\",\r\n    description: \"om\",\r\n    category: \"Symbols\",\r\n    aliases: [\"om\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"✡️\",\r\n    description: \"star of David\",\r\n    category: \"Symbols\",\r\n    aliases: [\"star_of_david\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☸️\",\r\n    description: \"wheel of dharma\",\r\n    category: \"Symbols\",\r\n    aliases: [\"wheel_of_dharma\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☯️\",\r\n    description: \"yin yang\",\r\n    category: \"Symbols\",\r\n    aliases: [\"yin_yang\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"✝️\",\r\n    description: \"latin cross\",\r\n    category: \"Symbols\",\r\n    aliases: [\"latin_cross\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☦️\",\r\n    description: \"orthodox cross\",\r\n    category: \"Symbols\",\r\n    aliases: [\"orthodox_cross\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☪️\",\r\n    description: \"star and crescent\",\r\n    category: \"Symbols\",\r\n    aliases: [\"star_and_crescent\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"☮️\",\r\n    description: \"peace symbol\",\r\n    category: \"Symbols\",\r\n    aliases: [\"peace_symbol\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🕎\",\r\n    description: \"menorah\",\r\n    category: \"Symbols\",\r\n    aliases: [\"menorah\"],\r\n    tags: [],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🔯\",\r\n    description: \"dotted six-pointed star\",\r\n    category: \"Symbols\",\r\n    aliases: [\"six_pointed_star\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🪯\",\r\n    description: \"khanda\",\r\n    category: \"Symbols\",\r\n    aliases: [\"khanda\"],\r\n    tags: [],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"♈\",\r\n    description: \"Aries\",\r\n    category: \"Symbols\",\r\n    aliases: [\"aries\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♉\",\r\n    description: \"Taurus\",\r\n    category: \"Symbols\",\r\n    aliases: [\"taurus\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♊\",\r\n    description: \"Gemini\",\r\n    category: \"Symbols\",\r\n    aliases: [\"gemini\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♋\",\r\n    description: \"Cancer\",\r\n    category: \"Symbols\",\r\n    aliases: [\"cancer\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♌\",\r\n    description: \"Leo\",\r\n    category: \"Symbols\",\r\n    aliases: [\"leo\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♍\",\r\n    description: \"Virgo\",\r\n    category: \"Symbols\",\r\n    aliases: [\"virgo\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♎\",\r\n    description: \"Libra\",\r\n    category: \"Symbols\",\r\n    aliases: [\"libra\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♏\",\r\n    description: \"Scorpio\",\r\n    category: \"Symbols\",\r\n    aliases: [\"scorpius\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♐\",\r\n    description: \"Sagittarius\",\r\n    category: \"Symbols\",\r\n    aliases: [\"sagittarius\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♑\",\r\n    description: \"Capricorn\",\r\n    category: \"Symbols\",\r\n    aliases: [\"capricorn\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♒\",\r\n    description: \"Aquarius\",\r\n    category: \"Symbols\",\r\n    aliases: [\"aquarius\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♓\",\r\n    description: \"Pisces\",\r\n    category: \"Symbols\",\r\n    aliases: [\"pisces\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⛎\",\r\n    description: \"Ophiuchus\",\r\n    category: \"Symbols\",\r\n    aliases: [\"ophiuchus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔀\",\r\n    description: \"shuffle tracks button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"twisted_rightwards_arrows\"],\r\n    tags: [\"shuffle\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔁\",\r\n    description: \"repeat button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"repeat\"],\r\n    tags: [\"loop\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔂\",\r\n    description: \"repeat single button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"repeat_one\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"▶️\",\r\n    description: \"play button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_forward\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏩\",\r\n    description: \"fast-forward button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"fast_forward\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏭️\",\r\n    description: \"next track button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"next_track_button\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⏯️\",\r\n    description: \"play or pause button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"play_or_pause_button\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"◀️\",\r\n    description: \"reverse button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_backward\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏪\",\r\n    description: \"fast reverse button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"rewind\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏮️\",\r\n    description: \"last track button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"previous_track_button\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🔼\",\r\n    description: \"upwards button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_up_small\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏫\",\r\n    description: \"fast up button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_double_up\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔽\",\r\n    description: \"downwards button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_down_small\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏬\",\r\n    description: \"fast down button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"arrow_double_down\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⏸️\",\r\n    description: \"pause button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"pause_button\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⏹️\",\r\n    description: \"stop button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"stop_button\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⏺️\",\r\n    description: \"record button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"record_button\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"⏏️\",\r\n    description: \"eject button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"eject_button\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🎦\",\r\n    description: \"cinema\",\r\n    category: \"Symbols\",\r\n    aliases: [\"cinema\"],\r\n    tags: [\"film\", \"movie\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔅\",\r\n    description: \"dim button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"low_brightness\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔆\",\r\n    description: \"bright button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"high_brightness\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📶\",\r\n    description: \"antenna bars\",\r\n    category: \"Symbols\",\r\n    aliases: [\"signal_strength\"],\r\n    tags: [\"wifi\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🛜\",\r\n    description: \"wireless\",\r\n    category: \"Symbols\",\r\n    aliases: [\"wireless\"],\r\n    tags: [\"wifi\"],\r\n    unicode_version: \"15.0\",\r\n    ios_version: \"16.4\",\r\n  },\r\n  {\r\n    emoji: \"📳\",\r\n    description: \"vibration mode\",\r\n    category: \"Symbols\",\r\n    aliases: [\"vibration_mode\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📴\",\r\n    description: \"mobile phone off\",\r\n    category: \"Symbols\",\r\n    aliases: [\"mobile_phone_off\"],\r\n    tags: [\"mute\", \"off\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"♀️\",\r\n    description: \"female sign\",\r\n    category: \"Symbols\",\r\n    aliases: [\"female_sign\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"♂️\",\r\n    description: \"male sign\",\r\n    category: \"Symbols\",\r\n    aliases: [\"male_sign\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"⚧️\",\r\n    description: \"transgender symbol\",\r\n    category: \"Symbols\",\r\n    aliases: [\"transgender_symbol\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"✖️\",\r\n    description: \"multiply\",\r\n    category: \"Symbols\",\r\n    aliases: [\"heavy_multiplication_x\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"➕\",\r\n    description: \"plus\",\r\n    category: \"Symbols\",\r\n    aliases: [\"heavy_plus_sign\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"➖\",\r\n    description: \"minus\",\r\n    category: \"Symbols\",\r\n    aliases: [\"heavy_minus_sign\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"➗\",\r\n    description: \"divide\",\r\n    category: \"Symbols\",\r\n    aliases: [\"heavy_division_sign\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🟰\",\r\n    description: \"heavy equals sign\",\r\n    category: \"Symbols\",\r\n    aliases: [\"heavy_equals_sign\"],\r\n    tags: [],\r\n    unicode_version: \"14.0\",\r\n    ios_version: \"15.4\",\r\n  },\r\n  {\r\n    emoji: \"♾️\",\r\n    description: \"infinity\",\r\n    category: \"Symbols\",\r\n    aliases: [\"infinity\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"‼️\",\r\n    description: \"double exclamation mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"bangbang\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⁉️\",\r\n    description: \"exclamation question mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"interrobang\"],\r\n    tags: [],\r\n    unicode_version: \"3.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❓\",\r\n    description: \"red question mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"question\"],\r\n    tags: [\"confused\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❔\",\r\n    description: \"white question mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"grey_question\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❕\",\r\n    description: \"white exclamation mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"grey_exclamation\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❗\",\r\n    description: \"red exclamation mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"exclamation\", \"heavy_exclamation_mark\"],\r\n    tags: [\"bang\"],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"〰️\",\r\n    description: \"wavy dash\",\r\n    category: \"Symbols\",\r\n    aliases: [\"wavy_dash\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💱\",\r\n    description: \"currency exchange\",\r\n    category: \"Symbols\",\r\n    aliases: [\"currency_exchange\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💲\",\r\n    description: \"heavy dollar sign\",\r\n    category: \"Symbols\",\r\n    aliases: [\"heavy_dollar_sign\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⚕️\",\r\n    description: \"medical symbol\",\r\n    category: \"Symbols\",\r\n    aliases: [\"medical_symbol\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"♻️\",\r\n    description: \"recycling symbol\",\r\n    category: \"Symbols\",\r\n    aliases: [\"recycle\"],\r\n    tags: [\"environment\", \"green\"],\r\n    unicode_version: \"3.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⚜️\",\r\n    description: \"fleur-de-lis\",\r\n    category: \"Symbols\",\r\n    aliases: [\"fleur_de_lis\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🔱\",\r\n    description: \"trident emblem\",\r\n    category: \"Symbols\",\r\n    aliases: [\"trident\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"📛\",\r\n    description: \"name badge\",\r\n    category: \"Symbols\",\r\n    aliases: [\"name_badge\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔰\",\r\n    description: \"Japanese symbol for beginner\",\r\n    category: \"Symbols\",\r\n    aliases: [\"beginner\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⭕\",\r\n    description: \"hollow red circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"o\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"✅\",\r\n    description: \"check mark button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"white_check_mark\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"☑️\",\r\n    description: \"check box with check\",\r\n    category: \"Symbols\",\r\n    aliases: [\"ballot_box_with_check\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"✔️\",\r\n    description: \"check mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"heavy_check_mark\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❌\",\r\n    description: \"cross mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"x\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❎\",\r\n    description: \"cross mark button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"negative_squared_cross_mark\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"➰\",\r\n    description: \"curly loop\",\r\n    category: \"Symbols\",\r\n    aliases: [\"curly_loop\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"➿\",\r\n    description: \"double curly loop\",\r\n    category: \"Symbols\",\r\n    aliases: [\"loop\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"〽️\",\r\n    description: \"part alternation mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"part_alternation_mark\"],\r\n    tags: [],\r\n    unicode_version: \"3.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"✳️\",\r\n    description: \"eight-spoked asterisk\",\r\n    category: \"Symbols\",\r\n    aliases: [\"eight_spoked_asterisk\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"✴️\",\r\n    description: \"eight-pointed star\",\r\n    category: \"Symbols\",\r\n    aliases: [\"eight_pointed_black_star\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"❇️\",\r\n    description: \"sparkle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"sparkle\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"©️\",\r\n    description: \"copyright\",\r\n    category: \"Symbols\",\r\n    aliases: [\"copyright\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"®️\",\r\n    description: \"registered\",\r\n    category: \"Symbols\",\r\n    aliases: [\"registered\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"™️\",\r\n    description: \"trade mark\",\r\n    category: \"Symbols\",\r\n    aliases: [\"tm\"],\r\n    tags: [\"trademark\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"#️⃣\",\r\n    description: \"keycap: #\",\r\n    category: \"Symbols\",\r\n    aliases: [\"hash\"],\r\n    tags: [\"number\"],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"*️⃣\",\r\n    description: \"keycap: *\",\r\n    category: \"Symbols\",\r\n    aliases: [\"asterisk\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"0️⃣\",\r\n    description: \"keycap: 0\",\r\n    category: \"Symbols\",\r\n    aliases: [\"zero\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"1️⃣\",\r\n    description: \"keycap: 1\",\r\n    category: \"Symbols\",\r\n    aliases: [\"one\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"2️⃣\",\r\n    description: \"keycap: 2\",\r\n    category: \"Symbols\",\r\n    aliases: [\"two\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"3️⃣\",\r\n    description: \"keycap: 3\",\r\n    category: \"Symbols\",\r\n    aliases: [\"three\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"4️⃣\",\r\n    description: \"keycap: 4\",\r\n    category: \"Symbols\",\r\n    aliases: [\"four\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"5️⃣\",\r\n    description: \"keycap: 5\",\r\n    category: \"Symbols\",\r\n    aliases: [\"five\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"6️⃣\",\r\n    description: \"keycap: 6\",\r\n    category: \"Symbols\",\r\n    aliases: [\"six\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"7️⃣\",\r\n    description: \"keycap: 7\",\r\n    category: \"Symbols\",\r\n    aliases: [\"seven\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"8️⃣\",\r\n    description: \"keycap: 8\",\r\n    category: \"Symbols\",\r\n    aliases: [\"eight\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"9️⃣\",\r\n    description: \"keycap: 9\",\r\n    category: \"Symbols\",\r\n    aliases: [\"nine\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔟\",\r\n    description: \"keycap: 10\",\r\n    category: \"Symbols\",\r\n    aliases: [\"keycap_ten\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔠\",\r\n    description: \"input latin uppercase\",\r\n    category: \"Symbols\",\r\n    aliases: [\"capital_abcd\"],\r\n    tags: [\"letters\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔡\",\r\n    description: \"input latin lowercase\",\r\n    category: \"Symbols\",\r\n    aliases: [\"abcd\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔢\",\r\n    description: \"input numbers\",\r\n    category: \"Symbols\",\r\n    aliases: [\"1234\"],\r\n    tags: [\"numbers\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔣\",\r\n    description: \"input symbols\",\r\n    category: \"Symbols\",\r\n    aliases: [\"symbols\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔤\",\r\n    description: \"input latin letters\",\r\n    category: \"Symbols\",\r\n    aliases: [\"abc\"],\r\n    tags: [\"alphabet\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🅰️\",\r\n    description: \"A button (blood type)\",\r\n    category: \"Symbols\",\r\n    aliases: [\"a\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆎\",\r\n    description: \"AB button (blood type)\",\r\n    category: \"Symbols\",\r\n    aliases: [\"ab\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🅱️\",\r\n    description: \"B button (blood type)\",\r\n    category: \"Symbols\",\r\n    aliases: [\"b\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆑\",\r\n    description: \"CL button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"cl\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆒\",\r\n    description: \"COOL button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"cool\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆓\",\r\n    description: \"FREE button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"free\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"ℹ️\",\r\n    description: \"information\",\r\n    category: \"Symbols\",\r\n    aliases: [\"information_source\"],\r\n    tags: [],\r\n    unicode_version: \"3.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆔\",\r\n    description: \"ID button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"id\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"Ⓜ️\",\r\n    description: \"circled M\",\r\n    category: \"Symbols\",\r\n    aliases: [\"m\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆕\",\r\n    description: \"NEW button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"new\"],\r\n    tags: [\"fresh\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆖\",\r\n    description: \"NG button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"ng\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🅾️\",\r\n    description: \"O button (blood type)\",\r\n    category: \"Symbols\",\r\n    aliases: [\"o2\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆗\",\r\n    description: \"OK button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"ok\"],\r\n    tags: [\"yes\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🅿️\",\r\n    description: \"P button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"parking\"],\r\n    tags: [],\r\n    unicode_version: \"5.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆘\",\r\n    description: \"SOS button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"sos\"],\r\n    tags: [\"help\", \"emergency\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆙\",\r\n    description: \"UP! button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"up\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🆚\",\r\n    description: \"VS button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"vs\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈁\",\r\n    description: \"Japanese “here” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"koko\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈂️\",\r\n    description: \"Japanese “service charge” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"sa\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈷️\",\r\n    description: \"Japanese “monthly amount” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u6708\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈶\",\r\n    description: \"Japanese “not free of charge” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u6709\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈯\",\r\n    description: \"Japanese “reserved” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u6307\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🉐\",\r\n    description: \"Japanese “bargain” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"ideograph_advantage\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈹\",\r\n    description: \"Japanese “discount” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u5272\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈚\",\r\n    description: \"Japanese “free of charge” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u7121\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈲\",\r\n    description: \"Japanese “prohibited” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u7981\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🉑\",\r\n    description: \"Japanese “acceptable” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"accept\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈸\",\r\n    description: \"Japanese “application” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u7533\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈴\",\r\n    description: \"Japanese “passing grade” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u5408\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈳\",\r\n    description: \"Japanese “vacancy” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u7a7a\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"㊗️\",\r\n    description: \"Japanese “congratulations” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"congratulations\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"㊙️\",\r\n    description: \"Japanese “secret” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"secret\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈺\",\r\n    description: \"Japanese “open for business” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u55b6\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🈵\",\r\n    description: \"Japanese “no vacancy” button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"u6e80\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔴\",\r\n    description: \"red circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"red_circle\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🟠\",\r\n    description: \"orange circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"orange_circle\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟡\",\r\n    description: \"yellow circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"yellow_circle\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟢\",\r\n    description: \"green circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"green_circle\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🔵\",\r\n    description: \"blue circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"large_blue_circle\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🟣\",\r\n    description: \"purple circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"purple_circle\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟤\",\r\n    description: \"brown circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"brown_circle\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"⚫\",\r\n    description: \"black circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"black_circle\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⚪\",\r\n    description: \"white circle\",\r\n    category: \"Symbols\",\r\n    aliases: [\"white_circle\"],\r\n    tags: [],\r\n    unicode_version: \"4.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🟥\",\r\n    description: \"red square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"red_square\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟧\",\r\n    description: \"orange square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"orange_square\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟨\",\r\n    description: \"yellow square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"yellow_square\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟩\",\r\n    description: \"green square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"green_square\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟦\",\r\n    description: \"blue square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"blue_square\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟪\",\r\n    description: \"purple square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"purple_square\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"🟫\",\r\n    description: \"brown square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"brown_square\"],\r\n    tags: [],\r\n    unicode_version: \"12.0\",\r\n    ios_version: \"13.0\",\r\n  },\r\n  {\r\n    emoji: \"⬛\",\r\n    description: \"black large square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"black_large_square\"],\r\n    tags: [],\r\n    unicode_version: \"5.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"⬜\",\r\n    description: \"white large square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"white_large_square\"],\r\n    tags: [],\r\n    unicode_version: \"5.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"◼️\",\r\n    description: \"black medium square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"black_medium_square\"],\r\n    tags: [],\r\n    unicode_version: \"3.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"◻️\",\r\n    description: \"white medium square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"white_medium_square\"],\r\n    tags: [],\r\n    unicode_version: \"3.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"◾\",\r\n    description: \"black medium-small square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"black_medium_small_square\"],\r\n    tags: [],\r\n    unicode_version: \"3.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"◽\",\r\n    description: \"white medium-small square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"white_medium_small_square\"],\r\n    tags: [],\r\n    unicode_version: \"3.2\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"▪️\",\r\n    description: \"black small square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"black_small_square\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"▫️\",\r\n    description: \"white small square\",\r\n    category: \"Symbols\",\r\n    aliases: [\"white_small_square\"],\r\n    tags: [],\r\n    unicode_version: \"\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔶\",\r\n    description: \"large orange diamond\",\r\n    category: \"Symbols\",\r\n    aliases: [\"large_orange_diamond\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔷\",\r\n    description: \"large blue diamond\",\r\n    category: \"Symbols\",\r\n    aliases: [\"large_blue_diamond\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔸\",\r\n    description: \"small orange diamond\",\r\n    category: \"Symbols\",\r\n    aliases: [\"small_orange_diamond\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔹\",\r\n    description: \"small blue diamond\",\r\n    category: \"Symbols\",\r\n    aliases: [\"small_blue_diamond\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔺\",\r\n    description: \"red triangle pointed up\",\r\n    category: \"Symbols\",\r\n    aliases: [\"small_red_triangle\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔻\",\r\n    description: \"red triangle pointed down\",\r\n    category: \"Symbols\",\r\n    aliases: [\"small_red_triangle_down\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"💠\",\r\n    description: \"diamond with a dot\",\r\n    category: \"Symbols\",\r\n    aliases: [\"diamond_shape_with_a_dot_inside\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔘\",\r\n    description: \"radio button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"radio_button\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔳\",\r\n    description: \"white square button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"white_square_button\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🔲\",\r\n    description: \"black square button\",\r\n    category: \"Symbols\",\r\n    aliases: [\"black_square_button\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏁\",\r\n    description: \"chequered flag\",\r\n    category: \"Flags\",\r\n    aliases: [\"checkered_flag\"],\r\n    tags: [\"milestone\", \"finish\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🚩\",\r\n    description: \"triangular flag\",\r\n    category: \"Flags\",\r\n    aliases: [\"triangular_flag_on_post\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🎌\",\r\n    description: \"crossed flags\",\r\n    category: \"Flags\",\r\n    aliases: [\"crossed_flags\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🏴\",\r\n    description: \"black flag\",\r\n    category: \"Flags\",\r\n    aliases: [\"black_flag\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏳️\",\r\n    description: \"white flag\",\r\n    category: \"Flags\",\r\n    aliases: [\"white_flag\"],\r\n    tags: [],\r\n    unicode_version: \"7.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🏳️‍🌈\",\r\n    description: \"rainbow flag\",\r\n    category: \"Flags\",\r\n    aliases: [\"rainbow_flag\"],\r\n    tags: [\"pride\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"10.0\",\r\n  },\r\n  {\r\n    emoji: \"🏳️‍⚧️\",\r\n    description: \"transgender flag\",\r\n    category: \"Flags\",\r\n    aliases: [\"transgender_flag\"],\r\n    tags: [],\r\n    unicode_version: \"13.0\",\r\n    ios_version: \"14.0\",\r\n  },\r\n  {\r\n    emoji: \"🏴‍☠️\",\r\n    description: \"pirate flag\",\r\n    category: \"Flags\",\r\n    aliases: [\"pirate_flag\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇨\",\r\n    description: \"flag: Ascension Island\",\r\n    category: \"Flags\",\r\n    aliases: [\"ascension_island\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇩\",\r\n    description: \"flag: Andorra\",\r\n    category: \"Flags\",\r\n    aliases: [\"andorra\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇪\",\r\n    description: \"flag: United Arab Emirates\",\r\n    category: \"Flags\",\r\n    aliases: [\"united_arab_emirates\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇫\",\r\n    description: \"flag: Afghanistan\",\r\n    category: \"Flags\",\r\n    aliases: [\"afghanistan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇬\",\r\n    description: \"flag: Antigua & Barbuda\",\r\n    category: \"Flags\",\r\n    aliases: [\"antigua_barbuda\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇮\",\r\n    description: \"flag: Anguilla\",\r\n    category: \"Flags\",\r\n    aliases: [\"anguilla\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇱\",\r\n    description: \"flag: Albania\",\r\n    category: \"Flags\",\r\n    aliases: [\"albania\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇲\",\r\n    description: \"flag: Armenia\",\r\n    category: \"Flags\",\r\n    aliases: [\"armenia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇴\",\r\n    description: \"flag: Angola\",\r\n    category: \"Flags\",\r\n    aliases: [\"angola\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇶\",\r\n    description: \"flag: Antarctica\",\r\n    category: \"Flags\",\r\n    aliases: [\"antarctica\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇷\",\r\n    description: \"flag: Argentina\",\r\n    category: \"Flags\",\r\n    aliases: [\"argentina\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇸\",\r\n    description: \"flag: American Samoa\",\r\n    category: \"Flags\",\r\n    aliases: [\"american_samoa\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇹\",\r\n    description: \"flag: Austria\",\r\n    category: \"Flags\",\r\n    aliases: [\"austria\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇺\",\r\n    description: \"flag: Australia\",\r\n    category: \"Flags\",\r\n    aliases: [\"australia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇼\",\r\n    description: \"flag: Aruba\",\r\n    category: \"Flags\",\r\n    aliases: [\"aruba\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇽\",\r\n    description: \"flag: Åland Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"aland_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇦🇿\",\r\n    description: \"flag: Azerbaijan\",\r\n    category: \"Flags\",\r\n    aliases: [\"azerbaijan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇦\",\r\n    description: \"flag: Bosnia & Herzegovina\",\r\n    category: \"Flags\",\r\n    aliases: [\"bosnia_herzegovina\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇧\",\r\n    description: \"flag: Barbados\",\r\n    category: \"Flags\",\r\n    aliases: [\"barbados\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇩\",\r\n    description: \"flag: Bangladesh\",\r\n    category: \"Flags\",\r\n    aliases: [\"bangladesh\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇪\",\r\n    description: \"flag: Belgium\",\r\n    category: \"Flags\",\r\n    aliases: [\"belgium\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇫\",\r\n    description: \"flag: Burkina Faso\",\r\n    category: \"Flags\",\r\n    aliases: [\"burkina_faso\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇬\",\r\n    description: \"flag: Bulgaria\",\r\n    category: \"Flags\",\r\n    aliases: [\"bulgaria\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇭\",\r\n    description: \"flag: Bahrain\",\r\n    category: \"Flags\",\r\n    aliases: [\"bahrain\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇮\",\r\n    description: \"flag: Burundi\",\r\n    category: \"Flags\",\r\n    aliases: [\"burundi\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇯\",\r\n    description: \"flag: Benin\",\r\n    category: \"Flags\",\r\n    aliases: [\"benin\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇱\",\r\n    description: \"flag: St. Barthélemy\",\r\n    category: \"Flags\",\r\n    aliases: [\"st_barthelemy\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇲\",\r\n    description: \"flag: Bermuda\",\r\n    category: \"Flags\",\r\n    aliases: [\"bermuda\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇳\",\r\n    description: \"flag: Brunei\",\r\n    category: \"Flags\",\r\n    aliases: [\"brunei\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇴\",\r\n    description: \"flag: Bolivia\",\r\n    category: \"Flags\",\r\n    aliases: [\"bolivia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇶\",\r\n    description: \"flag: Caribbean Netherlands\",\r\n    category: \"Flags\",\r\n    aliases: [\"caribbean_netherlands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇷\",\r\n    description: \"flag: Brazil\",\r\n    category: \"Flags\",\r\n    aliases: [\"brazil\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇸\",\r\n    description: \"flag: Bahamas\",\r\n    category: \"Flags\",\r\n    aliases: [\"bahamas\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇹\",\r\n    description: \"flag: Bhutan\",\r\n    category: \"Flags\",\r\n    aliases: [\"bhutan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇻\",\r\n    description: \"flag: Bouvet Island\",\r\n    category: \"Flags\",\r\n    aliases: [\"bouvet_island\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇼\",\r\n    description: \"flag: Botswana\",\r\n    category: \"Flags\",\r\n    aliases: [\"botswana\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇾\",\r\n    description: \"flag: Belarus\",\r\n    category: \"Flags\",\r\n    aliases: [\"belarus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇧🇿\",\r\n    description: \"flag: Belize\",\r\n    category: \"Flags\",\r\n    aliases: [\"belize\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇦\",\r\n    description: \"flag: Canada\",\r\n    category: \"Flags\",\r\n    aliases: [\"canada\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇨\",\r\n    description: \"flag: Cocos (Keeling) Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"cocos_islands\"],\r\n    tags: [\"keeling\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇩\",\r\n    description: \"flag: Congo - Kinshasa\",\r\n    category: \"Flags\",\r\n    aliases: [\"congo_kinshasa\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇫\",\r\n    description: \"flag: Central African Republic\",\r\n    category: \"Flags\",\r\n    aliases: [\"central_african_republic\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇬\",\r\n    description: \"flag: Congo - Brazzaville\",\r\n    category: \"Flags\",\r\n    aliases: [\"congo_brazzaville\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇭\",\r\n    description: \"flag: Switzerland\",\r\n    category: \"Flags\",\r\n    aliases: [\"switzerland\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇮\",\r\n    description: \"flag: Côte d’Ivoire\",\r\n    category: \"Flags\",\r\n    aliases: [\"cote_divoire\"],\r\n    tags: [\"ivory\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇰\",\r\n    description: \"flag: Cook Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"cook_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇱\",\r\n    description: \"flag: Chile\",\r\n    category: \"Flags\",\r\n    aliases: [\"chile\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇲\",\r\n    description: \"flag: Cameroon\",\r\n    category: \"Flags\",\r\n    aliases: [\"cameroon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇳\",\r\n    description: \"flag: China\",\r\n    category: \"Flags\",\r\n    aliases: [\"cn\"],\r\n    tags: [\"china\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇴\",\r\n    description: \"flag: Colombia\",\r\n    category: \"Flags\",\r\n    aliases: [\"colombia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇵\",\r\n    description: \"flag: Clipperton Island\",\r\n    category: \"Flags\",\r\n    aliases: [\"clipperton_island\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇷\",\r\n    description: \"flag: Costa Rica\",\r\n    category: \"Flags\",\r\n    aliases: [\"costa_rica\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇺\",\r\n    description: \"flag: Cuba\",\r\n    category: \"Flags\",\r\n    aliases: [\"cuba\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇻\",\r\n    description: \"flag: Cape Verde\",\r\n    category: \"Flags\",\r\n    aliases: [\"cape_verde\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇼\",\r\n    description: \"flag: Curaçao\",\r\n    category: \"Flags\",\r\n    aliases: [\"curacao\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇽\",\r\n    description: \"flag: Christmas Island\",\r\n    category: \"Flags\",\r\n    aliases: [\"christmas_island\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇾\",\r\n    description: \"flag: Cyprus\",\r\n    category: \"Flags\",\r\n    aliases: [\"cyprus\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇨🇿\",\r\n    description: \"flag: Czechia\",\r\n    category: \"Flags\",\r\n    aliases: [\"czech_republic\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇩🇪\",\r\n    description: \"flag: Germany\",\r\n    category: \"Flags\",\r\n    aliases: [\"de\"],\r\n    tags: [\"flag\", \"germany\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇩🇬\",\r\n    description: \"flag: Diego Garcia\",\r\n    category: \"Flags\",\r\n    aliases: [\"diego_garcia\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇩🇯\",\r\n    description: \"flag: Djibouti\",\r\n    category: \"Flags\",\r\n    aliases: [\"djibouti\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇩🇰\",\r\n    description: \"flag: Denmark\",\r\n    category: \"Flags\",\r\n    aliases: [\"denmark\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇩🇲\",\r\n    description: \"flag: Dominica\",\r\n    category: \"Flags\",\r\n    aliases: [\"dominica\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇩🇴\",\r\n    description: \"flag: Dominican Republic\",\r\n    category: \"Flags\",\r\n    aliases: [\"dominican_republic\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇩🇿\",\r\n    description: \"flag: Algeria\",\r\n    category: \"Flags\",\r\n    aliases: [\"algeria\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇦\",\r\n    description: \"flag: Ceuta & Melilla\",\r\n    category: \"Flags\",\r\n    aliases: [\"ceuta_melilla\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇨\",\r\n    description: \"flag: Ecuador\",\r\n    category: \"Flags\",\r\n    aliases: [\"ecuador\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇪\",\r\n    description: \"flag: Estonia\",\r\n    category: \"Flags\",\r\n    aliases: [\"estonia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇬\",\r\n    description: \"flag: Egypt\",\r\n    category: \"Flags\",\r\n    aliases: [\"egypt\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇭\",\r\n    description: \"flag: Western Sahara\",\r\n    category: \"Flags\",\r\n    aliases: [\"western_sahara\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇷\",\r\n    description: \"flag: Eritrea\",\r\n    category: \"Flags\",\r\n    aliases: [\"eritrea\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇸\",\r\n    description: \"flag: Spain\",\r\n    category: \"Flags\",\r\n    aliases: [\"es\"],\r\n    tags: [\"spain\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇹\",\r\n    description: \"flag: Ethiopia\",\r\n    category: \"Flags\",\r\n    aliases: [\"ethiopia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇪🇺\",\r\n    description: \"flag: European Union\",\r\n    category: \"Flags\",\r\n    aliases: [\"eu\", \"european_union\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇫🇮\",\r\n    description: \"flag: Finland\",\r\n    category: \"Flags\",\r\n    aliases: [\"finland\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇫🇯\",\r\n    description: \"flag: Fiji\",\r\n    category: \"Flags\",\r\n    aliases: [\"fiji\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇫🇰\",\r\n    description: \"flag: Falkland Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"falkland_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇫🇲\",\r\n    description: \"flag: Micronesia\",\r\n    category: \"Flags\",\r\n    aliases: [\"micronesia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇫🇴\",\r\n    description: \"flag: Faroe Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"faroe_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇫🇷\",\r\n    description: \"flag: France\",\r\n    category: \"Flags\",\r\n    aliases: [\"fr\"],\r\n    tags: [\"france\", \"french\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇦\",\r\n    description: \"flag: Gabon\",\r\n    category: \"Flags\",\r\n    aliases: [\"gabon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇧\",\r\n    description: \"flag: United Kingdom\",\r\n    category: \"Flags\",\r\n    aliases: [\"gb\", \"uk\"],\r\n    tags: [\"flag\", \"british\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇩\",\r\n    description: \"flag: Grenada\",\r\n    category: \"Flags\",\r\n    aliases: [\"grenada\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇪\",\r\n    description: \"flag: Georgia\",\r\n    category: \"Flags\",\r\n    aliases: [\"georgia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇫\",\r\n    description: \"flag: French Guiana\",\r\n    category: \"Flags\",\r\n    aliases: [\"french_guiana\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇬\",\r\n    description: \"flag: Guernsey\",\r\n    category: \"Flags\",\r\n    aliases: [\"guernsey\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇭\",\r\n    description: \"flag: Ghana\",\r\n    category: \"Flags\",\r\n    aliases: [\"ghana\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇮\",\r\n    description: \"flag: Gibraltar\",\r\n    category: \"Flags\",\r\n    aliases: [\"gibraltar\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇱\",\r\n    description: \"flag: Greenland\",\r\n    category: \"Flags\",\r\n    aliases: [\"greenland\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇲\",\r\n    description: \"flag: Gambia\",\r\n    category: \"Flags\",\r\n    aliases: [\"gambia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇳\",\r\n    description: \"flag: Guinea\",\r\n    category: \"Flags\",\r\n    aliases: [\"guinea\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇵\",\r\n    description: \"flag: Guadeloupe\",\r\n    category: \"Flags\",\r\n    aliases: [\"guadeloupe\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇶\",\r\n    description: \"flag: Equatorial Guinea\",\r\n    category: \"Flags\",\r\n    aliases: [\"equatorial_guinea\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇷\",\r\n    description: \"flag: Greece\",\r\n    category: \"Flags\",\r\n    aliases: [\"greece\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇸\",\r\n    description: \"flag: South Georgia & South Sandwich Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"south_georgia_south_sandwich_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇹\",\r\n    description: \"flag: Guatemala\",\r\n    category: \"Flags\",\r\n    aliases: [\"guatemala\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇺\",\r\n    description: \"flag: Guam\",\r\n    category: \"Flags\",\r\n    aliases: [\"guam\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇼\",\r\n    description: \"flag: Guinea-Bissau\",\r\n    category: \"Flags\",\r\n    aliases: [\"guinea_bissau\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇬🇾\",\r\n    description: \"flag: Guyana\",\r\n    category: \"Flags\",\r\n    aliases: [\"guyana\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇭🇰\",\r\n    description: \"flag: Hong Kong SAR China\",\r\n    category: \"Flags\",\r\n    aliases: [\"hong_kong\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇭🇲\",\r\n    description: \"flag: Heard & McDonald Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"heard_mcdonald_islands\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇭🇳\",\r\n    description: \"flag: Honduras\",\r\n    category: \"Flags\",\r\n    aliases: [\"honduras\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇭🇷\",\r\n    description: \"flag: Croatia\",\r\n    category: \"Flags\",\r\n    aliases: [\"croatia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇭🇹\",\r\n    description: \"flag: Haiti\",\r\n    category: \"Flags\",\r\n    aliases: [\"haiti\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇭🇺\",\r\n    description: \"flag: Hungary\",\r\n    category: \"Flags\",\r\n    aliases: [\"hungary\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇨\",\r\n    description: \"flag: Canary Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"canary_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇩\",\r\n    description: \"flag: Indonesia\",\r\n    category: \"Flags\",\r\n    aliases: [\"indonesia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇪\",\r\n    description: \"flag: Ireland\",\r\n    category: \"Flags\",\r\n    aliases: [\"ireland\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇱\",\r\n    description: \"flag: Israel\",\r\n    category: \"Flags\",\r\n    aliases: [\"israel\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇲\",\r\n    description: \"flag: Isle of Man\",\r\n    category: \"Flags\",\r\n    aliases: [\"isle_of_man\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇳\",\r\n    description: \"flag: India\",\r\n    category: \"Flags\",\r\n    aliases: [\"india\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇴\",\r\n    description: \"flag: British Indian Ocean Territory\",\r\n    category: \"Flags\",\r\n    aliases: [\"british_indian_ocean_territory\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇶\",\r\n    description: \"flag: Iraq\",\r\n    category: \"Flags\",\r\n    aliases: [\"iraq\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇷\",\r\n    description: \"flag: Iran\",\r\n    category: \"Flags\",\r\n    aliases: [\"iran\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇸\",\r\n    description: \"flag: Iceland\",\r\n    category: \"Flags\",\r\n    aliases: [\"iceland\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇮🇹\",\r\n    description: \"flag: Italy\",\r\n    category: \"Flags\",\r\n    aliases: [\"it\"],\r\n    tags: [\"italy\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇯🇪\",\r\n    description: \"flag: Jersey\",\r\n    category: \"Flags\",\r\n    aliases: [\"jersey\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇯🇲\",\r\n    description: \"flag: Jamaica\",\r\n    category: \"Flags\",\r\n    aliases: [\"jamaica\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇯🇴\",\r\n    description: \"flag: Jordan\",\r\n    category: \"Flags\",\r\n    aliases: [\"jordan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇯🇵\",\r\n    description: \"flag: Japan\",\r\n    category: \"Flags\",\r\n    aliases: [\"jp\"],\r\n    tags: [\"japan\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇪\",\r\n    description: \"flag: Kenya\",\r\n    category: \"Flags\",\r\n    aliases: [\"kenya\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇬\",\r\n    description: \"flag: Kyrgyzstan\",\r\n    category: \"Flags\",\r\n    aliases: [\"kyrgyzstan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇭\",\r\n    description: \"flag: Cambodia\",\r\n    category: \"Flags\",\r\n    aliases: [\"cambodia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇮\",\r\n    description: \"flag: Kiribati\",\r\n    category: \"Flags\",\r\n    aliases: [\"kiribati\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇲\",\r\n    description: \"flag: Comoros\",\r\n    category: \"Flags\",\r\n    aliases: [\"comoros\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇳\",\r\n    description: \"flag: St. Kitts & Nevis\",\r\n    category: \"Flags\",\r\n    aliases: [\"st_kitts_nevis\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇵\",\r\n    description: \"flag: North Korea\",\r\n    category: \"Flags\",\r\n    aliases: [\"north_korea\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇷\",\r\n    description: \"flag: South Korea\",\r\n    category: \"Flags\",\r\n    aliases: [\"kr\"],\r\n    tags: [\"korea\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇼\",\r\n    description: \"flag: Kuwait\",\r\n    category: \"Flags\",\r\n    aliases: [\"kuwait\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇾\",\r\n    description: \"flag: Cayman Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"cayman_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇰🇿\",\r\n    description: \"flag: Kazakhstan\",\r\n    category: \"Flags\",\r\n    aliases: [\"kazakhstan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇦\",\r\n    description: \"flag: Laos\",\r\n    category: \"Flags\",\r\n    aliases: [\"laos\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇧\",\r\n    description: \"flag: Lebanon\",\r\n    category: \"Flags\",\r\n    aliases: [\"lebanon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇨\",\r\n    description: \"flag: St. Lucia\",\r\n    category: \"Flags\",\r\n    aliases: [\"st_lucia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇮\",\r\n    description: \"flag: Liechtenstein\",\r\n    category: \"Flags\",\r\n    aliases: [\"liechtenstein\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇰\",\r\n    description: \"flag: Sri Lanka\",\r\n    category: \"Flags\",\r\n    aliases: [\"sri_lanka\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇷\",\r\n    description: \"flag: Liberia\",\r\n    category: \"Flags\",\r\n    aliases: [\"liberia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇸\",\r\n    description: \"flag: Lesotho\",\r\n    category: \"Flags\",\r\n    aliases: [\"lesotho\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇹\",\r\n    description: \"flag: Lithuania\",\r\n    category: \"Flags\",\r\n    aliases: [\"lithuania\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇺\",\r\n    description: \"flag: Luxembourg\",\r\n    category: \"Flags\",\r\n    aliases: [\"luxembourg\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇻\",\r\n    description: \"flag: Latvia\",\r\n    category: \"Flags\",\r\n    aliases: [\"latvia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇱🇾\",\r\n    description: \"flag: Libya\",\r\n    category: \"Flags\",\r\n    aliases: [\"libya\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇦\",\r\n    description: \"flag: Morocco\",\r\n    category: \"Flags\",\r\n    aliases: [\"morocco\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇨\",\r\n    description: \"flag: Monaco\",\r\n    category: \"Flags\",\r\n    aliases: [\"monaco\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇩\",\r\n    description: \"flag: Moldova\",\r\n    category: \"Flags\",\r\n    aliases: [\"moldova\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇪\",\r\n    description: \"flag: Montenegro\",\r\n    category: \"Flags\",\r\n    aliases: [\"montenegro\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇫\",\r\n    description: \"flag: St. Martin\",\r\n    category: \"Flags\",\r\n    aliases: [\"st_martin\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇬\",\r\n    description: \"flag: Madagascar\",\r\n    category: \"Flags\",\r\n    aliases: [\"madagascar\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇭\",\r\n    description: \"flag: Marshall Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"marshall_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇰\",\r\n    description: \"flag: North Macedonia\",\r\n    category: \"Flags\",\r\n    aliases: [\"macedonia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇱\",\r\n    description: \"flag: Mali\",\r\n    category: \"Flags\",\r\n    aliases: [\"mali\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇲\",\r\n    description: \"flag: Myanmar (Burma)\",\r\n    category: \"Flags\",\r\n    aliases: [\"myanmar\"],\r\n    tags: [\"burma\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇳\",\r\n    description: \"flag: Mongolia\",\r\n    category: \"Flags\",\r\n    aliases: [\"mongolia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇴\",\r\n    description: \"flag: Macao SAR China\",\r\n    category: \"Flags\",\r\n    aliases: [\"macau\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇵\",\r\n    description: \"flag: Northern Mariana Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"northern_mariana_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇶\",\r\n    description: \"flag: Martinique\",\r\n    category: \"Flags\",\r\n    aliases: [\"martinique\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇷\",\r\n    description: \"flag: Mauritania\",\r\n    category: \"Flags\",\r\n    aliases: [\"mauritania\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇸\",\r\n    description: \"flag: Montserrat\",\r\n    category: \"Flags\",\r\n    aliases: [\"montserrat\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇹\",\r\n    description: \"flag: Malta\",\r\n    category: \"Flags\",\r\n    aliases: [\"malta\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇺\",\r\n    description: \"flag: Mauritius\",\r\n    category: \"Flags\",\r\n    aliases: [\"mauritius\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇻\",\r\n    description: \"flag: Maldives\",\r\n    category: \"Flags\",\r\n    aliases: [\"maldives\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇼\",\r\n    description: \"flag: Malawi\",\r\n    category: \"Flags\",\r\n    aliases: [\"malawi\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇽\",\r\n    description: \"flag: Mexico\",\r\n    category: \"Flags\",\r\n    aliases: [\"mexico\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇾\",\r\n    description: \"flag: Malaysia\",\r\n    category: \"Flags\",\r\n    aliases: [\"malaysia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇲🇿\",\r\n    description: \"flag: Mozambique\",\r\n    category: \"Flags\",\r\n    aliases: [\"mozambique\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇦\",\r\n    description: \"flag: Namibia\",\r\n    category: \"Flags\",\r\n    aliases: [\"namibia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇨\",\r\n    description: \"flag: New Caledonia\",\r\n    category: \"Flags\",\r\n    aliases: [\"new_caledonia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇪\",\r\n    description: \"flag: Niger\",\r\n    category: \"Flags\",\r\n    aliases: [\"niger\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇫\",\r\n    description: \"flag: Norfolk Island\",\r\n    category: \"Flags\",\r\n    aliases: [\"norfolk_island\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇬\",\r\n    description: \"flag: Nigeria\",\r\n    category: \"Flags\",\r\n    aliases: [\"nigeria\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇮\",\r\n    description: \"flag: Nicaragua\",\r\n    category: \"Flags\",\r\n    aliases: [\"nicaragua\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇱\",\r\n    description: \"flag: Netherlands\",\r\n    category: \"Flags\",\r\n    aliases: [\"netherlands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇴\",\r\n    description: \"flag: Norway\",\r\n    category: \"Flags\",\r\n    aliases: [\"norway\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇵\",\r\n    description: \"flag: Nepal\",\r\n    category: \"Flags\",\r\n    aliases: [\"nepal\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇷\",\r\n    description: \"flag: Nauru\",\r\n    category: \"Flags\",\r\n    aliases: [\"nauru\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇺\",\r\n    description: \"flag: Niue\",\r\n    category: \"Flags\",\r\n    aliases: [\"niue\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇳🇿\",\r\n    description: \"flag: New Zealand\",\r\n    category: \"Flags\",\r\n    aliases: [\"new_zealand\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇴🇲\",\r\n    description: \"flag: Oman\",\r\n    category: \"Flags\",\r\n    aliases: [\"oman\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇦\",\r\n    description: \"flag: Panama\",\r\n    category: \"Flags\",\r\n    aliases: [\"panama\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇪\",\r\n    description: \"flag: Peru\",\r\n    category: \"Flags\",\r\n    aliases: [\"peru\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇫\",\r\n    description: \"flag: French Polynesia\",\r\n    category: \"Flags\",\r\n    aliases: [\"french_polynesia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇬\",\r\n    description: \"flag: Papua New Guinea\",\r\n    category: \"Flags\",\r\n    aliases: [\"papua_new_guinea\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇭\",\r\n    description: \"flag: Philippines\",\r\n    category: \"Flags\",\r\n    aliases: [\"philippines\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇰\",\r\n    description: \"flag: Pakistan\",\r\n    category: \"Flags\",\r\n    aliases: [\"pakistan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇱\",\r\n    description: \"flag: Poland\",\r\n    category: \"Flags\",\r\n    aliases: [\"poland\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇲\",\r\n    description: \"flag: St. Pierre & Miquelon\",\r\n    category: \"Flags\",\r\n    aliases: [\"st_pierre_miquelon\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇳\",\r\n    description: \"flag: Pitcairn Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"pitcairn_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇷\",\r\n    description: \"flag: Puerto Rico\",\r\n    category: \"Flags\",\r\n    aliases: [\"puerto_rico\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇸\",\r\n    description: \"flag: Palestinian Territories\",\r\n    category: \"Flags\",\r\n    aliases: [\"palestinian_territories\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇹\",\r\n    description: \"flag: Portugal\",\r\n    category: \"Flags\",\r\n    aliases: [\"portugal\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇼\",\r\n    description: \"flag: Palau\",\r\n    category: \"Flags\",\r\n    aliases: [\"palau\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇵🇾\",\r\n    description: \"flag: Paraguay\",\r\n    category: \"Flags\",\r\n    aliases: [\"paraguay\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇶🇦\",\r\n    description: \"flag: Qatar\",\r\n    category: \"Flags\",\r\n    aliases: [\"qatar\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇷🇪\",\r\n    description: \"flag: Réunion\",\r\n    category: \"Flags\",\r\n    aliases: [\"reunion\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇷🇴\",\r\n    description: \"flag: Romania\",\r\n    category: \"Flags\",\r\n    aliases: [\"romania\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇷🇸\",\r\n    description: \"flag: Serbia\",\r\n    category: \"Flags\",\r\n    aliases: [\"serbia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇷🇺\",\r\n    description: \"flag: Russia\",\r\n    category: \"Flags\",\r\n    aliases: [\"ru\"],\r\n    tags: [\"russia\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇷🇼\",\r\n    description: \"flag: Rwanda\",\r\n    category: \"Flags\",\r\n    aliases: [\"rwanda\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇦\",\r\n    description: \"flag: Saudi Arabia\",\r\n    category: \"Flags\",\r\n    aliases: [\"saudi_arabia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇧\",\r\n    description: \"flag: Solomon Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"solomon_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇨\",\r\n    description: \"flag: Seychelles\",\r\n    category: \"Flags\",\r\n    aliases: [\"seychelles\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇩\",\r\n    description: \"flag: Sudan\",\r\n    category: \"Flags\",\r\n    aliases: [\"sudan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇪\",\r\n    description: \"flag: Sweden\",\r\n    category: \"Flags\",\r\n    aliases: [\"sweden\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇬\",\r\n    description: \"flag: Singapore\",\r\n    category: \"Flags\",\r\n    aliases: [\"singapore\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇭\",\r\n    description: \"flag: St. Helena\",\r\n    category: \"Flags\",\r\n    aliases: [\"st_helena\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇮\",\r\n    description: \"flag: Slovenia\",\r\n    category: \"Flags\",\r\n    aliases: [\"slovenia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇯\",\r\n    description: \"flag: Svalbard & Jan Mayen\",\r\n    category: \"Flags\",\r\n    aliases: [\"svalbard_jan_mayen\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇰\",\r\n    description: \"flag: Slovakia\",\r\n    category: \"Flags\",\r\n    aliases: [\"slovakia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇱\",\r\n    description: \"flag: Sierra Leone\",\r\n    category: \"Flags\",\r\n    aliases: [\"sierra_leone\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇲\",\r\n    description: \"flag: San Marino\",\r\n    category: \"Flags\",\r\n    aliases: [\"san_marino\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇳\",\r\n    description: \"flag: Senegal\",\r\n    category: \"Flags\",\r\n    aliases: [\"senegal\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇴\",\r\n    description: \"flag: Somalia\",\r\n    category: \"Flags\",\r\n    aliases: [\"somalia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇷\",\r\n    description: \"flag: Suriname\",\r\n    category: \"Flags\",\r\n    aliases: [\"suriname\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇸\",\r\n    description: \"flag: South Sudan\",\r\n    category: \"Flags\",\r\n    aliases: [\"south_sudan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇹\",\r\n    description: \"flag: São Tomé & Príncipe\",\r\n    category: \"Flags\",\r\n    aliases: [\"sao_tome_principe\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇻\",\r\n    description: \"flag: El Salvador\",\r\n    category: \"Flags\",\r\n    aliases: [\"el_salvador\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇽\",\r\n    description: \"flag: Sint Maarten\",\r\n    category: \"Flags\",\r\n    aliases: [\"sint_maarten\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇾\",\r\n    description: \"flag: Syria\",\r\n    category: \"Flags\",\r\n    aliases: [\"syria\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇸🇿\",\r\n    description: \"flag: Eswatini\",\r\n    category: \"Flags\",\r\n    aliases: [\"swaziland\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇦\",\r\n    description: \"flag: Tristan da Cunha\",\r\n    category: \"Flags\",\r\n    aliases: [\"tristan_da_cunha\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇨\",\r\n    description: \"flag: Turks & Caicos Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"turks_caicos_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇩\",\r\n    description: \"flag: Chad\",\r\n    category: \"Flags\",\r\n    aliases: [\"chad\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇫\",\r\n    description: \"flag: French Southern Territories\",\r\n    category: \"Flags\",\r\n    aliases: [\"french_southern_territories\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇬\",\r\n    description: \"flag: Togo\",\r\n    category: \"Flags\",\r\n    aliases: [\"togo\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇭\",\r\n    description: \"flag: Thailand\",\r\n    category: \"Flags\",\r\n    aliases: [\"thailand\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇯\",\r\n    description: \"flag: Tajikistan\",\r\n    category: \"Flags\",\r\n    aliases: [\"tajikistan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇰\",\r\n    description: \"flag: Tokelau\",\r\n    category: \"Flags\",\r\n    aliases: [\"tokelau\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇱\",\r\n    description: \"flag: Timor-Leste\",\r\n    category: \"Flags\",\r\n    aliases: [\"timor_leste\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇲\",\r\n    description: \"flag: Turkmenistan\",\r\n    category: \"Flags\",\r\n    aliases: [\"turkmenistan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇳\",\r\n    description: \"flag: Tunisia\",\r\n    category: \"Flags\",\r\n    aliases: [\"tunisia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇴\",\r\n    description: \"flag: Tonga\",\r\n    category: \"Flags\",\r\n    aliases: [\"tonga\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇷\",\r\n    description: \"flag: Turkey\",\r\n    category: \"Flags\",\r\n    aliases: [\"tr\"],\r\n    tags: [\"turkey\"],\r\n    unicode_version: \"8.0\",\r\n    ios_version: \"9.1\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇹\",\r\n    description: \"flag: Trinidad & Tobago\",\r\n    category: \"Flags\",\r\n    aliases: [\"trinidad_tobago\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇻\",\r\n    description: \"flag: Tuvalu\",\r\n    category: \"Flags\",\r\n    aliases: [\"tuvalu\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇼\",\r\n    description: \"flag: Taiwan\",\r\n    category: \"Flags\",\r\n    aliases: [\"taiwan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇹🇿\",\r\n    description: \"flag: Tanzania\",\r\n    category: \"Flags\",\r\n    aliases: [\"tanzania\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇺🇦\",\r\n    description: \"flag: Ukraine\",\r\n    category: \"Flags\",\r\n    aliases: [\"ukraine\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇺🇬\",\r\n    description: \"flag: Uganda\",\r\n    category: \"Flags\",\r\n    aliases: [\"uganda\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇺🇲\",\r\n    description: \"flag: U.S. Outlying Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"us_outlying_islands\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇺🇳\",\r\n    description: \"flag: United Nations\",\r\n    category: \"Flags\",\r\n    aliases: [\"united_nations\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🇺🇸\",\r\n    description: \"flag: United States\",\r\n    category: \"Flags\",\r\n    aliases: [\"us\"],\r\n    tags: [\"flag\", \"united\", \"america\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"🇺🇾\",\r\n    description: \"flag: Uruguay\",\r\n    category: \"Flags\",\r\n    aliases: [\"uruguay\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇺🇿\",\r\n    description: \"flag: Uzbekistan\",\r\n    category: \"Flags\",\r\n    aliases: [\"uzbekistan\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇻🇦\",\r\n    description: \"flag: Vatican City\",\r\n    category: \"Flags\",\r\n    aliases: [\"vatican_city\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇻🇨\",\r\n    description: \"flag: St. Vincent & Grenadines\",\r\n    category: \"Flags\",\r\n    aliases: [\"st_vincent_grenadines\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇻🇪\",\r\n    description: \"flag: Venezuela\",\r\n    category: \"Flags\",\r\n    aliases: [\"venezuela\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇻🇬\",\r\n    description: \"flag: British Virgin Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"british_virgin_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇻🇮\",\r\n    description: \"flag: U.S. Virgin Islands\",\r\n    category: \"Flags\",\r\n    aliases: [\"us_virgin_islands\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇻🇳\",\r\n    description: \"flag: Vietnam\",\r\n    category: \"Flags\",\r\n    aliases: [\"vietnam\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇻🇺\",\r\n    description: \"flag: Vanuatu\",\r\n    category: \"Flags\",\r\n    aliases: [\"vanuatu\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇼🇫\",\r\n    description: \"flag: Wallis & Futuna\",\r\n    category: \"Flags\",\r\n    aliases: [\"wallis_futuna\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇼🇸\",\r\n    description: \"flag: Samoa\",\r\n    category: \"Flags\",\r\n    aliases: [\"samoa\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇽🇰\",\r\n    description: \"flag: Kosovo\",\r\n    category: \"Flags\",\r\n    aliases: [\"kosovo\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇾🇪\",\r\n    description: \"flag: Yemen\",\r\n    category: \"Flags\",\r\n    aliases: [\"yemen\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇾🇹\",\r\n    description: \"flag: Mayotte\",\r\n    category: \"Flags\",\r\n    aliases: [\"mayotte\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"9.0\",\r\n  },\r\n  {\r\n    emoji: \"🇿🇦\",\r\n    description: \"flag: South Africa\",\r\n    category: \"Flags\",\r\n    aliases: [\"south_africa\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇿🇲\",\r\n    description: \"flag: Zambia\",\r\n    category: \"Flags\",\r\n    aliases: [\"zambia\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🇿🇼\",\r\n    description: \"flag: Zimbabwe\",\r\n    category: \"Flags\",\r\n    aliases: [\"zimbabwe\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"8.3\",\r\n  },\r\n  {\r\n    emoji: \"🏴󠁧󠁢󠁥󠁮󠁧󠁿\",\r\n    description: \"flag: England\",\r\n    category: \"Flags\",\r\n    aliases: [\"england\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🏴󠁧󠁢󠁳󠁣󠁴󠁿\",\r\n    description: \"flag: Scotland\",\r\n    category: \"Flags\",\r\n    aliases: [\"scotland\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n  {\r\n    emoji: \"🏴󠁧󠁢󠁷󠁬󠁳󠁿\",\r\n    description: \"flag: Wales\",\r\n    category: \"Flags\",\r\n    aliases: [\"wales\"],\r\n    tags: [],\r\n    unicode_version: \"11.0\",\r\n    ios_version: \"12.1\",\r\n  },\r\n];\r\n","import React from \"react\";\r\nimport { View, Text, Dimensions, TouchableOpacity } from \"react-native\";\r\nimport { forwardRef, useRef, useState, useImperativeHandle } from \"react\";\r\nimport { generateId } from \"../../../utils\";\r\nimport {\r\n  CameraIcon,\r\n  DocumentIcon,\r\n  ImageIcon,\r\n  LocationIcon,\r\n} from \"../../../assets/icons\";\r\nimport * as ImagePicker from \"expo-image-picker\";\r\nimport { Media, MediaType, Message } from \"softchatjs-core\";\r\nimport { useModalProvider } from \"../../../contexts/ModalProvider\";\r\nimport ImagePreview from \"../../Modals/ImagePreview\";\r\n// import AppCamera from \"../../Modals/Camera\";\r\nimport { useConfig } from \"../../../contexts/ChatProvider\";\r\nimport VideoViewer from \"../../Modals/VideoViewer\";\r\nimport ActionSheet, { ActionSheetRef } from \"react-native-actions-sheet\";\r\n\r\ntype MediaOptionsProps = {\r\n  recipientId: string;\r\n  chatUserId: string;\r\n  activeQuote: Message | null;\r\n  clearActiveQuote: () => void;\r\n  conversationId: string | undefined;\r\n};\r\n\r\nlet defaultSheetHeight = \"45%\";\r\n\r\nexport const MediaOptions = forwardRef((props: MediaOptionsProps, ref: any) => {\r\n  // const sheetRef = useRef<BottomSheetRef>();\r\n  const sheetRef = useRef<ActionSheetRef>(null);\r\n  const { theme, fontFamily, fontScale } = useConfig();\r\n  const { displayModal } = useModalProvider();\r\n  const {\r\n    recipientId,\r\n    chatUserId,\r\n    activeQuote,\r\n    clearActiveQuote,\r\n    conversationId,\r\n  } = props;\r\n\r\n  const closeSheet = () => {\r\n    // ref.current.close();\r\n    sheetRef.current.hide();\r\n  };\r\n\r\n  useImperativeHandle(ref, () => ({\r\n    open: () => sheetRef?.current?.show(),\r\n    close: () => closeSheet(),\r\n    pickAttachment: () => pickImage(),\r\n  }));\r\n\r\n  // const openCamera = () => {\r\n  //   sheetRef?.current?.close();\r\n  //   displayModal({\r\n  //     justifyContent: \"flex-start\",\r\n  //     children: (\r\n  //       <AppCamera\r\n  //         conversationId={conversationId}\r\n  //         chatUserId={chatUserId}\r\n  //         recipientId={recipientId}\r\n  //       />\r\n  //     ),\r\n  //   });\r\n  // };\r\n\r\n  const options = [\r\n    {\r\n      id: 0,\r\n      label: \"photos\",\r\n      icon: <ImageIcon size={20} />,\r\n      onPress: () => pickImage(),\r\n    },\r\n    // {\r\n    //   id: 1,\r\n    //   label: \"camera\",\r\n    //   icon: <CameraIcon size={20} />,\r\n    //   onPress: () => openCamera(),\r\n    // },\r\n    {\r\n      id: 2,\r\n      label: \"location\",\r\n      icon: <LocationIcon size={20} />,\r\n    },\r\n    // {\r\n    //   id: 3,\r\n    //   label: \"document\",\r\n    //   icon: <DocumentIcon size={20} color=\"lightblue\" />,\r\n    // },\r\n  ];\r\n\r\n  const flatListRef = useRef(null);\r\n  const width = Dimensions.get(\"window\").width;\r\n  const emojiSize = 80;\r\n  const [image, setImage] = useState<\r\n    (Media & { base64: string | null | undefined }) | null\r\n  >(null);\r\n\r\n  const pickImageWithFallback = async () => {};\r\n\r\n  const pickImage = async () => {\r\n    // sheetRef?.current?.hide();\r\n    try {\r\n      let result = await ImagePicker.launchImageLibraryAsync({\r\n        mediaTypes: [\"images\", \"videos\"] as any,\r\n        aspect: [4, 3],\r\n        quality: 0.3,\r\n        base64: true,\r\n      });\r\n      if (!result.canceled) {\r\n        var base64 = result.assets[0].base64;\r\n        var type = result.assets[0].type;\r\n        var height = result.assets[0].height;\r\n        var width = result.assets[0].width;\r\n        var fileSize = result.assets[0].fileSize;\r\n        var fileSizeInMB = fileSize ? fileSize / (1024 * 1024) : 0; // Convert bytes to MB\r\n        if (type === \"image\") {\r\n          setTimeout(() => {\r\n            displayModal({\r\n              justifyContent: \"flex-start\",\r\n              children: (\r\n                <ImagePreview\r\n                  conversationId={conversationId}\r\n                  clearActiveQuote={clearActiveQuote}\r\n                  activeQuote={activeQuote}\r\n                  chatUserId={chatUserId}\r\n                  recipientId={recipientId}\r\n                  image={{\r\n                    type: MediaType.IMAGE,\r\n                    mimeType: result.assets[0].mimeType,\r\n                    ext: \".png\",\r\n                    mediaId: generateId(),\r\n                    base64: result.assets[0].uri as string,\r\n                    mediaUrl: result.assets[0].uri,\r\n                    meta: {\r\n                      aspectRatio: width / height || 0,\r\n                      height,\r\n                      width,\r\n                      size: fileSize,\r\n                    },\r\n                  }}\r\n                />\r\n              ),\r\n            });\r\n          },500)\r\n          \r\n        } else if (type === \"video\") {\r\n          setTimeout(() => {\r\n            displayModal({\r\n              justifyContent: \"flex-start\",\r\n              children: (\r\n                <VideoViewer\r\n                  conversationId={conversationId}\r\n                  clearActiveQuote={clearActiveQuote}\r\n                  activeQuote={activeQuote}\r\n                  chatUserId={chatUserId}\r\n                  recipientId={recipientId}\r\n                  media={{\r\n                    type: MediaType.VIDEO,\r\n                    mimeType: result.assets[0].mimeType,\r\n                    ext: \".mp4\",\r\n                    mediaId: generateId(),\r\n                    // base64: result.assets[0].uri as string,\r\n                    mediaUrl: result.assets[0].uri,\r\n                    meta: {\r\n                      aspectRatio: width / height || 0,\r\n                      height,\r\n                      width,\r\n                      size: fileSize,\r\n                    },\r\n                  }}\r\n                />\r\n              ),\r\n            });\r\n          },500)\r\n         \r\n        }\r\n      }\r\n    } catch (error) {\r\n      console.log(error);\r\n    }\r\n  };\r\n\r\n  const close = () => {\r\n    // setHeight(\"45%\");\r\n    // console.log(\"closing\");\r\n  };\r\n\r\n  return (\r\n    <ActionSheet\r\n      ref={sheetRef}\r\n      gestureEnabled\r\n      openAnimationConfig={{ speed: 700 }}\r\n      containerStyle={{ \r\n        height: \"40%\", \r\n        padding: 20,\r\n        borderTopLeftRadius: 30,\r\n        borderTopRightRadius: 30,\r\n      }}\r\n    >\r\n      <View\r\n        style={{\r\n          width: \"100%\",\r\n          height: \"100%\",\r\n          backgroundColor: theme?.background.secondary,\r\n          borderRadius: 20,\r\n          padding: 10,\r\n          marginTop: 10,\r\n        }}\r\n      >\r\n        {options.map((option, i) => (\r\n          <TouchableOpacity\r\n            onPress={option.onPress}\r\n            key={i}\r\n            style={[\r\n              {\r\n                padding: 10,\r\n                borderRadius: 100,\r\n                flexDirection: \"row\",\r\n                alignItems: \"center\",\r\n                paddingVertical: 20,\r\n              },\r\n              i + 1 !== options.length && {\r\n                borderBottomWidth: 1,\r\n                borderBottomColor: theme?.divider,\r\n              },\r\n            ]}\r\n          >\r\n            {option.icon}\r\n            <Text\r\n              style={{\r\n                marginStart: 15,\r\n                textTransform: \"capitalize\",\r\n                fontFamily,\r\n                fontSize: 17 * fontScale,\r\n                color:\r\n                  option.label === \"Delete\" ? \"red\" : theme?.text.secondary,\r\n              }}\r\n            >\r\n              {option.label}\r\n            </Text>\r\n          </TouchableOpacity>\r\n        ))}\r\n      </View>\r\n    </ActionSheet>\r\n  );\r\n});\r\n\r\nexport default MediaOptions;\r\n","import React from \"react\";\r\nimport {\r\n  View,\r\n  Text,\r\n  Dimensions,\r\n  TouchableOpacity,\r\n  Platform,\r\n  Alert,\r\n  KeyboardAvoidingView,\r\n  ToastAndroid,\r\n} from \"react-native\";\r\nimport {\r\n  useCallback,\r\n  useMemo,\r\n  useRef,\r\n  useState,\r\n  useImperativeHandle,\r\n  forwardRef,\r\n} from \"react\";\r\nimport TrashIcon, {\r\n  CopyIcon,\r\n  EditIcon,\r\n  EmojiIcon,\r\n  ReplyIcon,\r\n} from \"../../../assets/icons\";\r\nimport { ChatTheme } from \"../../../types\";\r\nimport { Message, Emoji } from \"softchatjs-core\";\r\nimport Search from \"../../Search\";\r\n// import { FlashList } from \"@shopify/flash-list\";\r\nimport { useConfig } from \"../../../contexts/ChatProvider\";\r\nimport ActionSheet, { ActionSheetRef } from \"react-native-actions-sheet\";\r\nimport { FlashList } from \"react-native-actions-sheet/dist/src/views/FlashList\";\r\nimport * as Clipboard from 'expo-clipboard';\r\n\r\ntype MessageOptionsProps = {\r\n  recipientId: string;\r\n  message: Message | null;\r\n  isMessageOwner: boolean;\r\n  onReply: () => void;\r\n  onStartEditing: () => void;\r\n  theme: ChatTheme | undefined;\r\n  openEmojiList: () => void;\r\n};\r\n\r\nvar defaultSheetHeight = \"55%\";\r\nvar windowHeight = Dimensions.get(\"window\").height;\r\nvar emojis = [\r\n  {\r\n    emoji: \"😀\",\r\n    description: \"grinning face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"grinning\"],\r\n    tags: [\"smile\", \"happy\"],\r\n    unicode_version: \"6.1\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😃\",\r\n    description: \"grinning face with big eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smiley\"],\r\n    tags: [\"happy\", \"joy\", \"haha\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😄\",\r\n    description: \"grinning face with smiling eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"smile\"],\r\n    tags: [\"happy\", \"joy\", \"laugh\", \"pleased\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😁\",\r\n    description: \"beaming face with smiling eyes\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"grin\"],\r\n    tags: [],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n  {\r\n    emoji: \"😆\",\r\n    description: \"grinning squinting face\",\r\n    category: \"Smileys & Emotion\",\r\n    aliases: [\"laughing\", \"satisfied\"],\r\n    tags: [\"happy\", \"haha\"],\r\n    unicode_version: \"6.0\",\r\n    ios_version: \"6.0\",\r\n  },\r\n]\r\n\r\nexport const MessageOptions = forwardRef(\r\n  (props: MessageOptionsProps, ref: any) => {\r\n    const optionsRef = useRef<ActionSheetRef>(null);\r\n    const { client, fontFamily, fontScale } = useConfig();\r\n    const {\r\n      recipientId,\r\n      message,\r\n      isMessageOwner,\r\n      onReply,\r\n      onStartEditing,\r\n      theme,\r\n      openEmojiList,\r\n    } = props;\r\n    const flatListRef = useRef(null);\r\n    const [height, setHeight] = useState(defaultSheetHeight);\r\n    const [searchValue, setSearchValue] = useState(\"\");\r\n    const width = Dimensions.get(\"window\").width;\r\n    const emojiSize = 40;\r\n    var noOfColumns = Math.floor(width / emojiSize);\r\n\r\n    const close = () => {\r\n      setHeight(defaultSheetHeight);\r\n      optionsRef?.current?.hide();\r\n    };\r\n\r\n    const open = () => {\r\n      optionsRef?.current?.show();\r\n    };\r\n\r\n    useImperativeHandle(ref, () => ({\r\n      open: () => open(),\r\n      close: () => close(),\r\n    }));\r\n\r\n    const deleteMessage = () => {\r\n      if (client && message) {\r\n        client\r\n          .messageClient(message.conversationId)\r\n          .deleteMessage(\r\n            message.messageId,\r\n            recipientId,\r\n            message.conversationId\r\n          );\r\n        // optionsRef?.current?.close();\r\n      }\r\n    };\r\n\r\n    const showAlert = () => {\r\n      optionsRef?.current?.hide();\r\n      Alert.alert(\r\n        \"Delete message\",\r\n        \"This action is irreversible. Proceed?\",\r\n        [\r\n          {\r\n            text: \"Cancel\",\r\n            onPress: () => console.log(\"Cancelled\"),\r\n            style: \"cancel\",\r\n          },\r\n          {\r\n            text: \"Proceed\",\r\n            onPress: () => deleteMessage(),\r\n            style: \"destructive\",\r\n          },\r\n        ],\r\n        { cancelable: false }\r\n      );\r\n    };\r\n\r\n    const copyToClipboard = async (text: string) => {\r\n      await Clipboard.setStringAsync(text);\r\n      if (Platform.OS === \"android\") {\r\n        ToastAndroid.show(\"Copied text message\", ToastAndroid.SHORT);\r\n      }\r\n      optionsRef.current.hide();\r\n    };\r\n\r\n    const options = useMemo(() => {\r\n      return [\r\n        {\r\n          label: \"Edit message\",\r\n          icon: <EditIcon size={20} color={theme?.icon} />,\r\n          isVisible: isMessageOwner,\r\n          onPress: () => onStartEditing(),\r\n        },\r\n        {\r\n          label: \"Reply\",\r\n          icon: <ReplyIcon size={20} color={theme?.icon} />,\r\n          isVisible: true,\r\n          onPress: () => onReply(),\r\n        },\r\n        {\r\n          label: \"Copy\",\r\n          icon: <CopyIcon size={20} color={theme?.icon} />,\r\n          isVisible: true,\r\n          onPress: () => copyToClipboard(message?.message),\r\n        },\r\n        {\r\n          label: \"Delete\",\r\n          icon: <TrashIcon size={20} color={\"red\"} />,\r\n          isVisible: isMessageOwner,\r\n          onPress: () => showAlert(),\r\n        },\r\n      ];\r\n    }, [isMessageOwner, onReply, message, onStartEditing]);\r\n\r\n    const showAllEmojis = () => {\r\n      optionsRef.current.hide();\r\n      setTimeout(() => {\r\n        openEmojiList();\r\n      },200)\r\n    };\r\n\r\n    const addReaction = useCallback(\r\n      (emoji: string) => {\r\n        if (client && message) {\r\n          const newReaction = {\r\n            emoji: emoji,\r\n            uid: client.chatUserId,\r\n          };\r\n          const existingReactionIndex = message.reactions.findIndex(\r\n            (reaction) => reaction.uid === client.chatUserId\r\n          );\r\n\r\n          let updatedReactions: Array<{ uid: string; emoji: string }>;\r\n\r\n          if (existingReactionIndex !== -1) {\r\n            updatedReactions = [...message.reactions];\r\n            updatedReactions[existingReactionIndex] = newReaction;\r\n          } else {\r\n            updatedReactions = [...message.reactions, newReaction];\r\n          }\r\n\r\n          client.messageClient(message.conversationId).reactToMessage({\r\n            conversationId: message.conversationId,\r\n            messageId: message.messageId,\r\n            reactions: updatedReactions,\r\n            to: recipientId,\r\n          });\r\n\r\n          optionsRef?.current?.hide();\r\n        } else {\r\n          console.log(\"not sending\");\r\n        }\r\n      },\r\n      [message, client, recipientId]\r\n    );\r\n\r\n    const renderStickers = useCallback(() => {\r\n      return (\r\n        <View\r\n          style={[\r\n            {\r\n              flexDirection: \"row\",\r\n              alignItems: \"center\",\r\n              justifyContent: \"space-between\",\r\n              flex: 1,\r\n            },\r\n          ]}\r\n        >\r\n          {emojis.map((emoji, i) => (\r\n            <TouchableOpacity\r\n              key={i}\r\n              onPress={() => addReaction(emoji.emoji)}\r\n              style={{\r\n                alignItems: \"center\",\r\n                height: 50,\r\n                width: 50,\r\n                margin: 5,\r\n                justifyContent: \"center\",\r\n                borderRadius: emojiSize,\r\n                backgroundColor: theme?.background.primary,\r\n              }}\r\n            >\r\n              <Text\r\n                style={{\r\n                  fontSize: Platform.OS === \"ios\" ? emojiSize * fontScale : (emojiSize - 5) * fontScale,\r\n                  fontFamily,\r\n                }}\r\n              >\r\n                {emoji.emoji}\r\n              </Text>\r\n            </TouchableOpacity>\r\n          ))}\r\n          <TouchableOpacity\r\n            onPress={showAllEmojis}\r\n            style={{\r\n              borderRadius: 100,\r\n              alignItems: \"center\",\r\n              height: 50,\r\n              width: 50,\r\n              margin: 5,\r\n              justifyContent: \"center\",\r\n              backgroundColor: theme?.background.secondary,\r\n            }}\r\n          >\r\n            <EmojiIcon size={35} color=\"grey\" />\r\n          </TouchableOpacity>\r\n        </View>\r\n      );\r\n    }, [message]);\r\n\r\n    return (\r\n      <ActionSheet\r\n        ref={optionsRef}\r\n        enableGesturesInScrollView\r\n        keyboardHandlerEnabled={false}\r\n        isModal\r\n        openAnimationConfig={{ speed: 700 }}\r\n        onClose={close}\r\n        gestureEnabled\r\n        containerStyle={{\r\n          borderTopLeftRadius: 30,\r\n          borderTopRightRadius: 30,\r\n          backgroundColor: theme.background.primary,\r\n          height: '47%',\r\n          padding: 0,\r\n        }}\r\n      >\r\n        <View\r\n          style={{\r\n            // flex: 1,\r\n            height: \"100%\",\r\n            width: \"100%\",\r\n            justifyContent: \"flex-start\",\r\n            paddingHorizontal: 15,\r\n            paddingTop: 5,\r\n          }}\r\n        >\r\n          <View\r\n            style={{\r\n              flexDirection: \"row\",\r\n              alignItems: \"center\",\r\n              justifyContent: \"center\",\r\n              height: 50,\r\n            }}\r\n          >\r\n            {renderStickers()}\r\n          </View>\r\n          <View\r\n            style={{\r\n              borderRadius: 20,\r\n              paddingHorizontal: 20,\r\n              marginTop: 20,\r\n              backgroundColor: theme?.background.secondary,\r\n            }}\r\n          >\r\n            {options\r\n              .filter((o) => o.isVisible)\r\n              .map((option, i) => (\r\n                <TouchableOpacity\r\n                  onPress={() => option.onPress()}\r\n                  key={i}\r\n                  style={[\r\n                    {\r\n                      height: 60,\r\n                      flexDirection: \"row\",\r\n                      alignItems: \"center\",\r\n                    },\r\n                    i !== 0 && {\r\n                      borderTopWidth: 1,\r\n                      borderTopColor: theme?.divider,\r\n                    },\r\n                  ]}\r\n                >\r\n                  {option.icon}\r\n                  <Text\r\n                    style={{\r\n                      marginStart: 15,\r\n                      fontFamily,\r\n                      fontSize: 17 * fontScale,\r\n                      color:\r\n                        option.label === \"Delete\"\r\n                          ? \"red\"\r\n                          : theme?.text.secondary,\r\n                    }}\r\n                  >\r\n                    {option.label}\r\n                  </Text>\r\n                </TouchableOpacity>\r\n              ))}\r\n          </View>\r\n        </View>\r\n      </ActionSheet>\r\n    );\r\n  }\r\n);\r\n\r\nexport default MessageOptions;\r\n","import {\r\n  View,\r\n  Text,\r\n  Dimensions,\r\n  TouchableOpacity,\r\n  Platform,\r\n} from \"react-native\";\r\nimport React, { useState, useCallback } from \"react\";\r\nimport Search from \"../Search\";\r\nimport { FlashList } from \"@shopify/flash-list\";\r\nimport { emojis } from \"../../assets/emoji\";\r\nimport { useConfig } from \"../../contexts/ChatProvider\";\r\nimport { CloseIcon, TimesIcon } from \"../../assets/icons\";\r\nimport { useModalProvider } from \"../../contexts/ModalProvider\";\r\nimport { Emoji, Message } from \"softchatjs-core\";\r\nimport { ChatTheme } from \"../../types\";\r\n\r\ntype EmojiListProps = {\r\n  recipientId: string;\r\n  message: Message | null;\r\n  theme: ChatTheme | undefined;\r\n  type?: \"reaction\" | \"message\",\r\n  onSelect?: (value: string) => void;\r\n};\r\n\r\nexport default function EmojiListModal(props: EmojiListProps) {\r\n  const { recipientId, message, theme, type = \"reaction\", onSelect } = props;\r\n  const { fontFamily, client } = useConfig();\r\n  const [searchValue, setSearchValue] = useState(\"\");\r\n  const { resetModal } = useModalProvider();\r\n\r\n  const width = Dimensions.get(\"window\").width;\r\n  const emojiSize = 50;\r\n  var noOfColumns = Math.floor(width / emojiSize);\r\n\r\n  const addReaction = useCallback(\r\n    (emoji: string) => {\r\n      if (client && message) {\r\n        const newReaction = {\r\n          emoji: emoji,\r\n          uid: client.chatUserId,\r\n        };\r\n\r\n        const existingReactionIndex = message.reactions.findIndex(\r\n          (reaction) => reaction.uid === client.chatUserId\r\n        );\r\n\r\n        let updatedReactions: Array<{ uid: string; emoji: string }>;\r\n\r\n        if (existingReactionIndex !== -1) {\r\n          updatedReactions = [...message.reactions];\r\n          updatedReactions[existingReactionIndex] = newReaction;\r\n        } else {\r\n          updatedReactions = [...message.reactions, newReaction];\r\n        }\r\n\r\n        client.messageClient(message.conversationId).reactToMessage({\r\n          conversationId: message.conversationId,\r\n          messageId: message.messageId,\r\n          reactions: updatedReactions,\r\n          to: recipientId,\r\n        });\r\n      } else {\r\n        console.log(\"not sending\");\r\n      }\r\n    },\r\n    [message, client, recipientId]\r\n  );\r\n\r\n  const renderEmoji = useCallback(\r\n    ({ item, index }: { item: any; index: number }) => {\r\n      return (\r\n        <TouchableOpacity\r\n          key={index}\r\n          onPress={() => {\r\n            if(type == \"reaction\"){\r\n              addReaction(item.emoji);\r\n            }else{\r\n              onSelect?.(item.emoji)\r\n            }\r\n            resetModal();\r\n          }}\r\n          style={{\r\n            height: emojiSize,\r\n            minWidth: emojiSize,\r\n            alignItems: \"center\",\r\n            margin: 0.7,\r\n            flex: 1,\r\n            justifyContent: \"center\",\r\n            borderRadius: emojiSize,\r\n          }}\r\n        >\r\n          <Text\r\n            style={{\r\n              // fontSize: Platform.OS === \"android\" ? 25 : 35,\r\n              fontSize: emojiSize * 0.75,\r\n              fontFamily,\r\n            }}\r\n          >\r\n            {item.emoji}\r\n          </Text>\r\n        </TouchableOpacity>\r\n      );\r\n    },\r\n    []\r\n  );\r\n\r\n  var filtered_emojis = emojis.filter((data: Emoji) => {\r\n    return (\r\n      data.description.toLowerCase()?.indexOf(searchValue.toLowerCase()) !==\r\n      -1\r\n    );\r\n  });\r\n\r\n  const emoji_list = filtered_emojis.length > 0 ? filtered_emojis : emojis;\r\n\r\n  return (\r\n    <View\r\n      style={{\r\n        backgroundColor: theme.background.primary,\r\n        flex: 1,\r\n        height: \"100%\",\r\n        width: \"100%\",\r\n        paddingTop: Platform.OS === \"ios\"? 40 : 0\r\n      }}\r\n    >\r\n      <View\r\n        style={{\r\n          flexDirection: \"row\",\r\n          justifyContent: \"space-between\",\r\n          alignItems: \"center\",\r\n          paddingHorizontal: 15,\r\n        }}\r\n      >\r\n        <TouchableOpacity onPress={() => resetModal()}>\r\n          <TimesIcon color={theme.icon} />\r\n        </TouchableOpacity>\r\n        <Search\r\n          containerStyle={{ flex: 1 }}\r\n          value={searchValue}\r\n          setValue={setSearchValue}\r\n          placeholder=\"Search emoji\"\r\n        />\r\n      </View>\r\n      <Text style={{ paddingHorizontal: 15, color: theme.text.secondary }}>\r\n        Smileys and Emoticons\r\n      </Text>\r\n\r\n      <View\r\n        style={{\r\n          height: \"100%\",\r\n          width: \"100%\",\r\n          paddingTop: 5,\r\n          padding: 15,\r\n          flexDirection: \"row\",\r\n          flexWrap: \"wrap\",\r\n          flexGrow: 1,\r\n          flex: 1,\r\n        }}\r\n      >\r\n        <FlashList\r\n          numColumns={noOfColumns}\r\n          data={emoji_list}\r\n          estimatedItemSize={200}\r\n          renderItem={renderEmoji}\r\n          ListEmptyComponent={() => <Text>emepty</Text>}\r\n        />\r\n      </View>\r\n    </View>\r\n  );\r\n}\r\n"],"mappings":"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","names":["React","useCallback","useEffect","useRef","useState","View","StyleSheet","Text","KeyboardAvoidingView","Platform","Dimensions","React","useCallback","useEffect","useState","StyleSheet","View","Platform","Dimensions","TouchableOpacity","useAnimatedStyle","useSharedValue","interpolate","MessageStates","generateId","View","Text","React","useCallback","useMemo","React","Text","React","createContext","useContext","React","View","React","createContext","useState","useContext","createContext","useContext","createContext","useContext","React","Text","React","Image","Animated","React","View","TouchableOpacity","Text","theme","React","View","TouchableOpacity","Text","React","StyleSheet","View","TouchableOpacity","Text","View","Text","React","Image","theme","React","View","Text","theme","React","View","Text","TouchableOpacity","StyleSheet","View","TouchableOpacity","React","MediaType","View","KeyboardAvoidingView","Platform","TouchableWithoutFeedback","Dimensions","TouchableOpacity","ActivityIndicator","React","useMemo","useRef","useState","generateId","AttachmentTypes","MediaType","React","View","StyleSheet","TouchableOpacity","Platform","ActivityIndicator","useMemo","useState","Audio","View","Text","TouchableOpacity","React","useCallback","theme","React","View","Text","useCallback","TouchableOpacity","React","ActivityIndicator","TouchableOpacity","Platform","theme","useState","Audio","useMemo","value","View","styles","StyleSheet","Image","Dimensions","useRef","useState","generateId","MediaType","AttachmentTypes","useMemo","React","View","Platform","TouchableOpacity","KeyboardAvoidingView","TouchableWithoutFeedback","Image","ActivityIndicator","Image","React","useRef","useState","View","StyleSheet","TouchableOpacity","React","useState","StyleSheet","View","TouchableOpacity","generateFillerTimestamps","generateId","MediaType","AttachmentTypes","useState","player","generateFillerTimestamps","generateId","MediaType","AttachmentTypes","React","View","styles","TouchableOpacity","StyleSheet","useVideoPlayer","VideoView","theme","useRef","useState","player","React","TouchableOpacity","styles","View","StyleSheet","theme","React","View","MediaType","TouchableOpacity","Image","AttachmentTypes","MessageStates","theme","useCallback","AttachmentTypes","React","useMemo","message","Text","Animated","View","MessageStates","View","Text","Linking","React","useCallback","useMemo","AttachmentTypes","MessageStates","theme","useMemo","useCallback","AttachmentTypes","React","message","Text","Linking","View","MessageStates","useSharedValue","React","useState","MessageStates","Platform","Dimensions","useAnimatedStyle","interpolate","generateId","useEffect","useCallback","View","TouchableOpacity","styles","StyleSheet","React","View","StyleSheet","Text","View","StyleSheet","Text","React","useMemo","Image","useMemo","React","Image","styles","View","Text","StyleSheet","useMemo","theme","useMemo","React","View","Text","styles","StyleSheet","React","TouchableOpacity","StyleSheet","View","Text","AttachmentTypes","theme","React","View","styles","TouchableOpacity","Text","AttachmentTypes","StyleSheet","React","View","Text","Dimensions","TouchableOpacity","Platform","useCallback","useRef","useState","forwardRef","View","TextInput","React","theme","React","View","TextInput","Dimensions","forwardRef","useRef","theme","useState","width","useCallback","React","TouchableOpacity","Text","Platform","View","React","View","Text","Dimensions","TouchableOpacity","forwardRef","useRef","useState","useImperativeHandle","MediaType","ActionSheet","forwardRef","useRef","theme","useImperativeHandle","React","width","Dimensions","useState","height","MediaType","ActionSheet","View","TouchableOpacity","Text","React","View","Text","Dimensions","TouchableOpacity","Platform","Alert","useCallback","useMemo","useRef","useState","useImperativeHandle","forwardRef","ActionSheet","windowHeight","Dimensions","emojis","forwardRef","useRef","theme","height","useState","width","useImperativeHandle","Alert","Platform","useMemo","React","useCallback","View","TouchableOpacity","Text","FlashList","generateId","MediaType","Audio","interpolate","View","Text","Dimensions","TouchableOpacity","Platform","React","useState","useCallback","FlashList","theme","useState","width","Dimensions","useCallback","React","TouchableOpacity","Text","View","Platform","FlashList","Platform","React","KeyboardAvoidingView","theme","Audio","useRef","useState","width","Dimensions","useEffect","messages","generateId","MediaType","selectedMessage","interpolate","recording","useCallback","View","message","Text","styles","FlashList","StyleSheet"]}