/*
 * Copyright (c) 2026 Meshtastic LLC
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
@file:Suppress("LongMethod", "MaxLineLength", "StringLiteralDuplication", "TooManyFunctions")

package org.meshtastic.core.ui.emoji

/** A single emoji entry with optional skin-tone support and search keywords. */
internal data class Emoji(
    val base: String,
    val keywords: List<String> = emptyList(),
    val supportsSkinTone: Boolean = false,
)

/** A named category of emojis with an icon emoji for the tab. */
internal data class EmojiCategory(val name: String, val icon: String, val emojis: List<Emoji>)

/** Unicode skin tone modifiers (Fitzpatrick scale). */
internal enum class SkinTone(val modifier: String, val label: String, val preview: String) {
    DEFAULT("", "Default", "👋"),
    LIGHT("\uD83C\uDFFB", "Light", "👋🏻"),
    MEDIUM_LIGHT("\uD83C\uDFFC", "Medium-Light", "👋🏼"),
    MEDIUM("\uD83C\uDFFD", "Medium", "👋🏽"),
    MEDIUM_DARK("\uD83C\uDFFE", "Medium-Dark", "👋🏾"),
    DARK("\uD83C\uDFFF", "Dark", "👋🏿"),
}

/**
 * Applies a skin tone modifier to a base emoji string. Only works correctly for single-codepoint emojis that support
 * skin tones.
 */
internal fun Emoji.withSkinTone(tone: SkinTone): String {
    if (!supportsSkinTone || tone == SkinTone.DEFAULT) return base
    // Insert the modifier after the first code point (which may be a surrogate pair)
    val firstChar = base[0]
    val charCount = if (firstChar.isHighSurrogate() && base.length > 1) 2 else 1
    val baseChar = base.substring(0, charCount)
    val after = base.substring(charCount)
    return baseChar + tone.modifier + after
}

// ── Emoji Catalog ──────────────────────────────────────────────────────────────

@Suppress("LargeClass", "MaxLineLength", "LongMethod")
internal object EmojiData {
    private fun e(base: String, vararg kw: String, skin: Boolean = false) = Emoji(base, kw.toList(), skin)

    val categories: List<EmojiCategory> =
        listOf(smileys(), people(), nature(), food(), travel(), activities(), objects(), symbols(), flags())

    /** Flat list for search. */
    val all: List<Emoji> by lazy { categories.flatMap { it.emojis } }

    // ── Categories ─────────────────────────────────────────────────────────────
    private fun smileys() = EmojiCategory(
        name = "Smileys & Emotion",
        icon = "😀",
        emojis =
        listOf(
            e("😀", "grinning", "face", "smile", "happy"),
            e("😃", "grinning", "face", "with", "big", "eyes", "smiley", "happy", "joy", "haha"),
            e("😄", "grinning", "face", "with", "smiling", "eyes", "smile", "happy", "joy", "laugh", "pleased"),
            e("😁", "beaming", "face", "with", "smiling", "eyes", "grin"),
            e("😆", "grinning", "squinting", "face", "laughing", "satisfied", "happy", "haha"),
            e("😅", "grinning", "face", "with", "sweat", "smile", "hot"),
            e("🤣", "rolling", "on", "the", "floor", "laughing", "rofl", "lol"),
            e("😂", "face", "with", "tears", "of", "joy"),
            e("🙂", "slightly", "smiling", "face"),
            e("🙃", "upside", "down", "face"),
            e("🫠", "melting", "face", "sarcasm", "dread"),
            e("😉", "winking", "face", "wink", "flirt"),
            e("😊", "smiling", "face", "with", "eyes", "blush", "proud"),
            e("😇", "smiling", "face", "with", "halo", "innocent", "angel"),
            e("🥰", "smiling", "face", "with", "hearts", "three", "love"),
            e("😍", "smiling", "face", "with", "heart", "eyes", "love", "crush"),
            e("🤩", "star", "struck", "eyes"),
            e("😘", "face", "blowing", "a", "kiss", "kissing", "heart", "flirt"),
            e("😗", "kissing", "face"),
            e("☺️", "smiling", "face", "relaxed", "blush", "pleased"),
            e("😚", "kissing", "face", "with", "closed", "eyes"),
            e("😙", "kissing", "face", "with", "smiling", "eyes"),
            e("🥲", "smiling", "face", "with", "tear"),
            e("😋", "face", "savoring", "food", "yum", "tongue", "lick"),
            e("😛", "face", "with", "tongue", "stuck", "out"),
            e("😜", "winking", "face", "with", "tongue", "stuck", "out", "eye", "prank", "silly"),
            e("🤪", "zany", "face", "goofy", "wacky"),
            e("😝", "squinting", "face", "with", "tongue", "stuck", "out", "closed", "eyes", "prank"),
            e("🤑", "money", "mouth", "face", "rich"),
            e("🤗", "smiling", "face", "with", "open", "hands", "hugs"),
            e("🤭", "face", "with", "hand", "over", "mouth", "quiet", "whoops"),
            e("🫢", "face", "with", "open", "eyes", "and", "hand", "over", "mouth", "gasp", "shock"),
            e("🫣", "face", "with", "peeking", "eye"),
            e("🤫", "shushing", "face", "silence", "quiet"),
            e("🤔", "thinking", "face"),
            e("🫡", "saluting", "face", "respect"),
            e("🤐", "zipper", "mouth", "face", "silence", "hush"),
            e("🤨", "face", "with", "raised", "eyebrow", "suspicious"),
            e("😐", "neutral", "face", "meh"),
            e("😑", "expressionless", "face"),
            e("😶", "face", "without", "mouth", "no", "mute", "silence"),
            e("🫥", "dotted", "line", "face", "invisible"),
            e("😶‍🌫️", "face", "in", "clouds"),
            e("😏", "smirking", "face", "smirk", "smug"),
            e("😒", "unamused", "face", "meh"),
            e("🙄", "face", "with", "rolling", "eyes", "roll"),
            e("😬", "grimacing", "face"),
            e("😮‍💨", "face", "exhaling"),
            e("🤥", "lying", "face", "liar"),
            e("🫨", "shaking", "face", "shock"),
            e("😌", "relieved", "face", "whew"),
            e("😔", "pensive", "face"),
            e("😪", "sleepy", "face", "tired"),
            e("🤤", "drooling", "face"),
            e("😴", "sleeping", "face", "zzz"),
            e("😷", "face", "with", "medical", "mask", "sick", "ill"),
            e("🤒", "face", "with", "thermometer", "sick"),
            e("🤕", "face", "with", "head", "bandage", "hurt"),
            e("🤢", "nauseated", "face", "sick", "barf", "disgusted"),
            e("🤮", "face", "vomiting", "barf", "sick"),
            e("🤧", "sneezing", "face", "achoo", "sick"),
            e("🥵", "hot", "face", "heat", "sweating"),
            e("🥶", "cold", "face", "freezing", "ice"),
            e("🥴", "woozy", "face", "groggy"),
            e("😵", "face", "with", "crossed", "out", "eyes", "dizzy"),
            e("😵‍💫", "face", "with", "spiral", "eyes"),
            e("🤯", "exploding", "head", "mind", "blown"),
            e("🤠", "cowboy", "hat", "face"),
            e("🥳", "partying", "face", "celebration", "birthday"),
            e("🥸", "disguised", "face"),
            e("😎", "smiling", "face", "with", "sunglasses", "cool"),
            e("🤓", "nerd", "face", "geek", "glasses"),
            e("🧐", "face", "with", "monocle"),
            e("😕", "confused", "face"),
            e("🫤", "face", "with", "diagonal", "mouth", "confused"),
            e("😟", "worried", "face", "nervous"),
            e("🙁", "slightly", "frowning", "face"),
            e("☹️", "frowning", "face"),
            e("😮", "face", "with", "open", "mouth", "surprise", "impressed", "wow"),
            e("😯", "hushed", "face", "silence", "speechless"),
            e("😲", "astonished", "face", "amazed", "gasp"),
            e("😳", "flushed", "face"),
            e("🥺", "pleading", "face", "puppy", "eyes"),
            e("🥹", "face", "holding", "back", "tears", "gratitude"),
            e("😦", "frowning", "face", "with", "open", "mouth"),
            e("😧", "anguished", "face", "stunned"),
            e("😨", "fearful", "face", "scared", "shocked", "oops"),
            e("😰", "anxious", "face", "with", "sweat", "cold", "nervous"),
            e("😥", "sad", "but", "relieved", "face", "disappointed", "phew", "sweat", "nervous"),
            e("😢", "crying", "face", "cry", "sad", "tear"),
            e("😭", "loudly", "crying", "face", "sob", "sad", "cry", "bawling"),
            e("😱", "face", "screaming", "in", "fear", "scream", "horror", "shocked"),
            e("😖", "confounded", "face"),
            e("😣", "persevering", "face", "persevere", "struggling"),
            e("😞", "disappointed", "face", "sad"),
            e("😓", "downcast", "face", "with", "sweat"),
            e("😩", "weary", "face", "tired"),
            e("😫", "tired", "face", "upset", "whine"),
            e("🥱", "yawning", "face"),
            e("😤", "face", "with", "steam", "from", "nose", "triumph", "smug"),
            e("😡", "enraged", "face", "rage", "pout", "angry"),
            e("😠", "angry", "face", "mad", "annoyed"),
            e("🤬", "face", "with", "symbols", "on", "mouth", "cursing", "foul"),
            e("😈", "smiling", "face", "with", "horns", "imp", "devil", "evil"),
            e("👿", "angry", "face", "with", "horns", "imp", "devil", "evil"),
            e("💀", "skull", "dead", "danger", "poison"),
            e("☠️", "skull", "and", "crossbones", "danger", "pirate"),
            e("💩", "pile", "of", "poo", "hankey", "poop", "shit", "crap"),
            e("🤡", "clown", "face"),
            e("👹", "ogre", "japanese", "monster"),
            e("👺", "goblin", "japanese"),
            e("👻", "ghost", "halloween"),
            e("👽", "alien", "ufo"),
            e("👾", "alien", "monster", "space", "invader", "game", "retro"),
            e("🤖", "robot"),
            e("😺", "grinning", "cat", "smiley"),
            e("😸", "grinning", "cat", "with", "smiling", "eyes", "smile"),
            e("😹", "cat", "with", "tears", "of", "joy"),
            e("😻", "smiling", "cat", "with", "heart", "eyes"),
            e("😼", "cat", "with", "wry", "smile", "smirk"),
            e("😽", "kissing", "cat"),
            e("🙀", "weary", "cat", "scream", "horror"),
            e("😿", "crying", "cat", "face", "sad", "tear"),
            e("😾", "pouting", "cat"),
            e("🙈", "see", "no", "evil", "monkey", "blind", "ignore"),
            e("🙉", "hear", "no", "evil", "monkey", "deaf"),
            e("🙊", "speak", "no", "evil", "monkey", "mute", "hush"),
            e("💌", "love", "letter", "email", "envelope"),
            e("💘", "heart", "with", "arrow", "cupid", "love"),
            e("💝", "heart", "with", "ribbon", "gift", "chocolates"),
            e("💖", "sparkling", "heart"),
            e("💗", "growing", "heart", "heartpulse"),
            e("💓", "beating", "heart", "heartbeat"),
            e("💞", "revolving", "hearts"),
            e("💕", "two", "hearts"),
            e("💟", "heart", "decoration"),
            e("❣️", "heart", "exclamation", "heavy"),
            e("💔", "broken", "heart"),
            e("❤️‍🔥", "heart", "on", "fire"),
            e("❤️‍🩹", "mending", "heart"),
            e("❤️", "red", "heart", "love"),
            e("🩷", "pink", "heart"),
            e("🧡", "orange", "heart"),
            e("💛", "yellow", "heart"),
            e("💚", "green", "heart"),
            e("💙", "blue", "heart"),
            e("🩵", "light", "blue", "heart"),
            e("💜", "purple", "heart"),
            e("🤎", "brown", "heart"),
            e("🖤", "black", "heart"),
            e("🩶", "grey", "heart"),
            e("🤍", "white", "heart"),
            e("💋", "kiss", "mark", "lipstick"),
            e("💯", "hundred", "points", "100", "score", "perfect"),
            e("💢", "anger", "symbol", "angry"),
            e("💥", "collision", "boom", "explode"),
            e("💫", "dizzy", "star"),
            e("💦", "sweat", "droplets", "drops", "water", "workout"),
            e("💨", "dashing", "away", "dash", "wind", "blow", "fast"),
            e("🕳️", "hole"),
            e("💬", "speech", "balloon", "comment"),
            e("👁️‍🗨️", "eye", "in", "speech", "bubble"),
            e("🗨️", "left", "speech", "bubble"),
            e("🗯️", "right", "anger", "bubble"),
            e("💭", "thought", "balloon", "thinking"),
            e("💤", "zzz", "sleeping"),
        ),
    )

