/*
 * nheko Copyright (C) 2017  Konstantinos Sideris <siderisk@auth.gr>
 * Copyright (C) 2019  Filipe Azevedo <pasnox@gmail.com>
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

#include "EmojiModel.h"

#include <QSettings>

#include "Globals.h"
#include "Kaidan.h"

static const QVector<Emoji> s_emojis {
	// People
	{ QString::fromUtf8("\xf0\x9f\x98\x80"), QStringLiteral(":grinning:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x81"), QStringLiteral(":grin:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x82"), QStringLiteral(":joy:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xa3"), QStringLiteral(":rofl:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x83"), QStringLiteral(":smiley:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x84"), QStringLiteral(":smile:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x85"), QStringLiteral(":sweat_smile:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x86"), QStringLiteral(":laughing:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x89"), QStringLiteral(":wink:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x8a"), QStringLiteral(":blush:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x8b"), QStringLiteral(":yum:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x8e"), QStringLiteral(":sunglasses:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x8d"), QStringLiteral(":heart_eyes:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x98"), QStringLiteral(":kissing_heart:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x97"), QStringLiteral(":kissing:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x99"), QStringLiteral(":kissing_smiling_eyes:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x9a"), QStringLiteral(":kissing_closed_eyes:"), Emoji::Group::People },
	{ QString::fromUtf8("\xe2\x98\xba"), QStringLiteral(":relaxed:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x82"), QStringLiteral(":slight_smile:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x97"), QStringLiteral(":hugging:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x94"), QStringLiteral(":thinking:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x90"), QStringLiteral(":neutral_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x91"), QStringLiteral(":expressionless:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb6"), QStringLiteral(":no_mouth:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x84"), QStringLiteral(":rolling_eyes:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x8f"), QStringLiteral(":smirk:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa3"), QStringLiteral(":persevere:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa5"), QStringLiteral(":disappointed_relieved:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xae"), QStringLiteral(":open_mouth:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x90"), QStringLiteral(":zipper_mouth:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xaf"), QStringLiteral(":hushed:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xaa"), QStringLiteral(":sleepy:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xab"), QStringLiteral(":tired_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb4"), QStringLiteral(":sleeping:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x8c"), QStringLiteral(":relieved:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x93"), QStringLiteral(":nerd:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x9b"), QStringLiteral(":stuck_out_tongue:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x9c"), QStringLiteral(":stuck_out_tongue_winking_eye:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x9d"), QStringLiteral(":stuck_out_tongue_closed_eyes:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xa4"), QStringLiteral(":drooling_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x92"), QStringLiteral(":unamused:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x93"), QStringLiteral(":sweat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x94"), QStringLiteral(":pensive:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x95"), QStringLiteral(":confused:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x83"), QStringLiteral(":upside_down:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x91"), QStringLiteral(":money_mouth:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb2"), QStringLiteral(":astonished:"), Emoji::Group::People },
	{ QString::fromUtf8("\xe2\x98\xb9"), QStringLiteral(":frowning2:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x81"), QStringLiteral(":slight_frown:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x96"), QStringLiteral(":confounded:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x9e"), QStringLiteral(":disappointed:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x9f"), QStringLiteral(":worried:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa4"), QStringLiteral(":triumph:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa2"), QStringLiteral(":cry:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xad"), QStringLiteral(":sob:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa6"), QStringLiteral(":frowning:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa7"), QStringLiteral(":anguished:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa8"), QStringLiteral(":fearful:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa9"), QStringLiteral(":weary:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xac"), QStringLiteral(":grimacing:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb0"), QStringLiteral(":cold_sweat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb1"), QStringLiteral(":scream:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb3"), QStringLiteral(":flushed:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb5"), QStringLiteral(":dizzy_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa1"), QStringLiteral(":rage:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xa0"), QStringLiteral(":angry:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x87"), QStringLiteral(":innocent:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xa0"), QStringLiteral(":cowboy:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xa1"), QStringLiteral(":clown:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xa5"), QStringLiteral(":lying_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb7"), QStringLiteral(":mask:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x92"), QStringLiteral(":thermometer_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x95"), QStringLiteral(":head_bandage:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xa2"), QStringLiteral(":nauseated_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xa7"), QStringLiteral(":sneezing_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\x88"), QStringLiteral(":smiling_imp:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xbf"), QStringLiteral(":imp:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb9"), QStringLiteral(":japanese_ogre:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xba"), QStringLiteral(":japanese_goblin:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x80"), QStringLiteral(":skull:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xbb"), QStringLiteral(":ghost:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xbd"), QStringLiteral(":alien:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x96"), QStringLiteral(":robot:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\xa9"), QStringLiteral(":poop:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xba"), QStringLiteral(":smiley_cat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb8"), QStringLiteral(":smile_cat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xb9"), QStringLiteral(":joy_cat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xbb"), QStringLiteral(":heart_eyes_cat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xbc"), QStringLiteral(":smirk_cat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xbd"), QStringLiteral(":kissing_cat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x80"), QStringLiteral(":scream_cat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xbf"), QStringLiteral(":crying_cat_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x98\xbe"), QStringLiteral(":pouting_cat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa6"), QStringLiteral(":boy:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa7"), QStringLiteral(":girl:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa8"), QStringLiteral(":man:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa9"), QStringLiteral(":woman:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb4"), QStringLiteral(":older_man:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb5"), QStringLiteral(":older_woman:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb6"), QStringLiteral(":baby:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xbc"), QStringLiteral(":angel:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xae"), QStringLiteral(":cop:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x95\xb5"), QStringLiteral(":spy:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x82"), QStringLiteral(":guardsman:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb7"), QStringLiteral(":construction_worker:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb3"), QStringLiteral(":man_with_turban:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb1"), QStringLiteral(":person_with_blond_hair:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x8e\x85"), QStringLiteral(":santa:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb6"), QStringLiteral(":mrs_claus:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb8"), QStringLiteral(":princess:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb4"), QStringLiteral(":prince:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb0"), QStringLiteral(":bride_with_veil:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb5"), QStringLiteral(":man_in_tuxedo:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb0"), QStringLiteral(":pregnant_woman:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xb2"), QStringLiteral(":man_with_gua_pi_mao:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x8d"), QStringLiteral(":person_frowning:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x8e"), QStringLiteral(":person_with_pouting_face:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x85"), QStringLiteral(":no_good:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x86"), QStringLiteral(":ok_woman:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x81"), QStringLiteral(":information_desk_person:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x8b"), QStringLiteral(":raising_hand:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x87"), QStringLiteral(":bow:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xa6"), QStringLiteral(":face_palm:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb7"), QStringLiteral(":shrug:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x86"), QStringLiteral(":massage:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x87"), QStringLiteral(":haircut:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb6"), QStringLiteral(":walking:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x8f\x83"), QStringLiteral(":runner:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x83"), QStringLiteral(":dancer:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x95\xba"), QStringLiteral(":man_dancing:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xaf"), QStringLiteral(":dancers:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x97\xa3"), QStringLiteral(":speaking_head:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa4"), QStringLiteral(":bust_in_silhouette:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa5"), QStringLiteral(":busts_in_silhouette:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xab"), QStringLiteral(":couple:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xac"), QStringLiteral(":two_men_holding_hands:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xad"), QStringLiteral(":two_women_holding_hands:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x8f"), QStringLiteral(":couplekiss:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x91"), QStringLiteral(":couple_with_heart:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xaa"), QStringLiteral(":family:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\xaa"), QStringLiteral(":muscle:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb3"), QStringLiteral(":selfie:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x88"), QStringLiteral(":point_left:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x89"), QStringLiteral(":point_right:"), Emoji::Group::People },
	{ QString::fromUtf8("\xe2\x98\x9d"), QStringLiteral(":point_up:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x86"), QStringLiteral(":point_up_2:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x96\x95"), QStringLiteral(":middle_finger:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x87"), QStringLiteral(":point_down:"), Emoji::Group::People },
	{ QString::fromUtf8("\xe2\x9c\x8c"), QStringLiteral(":v:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x9e"), QStringLiteral(":fingers_crossed:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x96\x96"), QStringLiteral(":vulcan:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x98"), QStringLiteral(":metal:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x99"), QStringLiteral(":call_me:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x96\x90"), QStringLiteral(":hand_splayed:"), Emoji::Group::People },
	{ QString::fromUtf8("\xe2\x9c\x8b"), QStringLiteral(":raised_hand:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x8c"), QStringLiteral(":ok_hand:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x8d"), QStringLiteral(":thumbsup:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x8e"), QStringLiteral(":thumbsdown:"), Emoji::Group::People },
	{ QString::fromUtf8("\xe2\x9c\x8a"), QStringLiteral(":fist:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x8a"), QStringLiteral(":punch:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x9b"), QStringLiteral(":left_facing_fist:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x9c"), QStringLiteral(":right_facing_fist:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x9a"), QStringLiteral(":raised_back_of_hand:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x8b"), QStringLiteral(":wave:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x8f"), QStringLiteral(":clap:"), Emoji::Group::People },
	{ QString::fromUtf8("\xe2\x9c\x8d"), QStringLiteral(":writing_hand:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x90"), QStringLiteral(":open_hands:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x8c"), QStringLiteral(":raised_hands:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x99\x8f"), QStringLiteral(":pray:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\xa4\x9d"), QStringLiteral(":handshake:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x85"), QStringLiteral(":nail_care:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x82"), QStringLiteral(":ear:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x83"), QStringLiteral(":nose:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa3"), QStringLiteral(":footprints:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x80"), QStringLiteral(":eyes:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x81"), QStringLiteral(":eye:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x85"), QStringLiteral(":tongue:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x84"), QStringLiteral(":lips:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x8b"), QStringLiteral(":kiss:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\xa4"), QStringLiteral(":zzz:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x93"), QStringLiteral(":eyeglasses:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x95\xb6"), QStringLiteral(":dark_sunglasses:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x94"), QStringLiteral(":necktie:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x95"), QStringLiteral(":shirt:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x96"), QStringLiteral(":jeans:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x97"), QStringLiteral(":dress:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x98"), QStringLiteral(":kimono:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x99"), QStringLiteral(":bikini:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x9a"), QStringLiteral(":womans_clothes:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x9b"), QStringLiteral(":purse:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x9c"), QStringLiteral(":handbag:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x9d"), QStringLiteral(":pouch:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x8e\x92"), QStringLiteral(":school_satchel:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x9e"), QStringLiteral(":mans_shoe:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x9f"), QStringLiteral(":athletic_shoe:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa0"), QStringLiteral(":high_heel:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa1"), QStringLiteral(":sandal:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\xa2"), QStringLiteral(":boot:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x91"), QStringLiteral(":crown:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x91\x92"), QStringLiteral(":womans_hat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa9"), QStringLiteral(":tophat:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x8e\x93"), QStringLiteral(":mortar_board:"), Emoji::Group::People },
	{ QString::fromUtf8("\xe2\x9b\x91"), QStringLiteral(":helmet_with_cross:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x84"), QStringLiteral(":lipstick:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\x8d"), QStringLiteral(":ring:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x8c\x82"), QStringLiteral(":closed_umbrella:"), Emoji::Group::People },
	{ QString::fromUtf8("\xf0\x9f\x92\xbc"), QStringLiteral(":briefcase:"), Emoji::Group::People },
	// Nature
	{ QString::fromUtf8("\xf0\x9f\x99\x88"), QStringLiteral(":see_no_evil:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x99\x89"), QStringLiteral(":hear_no_evil:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x99\x8a"), QStringLiteral(":speak_no_evil:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x92\xa6"), QStringLiteral(":sweat_drops:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x92\xa8"), QStringLiteral(":dash:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb5"), QStringLiteral(":monkey_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x92"), QStringLiteral(":monkey:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x8d"), QStringLiteral(":gorilla:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb6"), QStringLiteral(":dog:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x95"), QStringLiteral(":dog2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa9"), QStringLiteral(":poodle:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xba"), QStringLiteral(":wolf:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x8a"), QStringLiteral(":fox:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb1"), QStringLiteral(":cat:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x88"), QStringLiteral(":cat2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x81"), QStringLiteral(":lion_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xaf"), QStringLiteral(":tiger:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x85"), QStringLiteral(":tiger2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x86"), QStringLiteral(":leopard:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb4"), QStringLiteral(":horse:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x8e"), QStringLiteral(":racehorse:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x8c"), QStringLiteral(":deer:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x84"), QStringLiteral(":unicorn:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xae"), QStringLiteral(":cow:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x82"), QStringLiteral(":ox:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x83"), QStringLiteral(":water_buffalo:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x84"), QStringLiteral(":cow2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb7"), QStringLiteral(":pig:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x96"), QStringLiteral(":pig2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x97"), QStringLiteral(":boar:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xbd"), QStringLiteral(":pig_nose:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x8f"), QStringLiteral(":ram:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x91"), QStringLiteral(":sheep:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x90"), QStringLiteral(":goat:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xaa"), QStringLiteral(":dromedary_camel:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xab"), QStringLiteral(":camel:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x98"), QStringLiteral(":elephant:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x8f"), QStringLiteral(":rhino:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xad"), QStringLiteral(":mouse:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x81"), QStringLiteral(":mouse2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x80"), QStringLiteral(":rat:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb9"), QStringLiteral(":hamster:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb0"), QStringLiteral(":rabbit:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x87"), QStringLiteral(":rabbit2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xbf"), QStringLiteral(":chipmunk:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x87"), QStringLiteral(":bat:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xbb"), QStringLiteral(":bear:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa8"), QStringLiteral(":koala:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xbc"), QStringLiteral(":panda_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xbe"), QStringLiteral(":feet:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x83"), QStringLiteral(":turkey:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x94"), QStringLiteral(":chicken:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x93"), QStringLiteral(":rooster:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa3"), QStringLiteral(":hatching_chick:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa4"), QStringLiteral(":baby_chick:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa5"), QStringLiteral(":hatched_chick:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa6"), QStringLiteral(":bird:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa7"), QStringLiteral(":penguin:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x95\x8a"), QStringLiteral(":dove:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x85"), QStringLiteral(":eagle:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x86"), QStringLiteral(":duck:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x89"), QStringLiteral(":owl:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb8"), QStringLiteral(":frog:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x8a"), QStringLiteral(":crocodile:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa2"), QStringLiteral(":turtle:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x8e"), QStringLiteral(":lizard:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x8d"), QStringLiteral(":snake:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb2"), QStringLiteral(":dragon_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x89"), QStringLiteral(":dragon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xb3"), QStringLiteral(":whale:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x8b"), QStringLiteral(":whale2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xac"), QStringLiteral(":dolphin:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x9f"), QStringLiteral(":fish:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa0"), QStringLiteral(":tropical_fish:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\xa1"), QStringLiteral(":blowfish:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x88"), QStringLiteral(":shark:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x99"), QStringLiteral(":octopus:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x9a"), QStringLiteral(":shell:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x80"), QStringLiteral(":crab:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x90"), QStringLiteral(":shrimp:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x91"), QStringLiteral(":squid:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x8b"), QStringLiteral(":butterfly:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x8c"), QStringLiteral(":snail:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x9b"), QStringLiteral(":bug:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x9c"), QStringLiteral(":ant:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x9d"), QStringLiteral(":bee:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x90\x9e"), QStringLiteral(":beetle:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x95\xb7"), QStringLiteral(":spider:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x95\xb8"), QStringLiteral(":spider_web:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa6\x82"), QStringLiteral(":scorpion:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x92\x90"), QStringLiteral(":bouquet:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb8"), QStringLiteral(":cherry_blossom:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8f\xb5"), QStringLiteral(":rosette:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb9"), QStringLiteral(":rose:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\xa5\x80"), QStringLiteral(":wilted_rose:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xba"), QStringLiteral(":hibiscus:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xbb"), QStringLiteral(":sunflower:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xbc"), QStringLiteral(":blossom:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb7"), QStringLiteral(":tulip:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb1"), QStringLiteral(":seedling:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb2"), QStringLiteral(":evergreen_tree:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb3"), QStringLiteral(":deciduous_tree:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb4"), QStringLiteral(":palm_tree:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb5"), QStringLiteral(":cactus:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xbe"), QStringLiteral(":ear_of_rice:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xbf"), QStringLiteral(":herb:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x98\x98"), QStringLiteral(":shamrock:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8d\x80"), QStringLiteral(":four_leaf_clover:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8d\x81"), QStringLiteral(":maple_leaf:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8d\x82"), QStringLiteral(":fallen_leaf:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8d\x83"), QStringLiteral(":leaves:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8d\x84"), QStringLiteral(":mushroom:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb0"), QStringLiteral(":chestnut:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x8d"), QStringLiteral(":earth_africa:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x8e"), QStringLiteral(":earth_americas:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x8f"), QStringLiteral(":earth_asia:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x91"), QStringLiteral(":new_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x92"), QStringLiteral(":waxing_crescent_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x93"), QStringLiteral(":first_quarter_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x94"), QStringLiteral(":waxing_gibbous_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x95"), QStringLiteral(":full_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x96"), QStringLiteral(":waning_gibbous_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x97"), QStringLiteral(":last_quarter_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x98"), QStringLiteral(":waning_crescent_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x99"), QStringLiteral(":crescent_moon:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x9a"), QStringLiteral(":new_moon_with_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x9b"), QStringLiteral(":first_quarter_moon_with_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x9c"), QStringLiteral(":last_quarter_moon_with_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x98\x80"), QStringLiteral(":sunny:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x9d"), QStringLiteral(":full_moon_with_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x9e"), QStringLiteral(":sun_with_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\xad\x90"), QStringLiteral(":star:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x9f"), QStringLiteral(":star2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x98\x81"), QStringLiteral(":cloud:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x9b\x85"), QStringLiteral(":partly_sunny:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x9b\x88"), QStringLiteral(":thunder_cloud_rain:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xa4"), QStringLiteral(":white_sun_small_cloud:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xa5"), QStringLiteral(":white_sun_cloud:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xa6"), QStringLiteral(":white_sun_rain_cloud:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xa7"), QStringLiteral(":cloud_rain:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xa8"), QStringLiteral(":cloud_snow:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xa9"), QStringLiteral(":cloud_lightning:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xaa"), QStringLiteral(":cloud_tornado:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xab"), QStringLiteral(":fog:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\xac"), QStringLiteral(":wind_blowing_face:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x98\x82"), QStringLiteral(":umbrella2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x98\x94"), QStringLiteral(":umbrella:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x9a\xa1"), QStringLiteral(":zap:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x9d\x84"), QStringLiteral(":snowflake:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x98\x83"), QStringLiteral(":snowman2:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x9b\x84"), QStringLiteral(":snowman:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x98\x84"), QStringLiteral(":comet:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x94\xa5"), QStringLiteral(":fire:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x92\xa7"), QStringLiteral(":droplet:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8c\x8a"), QStringLiteral(":ocean:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8e\x83"), QStringLiteral(":jack_o_lantern:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8e\x84"), QStringLiteral(":christmas_tree:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xe2\x9c\xa8"), QStringLiteral(":sparkles:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8e\x8b"), QStringLiteral(":tanabata_tree:"), Emoji::Group::Nature },
	{ QString::fromUtf8("\xf0\x9f\x8e\x8d"), QStringLiteral(":bamboo:"), Emoji::Group::Nature },
	// Food
	{ QString::fromUtf8("\xf0\x9f\x8d\x87"), QStringLiteral(":grapes:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x88"), QStringLiteral(":melon:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x89"), QStringLiteral(":watermelon:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x8a"), QStringLiteral(":tangerine:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x8b"), QStringLiteral(":lemon:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x8c"), QStringLiteral(":banana:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x8d"), QStringLiteral(":pineapple:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x8e"), QStringLiteral(":apple:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x8f"), QStringLiteral(":green_apple:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x90"), QStringLiteral(":pear:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x91"), QStringLiteral(":peach:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x92"), QStringLiteral(":cherries:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x93"), QStringLiteral(":strawberry:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x9d"), QStringLiteral(":kiwi:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x85"), QStringLiteral(":tomato:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x91"), QStringLiteral(":avocado:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x86"), QStringLiteral(":eggplant:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x94"), QStringLiteral(":potato:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x95"), QStringLiteral(":carrot:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8c\xbd"), QStringLiteral(":corn:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8c\xb6"), QStringLiteral(":hot_pepper:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x92"), QStringLiteral(":cucumber:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x9c"), QStringLiteral(":peanuts:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x9e"), QStringLiteral(":bread:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x90"), QStringLiteral(":croissant:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x96"), QStringLiteral(":french_bread:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x9e"), QStringLiteral(":pancakes:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa7\x80"), QStringLiteral(":cheese:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x96"), QStringLiteral(":meat_on_bone:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x97"), QStringLiteral(":poultry_leg:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x93"), QStringLiteral(":bacon:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x94"), QStringLiteral(":hamburger:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x9f"), QStringLiteral(":fries:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x95"), QStringLiteral(":pizza:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8c\xad"), QStringLiteral(":hotdog:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8c\xae"), QStringLiteral(":taco:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8c\xaf"), QStringLiteral(":burrito:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x99"), QStringLiteral(":stuffed_flatbread:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x9a"), QStringLiteral(":egg:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb3"), QStringLiteral(":cooking:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x98"), QStringLiteral(":shallow_pan_of_food:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb2"), QStringLiteral(":stew:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x97"), QStringLiteral(":salad:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xbf"), QStringLiteral(":popcorn:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb1"), QStringLiteral(":bento:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x98"), QStringLiteral(":rice_cracker:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x99"), QStringLiteral(":rice_ball:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x9a"), QStringLiteral(":rice:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x9b"), QStringLiteral(":curry:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x9c"), QStringLiteral(":ramen:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\x9d"), QStringLiteral(":spaghetti:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa0"), QStringLiteral(":sweet_potato:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa2"), QStringLiteral(":oden:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa3"), QStringLiteral(":sushi:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa4"), QStringLiteral(":fried_shrimp:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa5"), QStringLiteral(":fish_cake:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa1"), QStringLiteral(":dango:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa6"), QStringLiteral(":icecream:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa7"), QStringLiteral(":shaved_ice:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa8"), QStringLiteral(":ice_cream:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xa9"), QStringLiteral(":doughnut:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xaa"), QStringLiteral(":cookie:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8e\x82"), QStringLiteral(":birthday:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb0"), QStringLiteral(":cake:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xab"), QStringLiteral(":chocolate_bar:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xac"), QStringLiteral(":candy:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xad"), QStringLiteral(":lollipop:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xae"), QStringLiteral(":custard:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xaf"), QStringLiteral(":honey_pot:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xbc"), QStringLiteral(":baby_bottle:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x9b"), QStringLiteral(":milk:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xe2\x98\x95"), QStringLiteral(":coffee:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb5"), QStringLiteral(":tea:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb6"), QStringLiteral(":sake:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xbe"), QStringLiteral(":champagne:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb7"), QStringLiteral(":wine_glass:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb8"), QStringLiteral(":cocktail:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb9"), QStringLiteral(":tropical_drink:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xba"), QStringLiteral(":beer:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xbb"), QStringLiteral(":beers:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x82"), QStringLiteral(":champagne_glass:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x83"), QStringLiteral(":tumbler_glass:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xbd"), QStringLiteral(":fork_knife_plate:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\x8d\xb4"), QStringLiteral(":fork_and_knife:"), Emoji::Group::Food },
	{ QString::fromUtf8("\xf0\x9f\xa5\x84"), QStringLiteral(":spoon:"), Emoji::Group::Food },
	// Activity
	{ QString::fromUtf8("\xf0\x9f\x91\xbe"), QStringLiteral(":space_invader:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x95\xb4"), QStringLiteral(":levitate:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xba"), QStringLiteral(":fencer:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x87"), QStringLiteral(":horse_racing:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbb"), QStringLiteral(":horse_racing_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbc"), QStringLiteral(":horse_racing_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbd"), QStringLiteral(":horse_racing_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbe"), QStringLiteral(":horse_racing_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbf"), QStringLiteral(":horse_racing_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb7"), QStringLiteral(":skier:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x82"), QStringLiteral(":snowboarder:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8c"), QStringLiteral(":golfer:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x84"), QStringLiteral(":surfer:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbb"), QStringLiteral(":surfer_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbc"), QStringLiteral(":surfer_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbd"), QStringLiteral(":surfer_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbe"), QStringLiteral(":surfer_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbf"), QStringLiteral(":surfer_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa3"), QStringLiteral(":rowboat:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbb"), QStringLiteral(":rowboat_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbc"), QStringLiteral(":rowboat_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbd"), QStringLiteral(":rowboat_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbe"), QStringLiteral(":rowboat_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbf"), QStringLiteral(":rowboat_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8a"), QStringLiteral(":swimmer:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbb"), QStringLiteral(":swimmer_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbc"), QStringLiteral(":swimmer_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbd"), QStringLiteral(":swimmer_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbe"), QStringLiteral(":swimmer_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbf"), QStringLiteral(":swimmer_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb9"), QStringLiteral(":basketball_player:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbb"), QStringLiteral(":basketball_player_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbc"), QStringLiteral(":basketball_player_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbd"), QStringLiteral(":basketball_player_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbe"), QStringLiteral(":basketball_player_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbf"), QStringLiteral(":basketball_player_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8b"), QStringLiteral(":lifter:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbb"), QStringLiteral(":lifter_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbc"), QStringLiteral(":lifter_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbd"), QStringLiteral(":lifter_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbe"), QStringLiteral(":lifter_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbf"), QStringLiteral(":lifter_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb4"), QStringLiteral(":bicyclist:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbb"), QStringLiteral(":bicyclist_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbc"), QStringLiteral(":bicyclist_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbd"), QStringLiteral(":bicyclist_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbe"), QStringLiteral(":bicyclist_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbf"), QStringLiteral(":bicyclist_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb5"), QStringLiteral(":mountain_bicyclist:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbb"), QStringLiteral(":mountain_bicyclist_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbc"), QStringLiteral(":mountain_bicyclist_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbd"), QStringLiteral(":mountain_bicyclist_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbe"), QStringLiteral(":mountain_bicyclist_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbf"), QStringLiteral(":mountain_bicyclist_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb8"), QStringLiteral(":cartwheel:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbb"), QStringLiteral(":cartwheel_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbc"), QStringLiteral(":cartwheel_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbd"), QStringLiteral(":cartwheel_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbe"), QStringLiteral(":cartwheel_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbf"), QStringLiteral(":cartwheel_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbc"), QStringLiteral(":wrestlers:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbb"), QStringLiteral(":wrestlers_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbc"), QStringLiteral(":wrestlers_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbd"), QStringLiteral(":wrestlers_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbe"), QStringLiteral(":wrestlers_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbf"), QStringLiteral(":wrestlers_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbd"), QStringLiteral(":water_polo:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbb"), QStringLiteral(":water_polo_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbc"), QStringLiteral(":water_polo_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbd"), QStringLiteral(":water_polo_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbe"), QStringLiteral(":water_polo_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbf"), QStringLiteral(":water_polo_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbe"), QStringLiteral(":handball:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbb"), QStringLiteral(":handball_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbc"), QStringLiteral(":handball_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbd"), QStringLiteral(":handball_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbe"), QStringLiteral(":handball_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbf"), QStringLiteral(":handball_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb9"), QStringLiteral(":juggling:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbb"), QStringLiteral(":juggling_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbc"), QStringLiteral(":juggling_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbd"), QStringLiteral(":juggling_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbe"), QStringLiteral(":juggling_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbf"), QStringLiteral(":juggling_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xaa"), QStringLiteral(":circus_tent:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xad"), QStringLiteral(":performing_arts:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa8"), QStringLiteral(":art:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb0"), QStringLiteral(":slot_machine:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9b\x80"), QStringLiteral(":bath:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbb"), QStringLiteral(":bath_tone1:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbc"), QStringLiteral(":bath_tone2:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbd"), QStringLiteral(":bath_tone3:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbe"), QStringLiteral(":bath_tone4:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbf"), QStringLiteral(":bath_tone5:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\x97"), QStringLiteral(":reminder_ribbon:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\x9f"), QStringLiteral(":tickets:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xab"), QStringLiteral(":ticket:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\x96"), QStringLiteral(":military_medal:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x86"), QStringLiteral(":trophy:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x85"), QStringLiteral(":medal:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa5\x87"), QStringLiteral(":first_place:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa5\x88"), QStringLiteral(":second_place:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa5\x89"), QStringLiteral(":third_place:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9a\xbd"), QStringLiteral(":soccer:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9a\xbe"), QStringLiteral(":baseball:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x80"), QStringLiteral(":basketball:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x90"), QStringLiteral(":volleyball:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x88"), QStringLiteral(":football:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x89"), QStringLiteral(":rugby_football:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xbe"), QStringLiteral(":tennis:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb1"), QStringLiteral(":8ball:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb3"), QStringLiteral(":bowling:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8f"), QStringLiteral(":cricket:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x91"), QStringLiteral(":field_hockey:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x92"), QStringLiteral(":hockey:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\x93"), QStringLiteral(":ping_pong:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\xb8"), QStringLiteral(":badminton:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa5\x8a"), QStringLiteral(":boxing_glove:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa5\x8b"), QStringLiteral(":martial_arts_uniform:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa5\x85"), QStringLiteral(":goal:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xaf"), QStringLiteral(":dart:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb3"), QStringLiteral(":golf:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xe2\x9b\xb8"), QStringLiteral(":ice_skate:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa3"), QStringLiteral(":fishing_pole_and_fish:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xbd"), QStringLiteral(":running_shirt_with_sash:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xbf"), QStringLiteral(":ski:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xae"), QStringLiteral(":video_game:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb2"), QStringLiteral(":game_die:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xbc"), QStringLiteral(":musical_score:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa4"), QStringLiteral(":microphone:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa7"), QStringLiteral(":headphones:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb7"), QStringLiteral(":saxophone:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb8"), QStringLiteral(":guitar:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb9"), QStringLiteral(":musical_keyboard:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xba"), QStringLiteral(":trumpet:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xbb"), QStringLiteral(":violin:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\xa5\x81"), QStringLiteral(":drum:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8e\xac"), QStringLiteral(":clapper:"), Emoji::Group::Activity },
	{ QString::fromUtf8("\xf0\x9f\x8f\xb9"), QStringLiteral(":bow_and_arrow:"), Emoji::Group::Activity },
	// Travel
	{ QString::fromUtf8("\xf0\x9f\x8f\x8e"), QStringLiteral(":race_car:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x8d"), QStringLiteral(":motorcycle:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x97\xbe"), QStringLiteral(":japan:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x94"), QStringLiteral(":mountain_snow:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9b\xb0"), QStringLiteral(":mountain:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x8b"), QStringLiteral(":volcano:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x97\xbb"), QStringLiteral(":mount_fuji:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x95"), QStringLiteral(":camping:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x96"), QStringLiteral(":beach:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x9c"), QStringLiteral(":desert:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x9d"), QStringLiteral(":island:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x9e"), QStringLiteral(":park:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x9f"), QStringLiteral(":stadium:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x9b"), QStringLiteral(":classical_building:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x97"), QStringLiteral(":construction_site:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x98"), QStringLiteral(":homes:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x99"), QStringLiteral(":cityscape:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x9a"), QStringLiteral(":house_abandoned:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa0"), QStringLiteral(":house:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa1"), QStringLiteral(":house_with_garden:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa2"), QStringLiteral(":office:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa3"), QStringLiteral(":post_office:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa4"), QStringLiteral(":european_post_office:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa5"), QStringLiteral(":hospital:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa6"), QStringLiteral(":bank:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa8"), QStringLiteral(":hotel:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa9"), QStringLiteral(":love_hotel:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xaa"), QStringLiteral(":convenience_store:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xab"), QStringLiteral(":school:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xac"), QStringLiteral(":department_store:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xad"), QStringLiteral(":factory:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xaf"), QStringLiteral(":japanese_castle:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\xb0"), QStringLiteral(":european_castle:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x92\x92"), QStringLiteral(":wedding:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x97\xbc"), QStringLiteral(":tokyo_tower:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x97\xbd"), QStringLiteral(":statue_of_liberty:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9b\xaa"), QStringLiteral(":church:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x95\x8c"), QStringLiteral(":mosque:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x95\x8d"), QStringLiteral(":synagogue:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9b\xa9"), QStringLiteral(":shinto_shrine:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x95\x8b"), QStringLiteral(":kaaba:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9b\xb2"), QStringLiteral(":fountain:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9b\xba"), QStringLiteral(":tent:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x81"), QStringLiteral(":foggy:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x83"), QStringLiteral(":night_with_stars:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x84"), QStringLiteral(":sunrise_over_mountains:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x85"), QStringLiteral(":sunrise:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x86"), QStringLiteral(":city_dusk:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x87"), QStringLiteral(":city_sunset:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x89"), QStringLiteral(":bridge_at_night:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x8c"), QStringLiteral(":milky_way:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa0"), QStringLiteral(":carousel_horse:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa1"), QStringLiteral(":ferris_wheel:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa2"), QStringLiteral(":roller_coaster:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x82"), QStringLiteral(":steam_locomotive:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x83"), QStringLiteral(":railway_car:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x84"), QStringLiteral(":bullettrain_side:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x85"), QStringLiteral(":bullettrain_front:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x86"), QStringLiteral(":train2:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x87"), QStringLiteral(":metro:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x88"), QStringLiteral(":light_rail:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x89"), QStringLiteral(":station:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x8a"), QStringLiteral(":tram:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x9d"), QStringLiteral(":monorail:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x9e"), QStringLiteral(":mountain_railway:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x8b"), QStringLiteral(":train:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x8c"), QStringLiteral(":bus:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x8d"), QStringLiteral(":oncoming_bus:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x8e"), QStringLiteral(":trolleybus:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x90"), QStringLiteral(":minibus:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x91"), QStringLiteral(":ambulance:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x92"), QStringLiteral(":fire_engine:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x93"), QStringLiteral(":police_car:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x94"), QStringLiteral(":oncoming_police_car:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x95"), QStringLiteral(":taxi:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x96"), QStringLiteral(":oncoming_taxi:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x97"), QStringLiteral(":red_car:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x98"), QStringLiteral(":oncoming_automobile:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x99"), QStringLiteral(":blue_car:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x9a"), QStringLiteral(":truck:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x9b"), QStringLiteral(":articulated_lorry:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x9c"), QStringLiteral(":tractor:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb2"), QStringLiteral(":bike:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xb4"), QStringLiteral(":scooter:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xb5"), QStringLiteral(":motor_scooter:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x8f"), QStringLiteral(":busstop:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xa3"), QStringLiteral(":motorway:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xa4"), QStringLiteral(":railway_track:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9b\xbd"), QStringLiteral(":fuelpump:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa8"), QStringLiteral(":rotating_light:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa5"), QStringLiteral(":traffic_light:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa6"), QStringLiteral(":vertical_traffic_light:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa7"), QStringLiteral(":construction:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9a\x93"), QStringLiteral(":anchor:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9b\xb5"), QStringLiteral(":sailboat:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xb6"), QStringLiteral(":canoe:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa4"), QStringLiteral(":speedboat:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xb3"), QStringLiteral(":cruise_ship:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9b\xb4"), QStringLiteral(":ferry:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xa5"), QStringLiteral(":motorboat:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa2"), QStringLiteral(":ship:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xe2\x9c\x88"), QStringLiteral(":airplane:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xa9"), QStringLiteral(":airplane_small:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xab"), QStringLiteral(":airplane_departure:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xac"), QStringLiteral(":airplane_arriving:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x92\xba"), QStringLiteral(":seat:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x81"), QStringLiteral(":helicopter:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x9f"), QStringLiteral(":suspension_railway:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa0"), QStringLiteral(":mountain_cableway:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa1"), QStringLiteral(":aerial_tramway:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9a\x80"), QStringLiteral(":rocket:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x9b\xb0"), QStringLiteral(":satellite_orbital:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\xa0"), QStringLiteral(":stars:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8c\x88"), QStringLiteral(":rainbow:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8e\x86"), QStringLiteral(":fireworks:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8e\x87"), QStringLiteral(":sparkler:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8e\x91"), QStringLiteral(":rice_scene:"), Emoji::Group::Travel },
	{ QString::fromUtf8("\xf0\x9f\x8f\x81"), QStringLiteral(":checkered_flag:"), Emoji::Group::Travel },
	// Objects
	{ QString::fromUtf8("\xe2\x98\xa0"), QStringLiteral(":skull_crossbones:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\x8c"), QStringLiteral(":love_letter:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xa3"), QStringLiteral(":bomb:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x95\xb3"), QStringLiteral(":hole:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\x8d"), QStringLiteral(":shopping_bags:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xbf"), QStringLiteral(":prayer_beads:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\x8e"), QStringLiteral(":gem:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xaa"), QStringLiteral(":knife:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8f\xba"), QStringLiteral(":amphora:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\xba"), QStringLiteral(":map:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\x88"), QStringLiteral(":barber:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\xbc"), QStringLiteral(":frame_photo:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\x8e"), QStringLiteral(":bellhop:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9a\xaa"), QStringLiteral(":door:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\x8c"), QStringLiteral(":sleeping_accommodation:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\x8f"), QStringLiteral(":bed:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\x8b"), QStringLiteral(":couch:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9a\xbd"), QStringLiteral(":toilet:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9a\xbf"), QStringLiteral(":shower:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\x81"), QStringLiteral(":bathtub:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x8c\x9b"), QStringLiteral(":hourglass:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x8f\xb3"), QStringLiteral(":hourglass_flowing_sand:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x8c\x9a"), QStringLiteral(":watch:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x8f\xb0"), QStringLiteral(":alarm_clock:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x8f\xb1"), QStringLiteral(":stopwatch:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x8f\xb2"), QStringLiteral(":timer:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x95\xb0"), QStringLiteral(":clock:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8c\xa1"), QStringLiteral(":thermometer:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9b\xb1"), QStringLiteral(":beach_umbrella:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x88"), QStringLiteral(":balloon:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x89"), QStringLiteral(":tada:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x8a"), QStringLiteral(":confetti_ball:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x8e"), QStringLiteral(":dolls:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x8f"), QStringLiteral(":flags:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x90"), QStringLiteral(":wind_chime:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x80"), QStringLiteral(":ribbon:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x81"), QStringLiteral(":gift:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x95\xb9"), QStringLiteral(":joystick:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xaf"), QStringLiteral(":postal_horn:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x99"), QStringLiteral(":microphone2:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x9a"), QStringLiteral(":level_slider:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x9b"), QStringLiteral(":control_knobs:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xbb"), QStringLiteral(":radio:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xb1"), QStringLiteral(":iphone:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xb2"), QStringLiteral(":calling:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x98\x8e"), QStringLiteral(":telephone:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x9e"), QStringLiteral(":telephone_receiver:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x9f"), QStringLiteral(":pager:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xa0"), QStringLiteral(":fax:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x8b"), QStringLiteral(":battery:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x8c"), QStringLiteral(":electric_plug:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xbb"), QStringLiteral(":computer:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\xa5"), QStringLiteral(":desktop:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\xa8"), QStringLiteral(":printer:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x8c\xa8"), QStringLiteral(":keyboard:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\xb1"), QStringLiteral(":mouse_three_button:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\xb2"), QStringLiteral(":trackball:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xbd"), QStringLiteral(":minidisc:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xbe"), QStringLiteral(":floppy_disk:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xbf"), QStringLiteral(":cd:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x80"), QStringLiteral(":dvd:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa5"), QStringLiteral(":movie_camera:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x9e"), QStringLiteral(":film_frames:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xbd"), QStringLiteral(":projector:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xba"), QStringLiteral(":tv:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xb7"), QStringLiteral(":camera:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xb8"), QStringLiteral(":camera_with_flash:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xb9"), QStringLiteral(":video_camera:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xbc"), QStringLiteral(":vhs:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x8d"), QStringLiteral(":mag:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x8e"), QStringLiteral(":mag_right:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xac"), QStringLiteral(":microscope:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xad"), QStringLiteral(":telescope:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xa1"), QStringLiteral(":satellite:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x95\xaf"), QStringLiteral(":candle:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xa1"), QStringLiteral(":bulb:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xa6"), QStringLiteral(":flashlight:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8f\xae"), QStringLiteral(":izakaya_lantern:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x94"), QStringLiteral(":notebook_with_decorative_cover:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x95"), QStringLiteral(":closed_book:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x96"), QStringLiteral(":book:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x97"), QStringLiteral(":green_book:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x98"), QStringLiteral(":blue_book:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x99"), QStringLiteral(":orange_book:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x9a"), QStringLiteral(":books:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x93"), QStringLiteral(":notebook:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x92"), QStringLiteral(":ledger:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x83"), QStringLiteral(":page_with_curl:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x9c"), QStringLiteral(":scroll:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x84"), QStringLiteral(":page_facing_up:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xb0"), QStringLiteral(":newspaper:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x9e"), QStringLiteral(":newspaper2:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x91"), QStringLiteral(":bookmark_tabs:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x96"), QStringLiteral(":bookmark:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8f\xb7"), QStringLiteral(":label:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xb0"), QStringLiteral(":moneybag:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xb4"), QStringLiteral(":yen:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xb5"), QStringLiteral(":dollar:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xb6"), QStringLiteral(":euro:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xb7"), QStringLiteral(":pound:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xb8"), QStringLiteral(":money_with_wings:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\xb3"), QStringLiteral(":credit_card:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9c\x89"), QStringLiteral(":envelope:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xa7"), QStringLiteral(":e-mail:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xa8"), QStringLiteral(":incoming_envelope:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xa9"), QStringLiteral(":envelope_with_arrow:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xa4"), QStringLiteral(":outbox_tray:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xa5"), QStringLiteral(":inbox_tray:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xa6"), QStringLiteral(":package:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xab"), QStringLiteral(":mailbox:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xaa"), QStringLiteral(":mailbox_closed:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xac"), QStringLiteral(":mailbox_with_mail:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xad"), QStringLiteral(":mailbox_with_no_mail:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\xae"), QStringLiteral(":postbox:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\xb3"), QStringLiteral(":ballot_box:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9c\x8f"), QStringLiteral(":pencil2:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9c\x92"), QStringLiteral(":black_nib:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\x8b"), QStringLiteral(":pen_fountain:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\x8a"), QStringLiteral(":pen_ballpoint:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\x8c"), QStringLiteral(":paintbrush:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\x8d"), QStringLiteral(":crayon:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x9d"), QStringLiteral(":pencil:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x81"), QStringLiteral(":file_folder:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x82"), QStringLiteral(":open_file_folder:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x82"), QStringLiteral(":dividers:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x85"), QStringLiteral(":date:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x86"), QStringLiteral(":calendar:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x92"), QStringLiteral(":notepad_spiral:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x93"), QStringLiteral(":calendar_spiral:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x87"), QStringLiteral(":card_index:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x88"), QStringLiteral(":chart_with_upwards_trend:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x89"), QStringLiteral(":chart_with_downwards_trend:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x8a"), QStringLiteral(":bar_chart:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x8b"), QStringLiteral(":clipboard:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x8c"), QStringLiteral(":pushpin:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x8d"), QStringLiteral(":round_pushpin:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x8e"), QStringLiteral(":paperclip:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x96\x87"), QStringLiteral(":paperclips:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x8f"), QStringLiteral(":straight_ruler:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x93\x90"), QStringLiteral(":triangular_ruler:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9c\x82"), QStringLiteral(":scissors:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x83"), QStringLiteral(":card_box:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x84"), QStringLiteral(":file_cabinet:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x91"), QStringLiteral(":wastebasket:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x92"), QStringLiteral(":lock:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x93"), QStringLiteral(":unlock:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x8f"), QStringLiteral(":lock_with_ink_pen:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x90"), QStringLiteral(":closed_lock_with_key:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x91"), QStringLiteral(":key:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x9d"), QStringLiteral(":key2:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xa8"), QStringLiteral(":hammer:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9b\x8f"), QStringLiteral(":pick:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9a\x92"), QStringLiteral(":hammer_pick:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\xa0"), QStringLiteral(":tools:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\xa1"), QStringLiteral(":dagger:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9a\x94"), QStringLiteral(":crossed_swords:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xab"), QStringLiteral(":gun:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\xa1"), QStringLiteral(":shield:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xa7"), QStringLiteral(":wrench:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xa9"), QStringLiteral(":nut_and_bolt:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9a\x99"), QStringLiteral(":gear:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\x9c"), QStringLiteral(":compression:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9a\x97"), QStringLiteral(":alembic:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9a\x96"), QStringLiteral(":scales:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\x97"), QStringLiteral(":link:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9b\x93"), QStringLiteral(":chains:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\x89"), QStringLiteral(":syringe:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x92\x8a"), QStringLiteral(":pill:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9a\xac"), QStringLiteral(":smoking:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9a\xb0"), QStringLiteral(":coffin:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xe2\x9a\xb1"), QStringLiteral(":urn:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x97\xbf"), QStringLiteral(":moyai:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\xa2"), QStringLiteral(":oil:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x94\xae"), QStringLiteral(":crystal_ball:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9b\x92"), QStringLiteral(":shopping_cart:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x9a\xa9"), QStringLiteral(":triangular_flag_on_post:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8e\x8c"), QStringLiteral(":crossed_flags:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8f\xb4"), QStringLiteral(":flag_black:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8f\xb3"), QStringLiteral(":flag_white:"), Emoji::Group::Objects },
	{ QString::fromUtf8("\xf0\x9f\x8f\xb3\xf0\x9f\x8c\x88"), QStringLiteral(":rainbow_flag:"), Emoji::Group::Objects },
	// Symbols
	{ QString::fromUtf8("\xf0\x9f\x91\x81\xf0\x9f\x97\xa8"), QStringLiteral(":eye_in_speech_bubble:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x98"), QStringLiteral(":cupid:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\xa4"), QStringLiteral(":heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x93"), QStringLiteral(":heartbeat:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x94"), QStringLiteral(":broken_heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x95"), QStringLiteral(":two_hearts:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x96"), QStringLiteral(":sparkling_heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x97"), QStringLiteral(":heartpulse:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x99"), QStringLiteral(":blue_heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x9a"), QStringLiteral(":green_heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x9b"), QStringLiteral(":yellow_heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x9c"), QStringLiteral(":purple_heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x96\xa4"), QStringLiteral(":black_heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x9d"), QStringLiteral(":gift_heart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x9e"), QStringLiteral(":revolving_hearts:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\x9f"), QStringLiteral(":heart_decoration:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\xa3"), QStringLiteral(":heart_exclamation:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xa2"), QStringLiteral(":anger:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xa5"), QStringLiteral(":boom:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xab"), QStringLiteral(":dizzy:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xac"), QStringLiteral(":speech_balloon:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x97\xa8"), QStringLiteral(":speech_left:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x97\xaf"), QStringLiteral(":anger_right:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xad"), QStringLiteral(":thought_balloon:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xae"), QStringLiteral(":white_flower:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x8c\x90"), QStringLiteral(":globe_with_meridians:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\xa8"), QStringLiteral(":hotsprings:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9b\x91"), QStringLiteral(":octagonal_sign:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x9b"), QStringLiteral(":clock12:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\xa7"), QStringLiteral(":clock1230:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x90"), QStringLiteral(":clock1:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x9c"), QStringLiteral(":clock130:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x91"), QStringLiteral(":clock2:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x9d"), QStringLiteral(":clock230:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x92"), QStringLiteral(":clock3:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x9e"), QStringLiteral(":clock330:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x93"), QStringLiteral(":clock4:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x9f"), QStringLiteral(":clock430:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x94"), QStringLiteral(":clock5:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\xa0"), QStringLiteral(":clock530:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x95"), QStringLiteral(":clock6:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\xa1"), QStringLiteral(":clock630:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x96"), QStringLiteral(":clock7:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\xa2"), QStringLiteral(":clock730:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x97"), QStringLiteral(":clock8:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\xa3"), QStringLiteral(":clock830:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x98"), QStringLiteral(":clock9:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\xa4"), QStringLiteral(":clock930:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x99"), QStringLiteral(":clock10:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\xa5"), QStringLiteral(":clock1030:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x9a"), QStringLiteral(":clock11:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\xa6"), QStringLiteral(":clock1130:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x8c\x80"), QStringLiteral(":cyclone:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\xa0"), QStringLiteral(":spades:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\xa5"), QStringLiteral(":hearts:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\xa6"), QStringLiteral(":diamonds:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\xa3"), QStringLiteral(":clubs:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x83\x8f"), QStringLiteral(":black_joker:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x80\x84"), QStringLiteral(":mahjong:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb4"), QStringLiteral(":flower_playing_cards:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x87"), QStringLiteral(":mute:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x88"), QStringLiteral(":speaker:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x89"), QStringLiteral(":sound:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x8a"), QStringLiteral(":loud_sound:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x93\xa2"), QStringLiteral(":loudspeaker:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x93\xa3"), QStringLiteral(":mega:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x94"), QStringLiteral(":bell:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x95"), QStringLiteral(":no_bell:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb5"), QStringLiteral(":musical_note:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x8e\xb6"), QStringLiteral(":notes:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xb9"), QStringLiteral(":chart:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xb1"), QStringLiteral(":currency_exchange:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xb2"), QStringLiteral(":heavy_dollar_sign:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x8f\xa7"), QStringLiteral(":atm:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xae"), QStringLiteral(":put_litter_in_its_place:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb0"), QStringLiteral(":potable_water:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\xbf"), QStringLiteral(":wheelchair:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb9"), QStringLiteral(":mens:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xba"), QStringLiteral(":womens:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xbb"), QStringLiteral(":restroom:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xbc"), QStringLiteral(":baby_symbol:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xbe"), QStringLiteral(":wc:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9b\x82"), QStringLiteral(":passport_control:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9b\x83"), QStringLiteral(":customs:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9b\x84"), QStringLiteral(":baggage_claim:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9b\x85"), QStringLiteral(":left_luggage:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9a\xa0"), QStringLiteral(":warning:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb8"), QStringLiteral(":children_crossing:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9b\x94"), QStringLiteral(":no_entry:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xab"), QStringLiteral(":no_entry_sign:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb3"), QStringLiteral(":no_bicycles:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xad"), QStringLiteral(":no_smoking:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xaf"), QStringLiteral(":do_not_litter:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb1"), QStringLiteral(":non-potable_water:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9a\xb7"), QStringLiteral(":no_pedestrians:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x93\xb5"), QStringLiteral(":no_mobile_phones:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x9e"), QStringLiteral(":underage:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x98\xa2"), QStringLiteral(":radioactive:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x98\xa3"), QStringLiteral(":biohazard:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\xac\x86"), QStringLiteral(":arrow_up:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x86\x97"), QStringLiteral(":arrow_upper_right:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9e\xa1"), QStringLiteral(":arrow_right:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x86\x98"), QStringLiteral(":arrow_lower_right:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\xac\x87"), QStringLiteral(":arrow_down:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x86\x99"), QStringLiteral(":arrow_lower_left:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\xac\x85"), QStringLiteral(":arrow_left:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x86\x96"), QStringLiteral(":arrow_upper_left:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x86\x95"), QStringLiteral(":arrow_up_down:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x86\x94"), QStringLiteral(":left_right_arrow:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x86\xa9"), QStringLiteral(":leftwards_arrow_with_hook:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x86\xaa"), QStringLiteral(":arrow_right_hook:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\xa4\xb4"), QStringLiteral(":arrow_heading_up:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\xa4\xb5"), QStringLiteral(":arrow_heading_down:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x83"), QStringLiteral(":arrows_clockwise:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x84"), QStringLiteral(":arrows_counterclockwise:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x99"), QStringLiteral(":back:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x9a"), QStringLiteral(":end:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x9b"), QStringLiteral(":on:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x9c"), QStringLiteral(":soon:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x9d"), QStringLiteral(":top:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x9b\x90"), QStringLiteral(":place_of_worship:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9a\x9b"), QStringLiteral(":atom:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x89"), QStringLiteral(":om_symbol:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9c\xa1"), QStringLiteral(":star_of_david:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x98\xb8"), QStringLiteral(":wheel_of_dharma:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x98\xaf"), QStringLiteral(":yin_yang:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9c\x9d"), QStringLiteral(":cross:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x98\xa6"), QStringLiteral(":orthodox_cross:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x98\xaa"), QStringLiteral(":star_and_crescent:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x98\xae"), QStringLiteral(":peace:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x95\x8e"), QStringLiteral(":menorah:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xaf"), QStringLiteral(":six_pointed_star:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x88"), QStringLiteral(":aries:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x89"), QStringLiteral(":taurus:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x8a"), QStringLiteral(":gemini:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x8b"), QStringLiteral(":cancer:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x8c"), QStringLiteral(":leo:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x8d"), QStringLiteral(":virgo:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x8e"), QStringLiteral(":libra:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x8f"), QStringLiteral(":scorpius:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x90"), QStringLiteral(":sagittarius:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x91"), QStringLiteral(":capricorn:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x92"), QStringLiteral(":aquarius:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\x93"), QStringLiteral(":pisces:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9b\x8e"), QStringLiteral(":ophiuchus:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x80"), QStringLiteral(":twisted_rightwards_arrows:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x81"), QStringLiteral(":repeat:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x82"), QStringLiteral(":repeat_one:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x96\xb6"), QStringLiteral(":arrow_forward:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xa9"), QStringLiteral(":fast_forward:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xad"), QStringLiteral(":track_next:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xaf"), QStringLiteral(":play_pause:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x97\x80"), QStringLiteral(":arrow_backward:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xaa"), QStringLiteral(":rewind:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xae"), QStringLiteral(":track_previous:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xbc"), QStringLiteral(":arrow_up_small:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xab"), QStringLiteral(":arrow_double_up:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xbd"), QStringLiteral(":arrow_down_small:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xac"), QStringLiteral(":arrow_double_down:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xb8"), QStringLiteral(":pause_button:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xb9"), QStringLiteral(":stop_button:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\xba"), QStringLiteral(":record_button:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x8f\x8f"), QStringLiteral(":eject:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x8e\xa6"), QStringLiteral(":cinema:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x85"), QStringLiteral(":low_brightness:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x86"), QStringLiteral(":high_brightness:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x93\xb6"), QStringLiteral(":signal_strength:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x93\xb3"), QStringLiteral(":vibration_mode:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x93\xb4"), QStringLiteral(":mobile_phone_off:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x99\xbb"), QStringLiteral(":recycle:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x93\x9b"), QStringLiteral(":name_badge:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9a\x9c"), QStringLiteral(":fleur-de-lis:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb0"), QStringLiteral(":beginner:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb1"), QStringLiteral(":trident:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\xad\x95"), QStringLiteral(":o:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9c\x85"), QStringLiteral(":white_check_mark:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x98\x91"), QStringLiteral(":ballot_box_with_check:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9c\x94"), QStringLiteral(":heavy_check_mark:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9c\x96"), QStringLiteral(":heavy_multiplication_x:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\x8c"), QStringLiteral(":x:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\x8e"), QStringLiteral(":negative_squared_cross_mark:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9e\x95"), QStringLiteral(":heavy_plus_sign:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9e\x96"), QStringLiteral(":heavy_minus_sign:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9e\x97"), QStringLiteral(":heavy_division_sign:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9e\xb0"), QStringLiteral(":curly_loop:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9e\xbf"), QStringLiteral(":loop:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe3\x80\xbd"), QStringLiteral(":part_alternation_mark:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9c\xb3"), QStringLiteral(":eight_spoked_asterisk:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9c\xb4"), QStringLiteral(":eight_pointed_black_star:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\x87"), QStringLiteral(":sparkle:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x80\xbc"), QStringLiteral(":bangbang:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x81\x89"), QStringLiteral(":interrobang:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\x93"), QStringLiteral(":question:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\x94"), QStringLiteral(":grey_question:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\x95"), QStringLiteral(":grey_exclamation:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9d\x97"), QStringLiteral(":exclamation:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe3\x80\xb0"), QStringLiteral(":wavy_dash:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xc2\xa9"), QStringLiteral(":copyright:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xc2\xae"), QStringLiteral(":registered:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x84\xa2"), QStringLiteral(":tm:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("#\xe2\x83\xa3"), QStringLiteral(":hash:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("*\xe2\x83\xa3"), QStringLiteral(":asterisk:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("0\xe2\x83\xa3"), QStringLiteral(":zero:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("1\xe2\x83\xa3"), QStringLiteral(":one:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("2\xe2\x83\xa3"), QStringLiteral(":two:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("3\xe2\x83\xa3"), QStringLiteral(":three:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("4\xe2\x83\xa3"), QStringLiteral(":four:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("5\xe2\x83\xa3"), QStringLiteral(":five:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("6\xe2\x83\xa3"), QStringLiteral(":six:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("7\xe2\x83\xa3"), QStringLiteral(":seven:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("8\xe2\x83\xa3"), QStringLiteral(":eight:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("9\xe2\x83\xa3"), QStringLiteral(":nine:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x9f"), QStringLiteral(":keycap_ten:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xaf"), QStringLiteral(":100:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xa0"), QStringLiteral(":capital_abcd:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xa1"), QStringLiteral(":abcd:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xa2"), QStringLiteral(":1234:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xa3"), QStringLiteral(":symbols:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xa4"), QStringLiteral(":abc:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x85\xb0"), QStringLiteral(":a:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x8e"), QStringLiteral(":ab:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x85\xb1"), QStringLiteral(":b:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x91"), QStringLiteral(":cl:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x92"), QStringLiteral(":cool:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x93"), QStringLiteral(":free:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x84\xb9"), QStringLiteral(":information_source:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x94"), QStringLiteral(":id:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x93\x82"), QStringLiteral(":m:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x95"), QStringLiteral(":new:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x96"), QStringLiteral(":ng:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x85\xbe"), QStringLiteral(":o2:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x97"), QStringLiteral(":ok:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x85\xbf"), QStringLiteral(":parking:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x98"), QStringLiteral(":sos:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x99"), QStringLiteral(":up:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x86\x9a"), QStringLiteral(":vs:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\x81"), QStringLiteral(":koko:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\x82"), QStringLiteral(":sa:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xb7"), QStringLiteral(":u6708:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xb6"), QStringLiteral(":u6709:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xaf"), QStringLiteral(":u6307:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x89\x90"), QStringLiteral(":ideograph_advantage:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xb9"), QStringLiteral(":u5272:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\x9a"), QStringLiteral(":u7121:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xb2"), QStringLiteral(":u7981:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x89\x91"), QStringLiteral(":accept:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xb8"), QStringLiteral(":u7533:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xb4"), QStringLiteral(":u5408:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xb3"), QStringLiteral(":u7a7a:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe3\x8a\x97"), QStringLiteral(":congratulations:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe3\x8a\x99"), QStringLiteral(":secret:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xba"), QStringLiteral(":u55b6:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x88\xb5"), QStringLiteral(":u6e80:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x96\xaa"), QStringLiteral(":black_small_square:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x96\xab"), QStringLiteral(":white_small_square:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x97\xbb"), QStringLiteral(":white_medium_square:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x97\xbc"), QStringLiteral(":black_medium_square:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x97\xbd"), QStringLiteral(":white_medium_small_square:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x97\xbe"), QStringLiteral(":black_medium_small_square:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\xac\x9b"), QStringLiteral(":black_large_square:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\xac\x9c"), QStringLiteral(":white_large_square:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb6"), QStringLiteral(":large_orange_diamond:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb7"), QStringLiteral(":large_blue_diamond:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb8"), QStringLiteral(":small_orange_diamond:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb9"), QStringLiteral(":small_blue_diamond:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xba"), QStringLiteral(":small_red_triangle:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xbb"), QStringLiteral(":small_red_triangle_down:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x92\xa0"), QStringLiteral(":diamond_shape_with_a_dot_inside:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\x98"), QStringLiteral(":radio_button:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb2"), QStringLiteral(":black_square_button:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb3"), QStringLiteral(":white_square_button:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9a\xaa"), QStringLiteral(":white_circle:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xe2\x9a\xab"), QStringLiteral(":black_circle:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb4"), QStringLiteral(":red_circle:"), Emoji::Group::Symbols },
	{ QString::fromUtf8("\xf0\x9f\x94\xb5"), QStringLiteral(":blue_circle:"), Emoji::Group::Symbols },
	// Flags
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xa8"), QStringLiteral(":flag_ac:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xa9"), QStringLiteral(":flag_ad:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xaa"), QStringLiteral(":flag_ae:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xab"), QStringLiteral(":flag_af:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xac"), QStringLiteral(":flag_ag:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xae"), QStringLiteral(":flag_ai:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb1"), QStringLiteral(":flag_al:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb2"), QStringLiteral(":flag_am:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb4"), QStringLiteral(":flag_ao:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb6"), QStringLiteral(":flag_aq:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb7"), QStringLiteral(":flag_ar:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb8"), QStringLiteral(":flag_as:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb9"), QStringLiteral(":flag_at:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xba"), QStringLiteral(":flag_au:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbc"), QStringLiteral(":flag_aw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbd"), QStringLiteral(":flag_ax:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbf"), QStringLiteral(":flag_az:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa6"), QStringLiteral(":flag_ba:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa7"), QStringLiteral(":flag_bb:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa9"), QStringLiteral(":flag_bd:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xaa"), QStringLiteral(":flag_be:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xab"), QStringLiteral(":flag_bf:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xac"), QStringLiteral(":flag_bg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xad"), QStringLiteral(":flag_bh:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xae"), QStringLiteral(":flag_bi:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xaf"), QStringLiteral(":flag_bj:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb1"), QStringLiteral(":flag_bl:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb2"), QStringLiteral(":flag_bm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb3"), QStringLiteral(":flag_bn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb4"), QStringLiteral(":flag_bo:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb6"), QStringLiteral(":flag_bq:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb7"), QStringLiteral(":flag_br:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb8"), QStringLiteral(":flag_bs:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb9"), QStringLiteral(":flag_bt:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbb"), QStringLiteral(":flag_bv:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbc"), QStringLiteral(":flag_bw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbe"), QStringLiteral(":flag_by:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbf"), QStringLiteral(":flag_bz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa6"), QStringLiteral(":flag_ca:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa8"), QStringLiteral(":flag_cc:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa9"), QStringLiteral(":flag_cd:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xab"), QStringLiteral(":flag_cf:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xac"), QStringLiteral(":flag_cg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xad"), QStringLiteral(":flag_ch:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xae"), QStringLiteral(":flag_ci:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb0"), QStringLiteral(":flag_ck:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb1"), QStringLiteral(":flag_cl:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb2"), QStringLiteral(":flag_cm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb3"), QStringLiteral(":flag_cn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb4"), QStringLiteral(":flag_co:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb5"), QStringLiteral(":flag_cp:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb7"), QStringLiteral(":flag_cr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xba"), QStringLiteral(":flag_cu:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbb"), QStringLiteral(":flag_cv:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbc"), QStringLiteral(":flag_cw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbd"), QStringLiteral(":flag_cx:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbe"), QStringLiteral(":flag_cy:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbf"), QStringLiteral(":flag_cz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xaa"), QStringLiteral(":flag_de:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xac"), QStringLiteral(":flag_dg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xaf"), QStringLiteral(":flag_dj:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb0"), QStringLiteral(":flag_dk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb2"), QStringLiteral(":flag_dm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb4"), QStringLiteral(":flag_do:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xbf"), QStringLiteral(":flag_dz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xa6"), QStringLiteral(":flag_ea:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xa8"), QStringLiteral(":flag_ec:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xaa"), QStringLiteral(":flag_ee:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xac"), QStringLiteral(":flag_eg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xad"), QStringLiteral(":flag_eh:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb7"), QStringLiteral(":flag_er:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb8"), QStringLiteral(":flag_es:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb9"), QStringLiteral(":flag_et:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xba"), QStringLiteral(":flag_eu:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xae"), QStringLiteral(":flag_fi:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xaf"), QStringLiteral(":flag_fj:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb0"), QStringLiteral(":flag_fk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb2"), QStringLiteral(":flag_fm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb4"), QStringLiteral(":flag_fo:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb7"), QStringLiteral(":flag_fr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa6"), QStringLiteral(":flag_ga:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa7"), QStringLiteral(":flag_gb:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa9"), QStringLiteral(":flag_gd:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xaa"), QStringLiteral(":flag_ge:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xab"), QStringLiteral(":flag_gf:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xac"), QStringLiteral(":flag_gg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xad"), QStringLiteral(":flag_gh:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xae"), QStringLiteral(":flag_gi:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb1"), QStringLiteral(":flag_gl:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb2"), QStringLiteral(":flag_gm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb3"), QStringLiteral(":flag_gn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb5"), QStringLiteral(":flag_gp:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb6"), QStringLiteral(":flag_gq:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb7"), QStringLiteral(":flag_gr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb8"), QStringLiteral(":flag_gs:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb9"), QStringLiteral(":flag_gt:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xba"), QStringLiteral(":flag_gu:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xbc"), QStringLiteral(":flag_gw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xbe"), QStringLiteral(":flag_gy:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb0"), QStringLiteral(":flag_hk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb2"), QStringLiteral(":flag_hm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb3"), QStringLiteral(":flag_hn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb7"), QStringLiteral(":flag_hr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb9"), QStringLiteral(":flag_ht:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xba"), QStringLiteral(":flag_hu:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xa8"), QStringLiteral(":flag_ic:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xa9"), QStringLiteral(":flag_id:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xaa"), QStringLiteral(":flag_ie:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb1"), QStringLiteral(":flag_il:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb2"), QStringLiteral(":flag_im:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb3"), QStringLiteral(":flag_in:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb4"), QStringLiteral(":flag_io:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb6"), QStringLiteral(":flag_iq:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb7"), QStringLiteral(":flag_ir:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb8"), QStringLiteral(":flag_is:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb9"), QStringLiteral(":flag_it:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xaa"), QStringLiteral(":flag_je:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb2"), QStringLiteral(":flag_jm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb4"), QStringLiteral(":flag_jo:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb5"), QStringLiteral(":flag_jp:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xaa"), QStringLiteral(":flag_ke:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xac"), QStringLiteral(":flag_kg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xad"), QStringLiteral(":flag_kh:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xae"), QStringLiteral(":flag_ki:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb2"), QStringLiteral(":flag_km:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb3"), QStringLiteral(":flag_kn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb5"), QStringLiteral(":flag_kp:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb7"), QStringLiteral(":flag_kr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbc"), QStringLiteral(":flag_kw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbe"), QStringLiteral(":flag_ky:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbf"), QStringLiteral(":flag_kz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa6"), QStringLiteral(":flag_la:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa7"), QStringLiteral(":flag_lb:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa8"), QStringLiteral(":flag_lc:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xae"), QStringLiteral(":flag_li:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb0"), QStringLiteral(":flag_lk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb7"), QStringLiteral(":flag_lr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb8"), QStringLiteral(":flag_ls:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb9"), QStringLiteral(":flag_lt:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xba"), QStringLiteral(":flag_lu:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xbb"), QStringLiteral(":flag_lv:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xbe"), QStringLiteral(":flag_ly:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa6"), QStringLiteral(":flag_ma:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa8"), QStringLiteral(":flag_mc:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa9"), QStringLiteral(":flag_md:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xaa"), QStringLiteral(":flag_me:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xab"), QStringLiteral(":flag_mf:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xac"), QStringLiteral(":flag_mg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xad"), QStringLiteral(":flag_mh:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb0"), QStringLiteral(":flag_mk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb1"), QStringLiteral(":flag_ml:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb2"), QStringLiteral(":flag_mm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb3"), QStringLiteral(":flag_mn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb4"), QStringLiteral(":flag_mo:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb5"), QStringLiteral(":flag_mp:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb6"), QStringLiteral(":flag_mq:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb7"), QStringLiteral(":flag_mr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb8"), QStringLiteral(":flag_ms:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb9"), QStringLiteral(":flag_mt:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xba"), QStringLiteral(":flag_mu:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbb"), QStringLiteral(":flag_mv:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbc"), QStringLiteral(":flag_mw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbd"), QStringLiteral(":flag_mx:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbe"), QStringLiteral(":flag_my:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbf"), QStringLiteral(":flag_mz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xa6"), QStringLiteral(":flag_na:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xa8"), QStringLiteral(":flag_nc:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xaa"), QStringLiteral(":flag_ne:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xab"), QStringLiteral(":flag_nf:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xac"), QStringLiteral(":flag_ng:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xae"), QStringLiteral(":flag_ni:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb1"), QStringLiteral(":flag_nl:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb4"), QStringLiteral(":flag_no:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb5"), QStringLiteral(":flag_np:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb7"), QStringLiteral(":flag_nr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xba"), QStringLiteral(":flag_nu:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xbf"), QStringLiteral(":flag_nz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb4\xf0\x9f\x87\xb2"), QStringLiteral(":flag_om:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xa6"), QStringLiteral(":flag_pa:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xaa"), QStringLiteral(":flag_pe:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xab"), QStringLiteral(":flag_pf:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xac"), QStringLiteral(":flag_pg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xad"), QStringLiteral(":flag_ph:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb0"), QStringLiteral(":flag_pk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb1"), QStringLiteral(":flag_pl:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb2"), QStringLiteral(":flag_pm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb3"), QStringLiteral(":flag_pn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb7"), QStringLiteral(":flag_pr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb8"), QStringLiteral(":flag_ps:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb9"), QStringLiteral(":flag_pt:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xbc"), QStringLiteral(":flag_pw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xbe"), QStringLiteral(":flag_py:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb6\xf0\x9f\x87\xa6"), QStringLiteral(":flag_qa:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xaa"), QStringLiteral(":flag_re:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xb4"), QStringLiteral(":flag_ro:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xb8"), QStringLiteral(":flag_rs:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xba"), QStringLiteral(":flag_ru:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xbc"), QStringLiteral(":flag_rw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa6"), QStringLiteral(":flag_sa:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa7"), QStringLiteral(":flag_sb:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa8"), QStringLiteral(":flag_sc:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa9"), QStringLiteral(":flag_sd:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xaa"), QStringLiteral(":flag_se:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xac"), QStringLiteral(":flag_sg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xad"), QStringLiteral(":flag_sh:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xae"), QStringLiteral(":flag_si:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xaf"), QStringLiteral(":flag_sj:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb0"), QStringLiteral(":flag_sk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb1"), QStringLiteral(":flag_sl:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb2"), QStringLiteral(":flag_sm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb3"), QStringLiteral(":flag_sn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb4"), QStringLiteral(":flag_so:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb7"), QStringLiteral(":flag_sr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb8"), QStringLiteral(":flag_ss:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb9"), QStringLiteral(":flag_st:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbb"), QStringLiteral(":flag_sv:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbd"), QStringLiteral(":flag_sx:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbe"), QStringLiteral(":flag_sy:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbf"), QStringLiteral(":flag_sz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa6"), QStringLiteral(":flag_ta:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa8"), QStringLiteral(":flag_tc:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa9"), QStringLiteral(":flag_td:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xab"), QStringLiteral(":flag_tf:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xac"), QStringLiteral(":flag_tg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xad"), QStringLiteral(":flag_th:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xaf"), QStringLiteral(":flag_tj:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb0"), QStringLiteral(":flag_tk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb1"), QStringLiteral(":flag_tl:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb2"), QStringLiteral(":flag_tm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb3"), QStringLiteral(":flag_tn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb4"), QStringLiteral(":flag_to:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb7"), QStringLiteral(":flag_tr:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb9"), QStringLiteral(":flag_tt:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbb"), QStringLiteral(":flag_tv:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbc"), QStringLiteral(":flag_tw:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbf"), QStringLiteral(":flag_tz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xa6"), QStringLiteral(":flag_ua:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xac"), QStringLiteral(":flag_ug:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xb2"), QStringLiteral(":flag_um:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xb8"), QStringLiteral(":flag_us:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xbe"), QStringLiteral(":flag_uy:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xbf"), QStringLiteral(":flag_uz:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xa6"), QStringLiteral(":flag_va:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xa8"), QStringLiteral(":flag_vc:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xaa"), QStringLiteral(":flag_ve:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xac"), QStringLiteral(":flag_vg:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xae"), QStringLiteral(":flag_vi:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xb3"), QStringLiteral(":flag_vn:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xba"), QStringLiteral(":flag_vu:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbc\xf0\x9f\x87\xab"), QStringLiteral(":flag_wf:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbc\xf0\x9f\x87\xb8"), QStringLiteral(":flag_ws:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbd\xf0\x9f\x87\xb0"), QStringLiteral(":flag_xk:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbe\xf0\x9f\x87\xaa"), QStringLiteral(":flag_ye:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbe\xf0\x9f\x87\xb9"), QStringLiteral(":flag_yt:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xa6"), QStringLiteral(":flag_za:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xb2"), QStringLiteral(":flag_zm:"), Emoji::Group::Flags },
	{ QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xbc"), QStringLiteral(":flag_zw:"), Emoji::Group::Flags }
};

int EmojiModel::rowCount(const QModelIndex &parent) const
{
	return parent == QModelIndex() ? s_emojis.count() : 0;
}

QVariant EmojiModel::data(const QModelIndex &index, int role) const
{
	if (hasIndex(index.row(), index.column(), index.parent())) {
		switch (role) {
		case Qt::DisplayRole:
		case static_cast<int>(EmojiModel::Roles::Unicode):
			return s_emojis[index.row()].unicode();

		case Qt::ToolTipRole:
		case static_cast<int>(EmojiModel::Roles::ShortName):
			return s_emojis[index.row()].shortName();

		case static_cast<int>(EmojiModel::Roles::Group):
			return QVariant::fromValue(s_emojis[index.row()].group());

		case static_cast<int>(EmojiModel::Roles::Emoji):
			return QVariant::fromValue(s_emojis[index.row()]);
		}
	}

	return {};
}

QHash<int, QByteArray> EmojiModel::roleNames() const
{
	static QHash<int, QByteArray> roles;

	if (roles.isEmpty()) {
		roles = QAbstractListModel::roleNames();
		roles[static_cast<int>(EmojiModel::Roles::Unicode)] = QByteArrayLiteral("unicode");
		roles[static_cast<int>(EmojiModel::Roles::ShortName)] = QByteArrayLiteral("shortName");
		roles[static_cast<int>(EmojiModel::Roles::Group)] = QByteArrayLiteral("group");
		roles[static_cast<int>(EmojiModel::Roles::Emoji)] = QByteArrayLiteral("emoji");
	}

	return roles;
}

EmojiProxyModel::EmojiProxyModel(QObject *parent)
	: QSortFilterProxyModel(parent)
{
	QSettings *settings = Kaidan::instance()->settings();
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
	QStringList list = settings->value(QLatin1String(KAIDAN_SETTINGS_FAVORITE_EMOJIS)).toStringList();
	m_favoriteEmojis = QSet<QString>(list.begin(), list.end());
#else
	m_favoriteEmojis = settings->value(QLatin1String(FAVORITES_EMOJIS_SETTINGS_PATH)).toStringList().toSet();
#endif
}

EmojiProxyModel::~EmojiProxyModel()
{
}

Emoji::Group EmojiProxyModel::group() const
{
	return m_group;
}

void EmojiProxyModel::setGroup(Emoji::Group group)
{
	if (m_group == group) {
		return;
	}

	m_group = group;
	emit groupChanged();

	invalidateFilter();
}

QString EmojiProxyModel::filter() const
{
	return filterRegExp().pattern();
}

void EmojiProxyModel::setFilter(const QString &filter)
{
	if (filterRegExp().pattern() == filter) {
		return;
	}

	setFilterWildcard(filter);
	emit filterChanged();
}

bool EmojiProxyModel::hasFavoriteEmojis() const
{
	return !m_favoriteEmojis.isEmpty();
}

void EmojiProxyModel::addFavoriteEmoji(int proxyRow)
{
	const Emoji emoji = index(proxyRow, 0).data(static_cast<int>(EmojiModel::Roles::Emoji)).value<Emoji>();

	if (!m_favoriteEmojis.contains(emoji.unicode())) {
		m_favoriteEmojis << emoji.unicode();
		emit hasFavoriteEmojisChanged();

		if (m_group == Emoji::Group::Favorites) {
			invalidateFilter();
		}

		QSettings *settings = Kaidan::instance()->settings();
		settings->setValue(QLatin1String(KAIDAN_SETTINGS_FAVORITE_EMOJIS), QStringList(m_favoriteEmojis.values()));
	}
}

bool EmojiProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
{
	const QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
	const Emoji emoji = index.data(static_cast<int>(EmojiModel::Roles::Emoji)).value<Emoji>();

	if (m_group == Emoji::Group::Favorites) {
		return m_favoriteEmojis.contains(emoji.unicode());
	} else if (m_group != Emoji::Group::Invalid) {
		return emoji.group() == m_group;
	}

	return filterRegExp().isEmpty() ? true : filterRegExp().indexIn(emoji.shortName()) != -1;
}
