summaryrefslogtreecommitdiffstats
path: root/src/emoji.cpp
blob: d723f649f59a860608b496d1b646cabeddfea567 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
/******************************************************************************
 *
 * Copyright (C) 1997-2018 by Dimitri van Heesch.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation under the terms of the GNU General Public License is hereby
 * granted. No representations are made about the suitability of this software
 * for any purpose. It is provided "as is" without express or implied warranty.
 * See the GNU General Public License for more details.
 *
 * Documents produced by Doxygen are derivative works derived from the
 * input used in their production; they are not affected by this license.
 *
 */

#include "emoji.h"
#include "message.h"
#include "util.h"
#include "textstream.h"

static struct emojiEntityInfo
{
  const char *name;
  const char *unicode;
} g_emojiEntities[] =
/* generated using the download_github_emojis.py script */
{
  { ":+1:",                                    "👍"                            },
  { ":-1:",                                    "👎"                            },
  { ":100:",                                   "💯"                            },
  { ":1234:",                                  "🔢"                            },
  { ":1st_place_medal:",                       "🥇"                            },
  { ":2nd_place_medal:",                       "🥈"                            },
  { ":3rd_place_medal:",                       "🥉"                            },
  { ":8ball:",                                 "🎱"                            },
  { ":a:",                                     "🅰"                            },
  { ":ab:",                                    "🆎"                            },
  { ":abc:",                                   "🔤"                            },
  { ":abcd:",                                  "🔡"                            },
  { ":accept:",                                "🉑"                            },
  { ":aerial_tramway:",                        "🚡"                            },
  { ":afghanistan:",                           "🇦🇫"                   },
  { ":airplane:",                              "✈"                             },
  { ":aland_islands:",                         "🇦🇽"                   },
  { ":alarm_clock:",                           "⏰"                             },
  { ":albania:",                               "🇦🇱"                   },
  { ":alembic:",                               "⚗"                             },
  { ":algeria:",                               "🇩🇿"                   },
  { ":alien:",                                 "👽"                            },
  { ":ambulance:",                             "🚑"                            },
  { ":american_samoa:",                        "🇦🇸"                   },
  { ":amphora:",                               "🏺"                            },
  { ":anchor:",                                "⚓"                             },
  { ":andorra:",                               "🇦🇩"                   },
  { ":angel:",                                 "👼"                            },
  { ":anger:",                                 "💢"                            },
  { ":angola:",                                "🇦🇴"                   },
  { ":angry:",                                 "😠"                            },
  { ":anguilla:",                              "🇦🇮"                   },
  { ":anguished:",                             "😧"                            },
  { ":ant:",                                   "🐜"                            },
  { ":antarctica:",                            "🇦🇶"                   },
  { ":antigua_barbuda:",                       "🇦🇬"                   },
  { ":apple:",                                 "🍎"                            },
  { ":aquarius:",                              "♒"                             },
  { ":argentina:",                             "🇦🇷"                   },
  { ":aries:",                                 "♈"                             },
  { ":armenia:",                               "🇦🇲"                   },
  { ":arrow_backward:",                        "◀"                             },
  { ":arrow_double_down:",                     "⏬"                             },
  { ":arrow_double_up:",                       "⏫"                             },
  { ":arrow_down:",                            "⬇"                             },
  { ":arrow_down_small:",                      "🔽"                            },
  { ":arrow_forward:",                         "▶"                             },
  { ":arrow_heading_down:",                    "⤵"                             },
  { ":arrow_heading_up:",                      "⤴"                             },
  { ":arrow_left:",                            "⬅"                             },
  { ":arrow_lower_left:",                      "↙"                             },
  { ":arrow_lower_right:",                     "↘"                             },
  { ":arrow_right:",                           "➡"                             },
  { ":arrow_right_hook:",                      "↪"                             },
  { ":arrow_up:",                              "⬆"                             },
  { ":arrow_up_down:",                         "↕"                             },
  { ":arrow_up_small:",                        "🔼"                            },
  { ":arrow_upper_left:",                      "↖"                             },
  { ":arrow_upper_right:",                     "↗"                             },
  { ":arrows_clockwise:",                      "🔃"                            },
  { ":arrows_counterclockwise:",               "🔄"                            },
  { ":art:",                                   "🎨"                            },
  { ":articulated_lorry:",                     "🚛"                            },
  { ":artificial_satellite:",                  "🛰"                            },
  { ":aruba:",                                 "🇦🇼"                   },
  { ":asterisk:",                              "*⃣"                     },
  { ":astonished:",                            "😲"                            },
  { ":athletic_shoe:",                         "👟"                            },
  { ":atm:",                                   "🏧"                            },
  { ":atom_symbol:",                           "⚛"                             },
  { ":australia:",                             "🇦🇺"                   },
  { ":austria:",                               "🇦🇹"                   },
  { ":avocado:",                               "🥑"                            },
  { ":azerbaijan:",                            "🇦🇿"                   },
  { ":b:",                                     "🅱"                            },
  { ":baby:",                                  "👶"                            },
  { ":baby_bottle:",                           "🍼"                            },
  { ":baby_chick:",                            "🐤"                            },
  { ":baby_symbol:",                           "🚼"                            },
  { ":back:",                                  "🔙"                            },
  { ":bacon:",                                 "🥓"                            },
  { ":badminton:",                             "🏸"                            },
  { ":baggage_claim:",                         "🛄"                            },
  { ":baguette_bread:",                        "🥖"                            },
  { ":bahamas:",                               "🇧🇸"                   },
  { ":bahrain:",                               "🇧🇭"                   },
  { ":balance_scale:",                         "⚖"                             },
  { ":balloon:",                               "🎈"                            },
  { ":ballot_box:",                            "🗳"                            },
  { ":ballot_box_with_check:",                 "☑"                             },
  { ":bamboo:",                                "🎍"                            },
  { ":banana:",                                "🍌"                            },
  { ":bangbang:",                              "‼"                             },
  { ":bangladesh:",                            "🇧🇩"                   },
  { ":bank:",                                  "🏦"                            },
  { ":bar_chart:",                             "📊"                            },
  { ":barbados:",                              "🇧🇧"                   },
  { ":barber:",                                "💈"                            },
  { ":baseball:",                              "⚾"                             },
  { ":basketball:",                            "🏀"                            },
  { ":basketball_man:",                        "⛹"                             },
  { ":basketball_woman:",                      "⛹♀"                     },
  { ":bat:",                                   "🦇"                            },
  { ":bath:",                                  "🛀"                            },
  { ":bathtub:",                               "🛁"                            },
  { ":battery:",                               "🔋"                            },
  { ":beach_umbrella:",                        "🏖"                            },
  { ":bear:",                                  "🐻"                            },
  { ":bed:",                                   "🛏"                            },
  { ":bee:",                                   "🐝"                            },
  { ":beer:",                                  "🍺"                            },
  { ":beers:",                                 "🍻"                            },
  { ":beetle:",                                "🐞"                            },
  { ":beginner:",                              "🔰"                            },
  { ":belarus:",                               "🇧🇾"                   },
  { ":belgium:",                               "🇧🇪"                   },
  { ":belize:",                                "🇧🇿"                   },
  { ":bell:",                                  "🔔"                            },
  { ":bellhop_bell:",                          "🛎"                            },
  { ":benin:",                                 "🇧🇯"                   },
  { ":bento:",                                 "🍱"                            },
  { ":bermuda:",                               "🇧🇲"                   },
  { ":bhutan:",                                "🇧🇹"                   },
  { ":bicyclist:",                             "🚴"                            },
  { ":bike:",                                  "🚲"                            },
  { ":biking_man:",                            "🚴"                            },
  { ":biking_woman:",                          "🚴♀"                    },
  { ":bikini:",                                "👙"                            },
  { ":biohazard:",                             "☣"                             },
  { ":bird:",                                  "🐦"                            },
  { ":birthday:",                              "🎂"                            },
  { ":black_circle:",                          "⚫"                             },
  { ":black_flag:",                            "🏴"                            },
  { ":black_heart:",                           "🖤"                            },
  { ":black_joker:",                           "🃏"                            },
  { ":black_large_square:",                    "⬛"                             },
  { ":black_medium_small_square:",             "◾"                             },
  { ":black_medium_square:",                   "◼"                             },
  { ":black_nib:",                             "✒"                             },
  { ":black_small_square:",                    "▪"                             },
  { ":black_square_button:",                   "🔲"                            },
  { ":blonde_man:",                            "👱"                            },
  { ":blonde_woman:",                          "👱♀"                    },
  { ":blossom:",                               "🌼"                            },
  { ":blowfish:",                              "🐡"                            },
  { ":blue_book:",                             "📘"                            },
  { ":blue_car:",                              "🚙"                            },
  { ":blue_heart:",                            "💙"                            },
  { ":blush:",                                 "😊"                            },
  { ":boar:",                                  "🐗"                            },
  { ":boat:",                                  "⛵"                             },
  { ":bolivia:",                               "🇧🇴"                   },
  { ":bomb:",                                  "💣"                            },
  { ":book:",                                  "📖"                            },
  { ":bookmark:",                              "🔖"                            },
  { ":bookmark_tabs:",                         "📑"                            },
  { ":books:",                                 "📚"                            },
  { ":boom:",                                  "💥"                            },
  { ":boot:",                                  "👢"                            },
  { ":bosnia_herzegovina:",                    "🇧🇦"                   },
  { ":botswana:",                              "🇧🇼"                   },
  { ":bouquet:",                               "💐"                            },
  { ":bow:",                                   "🙇"                            },
  { ":bow_and_arrow:",                         "🏹"                            },
  { ":bowing_man:",                            "🙇"                            },
  { ":bowing_woman:",                          "🙇♀"                    },
  { ":bowling:",                               "🎳"                            },
  { ":boxing_glove:",                          "🥊"                            },
  { ":boy:",                                   "👦"                            },
  { ":brazil:",                                "🇧🇷"                   },
  { ":bread:",                                 "🍞"                            },
  { ":bride_with_veil:",                       "👰"                            },
  { ":bridge_at_night:",                       "🌉"                            },
  { ":briefcase:",                             "💼"                            },
  { ":british_indian_ocean_territory:",        "🇮🇴"                   },
  { ":british_virgin_islands:",                "🇻🇬"                   },
  { ":broken_heart:",                          "💔"                            },
  { ":brunei:",                                "🇧🇳"                   },
  { ":bug:",                                   "🐛"                            },
  { ":building_construction:",                 "🏗"                            },
  { ":bulb:",                                  "💡"                            },
  { ":bulgaria:",                              "🇧🇬"                   },
  { ":bullettrain_front:",                     "🚅"                            },
  { ":bullettrain_side:",                      "🚄"                            },
  { ":burkina_faso:",                          "🇧🇫"                   },
  { ":burrito:",                               "🌯"                            },
  { ":burundi:",                               "🇧🇮"                   },
  { ":bus:",                                   "🚌"                            },
  { ":business_suit_levitating:",              "🕴"                            },
  { ":busstop:",                               "🚏"                            },
  { ":bust_in_silhouette:",                    "👤"                            },
  { ":busts_in_silhouette:",                   "👥"                            },
  { ":butterfly:",                             "🦋"                            },
  { ":cactus:",                                "🌵"                            },
  { ":cake:",                                  "🍰"                            },
  { ":calendar:",                              "📆"                            },
  { ":call_me_hand:",                          "🤙"                            },
  { ":calling:",                               "📲"                            },
  { ":cambodia:",                              "🇰🇭"                   },
  { ":camel:",                                 "🐫"                            },
  { ":camera:",                                "📷"                            },
  { ":camera_flash:",                          "📸"                            },
  { ":cameroon:",                              "🇨🇲"                   },
  { ":camping:",                               "🏕"                            },
  { ":canada:",                                "🇨🇦"                   },
  { ":canary_islands:",                        "🇮🇨"                   },
  { ":cancer:",                                "♋"                             },
  { ":candle:",                                "🕯"                            },
  { ":candy:",                                 "🍬"                            },
  { ":canoe:",                                 "🛶"                            },
  { ":cape_verde:",                            "🇨🇻"                   },
  { ":capital_abcd:",                          "🔠"                            },
  { ":capricorn:",                             "♑"                             },
  { ":car:",                                   "🚗"                            },
  { ":card_file_box:",                         "🗃"                            },
  { ":card_index:",                            "📇"                            },
  { ":card_index_dividers:",                   "🗂"                            },
  { ":caribbean_netherlands:",                 "🇧🇶"                   },
  { ":carousel_horse:",                        "🎠"                            },
  { ":carrot:",                                "🥕"                            },
  { ":cat:",                                   "🐱"                            },
  { ":cat2:",                                  "🐈"                            },
  { ":cayman_islands:",                        "🇰🇾"                   },
  { ":cd:",                                    "💿"                            },
  { ":central_african_republic:",              "🇨🇫"                   },
  { ":chad:",                                  "🇹🇩"                   },
  { ":chains:",                                "⛓"                             },
  { ":champagne:",                             "🍾"                            },
  { ":chart:",                                 "💹"                            },
  { ":chart_with_downwards_trend:",            "📉"                            },
  { ":chart_with_upwards_trend:",              "📈"                            },
  { ":checkered_flag:",                        "🏁"                            },
  { ":cheese:",                                "🧀"                            },
  { ":cherries:",                              "🍒"                            },
  { ":cherry_blossom:",                        "🌸"                            },
  { ":chestnut:",                              "🌰"                            },
  { ":chicken:",                               "🐔"                            },
  { ":children_crossing:",                     "🚸"                            },
  { ":chile:",                                 "🇨🇱"                   },
  { ":chipmunk:",                              "🐿"                            },
  { ":chocolate_bar:",                         "🍫"                            },
  { ":christmas_island:",                      "🇨🇽"                   },
  { ":christmas_tree:",                        "🎄"                            },
  { ":church:",                                "⛪"                             },
  { ":cinema:",                                "🎦"                            },
  { ":circus_tent:",                           "🎪"                            },
  { ":city_sunrise:",                          "🌇"                            },
  { ":city_sunset:",                           "🌆"                            },
  { ":cityscape:",                             "🏙"                            },
  { ":cl:",                                    "🆑"                            },
  { ":clamp:",                                 "🗜"                            },
  { ":clap:",                                  "👏"                            },
  { ":clapper:",                               "🎬"                            },
  { ":classical_building:",                    "🏛"                            },
  { ":clinking_glasses:",                      "🥂"                            },
  { ":clipboard:",                             "📋"                            },
  { ":clock1:",                                "🕐"                            },
  { ":clock10:",                               "🕙"                            },
  { ":clock1030:",                             "🕥"                            },
  { ":clock11:",                               "🕚"                            },
  { ":clock1130:",                             "🕦"                            },
  { ":clock12:",                               "🕛"                            },
  { ":clock1230:",                             "🕧"                            },
  { ":clock130:",                              "🕜"                            },
  { ":clock2:",                                "🕑"                            },
  { ":clock230:",                              "🕝"                            },
  { ":clock3:",                                "🕒"                            },
  { ":clock330:",                              "🕞"                            },
  { ":clock4:",                                "🕓"                            },
  { ":clock430:",                              "🕟"                            },
  { ":clock5:",                                "🕔"                            },
  { ":clock530:",                              "🕠"                            },
  { ":clock6:",                                "🕕"                            },
  { ":clock630:",                              "🕡"                            },
  { ":clock7:",                                "🕖"                            },
  { ":clock730:",                              "🕢"                            },
  { ":clock8:",                                "🕗"                            },
  { ":clock830:",                              "🕣"                            },
  { ":clock9:",                                "🕘"                            },
  { ":clock930:",                              "🕤"                            },
  { ":closed_book:",                           "📕"                            },
  { ":closed_lock_with_key:",                  "🔐"                            },
  { ":closed_umbrella:",                       "🌂"                            },
  { ":cloud:",                                 "☁"                             },
  { ":cloud_with_lightning:",                  "🌩"                            },
  { ":cloud_with_lightning_and_rain:",         "⛈"                             },
  { ":cloud_with_rain:",                       "🌧"                            },
  { ":cloud_with_snow:",                       "🌨"                            },
  { ":clown_face:",                            "🤡"                            },
  { ":clubs:",                                 "♣"                             },
  { ":cn:",                                    "🇨🇳"                   },
  { ":cocktail:",                              "🍸"                            },
  { ":cocos_islands:",                         "🇨🇨"                   },
  { ":coffee:",                                "☕"                             },
  { ":coffin:",                                "⚰"                             },
  { ":cold_sweat:",                            "😰"                            },
  { ":collision:",                             "💥"                            },
  { ":colombia:",                              "🇨🇴"                   },
  { ":comet:",                                 "☄"                             },
  { ":comoros:",                               "🇰🇲"                   },
  { ":computer:",                              "💻"                            },
  { ":computer_mouse:",                        "🖱"                            },
  { ":confetti_ball:",                         "🎊"                            },
  { ":confounded:",                            "😖"                            },
  { ":confused:",                              "😕"                            },
  { ":congo_brazzaville:",                     "🇨🇬"                   },
  { ":congo_kinshasa:",                        "🇨🇩"                   },
  { ":congratulations:",                       "㊗"                             },
  { ":construction:",                          "🚧"                            },
  { ":construction_worker:",                   "👷"                            },
  { ":construction_worker_man:",               "👷"                            },
  { ":construction_worker_woman:",             "👷♀"                    },
  { ":control_knobs:",                         "🎛"                            },
  { ":convenience_store:",                     "🏪"                            },
  { ":cook_islands:",                          "🇨🇰"                   },
  { ":cookie:",                                "🍪"                            },
  { ":cool:",                                  "🆒"                            },
  { ":cop:",                                   "👮"                            },
  { ":copyright:",                             "©"                             },
  { ":corn:",                                  "🌽"                            },
  { ":costa_rica:",                            "🇨🇷"                   },
  { ":cote_divoire:",                          "🇨🇮"                   },
  { ":couch_and_lamp:",                        "🛋"                            },
  { ":couple:",                                "👫"                            },
  { ":couple_with_heart:",                     "💑"                            },
  { ":couple_with_heart_man_man:",             "👨❤👨"           },
  { ":couple_with_heart_woman_man:",           "💑"                            },
  { ":couple_with_heart_woman_woman:",         "👩❤👩"           },
  { ":couplekiss_man_man:",                    "👨❤💋👨"  },
  { ":couplekiss_man_woman:",                  "💏"                            },
  { ":couplekiss_woman_woman:",                "👩❤💋👩"  },
  { ":cow:",                                   "🐮"                            },
  { ":cow2:",                                  "🐄"                            },
  { ":cowboy_hat_face:",                       "🤠"                            },
  { ":crab:",                                  "🦀"                            },
  { ":crayon:",                                "🖍"                            },
  { ":credit_card:",                           "💳"                            },
  { ":crescent_moon:",                         "🌙"                            },
  { ":cricket:",                               "🏏"                            },
  { ":croatia:",                               "🇭🇷"                   },
  { ":crocodile:",                             "🐊"                            },
  { ":croissant:",                             "🥐"                            },
  { ":crossed_fingers:",                       "🤞"                            },
  { ":crossed_flags:",                         "🎌"                            },
  { ":crossed_swords:",                        "⚔"                             },
  { ":crown:",                                 "👑"                            },
  { ":cry:",                                   "😢"                            },
  { ":crying_cat_face:",                       "😿"                            },
  { ":crystal_ball:",                          "🔮"                            },
  { ":cuba:",                                  "🇨🇺"                   },
  { ":cucumber:",                              "🥒"                            },
  { ":cupid:",                                 "💘"                            },
  { ":curacao:",                               "🇨🇼"                   },
  { ":curly_loop:",                            "➰"                             },
  { ":currency_exchange:",                     "💱"                            },
  { ":curry:",                                 "🍛"                            },
  { ":custard:",                               "🍮"                            },
  { ":customs:",                               "🛃"                            },
  { ":cyclone:",                               "🌀"                            },
  { ":cyprus:",                                "🇨🇾"                   },
  { ":czech_republic:",                        "🇨🇿"                   },
  { ":dagger:",                                "🗡"                            },
  { ":dancer:",                                "💃"                            },
  { ":dancers:",                               "👯"                            },
  { ":dancing_men:",                           "👯♂"                    },
  { ":dancing_women:",                         "👯"                            },
  { ":dango:",                                 "🍡"                            },
  { ":dark_sunglasses:",                       "🕶"                            },
  { ":dart:",                                  "🎯"                            },
  { ":dash:",                                  "💨"                            },
  { ":date:",                                  "📅"                            },
  { ":de:",                                    "🇩🇪"                   },
  { ":deciduous_tree:",                        "🌳"                            },
  { ":deer:",                                  "🦌"                            },
  { ":denmark:",                               "🇩🇰"                   },
  { ":department_store:",                      "🏬"                            },
  { ":derelict_house:",                        "🏚"                            },
  { ":desert:",                                "🏜"                            },
  { ":desert_island:",                         "🏝"                            },
  { ":desktop_computer:",                      "🖥"                            },
  { ":detective:",                             "🕵"                            },
  { ":diamond_shape_with_a_dot_inside:",       "💠"                            },
  { ":diamonds:",                              "♦"                             },
  { ":disappointed:",                          "😞"                            },
  { ":disappointed_relieved:",                 "😥"                            },
  { ":dizzy:",                                 "💫"                            },
  { ":dizzy_face:",                            "😵"                            },
  { ":djibouti:",                              "🇩🇯"                   },
  { ":do_not_litter:",                         "🚯"                            },
  { ":dog:",                                   "🐶"                            },
  { ":dog2:",                                  "🐕"                            },
  { ":dollar:",                                "💵"                            },
  { ":dolls:",                                 "🎎"                            },
  { ":dolphin:",                               "🐬"                            },
  { ":dominica:",                              "🇩🇲"                   },
  { ":dominican_republic:",                    "🇩🇴"                   },
  { ":door:",                                  "🚪"                            },
  { ":doughnut:",                              "🍩"                            },
  { ":dove:",                                  "🕊"                            },
  { ":dragon:",                                "🐉"                            },
  { ":dragon_face:",                           "🐲"                            },
  { ":dress:",                                 "👗"                            },
  { ":dromedary_camel:",                       "🐪"                            },
  { ":drooling_face:",                         "🤤"                            },
  { ":droplet:",                               "💧"                            },
  { ":drum:",                                  "🥁"                            },
  { ":duck:",                                  "🦆"                            },
  { ":dvd:",                                   "📀"                            },
  { ":e-mail:",                                "📧"                            },
  { ":eagle:",                                 "🦅"                            },
  { ":ear:",                                   "👂"                            },
  { ":ear_of_rice:",                           "🌾"                            },
  { ":earth_africa:",                          "🌍"                            },
  { ":earth_americas:",                        "🌎"                            },
  { ":earth_asia:",                            "🌏"                            },
  { ":ecuador:",                               "🇪🇨"                   },
  { ":egg:",                                   "🥚"                            },
  { ":eggplant:",                              "🍆"                            },
  { ":egypt:",                                 "🇪🇬"                   },
  { ":eight:",                                 "8⃣"                     },
  { ":eight_pointed_black_star:",              "✴"                             },
  { ":eight_spoked_asterisk:",                 "✳"                             },
  { ":el_salvador:",                           "🇸🇻"                   },
  { ":electric_plug:",                         "🔌"                            },
  { ":elephant:",                              "🐘"                            },
  { ":email:",                                 "✉"                             },
  { ":end:",                                   "🔚"                            },
  { ":envelope:",                              "✉"                             },
  { ":envelope_with_arrow:",                   "📩"                            },
  { ":equatorial_guinea:",                     "🇬🇶"                   },
  { ":eritrea:",                               "🇪🇷"                   },
  { ":es:",                                    "🇪🇸"                   },
  { ":estonia:",                               "🇪🇪"                   },
  { ":ethiopia:",                              "🇪🇹"                   },
  { ":eu:",                                    "🇪🇺"                   },
  { ":euro:",                                  "💶"                            },
  { ":european_castle:",                       "🏰"                            },
  { ":european_post_office:",                  "🏤"                            },
  { ":european_union:",                        "🇪🇺"                   },
  { ":evergreen_tree:",                        "🌲"                            },
  { ":exclamation:",                           "❗"                             },
  { ":expressionless:",                        "😑"                            },
  { ":eye:",                                   "👁"                            },
  { ":eye_speech_bubble:",                     "👁🗨"                   },
  { ":eyeglasses:",                            "👓"                            },
  { ":eyes:",                                  "👀"                            },
  { ":face_with_head_bandage:",                "🤕"                            },
  { ":face_with_thermometer:",                 "🤒"                            },
  { ":facepunch:",                             "👊"                            },
  { ":factory:",                               "🏭"                            },
  { ":falkland_islands:",                      "🇫🇰"                   },
  { ":fallen_leaf:",                           "🍂"                            },
  { ":family:",                                "👪"                            },
  { ":family_man_boy:",                        "👨👦"                   },
  { ":family_man_boy_boy:",                    "👨👦👦"          },
  { ":family_man_girl:",                       "👨👧"                   },
  { ":family_man_girl_boy:",                   "👨👧👦"          },
  { ":family_man_girl_girl:",                  "👨👧👧"          },
  { ":family_man_man_boy:",                    "👨👨👦"          },
  { ":family_man_man_boy_boy:",                "👨👨👦👦" },
  { ":family_man_man_girl:",                   "👨👨👧"          },
  { ":family_man_man_girl_boy:",               "👨👨👧👦" },
  { ":family_man_man_girl_girl:",              "👨👨👧👧" },
  { ":family_man_woman_boy:",                  "👪"                            },
  { ":family_man_woman_boy_boy:",              "👨👩👦👦" },
  { ":family_man_woman_girl:",                 "👨👩👧"          },
  { ":family_man_woman_girl_boy:",             "👨👩👧👦" },
  { ":family_man_woman_girl_girl:",            "👨👩👧👧" },
  { ":family_woman_boy:",                      "👩👦"                   },
  { ":family_woman_boy_boy:",                  "👩👦👦"          },
  { ":family_woman_girl:",                     "👩👧"                   },
  { ":family_woman_girl_boy:",                 "👩👧👦"          },
  { ":family_woman_girl_girl:",                "👩👧👧"          },
  { ":family_woman_woman_boy:",                "👩👩👦"          },
  { ":family_woman_woman_boy_boy:",            "👩👩👦👦" },
  { ":family_woman_woman_girl:",               "👩👩👧"          },
  { ":family_woman_woman_girl_boy:",           "👩👩👧👦" },
  { ":family_woman_woman_girl_girl:",          "👩👩👧👧" },
  { ":faroe_islands:",                         "🇫🇴"                   },
  { ":fast_forward:",                          "⏩"                             },
  { ":fax:",                                   "📠"                            },
  { ":fearful:",                               "😨"                            },
  { ":feet:",                                  "🐾"                            },
  { ":female_detective:",                      "🕵♀"                    },
  { ":ferris_wheel:",                          "🎡"                            },
  { ":ferry:",                                 "⛴"                             },
  { ":field_hockey:",                          "🏑"                            },
  { ":fiji:",                                  "🇫🇯"                   },
  { ":file_cabinet:",                          "🗄"                            },
  { ":file_folder:",                           "📁"                            },
  { ":film_projector:",                        "📽"                            },
  { ":film_strip:",                            "🎞"                            },
  { ":finland:",                               "🇫🇮"                   },
  { ":fire:",                                  "🔥"                            },
  { ":fire_engine:",                           "🚒"                            },
  { ":fireworks:",                             "🎆"                            },
  { ":first_quarter_moon:",                    "🌓"                            },
  { ":first_quarter_moon_with_face:",          "🌛"                            },
  { ":fish:",                                  "🐟"                            },
  { ":fish_cake:",                             "🍥"                            },
  { ":fishing_pole_and_fish:",                 "🎣"                            },
  { ":fist:",                                  "✊"                             },
  { ":fist_left:",                             "🤛"                            },
  { ":fist_oncoming:",                         "👊"                            },
  { ":fist_raised:",                           "✊"                             },
  { ":fist_right:",                            "🤜"                            },
  { ":five:",                                  "5⃣"                     },
  { ":flags:",                                 "🎏"                            },
  { ":flashlight:",                            "🔦"                            },
  { ":fleur_de_lis:",                          "⚜"                             },
  { ":flight_arrival:",                        "🛬"                            },
  { ":flight_departure:",                      "🛫"                            },
  { ":flipper:",                               "🐬"                            },
  { ":floppy_disk:",                           "💾"                            },
  { ":flower_playing_cards:",                  "🎴"                            },
  { ":flushed:",                               "😳"                            },
  { ":fog:",                                   "🌫"                            },
  { ":foggy:",                                 "🌁"                            },
  { ":football:",                              "🏈"                            },
  { ":footprints:",                            "👣"                            },
  { ":fork_and_knife:",                        "🍴"                            },
  { ":fountain:",                              "⛲"                             },
  { ":fountain_pen:",                          "🖋"                            },
  { ":four:",                                  "4⃣"                     },
  { ":four_leaf_clover:",                      "🍀"                            },
  { ":fox_face:",                              "🦊"                            },
  { ":fr:",                                    "🇫🇷"                   },
  { ":framed_picture:",                        "🖼"                            },
  { ":free:",                                  "🆓"                            },
  { ":french_guiana:",                         "🇬🇫"                   },
  { ":french_polynesia:",                      "🇵🇫"                   },
  { ":french_southern_territories:",           "🇹🇫"                   },
  { ":fried_egg:",                             "🍳"                            },
  { ":fried_shrimp:",                          "🍤"                            },
  { ":fries:",                                 "🍟"                            },
  { ":frog:",                                  "🐸"                            },
  { ":frowning:",                              "😦"                            },
  { ":frowning_face:",                         "☹"                             },
  { ":frowning_man:",                          "🙍♂"                    },
  { ":frowning_woman:",                        "🙍"                            },
  { ":fu:",                                    "🖕"                            },
  { ":fuelpump:",                              "⛽"                             },
  { ":full_moon:",                             "🌕"                            },
  { ":full_moon_with_face:",                   "🌝"                            },
  { ":funeral_urn:",                           "⚱"                             },
  { ":gabon:",                                 "🇬🇦"                   },
  { ":gambia:",                                "🇬🇲"                   },
  { ":game_die:",                              "🎲"                            },
  { ":gb:",                                    "🇬🇧"                   },
  { ":gear:",                                  "⚙"                             },
  { ":gem:",                                   "💎"                            },
  { ":gemini:",                                "♊"                             },
  { ":georgia:",                               "🇬🇪"                   },
  { ":ghana:",                                 "🇬🇭"                   },
  { ":ghost:",                                 "👻"                            },
  { ":gibraltar:",                             "🇬🇮"                   },
  { ":gift:",                                  "🎁"                            },
  { ":gift_heart:",                            "💝"                            },
  { ":girl:",                                  "👧"                            },
  { ":globe_with_meridians:",                  "🌐"                            },
  { ":goal_net:",                              "🥅"                            },
  { ":goat:",                                  "🐐"                            },
  { ":golf:",                                  "⛳"                             },
  { ":golfing_man:",                           "🏌"                            },
  { ":golfing_woman:",                         "🏌♀"                    },
  { ":gorilla:",                               "🦍"                            },
  { ":grapes:",                                "🍇"                            },
  { ":greece:",                                "🇬🇷"                   },
  { ":green_apple:",                           "🍏"                            },
  { ":green_book:",                            "📗"                            },
  { ":green_heart:",                           "💚"                            },
  { ":green_salad:",                           "🥗"                            },
  { ":greenland:",                             "🇬🇱"                   },
  { ":grenada:",                               "🇬🇩"                   },
  { ":grey_exclamation:",                      "❕"                             },
  { ":grey_question:",                         "❔"                             },
  { ":grimacing:",                             "😬"                            },
  { ":grin:",                                  "😁"                            },
  { ":grinning:",                              "😀"                            },
  { ":guadeloupe:",                            "🇬🇵"                   },
  { ":guam:",                                  "🇬🇺"                   },
  { ":guardsman:",                             "💂"                            },
  { ":guardswoman:",                           "💂♀"                    },
  { ":guatemala:",                             "🇬🇹"                   },
  { ":guernsey:",                              "🇬🇬"                   },
  { ":guinea:",                                "🇬🇳"                   },
  { ":guinea_bissau:",                         "🇬🇼"                   },
  { ":guitar:",                                "🎸"                            },
  { ":gun:",                                   "🔫"                            },
  { ":guyana:",                                "🇬🇾"                   },
  { ":haircut:",                               "💇"                            },
  { ":haircut_man:",                           "💇♂"                    },
  { ":haircut_woman:",                         "💇"                            },
  { ":haiti:",                                 "🇭🇹"                   },
  { ":hamburger:",                             "🍔"                            },
  { ":hammer:",                                "🔨"                            },
  { ":hammer_and_pick:",                       "⚒"                             },
  { ":hammer_and_wrench:",                     "🛠"                            },
  { ":hamster:",                               "🐹"                            },
  { ":hand:",                                  "✋"                             },
  { ":handbag:",                               "👜"                            },
  { ":handshake:",                             "🤝"                            },
  { ":hankey:",                                "💩"                            },
  { ":hash:",                                  "#⃣"                     },
  { ":hatched_chick:",                         "🐥"                            },
  { ":hatching_chick:",                        "🐣"                            },
  { ":headphones:",                            "🎧"                            },
  { ":hear_no_evil:",                          "🙉"                            },
  { ":heart:",                                 "❤"                             },
  { ":heart_decoration:",                      "💟"                            },
  { ":heart_eyes:",                            "😍"                            },
  { ":heart_eyes_cat:",                        "😻"                            },
  { ":heartbeat:",                             "💓"                            },
  { ":heartpulse:",                            "💗"                            },
  { ":hearts:",                                "♥"                             },
  { ":heavy_check_mark:",                      "✔"                             },
  { ":heavy_division_sign:",                   "➗"                             },
  { ":heavy_dollar_sign:",                     "💲"                            },
  { ":heavy_exclamation_mark:",                "❗"                             },
  { ":heavy_heart_exclamation:",               "❣"                             },
  { ":heavy_minus_sign:",                      "➖"                             },
  { ":heavy_multiplication_x:",                "✖"                             },
  { ":heavy_plus_sign:",                       "➕"                             },
  { ":helicopter:",                            "🚁"                            },
  { ":herb:",                                  "🌿"                            },
  { ":hibiscus:",                              "🌺"                            },
  { ":high_brightness:",                       "🔆"                            },
  { ":high_heel:",                             "👠"                            },
  { ":hocho:",                                 "🔪"                            },
  { ":hole:",                                  "🕳"                            },
  { ":honduras:",                              "🇭🇳"                   },
  { ":honey_pot:",                             "🍯"                            },
  { ":honeybee:",                              "🐝"                            },
  { ":hong_kong:",                             "🇭🇰"                   },
  { ":horse:",                                 "🐴"                            },
  { ":horse_racing:",                          "🏇"                            },
  { ":hospital:",                              "🏥"                            },
  { ":hot_pepper:",                            "🌶"                            },
  { ":hotdog:",                                "🌭"                            },
  { ":hotel:",                                 "🏨"                            },
  { ":hotsprings:",                            "♨"                             },
  { ":hourglass:",                             "⌛"                             },
  { ":hourglass_flowing_sand:",                "⏳"                             },
  { ":house:",                                 "🏠"                            },
  { ":house_with_garden:",                     "🏡"                            },
  { ":houses:",                                "🏘"                            },
  { ":hugs:",                                  "🤗"                            },
  { ":hungary:",                               "🇭🇺"                   },
  { ":hushed:",                                "😯"                            },
  { ":ice_cream:",                             "🍨"                            },
  { ":ice_hockey:",                            "🏒"                            },
  { ":ice_skate:",                             "⛸"                             },
  { ":icecream:",                              "🍦"                            },
  { ":iceland:",                               "🇮🇸"                   },
  { ":id:",                                    "🆔"                            },
  { ":ideograph_advantage:",                   "🉐"                            },
  { ":imp:",                                   "👿"                            },
  { ":inbox_tray:",                            "📥"                            },
  { ":incoming_envelope:",                     "📨"                            },
  { ":india:",                                 "🇮🇳"                   },
  { ":indonesia:",                             "🇮🇩"                   },
  { ":information_desk_person:",               "💁"                            },
  { ":information_source:",                    "ℹ"                             },
  { ":innocent:",                              "😇"                            },
  { ":interrobang:",                           "⁉"                             },
  { ":iphone:",                                "📱"                            },
  { ":iran:",                                  "🇮🇷"                   },
  { ":iraq:",                                  "🇮🇶"                   },
  { ":ireland:",                               "🇮🇪"                   },
  { ":isle_of_man:",                           "🇮🇲"                   },
  { ":israel:",                                "🇮🇱"                   },
  { ":it:",                                    "🇮🇹"                   },
  { ":izakaya_lantern:",                       "🏮"                            },
  { ":jack_o_lantern:",                        "🎃"                            },
  { ":jamaica:",                               "🇯🇲"                   },
  { ":japan:",                                 "🗾"                            },
  { ":japanese_castle:",                       "🏯"                            },
  { ":japanese_goblin:",                       "👺"                            },
  { ":japanese_ogre:",                         "👹"                            },
  { ":jeans:",                                 "👖"                            },
  { ":jersey:",                                "🇯🇪"                   },
  { ":jordan:",                                "🇯🇴"                   },
  { ":joy:",                                   "😂"                            },
  { ":joy_cat:",                               "😹"                            },
  { ":joystick:",                              "🕹"                            },
  { ":jp:",                                    "🇯🇵"                   },
  { ":kaaba:",                                 "🕋"                            },
  { ":kazakhstan:",                            "🇰🇿"                   },
  { ":kenya:",                                 "🇰🇪"                   },
  { ":key:",                                   "🔑"                            },
  { ":keyboard:",                              "⌨"                             },
  { ":keycap_ten:",                            "🔟"                            },
  { ":kick_scooter:",                          "🛴"                            },
  { ":kimono:",                                "👘"                            },
  { ":kiribati:",                              "🇰🇮"                   },
  { ":kiss:",                                  "💋"                            },
  { ":kissing:",                               "😗"                            },
  { ":kissing_cat:",                           "😽"                            },
  { ":kissing_closed_eyes:",                   "😚"                            },
  { ":kissing_heart:",                         "😘"                            },
  { ":kissing_smiling_eyes:",                  "😙"                            },
  { ":kiwi_fruit:",                            "🥝"                            },
  { ":knife:",                                 "🔪"                            },
  { ":koala:",                                 "🐨"                            },
  { ":koko:",                                  "🈁"                            },
  { ":kosovo:",                                "🇽🇰"                   },
  { ":kr:",                                    "🇰🇷"                   },
  { ":kuwait:",                                "🇰🇼"                   },
  { ":kyrgyzstan:",                            "🇰🇬"                   },
  { ":label:",                                 "🏷"                            },
  { ":lantern:",                               "🏮"                            },
  { ":laos:",                                  "🇱🇦"                   },
  { ":large_blue_circle:",                     "🔵"                            },
  { ":large_blue_diamond:",                    "🔷"                            },
  { ":large_orange_diamond:",                  "🔶"                            },
  { ":last_quarter_moon:",                     "🌗"                            },
  { ":last_quarter_moon_with_face:",           "🌜"                            },
  { ":latin_cross:",                           "✝"                             },
  { ":latvia:",                                "🇱🇻"                   },
  { ":laughing:",                              "😆"                            },
  { ":leaves:",                                "🍃"                            },
  { ":lebanon:",                               "🇱🇧"                   },
  { ":ledger:",                                "📒"                            },
  { ":left_luggage:",                          "🛅"                            },
  { ":left_right_arrow:",                      "↔"                             },
  { ":leftwards_arrow_with_hook:",             "↩"                             },
  { ":lemon:",                                 "🍋"                            },
  { ":leo:",                                   "♌"                             },
  { ":leopard:",                               "🐆"                            },
  { ":lesotho:",                               "🇱🇸"                   },
  { ":level_slider:",                          "🎚"                            },
  { ":liberia:",                               "🇱🇷"                   },
  { ":libra:",                                 "♎"                             },
  { ":libya:",                                 "🇱🇾"                   },
  { ":liechtenstein:",                         "🇱🇮"                   },
  { ":light_rail:",                            "🚈"                            },
  { ":link:",                                  "🔗"                            },
  { ":lion:",                                  "🦁"                            },
  { ":lips:",                                  "👄"                            },
  { ":lipstick:",                              "💄"                            },
  { ":lithuania:",                             "🇱🇹"                   },
  { ":lizard:",                                "🦎"                            },
  { ":lock:",                                  "🔒"                            },
  { ":lock_with_ink_pen:",                     "🔏"                            },
  { ":lollipop:",                              "🍭"                            },
  { ":loop:",                                  "➿"                             },
  { ":loud_sound:",                            "🔊"                            },
  { ":loudspeaker:",                           "📢"                            },
  { ":love_hotel:",                            "🏩"                            },
  { ":love_letter:",                           "💌"                            },
  { ":low_brightness:",                        "🔅"                            },
  { ":luxembourg:",                            "🇱🇺"                   },
  { ":lying_face:",                            "🤥"                            },
  { ":m:",                                     "Ⓜ"                             },
  { ":macau:",                                 "🇲🇴"                   },
  { ":macedonia:",                             "🇲🇰"                   },
  { ":madagascar:",                            "🇲🇬"                   },
  { ":mag:",                                   "🔍"                            },
  { ":mag_right:",                             "🔎"                            },
  { ":mahjong:",                               "🀄"                            },
  { ":mailbox:",                               "📫"                            },
  { ":mailbox_closed:",                        "📪"                            },
  { ":mailbox_with_mail:",                     "📬"                            },
  { ":mailbox_with_no_mail:",                  "📭"                            },
  { ":malawi:",                                "🇲🇼"                   },
  { ":malaysia:",                              "🇲🇾"                   },
  { ":maldives:",                              "🇲🇻"                   },
  { ":male_detective:",                        "🕵"                            },
  { ":mali:",                                  "🇲🇱"                   },
  { ":malta:",                                 "🇲🇹"                   },
  { ":man:",                                   "👨"                            },
  { ":man_artist:",                            "👨🎨"                   },
  { ":man_astronaut:",                         "👨🚀"                   },
  { ":man_cartwheeling:",                      "🤸♂"                    },
  { ":man_cook:",                              "👨🍳"                   },
  { ":man_dancing:",                           "🕺"                            },
  { ":man_facepalming:",                       "🤦♂"                    },
  { ":man_factory_worker:",                    "👨🏭"                   },
  { ":man_farmer:",                            "👨🌾"                   },
  { ":man_firefighter:",                       "👨🚒"                   },
  { ":man_health_worker:",                     "👨⚕"                    },
  { ":man_in_tuxedo:",                         "🤵"                            },
  { ":man_judge:",                             "👨⚖"                    },
  { ":man_juggling:",                          "🤹♂"                    },
  { ":man_mechanic:",                          "👨🔧"                   },
  { ":man_office_worker:",                     "👨💼"                   },
  { ":man_pilot:",                             "👨✈"                    },
  { ":man_playing_handball:",                  "🤾♂"                    },
  { ":man_playing_water_polo:",                "🤽♂"                    },
  { ":man_scientist:",                         "👨🔬"                   },
  { ":man_shrugging:",                         "🤷♂"                    },
  { ":man_singer:",                            "👨🎤"                   },
  { ":man_student:",                           "👨🎓"                   },
  { ":man_teacher:",                           "👨🏫"                   },
  { ":man_technologist:",                      "👨💻"                   },
  { ":man_with_gua_pi_mao:",                   "👲"                            },
  { ":man_with_turban:",                       "👳"                            },
  { ":mandarin:",                              "🍊"                            },
  { ":mans_shoe:",                             "👞"                            },
  { ":mantelpiece_clock:",                     "🕰"                            },
  { ":maple_leaf:",                            "🍁"                            },
  { ":marshall_islands:",                      "🇲🇭"                   },
  { ":martial_arts_uniform:",                  "🥋"                            },
  { ":martinique:",                            "🇲🇶"                   },
  { ":mask:",                                  "😷"                            },
  { ":massage:",                               "💆"                            },
  { ":massage_man:",                           "💆♂"                    },
  { ":massage_woman:",                         "💆"                            },
  { ":mauritania:",                            "🇲🇷"                   },
  { ":mauritius:",                             "🇲🇺"                   },
  { ":mayotte:",                               "🇾🇹"                   },
  { ":meat_on_bone:",                          "🍖"                            },
  { ":medal_military:",                        "🎖"                            },
  { ":medal_sports:",                          "🏅"                            },
  { ":mega:",                                  "📣"                            },
  { ":melon:",                                 "🍈"                            },
  { ":memo:",                                  "📝"                            },
  { ":men_wrestling:",                         "🤼♂"                    },
  { ":menorah:",                               "🕎"                            },
  { ":mens:",                                  "🚹"                            },
  { ":metal:",                                 "🤘"                            },
  { ":metro:",                                 "🚇"                            },
  { ":mexico:",                                "🇲🇽"                   },
  { ":micronesia:",                            "🇫🇲"                   },
  { ":microphone:",                            "🎤"                            },
  { ":microscope:",                            "🔬"                            },
  { ":middle_finger:",                         "🖕"                            },
  { ":milk_glass:",                            "🥛"                            },
  { ":milky_way:",                             "🌌"                            },
  { ":minibus:",                               "🚐"                            },
  { ":minidisc:",                              "💽"                            },
  { ":mobile_phone_off:",                      "📴"                            },
  { ":moldova:",                               "🇲🇩"                   },
  { ":monaco:",                                "🇲🇨"                   },
  { ":money_mouth_face:",                      "🤑"                            },
  { ":money_with_wings:",                      "💸"                            },
  { ":moneybag:",                              "💰"                            },
  { ":mongolia:",                              "🇲🇳"                   },
  { ":monkey:",                                "🐒"                            },
  { ":monkey_face:",                           "🐵"                            },
  { ":monorail:",                              "🚝"                            },
  { ":montenegro:",                            "🇲🇪"                   },
  { ":montserrat:",                            "🇲🇸"                   },
  { ":moon:",                                  "🌔"                            },
  { ":morocco:",                               "🇲🇦"                   },
  { ":mortar_board:",                          "🎓"                            },
  { ":mosque:",                                "🕌"                            },
  { ":motor_boat:",                            "🛥"                            },
  { ":motor_scooter:",                         "🛵"                            },
  { ":motorcycle:",                            "🏍"                            },
  { ":motorway:",                              "🛣"                            },
  { ":mount_fuji:",                            "🗻"                            },
  { ":mountain:",                              "⛰"                             },
  { ":mountain_bicyclist:",                    "🚵"                            },
  { ":mountain_biking_man:",                   "🚵"                            },
  { ":mountain_biking_woman:",                 "🚵♀"                    },
  { ":mountain_cableway:",                     "🚠"                            },
  { ":mountain_railway:",                      "🚞"                            },
  { ":mountain_snow:",                         "🏔"                            },
  { ":mouse:",                                 "🐭"                            },
  { ":mouse2:",                                "🐁"                            },
  { ":movie_camera:",                          "🎥"                            },
  { ":moyai:",                                 "🗿"                            },
  { ":mozambique:",                            "🇲🇿"                   },
  { ":mrs_claus:",                             "🤶"                            },
  { ":muscle:",                                "💪"                            },
  { ":mushroom:",                              "🍄"                            },
  { ":musical_keyboard:",                      "🎹"                            },
  { ":musical_note:",                          "🎵"                            },
  { ":musical_score:",                         "🎼"                            },
  { ":mute:",                                  "🔇"                            },
  { ":myanmar:",                               "🇲🇲"                   },
  { ":nail_care:",                             "💅"                            },
  { ":name_badge:",                            "📛"                            },
  { ":namibia:",                               "🇳🇦"                   },
  { ":national_park:",                         "🏞"                            },
  { ":nauru:",                                 "🇳🇷"                   },
  { ":nauseated_face:",                        "🤢"                            },
  { ":necktie:",                               "👔"                            },
  { ":negative_squared_cross_mark:",           "❎"                             },
  { ":nepal:",                                 "🇳🇵"                   },
  { ":nerd_face:",                             "🤓"                            },
  { ":netherlands:",                           "🇳🇱"                   },
  { ":neutral_face:",                          "😐"                            },
  { ":new:",                                   "🆕"                            },
  { ":new_caledonia:",                         "🇳🇨"                   },
  { ":new_moon:",                              "🌑"                            },
  { ":new_moon_with_face:",                    "🌚"                            },
  { ":new_zealand:",                           "🇳🇿"                   },
  { ":newspaper:",                             "📰"                            },
  { ":newspaper_roll:",                        "🗞"                            },
  { ":next_track_button:",                     "⏭"                             },
  { ":ng:",                                    "🆖"                            },
  { ":ng_man:",                                "🙅♂"                    },
  { ":ng_woman:",                              "🙅"                            },
  { ":nicaragua:",                             "🇳🇮"                   },
  { ":niger:",                                 "🇳🇪"                   },
  { ":nigeria:",                               "🇳🇬"                   },
  { ":night_with_stars:",                      "🌃"                            },
  { ":nine:",                                  "9⃣"                     },
  { ":niue:",                                  "🇳🇺"                   },
  { ":no_bell:",                               "🔕"                            },
  { ":no_bicycles:",                           "🚳"                            },
  { ":no_entry:",                              "⛔"                             },
  { ":no_entry_sign:",                         "🚫"                            },
  { ":no_good:",                               "🙅"                            },
  { ":no_good_man:",                           "🙅♂"                    },
  { ":no_good_woman:",                         "🙅"                            },
  { ":no_mobile_phones:",                      "📵"                            },
  { ":no_mouth:",                              "😶"                            },
  { ":no_pedestrians:",                        "🚷"                            },
  { ":no_smoking:",                            "🚭"                            },
  { ":non-potable_water:",                     "🚱"                            },
  { ":norfolk_island:",                        "🇳🇫"                   },
  { ":north_korea:",                           "🇰🇵"                   },
  { ":northern_mariana_islands:",              "🇲🇵"                   },
  { ":norway:",                                "🇳🇴"                   },
  { ":nose:",                                  "👃"                            },
  { ":notebook:",                              "📓"                            },
  { ":notebook_with_decorative_cover:",        "📔"                            },
  { ":notes:",                                 "🎶"                            },
  { ":nut_and_bolt:",                          "🔩"                            },
  { ":o:",                                     "⭕"                             },
  { ":o2:",                                    "🅾"                            },
  { ":ocean:",                                 "🌊"                            },
  { ":octopus:",                               "🐙"                            },
  { ":oden:",                                  "🍢"                            },
  { ":office:",                                "🏢"                            },
  { ":oil_drum:",                              "🛢"                            },
  { ":ok:",                                    "🆗"                            },
  { ":ok_hand:",                               "👌"                            },
  { ":ok_man:",                                "🙆♂"                    },
  { ":ok_woman:",                              "🙆"                            },
  { ":old_key:",                               "🗝"                            },
  { ":older_man:",                             "👴"                            },
  { ":older_woman:",                           "👵"                            },
  { ":om:",                                    "🕉"                            },
  { ":oman:",                                  "🇴🇲"                   },
  { ":on:",                                    "🔛"                            },
  { ":oncoming_automobile:",                   "🚘"                            },
  { ":oncoming_bus:",                          "🚍"                            },
  { ":oncoming_police_car:",                   "🚔"                            },
  { ":oncoming_taxi:",                         "🚖"                            },
  { ":one:",                                   "1⃣"                     },
  { ":open_book:",                             "📖"                            },
  { ":open_file_folder:",                      "📂"                            },
  { ":open_hands:",                            "👐"                            },
  { ":open_mouth:",                            "😮"                            },
  { ":open_umbrella:",                         "☂"                             },
  { ":ophiuchus:",                             "⛎"                             },
  { ":orange:",                                "🍊"                            },
  { ":orange_book:",                           "📙"                            },
  { ":orthodox_cross:",                        "☦"                             },
  { ":outbox_tray:",                           "📤"                            },
  { ":owl:",                                   "🦉"                            },
  { ":ox:",                                    "🐂"                            },
  { ":package:",                               "📦"                            },
  { ":page_facing_up:",                        "📄"                            },
  { ":page_with_curl:",                        "📃"                            },
  { ":pager:",                                 "📟"                            },
  { ":paintbrush:",                            "🖌"                            },
  { ":pakistan:",                              "🇵🇰"                   },
  { ":palau:",                                 "🇵🇼"                   },
  { ":palestinian_territories:",               "🇵🇸"                   },
  { ":palm_tree:",                             "🌴"                            },
  { ":panama:",                                "🇵🇦"                   },
  { ":pancakes:",                              "🥞"                            },
  { ":panda_face:",                            "🐼"                            },
  { ":paperclip:",                             "📎"                            },
  { ":paperclips:",                            "🖇"                            },
  { ":papua_new_guinea:",                      "🇵🇬"                   },
  { ":paraguay:",                              "🇵🇾"                   },
  { ":parasol_on_ground:",                     "⛱"                             },
  { ":parking:",                               "🅿"                            },
  { ":part_alternation_mark:",                 "〽"                             },
  { ":partly_sunny:",                          "⛅"                             },
  { ":passenger_ship:",                        "🛳"                            },
  { ":passport_control:",                      "🛂"                            },
  { ":pause_button:",                          "⏸"                             },
  { ":paw_prints:",                            "🐾"                            },
  { ":peace_symbol:",                          "☮"                             },
  { ":peach:",                                 "🍑"                            },
  { ":peanuts:",                               "🥜"                            },
  { ":pear:",                                  "🍐"                            },
  { ":pen:",                                   "🖊"                            },
  { ":pencil:",                                "📝"                            },
  { ":pencil2:",                               "✏"                             },
  { ":penguin:",                               "🐧"                            },
  { ":pensive:",                               "😔"                            },
  { ":performing_arts:",                       "🎭"                            },
  { ":persevere:",                             "😣"                            },
  { ":person_fencing:",                        "🤺"                            },
  { ":person_frowning:",                       "🙍"                            },
  { ":person_with_blond_hair:",                "👱"                            },
  { ":person_with_pouting_face:",              "🙎"                            },
  { ":peru:",                                  "🇵🇪"                   },
  { ":philippines:",                           "🇵🇭"                   },
  { ":phone:",                                 "☎"                             },
  { ":pick:",                                  "⛏"                             },
  { ":pig:",                                   "🐷"                            },
  { ":pig2:",                                  "🐖"                            },
  { ":pig_nose:",                              "🐽"                            },
  { ":pill:",                                  "💊"                            },
  { ":pineapple:",                             "🍍"                            },
  { ":ping_pong:",                             "🏓"                            },
  { ":pisces:",                                "♓"                             },
  { ":pitcairn_islands:",                      "🇵🇳"                   },
  { ":pizza:",                                 "🍕"                            },
  { ":place_of_worship:",                      "🛐"                            },
  { ":plate_with_cutlery:",                    "🍽"                            },
  { ":play_or_pause_button:",                  "⏯"                             },
  { ":point_down:",                            "👇"                            },
  { ":point_left:",                            "👈"                            },
  { ":point_right:",                           "👉"                            },
  { ":point_up:",                              "☝"                             },
  { ":point_up_2:",                            "👆"                            },
  { ":poland:",                                "🇵🇱"                   },
  { ":police_car:",                            "🚓"                            },
  { ":policeman:",                             "👮"                            },
  { ":policewoman:",                           "👮♀"                    },
  { ":poodle:",                                "🐩"                            },
  { ":poop:",                                  "💩"                            },
  { ":popcorn:",                               "🍿"                            },
  { ":portugal:",                              "🇵🇹"                   },
  { ":post_office:",                           "🏣"                            },
  { ":postal_horn:",                           "📯"                            },
  { ":postbox:",                               "📮"                            },
  { ":potable_water:",                         "🚰"                            },
  { ":potato:",                                "🥔"                            },
  { ":pouch:",                                 "👝"                            },
  { ":poultry_leg:",                           "🍗"                            },
  { ":pound:",                                 "💷"                            },
  { ":pout:",                                  "😡"                            },
  { ":pouting_cat:",                           "😾"                            },
  { ":pouting_man:",                           "🙎♂"                    },
  { ":pouting_woman:",                         "🙎"                            },
  { ":pray:",                                  "🙏"                            },
  { ":prayer_beads:",                          "📿"                            },
  { ":pregnant_woman:",                        "🤰"                            },
  { ":previous_track_button:",                 "⏮"                             },
  { ":prince:",                                "🤴"                            },
  { ":princess:",                              "👸"                            },
  { ":printer:",                               "🖨"                            },
  { ":puerto_rico:",                           "🇵🇷"                   },
  { ":punch:",                                 "👊"                            },
  { ":purple_heart:",                          "💜"                            },
  { ":purse:",                                 "👛"                            },
  { ":pushpin:",                               "📌"                            },
  { ":put_litter_in_its_place:",               "🚮"                            },
  { ":qatar:",                                 "🇶🇦"                   },
  { ":question:",                              "❓"                             },
  { ":rabbit:",                                "🐰"                            },
  { ":rabbit2:",                               "🐇"                            },
  { ":racehorse:",                             "🐎"                            },
  { ":racing_car:",                            "🏎"                            },
  { ":radio:",                                 "📻"                            },
  { ":radio_button:",                          "🔘"                            },
  { ":radioactive:",                           "☢"                             },
  { ":rage:",                                  "😡"                            },
  { ":railway_car:",                           "🚃"                            },
  { ":railway_track:",                         "🛤"                            },
  { ":rainbow:",                               "🌈"                            },
  { ":rainbow_flag:",                          "🏳🌈"                   },
  { ":raised_back_of_hand:",                   "🤚"                            },
  { ":raised_hand:",                           "✋"                             },
  { ":raised_hand_with_fingers_splayed:",      "🖐"                            },
  { ":raised_hands:",                          "🙌"                            },
  { ":raising_hand:",                          "🙋"                            },
  { ":raising_hand_man:",                      "🙋♂"                    },
  { ":raising_hand_woman:",                    "🙋"                            },
  { ":ram:",                                   "🐏"                            },
  { ":ramen:",                                 "🍜"                            },
  { ":rat:",                                   "🐀"                            },
  { ":record_button:",                         "⏺"                             },
  { ":recycle:",                               "♻"                             },
  { ":red_car:",                               "🚗"                            },
  { ":red_circle:",                            "🔴"                            },
  { ":registered:",                            "®"                             },
  { ":relaxed:",                               "☺"                             },
  { ":relieved:",                              "😌"                            },
  { ":reminder_ribbon:",                       "🎗"                            },
  { ":repeat:",                                "🔁"                            },
  { ":repeat_one:",                            "🔂"                            },
  { ":rescue_worker_helmet:",                  "⛑"                             },
  { ":restroom:",                              "🚻"                            },
  { ":reunion:",                               "🇷🇪"                   },
  { ":revolving_hearts:",                      "💞"                            },
  { ":rewind:",                                "⏪"                             },
  { ":rhinoceros:",                            "🦏"                            },
  { ":ribbon:",                                "🎀"                            },
  { ":rice:",                                  "🍚"                            },
  { ":rice_ball:",                             "🍙"                            },
  { ":rice_cracker:",                          "🍘"                            },
  { ":rice_scene:",                            "🎑"                            },
  { ":right_anger_bubble:",                    "🗯"                            },
  { ":ring:",                                  "💍"                            },
  { ":robot:",                                 "🤖"                            },
  { ":rocket:",                                "🚀"                            },
  { ":rofl:",                                  "🤣"                            },
  { ":roll_eyes:",                             "🙄"                            },
  { ":roller_coaster:",                        "🎢"                            },
  { ":romania:",                               "🇷🇴"                   },
  { ":rooster:",                               "🐓"                            },
  { ":rose:",                                  "🌹"                            },
  { ":rosette:",                               "🏵"                            },
  { ":rotating_light:",                        "🚨"                            },
  { ":round_pushpin:",                         "📍"                            },
  { ":rowboat:",                               "🚣"                            },
  { ":rowing_man:",                            "🚣"                            },
  { ":rowing_woman:",                          "🚣♀"                    },
  { ":ru:",                                    "🇷🇺"                   },
  { ":rugby_football:",                        "🏉"                            },
  { ":runner:",                                "🏃"                            },
  { ":running:",                               "🏃"                            },
  { ":running_man:",                           "🏃"                            },
  { ":running_shirt_with_sash:",               "🎽"                            },
  { ":running_woman:",                         "🏃♀"                    },
  { ":rwanda:",                                "🇷🇼"                   },
  { ":sa:",                                    "🈂"                            },
  { ":sagittarius:",                           "♐"                             },
  { ":sailboat:",                              "⛵"                             },
  { ":sake:",                                  "🍶"                            },
  { ":samoa:",                                 "🇼🇸"                   },
  { ":san_marino:",                            "🇸🇲"                   },
  { ":sandal:",                                "👡"                            },
  { ":santa:",                                 "🎅"                            },
  { ":sao_tome_principe:",                     "🇸🇹"                   },
  { ":satellite:",                             "📡"                            },
  { ":satisfied:",                             "😆"                            },
  { ":saudi_arabia:",                          "🇸🇦"                   },
  { ":saxophone:",                             "🎷"                            },
  { ":school:",                                "🏫"                            },
  { ":school_satchel:",                        "🎒"                            },
  { ":scissors:",                              "✂"                             },
  { ":scorpion:",                              "🦂"                            },
  { ":scorpius:",                              "♏"                             },
  { ":scream:",                                "😱"                            },
  { ":scream_cat:",                            "🙀"                            },
  { ":scroll:",                                "📜"                            },
  { ":seat:",                                  "💺"                            },
  { ":secret:",                                "㊙"                             },
  { ":see_no_evil:",                           "🙈"                            },
  { ":seedling:",                              "🌱"                            },
  { ":selfie:",                                "🤳"                            },
  { ":senegal:",                               "🇸🇳"                   },
  { ":serbia:",                                "🇷🇸"                   },
  { ":seven:",                                 "7⃣"                     },
  { ":seychelles:",                            "🇸🇨"                   },
  { ":shallow_pan_of_food:",                   "🥘"                            },
  { ":shamrock:",                              "☘"                             },
  { ":shark:",                                 "🦈"                            },
  { ":shaved_ice:",                            "🍧"                            },
  { ":sheep:",                                 "🐑"                            },
  { ":shell:",                                 "🐚"                            },
  { ":shield:",                                "🛡"                            },
  { ":shinto_shrine:",                         "⛩"                             },
  { ":ship:",                                  "🚢"                            },
  { ":shirt:",                                 "👕"                            },
  { ":shit:",                                  "💩"                            },
  { ":shoe:",                                  "👞"                            },
  { ":shopping:",                              "🛍"                            },
  { ":shopping_cart:",                         "🛒"                            },
  { ":shower:",                                "🚿"                            },
  { ":shrimp:",                                "🦐"                            },
  { ":sierra_leone:",                          "🇸🇱"                   },
  { ":signal_strength:",                       "📶"                            },
  { ":singapore:",                             "🇸🇬"                   },
  { ":sint_maarten:",                          "🇸🇽"                   },
  { ":six:",                                   "6⃣"                     },
  { ":six_pointed_star:",                      "🔯"                            },
  { ":ski:",                                   "🎿"                            },
  { ":skier:",                                 "⛷"                             },
  { ":skull:",                                 "💀"                            },
  { ":skull_and_crossbones:",                  "☠"                             },
  { ":sleeping:",                              "😴"                            },
  { ":sleeping_bed:",                          "🛌"                            },
  { ":sleepy:",                                "😪"                            },
  { ":slightly_frowning_face:",                "🙁"                            },
  { ":slightly_smiling_face:",                 "🙂"                            },
  { ":slot_machine:",                          "🎰"                            },
  { ":slovakia:",                              "🇸🇰"                   },
  { ":slovenia:",                              "🇸🇮"                   },
  { ":small_airplane:",                        "🛩"                            },
  { ":small_blue_diamond:",                    "🔹"                            },
  { ":small_orange_diamond:",                  "🔸"                            },
  { ":small_red_triangle:",                    "🔺"                            },
  { ":small_red_triangle_down:",               "🔻"                            },
  { ":smile:",                                 "😄"                            },
  { ":smile_cat:",                             "😸"                            },
  { ":smiley:",                                "😃"                            },
  { ":smiley_cat:",                            "😺"                            },
  { ":smiling_imp:",                           "😈"                            },
  { ":smirk:",                                 "😏"                            },
  { ":smirk_cat:",                             "😼"                            },
  { ":smoking:",                               "🚬"                            },
  { ":snail:",                                 "🐌"                            },
  { ":snake:",                                 "🐍"                            },
  { ":sneezing_face:",                         "🤧"                            },
  { ":snowboarder:",                           "🏂"                            },
  { ":snowflake:",                             "❄"                             },
  { ":snowman:",                               "⛄"                             },
  { ":snowman_with_snow:",                     "☃"                             },
  { ":sob:",                                   "😭"                            },
  { ":soccer:",                                "⚽"                             },
  { ":solomon_islands:",                       "🇸🇧"                   },
  { ":somalia:",                               "🇸🇴"                   },
  { ":soon:",                                  "🔜"                            },
  { ":sos:",                                   "🆘"                            },
  { ":sound:",                                 "🔉"                            },
  { ":south_africa:",                          "🇿🇦"                   },
  { ":south_georgia_south_sandwich_islands:",  "🇬🇸"                   },
  { ":south_sudan:",                           "🇸🇸"                   },
  { ":space_invader:",                         "👾"                            },
  { ":spades:",                                "♠"                             },
  { ":spaghetti:",                             "🍝"                            },
  { ":sparkle:",                               "❇"                             },
  { ":sparkler:",                              "🎇"                            },
  { ":sparkles:",                              "✨"                             },
  { ":sparkling_heart:",                       "💖"                            },
  { ":speak_no_evil:",                         "🙊"                            },
  { ":speaker:",                               "🔈"                            },
  { ":speaking_head:",                         "🗣"                            },
  { ":speech_balloon:",                        "💬"                            },
  { ":speedboat:",                             "🚤"                            },
  { ":spider:",                                "🕷"                            },
  { ":spider_web:",                            "🕸"                            },
  { ":spiral_calendar:",                       "🗓"                            },
  { ":spiral_notepad:",                        "🗒"                            },
  { ":spoon:",                                 "🥄"                            },
  { ":squid:",                                 "🦑"                            },
  { ":sri_lanka:",                             "🇱🇰"                   },
  { ":st_barthelemy:",                         "🇧🇱"                   },
  { ":st_helena:",                             "🇸🇭"                   },
  { ":st_kitts_nevis:",                        "🇰🇳"                   },
  { ":st_lucia:",                              "🇱🇨"                   },
  { ":st_pierre_miquelon:",                    "🇵🇲"                   },
  { ":st_vincent_grenadines:",                 "🇻🇨"                   },
  { ":stadium:",                               "🏟"                            },
  { ":star:",                                  "⭐"                             },
  { ":star2:",                                 "🌟"                            },
  { ":star_and_crescent:",                     "☪"                             },
  { ":star_of_david:",                         "✡"                             },
  { ":stars:",                                 "🌠"                            },
  { ":station:",                               "🚉"                            },
  { ":statue_of_liberty:",                     "🗽"                            },
  { ":steam_locomotive:",                      "🚂"                            },
  { ":stew:",                                  "🍲"                            },
  { ":stop_button:",                           "⏹"                             },
  { ":stop_sign:",                             "🛑"                            },
  { ":stopwatch:",                             "⏱"                             },
  { ":straight_ruler:",                        "📏"                            },
  { ":strawberry:",                            "🍓"                            },
  { ":stuck_out_tongue:",                      "😛"                            },
  { ":stuck_out_tongue_closed_eyes:",          "😝"                            },
  { ":stuck_out_tongue_winking_eye:",          "😜"                            },
  { ":studio_microphone:",                     "🎙"                            },
  { ":stuffed_flatbread:",                     "🥙"                            },
  { ":sudan:",                                 "🇸🇩"                   },
  { ":sun_behind_large_cloud:",                "🌥"                            },
  { ":sun_behind_rain_cloud:",                 "🌦"                            },
  { ":sun_behind_small_cloud:",                "🌤"                            },
  { ":sun_with_face:",                         "🌞"                            },
  { ":sunflower:",                             "🌻"                            },
  { ":sunglasses:",                            "😎"                            },
  { ":sunny:",                                 "☀"                             },
  { ":sunrise:",                               "🌅"                            },
  { ":sunrise_over_mountains:",                "🌄"                            },
  { ":surfer:",                                "🏄"                            },
  { ":surfing_man:",                           "🏄"                            },
  { ":surfing_woman:",                         "🏄♀"                    },
  { ":suriname:",                              "🇸🇷"                   },
  { ":sushi:",                                 "🍣"                            },
  { ":suspension_railway:",                    "🚟"                            },
  { ":swaziland:",                             "🇸🇿"                   },
  { ":sweat:",                                 "😓"                            },
  { ":sweat_drops:",                           "💦"                            },
  { ":sweat_smile:",                           "😅"                            },
  { ":sweden:",                                "🇸🇪"                   },
  { ":sweet_potato:",                          "🍠"                            },
  { ":swimmer:",                               "🏊"                            },
  { ":swimming_man:",                          "🏊"                            },
  { ":swimming_woman:",                        "🏊♀"                    },
  { ":switzerland:",                           "🇨🇭"                   },
  { ":symbols:",                               "🔣"                            },
  { ":synagogue:",                             "🕍"                            },
  { ":syria:",                                 "🇸🇾"                   },
  { ":syringe:",                               "💉"                            },
  { ":taco:",                                  "🌮"                            },
  { ":tada:",                                  "🎉"                            },
  { ":taiwan:",                                "🇹🇼"                   },
  { ":tajikistan:",                            "🇹🇯"                   },
  { ":tanabata_tree:",                         "🎋"                            },
  { ":tangerine:",                             "🍊"                            },
  { ":tanzania:",                              "🇹🇿"                   },
  { ":taurus:",                                "♉"                             },
  { ":taxi:",                                  "🚕"                            },
  { ":tea:",                                   "🍵"                            },
  { ":telephone:",                             "☎"                             },
  { ":telephone_receiver:",                    "📞"                            },
  { ":telescope:",                             "🔭"                            },
  { ":tennis:",                                "🎾"                            },
  { ":tent:",                                  "⛺"                             },
  { ":thailand:",                              "🇹🇭"                   },
  { ":thermometer:",                           "🌡"                            },
  { ":thinking:",                              "🤔"                            },
  { ":thought_balloon:",                       "💭"                            },
  { ":three:",                                 "3⃣"                     },
  { ":thumbsdown:",                            "👎"                            },
  { ":thumbsup:",                              "👍"                            },
  { ":ticket:",                                "🎫"                            },
  { ":tickets:",                               "🎟"                            },
  { ":tiger:",                                 "🐯"                            },
  { ":tiger2:",                                "🐅"                            },
  { ":timer_clock:",                           "⏲"                             },
  { ":timor_leste:",                           "🇹🇱"                   },
  { ":tipping_hand_man:",                      "💁♂"                    },
  { ":tipping_hand_woman:",                    "💁"                            },
  { ":tired_face:",                            "😫"                            },
  { ":tm:",                                    "™"                             },
  { ":togo:",                                  "🇹🇬"                   },
  { ":toilet:",                                "🚽"                            },
  { ":tokelau:",                               "🇹🇰"                   },
  { ":tokyo_tower:",                           "🗼"                            },
  { ":tomato:",                                "🍅"                            },
  { ":tonga:",                                 "🇹🇴"                   },
  { ":tongue:",                                "👅"                            },
  { ":top:",                                   "🔝"                            },
  { ":tophat:",                                "🎩"                            },
  { ":tornado:",                               "🌪"                            },
  { ":tr:",                                    "🇹🇷"                   },
  { ":trackball:",                             "🖲"                            },
  { ":tractor:",                               "🚜"                            },
  { ":traffic_light:",                         "🚥"                            },
  { ":train:",                                 "🚋"                            },
  { ":train2:",                                "🚆"                            },
  { ":tram:",                                  "🚊"                            },
  { ":triangular_flag_on_post:",               "🚩"                            },
  { ":triangular_ruler:",                      "📐"                            },
  { ":trident:",                               "🔱"                            },
  { ":trinidad_tobago:",                       "🇹🇹"                   },
  { ":triumph:",                               "😤"                            },
  { ":trolleybus:",                            "🚎"                            },
  { ":trophy:",                                "🏆"                            },
  { ":tropical_drink:",                        "🍹"                            },
  { ":tropical_fish:",                         "🐠"                            },
  { ":truck:",                                 "🚚"                            },
  { ":trumpet:",                               "🎺"                            },
  { ":tshirt:",                                "👕"                            },
  { ":tulip:",                                 "🌷"                            },
  { ":tumbler_glass:",                         "🥃"                            },
  { ":tunisia:",                               "🇹🇳"                   },
  { ":turkey:",                                "🦃"                            },
  { ":turkmenistan:",                          "🇹🇲"                   },
  { ":turks_caicos_islands:",                  "🇹🇨"                   },
  { ":turtle:",                                "🐢"                            },
  { ":tuvalu:",                                "🇹🇻"                   },
  { ":tv:",                                    "📺"                            },
  { ":twisted_rightwards_arrows:",             "🔀"                            },
  { ":two:",                                   "2⃣"                     },
  { ":two_hearts:",                            "💕"                            },
  { ":two_men_holding_hands:",                 "👬"                            },
  { ":two_women_holding_hands:",               "👭"                            },
  { ":u5272:",                                 "🈹"                            },
  { ":u5408:",                                 "🈴"                            },
  { ":u55b6:",                                 "🈺"                            },
  { ":u6307:",                                 "🈯"                            },
  { ":u6708:",                                 "🈷"                            },
  { ":u6709:",                                 "🈶"                            },
  { ":u6e80:",                                 "🈵"                            },
  { ":u7121:",                                 "🈚"                            },
  { ":u7533:",                                 "🈸"                            },
  { ":u7981:",                                 "🈲"                            },
  { ":u7a7a:",                                 "🈳"                            },
  { ":uganda:",                                "🇺🇬"                   },
  { ":uk:",                                    "🇬🇧"                   },
  { ":ukraine:",                               "🇺🇦"                   },
  { ":umbrella:",                              "☔"                             },
  { ":unamused:",                              "😒"                            },
  { ":underage:",                              "🔞"                            },
  { ":unicorn:",                               "🦄"                            },
  { ":united_arab_emirates:",                  "🇦🇪"                   },
  { ":unlock:",                                "🔓"                            },
  { ":up:",                                    "🆙"                            },
  { ":upside_down_face:",                      "🙃"                            },
  { ":uruguay:",                               "🇺🇾"                   },
  { ":us:",                                    "🇺🇸"                   },
  { ":us_virgin_islands:",                     "🇻🇮"                   },
  { ":uzbekistan:",                            "🇺🇿"                   },
  { ":v:",                                     "✌"                             },
  { ":vanuatu:",                               "🇻🇺"                   },
  { ":vatican_city:",                          "🇻🇦"                   },
  { ":venezuela:",                             "🇻🇪"                   },
  { ":vertical_traffic_light:",                "🚦"                            },
  { ":vhs:",                                   "📼"                            },
  { ":vibration_mode:",                        "📳"                            },
  { ":video_camera:",                          "📹"                            },
  { ":video_game:",                            "🎮"                            },
  { ":vietnam:",                               "🇻🇳"                   },
  { ":violin:",                                "🎻"                            },
  { ":virgo:",                                 "♍"                             },
  { ":volcano:",                               "🌋"                            },
  { ":volleyball:",                            "🏐"                            },
  { ":vs:",                                    "🆚"                            },
  { ":vulcan_salute:",                         "🖖"                            },
  { ":walking:",                               "🚶"                            },
  { ":walking_man:",                           "🚶"                            },
  { ":walking_woman:",                         "🚶♀"                    },
  { ":wallis_futuna:",                         "🇼🇫"                   },
  { ":waning_crescent_moon:",                  "🌘"                            },
  { ":waning_gibbous_moon:",                   "🌖"                            },
  { ":warning:",                               "⚠"                             },
  { ":wastebasket:",                           "🗑"                            },
  { ":watch:",                                 "⌚"                             },
  { ":water_buffalo:",                         "🐃"                            },
  { ":watermelon:",                            "🍉"                            },
  { ":wave:",                                  "👋"                            },
  { ":wavy_dash:",                             "〰"                             },
  { ":waxing_crescent_moon:",                  "🌒"                            },
  { ":waxing_gibbous_moon:",                   "🌔"                            },
  { ":wc:",                                    "🚾"                            },
  { ":weary:",                                 "😩"                            },
  { ":wedding:",                               "💒"                            },
  { ":weight_lifting_man:",                    "🏋"                            },
  { ":weight_lifting_woman:",                  "🏋♀"                    },
  { ":western_sahara:",                        "🇪🇭"                   },
  { ":whale:",                                 "🐳"                            },
  { ":whale2:",                                "🐋"                            },
  { ":wheel_of_dharma:",                       "☸"                             },
  { ":wheelchair:",                            "♿"                             },
  { ":white_check_mark:",                      "✅"                             },
  { ":white_circle:",                          "⚪"                             },
  { ":white_flag:",                            "🏳"                            },
  { ":white_flower:",                          "💮"                            },
  { ":white_large_square:",                    "⬜"                             },
  { ":white_medium_small_square:",             "◽"                             },
  { ":white_medium_square:",                   "◻"                             },
  { ":white_small_square:",                    "▫"                             },
  { ":white_square_button:",                   "🔳"                            },
  { ":wilted_flower:",                         "🥀"                            },
  { ":wind_chime:",                            "🎐"                            },
  { ":wind_face:",                             "🌬"                            },
  { ":wine_glass:",                            "🍷"                            },
  { ":wink:",                                  "😉"                            },
  { ":wolf:",                                  "🐺"                            },
  { ":woman:",                                 "👩"                            },
  { ":woman_artist:",                          "👩🎨"                   },
  { ":woman_astronaut:",                       "👩🚀"                   },
  { ":woman_cartwheeling:",                    "🤸♀"                    },
  { ":woman_cook:",                            "👩🍳"                   },
  { ":woman_facepalming:",                     "🤦♀"                    },
  { ":woman_factory_worker:",                  "👩🏭"                   },
  { ":woman_farmer:",                          "👩🌾"                   },
  { ":woman_firefighter:",                     "👩🚒"                   },
  { ":woman_health_worker:",                   "👩⚕"                    },
  { ":woman_judge:",                           "👩⚖"                    },
  { ":woman_juggling:",                        "🤹♀"                    },
  { ":woman_mechanic:",                        "👩🔧"                   },
  { ":woman_office_worker:",                   "👩💼"                   },
  { ":woman_pilot:",                           "👩✈"                    },
  { ":woman_playing_handball:",                "🤾♀"                    },
  { ":woman_playing_water_polo:",              "🤽♀"                    },
  { ":woman_scientist:",                       "👩🔬"                   },
  { ":woman_shrugging:",                       "🤷♀"                    },
  { ":woman_singer:",                          "👩🎤"                   },
  { ":woman_student:",                         "👩🎓"                   },
  { ":woman_teacher:",                         "👩🏫"                   },
  { ":woman_technologist:",                    "👩💻"                   },
  { ":woman_with_turban:",                     "👳♀"                    },
  { ":womans_clothes:",                        "👚"                            },
  { ":womans_hat:",                            "👒"                            },
  { ":women_wrestling:",                       "🤼♀"                    },
  { ":womens:",                                "🚺"                            },
  { ":world_map:",                             "🗺"                            },
  { ":worried:",                               "😟"                            },
  { ":wrench:",                                "🔧"                            },
  { ":writing_hand:",                          "✍"                             },
  { ":x:",                                     "❌"                             },
  { ":yellow_heart:",                          "💛"                            },
  { ":yemen:",                                 "🇾🇪"                   },
  { ":yen:",                                   "💴"                            },
  { ":yin_yang:",                              "☯"                             },
  { ":yum:",                                   "😋"                            },
  { ":zambia:",                                "🇿🇲"                   },
  { ":zap:",                                   "⚡"                             },
  { ":zero:",                                  "0⃣"                     },
  { ":zimbabwe:",                              "🇿🇼"                   },
  { ":zipper_mouth_face:",                     "🤐"                            },
  { ":zzz:",                                   "💤"                            }
};