    private fun people() = EmojiCategory(
        name = "People & Body",
        icon = "👋",
        emojis =
        listOf(
            e("👋", "waving", "hand", "wave", "goodbye", skin = true),
            e("🤚", "raised", "back", "of", "hand", skin = true),
            e("🖐️", "hand", "with", "fingers", "splayed", "raised", skin = true),
            e("✋", "raised", "hand", "highfive", "stop", skin = true),
            e("🖖", "vulcan", "salute", "prosper", "spock", skin = true),
            e("🫱", "rightwards", "hand", skin = true),
            e("🫲", "leftwards", "hand", skin = true),
            e("🫳", "palm", "down", "hand", skin = true),
            e("🫴", "palm", "up", "hand", skin = true),
            e("🫷", "leftwards", "pushing", "hand", skin = true),
            e("🫸", "rightwards", "pushing", "hand", skin = true),
            e("👌", "ok", "hand", skin = true),
            e("🤌", "pinched", "fingers", skin = true),
            e("🤏", "pinching", "hand", skin = true),
            e("✌️", "victory", "hand", "v", "peace", skin = true),
            e("🤞", "crossed", "fingers", "luck", "hopeful", skin = true),
            e("🫰", "hand", "with", "index", "finger", "and", "thumb", "crossed", skin = true),
            e("🤟", "love", "you", "gesture", skin = true),
            e("🤘", "sign", "of", "the", "horns", "metal", skin = true),
            e("🤙", "call", "me", "hand", skin = true),
            e("👈", "backhand", "index", "pointing", "left", "point", skin = true),
            e("👉", "backhand", "index", "pointing", "right", "point", skin = true),
            e("👆", "backhand", "index", "pointing", "up", "point", "2", skin = true),
            e("🖕", "middle", "finger", "fu", skin = true),
            e("👇", "backhand", "index", "pointing", "down", "point", skin = true),
            e("☝️", "index", "pointing", "up", "point", skin = true),
            e("🫵", "index", "pointing", "at", "the", "viewer", skin = true),
            e("👍", "thumbs", "up", "thumbsup", "approve", "ok", skin = true),
            e("👎", "thumbs", "down", "thumbsdown", "disapprove", "bury", skin = true),
            e("✊", "raised", "fist", "power", skin = true),
            e("👊", "oncoming", "fist", "facepunch", "punch", "attack", skin = true),
            e("🤛", "left", "facing", "fist", skin = true),
            e("🤜", "right", "facing", "fist", skin = true),
            e("👏", "clapping", "hands", "clap", "praise", "applause", skin = true),
            e("🙌", "raising", "hands", "raised", "hooray", skin = true),
            e("🫶", "heart", "hands", "love", skin = true),
            e("👐", "open", "hands", skin = true),
            e("🤲", "palms", "up", "together", skin = true),
            e("🤝", "handshake", "deal", skin = true),
            e("🙏", "folded", "hands", "pray", "please", "hope", "wish", skin = true),
            e("✍️", "writing", "hand", skin = true),
            e("💅", "nail", "polish", "care", "beauty", "manicure", skin = true),
            e("🤳", "selfie", skin = true),
            e("💪", "flexed", "biceps", "muscle", "flex", "bicep", "strong", "workout", skin = true),
            e("🦾", "mechanical", "arm"),
            e("🦿", "mechanical", "leg"),
            e("🦵", "leg", skin = true),
            e("🦶", "foot", skin = true),
            e("👂", "ear", "hear", "sound", "listen", skin = true),
            e("🦻", "ear", "with", "hearing", "aid", skin = true),
            e("👃", "nose", "smell", skin = true),
            e("🧠", "brain"),
            e("🫀", "anatomical", "heart"),
            e("🫁", "lungs"),
            e("🦷", "tooth"),
            e("🦴", "bone"),
            e("👀", "eyes", "look", "see", "watch"),
            e("👁️", "eye"),
            e("👅", "tongue", "taste"),
            e("👄", "mouth", "lips", "kiss"),
            e("🫦", "biting", "lip"),
            e("👶", "baby", "child", "newborn", skin = true),
            e("🧒", "child", skin = true),
            e("👦", "boy", "child", skin = true),
            e("👧", "girl", "child", skin = true),
            e("🧑", "person", "adult", skin = true),
            e("👱", "blond", "hair", "haired", "person", skin = true),
            e("👨", "man", "mustache", "father", "dad", skin = true),
            e("🧔", "beard", "bearded", "person", skin = true),
            e("🧔‍♂️", "beard", "man", skin = true),
            e("🧔‍♀️", "beard", "woman", skin = true),
            e("👨‍🦰", "red", "hair", "haired", "man", skin = true),
            e("👨‍🦱", "curly", "hair", "haired", "man", skin = true),
            e("👨‍🦳", "white", "hair", "haired", "man", skin = true),
            e("👨‍🦲", "bald", "man", skin = true),
            e("👩", "woman", "girls", skin = true),
            e("👩‍🦰", "red", "hair", "haired", "woman", skin = true),
            e("🧑‍🦰", "red", "hair", "person", skin = true),
            e("👩‍🦱", "curly", "hair", "haired", "woman", skin = true),
            e("🧑‍🦱", "curly", "hair", "person", skin = true),
            e("👩‍🦳", "white", "hair", "haired", "woman", skin = true),
            e("🧑‍🦳", "white", "hair", "person", skin = true),
            e("👩‍🦲", "bald", "woman", skin = true),
            e("🧑‍🦲", "bald", "person", skin = true),
            e("👱‍♀️", "blond", "hair", "haired", "woman", "blonde", skin = true),
            e("👱‍♂️", "blond", "hair", "haired", "man", skin = true),
            e("🧓", "older", "person", "adult", skin = true),
            e("👴", "old", "man", "older", skin = true),
            e("👵", "old", "woman", "older", skin = true),
            e("🙍", "person", "frowning", skin = true),
            e("🙍‍♂️", "man", "frowning", skin = true),
            e("🙍‍♀️", "woman", "frowning", skin = true),
            e("🙎", "person", "pouting", "face", skin = true),
            e("🙎‍♂️", "man", "pouting", skin = true),
            e("🙎‍♀️", "woman", "pouting", skin = true),
            e("🙅", "person", "gesturing", "no", "good", "stop", "halt", "denied", skin = true),
            e("🙅‍♂️", "man", "gesturing", "no", "good", "ng", "stop", "halt", "denied", skin = true),
            e("🙅‍♀️", "woman", "gesturing", "no", "good", "ng", "stop", "halt", "denied", skin = true),
            e("🙆", "person", "gesturing", "ok", skin = true),
            e("🙆‍♂️", "man", "gesturing", "ok", skin = true),
            e("🙆‍♀️", "woman", "gesturing", "ok", skin = true),
            e("💁", "person", "tipping", "hand", "information", "desk", skin = true),
            e("💁‍♂️", "man", "tipping", "hand", "sassy", "information", skin = true),
            e("💁‍♀️", "woman", "tipping", "hand", "sassy", "information", skin = true),
            e("🙋", "person", "raising", "hand", skin = true),
            e("🙋‍♂️", "man", "raising", "hand", skin = true),
            e("🙋‍♀️", "woman", "raising", "hand", skin = true),
            e("🧏", "deaf", "person", skin = true),
            e("🧏‍♂️", "deaf", "man", skin = true),
            e("🧏‍♀️", "deaf", "woman", skin = true),
            e("🙇", "person", "bowing", "bow", "respect", "thanks", skin = true),
            e("🙇‍♂️", "man", "bowing", "respect", "thanks", skin = true),
            e("🙇‍♀️", "woman", "bowing", "respect", "thanks", skin = true),
            e("🤦", "person", "facepalming", "facepalm", skin = true),
            e("🤦‍♂️", "man", "facepalming", skin = true),
            e("🤦‍♀️", "woman", "facepalming", skin = true),
            e("🤷", "person", "shrugging", "shrug", skin = true),
            e("🤷‍♂️", "man", "shrugging", skin = true),
            e("🤷‍♀️", "woman", "shrugging", skin = true),
            e("🧑‍⚕️", "health", "worker", skin = true),
            e("👨‍⚕️", "man", "health", "worker", "doctor", "nurse", skin = true),
            e("👩‍⚕️", "woman", "health", "worker", "doctor", "nurse", skin = true),
            e("🧑‍🎓", "student", skin = true),
            e("👨‍🎓", "man", "student", "graduation", skin = true),
            e("👩‍🎓", "woman", "student", "graduation", skin = true),
            e("🧑‍🏫", "teacher", skin = true),
            e("👨‍🏫", "man", "teacher", "school", "professor", skin = true),
            e("👩‍🏫", "woman", "teacher", "school", "professor", skin = true),
            e("🧑‍⚖️", "judge", skin = true),
            e("👨‍⚖️", "man", "judge", "justice", skin = true),
            e("👩‍⚖️", "woman", "judge", "justice", skin = true),
            e("🧑‍🌾", "farmer", skin = true),
            e("👨‍🌾", "man", "farmer", skin = true),
            e("👩‍🌾", "woman", "farmer", skin = true),
            e("🧑‍🍳", "cook", skin = true),
            e("👨‍🍳", "man", "cook", "chef", skin = true),
            e("👩‍🍳", "woman", "cook", "chef", skin = true),
            e("🧑‍🔧", "mechanic", skin = true),
            e("👨‍🔧", "man", "mechanic", skin = true),
            e("👩‍🔧", "woman", "mechanic", skin = true),
            e("🧑‍🏭", "factory", "worker", skin = true),
            e("👨‍🏭", "man", "factory", "worker", skin = true),
            e("👩‍🏭", "woman", "factory", "worker", skin = true),
            e("🧑‍💼", "office", "worker", skin = true),
            e("👨‍💼", "man", "office", "worker", "business", skin = true),
            e("👩‍💼", "woman", "office", "worker", "business", skin = true),
            e("🧑‍🔬", "scientist", skin = true),
            e("👨‍🔬", "man", "scientist", "research", skin = true),
            e("👩‍🔬", "woman", "scientist", "research", skin = true),
            e("🧑‍💻", "technologist", skin = true),
            e("👨‍💻", "man", "technologist", "coder", skin = true),
            e("👩‍💻", "woman", "technologist", "coder", skin = true),
            e("🧑‍🎤", "singer", skin = true),
            e("👨‍🎤", "man", "singer", "rockstar", skin = true),
            e("👩‍🎤", "woman", "singer", "rockstar", skin = true),
            e("🧑‍🎨", "artist", skin = true),
            e("👨‍🎨", "man", "artist", "painter", skin = true),
            e("👩‍🎨", "woman", "artist", "painter", skin = true),
            e("🧑‍✈️", "pilot", skin = true),
            e("👨‍✈️", "man", "pilot", skin = true),
            e("👩‍✈️", "woman", "pilot", skin = true),
            e("🧑‍🚀", "astronaut", skin = true),
            e("👨‍🚀", "man", "astronaut", "space", skin = true),
            e("👩‍🚀", "woman", "astronaut", "space", skin = true),
            e("🧑‍🚒", "firefighter", skin = true),
            e("👨‍🚒", "man", "firefighter", skin = true),
            e("👩‍🚒", "woman", "firefighter", skin = true),
            e("👮", "police", "officer", "cop", "law", skin = true),
            e("👮‍♂️", "man", "police", "officer", "policeman", "law", "cop", skin = true),
            e("👮‍♀️", "woman", "police", "officer", "policewoman", "law", "cop", skin = true),
            e("🕵️", "detective", "sleuth", skin = true),
            e("🕵️‍♂️", "man", "detective", "male", "sleuth", skin = true),
            e("🕵️‍♀️", "woman", "detective", "female", "sleuth", skin = true),
            e("💂", "guard", skin = true),
            e("💂‍♂️", "man", "guard", "guardsman", skin = true),
            e("💂‍♀️", "woman", "guard", "guardswoman", skin = true),
            e("🥷", "ninja", skin = true),
            e("👷", "construction", "worker", "helmet", skin = true),
            e("👷‍♂️", "man", "construction", "worker", "helmet", skin = true),
            e("👷‍♀️", "woman", "construction", "worker", "helmet", skin = true),
            e("🫅", "person", "with", "crown", skin = true),
            e("🤴", "prince", "crown", "royal", skin = true),
            e("👸", "princess", "crown", "royal", skin = true),
            e("👳", "person", "wearing", "turban", "with", skin = true),
            e("👳‍♂️", "man", "wearing", "turban", "with", skin = true),
            e("👳‍♀️", "woman", "wearing", "turban", "with", skin = true),
            e("👲", "person", "with", "skullcap", "man", "gua", "pi", "mao", skin = true),
            e("🧕", "woman", "with", "headscarf", "hijab", skin = true),
            e("🤵", "person", "in", "tuxedo", "groom", "marriage", "wedding", skin = true),
            e("🤵‍♂️", "man", "in", "tuxedo", skin = true),
            e("🤵‍♀️", "woman", "in", "tuxedo", skin = true),
            e("👰", "person", "with", "veil", "marriage", "wedding", skin = true),
            e("👰‍♂️", "man", "with", "veil", skin = true),
            e("👰‍♀️", "woman", "with", "veil", "bride", skin = true),
            e("🤰", "pregnant", "woman", skin = true),
            e("🫃", "pregnant", "man", skin = true),
            e("🫄", "pregnant", "person", skin = true),
            e("🤱", "breast", "feeding", "nursing", skin = true),
            e("👩‍🍼", "woman", "feeding", "baby", skin = true),
            e("👨‍🍼", "man", "feeding", "baby", skin = true),
            e("🧑‍🍼", "person", "feeding", "baby", skin = true),
            e("👼", "baby", "angel", skin = true),
            e("🎅", "santa", "claus", "christmas", skin = true),
            e("🤶", "claus", "mrs", "santa", skin = true),
            e("🧑‍🎄", "mx", "claus", skin = true),
            e("🦸", "superhero", skin = true),
            e("🦸‍♂️", "man", "superhero", skin = true),
            e("🦸‍♀️", "woman", "superhero", skin = true),
            e("🦹", "supervillain", skin = true),
            e("🦹‍♂️", "man", "supervillain", skin = true),
            e("🦹‍♀️", "woman", "supervillain", skin = true),
            e("🧙", "mage", "wizard", skin = true),
            e("🧙‍♂️", "man", "mage", "wizard", skin = true),
            e("🧙‍♀️", "woman", "mage", "wizard", skin = true),
            e("🧚", "fairy", skin = true),
            e("🧚‍♂️", "man", "fairy", skin = true),
            e("🧚‍♀️", "woman", "fairy", skin = true),
            e("🧛", "vampire", skin = true),
            e("🧛‍♂️", "man", "vampire", skin = true),
            e("🧛‍♀️", "woman", "vampire", skin = true),
            e("🧜", "merperson", skin = true),
            e("🧜‍♂️", "merman", skin = true),
            e("🧜‍♀️", "mermaid", skin = true),
            e("🧝", "elf", skin = true),
            e("🧝‍♂️", "man", "elf", skin = true),
            e("🧝‍♀️", "woman", "elf", skin = true),
            e("🧞", "genie"),
            e("🧞‍♂️", "man", "genie"),
            e("🧞‍♀️", "woman", "genie"),
            e("🧟", "zombie"),
            e("🧟‍♂️", "man", "zombie"),
            e("🧟‍♀️", "woman", "zombie"),
            e("🧌", "troll"),
            e("💆", "person", "getting", "massage", "spa", skin = true),
            e("💆‍♂️", "man", "getting", "massage", "spa", skin = true),
            e("💆‍♀️", "woman", "getting", "massage", "spa", skin = true),
            e("💇", "person", "getting", "haircut", "beauty", skin = true),
            e("💇‍♂️", "man", "getting", "haircut", skin = true),
            e("💇‍♀️", "woman", "getting", "haircut", skin = true),
            e("🚶", "person", "walking", skin = true),
            e("🚶‍♂️", "man", "walking", skin = true),
            e("🚶‍♀️", "woman", "walking", skin = true),
            e("🧍", "person", "standing", skin = true),
            e("🧍‍♂️", "man", "standing", skin = true),
            e("🧍‍♀️", "woman", "standing", skin = true),
            e("🧎", "person", "kneeling", skin = true),
            e("🧎‍♂️", "man", "kneeling", skin = true),
            e("🧎‍♀️", "woman", "kneeling", skin = true),
            e("🧑‍🦯", "person", "with", "white", "cane", "probing", skin = true),
            e("👨‍🦯", "man", "with", "white", "cane", "probing", skin = true),
            e("👩‍🦯", "woman", "with", "white", "cane", "probing", skin = true),
            e("🧑‍🦼", "person", "in", "motorized", "wheelchair", skin = true),
            e("👨‍🦼", "man", "in", "motorized", "wheelchair", skin = true),
            e("👩‍🦼", "woman", "in", "motorized", "wheelchair", skin = true),
            e("🧑‍🦽", "person", "in", "manual", "wheelchair", skin = true),
            e("👨‍🦽", "man", "in", "manual", "wheelchair", skin = true),
            e("👩‍🦽", "woman", "in", "manual", "wheelchair", skin = true),
            e("🏃", "person", "running", "runner", "exercise", "workout", "marathon", skin = true),
            e("🏃‍♂️", "man", "running", "exercise", "workout", "marathon", skin = true),
            e("🏃‍♀️", "woman", "running", "exercise", "workout", "marathon", skin = true),
            e("💃", "woman", "dancing", "dancer", "dress", skin = true),
            e("🕺", "man", "dancing", "dancer", skin = true),
            e("🕴️", "person", "in", "suit", "levitating", "business", skin = true),
            e("👯", "people", "with", "bunny", "ears", "dancers"),
            e("👯‍♂️", "men", "with", "bunny", "ears", "dancing"),
            e("👯‍♀️", "women", "with", "bunny", "ears", "dancing"),
            e("🧖", "person", "in", "steamy", "room", "sauna", skin = true),
            e("🧖‍♂️", "man", "in", "steamy", "room", "sauna", skin = true),
            e("🧖‍♀️", "woman", "in", "steamy", "room", "sauna", skin = true),
            e("🧗", "person", "climbing", "bouldering", skin = true),
            e("🧗‍♂️", "man", "climbing", "bouldering", skin = true),
            e("🧗‍♀️", "woman", "climbing", "bouldering", skin = true),
            e("🤺", "person", "fencing"),
            e("🏇", "horse", "racing", skin = true),
            e("⛷️", "skier"),
            e("🏂", "snowboarder", skin = true),
            e("🏌️", "person", "golfing", skin = true),
            e("🏌️‍♂️", "man", "golfing", skin = true),
            e("🏌️‍♀️", "woman", "golfing", skin = true),
            e("🏄", "person", "surfing", "surfer", skin = true),
            e("🏄‍♂️", "man", "surfing", skin = true),
            e("🏄‍♀️", "woman", "surfing", skin = true),
            e("🚣", "person", "rowing", "boat", "rowboat", skin = true),
            e("🚣‍♂️", "man", "rowing", "boat", skin = true),
            e("🚣‍♀️", "woman", "rowing", "boat", skin = true),
            e("🏊", "person", "swimming", "swimmer", skin = true),
            e("🏊‍♂️", "man", "swimming", skin = true),
            e("🏊‍♀️", "woman", "swimming", skin = true),
            e("⛹️", "person", "bouncing", "ball", "basketball", skin = true),
            e("⛹️‍♂️", "man", "bouncing", "ball", "basketball", skin = true),
            e("⛹️‍♀️", "woman", "bouncing", "ball", "basketball", skin = true),
            e("🏋️", "person", "lifting", "weights", "weight", "gym", "workout", skin = true),
            e("🏋️‍♂️", "man", "lifting", "weights", "weight", "gym", "workout", skin = true),
            e("🏋️‍♀️", "woman", "lifting", "weights", "weight", "gym", "workout", skin = true),
            e("🚴", "person", "biking", "bicyclist", skin = true),
            e("🚴‍♂️", "man", "biking", skin = true),
            e("🚴‍♀️", "woman", "biking", skin = true),
            e("🚵", "person", "mountain", "biking", "bicyclist", skin = true),
            e("🚵‍♂️", "man", "mountain", "biking", skin = true),
            e("🚵‍♀️", "woman", "mountain", "biking", skin = true),
            e("🤸", "person", "cartwheeling", skin = true),
            e("🤸‍♂️", "man", "cartwheeling", skin = true),
            e("🤸‍♀️", "woman", "cartwheeling", skin = true),
            e("🤼", "people", "wrestling"),
            e("🤼‍♂️", "men", "wrestling"),
            e("🤼‍♀️", "women", "wrestling"),
            e("🤽", "person", "playing", "water", "polo", skin = true),
            e("🤽‍♂️", "man", "playing", "water", "polo", skin = true),
            e("🤽‍♀️", "woman", "playing", "water", "polo", skin = true),
            e("🤾", "person", "playing", "handball", skin = true),
            e("🤾‍♂️", "man", "playing", "handball", skin = true),
            e("🤾‍♀️", "woman", "playing", "handball", skin = true),
            e("🤹", "person", "juggling", skin = true),
            e("🤹‍♂️", "man", "juggling", skin = true),
            e("🤹‍♀️", "woman", "juggling", skin = true),
            e("🧘", "person", "in", "lotus", "position", "meditation", skin = true),
            e("🧘‍♂️", "man", "in", "lotus", "position", "meditation", skin = true),
            e("🧘‍♀️", "woman", "in", "lotus", "position", "meditation", skin = true),
            e("🛀", "person", "taking", "bath", "shower", skin = true),
            e("🛌", "person", "in", "bed", "sleeping", skin = true),
            e("🧑‍🤝‍🧑", "people", "holding", "hands", "couple", "date", skin = true),
            e("👭", "women", "holding", "hands", "two", "couple", "date", skin = true),
            e("👫", "woman", "and", "man", "holding", "hands", "couple", "date", skin = true),
            e("👬", "men", "holding", "hands", "two", "couple", "date", skin = true),
            e("💏", "kiss", "couplekiss", skin = true),
            e("👩‍❤️‍💋‍👨", "man", "couplekiss", "woman", skin = true),
            e("👨‍❤️‍💋‍👨", "man", "couplekiss", skin = true),
            e("👩‍❤️‍💋‍👩", "woman", "couplekiss", skin = true),
            e("💑", "couple", "with", "heart", skin = true),
            e("👩‍❤️‍👨", "couple", "with", "man", "heart", "woman", skin = true),
            e("👨‍❤️‍👨", "couple", "with", "man", "heart", skin = true),
            e("👩‍❤️‍👩", "couple", "with", "woman", "heart", skin = true),
            e("👪", "family", "home", "parents", "child"),
            e("👨‍👩‍👦", "boy", "family", "man", "woman"),
            e("👨‍👩‍👧", "girl", "family", "man", "woman"),
            e("👨‍👩‍👧‍👦", "boy", "family", "man", "woman", "girl"),
            e("👨‍👩‍👦‍👦", "boy", "family", "man", "woman"),
            e("👨‍👩‍👧‍👧", "girl", "family", "man", "woman"),
            e("👨‍👨‍👦", "boy", "family", "man"),
            e("👨‍👨‍👧", "girl", "family", "man"),
            e("👨‍👨‍👧‍👦", "boy", "family", "man", "girl"),
            e("👨‍👨‍👦‍👦", "boy", "family", "man"),
            e("👨‍👨‍👧‍👧", "girl", "family", "man"),
            e("👩‍👩‍👦", "boy", "family", "woman"),
            e("👩‍👩‍👧", "girl", "family", "woman"),
            e("👩‍👩‍👧‍👦", "boy", "family", "woman", "girl"),
            e("👩‍👩‍👦‍👦", "boy", "family", "woman"),
            e("👩‍👩‍👧‍👧", "girl", "family", "woman"),
            e("👨‍👦", "boy", "family", "man"),
            e("👨‍👦‍👦", "boy", "family", "man"),
            e("👨‍👧", "girl", "family", "man"),
            e("👨‍👧‍👦", "boy", "family", "man", "girl"),
            e("👨‍👧‍👧", "girl", "family", "man"),
            e("👩‍👦", "boy", "family", "woman"),
            e("👩‍👦‍👦", "boy", "family", "woman"),
            e("👩‍👧", "girl", "family", "woman"),
            e("👩‍👧‍👦", "boy", "family", "woman", "girl"),
            e("👩‍👧‍👧", "girl", "family", "woman"),
            e("🗣️", "speaking", "head"),
            e("👤", "bust", "in", "silhouette", "user"),
            e("👥", "busts", "in", "silhouette", "users", "group", "team"),
            e("🫂", "people", "hugging"),
            e("👣", "footprints", "feet", "tracks"),
        ),
    )

