((function(Service) {

    function PPEmoji() {

        var fromCharCode = String.fromCharCode,

            groups = {
                People : [
                    [fromCharCode(0xD83D, 0xDE04), 'smile'],
                    [fromCharCode(0xD83D, 0xDE03), 'smiley'],
                    [fromCharCode(0xD83D, 0xDE00), 'grinning'],
                    [fromCharCode(0xD83D, 0xDE0A), 'blush'],
                    [fromCharCode(0xD83D, 0xDE09), 'wink'],
                    [fromCharCode(0xD83D, 0xDE0D), 'heart_eyes'],
                    [fromCharCode(0xD83D, 0xDE18), 'kissing_heart'],
                    [fromCharCode(0xD83D, 0xDE1A), 'kissing_closed_eyes'],
                    [fromCharCode(0xD83D, 0xDE1C), 'stuck_out_tongue_winking_eye'],
                    [fromCharCode(0xD83D, 0xDE1D), 'stuck_out_tongue_closed_eyes'],
                    [fromCharCode(0xD83D, 0xDE1B), 'stuck_out_tongue'],
                    [fromCharCode(0xD83D, 0xDE33), 'flushed'],
                    [fromCharCode(0xD83D, 0xDE01), 'grin'],
                    [fromCharCode(0xD83D, 0xDE14), 'pensive'],
                    [fromCharCode(0xD83D, 0xDE0C), 'relieved'],
                    [fromCharCode(0xD83D, 0xDE12), 'unamused'],
                    [fromCharCode(0xD83D, 0xDE1E), 'disappointed'],
                    [fromCharCode(0xD83D, 0xDE23), 'persevere'],
                    [fromCharCode(0xD83D, 0xDE22), 'cry'],
                    [fromCharCode(0xD83D, 0xDE02), 'joy'],
                    [fromCharCode(0xD83D, 0xDE2D), 'sob'],
                    [fromCharCode(0xD83D, 0xDE2A), 'sleepy'],
                    [fromCharCode(0xD83D, 0xDE25), 'disappointed_relieved'],
                    [fromCharCode(0xD83D, 0xDE30), 'cold_sweat'],
                    [fromCharCode(0xD83D, 0xDE05), 'sweat_smile'],
                    [fromCharCode(0xD83D, 0xDE13), 'sweat'],
                    [fromCharCode(0xD83D, 0xDE29), 'weary'],
                    [fromCharCode(0xD83D, 0xDE2B), 'tired_face'],
                    [fromCharCode(0xD83D, 0xDE28), 'fearful'],
                    [fromCharCode(0xD83D, 0xDE31), 'scream'],
                    [fromCharCode(0xD83D, 0xDE20), 'angry'],
                    [fromCharCode(0xD83D, 0xDE21), 'rage'],
                    [fromCharCode(0xD83D, 0xDE24), 'triumph'],
                    [fromCharCode(0xD83D, 0xDE16), 'confounded'],
                    [fromCharCode(0xD83D, 0xDE06), 'laughing'],
                    [fromCharCode(0xD83D, 0xDE0B), 'yum'],
                    [fromCharCode(0xD83D, 0xDE37), 'mask'],
                    [fromCharCode(0xD83D, 0xDE0E), 'sunglasses'],
                    [fromCharCode(0xD83D, 0xDE35), 'dizzy_face'],
                    [fromCharCode(0xD83D, 0xDE32), 'astonished'],
                    [fromCharCode(0xD83D, 0xDC7F), 'imp'],
                    [fromCharCode(0xD83D, 0xDE26), 'open_mouth'],
                    [fromCharCode(0xD83D, 0xDE10), 'neutral_face'],
                    [fromCharCode(0xD83D, 0xDE15), 'confused'],
                    [fromCharCode(0xD83D, 0xDE0F), 'smirk'],
                    [fromCharCode(0xD83D, 0xDC72), 'man_with_gua_pi_mao'],
                    [fromCharCode(0xD83D, 0xDC73), 'man_with_turban'],
                    [fromCharCode(0xD83D, 0xDC6E), 'cop'],
                    [fromCharCode(0xD83D, 0xDC77), 'construction_worker'],
                    [fromCharCode(0xD83D, 0xDC82), 'guardsman'],
                    [fromCharCode(0xD83D, 0xDC76), 'baby'],
                    [fromCharCode(0xD83D, 0xDC66), 'boy'],
                    [fromCharCode(0xD83D, 0xDC67), 'girl'],
                    [fromCharCode(0xD83D, 0xDC68), 'man'],
                    [fromCharCode(0xD83D, 0xDC69), 'woman'],
                    [fromCharCode(0xD83D, 0xDC74), 'older_man'],
                    [fromCharCode(0xD83D, 0xDC75), 'older_woman'],
                    [fromCharCode(0xD83D, 0xDC71), 'person_with_blond_hair'],
                    [fromCharCode(0xD83D, 0xDC7C), 'angel'],
                    [fromCharCode(0xD83D, 0xDC78), 'princess'],
                    [fromCharCode(0xD83D, 0xDE3A), 'smiley_cat'],
                    [fromCharCode(0xD83D, 0xDE38), 'smile_cat'],
                    [fromCharCode(0xD83D, 0xDE3B), 'heart_eyes_cat'],
                    [fromCharCode(0xD83D, 0xDE3D), 'kissing_cat'],
                    [fromCharCode(0xD83D, 0xDE3C), 'smirk_cat'],
                    [fromCharCode(0xD83D, 0xDE40), 'scream_cat'],
                    [fromCharCode(0xD83D, 0xDE3F), 'crying_cat_face'],
                    [fromCharCode(0xD83D, 0xDE39), 'joy_cat'],
                    [fromCharCode(0xD83D, 0xDE3E), 'pouting_cat'],
                    [fromCharCode(0xD83D, 0xDC79), 'japanese_ogre'],
                    [fromCharCode(0xD83D, 0xDC7A), 'japanese_goblin'],
                    [fromCharCode(0xD83D, 0xDE48), 'see_no_evil'],
                    [fromCharCode(0xD83D, 0xDE49), 'hear_no_evil'],
                    [fromCharCode(0xD83D, 0xDE4A), 'speak_no_evil'],
                    [fromCharCode(0xD83D, 0xDC80), 'skull'],
                    [fromCharCode(0xD83D, 0xDC7D), 'alien'],
                    [fromCharCode(0xD83D, 0xDCA9), 'hankey'],
                    [fromCharCode(0xD83D, 0xDD25), 'fire'],
                    [fromCharCode(0xD83C, 0xDF1F), 'star2'],
                    [fromCharCode(0xD83D, 0xDCAB), 'dizzy'],
                    [fromCharCode(0xD83D, 0xDCA5), 'boom'],
                    [fromCharCode(0xD83D, 0xDCA2), 'anger'],
                    [fromCharCode(0xD83D, 0xDCA6), 'sweat_drops'],
                    [fromCharCode(0xD83D, 0xDCA7), 'droplet'],
                    [fromCharCode(0xD83D, 0xDCA4), 'zzz'],
                    [fromCharCode(0xD83D, 0xDCA8), 'dash'],
                    [fromCharCode(0xD83D, 0xDC42), 'ear'],
                    [fromCharCode(0xD83D, 0xDC40), 'eyes'],
                    [fromCharCode(0xD83D, 0xDC43), 'nose'],
                    [fromCharCode(0xD83D, 0xDC45), 'tongue'],
                    [fromCharCode(0xD83D, 0xDC44), 'lips'],
                    [fromCharCode(0xD83D, 0xDC4D), 'thumbs_up'],
                    [fromCharCode(0xD83D, 0xDC4E), 'thumbs_down'],
                    [fromCharCode(0xD83D, 0xDC4C), 'ok_hand'],
                    [fromCharCode(0xD83D, 0xDC4A), 'facepunch'],
                    [fromCharCode(0xD83D, 0xDC4B), 'wave'],
                    [fromCharCode(0xD83D, 0xDC50), 'open_hands'],
                    [fromCharCode(0xD83D, 0xDC46), 'point_up_2'],
                    [fromCharCode(0xD83D, 0xDC47), 'point_down'],
                    [fromCharCode(0xD83D, 0xDC48), 'point_right'],
                    [fromCharCode(0xD83D, 0xDC49), 'point_left'],
                    [fromCharCode(0xD83D, 0xDE4C), 'raised_hands'],
                    [fromCharCode(0xD83D, 0xDE4F), 'pray'],
                    [fromCharCode(0xD83D, 0xDC4F), 'clap'],
                    [fromCharCode(0xD83D, 0xDCAA), 'muscle'],
                    [fromCharCode(0xD83D, 0xDEB6), 'walking'],
                    [fromCharCode(0xD83C, 0xDFC3), 'runner'],
                    [fromCharCode(0xD83D, 0xDC83), 'dancer'],
                    [fromCharCode(0xD83D, 0xDC6B), 'couple'],
                    [fromCharCode(0xD83D, 0xDC6A), 'family'],
                    [fromCharCode(0xD83D, 0xDC8F), 'couplekiss'],
                    [fromCharCode(0xD83D, 0xDC91), 'couple_with_heart'],
                    [fromCharCode(0xD83D, 0xDC6F), 'dancers'],
                    [fromCharCode(0xD83D, 0xDE46), 'ok_woman'],
                    [fromCharCode(0xD83D, 0xDE45), 'no_good'],
                    [fromCharCode(0xD83D, 0xDC81), 'information_desk_person'],
                    [fromCharCode(0xD83D, 0xDE4B), 'raising_hand'],
                    [fromCharCode(0xD83D, 0xDC86), 'massage'],
                    [fromCharCode(0xD83D, 0xDC87), 'haircut'],
                    [fromCharCode(0xD83D, 0xDC85), 'nail_care'],
                    [fromCharCode(0xD83D, 0xDC70), 'bride_with_veil'],
                    [fromCharCode(0xD83D, 0xDE4E), 'person_with_pouting_face'],
                    [fromCharCode(0xD83D, 0xDE4D), 'person_frowning'],
                    [fromCharCode(0xD83D, 0xDE47), 'bow'],
                    [fromCharCode(0xD83C, 0xDFA9), 'tophat'],
                    [fromCharCode(0xD83D, 0xDC51), 'crown'],
                    [fromCharCode(0xD83D, 0xDC52), 'womans_hat'],
                    [fromCharCode(0xD83D, 0xDC5F), 'athletic_shoe'],
                    [fromCharCode(0xD83D, 0xDC5E), 'mans_shoe'],
                    [fromCharCode(0xD83D, 0xDC61), 'sandal'],
                    [fromCharCode(0xD83D, 0xDC60), 'high_heel'],
                    [fromCharCode(0xD83D, 0xDC62), 'boot'],
                    [fromCharCode(0xD83D, 0xDC55), 'shirt'],
                    [fromCharCode(0xD83D, 0xDC54), 'necktie'],
                    [fromCharCode(0xD83D, 0xDC5A), 'womans_clothes'],
                    [fromCharCode(0xD83D, 0xDC57), 'dress'],
                    [fromCharCode(0xD83C, 0xDFBD), 'running_shirt_with_sash'],
                    [fromCharCode(0xD83D, 0xDC56), 'jeans'],
                    [fromCharCode(0xD83D, 0xDC58), 'kimono'],
                    [fromCharCode(0xD83D, 0xDC59), 'bikini'],
                    [fromCharCode(0xD83D, 0xDCBC), 'briefcase'],
                    [fromCharCode(0xD83D, 0xDC5C), 'handbag'],
                    [fromCharCode(0xD83D, 0xDC5D), 'pouch'],
                    [fromCharCode(0xD83D, 0xDC5B), 'purse'],
                    [fromCharCode(0xD83D, 0xDC53), 'eyeglasses'],
                    [fromCharCode(0xD83C, 0xDF80), 'ribbon'],
                    [fromCharCode(0xD83C, 0xDF02), 'closed_umbrella'],
                    [fromCharCode(0xD83D, 0xDC84), 'lipstick'],
                    [fromCharCode(0xD83D, 0xDC9B), 'yellow_heart'],
                    [fromCharCode(0xD83D, 0xDC99), 'blue_heart'],
                    [fromCharCode(0xD83D, 0xDC9C), 'purple_heart'],
                    [fromCharCode(0xD83D, 0xDC9A), 'green_heart'],
                    [fromCharCode(0xD83D, 0xDC94), 'broken_heart'],
                    [fromCharCode(0xD83D, 0xDC97), 'heartpulse'],
                    [fromCharCode(0xD83D, 0xDC93), 'heartbeat'],
                    [fromCharCode(0xD83D, 0xDC95), 'two_hearts'],
                    [fromCharCode(0xD83D, 0xDC96), 'sparkling_heart'],
                    [fromCharCode(0xD83D, 0xDC9E), 'revolving_hearts'],
                    [fromCharCode(0xD83D, 0xDC98), 'cupid'],
                    [fromCharCode(0xD83D, 0xDC8C), 'love_letter'],
                    [fromCharCode(0xD83D, 0xDC8B), 'kiss'],
                    [fromCharCode(0xD83D, 0xDC8D), 'ring'],
                    [fromCharCode(0xD83D, 0xDC8E), 'gem'],
                    [fromCharCode(0xD83D, 0xDC64), 'bust_in_silhouette'],
                    [fromCharCode(0xD83D, 0xDCAC), 'speech_balloon'],
                    [fromCharCode(0xD83D, 0xDC63), 'footprints']
                ],
                Nature : [
                    [fromCharCode(0xD83D, 0xDC36), 'dog'],
                    [fromCharCode(0xD83D, 0xDC34), 'wolf'],
                    [fromCharCode(0xD83D, 0xDC31), 'cat'],
                    [fromCharCode(0xD83D, 0xDC2D), 'mouse'],
                    [fromCharCode(0xD83D, 0xDC39), 'hamster'],
                    [fromCharCode(0xD83D, 0xDC30), 'rabbit'],
                    [fromCharCode(0xD83D, 0xDC38), 'frog'],
                    [fromCharCode(0xD83D, 0xDC2F), 'tiger'],
                    [fromCharCode(0xD83D, 0xDC28), 'koala'],
                    [fromCharCode(0xD83D, 0xDC3B), 'bear'],
                    [fromCharCode(0xD83D, 0xDC37), 'pig'],
                    [fromCharCode(0xD83D, 0xDC3D), 'pig_nose'],
                    [fromCharCode(0xD83D, 0xDC2E), 'cow'],
                    [fromCharCode(0xD83D, 0xDC17), 'boar'],
                    [fromCharCode(0xD83D, 0xDC35), 'monkey_face'],
                    [fromCharCode(0xD83D, 0xDC12), 'monkey'],
                    [fromCharCode(0xD83D, 0xDC34), 'horse'],
                    [fromCharCode(0xD83D, 0xDC11), 'sheep'],
                    [fromCharCode(0xD83D, 0xDC18), 'elephant'],
                    [fromCharCode(0xD83D, 0xDC3C), 'panda_face'],
                    [fromCharCode(0xD83D, 0xDC27), 'penguin'],
                    [fromCharCode(0xD83D, 0xDC26), 'bird'],
                    [fromCharCode(0xD83D, 0xDC24), 'baby_chick'],
                    [fromCharCode(0xD83D, 0xDC25), 'hatched_chick'],
                    [fromCharCode(0xD83D, 0xDC23), 'hatching_chick'],
                    [fromCharCode(0xD83D, 0xDC14), 'chicken'],
                    [fromCharCode(0xD83D, 0xDC0D), 'snake'],
                    [fromCharCode(0xD83D, 0xDC22), 'turtle'],
                    [fromCharCode(0xD83D, 0xDC1B), 'bug'],
                    [fromCharCode(0xD83D, 0xDC1D), 'bee'],
                    [fromCharCode(0xD83D, 0xDC1C), 'ant'],
                    [fromCharCode(0xD83D, 0xDC1E), 'beetle'],
                    [fromCharCode(0xD83D, 0xDC0C), 'snail'],
                    [fromCharCode(0xD83D, 0xDC19), 'octopus'],
                    [fromCharCode(0xD83D, 0xDC1A), 'shell'],
                    [fromCharCode(0xD83D, 0xDC20), 'tropical_fish'],
                    [fromCharCode(0xD83D, 0xDC1F), 'fish'],
                    [fromCharCode(0xD83D, 0xDC2C), 'dolphin'],
                    [fromCharCode(0xD83D, 0xDC33), 'whale'],
                    [fromCharCode(0xD83D, 0xDC0E), 'racehorse'],
                    [fromCharCode(0xD83D, 0xDC32), 'dragon_face'],
                    [fromCharCode(0xD83D, 0xDC21), 'blowfish'],
                    [fromCharCode(0xD83D, 0xDC2B), 'camel'],
                    [fromCharCode(0xD83D, 0xDC29), 'poodle'],
                    [fromCharCode(0xD83D, 0xDC3E), 'feet'],
                    [fromCharCode(0xD83D, 0xDC90), 'bouquet'],
                    [fromCharCode(0xD83C, 0xDF38), 'cherry_blossom'],
                    [fromCharCode(0xD83C, 0xDF37), 'tulip'],
                    [fromCharCode(0xD83C, 0xDF40), 'four_leaf_clover'],
                    [fromCharCode(0xD83C, 0xDF39), 'rose'],
                    [fromCharCode(0xD83C, 0xDF3B), 'sunflower'],
                    [fromCharCode(0xD83C, 0xDF3A), 'hibiscus'],
                    [fromCharCode(0xD83C, 0xDF41), 'maple_leaf'],
                    [fromCharCode(0xD83C, 0xDF43), 'leaves'],
                    [fromCharCode(0xD83C, 0xDF42), 'fallen_leaf'],
                    [fromCharCode(0xD83C, 0xDF3F), 'herb'],
                    [fromCharCode(0xD83C, 0xDF3E), 'ear_of_rice'],
                    [fromCharCode(0xD83C, 0xDF44), 'mushroom'],
                    [fromCharCode(0xD83C, 0xDF35), 'cactus'],
                    [fromCharCode(0xD83C, 0xDF34), 'palm_tree'],
                    [fromCharCode(0xD83C, 0xDF30), 'chestnut'],
                    [fromCharCode(0xD83C, 0xDF31), 'seedling'],
                    [fromCharCode(0xD83C, 0xDF3C), 'blossom'],
                    [fromCharCode(0xD83C, 0xDF11), 'new_moon'],
                    [fromCharCode(0xD83C, 0xDF13), 'first_quarter_moon'],
                    [fromCharCode(0xD83C, 0xDF14), 'moon'],
                    [fromCharCode(0xD83C, 0xDF15), 'full_moon'],
                    [fromCharCode(0xD83C, 0xDF1B), 'first_quarter_moon_with_face'],
                    [fromCharCode(0xD83C, 0xDF19), 'crescent_moon'],
                    [fromCharCode(0xD83C, 0xDF0F), 'earth_asia'],
                    [fromCharCode(0xD83C, 0xDF0B), 'volcano'],
                    [fromCharCode(0xD83C, 0xDF0C), 'milky_way'],
                    [fromCharCode(0xD83C, 0xDF20), 'stars'],
                    [fromCharCode(0xD83C, 0xDF00), 'cyclone'],
                    [fromCharCode(0xD83C, 0xDF01), 'foggy'],
                    [fromCharCode(0xD83C, 0xDF08), 'rainbow'],
                    [fromCharCode(0xD83C, 0xDF0A), 'ocean']
                ],
                Objects : [
                    [fromCharCode(0xD83C, 0xDF8D), 'bamboo'],
                    [fromCharCode(0xD83D, 0xDC9D), 'gift_heart'],
                    [fromCharCode(0xD83C, 0xDF8E), 'dolls'],
                    [fromCharCode(0xD83C, 0xDF92), 'school_satchel'],
                    [fromCharCode(0xD83C, 0xDF93), 'mortar_board'],
                    [fromCharCode(0xD83C, 0xDF8F), 'flags'],
                    [fromCharCode(0xD83C, 0xDF86), 'fireworks'],
                    [fromCharCode(0xD83C, 0xDF87), 'sparkler'],
                    [fromCharCode(0xD83C, 0xDF90), 'wind_chime'],
                    [fromCharCode(0xD83C, 0xDF91), 'rice_scene'],
                    [fromCharCode(0xD83C, 0xDF83), 'jack_o_lantern'],
                    [fromCharCode(0xD83D, 0xDC7B), 'ghost'],
                    [fromCharCode(0xD83C, 0xDF85), 'santa'],
                    [fromCharCode(0xD83C, 0xDF84), 'christmas_tree'],
                    [fromCharCode(0xD83C, 0xDF81), 'gift'],
                    [fromCharCode(0xD83C, 0xDF8B), 'tanabata_tree'],
                    [fromCharCode(0xD83C, 0xDF89), 'tada'],
                    [fromCharCode(0xD83C, 0xDF8A), 'confetti_ball'],
                    [fromCharCode(0xD83C, 0xDF88), 'balloon'],
                    [fromCharCode(0xD83C, 0xDF8C), 'crossed_flags'],
                    [fromCharCode(0xD83D, 0xDD2E), 'crystal_ball'],
                    [fromCharCode(0xD83C, 0xDFA5), 'movie_camera'],
                    [fromCharCode(0xD83D, 0xDCF7), 'camera'],
                    [fromCharCode(0xD83D, 0xDCF9), 'video_camera'],
                    [fromCharCode(0xD83D, 0xDCFC), 'vhs'],
                    [fromCharCode(0xD83D, 0xDCBF), 'cd'],
                    [fromCharCode(0xD83D, 0xDCC0), 'dvd'],
                    [fromCharCode(0xD83D, 0xDCBD), 'minidisc'],
                    [fromCharCode(0xD83D, 0xDCBE), 'floppy_disk'],
                    [fromCharCode(0xD83D, 0xDCBB), 'computer'],
                    [fromCharCode(0xD83D, 0xDCF1), 'iphone'],
                    [fromCharCode(0xD83D, 0xDCDE), 'telephone_receiver'],
                    [fromCharCode(0xD83D, 0xDCDF), 'pager'],
                    [fromCharCode(0xD83D, 0xDCE0), 'fax'],
                    [fromCharCode(0xD83D, 0xDCE1), 'satellite'],
                    [fromCharCode(0xD83D, 0xDCFA), 'tv'],
                    [fromCharCode(0xD83D, 0xDCFB), 'radio'],
                    [fromCharCode(0xD83D, 0xDD0A), 'loud_sound'],
                    [fromCharCode(0xD83D, 0xDD14), 'bell'],
                    [fromCharCode(0xD83D, 0xDCE2), 'loudspeaker'],
                    [fromCharCode(0xD83D, 0xDCE3), 'mega'],
                    [fromCharCode(0xD83D, 0xDD13), 'unlock'],
                    [fromCharCode(0xD83D, 0xDD12), 'lock'],
                    [fromCharCode(0xD83D, 0xDD0F), 'lock_with_ink_pen'],
                    [fromCharCode(0xD83D, 0xDD10), 'closed_lock_with_key'],
                    [fromCharCode(0xD83D, 0xDD11), 'key'],
                    [fromCharCode(0xD83D, 0xDD0E), 'mag_right'],
                    [fromCharCode(0xD83D, 0xDCA1), 'bulb'],
                    [fromCharCode(0xD83D, 0xDD26), 'flashlight'],
                    [fromCharCode(0xD83D, 0xDD0C), 'electric_plug'],
                    [fromCharCode(0xD83D, 0xDD0B), 'battery'],
                    [fromCharCode(0xD83D, 0xDD0D), 'mag'],
                    [fromCharCode(0xD83D, 0xDEC0), 'bath'],
                    [fromCharCode(0xD83D, 0xDEBD), 'toilet'],
                    [fromCharCode(0xD83D, 0xDD27), 'wrench'],
                    [fromCharCode(0xD83D, 0xDD29), 'nut_and_bolt'],
                    [fromCharCode(0xD83D, 0xDD28), 'hammer'],
                    [fromCharCode(0xD83D, 0xDEAA), 'door'],
                    [fromCharCode(0xD83D, 0xDEAC), 'smoking'],
                    [fromCharCode(0xD83D, 0xDCA3), 'bomb'],
                    [fromCharCode(0xD83D, 0xDD2B), 'gun'],
                    [fromCharCode(0xD83D, 0xDD2A), 'hocho'],
                    [fromCharCode(0xD83D, 0xDC8A), 'pill'],
                    [fromCharCode(0xD83D, 0xDC89), 'syringe'],
                    [fromCharCode(0xD83D, 0xDCB0), 'moneybag'],
                    [fromCharCode(0xD83D, 0xDCB4), 'yen'],
                    [fromCharCode(0xD83D, 0xDCB5), 'dollar'],
                    [fromCharCode(0xD83D, 0xDCB3), 'credit_card'],
                    [fromCharCode(0xD83D, 0xDCB8), 'money_with_wings'],
                    [fromCharCode(0xD83D, 0xDCF2), 'calling'],
                    [fromCharCode(0xD83D, 0xDCE7), 'e-mail'],
                    [fromCharCode(0xD83D, 0xDCE5), 'inbox_tray'],
                    [fromCharCode(0xD83D, 0xDCE4), 'outbox_tray'],
                    [fromCharCode(0xD83D, 0xDCE9), 'envelope_with_arrow'],
                    [fromCharCode(0xD83D, 0xDCE8), 'incoming_envelope'],
                    [fromCharCode(0xD83D, 0xDCEB), 'mailbox'],
                    [fromCharCode(0xD83D, 0xDCEA), 'mailbox_closed'],
                    [fromCharCode(0xD83D, 0xDCEE), 'postbox'],
                    [fromCharCode(0xD83D, 0xDCE6), 'package'],
                    [fromCharCode(0xD83D, 0xDCDD), 'memo'],
                    [fromCharCode(0xD83D, 0xDCC4), 'page_facing_up'],
                    [fromCharCode(0xD83D, 0xDCC3), 'page_with_curl'],
                    [fromCharCode(0xD83D, 0xDCD1), 'bookmark_tabs'],
                    [fromCharCode(0xD83D, 0xDCCA), 'bar_chart'],
                    [fromCharCode(0xD83D, 0xDCC8), 'chart_with_upwards_trend'],
                    [fromCharCode(0xD83D, 0xDCC9), 'chart_with_downwards_trend'],
                    [fromCharCode(0xD83D, 0xDCDC), 'scroll'],
                    [fromCharCode(0xD83D, 0xDCCB), 'clipboard'],
                    [fromCharCode(0xD83D, 0xDCC5), 'date'],
                    [fromCharCode(0xD83D, 0xDCC6), 'calendar'],
                    [fromCharCode(0xD83D, 0xDCC7), 'card_index'],
                    [fromCharCode(0xD83D, 0xDCC1), 'file_folder'],
                    [fromCharCode(0xD83D, 0xDCC2), 'open_file_folder'],
                    [fromCharCode(0xD83D, 0xDCCC), 'pushpin'],
                    [fromCharCode(0xD83D, 0xDCCE), 'paperclip'],
                    [fromCharCode(0xD83D, 0xDCCF), 'straight_ruler'],
                    [fromCharCode(0xD83D, 0xDCD0), 'triangular_ruler'],
                    [fromCharCode(0xD83D, 0xDCD5), 'closed_book'],
                    [fromCharCode(0xD83D, 0xDCD7), 'green_book'],
                    [fromCharCode(0xD83D, 0xDCD8), 'blue_book'],
                    [fromCharCode(0xD83D, 0xDCD9), 'orange_book'],
                    [fromCharCode(0xD83D, 0xDCD3), 'notebook'],
                    [fromCharCode(0xD83D, 0xDCD4), 'notebook_with_decorative_cover'],
                    [fromCharCode(0xD83D, 0xDCD2), 'ledger'],
                    [fromCharCode(0xD83D, 0xDCDA), 'books'],
                    [fromCharCode(0xD83D, 0xDCD6), 'book'],
                    [fromCharCode(0xD83D, 0xDD16), 'bookmark'],
                    [fromCharCode(0xD83D, 0xDCDB), 'name_badge'],
                    [fromCharCode(0xD83D, 0xDCF0), 'newspaper'],
                    [fromCharCode(0xD83C, 0xDFA8), 'art'],
                    [fromCharCode(0xD83C, 0xDFAC), 'clapper'],
                    [fromCharCode(0xD83C, 0xDFA4), 'microphone'],
                    [fromCharCode(0xD83C, 0xDFA7), 'headphones'],
                    [fromCharCode(0xD83C, 0xDFBC), 'musical_score'],
                    [fromCharCode(0xD83C, 0xDFB5), 'musical_note'],
                    [fromCharCode(0xD83C, 0xDFB6), 'notes'],
                    [fromCharCode(0xD83C, 0xDFB9), 'musical_keyboard'],
                    [fromCharCode(0xD83C, 0xDFBB), 'violin'],
                    [fromCharCode(0xD83C, 0xDFBA), 'trumpet'],
                    [fromCharCode(0xD83C, 0xDFB7), 'saxophone'],
                    [fromCharCode(0xD83C, 0xDFB8), 'guitar'],
                    [fromCharCode(0xD83D, 0xDC7E), 'space_invader'],
                    [fromCharCode(0xD83C, 0xDFAE), 'video_game'],
                    [fromCharCode(0xD83C, 0xDCCF), 'black_joker'],
                    [fromCharCode(0xD83C, 0xDFB4), 'flower_playing_cards'],
                    [fromCharCode(0xD83C, 0xDC04), 'mahjong'],
                    [fromCharCode(0xD83C, 0xDFB2), 'game_die'],
                    [fromCharCode(0xD83C, 0xDFAF), 'dart'],
                    [fromCharCode(0xD83C, 0xDFC8), 'football'],
                    [fromCharCode(0xD83C, 0xDFC0), 'basketball'],
                    [fromCharCode(0xD83C, 0xDFBE), 'tennis'],
                    [fromCharCode(0xD83C, 0xDFB1), '8ball'],
                    [fromCharCode(0xD83C, 0xDFB3), 'bowling'],
                    [fromCharCode(0xD83C, 0xDFC1), 'checkered_flag'],
                    [fromCharCode(0xD83C, 0xDFC6), 'trophy'],
                    [fromCharCode(0xD83C, 0xDFBF), 'ski'],
                    [fromCharCode(0xD83C, 0xDFC2), 'snowboarder'],
                    [fromCharCode(0xD83C, 0xDFCA), 'swimmer'],
                    [fromCharCode(0xD83C, 0xDFC4), 'surfer'],
                    [fromCharCode(0xD83C, 0xDFA3), 'fishing_pole_and_fish'],
                    [fromCharCode(0xD83C, 0xDF75), 'tea'],
                    [fromCharCode(0xD83C, 0xDF76), 'sake'],
                    [fromCharCode(0xD83C, 0xDF7A), 'beer'],
                    [fromCharCode(0xD83C, 0xDF7B), 'beers'],
                    [fromCharCode(0xD83C, 0xDF78), 'cocktail'],
                    [fromCharCode(0xD83C, 0xDF79), 'tropical_drink'],
                    [fromCharCode(0xD83C, 0xDF77), 'wine_glass'],
                    [fromCharCode(0xD83C, 0xDF74), 'fork_and_knife'],
                    [fromCharCode(0xD83C, 0xDF55), 'pizza'],
                    [fromCharCode(0xD83C, 0xDF54), 'hamburger'],
                    [fromCharCode(0xD83C, 0xDF5F), 'fries'],
                    [fromCharCode(0xD83C, 0xDF57), 'poultry_leg'],
                    [fromCharCode(0xD83C, 0xDF56), 'meat_on_bone'],
                    [fromCharCode(0xD83C, 0xDF5D), 'spaghetti'],
                    [fromCharCode(0xD83C, 0xDF5B), 'curry'],
                    [fromCharCode(0xD83C, 0xDF64), 'fried_shrimp'],
                    [fromCharCode(0xD83C, 0xDF71), 'bento'],
                    [fromCharCode(0xD83C, 0xDF63), 'sushi'],
                    [fromCharCode(0xD83C, 0xDF65), 'fish_cake'],
                    [fromCharCode(0xD83C, 0xDF59), 'rice_ball'],
                    [fromCharCode(0xD83C, 0xDF58), 'rice_cracker'],
                    [fromCharCode(0xD83C, 0xDF5A), 'rice'],
                    [fromCharCode(0xD83C, 0xDF5C), 'ramen'],
                    [fromCharCode(0xD83C, 0xDF72), 'stew'],
                    [fromCharCode(0xD83C, 0xDF62), 'oden'],
                    [fromCharCode(0xD83C, 0xDF61), 'dango'],
                    [fromCharCode(0xD83C, 0xDF73), 'egg'],
                    [fromCharCode(0xD83C, 0xDF5E), 'bread'],
                    [fromCharCode(0xD83C, 0xDF69), 'doughnut'],
                    [fromCharCode(0xD83C, 0xDF6E), 'custard'],
                    [fromCharCode(0xD83C, 0xDF66), 'icecream'],
                    [fromCharCode(0xD83C, 0xDF68), 'ice_cream'],
                    [fromCharCode(0xD83C, 0xDF67), 'shaved_ice'],
                    [fromCharCode(0xD83C, 0xDF82), 'birthday'],
                    [fromCharCode(0xD83C, 0xDF70), 'cake'],
                    [fromCharCode(0xD83C, 0xDF6A), 'cookie'],
                    [fromCharCode(0xD83C, 0xDF6B), 'chocolate_bar'],
                    [fromCharCode(0xD83C, 0xDF6C), 'candy'],
                    [fromCharCode(0xD83C, 0xDF6D), 'lollipop'],
                    [fromCharCode(0xD83C, 0xDF6F), 'honey_pot'],
                    [fromCharCode(0xD83C, 0xDF4E), 'apple'],
                    [fromCharCode(0xD83C, 0xDF4F), 'green_apple'],
                    [fromCharCode(0xD83C, 0xDF4A), 'tangerine'],
                    [fromCharCode(0xD83C, 0xDF52), 'cherries'],
                    [fromCharCode(0xD83C, 0xDF47), 'grapes'],
                    [fromCharCode(0xD83C, 0xDF49), 'watermelon'],
                    [fromCharCode(0xD83C, 0xDF53), 'strawberry'],
                    [fromCharCode(0xD83C, 0xDF51), 'peach'],
                    [fromCharCode(0xD83C, 0xDF48), 'melon'],
                    [fromCharCode(0xD83C, 0xDF4C), 'banana'],
                    [fromCharCode(0xD83C, 0xDF4D), 'pineapple'],
                    [fromCharCode(0xD83C, 0xDF60), 'sweet_potato'],
                    [fromCharCode(0xD83C, 0xDF46), 'eggplant'],
                    [fromCharCode(0xD83C, 0xDF45), 'tomato'],
                    [fromCharCode(0xD83C, 0xDF3D), 'corn']
                ],
                Places : [
                    [fromCharCode(0xD83C, 0xDFE0), 'house'],
                    [fromCharCode(0xD83C, 0xDFE1), 'house_with_garden'],
                    [fromCharCode(0xD83C, 0xDFEB), 'school'],
                    [fromCharCode(0xD83C, 0xDFE2), 'office'],
                    [fromCharCode(0xD83C, 0xDFE3), 'post_office'],
                    [fromCharCode(0xD83C, 0xDFE5), 'hospital'],
                    [fromCharCode(0xD83C, 0xDFE6), 'bank'],
                    [fromCharCode(0xD83C, 0xDFEA), 'convenience_store'],
                    [fromCharCode(0xD83C, 0xDFE9), 'love_hotel'],
                    [fromCharCode(0xD83C, 0xDFE8), 'hotel'],
                    [fromCharCode(0xD83D, 0xDC92), 'wedding'],
                    [fromCharCode(0xD83C, 0xDFEC), 'department_store'],
                    [fromCharCode(0xD83C, 0xDF07), 'city_sunrise'],
                    [fromCharCode(0xD83C, 0xDF06), 'city_sunset'],
                    [fromCharCode(0xD83C, 0xDFEF), 'japanese_castle'],
                    [fromCharCode(0xD83C, 0xDFF0), 'european_castle'],
                    [fromCharCode(0xD83C, 0xDFED), 'factory'],
                    [fromCharCode(0xD83D, 0xDDFC), 'tokyo_tower'],
                    [fromCharCode(0xD83D, 0xDDFE), 'japan'],
                    [fromCharCode(0xD83D, 0xDDFB), 'mount_fuji'],
                    [fromCharCode(0xD83C, 0xDF04), 'sunrise_over_mountains'],
                    [fromCharCode(0xD83C, 0xDF05), 'sunrise'],
                    [fromCharCode(0xD83C, 0xDF03), 'night_with_stars'],
                    [fromCharCode(0xD83D, 0xDDFD), 'statue_of_liberty'],
                    [fromCharCode(0xD83C, 0xDF09), 'bridge_at_night'],
                    [fromCharCode(0xD83C, 0xDFA0), 'carousel_horse'],
                    [fromCharCode(0xD83C, 0xDFA1), 'ferris_wheel'],
                    [fromCharCode(0xD83C, 0xDFA2), 'roller_coaster'],
                    [fromCharCode(0xD83D, 0xDEA2), 'ship'],
                    [fromCharCode(0xD83D, 0xDEA4), 'speedboat'],
                    [fromCharCode(0xD83D, 0xDE80), 'rocket'],
                    [fromCharCode(0xD83D, 0xDCBA), 'seat'],
                    [fromCharCode(0xD83D, 0xDE89), 'station'],
                    [fromCharCode(0xD83D, 0xDE84), 'bullettrain_side'],
                    [fromCharCode(0xD83D, 0xDE85), 'bullettrain_front'],
                    [fromCharCode(0xD83D, 0xDE87), 'metro'],
                    [fromCharCode(0xD83D, 0xDE83), 'railway_car'],
                    [fromCharCode(0xD83D, 0xDE8C), 'bus'],
                    [fromCharCode(0xD83D, 0xDE99), 'blue_car'],
                    [fromCharCode(0xD83D, 0xDE97), 'car'],
                    [fromCharCode(0xD83D, 0xDE95), 'taxi'],
                    [fromCharCode(0xD83D, 0xDE9A), 'truck'],
                    [fromCharCode(0xD83D, 0xDEA8), 'rotating_light'],
                    [fromCharCode(0xD83D, 0xDE93), 'police_car'],
                    [fromCharCode(0xD83D, 0xDE92), 'fire_engine'],
                    [fromCharCode(0xD83D, 0xDE91), 'ambulance'],
                    [fromCharCode(0xD83D, 0xDEB2), 'bike'],
                    [fromCharCode(0xD83D, 0xDC88), 'barber'],
                    [fromCharCode(0xD83D, 0xDE8F), 'busstop'],
                    [fromCharCode(0xD83C, 0xDFAB), 'ticket'],
                    [fromCharCode(0xD83D, 0xDEA5), 'traffic_light'],
                    [fromCharCode(0xD83D, 0xDEA7), 'construction'],
                    [fromCharCode(0xD83D, 0xDD30), 'beginner'],
                    [fromCharCode(0xD83C, 0xDFEE), 'izakaya_lantern'],
                    [fromCharCode(0xD83C, 0xDFB0), 'slot_machine'],
                    [fromCharCode(0xD83D, 0xDDFF), 'moyai'],
                    [fromCharCode(0xD83C, 0xDFAA), 'circus_tent'],
                    [fromCharCode(0xD83C, 0xDFAD), 'performing_arts'],
                    [fromCharCode(0xD83D, 0xDCCD), 'round_pushpin'],
                    [fromCharCode(0xD83D, 0xDEA9), 'triangular_flag_on_post']
                ],
                Symbols : [
                    [fromCharCode(0xD83D, 0xDD1F), 'keycap_ten'],
                    [fromCharCode(0xD83D, 0xDD22), '1234'],
                    [fromCharCode(0xD83D, 0xDD23), 'symbols'],
                    [fromCharCode(0xD83D, 0xDD20), 'capital_abcd'],
                    [fromCharCode(0xD83D, 0xDD21), 'abcd'],
                    [fromCharCode(0xD83D, 0xDD24), 'abc'],
                    [fromCharCode(0xD83D, 0xDD3C), 'arrow_up_small'],
                    [fromCharCode(0xD83D, 0xDD3D), 'arrow_down_small'],
                    [fromCharCode(0xD83C, 0xDD97), 'ok'],
                    [fromCharCode(0xD83C, 0xDD95), 'new'],
                    [fromCharCode(0xD83C, 0xDD99), 'up'],
                    [fromCharCode(0xD83C, 0xDD92), 'cool'],
                    [fromCharCode(0xD83C, 0xDD93), 'free'],
                    [fromCharCode(0xD83C, 0xDD96), 'ng'],
                    [fromCharCode(0xD83D, 0xDCF6), 'signal_strength'],
                    [fromCharCode(0xD83C, 0xDFA6), 'cinema'],
                    [fromCharCode(0xD83C, 0xDE01), 'koko'],
                    [fromCharCode(0xD83C, 0xDE2F), 'u6307'],
                    [fromCharCode(0xD83C, 0xDE33), 'u7a7a'],
                    [fromCharCode(0xD83C, 0xDE35), 'u6e80'],
                    [fromCharCode(0xD83C, 0xDE34), 'u5408'],
                    [fromCharCode(0xD83C, 0xDE32), 'u7981'],
                    [fromCharCode(0xD83C, 0xDE50), 'ideograph_advantage'],
                    [fromCharCode(0xD83C, 0xDE39), 'u5272'],
                    [fromCharCode(0xD83C, 0xDE3A), 'u55b6'],
                    [fromCharCode(0xD83C, 0xDE36), 'u6709'],
                    [fromCharCode(0xD83C, 0xDE1A), 'u7121'],
                    [fromCharCode(0xD83D, 0xDEBB), 'restroom'],
                    [fromCharCode(0xD83D, 0xDEB9), 'mens'],
                    [fromCharCode(0xD83D, 0xDEBA), 'womens'],
                    [fromCharCode(0xD83D, 0xDEBC), 'baby_symbol'],
                    [fromCharCode(0xD83D, 0xDEBE), 'wc'],
                    [fromCharCode(0xD83D, 0xDEAD), 'no_smoking'],
                    [fromCharCode(0xD83C, 0xDE38), 'u7533'],
                    [fromCharCode(0xD83C, 0xDE51), 'accept'],
                    [fromCharCode(0xD83C, 0xDD91), 'cl'],
                    [fromCharCode(0xD83C, 0xDD98), 'sos'],
                    [fromCharCode(0xD83C, 0xDD94), 'id'],
                    [fromCharCode(0xD83D, 0xDEAB), 'no_entry_sign'],
                    [fromCharCode(0xD83D, 0xDD1E), 'underage'],
                    [fromCharCode(0xD83D, 0xDC9F), 'heart_decoration'],
                    [fromCharCode(0xD83C, 0xDD9A), 'vs'],
                    [fromCharCode(0xD83D, 0xDCF3), 'vibration_mode'],
                    [fromCharCode(0xD83D, 0xDCF4), 'mobile_phone_off'],
                    [fromCharCode(0xD83C, 0xDD8E), 'ab'],
                    [fromCharCode(0xD83D, 0xDCA0), 'diamond_shape_with_a_dot_inside'],
                    [fromCharCode(0xD83D, 0xDD2F), 'six_pointed_star'],
                    [fromCharCode(0xD83C, 0xDFE7), 'atm'],
                    [fromCharCode(0xD83D, 0xDCB9), 'chart'],
                    [fromCharCode(0xD83D, 0xDCB2), 'heavy_dollar_sign'],
                    [fromCharCode(0xD83D, 0xDCB1), 'currency_exchange'],
                    [fromCharCode(0xD83D, 0xDD1D), 'back'],
                    [fromCharCode(0xD83D, 0xDD1A), 'on'],
                    [fromCharCode(0xD83D, 0xDD19), 'soon'],
                    [fromCharCode(0xD83D, 0xDD1B), 'arrows_clockwise'],
                    [fromCharCode(0xD83D, 0xDD1C), 'clock12'],
                    [fromCharCode(0xD83D, 0xDD03), 'clock1'],
                    [fromCharCode(0xD83D, 0xDD5B), 'clock2'],
                    [fromCharCode(0xD83D, 0xDD50), 'clock3'],
                    [fromCharCode(0xD83D, 0xDD51), 'clock4'],
                    [fromCharCode(0xD83D, 0xDD52), 'clock5'],
                    [fromCharCode(0xD83D, 0xDD53), 'clock6'],
                    [fromCharCode(0xD83D, 0xDD54), 'clock7'],
                    [fromCharCode(0xD83D, 0xDD55), 'clock8'],
                    [fromCharCode(0xD83D, 0xDD56), 'clock9'],
                    [fromCharCode(0xD83D, 0xDD57), 'clock10'],
                    [fromCharCode(0xD83D, 0xDD58), 'clock11'],
                    [fromCharCode(0xD83D, 0xDD59), 'heavy_plus_sign'],
                    [fromCharCode(0xD83D, 0xDD5A), 'heavy_minus_sign'],
                    [fromCharCode(0xD83D, 0xDCAE), 'radio_button'],
                    [fromCharCode(0xD83D, 0xDCAF), 'link'],
                    [fromCharCode(0xD83D, 0xDD18), 'curly_loop'],
                    [fromCharCode(0xD83D, 0xDD17), 'trident'],
                    [fromCharCode(0xD83D, 0xDD31), 'black_square_button'],
                    [fromCharCode(0xD83D, 0xDD3A), 'white_square_button'],
                    [fromCharCode(0xD83D, 0xDD32), 'red_circle'],
                    [fromCharCode(0xD83D, 0xDD33), 'large_blue_circle'],
                    [fromCharCode(0xD83D, 0xDD34), 'small_red_triangle_down'],
                    [fromCharCode(0xD83D, 0xDD35), 'white_large_square'],
                    [fromCharCode(0xD83D, 0xDD3B), 'black_large_square'],
                    [fromCharCode(0xD83D, 0xDD36), 'small_orange_diamond'],
                    [fromCharCode(0xD83D, 0xDD37), 'small_blue_diamond']   
                ]
            },

            _emojiGroup = (function() {

                var emojiGroup = {};
                $.each(groups, function(key, value) {

                    emojiGroup[key] = {};
                    
                    $.each(value, function(index, value) {

                        var title = value[1],
                            code = value[0];
                        
                        emojiGroup[key][title] = {
                            value: code,
                            title: title
                        };
                    }); 
                });
                return emojiGroup;
                
            })(),

            _emojiMap = (function(){
                var _emojiMap = {};
                for (var group in _emojiGroup) {
                    for (key in _emojiGroup[group]) {
                        _emojiMap[_emojiGroup[group][key].value] = _emojiGroup[group][key];
                    }
                }
                return _emojiMap;
            }());

        this.getEmojiCode = function(group, title) {
            return _emojiGroup[group][title];
        };

        this.getEmojiGroup = function(group, filter) {
            var dictionary = _emojiGroup[group];
            if (filter && typeof filter === 'function') {
                for (var key in dictionary) {
                    if (filter(key) == true) {
                        var value = _emojiGroup[group][key].value;
                        delete _emojiMap[value];
                        delete dictionary[key];
                    }
                }
            }
            return dictionary;
        };

        this.isEmoji = function(content) {
            if (!content || content.length > 3) {
                return false;
            }

            var emoji = _emojiMap[content];
            var isEmoji = emoji ? true : false;
            return isEmoji;
        };
    }

    Service.$emoji = new PPEmoji();
    
})(Service));
