1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-19 12:00:55 +01:00

Support :emoji: in Remarkup

Summary: Ref T1191. This actually works without T1191, but makes emoji use on the desktop easier.

Test Plan: {F210416}

Reviewers: chad, btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T1191

Differential Revision: https://secure.phabricator.com/D10605
This commit is contained in:
epriestley 2014-09-29 08:31:00 -07:00
parent 644ca4c3a3
commit 855f752814
3 changed files with 906 additions and 0 deletions

View file

@ -1539,6 +1539,7 @@ phutil_register_library_map(array(
'PhabricatorEmailLoginController' => 'applications/auth/controller/PhabricatorEmailLoginController.php',
'PhabricatorEmailVerificationController' => 'applications/auth/controller/PhabricatorEmailVerificationController.php',
'PhabricatorEmbedFileRemarkupRule' => 'applications/files/markup/PhabricatorEmbedFileRemarkupRule.php',
'PhabricatorEmojiRemarkupRule' => 'applications/macro/markup/PhabricatorEmojiRemarkupRule.php',
'PhabricatorEmptyQueryException' => 'infrastructure/query/PhabricatorEmptyQueryException.php',
'PhabricatorEnglishTranslation' => 'infrastructure/internationalization/translation/PhabricatorEnglishTranslation.php',
'PhabricatorEnv' => 'infrastructure/env/PhabricatorEnv.php',
@ -4482,6 +4483,7 @@ phutil_register_library_map(array(
'PhabricatorEmailLoginController' => 'PhabricatorAuthController',
'PhabricatorEmailVerificationController' => 'PhabricatorAuthController',
'PhabricatorEmbedFileRemarkupRule' => 'PhabricatorObjectRemarkupRule',
'PhabricatorEmojiRemarkupRule' => 'PhutilRemarkupRule',
'PhabricatorEmptyQueryException' => 'Exception',
'PhabricatorEnglishTranslation' => 'PhabricatorBaseEnglishTranslation',
'PhabricatorEnvTestCase' => 'PhabricatorTestCase',

View file

@ -45,6 +45,7 @@ final class PhabricatorMacroApplication extends PhabricatorApplication {
public function getRemarkupRules() {
return array(
new PhabricatorIconRemarkupRule(),
new PhabricatorEmojiRemarkupRule(),
);
}

View file

@ -0,0 +1,903 @@
<?php
final class PhabricatorEmojiRemarkupRule extends PhutilRemarkupRule {
public function getPriority() {
return 200.0;
}
public function apply($text) {
return preg_replace_callback(
'(\B:(\S+):\B)',
array($this, 'markupEmoji'),
$text);
}
public function markupEmoji($matches) {
if (!$this->isFlatText($matches[0])) {
return $matches[0];
}
static $map = array(
'watch' => "\xE2\x8C\x9A",
'hourglass' => "\xE2\x8C\x9B",
'fast_forward' => "\xE2\x8F\xA9",
'rewind' => "\xE2\x8F\xAA",
'arrow_double_up' => "\xE2\x8F\xAB",
'arrow_double_down' => "\xE2\x8F\xAC",
'alarm_clock' => "\xE2\x8F\xB0",
'hourglass_flowing_sand' => "\xE2\x8F\xB3",
'white_medium_small_square' => "\xE2\x97\xBD",
'black_medium_small_square' => "\xE2\x97\xBE",
'umbrella' => "\xE2\x98\x94",
'coffee' => "\xE2\x98\x95",
'aries' => "\xE2\x99\x88",
'taurus' => "\xE2\x99\x89",
'gemini' => "\xE2\x99\x8A",
'cancer' => "\xE2\x99\x8B",
'leo' => "\xE2\x99\x8C",
'virgo' => "\xE2\x99\x8D",
'libra' => "\xE2\x99\x8E",
'scorpius' => "\xE2\x99\x8F",
'sagittarius' => "\xE2\x99\x90",
'capricorn' => "\xE2\x99\x91",
'aquarius' => "\xE2\x99\x92",
'pisces' => "\xE2\x99\x93",
'wheelchair' => "\xE2\x99\xBF",
'anchor' => "\xE2\x9A\x93",
'zap' => "\xE2\x9A\xA1",
'white_circle' => "\xE2\x9A\xAA",
'black_circle' => "\xE2\x9A\xAB",
'soccer' => "\xE2\x9A\xBD",
'snowman' => "\xE2\x9B\x84",
'partly_sunny' => "\xE2\x9B\x85",
'ophiuchus' => "\xE2\x9B\x8E",
'no_entry' => "\xE2\x9B\x94",
'church' => "\xE2\x9B\xAA",
'fountain' => "\xE2\x9B\xB2",
'golf' => "\xE2\x9B\xB3",
'sailboat' => "\xE2\x9B\xB5",
'boat' => "\xE2\x9B\xB5",
'tent' => "\xE2\x9B\xBA",
'fuelpump' => "\xE2\x9B\xBD",
'white_check_mark' => "\xE2\x9C\x85",
'fist' => "\xE2\x9C\x8A",
'hand' => "\xE2\x9C\x8B",
'raised_hand' => "\xE2\x9C\x8B",
'sparkles' => "\xE2\x9C\xA8",
'x' => "\xE2\x9D\x8C",
'negative_squared_cross_mark' => "\xE2\x9D\x8E",
'question' => "\xE2\x9D\x93",
'grey_question' => "\xE2\x9D\x94",
'grey_exclamation' => "\xE2\x9D\x95",
'exclamation' => "\xE2\x9D\x97",
'heavy_exclamation_mark' => "\xE2\x9D\x97",
'heavy_plus_sign' => "\xE2\x9E\x95",
'heavy_minus_sign' => "\xE2\x9E\x96",
'heavy_division_sign' => "\xE2\x9E\x97",
'curly_loop' => "\xE2\x9E\xB0",
'loop' => "\xE2\x9E\xBF",
'black_large_square' => "\xE2\xAC\x9B",
'white_large_square' => "\xE2\xAC\x9C",
'star' => "\xE2\xAD\x90",
'o' => "\xE2\xAD\x95",
'mahjong' => "\xF0\x9F\x80\x84",
'black_joker' => "\xF0\x9F\x83\x8F",
'ab' => "\xF0\x9F\x86\x8E",
'cl' => "\xF0\x9F\x86\x91",
'cool' => "\xF0\x9F\x86\x92",
'free' => "\xF0\x9F\x86\x93",
'id' => "\xF0\x9F\x86\x94",
'new' => "\xF0\x9F\x86\x95",
'ng' => "\xF0\x9F\x86\x96",
'ok' => "\xF0\x9F\x86\x97",
'sos' => "\xF0\x9F\x86\x98",
'up' => "\xF0\x9F\x86\x99",
'vs' => "\xF0\x9F\x86\x9A",
'koko' => "\xF0\x9F\x88\x81",
'u7121' => "\xF0\x9F\x88\x9A",
'u6307' => "\xF0\x9F\x88\xAF",
'u7981' => "\xF0\x9F\x88\xB2",
'u7a7a' => "\xF0\x9F\x88\xB3",
'u5408' => "\xF0\x9F\x88\xB4",
'u6e80' => "\xF0\x9F\x88\xB5",
'u6709' => "\xF0\x9F\x88\xB6",
'u7533' => "\xF0\x9F\x88\xB8",
'u5272' => "\xF0\x9F\x88\xB9",
'u55b6' => "\xF0\x9F\x88\xBA",
'ideograph_advantage' => "\xF0\x9F\x89\x90",
'accept' => "\xF0\x9F\x89\x91",
'cyclone' => "\xF0\x9F\x8C\x80",
'foggy' => "\xF0\x9F\x8C\x81",
'closed_umbrella' => "\xF0\x9F\x8C\x82",
'night_with_stars' => "\xF0\x9F\x8C\x83",
'sunrise_over_mountains' => "\xF0\x9F\x8C\x84",
'sunrise' => "\xF0\x9F\x8C\x85",
'city_sunset' => "\xF0\x9F\x8C\x86",
'city_sunrise' => "\xF0\x9F\x8C\x87",
'rainbow' => "\xF0\x9F\x8C\x88",
'bridge_at_night' => "\xF0\x9F\x8C\x89",
'ocean' => "\xF0\x9F\x8C\x8A",
'volcano' => "\xF0\x9F\x8C\x8B",
'milky_way' => "\xF0\x9F\x8C\x8C",
'earth_africa' => "\xF0\x9F\x8C\x8D",
'earth_americas' => "\xF0\x9F\x8C\x8E",
'earth_asia' => "\xF0\x9F\x8C\x8F",
'globe_with_meridians' => "\xF0\x9F\x8C\x90",
'new_moon' => "\xF0\x9F\x8C\x91",
'waxing_crescent_moon' => "\xF0\x9F\x8C\x92",
'first_quarter_moon' => "\xF0\x9F\x8C\x93",
'waxing_gibbous_moon' => "\xF0\x9F\x8C\x94",
'moon' => "\xF0\x9F\x8C\x94",
'full_moon' => "\xF0\x9F\x8C\x95",
'waning_gibbous_moon' => "\xF0\x9F\x8C\x96",
'last_quarter_moon' => "\xF0\x9F\x8C\x97",
'waning_crescent_moon' => "\xF0\x9F\x8C\x98",
'crescent_moon' => "\xF0\x9F\x8C\x99",
'new_moon_with_face' => "\xF0\x9F\x8C\x9A",
'first_quarter_moon_with_face' => "\xF0\x9F\x8C\x9B",
'last_quarter_moon_with_face' => "\xF0\x9F\x8C\x9C",
'full_moon_with_face' => "\xF0\x9F\x8C\x9D",
'sun_with_face' => "\xF0\x9F\x8C\x9E",
'star2' => "\xF0\x9F\x8C\x9F",
'stars' => "\xF0\x9F\x8C\xA0",
'chestnut' => "\xF0\x9F\x8C\xB0",
'seedling' => "\xF0\x9F\x8C\xB1",
'evergreen_tree' => "\xF0\x9F\x8C\xB2",
'deciduous_tree' => "\xF0\x9F\x8C\xB3",
'palm_tree' => "\xF0\x9F\x8C\xB4",
'cactus' => "\xF0\x9F\x8C\xB5",
'tulip' => "\xF0\x9F\x8C\xB7",
'cherry_blossom' => "\xF0\x9F\x8C\xB8",
'rose' => "\xF0\x9F\x8C\xB9",
'hibiscus' => "\xF0\x9F\x8C\xBA",
'sunflower' => "\xF0\x9F\x8C\xBB",
'blossom' => "\xF0\x9F\x8C\xBC",
'corn' => "\xF0\x9F\x8C\xBD",
'ear_of_rice' => "\xF0\x9F\x8C\xBE",
'herb' => "\xF0\x9F\x8C\xBF",
'four_leaf_clover' => "\xF0\x9F\x8D\x80",
'maple_leaf' => "\xF0\x9F\x8D\x81",
'fallen_leaf' => "\xF0\x9F\x8D\x82",
'leaves' => "\xF0\x9F\x8D\x83",
'mushroom' => "\xF0\x9F\x8D\x84",
'tomato' => "\xF0\x9F\x8D\x85",
'eggplant' => "\xF0\x9F\x8D\x86",
'grapes' => "\xF0\x9F\x8D\x87",
'melon' => "\xF0\x9F\x8D\x88",
'watermelon' => "\xF0\x9F\x8D\x89",
'tangerine' => "\xF0\x9F\x8D\x8A",
'lemon' => "\xF0\x9F\x8D\x8B",
'banana' => "\xF0\x9F\x8D\x8C",
'pineapple' => "\xF0\x9F\x8D\x8D",
'apple' => "\xF0\x9F\x8D\x8E",
'green_apple' => "\xF0\x9F\x8D\x8F",
'pear' => "\xF0\x9F\x8D\x90",
'peach' => "\xF0\x9F\x8D\x91",
'cherries' => "\xF0\x9F\x8D\x92",
'strawberry' => "\xF0\x9F\x8D\x93",
'hamburger' => "\xF0\x9F\x8D\x94",
'pizza' => "\xF0\x9F\x8D\x95",
'meat_on_bone' => "\xF0\x9F\x8D\x96",
'poultry_leg' => "\xF0\x9F\x8D\x97",
'rice_cracker' => "\xF0\x9F\x8D\x98",
'rice_ball' => "\xF0\x9F\x8D\x99",
'rice' => "\xF0\x9F\x8D\x9A",
'curry' => "\xF0\x9F\x8D\x9B",
'ramen' => "\xF0\x9F\x8D\x9C",
'spaghetti' => "\xF0\x9F\x8D\x9D",
'bread' => "\xF0\x9F\x8D\x9E",
'fries' => "\xF0\x9F\x8D\x9F",
'sweet_potato' => "\xF0\x9F\x8D\xA0",
'dango' => "\xF0\x9F\x8D\xA1",
'oden' => "\xF0\x9F\x8D\xA2",
'sushi' => "\xF0\x9F\x8D\xA3",
'fried_shrimp' => "\xF0\x9F\x8D\xA4",
'fish_cake' => "\xF0\x9F\x8D\xA5",
'icecream' => "\xF0\x9F\x8D\xA6",
'shaved_ice' => "\xF0\x9F\x8D\xA7",
'ice_cream' => "\xF0\x9F\x8D\xA8",
'doughnut' => "\xF0\x9F\x8D\xA9",
'cookie' => "\xF0\x9F\x8D\xAA",
'chocolate_bar' => "\xF0\x9F\x8D\xAB",
'candy' => "\xF0\x9F\x8D\xAC",
'lollipop' => "\xF0\x9F\x8D\xAD",
'custard' => "\xF0\x9F\x8D\xAE",
'honey_pot' => "\xF0\x9F\x8D\xAF",
'cake' => "\xF0\x9F\x8D\xB0",
'bento' => "\xF0\x9F\x8D\xB1",
'stew' => "\xF0\x9F\x8D\xB2",
'egg' => "\xF0\x9F\x8D\xB3",
'fork_and_knife' => "\xF0\x9F\x8D\xB4",
'tea' => "\xF0\x9F\x8D\xB5",
'sake' => "\xF0\x9F\x8D\xB6",
'wine_glass' => "\xF0\x9F\x8D\xB7",
'cocktail' => "\xF0\x9F\x8D\xB8",
'tropical_drink' => "\xF0\x9F\x8D\xB9",
'beer' => "\xF0\x9F\x8D\xBA",
'beers' => "\xF0\x9F\x8D\xBB",
'baby_bottle' => "\xF0\x9F\x8D\xBC",
'ribbon' => "\xF0\x9F\x8E\x80",
'gift' => "\xF0\x9F\x8E\x81",
'birthday' => "\xF0\x9F\x8E\x82",
'jack_o_lantern' => "\xF0\x9F\x8E\x83",
'christmas_tree' => "\xF0\x9F\x8E\x84",
'santa' => "\xF0\x9F\x8E\x85",
'fireworks' => "\xF0\x9F\x8E\x86",
'sparkler' => "\xF0\x9F\x8E\x87",
'balloon' => "\xF0\x9F\x8E\x88",
'tada' => "\xF0\x9F\x8E\x89",
'confetti_ball' => "\xF0\x9F\x8E\x8A",
'tanabata_tree' => "\xF0\x9F\x8E\x8B",
'crossed_flags' => "\xF0\x9F\x8E\x8C",
'bamboo' => "\xF0\x9F\x8E\x8D",
'dolls' => "\xF0\x9F\x8E\x8E",
'flags' => "\xF0\x9F\x8E\x8F",
'wind_chime' => "\xF0\x9F\x8E\x90",
'rice_scene' => "\xF0\x9F\x8E\x91",
'school_satchel' => "\xF0\x9F\x8E\x92",
'mortar_board' => "\xF0\x9F\x8E\x93",
'carousel_horse' => "\xF0\x9F\x8E\xA0",
'ferris_wheel' => "\xF0\x9F\x8E\xA1",
'roller_coaster' => "\xF0\x9F\x8E\xA2",
'fishing_pole_and_fish' => "\xF0\x9F\x8E\xA3",
'microphone' => "\xF0\x9F\x8E\xA4",
'movie_camera' => "\xF0\x9F\x8E\xA5",
'cinema' => "\xF0\x9F\x8E\xA6",
'headphones' => "\xF0\x9F\x8E\xA7",
'art' => "\xF0\x9F\x8E\xA8",
'tophat' => "\xF0\x9F\x8E\xA9",
'circus_tent' => "\xF0\x9F\x8E\xAA",
'ticket' => "\xF0\x9F\x8E\xAB",
'clapper' => "\xF0\x9F\x8E\xAC",
'performing_arts' => "\xF0\x9F\x8E\xAD",
'video_game' => "\xF0\x9F\x8E\xAE",
'dart' => "\xF0\x9F\x8E\xAF",
'slot_machine' => "\xF0\x9F\x8E\xB0",
'8ball' => "\xF0\x9F\x8E\xB1",
'game_die' => "\xF0\x9F\x8E\xB2",
'bowling' => "\xF0\x9F\x8E\xB3",
'flower_playing_cards' => "\xF0\x9F\x8E\xB4",
'musical_note' => "\xF0\x9F\x8E\xB5",
'notes' => "\xF0\x9F\x8E\xB6",
'saxophone' => "\xF0\x9F\x8E\xB7",
'guitar' => "\xF0\x9F\x8E\xB8",
'musical_keyboard' => "\xF0\x9F\x8E\xB9",
'trumpet' => "\xF0\x9F\x8E\xBA",
'violin' => "\xF0\x9F\x8E\xBB",
'musical_score' => "\xF0\x9F\x8E\xBC",
'running_shirt_with_sash' => "\xF0\x9F\x8E\xBD",
'tennis' => "\xF0\x9F\x8E\xBE",
'ski' => "\xF0\x9F\x8E\xBF",
'basketball' => "\xF0\x9F\x8F\x80",
'checkered_flag' => "\xF0\x9F\x8F\x81",
'snowboarder' => "\xF0\x9F\x8F\x82",
'runner' => "\xF0\x9F\x8F\x83",
'running' => "\xF0\x9F\x8F\x83",
'surfer' => "\xF0\x9F\x8F\x84",
'trophy' => "\xF0\x9F\x8F\x86",
'horse_racing' => "\xF0\x9F\x8F\x87",
'football' => "\xF0\x9F\x8F\x88",
'rugby_football' => "\xF0\x9F\x8F\x89",
'swimmer' => "\xF0\x9F\x8F\x8A",
'house' => "\xF0\x9F\x8F\xA0",
'house_with_garden' => "\xF0\x9F\x8F\xA1",
'office' => "\xF0\x9F\x8F\xA2",
'post_office' => "\xF0\x9F\x8F\xA3",
'european_post_office' => "\xF0\x9F\x8F\xA4",
'hospital' => "\xF0\x9F\x8F\xA5",
'bank' => "\xF0\x9F\x8F\xA6",
'atm' => "\xF0\x9F\x8F\xA7",
'hotel' => "\xF0\x9F\x8F\xA8",
'love_hotel' => "\xF0\x9F\x8F\xA9",
'convenience_store' => "\xF0\x9F\x8F\xAA",
'school' => "\xF0\x9F\x8F\xAB",
'department_store' => "\xF0\x9F\x8F\xAC",
'factory' => "\xF0\x9F\x8F\xAD",
'lantern' => "\xF0\x9F\x8F\xAE",
'izakaya_lantern' => "\xF0\x9F\x8F\xAE",
'japanese_castle' => "\xF0\x9F\x8F\xAF",
'european_castle' => "\xF0\x9F\x8F\xB0",
'rat' => "\xF0\x9F\x90\x80",
'mouse2' => "\xF0\x9F\x90\x81",
'ox' => "\xF0\x9F\x90\x82",
'water_buffalo' => "\xF0\x9F\x90\x83",
'cow2' => "\xF0\x9F\x90\x84",
'tiger2' => "\xF0\x9F\x90\x85",
'leopard' => "\xF0\x9F\x90\x86",
'rabbit2' => "\xF0\x9F\x90\x87",
'cat2' => "\xF0\x9F\x90\x88",
'dragon' => "\xF0\x9F\x90\x89",
'crocodile' => "\xF0\x9F\x90\x8A",
'whale2' => "\xF0\x9F\x90\x8B",
'snail' => "\xF0\x9F\x90\x8C",
'snake' => "\xF0\x9F\x90\x8D",
'racehorse' => "\xF0\x9F\x90\x8E",
'ram' => "\xF0\x9F\x90\x8F",
'goat' => "\xF0\x9F\x90\x90",
'sheep' => "\xF0\x9F\x90\x91",
'monkey' => "\xF0\x9F\x90\x92",
'rooster' => "\xF0\x9F\x90\x93",
'chicken' => "\xF0\x9F\x90\x94",
'dog2' => "\xF0\x9F\x90\x95",
'pig2' => "\xF0\x9F\x90\x96",
'boar' => "\xF0\x9F\x90\x97",
'elephant' => "\xF0\x9F\x90\x98",
'octopus' => "\xF0\x9F\x90\x99",
'shell' => "\xF0\x9F\x90\x9A",
'bug' => "\xF0\x9F\x90\x9B",
'ant' => "\xF0\x9F\x90\x9C",
'bee' => "\xF0\x9F\x90\x9D",
'honeybee' => "\xF0\x9F\x90\x9D",
'beetle' => "\xF0\x9F\x90\x9E",
'fish' => "\xF0\x9F\x90\x9F",
'tropical_fish' => "\xF0\x9F\x90\xA0",
'blowfish' => "\xF0\x9F\x90\xA1",
'turtle' => "\xF0\x9F\x90\xA2",
'hatching_chick' => "\xF0\x9F\x90\xA3",
'baby_chick' => "\xF0\x9F\x90\xA4",
'hatched_chick' => "\xF0\x9F\x90\xA5",
'bird' => "\xF0\x9F\x90\xA6",
'penguin' => "\xF0\x9F\x90\xA7",
'koala' => "\xF0\x9F\x90\xA8",
'poodle' => "\xF0\x9F\x90\xA9",
'dromedary_camel' => "\xF0\x9F\x90\xAA",
'camel' => "\xF0\x9F\x90\xAB",
'dolphin' => "\xF0\x9F\x90\xAC",
'flipper' => "\xF0\x9F\x90\xAC",
'mouse' => "\xF0\x9F\x90\xAD",
'cow' => "\xF0\x9F\x90\xAE",
'tiger' => "\xF0\x9F\x90\xAF",
'rabbit' => "\xF0\x9F\x90\xB0",
'cat' => "\xF0\x9F\x90\xB1",
'dragon_face' => "\xF0\x9F\x90\xB2",
'whale' => "\xF0\x9F\x90\xB3",
'horse' => "\xF0\x9F\x90\xB4",
'monkey_face' => "\xF0\x9F\x90\xB5",
'dog' => "\xF0\x9F\x90\xB6",
'pig' => "\xF0\x9F\x90\xB7",
'frog' => "\xF0\x9F\x90\xB8",
'hamster' => "\xF0\x9F\x90\xB9",
'wolf' => "\xF0\x9F\x90\xBA",
'bear' => "\xF0\x9F\x90\xBB",
'panda_face' => "\xF0\x9F\x90\xBC",
'pig_nose' => "\xF0\x9F\x90\xBD",
'paw_prints' => "\xF0\x9F\x90\xBE",
'feet' => "\xF0\x9F\x90\xBE",
'eyes' => "\xF0\x9F\x91\x80",
'ear' => "\xF0\x9F\x91\x82",
'nose' => "\xF0\x9F\x91\x83",
'lips' => "\xF0\x9F\x91\x84",
'tongue' => "\xF0\x9F\x91\x85",
'point_up_2' => "\xF0\x9F\x91\x86",
'point_down' => "\xF0\x9F\x91\x87",
'point_left' => "\xF0\x9F\x91\x88",
'point_right' => "\xF0\x9F\x91\x89",
'punch' => "\xF0\x9F\x91\x8A",
'facepunch' => "\xF0\x9F\x91\x8A",
'wave' => "\xF0\x9F\x91\x8B",
'ok_hand' => "\xF0\x9F\x91\x8C",
'+1' => "\xF0\x9F\x91\x8D",
'thumbsup' => "\xF0\x9F\x91\x8D",
'_1' => "\xF0\x9F\x91\x8E",
'thumbsdown' => "\xF0\x9F\x91\x8E",
'clap' => "\xF0\x9F\x91\x8F",
'open_hands' => "\xF0\x9F\x91\x90",
'crown' => "\xF0\x9F\x91\x91",
'womans_hat' => "\xF0\x9F\x91\x92",
'eyeglasses' => "\xF0\x9F\x91\x93",
'necktie' => "\xF0\x9F\x91\x94",
'tshirt' => "\xF0\x9F\x91\x95",
'shirt' => "\xF0\x9F\x91\x95",
'jeans' => "\xF0\x9F\x91\x96",
'dress' => "\xF0\x9F\x91\x97",
'kimono' => "\xF0\x9F\x91\x98",
'bikini' => "\xF0\x9F\x91\x99",
'womans_clothes' => "\xF0\x9F\x91\x9A",
'purse' => "\xF0\x9F\x91\x9B",
'handbag' => "\xF0\x9F\x91\x9C",
'pouch' => "\xF0\x9F\x91\x9D",
'mans_shoe' => "\xF0\x9F\x91\x9E",
'shoe' => "\xF0\x9F\x91\x9E",
'athletic_shoe' => "\xF0\x9F\x91\x9F",
'high_heel' => "\xF0\x9F\x91\xA0",
'sandal' => "\xF0\x9F\x91\xA1",
'boot' => "\xF0\x9F\x91\xA2",
'footprints' => "\xF0\x9F\x91\xA3",
'bust_in_silhouette' => "\xF0\x9F\x91\xA4",
'busts_in_silhouette' => "\xF0\x9F\x91\xA5",
'boy' => "\xF0\x9F\x91\xA6",
'girl' => "\xF0\x9F\x91\xA7",
'man' => "\xF0\x9F\x91\xA8",
'woman' => "\xF0\x9F\x91\xA9",
'family' => "\xF0\x9F\x91\xAA",
'couple' => "\xF0\x9F\x91\xAB",
'two_men_holding_hands' => "\xF0\x9F\x91\xAC",
'two_women_holding_hands' => "\xF0\x9F\x91\xAD",
'cop' => "\xF0\x9F\x91\xAE",
'dancers' => "\xF0\x9F\x91\xAF",
'bride_with_veil' => "\xF0\x9F\x91\xB0",
'person_with_blond_hair' => "\xF0\x9F\x91\xB1",
'man_with_gua_pi_mao' => "\xF0\x9F\x91\xB2",
'man_with_turban' => "\xF0\x9F\x91\xB3",
'older_man' => "\xF0\x9F\x91\xB4",
'older_woman' => "\xF0\x9F\x91\xB5",
'baby' => "\xF0\x9F\x91\xB6",
'construction_worker' => "\xF0\x9F\x91\xB7",
'princess' => "\xF0\x9F\x91\xB8",
'japanese_ogre' => "\xF0\x9F\x91\xB9",
'japanese_goblin' => "\xF0\x9F\x91\xBA",
'ghost' => "\xF0\x9F\x91\xBB",
'angel' => "\xF0\x9F\x91\xBC",
'alien' => "\xF0\x9F\x91\xBD",
'space_invader' => "\xF0\x9F\x91\xBE",
'imp' => "\xF0\x9F\x91\xBF",
'skull' => "\xF0\x9F\x92\x80",
'information_desk_person' => "\xF0\x9F\x92\x81",
'guardsman' => "\xF0\x9F\x92\x82",
'dancer' => "\xF0\x9F\x92\x83",
'lipstick' => "\xF0\x9F\x92\x84",
'nail_care' => "\xF0\x9F\x92\x85",
'massage' => "\xF0\x9F\x92\x86",
'haircut' => "\xF0\x9F\x92\x87",
'barber' => "\xF0\x9F\x92\x88",
'syringe' => "\xF0\x9F\x92\x89",
'pill' => "\xF0\x9F\x92\x8A",
'kiss' => "\xF0\x9F\x92\x8B",
'love_letter' => "\xF0\x9F\x92\x8C",
'ring' => "\xF0\x9F\x92\x8D",
'gem' => "\xF0\x9F\x92\x8E",
'couplekiss' => "\xF0\x9F\x92\x8F",
'bouquet' => "\xF0\x9F\x92\x90",
'couple_with_heart' => "\xF0\x9F\x92\x91",
'wedding' => "\xF0\x9F\x92\x92",
'heartbeat' => "\xF0\x9F\x92\x93",
'broken_heart' => "\xF0\x9F\x92\x94",
'two_hearts' => "\xF0\x9F\x92\x95",
'sparkling_heart' => "\xF0\x9F\x92\x96",
'heartpulse' => "\xF0\x9F\x92\x97",
'cupid' => "\xF0\x9F\x92\x98",
'blue_heart' => "\xF0\x9F\x92\x99",
'green_heart' => "\xF0\x9F\x92\x9A",
'yellow_heart' => "\xF0\x9F\x92\x9B",
'purple_heart' => "\xF0\x9F\x92\x9C",
'gift_heart' => "\xF0\x9F\x92\x9D",
'revolving_hearts' => "\xF0\x9F\x92\x9E",
'heart_decoration' => "\xF0\x9F\x92\x9F",
'diamond_shape_with_a_dot_inside' => "\xF0\x9F\x92\xA0",
'bulb' => "\xF0\x9F\x92\xA1",
'anger' => "\xF0\x9F\x92\xA2",
'bomb' => "\xF0\x9F\x92\xA3",
'zzz' => "\xF0\x9F\x92\xA4",
'boom' => "\xF0\x9F\x92\xA5",
'collision' => "\xF0\x9F\x92\xA5",
'sweat_drops' => "\xF0\x9F\x92\xA6",
'droplet' => "\xF0\x9F\x92\xA7",
'dash' => "\xF0\x9F\x92\xA8",
'poop' => "\xF0\x9F\x92\xA9",
'shit' => "\xF0\x9F\x92\xA9",
'hankey' => "\xF0\x9F\x92\xA9",
'muscle' => "\xF0\x9F\x92\xAA",
'dizzy' => "\xF0\x9F\x92\xAB",
'speech_balloon' => "\xF0\x9F\x92\xAC",
'thought_balloon' => "\xF0\x9F\x92\xAD",
'white_flower' => "\xF0\x9F\x92\xAE",
'100' => "\xF0\x9F\x92\xAF",
'moneybag' => "\xF0\x9F\x92\xB0",
'currency_exchange' => "\xF0\x9F\x92\xB1",
'heavy_dollar_sign' => "\xF0\x9F\x92\xB2",
'credit_card' => "\xF0\x9F\x92\xB3",
'yen' => "\xF0\x9F\x92\xB4",
'dollar' => "\xF0\x9F\x92\xB5",
'euro' => "\xF0\x9F\x92\xB6",
'pound' => "\xF0\x9F\x92\xB7",
'money_with_wings' => "\xF0\x9F\x92\xB8",
'chart' => "\xF0\x9F\x92\xB9",
'seat' => "\xF0\x9F\x92\xBA",
'computer' => "\xF0\x9F\x92\xBB",
'briefcase' => "\xF0\x9F\x92\xBC",
'minidisc' => "\xF0\x9F\x92\xBD",
'floppy_disk' => "\xF0\x9F\x92\xBE",
'cd' => "\xF0\x9F\x92\xBF",
'dvd' => "\xF0\x9F\x93\x80",
'file_folder' => "\xF0\x9F\x93\x81",
'open_file_folder' => "\xF0\x9F\x93\x82",
'page_with_curl' => "\xF0\x9F\x93\x83",
'page_facing_up' => "\xF0\x9F\x93\x84",
'date' => "\xF0\x9F\x93\x85",
'calendar' => "\xF0\x9F\x93\x86",
'card_index' => "\xF0\x9F\x93\x87",
'chart_with_upwards_trend' => "\xF0\x9F\x93\x88",
'chart_with_downwards_trend' => "\xF0\x9F\x93\x89",
'bar_chart' => "\xF0\x9F\x93\x8A",
'clipboard' => "\xF0\x9F\x93\x8B",
'pushpin' => "\xF0\x9F\x93\x8C",
'round_pushpin' => "\xF0\x9F\x93\x8D",
'paperclip' => "\xF0\x9F\x93\x8E",
'straight_ruler' => "\xF0\x9F\x93\x8F",
'triangular_ruler' => "\xF0\x9F\x93\x90",
'bookmark_tabs' => "\xF0\x9F\x93\x91",
'ledger' => "\xF0\x9F\x93\x92",
'notebook' => "\xF0\x9F\x93\x93",
'notebook_with_decorative_cover' => "\xF0\x9F\x93\x94",
'closed_book' => "\xF0\x9F\x93\x95",
'book' => "\xF0\x9F\x93\x96",
'open_book' => "\xF0\x9F\x93\x96",
'green_book' => "\xF0\x9F\x93\x97",
'blue_book' => "\xF0\x9F\x93\x98",
'orange_book' => "\xF0\x9F\x93\x99",
'books' => "\xF0\x9F\x93\x9A",
'name_badge' => "\xF0\x9F\x93\x9B",
'scroll' => "\xF0\x9F\x93\x9C",
'pencil' => "\xF0\x9F\x93\x9D",
'memo' => "\xF0\x9F\x93\x9D",
'telephone_receiver' => "\xF0\x9F\x93\x9E",
'pager' => "\xF0\x9F\x93\x9F",
'fax' => "\xF0\x9F\x93\xA0",
'satellite' => "\xF0\x9F\x93\xA1",
'loudspeaker' => "\xF0\x9F\x93\xA2",
'mega' => "\xF0\x9F\x93\xA3",
'outbox_tray' => "\xF0\x9F\x93\xA4",
'inbox_tray' => "\xF0\x9F\x93\xA5",
'package' => "\xF0\x9F\x93\xA6",
'e_mail' => "\xF0\x9F\x93\xA7",
'incoming_envelope' => "\xF0\x9F\x93\xA8",
'envelope_with_arrow' => "\xF0\x9F\x93\xA9",
'mailbox_closed' => "\xF0\x9F\x93\xAA",
'mailbox' => "\xF0\x9F\x93\xAB",
'mailbox_with_mail' => "\xF0\x9F\x93\xAC",
'mailbox_with_no_mail' => "\xF0\x9F\x93\xAD",
'postbox' => "\xF0\x9F\x93\xAE",
'postal_horn' => "\xF0\x9F\x93\xAF",
'newspaper' => "\xF0\x9F\x93\xB0",
'iphone' => "\xF0\x9F\x93\xB1",
'calling' => "\xF0\x9F\x93\xB2",
'vibration_mode' => "\xF0\x9F\x93\xB3",
'mobile_phone_off' => "\xF0\x9F\x93\xB4",
'no_mobile_phones' => "\xF0\x9F\x93\xB5",
'signal_strength' => "\xF0\x9F\x93\xB6",
'camera' => "\xF0\x9F\x93\xB7",
'video_camera' => "\xF0\x9F\x93\xB9",
'tv' => "\xF0\x9F\x93\xBA",
'radio' => "\xF0\x9F\x93\xBB",
'vhs' => "\xF0\x9F\x93\xBC",
'twisted_rightwards_arrows' => "\xF0\x9F\x94\x80",
'repeat' => "\xF0\x9F\x94\x81",
'repeat_one' => "\xF0\x9F\x94\x82",
'arrows_clockwise' => "\xF0\x9F\x94\x83",
'arrows_counterclockwise' => "\xF0\x9F\x94\x84",
'low_brightness' => "\xF0\x9F\x94\x85",
'high_brightness' => "\xF0\x9F\x94\x86",
'mute' => "\xF0\x9F\x94\x87",
'speaker' => "\xF0\x9F\x94\x88",
'sound' => "\xF0\x9F\x94\x89",
'loud_sound' => "\xF0\x9F\x94\x8A",
'battery' => "\xF0\x9F\x94\x8B",
'electric_plug' => "\xF0\x9F\x94\x8C",
'mag' => "\xF0\x9F\x94\x8D",
'mag_right' => "\xF0\x9F\x94\x8E",
'lock_with_ink_pen' => "\xF0\x9F\x94\x8F",
'closed_lock_with_key' => "\xF0\x9F\x94\x90",
'key' => "\xF0\x9F\x94\x91",
'lock' => "\xF0\x9F\x94\x92",
'unlock' => "\xF0\x9F\x94\x93",
'bell' => "\xF0\x9F\x94\x94",
'no_bell' => "\xF0\x9F\x94\x95",
'bookmark' => "\xF0\x9F\x94\x96",
'link' => "\xF0\x9F\x94\x97",
'radio_button' => "\xF0\x9F\x94\x98",
'back' => "\xF0\x9F\x94\x99",
'end' => "\xF0\x9F\x94\x9A",
'on' => "\xF0\x9F\x94\x9B",
'soon' => "\xF0\x9F\x94\x9C",
'top' => "\xF0\x9F\x94\x9D",
'underage' => "\xF0\x9F\x94\x9E",
'keycap_ten' => "\xF0\x9F\x94\x9F",
'capital_abcd' => "\xF0\x9F\x94\xA0",
'abcd' => "\xF0\x9F\x94\xA1",
'1234' => "\xF0\x9F\x94\xA2",
'symbols' => "\xF0\x9F\x94\xA3",
'abc' => "\xF0\x9F\x94\xA4",
'fire' => "\xF0\x9F\x94\xA5",
'flashlight' => "\xF0\x9F\x94\xA6",
'wrench' => "\xF0\x9F\x94\xA7",
'hammer' => "\xF0\x9F\x94\xA8",
'nut_and_bolt' => "\xF0\x9F\x94\xA9",
'knife' => "\xF0\x9F\x94\xAA",
'hocho' => "\xF0\x9F\x94\xAA",
'gun' => "\xF0\x9F\x94\xAB",
'microscope' => "\xF0\x9F\x94\xAC",
'telescope' => "\xF0\x9F\x94\xAD",
'crystal_ball' => "\xF0\x9F\x94\xAE",
'six_pointed_star' => "\xF0\x9F\x94\xAF",
'beginner' => "\xF0\x9F\x94\xB0",
'trident' => "\xF0\x9F\x94\xB1",
'black_square_button' => "\xF0\x9F\x94\xB2",
'white_square_button' => "\xF0\x9F\x94\xB3",
'red_circle' => "\xF0\x9F\x94\xB4",
'large_blue_circle' => "\xF0\x9F\x94\xB5",
'large_orange_diamond' => "\xF0\x9F\x94\xB6",
'large_blue_diamond' => "\xF0\x9F\x94\xB7",
'small_orange_diamond' => "\xF0\x9F\x94\xB8",
'small_blue_diamond' => "\xF0\x9F\x94\xB9",
'small_red_triangle' => "\xF0\x9F\x94\xBA",
'small_red_triangle_down' => "\xF0\x9F\x94\xBB",
'arrow_up_small' => "\xF0\x9F\x94\xBC",
'arrow_down_small' => "\xF0\x9F\x94\xBD",
'clock1' => "\xF0\x9F\x95\x90",
'clock2' => "\xF0\x9F\x95\x91",
'clock3' => "\xF0\x9F\x95\x92",
'clock4' => "\xF0\x9F\x95\x93",
'clock5' => "\xF0\x9F\x95\x94",
'clock6' => "\xF0\x9F\x95\x95",
'clock7' => "\xF0\x9F\x95\x96",
'clock8' => "\xF0\x9F\x95\x97",
'clock9' => "\xF0\x9F\x95\x98",
'clock10' => "\xF0\x9F\x95\x99",
'clock11' => "\xF0\x9F\x95\x9A",
'clock12' => "\xF0\x9F\x95\x9B",
'clock130' => "\xF0\x9F\x95\x9C",
'clock230' => "\xF0\x9F\x95\x9D",
'clock330' => "\xF0\x9F\x95\x9E",
'clock430' => "\xF0\x9F\x95\x9F",
'clock530' => "\xF0\x9F\x95\xA0",
'clock630' => "\xF0\x9F\x95\xA1",
'clock730' => "\xF0\x9F\x95\xA2",
'clock830' => "\xF0\x9F\x95\xA3",
'clock930' => "\xF0\x9F\x95\xA4",
'clock1030' => "\xF0\x9F\x95\xA5",
'clock1130' => "\xF0\x9F\x95\xA6",
'clock1230' => "\xF0\x9F\x95\xA7",
'mount_fuji' => "\xF0\x9F\x97\xBB",
'tokyo_tower' => "\xF0\x9F\x97\xBC",
'statue_of_liberty' => "\xF0\x9F\x97\xBD",
'japan' => "\xF0\x9F\x97\xBE",
'moyai' => "\xF0\x9F\x97\xBF",
'grinning' => "\xF0\x9F\x98\x80",
'grin' => "\xF0\x9F\x98\x81",
'joy' => "\xF0\x9F\x98\x82",
'smiley' => "\xF0\x9F\x98\x83",
'smile' => "\xF0\x9F\x98\x84",
'sweat_smile' => "\xF0\x9F\x98\x85",
'satisfied' => "\xF0\x9F\x98\x86",
'laughing' => "\xF0\x9F\x98\x86",
'innocent' => "\xF0\x9F\x98\x87",
'smiling_imp' => "\xF0\x9F\x98\x88",
'wink' => "\xF0\x9F\x98\x89",
'blush' => "\xF0\x9F\x98\x8A",
'yum' => "\xF0\x9F\x98\x8B",
'relieved' => "\xF0\x9F\x98\x8C",
'heart_eyes' => "\xF0\x9F\x98\x8D",
'sunglasses' => "\xF0\x9F\x98\x8E",
'smirk' => "\xF0\x9F\x98\x8F",
'neutral_face' => "\xF0\x9F\x98\x90",
'expressionless' => "\xF0\x9F\x98\x91",
'unamused' => "\xF0\x9F\x98\x92",
'sweat' => "\xF0\x9F\x98\x93",
'pensive' => "\xF0\x9F\x98\x94",
'confused' => "\xF0\x9F\x98\x95",
'confounded' => "\xF0\x9F\x98\x96",
'kissing' => "\xF0\x9F\x98\x97",
'kissing_heart' => "\xF0\x9F\x98\x98",
'kissing_smiling_eyes' => "\xF0\x9F\x98\x99",
'kissing_closed_eyes' => "\xF0\x9F\x98\x9A",
'stuck_out_tongue' => "\xF0\x9F\x98\x9B",
'stuck_out_tongue_winking_eye' => "\xF0\x9F\x98\x9C",
'stuck_out_tongue_closed_eyes' => "\xF0\x9F\x98\x9D",
'disappointed' => "\xF0\x9F\x98\x9E",
'worried' => "\xF0\x9F\x98\x9F",
'angry' => "\xF0\x9F\x98\xA0",
'rage' => "\xF0\x9F\x98\xA1",
'cry' => "\xF0\x9F\x98\xA2",
'persevere' => "\xF0\x9F\x98\xA3",
'triumph' => "\xF0\x9F\x98\xA4",
'disappointed_relieved' => "\xF0\x9F\x98\xA5",
'frowning' => "\xF0\x9F\x98\xA6",
'anguished' => "\xF0\x9F\x98\xA7",
'fearful' => "\xF0\x9F\x98\xA8",
'weary' => "\xF0\x9F\x98\xA9",
'sleepy' => "\xF0\x9F\x98\xAA",
'tired_face' => "\xF0\x9F\x98\xAB",
'grimacing' => "\xF0\x9F\x98\xAC",
'sob' => "\xF0\x9F\x98\xAD",
'open_mouth' => "\xF0\x9F\x98\xAE",
'hushed' => "\xF0\x9F\x98\xAF",
'cold_sweat' => "\xF0\x9F\x98\xB0",
'scream' => "\xF0\x9F\x98\xB1",
'astonished' => "\xF0\x9F\x98\xB2",
'flushed' => "\xF0\x9F\x98\xB3",
'sleeping' => "\xF0\x9F\x98\xB4",
'dizzy_face' => "\xF0\x9F\x98\xB5",
'no_mouth' => "\xF0\x9F\x98\xB6",
'mask' => "\xF0\x9F\x98\xB7",
'smile_cat' => "\xF0\x9F\x98\xB8",
'joy_cat' => "\xF0\x9F\x98\xB9",
'smiley_cat' => "\xF0\x9F\x98\xBA",
'heart_eyes_cat' => "\xF0\x9F\x98\xBB",
'smirk_cat' => "\xF0\x9F\x98\xBC",
'kissing_cat' => "\xF0\x9F\x98\xBD",
'pouting_cat' => "\xF0\x9F\x98\xBE",
'crying_cat_face' => "\xF0\x9F\x98\xBF",
'scream_cat' => "\xF0\x9F\x99\x80",
'no_good' => "\xF0\x9F\x99\x85",
'ok_woman' => "\xF0\x9F\x99\x86",
'bow' => "\xF0\x9F\x99\x87",
'see_no_evil' => "\xF0\x9F\x99\x88",
'hear_no_evil' => "\xF0\x9F\x99\x89",
'speak_no_evil' => "\xF0\x9F\x99\x8A",
'raising_hand' => "\xF0\x9F\x99\x8B",
'raised_hands' => "\xF0\x9F\x99\x8C",
'person_frowning' => "\xF0\x9F\x99\x8D",
'person_with_pouting_face' => "\xF0\x9F\x99\x8E",
'pray' => "\xF0\x9F\x99\x8F",
'rocket' => "\xF0\x9F\x9A\x80",
'helicopter' => "\xF0\x9F\x9A\x81",
'steam_locomotive' => "\xF0\x9F\x9A\x82",
'railway_car' => "\xF0\x9F\x9A\x83",
'bullettrain_side' => "\xF0\x9F\x9A\x84",
'bullettrain_front' => "\xF0\x9F\x9A\x85",
'train2' => "\xF0\x9F\x9A\x86",
'metro' => "\xF0\x9F\x9A\x87",
'light_rail' => "\xF0\x9F\x9A\x88",
'station' => "\xF0\x9F\x9A\x89",
'tram' => "\xF0\x9F\x9A\x8A",
'train' => "\xF0\x9F\x9A\x8B",
'bus' => "\xF0\x9F\x9A\x8C",
'oncoming_bus' => "\xF0\x9F\x9A\x8D",
'trolleybus' => "\xF0\x9F\x9A\x8E",
'busstop' => "\xF0\x9F\x9A\x8F",
'minibus' => "\xF0\x9F\x9A\x90",
'ambulance' => "\xF0\x9F\x9A\x91",
'fire_engine' => "\xF0\x9F\x9A\x92",
'police_car' => "\xF0\x9F\x9A\x93",
'oncoming_police_car' => "\xF0\x9F\x9A\x94",
'taxi' => "\xF0\x9F\x9A\x95",
'oncoming_taxi' => "\xF0\x9F\x9A\x96",
'red_car' => "\xF0\x9F\x9A\x97",
'car' => "\xF0\x9F\x9A\x97",
'oncoming_automobile' => "\xF0\x9F\x9A\x98",
'blue_car' => "\xF0\x9F\x9A\x99",
'truck' => "\xF0\x9F\x9A\x9A",
'articulated_lorry' => "\xF0\x9F\x9A\x9B",
'tractor' => "\xF0\x9F\x9A\x9C",
'monorail' => "\xF0\x9F\x9A\x9D",
'mountain_railway' => "\xF0\x9F\x9A\x9E",
'suspension_railway' => "\xF0\x9F\x9A\x9F",
'mountain_cableway' => "\xF0\x9F\x9A\xA0",
'aerial_tramway' => "\xF0\x9F\x9A\xA1",
'ship' => "\xF0\x9F\x9A\xA2",
'rowboat' => "\xF0\x9F\x9A\xA3",
'speedboat' => "\xF0\x9F\x9A\xA4",
'traffic_light' => "\xF0\x9F\x9A\xA5",
'vertical_traffic_light' => "\xF0\x9F\x9A\xA6",
'construction' => "\xF0\x9F\x9A\xA7",
'rotating_light' => "\xF0\x9F\x9A\xA8",
'triangular_flag_on_post' => "\xF0\x9F\x9A\xA9",
'door' => "\xF0\x9F\x9A\xAA",
'no_entry_sign' => "\xF0\x9F\x9A\xAB",
'smoking' => "\xF0\x9F\x9A\xAC",
'no_smoking' => "\xF0\x9F\x9A\xAD",
'put_litter_in_its_place' => "\xF0\x9F\x9A\xAE",
'do_not_litter' => "\xF0\x9F\x9A\xAF",
'potable_water' => "\xF0\x9F\x9A\xB0",
'non_potable_water' => "\xF0\x9F\x9A\xB1",
'bike' => "\xF0\x9F\x9A\xB2",
'no_bicycles' => "\xF0\x9F\x9A\xB3",
'bicyclist' => "\xF0\x9F\x9A\xB4",
'mountain_bicyclist' => "\xF0\x9F\x9A\xB5",
'walking' => "\xF0\x9F\x9A\xB6",
'no_pedestrians' => "\xF0\x9F\x9A\xB7",
'children_crossing' => "\xF0\x9F\x9A\xB8",
'mens' => "\xF0\x9F\x9A\xB9",
'womens' => "\xF0\x9F\x9A\xBA",
'restroom' => "\xF0\x9F\x9A\xBB",
'baby_symbol' => "\xF0\x9F\x9A\xBC",
'toilet' => "\xF0\x9F\x9A\xBD",
'wc' => "\xF0\x9F\x9A\xBE",
'shower' => "\xF0\x9F\x9A\xBF",
'bath' => "\xF0\x9F\x9B\x80",
'bathtub' => "\xF0\x9F\x9B\x81",
'passport_control' => "\xF0\x9F\x9B\x82",
'customs' => "\xF0\x9F\x9B\x83",
'baggage_claim' => "\xF0\x9F\x9B\x84",
'left_luggage' => "\xF0\x9F\x9B\x85",
'copyright' => "\xC2\xA9\xEF\xB8\x8F",
'registered' => "\xC2\xAE\xEF\xB8\x8F",
'bangbang' => "\xE2\x80\xBC\xEF\xB8\x8F",
'interrobang' => "\xE2\x81\x89\xEF\xB8\x8F",
'tm' => "\xE2\x84\xA2\xEF\xB8\x8F",
'information_source' => "\xE2\x84\xB9\xEF\xB8\x8F",
'left_right_arrow' => "\xE2\x86\x94\xEF\xB8\x8F",
'arrow_up_down' => "\xE2\x86\x95\xEF\xB8\x8F",
'arrow_upper_left' => "\xE2\x86\x96\xEF\xB8\x8F",
'arrow_upper_right' => "\xE2\x86\x97\xEF\xB8\x8F",
'arrow_lower_right' => "\xE2\x86\x98\xEF\xB8\x8F",
'arrow_lower_left' => "\xE2\x86\x99\xEF\xB8\x8F",
'leftwards_arrow_with_hook' => "\xE2\x86\xA9\xEF\xB8\x8F",
'arrow_right_hook' => "\xE2\x86\xAA\xEF\xB8\x8F",
'm' => "\xE2\x93\x82\xEF\xB8\x8F",
'black_small_square' => "\xE2\x96\xAA\xEF\xB8\x8F",
'white_small_square' => "\xE2\x96\xAB\xEF\xB8\x8F",
'arrow_forward' => "\xE2\x96\xB6\xEF\xB8\x8F",
'arrow_backward' => "\xE2\x97\x80\xEF\xB8\x8F",
'white_medium_square' => "\xE2\x97\xBB\xEF\xB8\x8F",
'black_medium_square' => "\xE2\x97\xBC\xEF\xB8\x8F",
'sunny' => "\xE2\x98\x80\xEF\xB8\x8F",
'cloud' => "\xE2\x98\x81\xEF\xB8\x8F",
'telephone' => "\xE2\x98\x8E\xEF\xB8\x8F",
'phone' => "\xE2\x98\x8E\xEF\xB8\x8F",
'ballot_box_with_check' => "\xE2\x98\x91\xEF\xB8\x8F",
'point_up' => "\xE2\x98\x9D\xEF\xB8\x8F",
'relaxed' => "\xE2\x98\xBA\xEF\xB8\x8F",
'spades' => "\xE2\x99\xA0\xEF\xB8\x8F",
'clubs' => "\xE2\x99\xA3\xEF\xB8\x8F",
'hearts' => "\xE2\x99\xA5\xEF\xB8\x8F",
'diamonds' => "\xE2\x99\xA6\xEF\xB8\x8F",
'hotsprings' => "\xE2\x99\xA8\xEF\xB8\x8F",
'recycle' => "\xE2\x99\xBB\xEF\xB8\x8F",
'warning' => "\xE2\x9A\xA0\xEF\xB8\x8F",
'baseball' => "\xE2\x9A\xBE\xEF\xB8\x8F",
'scissors' => "\xE2\x9C\x82\xEF\xB8\x8F",
'airplane' => "\xE2\x9C\x88\xEF\xB8\x8F",
'email' => "\xE2\x9C\x89\xEF\xB8\x8F",
'envelope' => "\xE2\x9C\x89\xEF\xB8\x8F",
'v' => "\xE2\x9C\x8C\xEF\xB8\x8F",
'pencil2' => "\xE2\x9C\x8F\xEF\xB8\x8F",
'black_nib' => "\xE2\x9C\x92\xEF\xB8\x8F",
'heavy_check_mark' => "\xE2\x9C\x94\xEF\xB8\x8F",
'heavy_multiplication_x' => "\xE2\x9C\x96\xEF\xB8\x8F",
'eight_spoked_asterisk' => "\xE2\x9C\xB3\xEF\xB8\x8F",
'eight_pointed_black_star' => "\xE2\x9C\xB4\xEF\xB8\x8F",
'snowflake' => "\xE2\x9D\x84\xEF\xB8\x8F",
'sparkle' => "\xE2\x9D\x87\xEF\xB8\x8F",
'heart' => "\xE2\x9D\xA4\xEF\xB8\x8F",
'arrow_right' => "\xE2\x9E\xA1\xEF\xB8\x8F",
'arrow_heading_up' => "\xE2\xA4\xB4\xEF\xB8\x8F",
'arrow_heading_down' => "\xE2\xA4\xB5\xEF\xB8\x8F",
'arrow_left' => "\xE2\xAC\x85\xEF\xB8\x8F",
'arrow_up' => "\xE2\xAC\x86\xEF\xB8\x8F",
'arrow_down' => "\xE2\xAC\x87\xEF\xB8\x8F",
'wavy_dash' => "\xE3\x80\xB0\xEF\xB8\x8F",
'part_alternation_mark' => "\xE3\x80\xBD\xEF\xB8\x8F",
'congratulations' => "\xE3\x8A\x97\xEF\xB8\x8F",
'secret' => "\xE3\x8A\x99\xEF\xB8\x8F",
'hash' => "\x23\xEF\xB8\x8F\xE2\x83\xA3",
'zero' => "\x30\xEF\xB8\x8F\xE2\x83\xA3",
'one' => "\x31\xEF\xB8\x8F\xE2\x83\xA3",
'two' => "\x32\xEF\xB8\x8F\xE2\x83\xA3",
'three' => "\x33\xEF\xB8\x8F\xE2\x83\xA3",
'four' => "\x34\xEF\xB8\x8F\xE2\x83\xA3",
'five' => "\x35\xEF\xB8\x8F\xE2\x83\xA3",
'six' => "\x36\xEF\xB8\x8F\xE2\x83\xA3",
'seven' => "\x37\xEF\xB8\x8F\xE2\x83\xA3",
'eight' => "\x38\xEF\xB8\x8F\xE2\x83\xA3",
'nine' => "\x39\xEF\xB8\x8F\xE2\x83\xA3",
'a' => "\xF0\x9F\x85\xB0\xEF\xB8\x8F",
'b' => "\xF0\x9F\x85\xB1\xEF\xB8\x8F",
'o2' => "\xF0\x9F\x85\xBE\xEF\xB8\x8F",
'parking' => "\xF0\x9F\x85\xBF\xEF\xB8\x8F",
'sa' => "\xF0\x9F\x88\x82\xEF\xB8\x8F",
'u6708' => "\xF0\x9F\x88\xB7\xEF\xB8\x8F",
'cn' => "\xF0\x9F\x87\xA8\xF0\x9F\x87\xB3",
'de' => "\xF0\x9F\x87\xA9\xF0\x9F\x87\xAA",
'es' => "\xF0\x9F\x87\xAA\xF0\x9F\x87\xB8",
'fr' => "\xF0\x9F\x87\xAB\xF0\x9F\x87\xB7",
'uk' => "\xF0\x9F\x87\xAC\xF0\x9F\x87\xA7",
'gb' => "\xF0\x9F\x87\xAC\xF0\x9F\x87\xA7",
'it' => "\xF0\x9F\x87\xAE\xF0\x9F\x87\xB9",
'jp' => "\xF0\x9F\x87\xAF\xF0\x9F\x87\xB5",
'kr' => "\xF0\x9F\x87\xB0\xF0\x9F\x87\xB7",
'ru' => "\xF0\x9F\x87\xB7\xF0\x9F\x87\xBA",
'us' => "\xF0\x9F\x87\xBA\xF0\x9F\x87\xB8",
);
$matches[1] = str_replace('-', '_', $matches[1]);
if (isset($map[$matches[1]])) {
return $map[$matches[1]];
}
return $matches[0];
}
}