    private fun nature() = EmojiCategory(
        name = "Animals & Nature",
        icon = "🐾",
        emojis =
        listOf(
            e("🐵", "monkey", "face"),
            e("🐒", "monkey"),
            e("🦍", "gorilla"),
            e("🦧", "orangutan"),
            e("🐶", "dog", "face", "pet"),
            e("🐕", "dog", "dog2"),
            e("🦮", "guide", "dog"),
            e("🐕‍🦺", "service", "dog"),
            e("🐩", "poodle", "dog"),
            e("🐺", "wolf"),
            e("🦊", "fox", "face"),
            e("🦝", "raccoon"),
            e("🐱", "cat", "face", "pet"),
            e("🐈", "cat", "cat2"),
            e("🐈‍⬛", "black", "cat"),
            e("🦁", "lion"),
            e("🐯", "tiger", "face"),
            e("🐅", "tiger", "tiger2"),
            e("🐆", "leopard"),
            e("🐴", "horse", "face"),
            e("🫎", "moose", "canada"),
            e("🫏", "donkey", "mule"),
            e("🐎", "horse", "racehorse", "speed"),
            e("🦄", "unicorn"),
            e("🦓", "zebra"),
            e("🦌", "deer"),
            e("🦬", "bison"),
            e("🐮", "cow", "face"),
            e("🐂", "ox"),
            e("🐃", "water", "buffalo"),
            e("🐄", "cow", "cow2"),
            e("🐷", "pig", "face"),
            e("🐖", "pig", "pig2"),
            e("🐗", "boar"),
            e("🐽", "pig", "nose"),
            e("🐏", "ram"),
            e("🐑", "ewe", "sheep"),
            e("🐐", "goat"),
            e("🐪", "camel", "dromedary", "desert"),
            e("🐫", "two", "hump", "camel"),
            e("🦙", "llama"),
            e("🦒", "giraffe"),
            e("🐘", "elephant"),
            e("🦣", "mammoth"),
            e("🦏", "rhinoceros"),
            e("🦛", "hippopotamus"),
            e("🐭", "mouse", "face"),
            e("🐁", "mouse", "mouse2"),
            e("🐀", "rat"),
            e("🐹", "hamster", "pet"),
            e("🐰", "rabbit", "face", "bunny"),
            e("🐇", "rabbit", "rabbit2"),
            e("🐿️", "chipmunk"),
            e("🦫", "beaver"),
            e("🦔", "hedgehog"),
            e("🦇", "bat"),
            e("🐻", "bear"),
            e("🐻‍❄️", "polar", "bear"),
            e("🐨", "koala"),
            e("🐼", "panda", "face"),
            e("🦥", "sloth"),
            e("🦦", "otter"),
            e("🦨", "skunk"),
            e("🦘", "kangaroo"),
            e("🦡", "badger"),
            e("🐾", "paw", "prints", "feet"),
            e("🦃", "turkey", "thanksgiving"),
            e("🐔", "chicken"),
            e("🐓", "rooster"),
            e("🐣", "hatching", "chick"),
            e("🐤", "baby", "chick"),
            e("🐥", "front", "facing", "baby", "chick", "hatched"),
            e("🐦", "bird"),
            e("🐧", "penguin"),
            e("🕊️", "dove", "peace"),
            e("🦅", "eagle"),
            e("🦆", "duck"),
            e("🦢", "swan"),
            e("🦉", "owl"),
            e("🦤", "dodo"),
            e("🪶", "feather"),
            e("🦩", "flamingo"),
            e("🦚", "peacock"),
            e("🦜", "parrot"),
            e("🪽", "wing", "fly"),
            e("🐦‍⬛", "black", "bird"),
            e("🪿", "goose", "honk"),
            e("🐸", "frog"),
            e("🐊", "crocodile"),
            e("🐢", "turtle", "slow"),
            e("🦎", "lizard"),
            e("🐍", "snake"),
            e("🐲", "dragon", "face"),
            e("🐉", "dragon"),
            e("🦕", "sauropod", "dinosaur"),
            e("🦖", "t", "rex", "dinosaur"),
            e("🐳", "spouting", "whale", "sea"),
            e("🐋", "whale", "whale2"),
            e("🐬", "dolphin", "flipper"),
            e("🦭", "seal"),
            e("🐟", "fish"),
            e("🐠", "tropical", "fish"),
            e("🐡", "blowfish"),
            e("🦈", "shark"),
            e("🐙", "octopus"),
            e("🐚", "spiral", "shell", "sea", "beach"),
            e("🪸", "coral"),
            e("🪼", "jellyfish"),
            e("🐌", "snail", "slow"),
            e("🦋", "butterfly"),
            e("🐛", "bug"),
            e("🐜", "ant"),
            e("🐝", "honeybee", "bee"),
            e("🪲", "beetle"),
            e("🐞", "lady", "beetle", "bug"),
            e("🦗", "cricket"),
            e("🪳", "cockroach"),
            e("🕷️", "spider"),
            e("🕸️", "spider", "web"),
            e("🦂", "scorpion"),
            e("🦟", "mosquito"),
            e("🪰", "fly"),
            e("🪱", "worm"),
            e("🦠", "microbe", "germ"),
            e("💐", "bouquet", "flowers"),
            e("🌸", "cherry", "blossom", "flower", "spring"),
            e("💮", "white", "flower"),
            e("🪷", "lotus"),
            e("🏵️", "rosette"),
            e("🌹", "rose", "flower"),
            e("🥀", "wilted", "flower"),
            e("🌺", "hibiscus"),
            e("🌻", "sunflower"),
            e("🌼", "blossom"),
            e("🌷", "tulip", "flower"),
            e("🪻", "hyacinth"),
            e("🌱", "seedling", "plant"),
            e("🪴", "potted", "plant"),
            e("🌲", "evergreen", "tree", "wood"),
            e("🌳", "deciduous", "tree", "wood"),
            e("🌴", "palm", "tree"),
            e("🌵", "cactus"),
            e("🌾", "sheaf", "of", "rice", "ear"),
            e("🌿", "herb"),
            e("☘️", "shamrock"),
            e("🍀", "four", "leaf", "clover", "luck"),
            e("🍁", "maple", "leaf", "canada"),
            e("🍂", "fallen", "leaf", "autumn"),
            e("🍃", "leaf", "fluttering", "in", "wind", "leaves"),
            e("🪹", "empty", "nest"),
            e("🪺", "nest", "with", "eggs"),
            e("🍄", "mushroom", "fungus"),
        ),
    )