static const int g_numEmojiEntities = (int)(sizeof(g_emojiEntities)/sizeof(*g_emojiEntities));

EmojiEntityMapper *EmojiEntityMapper::s_instance = 0;

EmojiEntityMapper::EmojiEntityMapper()
{
  // 2 loops to be able to give precedence to the unicodeName (CLDR)
  for (int i = 0; i < g_numEmojiEntities; i++)
  {
    m_name2symGh.insert(std::make_pair(g_emojiEntities[i].name, i));
  }
}

EmojiEntityMapper::~EmojiEntityMapper()
{
}

/** Returns the one and only instance of the Emoji entity mapper */
EmojiEntityMapper *EmojiEntityMapper::instance()
{
  if (s_instance==0)
  {
    s_instance = new EmojiEntityMapper;
  }
  return s_instance;
}

/** Deletes the one and only instance of the Emoji entity mapper */
void EmojiEntityMapper::deleteInstance()
{
  delete s_instance;
  s_instance=0;
}

/*!
 * @brief Returns a code for the requested Emoji entity name
 * @param symName Emoji entity name
 * @return the code for the requested Emoji entity name,
 *         in case the requested Emoji item does not exist `-1` is returned.
 */
int EmojiEntityMapper::symbol2index(const std::string &symName) const
{
  auto it = m_name2symGh.find(symName);
  return it!=m_name2symGh.end() ? it->second : -1;
}

/*!
 * @brief Writes the list of supported emojis to the given file.
 */
void EmojiEntityMapper::writeEmojiFile(TextStream &t)
{
  for (int i = 0; i < g_numEmojiEntities; i++)
  {
    t << g_emojiEntities[i].name << "\n";
  }
}

/*! @brief Access routine to the unicode sequence for the Emoji entity
 *
 * @param index code of the requested Emoji entity returned by symbol2index()
 * @return the unicode sequence of the Emoji entity,
 */
const char *EmojiEntityMapper::unicode(int index) const
{
  return index>=0 && index<g_numEmojiEntities ? g_emojiEntities[index].unicode : 0;
}

/*! @brief Access routine to the name of the Emoji entity
 *
 * @param index code of the requested Emoji entity returned by symbol2index()
 * @return the name of the Emoji entity in GitHub format (i.e. :smile:)
 */
const char *EmojiEntityMapper::name(int index) const
{
  return index>=0 && index<g_numEmojiEntities ? g_emojiEntities[index].name : 0;
}