    private fun food() = EmojiCategory(
        name = "Food & Drink",
        icon = "🍔",
        emojis =
        listOf(
            e("🍇", "grapes"),
            e("🍈", "melon"),
            e("🍉", "watermelon"),
            e("🍊", "tangerine", "orange", "mandarin"),
            e("🍋", "lemon"),
            e("🍌", "banana", "fruit"),
            e("🍍", "pineapple"),
            e("🥭", "mango"),
            e("🍎", "red", "apple"),
            e("🍏", "green", "apple", "fruit"),
            e("🍐", "pear"),
            e("🍑", "peach"),
            e("🍒", "cherries", "fruit"),
            e("🍓", "strawberry", "fruit"),
            e("🫐", "blueberries"),
            e("🥝", "kiwi", "fruit"),
            e("🍅", "tomato"),
            e("🫒", "olive"),
            e("🥥", "coconut"),
            e("🥑", "avocado"),
            e("🍆", "eggplant", "aubergine"),
            e("🥔", "potato"),
            e("🥕", "carrot"),
            e("🌽", "ear", "of", "corn"),
            e("🌶️", "hot", "pepper", "spicy"),
            e("🫑", "bell", "pepper"),
            e("🥒", "cucumber"),
            e("🥬", "leafy", "green"),
            e("🥦", "broccoli"),
            e("🧄", "garlic"),
            e("🧅", "onion"),
            e("🥜", "peanuts"),
            e("🫘", "beans"),
            e("🌰", "chestnut"),
            e("🫚", "ginger", "root"),
            e("🫛", "pea", "pod"),
            e("🍞", "bread", "toast"),
            e("🥐", "croissant"),
            e("🥖", "baguette", "bread"),
            e("🫓", "flatbread"),
            e("🥨", "pretzel"),
            e("🥯", "bagel"),
            e("🥞", "pancakes"),
            e("🧇", "waffle"),
            e("🧀", "cheese", "wedge"),
            e("🍖", "meat", "on", "bone"),
            e("🍗", "poultry", "leg", "meat", "chicken"),
            e("🥩", "cut", "of", "meat"),
            e("🥓", "bacon"),
            e("🍔", "hamburger", "burger"),
            e("🍟", "french", "fries"),
            e("🍕", "pizza"),
            e("🌭", "hot", "dog", "hotdog"),
            e("🥪", "sandwich"),
            e("🌮", "taco"),
            e("🌯", "burrito"),
            e("🫔", "tamale"),
            e("🥙", "stuffed", "flatbread"),
            e("🧆", "falafel"),
            e("🥚", "egg"),
            e("🍳", "cooking", "fried", "egg", "breakfast"),
            e("🥘", "shallow", "pan", "of", "food", "paella", "curry"),
            e("🍲", "pot", "of", "food", "stew"),
            e("🫕", "fondue"),
            e("🥣", "bowl", "with", "spoon"),
            e("🥗", "green", "salad"),
            e("🍿", "popcorn"),
            e("🧈", "butter"),
            e("🧂", "salt"),
            e("🥫", "canned", "food"),
            e("🍱", "bento", "box"),
            e("🍘", "rice", "cracker"),
            e("🍙", "rice", "ball"),
            e("🍚", "cooked", "rice"),
            e("🍛", "curry", "rice"),
            e("🍜", "steaming", "bowl", "ramen", "noodle"),
            e("🍝", "spaghetti", "pasta"),
            e("🍠", "roasted", "sweet", "potato"),
            e("🍢", "oden"),
            e("🍣", "sushi"),
            e("🍤", "fried", "shrimp", "tempura"),
            e("🍥", "fish", "cake", "with", "swirl"),
            e("🥮", "moon", "cake"),
            e("🍡", "dango"),
            e("🥟", "dumpling"),
            e("🥠", "fortune", "cookie"),
            e("🥡", "takeout", "box"),
            e("🦀", "crab"),
            e("🦞", "lobster"),
            e("🦐", "shrimp"),
            e("🦑", "squid"),
            e("🦪", "oyster"),
            e("🍦", "soft", "ice", "cream", "icecream"),
            e("🍧", "shaved", "ice"),
            e("🍨", "ice", "cream"),
            e("🍩", "doughnut"),
            e("🍪", "cookie"),
            e("🎂", "birthday", "cake", "party"),
            e("🍰", "shortcake", "cake", "dessert"),
            e("🧁", "cupcake"),
            e("🥧", "pie"),
            e("🍫", "chocolate", "bar"),
            e("🍬", "candy", "sweet"),
            e("🍭", "lollipop"),
            e("🍮", "custard"),
            e("🍯", "honey", "pot"),
            e("🍼", "baby", "bottle", "milk"),
            e("🥛", "glass", "of", "milk"),
            e("☕", "hot", "beverage", "coffee", "cafe", "espresso"),
            e("🫖", "teapot"),
            e("🍵", "teacup", "without", "handle", "tea", "green", "breakfast"),
            e("🍶", "sake"),
            e("🍾", "bottle", "with", "popping", "cork", "champagne", "bubbly", "celebration"),
            e("🍷", "wine", "glass"),
            e("🍸", "cocktail", "glass", "drink"),
            e("🍹", "tropical", "drink", "summer", "vacation"),
            e("🍺", "beer", "mug", "drink"),
            e("🍻", "clinking", "beer", "mugs", "beers", "drinks"),
            e("🥂", "clinking", "glasses", "cheers", "toast"),
            e("🥃", "tumbler", "glass", "whisky"),
            e("🫗", "pouring", "liquid"),
            e("🥤", "cup", "with", "straw"),
            e("🧋", "bubble", "tea"),
            e("🧃", "beverage", "box"),
            e("🧉", "mate"),
            e("🧊", "ice", "cube"),
            e("🥢", "chopsticks"),
            e("🍽️", "fork", "and", "knife", "with", "plate", "cutlery", "dining", "dinner"),
            e("🍴", "fork", "and", "knife", "cutlery"),
            e("🥄", "spoon"),
            e("🔪", "kitchen", "knife", "hocho", "cut", "chop"),
            e("🫙", "jar"),
            e("🏺", "amphora"),
        ),
    )

    private fun travel() = EmojiCategory(
        name = "Travel & Places",
        icon = "✈️",
        emojis =
        listOf(
            e("🌍", "globe", "showing", "europe", "africa", "earth", "world", "international"),
            e("🌎", "globe", "showing", "americas", "earth", "world", "international"),
            e("🌏", "globe", "showing", "asia", "australia", "earth", "world", "international"),
            e("🌐", "globe", "with", "meridians", "world", "global", "international"),
            e("🗺️", "world", "map", "travel"),
            e("🗾", "map", "of", "japan"),
            e("🧭", "compass"),
            e("🏔️", "snow", "capped", "mountain"),
            e("⛰️", "mountain"),
            e("🌋", "volcano"),
            e("🗻", "mount", "fuji"),
            e("🏕️", "camping"),
            e("🏖️", "beach", "with", "umbrella"),
            e("🏜️", "desert"),
            e("🏝️", "desert", "island"),
            e("🏞️", "national", "park"),
            e("🏟️", "stadium"),
            e("🏛️", "classical", "building"),
            e("🏗️", "building", "construction"),
            e("🧱", "brick", "bricks"),
            e("🪨", "rock"),
            e("🪵", "wood"),
            e("🛖", "hut"),
            e("🏘️", "houses"),
            e("🏚️", "derelict", "house"),
            e("🏠", "house"),
            e("🏡", "house", "with", "garden"),
            e("🏢", "office", "building"),
            e("🏣", "japanese", "post", "office"),
            e("🏤", "post", "office", "european"),
            e("🏥", "hospital"),
            e("🏦", "bank"),
            e("🏨", "hotel"),
            e("🏩", "love", "hotel"),
            e("🏪", "convenience", "store"),
            e("🏫", "school"),
            e("🏬", "department", "store"),
            e("🏭", "factory"),
            e("🏯", "japanese", "castle"),
            e("🏰", "castle", "european"),
            e("💒", "wedding", "marriage"),
            e("🗼", "tokyo", "tower"),
            e("🗽", "statue", "of", "liberty"),
            e("⛪", "church"),
            e("🕌", "mosque"),
            e("🛕", "hindu", "temple"),
            e("🕍", "synagogue"),
            e("⛩️", "shinto", "shrine"),
            e("🕋", "kaaba"),
            e("⛲", "fountain"),
            e("⛺", "tent", "camping"),
            e("🌁", "foggy", "karl"),
            e("🌃", "night", "with", "stars"),
            e("🏙️", "cityscape", "skyline"),
            e("🌄", "sunrise", "over", "mountains"),
            e("🌅", "sunrise"),
            e("🌆", "cityscape", "at", "dusk", "city", "sunset"),
            e("🌇", "sunset", "city", "sunrise"),
            e("🌉", "bridge", "at", "night"),
            e("♨️", "hot", "springs", "hotsprings"),
            e("🎠", "carousel", "horse"),
            e("🛝", "playground", "slide"),
            e("🎡", "ferris", "wheel"),
            e("🎢", "roller", "coaster"),
            e("💈", "barber", "pole"),
            e("🎪", "circus", "tent"),
            e("🚂", "locomotive", "steam", "train"),
            e("🚃", "railway", "car"),
            e("🚄", "high", "speed", "train", "bullettrain", "side"),
            e("🚅", "bullet", "train", "bullettrain", "front"),
            e("🚆", "train", "train2"),
            e("🚇", "metro"),
            e("🚈", "light", "rail"),
            e("🚉", "station"),
            e("🚊", "tram"),
            e("🚝", "monorail"),
            e("🚞", "mountain", "railway"),
            e("🚋", "tram", "car", "train"),
            e("🚌", "bus"),
            e("🚍", "oncoming", "bus"),
            e("🚎", "trolleybus"),
            e("🚐", "minibus"),
            e("🚑", "ambulance"),
            e("🚒", "fire", "engine"),
            e("🚓", "police", "car"),
            e("🚔", "oncoming", "police", "car"),
            e("🚕", "taxi"),
            e("🚖", "oncoming", "taxi"),
            e("🚗", "automobile", "car", "red"),
            e("🚘", "oncoming", "automobile"),
            e("🚙", "sport", "utility", "vehicle", "blue", "car"),
            e("🛻", "pickup", "truck"),
            e("🚚", "delivery", "truck"),
            e("🚛", "articulated", "lorry"),
            e("🚜", "tractor"),
            e("🏎️", "racing", "car"),
            e("🏍️", "motorcycle"),
            e("🛵", "motor", "scooter"),
            e("🦽", "manual", "wheelchair"),
            e("🦼", "motorized", "wheelchair"),
            e("🛺", "auto", "rickshaw"),
            e("🚲", "bicycle", "bike"),
            e("🛴", "kick", "scooter"),
            e("🛹", "skateboard"),
            e("🛼", "roller", "skate"),
            e("🚏", "bus", "stop", "busstop"),
            e("🛣️", "motorway"),
            e("🛤️", "railway", "track"),
            e("🛢️", "oil", "drum"),
            e("⛽", "fuel", "pump", "fuelpump"),
            e("🛞", "wheel"),
            e("🚨", "police", "car", "light", "rotating", "911", "emergency"),
            e("🚥", "horizontal", "traffic", "light"),
            e("🚦", "vertical", "traffic", "light", "semaphore"),
            e("🛑", "stop", "sign"),
            e("🚧", "construction", "wip"),
            e("⚓", "anchor", "ship"),
            e("🛟", "ring", "buoy", "lifepreserver"),
            e("⛵", "sailboat", "boat"),
            e("🛶", "canoe"),
            e("🚤", "speedboat", "ship"),
            e("🛳️", "passenger", "ship", "cruise"),
            e("⛴️", "ferry"),
            e("🛥️", "motor", "boat"),
            e("🚢", "ship"),
            e("✈️", "airplane", "flight"),
            e("🛩️", "small", "airplane", "flight"),
            e("🛫", "airplane", "departure", "flight"),
            e("🛬", "airplane", "arrival", "flight"),
            e("🪂", "parachute"),
            e("💺", "seat"),
            e("🚁", "helicopter"),
            e("🚟", "suspension", "railway"),
            e("🚠", "mountain", "cableway"),
            e("🚡", "aerial", "tramway"),
            e("🛰️", "satellite", "artificial", "orbit", "space"),
            e("🚀", "rocket", "ship", "launch"),
            e("🛸", "flying", "saucer", "ufo"),
            e("🛎️", "bellhop", "bell"),
            e("🧳", "luggage"),
            e("⌛", "hourglass", "done", "time"),
            e("⏳", "hourglass", "not", "done", "flowing", "sand", "time"),
            e("⌚", "watch", "time"),
            e("⏰", "alarm", "clock", "morning"),
            e("⏱️", "stopwatch"),
            e("⏲️", "timer", "clock"),
            e("🕰️", "mantelpiece", "clock"),
            e("🕛", "twelve", "clock12"),
            e("🕧", "twelve", "thirty", "clock1230"),
            e("🕐", "one", "clock1"),
            e("🕜", "one", "thirty", "clock130"),
            e("🕑", "two", "clock2"),
            e("🕝", "two", "thirty", "clock230"),
            e("🕒", "three", "clock3"),
            e("🕞", "three", "thirty", "clock330"),
            e("🕓", "four", "clock4"),
            e("🕟", "four", "thirty", "clock430"),
            e("🕔", "five", "clock5"),
            e("🕠", "five", "thirty", "clock530"),
            e("🕕", "six", "clock6"),
            e("🕡", "six", "thirty", "clock630"),
            e("🕖", "seven", "clock7"),
            e("🕢", "seven", "thirty", "clock730"),
            e("🕗", "eight", "clock8"),
            e("🕣", "eight", "thirty", "clock830"),
            e("🕘", "nine", "clock9"),
            e("🕤", "nine", "thirty", "clock930"),
            e("🕙", "ten", "clock10"),
            e("🕥", "ten", "thirty", "clock1030"),
            e("🕚", "eleven", "clock11"),
            e("🕦", "eleven", "thirty", "clock1130"),
            e("🌑", "new", "moon"),
            e("🌒", "waxing", "crescent", "moon"),
            e("🌓", "first", "quarter", "moon"),
            e("🌔", "waxing", "gibbous", "moon"),
            e("🌕", "full", "moon"),
            e("🌖", "waning", "gibbous", "moon"),
            e("🌗", "last", "quarter", "moon"),
            e("🌘", "waning", "crescent", "moon"),
            e("🌙", "crescent", "moon", "night"),
            e("🌚", "new", "moon", "face", "with"),
            e("🌛", "first", "quarter", "moon", "face", "with"),
            e("🌜", "last", "quarter", "moon", "face", "with"),
            e("🌡️", "thermometer"),
            e("☀️", "sun", "sunny", "weather"),
            e("🌝", "full", "moon", "face", "with"),
            e("🌞", "sun", "with", "face", "summer"),
            e("🪐", "ringed", "planet"),
            e("⭐", "star"),
            e("🌟", "glowing", "star", "star2"),
            e("🌠", "shooting", "star", "stars"),
            e("🌌", "milky", "way"),
            e("☁️", "cloud"),
            e("⛅", "sun", "behind", "cloud", "partly", "sunny", "weather"),
            e("⛈️", "cloud", "with", "lightning", "and", "rain"),
            e("🌤️", "sun", "behind", "small", "cloud"),
            e("🌥️", "sun", "behind", "large", "cloud"),
            e("🌦️", "sun", "behind", "rain", "cloud"),
            e("🌧️", "cloud", "with", "rain"),
            e("🌨️", "cloud", "with", "snow"),
            e("🌩️", "cloud", "with", "lightning"),
            e("🌪️", "tornado"),
            e("🌫️", "fog"),
            e("🌬️", "wind", "face"),
            e("🌀", "cyclone", "swirl"),
            e("🌈", "rainbow"),
            e("🌂", "closed", "umbrella", "weather", "rain"),
            e("☂️", "umbrella", "open"),
            e("☔", "umbrella", "with", "rain", "drops", "weather"),
            e("⛱️", "umbrella", "on", "ground", "parasol", "beachumbrella"),
            e("⚡", "high", "voltage", "zap", "lightning", "thunder"),
            e("❄️", "snowflake", "winter", "cold", "weather"),
            e("☃️", "snowman", "with", "snow", "winter", "christmas"),
            e("⛄", "snowman", "without", "snow", "winter"),
            e("☄️", "comet"),
            e("🔥", "fire", "burn"),
            e("💧", "droplet", "water"),
            e("🌊", "water", "wave", "ocean", "sea"),
        ),
    )

    private fun activities() = EmojiCategory(
        name = "Activities",
        icon = "⚽",
        emojis =
        listOf(
            e("🎃", "jack", "o", "lantern", "halloween"),
            e("🎄", "christmas", "tree"),
            e("🎆", "fireworks", "festival", "celebration"),
            e("🎇", "sparkler"),
            e("🧨", "firecracker"),
            e("✨", "sparkles", "shiny"),
            e("🎈", "balloon", "party", "birthday"),
            e("🎉", "party", "popper", "tada", "hooray"),
            e("🎊", "confetti", "ball"),
            e("🎋", "tanabata", "tree"),
            e("🎍", "pine", "decoration", "bamboo"),
            e("🎎", "japanese", "dolls"),
            e("🎏", "carp", "streamer", "flags"),
            e("🎐", "wind", "chime"),
            e("🎑", "moon", "viewing", "ceremony", "rice", "scene"),
            e("🧧", "red", "envelope"),
            e("🎀", "ribbon"),
            e("🎁", "wrapped", "gift", "present", "birthday", "christmas"),
            e("🎗️", "reminder", "ribbon"),
            e("🎟️", "admission", "tickets"),
            e("🎫", "ticket"),
            e("🎖️", "military", "medal"),
            e("🏆", "trophy", "award", "contest", "winner"),
            e("🏅", "sports", "medal", "gold", "winner"),
            e("🥇", "1st", "place", "medal", "gold"),
            e("🥈", "2nd", "place", "medal", "silver"),
            e("🥉", "3rd", "place", "medal", "bronze"),
            e("⚽", "soccer", "ball", "sports"),
            e("⚾", "baseball", "sports"),
            e("🥎", "softball"),
            e("🏀", "basketball", "sports"),
            e("🏐", "volleyball"),
            e("🏈", "american", "football", "sports"),
            e("🏉", "rugby", "football"),
            e("🎾", "tennis", "sports"),
            e("🥏", "flying", "disc"),
            e("🎳", "bowling"),
            e("🏏", "cricket", "game"),
            e("🏑", "field", "hockey"),
            e("🏒", "ice", "hockey"),
            e("🥍", "lacrosse"),
            e("🏓", "ping", "pong"),
            e("🏸", "badminton"),
            e("🥊", "boxing", "glove"),
            e("🥋", "martial", "arts", "uniform"),
            e("🥅", "goal", "net"),
            e("⛳", "flag", "in", "hole", "golf"),
            e("⛸️", "ice", "skate", "skating"),
            e("🎣", "fishing", "pole", "and", "fish"),
            e("🤿", "diving", "mask"),
            e("🎽", "running", "shirt", "with", "sash", "marathon"),
            e("🎿", "skis", "ski"),
            e("🛷", "sled"),
            e("🥌", "curling", "stone"),
            e("🎯", "bullseye", "dart", "target"),
            e("🪀", "yo"),
            e("🪁", "kite"),
            e("🔫", "water", "pistol", "gun", "shoot", "weapon"),
            e("🎱", "pool", "8", "ball", "8ball", "billiards"),
            e("🔮", "crystal", "ball", "fortune"),
            e("🪄", "magic", "wand"),
            e("🎮", "video", "game", "play", "controller", "console"),
            e("🕹️", "joystick"),
            e("🎰", "slot", "machine"),
            e("🎲", "game", "die", "dice", "gambling"),
            e("🧩", "puzzle", "piece", "jigsaw"),
            e("🧸", "teddy", "bear"),
            e("🪅", "piñata", "pinata"),
            e("🪩", "mirror", "ball", "disco", "party"),
            e("🪆", "nesting", "dolls"),
            e("♠️", "spade", "suit", "spades"),
            e("♥️", "heart", "suit", "hearts"),
            e("♦️", "diamond", "suit", "diamonds"),
            e("♣️", "club", "suit", "clubs"),
            e("♟️", "chess", "pawn"),
            e("🃏", "joker", "black"),
            e("🀄", "mahjong", "red", "dragon"),
            e("🎴", "flower", "playing", "cards"),
            e("🎭", "performing", "arts", "theater", "drama"),
            e("🖼️", "framed", "picture"),
            e("🎨", "artist", "palette", "art", "design", "paint"),
            e("🧵", "thread"),
            e("🪡", "sewing", "needle"),
            e("🧶", "yarn"),
            e("🪢", "knot"),
        ),
    )

    private fun objects() = EmojiCategory(
        name = "Objects",
        icon = "💡",
        emojis =
        listOf(
            e("👓", "glasses", "eyeglasses"),
            e("🕶️", "sunglasses", "dark"),
            e("🥽", "goggles"),
            e("🥼", "lab", "coat"),
            e("🦺", "safety", "vest"),
            e("👔", "necktie", "shirt", "formal"),
            e("👕", "t", "shirt", "tshirt"),
            e("👖", "jeans", "pants"),
            e("🧣", "scarf"),
            e("🧤", "gloves"),
            e("🧥", "coat"),
            e("🧦", "socks"),
            e("👗", "dress"),
            e("👘", "kimono"),
            e("🥻", "sari"),
            e("🩱", "one", "piece", "swimsuit"),
            e("🩲", "briefs", "swim", "brief"),
            e("🩳", "shorts"),
            e("👙", "bikini", "beach"),
            e("👚", "clothes", "womans"),
            e("🪭", "folding", "hand", "fan", "sensu"),
            e("👛", "purse"),
            e("👜", "handbag", "bag"),
            e("👝", "clutch", "bag", "pouch"),
            e("🛍️", "shopping", "bags"),
            e("🎒", "backpack", "school", "satchel"),
            e("🩴", "thong", "sandal"),
            e("👞", "shoe", "mans"),
            e("👟", "running", "shoe", "athletic", "sneaker", "sport"),
            e("🥾", "hiking", "boot"),
            e("🥿", "flat", "shoe"),
            e("👠", "high", "heeled", "shoe", "heel"),
            e("👡", "sandal", "shoe"),
            e("🩰", "ballet", "shoes"),
            e("👢", "boot"),
            e("🪮", "hair", "pick"),
            e("👑", "crown", "king", "queen", "royal"),
            e("👒", "hat", "womans"),
            e("🎩", "top", "hat", "tophat", "classy"),
            e("🎓", "graduation", "cap", "mortar", "board", "education", "college", "university"),
            e("🧢", "billed", "cap"),
            e("🪖", "military", "helmet"),
            e("⛑️", "rescue", "helmet", "worker"),
            e("📿", "prayer", "beads"),
            e("💄", "lipstick", "makeup"),
            e("💍", "ring", "wedding", "marriage", "engaged"),
            e("💎", "gem", "stone", "diamond"),
            e("🔇", "muted", "speaker", "mute", "sound", "volume"),
            e("🔈", "speaker", "low", "volume"),
            e("🔉", "speaker", "medium", "volume", "sound"),
            e("🔊", "speaker", "high", "volume", "loud", "sound"),
            e("📢", "loudspeaker", "announcement"),
            e("📣", "megaphone", "mega"),
            e("📯", "postal", "horn"),
            e("🔔", "bell", "sound", "notification"),
            e("🔕", "bell", "with", "slash", "no", "volume", "off"),
            e("🎼", "musical", "score"),
            e("🎵", "musical", "note"),
            e("🎶", "musical", "notes", "music"),
            e("🎙️", "studio", "microphone", "podcast"),
            e("🎚️", "level", "slider"),
            e("🎛️", "control", "knobs"),
            e("🎤", "microphone", "sing"),
            e("🎧", "headphone", "headphones", "music", "earphones"),
            e("📻", "radio", "podcast"),
            e("🎷", "saxophone"),
            e("🪗", "accordion"),
            e("🎸", "guitar", "rock"),
            e("🎹", "musical", "keyboard", "piano"),
            e("🎺", "trumpet"),
            e("🎻", "violin"),
            e("🪕", "banjo"),
            e("🥁", "drum"),
            e("🪘", "long", "drum"),
            e("🪇", "maracas", "shaker"),
            e("🪈", "flute", "recorder"),
            e("📱", "mobile", "phone", "iphone", "smartphone"),
            e("📲", "mobile", "phone", "with", "arrow", "calling", "call", "incoming"),
            e("☎️", "telephone", "phone"),
            e("📞", "telephone", "receiver", "phone", "call"),
            e("📟", "pager"),
            e("📠", "fax", "machine"),
            e("🔋", "battery", "power"),
            e("🪫", "low", "battery"),
            e("🔌", "electric", "plug"),
            e("💻", "laptop", "computer", "desktop", "screen"),
            e("🖥️", "desktop", "computer"),
            e("🖨️", "printer"),
            e("⌨️", "keyboard"),
            e("🖱️", "computer", "mouse"),
            e("🖲️", "trackball"),
            e("💽", "computer", "disk", "minidisc"),
            e("💾", "floppy", "disk", "save"),
            e("💿", "optical", "disk", "cd"),
            e("📀", "dvd"),
            e("🧮", "abacus"),
            e("🎥", "movie", "camera", "film", "video"),
            e("🎞️", "film", "frames", "strip"),
            e("📽️", "film", "projector"),
            e("🎬", "clapper", "board", "film"),
            e("📺", "television", "tv"),
            e("📷", "camera", "photo"),
            e("📸", "camera", "with", "flash", "photo"),
            e("📹", "video", "camera"),
            e("📼", "videocassette", "vhs"),
            e("🔍", "magnifying", "glass", "tilted", "left", "mag", "search", "zoom"),
            e("🔎", "magnifying", "glass", "tilted", "right", "mag"),
            e("🕯️", "candle"),
            e("💡", "light", "bulb", "idea"),
            e("🔦", "flashlight"),
            e("🏮", "red", "paper", "lantern", "izakaya"),
            e("🪔", "diya", "lamp"),
            e("📔", "notebook", "with", "decorative", "cover"),
            e("📕", "closed", "book"),
            e("📖", "open", "book"),
            e("📗", "green", "book"),
            e("📘", "blue", "book"),
            e("📙", "orange", "book"),
            e("📚", "books", "library"),
            e("📓", "notebook"),
            e("📒", "ledger"),
            e("📃", "page", "with", "curl"),
            e("📜", "scroll", "document"),
            e("📄", "page", "facing", "up", "document"),
            e("📰", "newspaper", "press"),
            e("🗞️", "rolled", "up", "newspaper", "roll", "press"),
            e("📑", "bookmark", "tabs"),
            e("🔖", "bookmark"),
            e("🏷️", "label", "tag"),
            e("💰", "money", "bag", "moneybag", "dollar", "cream"),
            e("🪙", "coin"),
            e("💴", "yen", "banknote"),
            e("💵", "dollar", "banknote", "money"),
            e("💶", "euro", "banknote"),
            e("💷", "pound", "banknote"),
            e("💸", "money", "with", "wings", "dollar"),
            e("💳", "credit", "card", "subscription"),
            e("🧾", "receipt"),
            e("💹", "chart", "increasing", "with", "yen"),
            e("✉️", "envelope", "letter", "email"),
            e("📧", "e", "mail", "email"),
            e("📨", "incoming", "envelope"),
            e("📩", "envelope", "with", "arrow"),
            e("📤", "outbox", "tray"),
            e("📥", "inbox", "tray"),
            e("📦", "package", "shipping"),
            e("📫", "closed", "mailbox", "with", "raised", "flag"),
            e("📪", "closed", "mailbox", "with", "lowered", "flag"),
            e("📬", "open", "mailbox", "with", "raised", "flag", "mail"),
            e("📭", "open", "mailbox", "with", "lowered", "flag", "no", "mail"),
            e("📮", "postbox"),
            e("🗳️", "ballot", "box", "with"),
            e("✏️", "pencil", "pencil2"),
            e("✒️", "black", "nib"),
            e("🖋️", "fountain", "pen"),
            e("🖊️", "pen"),
            e("🖌️", "paintbrush"),
            e("🖍️", "crayon"),
            e("📝", "memo", "pencil", "document", "note"),
            e("💼", "briefcase", "business"),
            e("📁", "file", "folder", "directory"),
            e("📂", "open", "file", "folder"),
            e("🗂️", "card", "index", "dividers"),
            e("📅", "calendar", "date", "schedule"),
            e("📆", "tear", "off", "calendar", "schedule"),
            e("🗒️", "spiral", "notepad"),
            e("🗓️", "spiral", "calendar"),
            e("📇", "card", "index"),
            e("📈", "chart", "increasing", "with", "upwards", "trend", "graph", "metrics"),
            e("📉", "chart", "decreasing", "with", "downwards", "trend", "graph", "metrics"),
            e("📊", "bar", "chart", "stats", "metrics"),
            e("📋", "clipboard"),
            e("📌", "pushpin", "location"),
            e("📍", "round", "pushpin", "location"),
            e("📎", "paperclip"),
            e("🖇️", "linked", "paperclips"),
            e("📏", "straight", "ruler"),
            e("📐", "triangular", "ruler"),
            e("✂️", "scissors", "cut"),
            e("🗃️", "card", "file", "box"),
            e("🗄️", "file", "cabinet"),
            e("🗑️", "wastebasket", "trash"),
            e("🔒", "locked", "lock", "security", "private"),
            e("🔓", "unlocked", "unlock", "security"),
            e("🔏", "locked", "with", "pen", "lock", "ink"),
            e("🔐", "locked", "with", "key", "closed", "lock", "security"),
            e("🔑", "key", "lock", "password"),
            e("🗝️", "old", "key"),
            e("🔨", "hammer", "tool"),
            e("🪓", "axe"),
            e("⛏️", "pick"),
            e("⚒️", "hammer", "and", "pick"),
            e("🛠️", "hammer", "and", "wrench"),
            e("🗡️", "dagger"),
            e("⚔️", "crossed", "swords"),
            e("💣", "bomb", "boom"),
            e("🪃", "boomerang"),
            e("🏹", "bow", "and", "arrow", "archery"),
            e("🛡️", "shield"),
            e("🪚", "carpentry", "saw"),
            e("🔧", "wrench", "tool"),
            e("🪛", "screwdriver"),
            e("🔩", "nut", "and", "bolt"),
            e("⚙️", "gear"),
            e("🗜️", "clamp"),
            e("⚖️", "balance", "scale"),
            e("🦯", "white", "cane", "probing"),
            e("🔗", "link"),
            e("⛓️", "chains"),
            e("🪝", "hook"),
            e("🧰", "toolbox"),
            e("🧲", "magnet"),
            e("🪜", "ladder"),
            e("⚗️", "alembic"),
            e("🧪", "test", "tube"),
            e("🧫", "petri", "dish"),
            e("🧬", "dna"),
            e("🔬", "microscope", "science", "laboratory", "investigate"),
            e("🔭", "telescope"),
            e("📡", "satellite", "antenna", "signal"),
            e("💉", "syringe", "health", "hospital", "needle"),
            e("🩸", "drop", "of", "blood"),
            e("💊", "pill", "health", "medicine"),
            e("🩹", "adhesive", "bandage"),
            e("🩼", "crutch"),
            e("🩺", "stethoscope"),
            e("🩻", "x", "ray"),
            e("🚪", "door"),
            e("🛗", "elevator"),
            e("🪞", "mirror"),
            e("🪟", "window"),
            e("🛏️", "bed"),
            e("🛋️", "couch", "and", "lamp"),
            e("🪑", "chair"),
            e("🚽", "toilet", "wc"),
            e("🪠", "plunger"),
            e("🚿", "shower", "bath"),
            e("🛁", "bathtub"),
            e("🪤", "mouse", "trap"),
            e("🪒", "razor"),
            e("🧴", "lotion", "bottle"),
            e("🧷", "safety", "pin"),
            e("🧹", "broom"),
            e("🧺", "basket"),
            e("🧻", "roll", "of", "paper", "toilet"),
            e("🪣", "bucket"),
            e("🧼", "soap"),
            e("🫧", "bubbles"),
            e("🪥", "toothbrush"),
            e("🧽", "sponge"),
            e("🧯", "fire", "extinguisher"),
            e("🛒", "shopping", "cart"),
            e("🚬", "cigarette", "smoking"),
            e("⚰️", "coffin", "funeral"),
            e("🪦", "headstone"),
            e("⚱️", "funeral", "urn"),
            e("🧿", "nazar", "amulet"),
            e("🪬", "hamsa"),
            e("🗿", "moai", "moyai", "stone"),
            e("🪧", "placard"),
            e("🪪", "identification", "card"),
        ),
    )

    private fun symbols() = EmojiCategory(
        name = "Symbols",
        icon = "🔣",
        emojis =
        listOf(
            e("🏧", "atm", "sign"),
            e("🚮", "litter", "in", "bin", "sign", "put", "its", "place"),
            e("🚰", "potable", "water"),
            e("♿", "wheelchair", "symbol", "accessibility"),
            e("🚹", "room", "mens"),
            e("🚺", "room", "womens"),
            e("🚻", "restroom", "toilet"),
            e("🚼", "baby", "symbol"),
            e("🚾", "water", "closet", "wc", "toilet", "restroom"),
            e("🛂", "passport", "control"),
            e("🛃", "customs"),
            e("🛄", "baggage", "claim", "airport"),
            e("🛅", "left", "luggage"),
            e("⚠️", "warning", "wip"),
            e("🚸", "children", "crossing"),
            e("⛔", "no", "entry", "limit"),
            e("🚫", "prohibited", "no", "entry", "sign", "block", "forbidden"),
            e("🚳", "no", "bicycles"),
            e("🚭", "no", "smoking"),
            e("🚯", "no", "littering", "do", "not", "litter"),
            e("🚱", "non", "potable", "water"),
            e("🚷", "no", "pedestrians"),
            e("📵", "no", "mobile", "phones"),
            e("🔞", "no", "one", "under", "eighteen", "underage"),
            e("☢️", "radioactive"),
            e("☣️", "biohazard"),
            e("⬆️", "up", "arrow"),
            e("↗️", "up", "right", "arrow", "upper"),
            e("➡️", "right", "arrow"),
            e("↘️", "down", "right", "arrow", "lower"),
            e("⬇️", "down", "arrow"),
            e("↙️", "down", "left", "arrow", "lower"),
            e("⬅️", "left", "arrow"),
            e("↖️", "up", "left", "arrow", "upper"),
            e("↕️", "up", "down", "arrow"),
            e("↔️", "left", "right", "arrow"),
            e("↩️", "right", "arrow", "curving", "left", "leftwards", "with", "hook", "return"),
            e("↪️", "left", "arrow", "curving", "right", "hook"),
            e("⤴️", "right", "arrow", "curving", "up", "heading"),
            e("⤵️", "right", "arrow", "curving", "down", "heading"),
            e("🔃", "clockwise", "vertical", "arrows"),
            e("🔄", "counterclockwise", "arrows", "button", "sync"),
            e("🔙", "back", "arrow"),
            e("🔚", "end", "arrow"),
            e("🔛", "arrow", "on"),
            e("🔜", "soon", "arrow"),
            e("🔝", "top", "arrow"),
            e("🛐", "place", "of", "worship"),
            e("⚛️", "atom", "symbol"),
            e("🕉️", "om"),
            e("✡️", "star", "of", "david"),
            e("☸️", "wheel", "of", "dharma"),
            e("☯️", "yin", "yang"),
            e("✝️", "latin", "cross"),
            e("☦️", "orthodox", "cross"),
            e("☪️", "star", "and", "crescent"),
            e("☮️", "peace", "symbol"),
            e("🕎", "menorah"),
            e("🔯", "dotted", "six", "pointed", "star"),
            e("🪯", "khanda"),
            e("♈", "aries"),
            e("♉", "taurus"),
            e("♊", "gemini"),
            e("♋", "cancer"),
            e("♌", "leo"),
            e("♍", "virgo"),
            e("♎", "libra"),
            e("♏", "scorpio", "scorpius"),
            e("♐", "sagittarius"),
            e("♑", "capricorn"),
            e("♒", "aquarius"),
            e("♓", "pisces"),
            e("⛎", "ophiuchus"),
            e("🔀", "shuffle", "tracks", "button", "twisted", "rightwards", "arrows"),
            e("🔁", "repeat", "button", "loop"),
            e("🔂", "repeat", "single", "button", "one"),
            e("▶️", "play", "button", "arrow", "forward"),
            e("⏩", "fast", "forward", "button"),
            e("⏭️", "next", "track", "button"),
            e("⏯️", "play", "or", "pause", "button"),
            e("◀️", "reverse", "button", "arrow", "backward"),
            e("⏪", "fast", "reverse", "button", "rewind"),
            e("⏮️", "last", "track", "button", "previous"),
            e("🔼", "upwards", "button", "arrow", "up", "small"),
            e("⏫", "fast", "up", "button", "arrow", "double"),
            e("🔽", "downwards", "button", "arrow", "down", "small"),
            e("⏬", "fast", "down", "button", "arrow", "double"),
            e("⏸️", "pause", "button"),
            e("⏹️", "stop", "button"),
            e("⏺️", "record", "button"),
            e("⏏️", "eject", "button"),
            e("🎦", "cinema", "film", "movie"),
            e("🔅", "dim", "button", "low", "brightness"),
            e("🔆", "bright", "button", "high", "brightness"),
            e("📶", "antenna", "bars", "signal", "strength", "wifi"),
            e("🛜", "wireless", "wifi"),
            e("📳", "vibration", "mode"),
            e("📴", "mobile", "phone", "off", "mute"),
            e("♀️", "female", "sign"),
            e("♂️", "male", "sign"),
            e("⚧️", "transgender", "symbol"),
            e("✖️", "multiply", "heavy", "multiplication", "x"),
            e("➕", "plus", "heavy", "sign"),
            e("➖", "minus", "heavy", "sign"),
            e("➗", "divide", "heavy", "division", "sign"),
            e("🟰", "heavy", "equals", "sign"),
            e("♾️", "infinity"),
            e("‼️", "double", "exclamation", "mark", "bangbang"),
            e("⁉️", "exclamation", "question", "mark", "interrobang"),
            e("❓", "red", "question", "mark", "confused"),
            e("❔", "white", "question", "mark", "grey"),
            e("❕", "white", "exclamation", "mark", "grey"),
            e("❗", "red", "exclamation", "mark", "heavy", "bang"),
            e("〰️", "wavy", "dash"),
            e("💱", "currency", "exchange"),
            e("💲", "heavy", "dollar", "sign"),
            e("⚕️", "medical", "symbol"),
            e("♻️", "recycling", "symbol", "recycle", "environment", "green"),
            e("⚜️", "fleur", "de", "lis"),
            e("🔱", "trident", "emblem"),
            e("📛", "name", "badge"),
            e("🔰", "japanese", "symbol", "for", "beginner"),
            e("⭕", "hollow", "red", "circle", "o"),
            e("✅", "check", "mark", "button", "white"),
            e("☑️", "check", "box", "with", "ballot"),
            e("✔️", "check", "mark", "heavy"),
            e("❌", "cross", "mark", "x"),
            e("❎", "cross", "mark", "button", "negative", "squared"),
            e("➰", "curly", "loop"),
            e("➿", "double", "curly", "loop"),
            e("〽️", "part", "alternation", "mark"),
            e("✳️", "eight", "spoked", "asterisk"),
            e("✴️", "eight", "pointed", "star", "black"),
            e("❇️", "sparkle"),
            e("©️", "copyright"),
            e("®️", "registered"),
            e("™️", "trade", "mark", "tm", "trademark"),
            e("#️⃣", "hash", "number"),
            e("*️⃣", "asterisk"),
            e("0️⃣", "0", "zero"),
            e("1️⃣", "1", "one"),
            e("2️⃣", "2", "two"),
            e("3️⃣", "3", "three"),
            e("4️⃣", "4", "four"),
            e("5️⃣", "5", "five"),
            e("6️⃣", "6", "six"),
            e("7️⃣", "7", "seven"),
            e("8️⃣", "8", "eight"),
            e("9️⃣", "9", "nine"),
            e("🔟", "10", "keycap", "ten"),
            e("🔠", "input", "latin", "uppercase", "capital", "abcd", "letters"),
            e("🔡", "input", "latin", "lowercase", "abcd"),
            e("🔢", "input", "numbers", "1234"),
            e("🔣", "input", "symbols"),
            e("🔤", "input", "latin", "letters", "abc", "alphabet"),
            e("🅰️", "a", "button"),
            e("🆎", "ab", "button"),
            e("🅱️", "b", "button"),
            e("🆑", "cl", "button"),
            e("🆒", "cool", "button"),
            e("🆓", "free", "button"),
            e("ℹ️", "information", "source"),
            e("🆔", "id", "button"),
            e("Ⓜ️", "circled", "m"),
            e("🆕", "new", "button", "fresh"),
            e("🆖", "ng", "button"),
            e("🅾️", "o", "button", "o2"),
            e("🆗", "ok", "button", "yes"),
            e("🅿️", "p", "button", "parking"),
            e("🆘", "sos", "button", "help", "emergency"),
            e("🆙", "button", "up"),
            e("🆚", "vs", "button"),
            e("🈁", "japanese", "button", "koko"),
            e("🈂️", "japanese", "button", "sa"),
            e("🈷️", "japanese", "button", "u6708"),
            e("🈶", "japanese", "free", "of", "button", "u6709"),
            e("🈯", "japanese", "button", "u6307"),
            e("🉐", "japanese", "button", "ideograph", "advantage"),
            e("🈹", "japanese", "button", "u5272"),
            e("🈚", "japanese", "of", "button", "u7121"),
            e("🈲", "japanese", "button", "u7981"),
            e("🉑", "japanese", "button", "accept"),
            e("🈸", "japanese", "button", "u7533"),
            e("🈴", "japanese", "button", "u5408"),
            e("🈳", "japanese", "button", "u7a7a"),
            e("㊗️", "japanese", "button", "congratulations"),
            e("㊙️", "japanese", "button", "secret"),
            e("🈺", "japanese", "for", "button", "u55b6"),
            e("🈵", "japanese", "button", "u6e80"),
            e("🔴", "red", "circle"),
            e("🟠", "orange", "circle"),
            e("🟡", "yellow", "circle"),
            e("🟢", "green", "circle"),
            e("🔵", "blue", "circle", "large"),
            e("🟣", "purple", "circle"),
            e("🟤", "brown", "circle"),
            e("⚫", "black", "circle"),
            e("⚪", "white", "circle"),
            e("🟥", "red", "square"),
            e("🟧", "orange", "square"),
            e("🟨", "yellow", "square"),
            e("🟩", "green", "square"),
            e("🟦", "blue", "square"),
            e("🟪", "purple", "square"),
            e("🟫", "brown", "square"),
            e("⬛", "black", "large", "square"),
            e("⬜", "white", "large", "square"),
            e("◼️", "black", "medium", "square"),
            e("◻️", "white", "medium", "square"),
            e("◾", "black", "medium", "small", "square"),
            e("◽", "white", "medium", "small", "square"),
            e("▪️", "black", "small", "square"),
            e("▫️", "white", "small", "square"),
            e("🔶", "large", "orange", "diamond"),
            e("🔷", "large", "blue", "diamond"),
            e("🔸", "small", "orange", "diamond"),
            e("🔹", "small", "blue", "diamond"),
            e("🔺", "red", "triangle", "pointed", "up", "small"),
            e("🔻", "red", "triangle", "pointed", "down", "small"),
            e("💠", "diamond", "with", "a", "dot", "shape", "inside"),
            e("🔘", "radio", "button"),
            e("🔳", "white", "square", "button"),
            e("🔲", "black", "square", "button"),
        ),
    )

    private fun flags() = EmojiCategory(
        name = "Flags",
        icon = "🏁",
        emojis =
        listOf(
            e("🏁", "chequered", "flag", "checkered", "milestone", "finish"),
            e("🚩", "triangular", "flag", "on", "post"),
            e("🎌", "crossed", "flags"),
            e("🏴", "black", "flag"),
            e("🏳️", "white", "flag"),
            e("🏳️‍🌈", "rainbow", "flag", "pride"),
            e("🏳️‍⚧️", "transgender", "flag"),
            e("🏴‍☠️", "pirate", "flag"),
            e("🇦🇨", "ascension", "island"),
            e("🇦🇩", "andorra"),
            e("🇦🇪", "united", "arab", "emirates"),
            e("🇦🇫", "afghanistan"),
            e("🇦🇬", "antigua", "barbuda"),
            e("🇦🇮", "anguilla"),
            e("🇦🇱", "albania"),
            e("🇦🇲", "armenia"),
            e("🇦🇴", "angola"),
            e("🇦🇶", "antarctica"),
            e("🇦🇷", "argentina"),
            e("🇦🇸", "american", "samoa"),
            e("🇦🇹", "austria"),
            e("🇦🇺", "australia"),
            e("🇦🇼", "aruba"),
            e("🇦🇽", "åland", "islands", "aland"),
            e("🇦🇿", "azerbaijan"),
            e("🇧🇦", "bosnia", "herzegovina"),
            e("🇧🇧", "barbados"),
            e("🇧🇩", "bangladesh"),
            e("🇧🇪", "belgium"),
            e("🇧🇫", "burkina", "faso"),
            e("🇧🇬", "bulgaria"),
            e("🇧🇭", "bahrain"),
            e("🇧🇮", "burundi"),
            e("🇧🇯", "benin"),
            e("🇧🇱", "barthélemy", "st", "barthelemy"),
            e("🇧🇲", "bermuda"),
            e("🇧🇳", "brunei"),
            e("🇧🇴", "bolivia"),
            e("🇧🇶", "caribbean", "netherlands"),
            e("🇧🇷", "brazil"),
            e("🇧🇸", "bahamas"),
            e("🇧🇹", "bhutan"),
            e("🇧🇻", "bouvet", "island"),
            e("🇧🇼", "botswana"),
            e("🇧🇾", "belarus"),
            e("🇧🇿", "belize"),
            e("🇨🇦", "canada"),
            e("🇨🇨", "cocos", "islands", "keeling"),
            e("🇨🇩", "congo", "kinshasa"),
            e("🇨🇫", "central", "african", "republic"),
            e("🇨🇬", "congo", "brazzaville"),
            e("🇨🇭", "switzerland"),
            e("🇨🇮", "côte", "cote", "divoire", "ivory"),
            e("🇨🇰", "cook", "islands"),
            e("🇨🇱", "chile"),
            e("🇨🇲", "cameroon"),
            e("🇨🇳", "china", "cn"),
            e("🇨🇴", "colombia"),
            e("🇨🇵", "clipperton", "island"),
            e("🇨🇷", "costa", "rica"),
            e("🇨🇺", "cuba"),
            e("🇨🇻", "cape", "verde"),
            e("🇨🇼", "curaçao", "curacao"),
            e("🇨🇽", "christmas", "island"),
            e("🇨🇾", "cyprus"),
            e("🇨🇿", "czechia", "czech", "republic"),
            e("🇩🇪", "germany", "de", "flag"),
            e("🇩🇬", "diego", "garcia"),
            e("🇩🇯", "djibouti"),
            e("🇩🇰", "denmark"),
            e("🇩🇲", "dominica"),
            e("🇩🇴", "dominican", "republic"),
            e("🇩🇿", "algeria"),
            e("🇪🇦", "ceuta", "melilla"),
            e("🇪🇨", "ecuador"),
            e("🇪🇪", "estonia"),
            e("🇪🇬", "egypt"),
            e("🇪🇭", "western", "sahara"),
            e("🇪🇷", "eritrea"),
            e("🇪🇸", "spain", "es"),
            e("🇪🇹", "ethiopia"),
            e("🇪🇺", "european", "union", "eu"),
            e("🇫🇮", "finland"),
            e("🇫🇯", "fiji"),
            e("🇫🇰", "falkland", "islands"),
            e("🇫🇲", "micronesia"),
            e("🇫🇴", "faroe", "islands"),
            e("🇫🇷", "france", "fr", "french"),
            e("🇬🇦", "gabon"),
            e("🇬🇧", "united", "kingdom", "gb", "uk", "flag", "british"),
            e("🇬🇩", "grenada"),
            e("🇬🇪", "georgia"),
            e("🇬🇫", "french", "guiana"),
            e("🇬🇬", "guernsey"),
            e("🇬🇭", "ghana"),
            e("🇬🇮", "gibraltar"),
            e("🇬🇱", "greenland"),
            e("🇬🇲", "gambia"),
            e("🇬🇳", "guinea"),
            e("🇬🇵", "guadeloupe"),
            e("🇬🇶", "equatorial", "guinea"),
            e("🇬🇷", "greece"),
            e("🇬🇸", "south", "georgia", "sandwich", "islands"),
            e("🇬🇹", "guatemala"),
            e("🇬🇺", "guam"),
            e("🇬🇼", "guinea", "bissau"),
            e("🇬🇾", "guyana"),
            e("🇭🇰", "hong", "kong", "sar", "china"),
            e("🇭🇲", "heard", "mcdonald", "islands"),
            e("🇭🇳", "honduras"),
            e("🇭🇷", "croatia"),
            e("🇭🇹", "haiti"),
            e("🇭🇺", "hungary"),
            e("🇮🇨", "canary", "islands"),
            e("🇮🇩", "indonesia"),
            e("🇮🇪", "ireland"),
            e("🇮🇱", "israel"),
            e("🇮🇲", "isle", "of", "man"),
            e("🇮🇳", "india"),
            e("🇮🇴", "british", "indian", "ocean", "territory"),
            e("🇮🇶", "iraq"),
            e("🇮🇷", "iran"),
            e("🇮🇸", "iceland"),
            e("🇮🇹", "italy", "it"),
            e("🇯🇪", "jersey"),
            e("🇯🇲", "jamaica"),
            e("🇯🇴", "jordan"),
            e("🇯🇵", "japan", "jp"),
            e("🇰🇪", "kenya"),
            e("🇰🇬", "kyrgyzstan"),
            e("🇰🇭", "cambodia"),
            e("🇰🇮", "kiribati"),
            e("🇰🇲", "comoros"),
            e("🇰🇳", "kitts", "nevis", "st"),
            e("🇰🇵", "north", "korea"),
            e("🇰🇷", "south", "korea", "kr"),
            e("🇰🇼", "kuwait"),
            e("🇰🇾", "cayman", "islands"),
            e("🇰🇿", "kazakhstan"),
            e("🇱🇦", "laos"),
            e("🇱🇧", "lebanon"),
            e("🇱🇨", "lucia", "st"),
            e("🇱🇮", "liechtenstein"),
            e("🇱🇰", "sri", "lanka"),
            e("🇱🇷", "liberia"),
            e("🇱🇸", "lesotho"),
            e("🇱🇹", "lithuania"),
            e("🇱🇺", "luxembourg"),
            e("🇱🇻", "latvia"),
            e("🇱🇾", "libya"),
            e("🇲🇦", "morocco"),
            e("🇲🇨", "monaco"),
            e("🇲🇩", "moldova"),
            e("🇲🇪", "montenegro"),
            e("🇲🇫", "martin", "st"),
            e("🇲🇬", "madagascar"),
            e("🇲🇭", "marshall", "islands"),
            e("🇲🇰", "north", "macedonia"),
            e("🇲🇱", "mali"),
            e("🇲🇲", "myanmar", "burma"),
            e("🇲🇳", "mongolia"),
            e("🇲🇴", "macao", "sar", "china", "macau"),
            e("🇲🇵", "northern", "mariana", "islands"),
            e("🇲🇶", "martinique"),
            e("🇲🇷", "mauritania"),
            e("🇲🇸", "montserrat"),
            e("🇲🇹", "malta"),
            e("🇲🇺", "mauritius"),
            e("🇲🇻", "maldives"),
            e("🇲🇼", "malawi"),
            e("🇲🇽", "mexico"),
            e("🇲🇾", "malaysia"),
            e("🇲🇿", "mozambique"),
            e("🇳🇦", "namibia"),
            e("🇳🇨", "new", "caledonia"),
            e("🇳🇪", "niger"),
            e("🇳🇫", "norfolk", "island"),
            e("🇳🇬", "nigeria"),
            e("🇳🇮", "nicaragua"),
            e("🇳🇱", "netherlands"),
            e("🇳🇴", "norway"),
            e("🇳🇵", "nepal"),
            e("🇳🇷", "nauru"),
            e("🇳🇺", "niue"),
            e("🇳🇿", "new", "zealand"),
            e("🇴🇲", "oman"),
            e("🇵🇦", "panama"),
            e("🇵🇪", "peru"),
            e("🇵🇫", "french", "polynesia"),
            e("🇵🇬", "papua", "new", "guinea"),
            e("🇵🇭", "philippines"),
            e("🇵🇰", "pakistan"),
            e("🇵🇱", "poland"),
            e("🇵🇲", "pierre", "miquelon", "st"),
            e("🇵🇳", "pitcairn", "islands"),
            e("🇵🇷", "puerto", "rico"),
            e("🇵🇸", "palestinian", "territories"),
            e("🇵🇹", "portugal"),
            e("🇵🇼", "palau"),
            e("🇵🇾", "paraguay"),
            e("🇶🇦", "qatar"),
            e("🇷🇪", "réunion", "reunion"),
            e("🇷🇴", "romania"),
            e("🇷🇸", "serbia"),
            e("🇷🇺", "russia", "ru"),
            e("🇷🇼", "rwanda"),
            e("🇸🇦", "saudi", "arabia"),
            e("🇸🇧", "solomon", "islands"),
            e("🇸🇨", "seychelles"),
            e("🇸🇩", "sudan"),
            e("🇸🇪", "sweden"),
            e("🇸🇬", "singapore"),
            e("🇸🇭", "helena", "st"),
            e("🇸🇮", "slovenia"),
            e("🇸🇯", "svalbard", "jan", "mayen"),
            e("🇸🇰", "slovakia"),
            e("🇸🇱", "sierra", "leone"),
            e("🇸🇲", "san", "marino"),
            e("🇸🇳", "senegal"),
            e("🇸🇴", "somalia"),
            e("🇸🇷", "suriname"),
            e("🇸🇸", "south", "sudan"),
            e("🇸🇹", "são", "tomé", "príncipe", "sao", "tome", "principe"),
            e("🇸🇻", "el", "salvador"),
            e("🇸🇽", "sint", "maarten"),
            e("🇸🇾", "syria"),
            e("🇸🇿", "eswatini", "swaziland"),
            e("🇹🇦", "tristan", "da", "cunha"),
            e("🇹🇨", "turks", "caicos", "islands"),
            e("🇹🇩", "chad"),
            e("🇹🇫", "french", "southern", "territories"),
            e("🇹🇬", "togo"),
            e("🇹🇭", "thailand"),
            e("🇹🇯", "tajikistan"),
            e("🇹🇰", "tokelau"),
            e("🇹🇱", "timor", "leste"),
            e("🇹🇲", "turkmenistan"),
            e("🇹🇳", "tunisia"),
            e("🇹🇴", "tonga"),
            e("🇹🇷", "turkey", "tr"),
            e("🇹🇹", "trinidad", "tobago"),
            e("🇹🇻", "tuvalu"),
            e("🇹🇼", "taiwan"),
            e("🇹🇿", "tanzania"),
            e("🇺🇦", "ukraine"),
            e("🇺🇬", "uganda"),
            e("🇺🇲", "outlying", "islands", "us"),
            e("🇺🇳", "united", "nations"),
            e("🇺🇸", "united", "states", "us", "flag", "america"),
            e("🇺🇾", "uruguay"),
            e("🇺🇿", "uzbekistan"),
            e("🇻🇦", "vatican", "city"),
            e("🇻🇨", "vincent", "grenadines", "st"),
            e("🇻🇪", "venezuela"),
            e("🇻🇬", "british", "virgin", "islands"),
            e("🇻🇮", "virgin", "islands", "us"),
            e("🇻🇳", "vietnam"),
            e("🇻🇺", "vanuatu"),
            e("🇼🇫", "wallis", "futuna"),
            e("🇼🇸", "samoa"),
            e("🇽🇰", "kosovo"),
            e("🇾🇪", "yemen"),
            e("🇾🇹", "mayotte"),
            e("🇿🇦", "south", "africa"),
            e("🇿🇲", "zambia"),
            e("🇿🇼", "zimbabwe"),
            e("🏴󠁧󠁢󠁥󠁮󠁧󠁿", "england"),
            e("🏴󠁧󠁢󠁳󠁣󠁴󠁿", "scotland"),
            e("🏴󠁧󠁢󠁷󠁬󠁳󠁿", "wales"),
        ),
    )
}
