From 72dd6b206b191b6550f42673d49b6db94c3068eb Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Sat, 22 Oct 2016 16:26:20 +0200 Subject: [PATCH] Install company-emoji and cheatsheet --- .../cheatsheet-autoloads.el | 27 + .../cheatsheet-20151203.151/cheatsheet-pkg.el | 2 + elpa/cheatsheet-20151203.151/cheatsheet.el | 145 ++ .../company-emoji-autoloads.el | 34 + .../company-emoji-pkg.el | 2 + .../company-emoji.el | 1319 +++++++++++++++++ init.el | 2 + 7 files changed, 1531 insertions(+) create mode 100644 elpa/cheatsheet-20151203.151/cheatsheet-autoloads.el create mode 100644 elpa/cheatsheet-20151203.151/cheatsheet-pkg.el create mode 100644 elpa/cheatsheet-20151203.151/cheatsheet.el create mode 100644 elpa/company-emoji-20160331.1641/company-emoji-autoloads.el create mode 100644 elpa/company-emoji-20160331.1641/company-emoji-pkg.el create mode 100644 elpa/company-emoji-20160331.1641/company-emoji.el diff --git a/elpa/cheatsheet-20151203.151/cheatsheet-autoloads.el b/elpa/cheatsheet-20151203.151/cheatsheet-autoloads.el new file mode 100644 index 0000000..63cba4c --- /dev/null +++ b/elpa/cheatsheet-20151203.151/cheatsheet-autoloads.el @@ -0,0 +1,27 @@ +;;; cheatsheet-autoloads.el --- automatically extracted autoloads +;; +;;; Code: +(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) + +;;;### (autoloads nil "cheatsheet" "cheatsheet.el" (22539 27682 220569 +;;;;;; 346000)) +;;; Generated autoloads from cheatsheet.el + +(autoload 'cheatsheet-add "cheatsheet" "\ +Add CHEAT to cheatsheet. + +\(fn &rest CHEAT)" nil nil) + +(autoload 'cheatsheet-show "cheatsheet" "\ +Create buffer and show cheatsheet. + +\(fn)" t nil) + +;;;*** + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; End: +;;; cheatsheet-autoloads.el ends here diff --git a/elpa/cheatsheet-20151203.151/cheatsheet-pkg.el b/elpa/cheatsheet-20151203.151/cheatsheet-pkg.el new file mode 100644 index 0000000..1035db5 --- /dev/null +++ b/elpa/cheatsheet-20151203.151/cheatsheet-pkg.el @@ -0,0 +1,2 @@ +;;; -*- no-byte-compile: t -*- +(define-package "cheatsheet" "20151203.151" "create your own cheatsheet" '((emacs "24") (cl-lib "0.5")) :url "http://github.com/darksmile/cheatsheet/" :keywords '("convenience" "usability")) diff --git a/elpa/cheatsheet-20151203.151/cheatsheet.el b/elpa/cheatsheet-20151203.151/cheatsheet.el new file mode 100644 index 0000000..cccda65 --- /dev/null +++ b/elpa/cheatsheet-20151203.151/cheatsheet.el @@ -0,0 +1,145 @@ +;;; cheatsheet.el --- create your own cheatsheet + +;; Copyright (C) 2015 Shirin Nikita and contributors +;; +;; Author: Shirin Nikita and contributors +;; URL: http://github.com/darksmile/cheatsheet/ +;; Package-Version: 20151203.151 +;; Package-Requires: ((emacs "24") (cl-lib "0.5")) +;; Version: 1.0 +;; Keywords: convenience, usability + +;; This file is not part of GNU Emacs + +;;; Licence: + +;; Licensed under the same terms as Emacs. + +;;; Commentary: + +;; Quick start: +;; Load package +;; Add your first cheat: +;; (cheatsheet-add :group 'Common +;; :key "C-x C-c" +;; :description "leave Emacs.") +;; Run (cheatsheet-show) and enjoy looking at your own Emacs cheatsheet. + +;;; Code: + +(require 'cl-lib) + +(defconst cheatsheet--group-face + '(:foreground "red") + "Group name font face.") + +(defconst cheatsheet--key-face + '(:foreground "orange") + "Cheat key font face.") + +(defconst cheatsheet--keymap + (let ((map (make-sparse-keymap))) + (define-key map (kbd "C-q") 'kill-buffer-and-window) + map)) + + +(defvar cheatsheet--cheat-list '() + "List of cheats.") + +;; Getters for CHEAT and GROUP plists +(defun cheatsheet--if-symbol-to-string (string-like) + "Convert STRING-LIKE to string." + (if (symbolp string-like) (symbol-name string-like) string-like)) + +(defun cheatsheet--group-name (group) + "Get GROUP name." + (cheatsheet--if-symbol-to-string (plist-get group :name))) + +(defun cheatsheet--group-cheats (group) + "Get GROUP cheats." + (cheatsheet--if-symbol-to-string (plist-get group :cheats))) + +(defun cheatsheet--cheat-key (cheat) + "Get CHEAT key." + (cheatsheet--if-symbol-to-string (plist-get cheat :key))) + +(defun cheatsheet--cheat-group (cheat) + "Get CHEAT group." + (cheatsheet--if-symbol-to-string (plist-get cheat :group))) + +(defun cheatsheet--cheat-description (cheat) + "Get CHEAT description." + (cheatsheet--if-symbol-to-string (plist-get cheat :description))) + +;; Functions to get data from CHEATSHEET in convenient format +(defun cheatsheet--cheat-groups () + "Get all groups, submitted to cheatsheet." + (reverse (delete-dups + (mapcar 'cheatsheet--cheat-group + cheatsheet--cheat-list)))) + +(defun cheatsheet--get-group (group) + "Get group struct with all cheats, belonging to GROUP." + (cl-flet ((is-current-group (cheat) + (if (string= (cheatsheet--cheat-group cheat) + group) + cheat + nil))) + (delq nil (mapcar #'is-current-group cheatsheet--cheat-list)))) + +;; Functions to format cheatsheet items and prepare to print +(defun cheatsheet--format-cheat (cheat key-cell-length) + "Format CHEAT row with KEY-CELL-LENGTH key cell length." + (let* ((format-string (format "%%%ds - %%s\n" key-cell-length)) + (key (cheatsheet--cheat-key cheat)) + (description (cheatsheet--cheat-description cheat)) + (faced-key (propertize key 'face cheatsheet--key-face))) + (format format-string faced-key description))) + +(defun cheatsheet--format-group (group) + "Format GROUP to table." + (cl-flet ((key-length (cheat) (length (cheatsheet--cheat-key cheat))) + (format-cheat (key-cell-length cheat) + (cheatsheet--format-cheat cheat key-cell-length))) + + (let* ((name (cheatsheet--group-name group)) + (cheats (cheatsheet--group-cheats group)) + (key-max-length (apply 'max (mapcar #'key-length cheats))) + (key-cell-length (+ 2 key-max-length)) + (format-cheat (apply-partially #'format-cheat key-cell-length)) + (formatted-cheats (apply 'concat (mapcar format-cheat cheats))) + (faced-group-name (propertize name 'face cheatsheet--group-face))) + (concat faced-group-name "\n" formatted-cheats "\n")))) + +(defun cheatsheet--format () + "Print the whole cheatsheet." + (let* ((cheatsheet (cheatsheet-get)) + (formatted-groups (mapcar 'cheatsheet--format-group cheatsheet)) + (formatted-cheatsheet (apply 'concat formatted-groups))) + formatted-cheatsheet)) + +;; Interface +;;;###autoload +(defun cheatsheet-add (&rest cheat) + "Add CHEAT to cheatsheet." + (add-to-list 'cheatsheet--cheat-list cheat)) + +(defun cheatsheet-get () + "Get cheatsheet as list of group structs, keeping defining order." + (cl-flet ((make-group (group) + (list :name group + :cheats (cheatsheet--get-group group)))) + (mapcar #'make-group (cheatsheet--cheat-groups)))) + +;;;###autoload +(defun cheatsheet-show () + "Create buffer and show cheatsheet." + (interactive) + (switch-to-buffer-other-window "*cheatsheet*") + (use-local-map cheatsheet--keymap) + (erase-buffer) + (insert (cheatsheet--format)) + (setq buffer-read-only t)) + +(provide 'cheatsheet) +;;; cheatsheet.el ends here diff --git a/elpa/company-emoji-20160331.1641/company-emoji-autoloads.el b/elpa/company-emoji-20160331.1641/company-emoji-autoloads.el new file mode 100644 index 0000000..0b2ea9d --- /dev/null +++ b/elpa/company-emoji-20160331.1641/company-emoji-autoloads.el @@ -0,0 +1,34 @@ +;;; company-emoji-autoloads.el --- automatically extracted autoloads +;; +;;; Code: +(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) + +;;;### (autoloads nil "company-emoji" "company-emoji.el" (22539 28067 +;;;;;; 410569 200000)) +;;; Generated autoloads from company-emoji.el + +(autoload 'company-emoji "company-emoji" "\ +Provide a backend for company to complete emoji-words. + +company.el calls this function, and passes a COMMAND to it that +depends on the context: 'prefix', 'candidates', 'annotation', +etc. In some contexts it also passes ARG, which is the list of +candidates that match what has been typed so far. Sometimes ARG +is a single candidate, as when COMMAND is 'annotation' or +'post-completion'. Other arguments are IGNORED. + +\(fn COMMAND &optional ARG &rest IGNORED)" nil nil) + +(autoload 'company-emoji-init "company-emoji" "\ +Add emoji to the company backends. + +\(fn)" t nil) + +;;;*** + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; End: +;;; company-emoji-autoloads.el ends here diff --git a/elpa/company-emoji-20160331.1641/company-emoji-pkg.el b/elpa/company-emoji-20160331.1641/company-emoji-pkg.el new file mode 100644 index 0000000..2bf6099 --- /dev/null +++ b/elpa/company-emoji-20160331.1641/company-emoji-pkg.el @@ -0,0 +1,2 @@ +;;; -*- no-byte-compile: t -*- +(define-package "company-emoji" "20160331.1641" "company-mode backend for emoji" '((cl-lib "0.5") (company "0.8.0")) :url "https://github.com/dunn/company-emoji.git" :keywords '("emoji" "company" "honk")) diff --git a/elpa/company-emoji-20160331.1641/company-emoji.el b/elpa/company-emoji-20160331.1641/company-emoji.el new file mode 100644 index 0000000..f6262b1 --- /dev/null +++ b/elpa/company-emoji-20160331.1641/company-emoji.el @@ -0,0 +1,1319 @@ +;;; company-emoji.el --- company-mode backend for emoji + +;; Copyright (C) 2015 Alex Dunn + +;; Author: Alex Dunn +;; URL: https://github.com/dunn/company-emoji.git +;; Package-Version: 20160331.1641 +;; Version: 2.3.0 +;; Package-Requires: ((cl-lib "0.5") (company "0.8.0")) +;; Keywords: emoji company honk +;; Prefix: company-emoji + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; company-mode backend providing autocompletion for emoji. ๐Ÿ†’๐Ÿ’ฆ + +;; ### setup + +;; Add `company-emoji.el` to your load-path, then add something like the +;; following to your init file: + +;; (require 'company-emoji) +;; (add-to-list 'company-backends 'company-emoji) + +;; After selecting an emoji-word from the completion-list, it will be +;; replaced by the real unicode emoji (`:cactus:` becomes ๐ŸŒต, `:cat:` +;; becomes ๐Ÿฑ, etc.) + +;; ### emoji font support + +;; If youโ€™re on Linux, or on Mac OS X and using the Cocoa version of +;; Emacs (i.e., if built `โ€-with-ns`, or `--with-cocoa` using Homebrew), +;; youโ€™ll need to add something like this to your init file (thanks to +;; [@syohex](https://github.com/syohex) and +;; [@waymondo](https://github.com/waymondo)): + +;; ```elisp +;; (defun --set-emoji-font (frame) +;; "Adjust the font settings of FRAME so Emacs can display emoji properly." +;; (if (eq system-type 'darwin) +;; ;; For NS/Cocoa +;; (set-fontset-font t 'symbol (font-spec :family "Apple Color Emoji") frame 'prepend) +;; ;; For Linux +;; (set-fontset-font t 'symbol (font-spec :family "Symbola") frame 'prepend))) + +;; ;; For when Emacs is started in GUI mode: +;; (--set-emoji-font nil) +;; ;; Hook for when a frame is created with emacsclient +;; ;; see https://www.gnu.org/software/emacs/manual/html_node/elisp/Creating-Frames.html +;; (add-hook 'after-make-frame-functions '--set-emoji-font) +;; ``` + +;; [Symbola](https://zhm.github.io/symbola/) can be installed with `apt-get`: + +;; ```sh +;; apt-get install ttf-ancient-fonts +;; ``` + +;; **NB:** The `set-fontset-font` function is apparently only available +;; when Emacs has been compiled with a window system. + +;; ### custom variables + +;; #### aliases + +;; You can add shortcode aliases by modifying `company-emoji-aliases`. +;; Run `M-x customize-variable [RET] company-emoji-aliases` to bring up +;; company-emojiโ€™s customization pane, then add or remove aliases to your +;; taste: + +;; Hide Company Emoji Aliases: +;; [INS] [DEL] Symbol: :man-woman-boy: +;; String: :family: +;; [INS] [DEL] Symbol: :woman-kiss-man: +;; String: :couplekiss: +;; [INS] [DEL] Symbol: :woman_man_holding_hands: +;; String: :couple: +;; [INS] [DEL] Symbol: :woman-heart-man: +;; String: :couple_with_heart: +;; [INS] [DEL] Symbol: :oop: +;; String: :speak_no_evil: +;; [INS] + +;; (โ€œSymbolโ€ designates the user-defined alias, and โ€œstringโ€ designates +;; the original shortcode you want your alias to mimick.) + +;; Occasionally new default aliases may be added (like `:middle-finger:` +;; for ๐Ÿ–•). If youโ€™re upgrading and have modified the +;; `company-emoji-aliases` variable, the new aliases will be ignored; +;; youโ€™ll need to add them manually. + +;; #### unicode replacement + +;; By default, `:cat:` is replaced with ๐Ÿฑ upon completion, but that can +;; be turned off by setting the variable `company-emoji-insert-unicode` +;; to `nil`. + +;;; Code: + +;; requires + +(require 'cl-lib) +(require 'company) + +;; version string + +(defconst company-emoji-version "2.3.0") + +;; customize + +(defgroup company-emoji nil + "Company-mode backend for autocompleting emoji" + :group 'company) + +(defcustom company-emoji-aliases '( (:man-woman-boy: . ":family:") + (:woman-kiss-man: . ":couplekiss:") + (:woman_man_holding_hands: . ":couple:") + (:woman-heart-man: . ":couple_with_heart:") + (:middle-finger: . ":reversed-hand-with-middle-finger-extended:") + ) + "Alternate shortcodes for emoji." + :group 'company-emoji + :type '(alist :key-type symbol :value-type string)) + +(defcustom company-emoji-insert-unicode t + "Replace the :shortcode: with the real Unicode character upon completion." + :group 'company-emoji + :type 'boolean) + +;; the actual code things + +(defun company-emoji--create-list () + "Return the propertized list of emoji." +;; See +;; https://www.gnu.org/software/emacs/manual/html_node/elisp/Text-Props-and-Strings.html +;; for the syntax. + (list + #(":grinning:" 0 1 (:unicode "๐Ÿ˜€")) + #(":grin:" 0 1 (:unicode "๐Ÿ˜")) + #(":joy:" 0 1 (:unicode "๐Ÿ˜‚")) + #(":smiley:" 0 1 (:unicode "๐Ÿ˜ƒ")) + #(":smile:" 0 1 (:unicode "๐Ÿ˜„")) + #(":sweat_smile:" 0 1 (:unicode "๐Ÿ˜…")) + #(":satisfied:" 0 1 (:unicode "๐Ÿ˜†")) + #(":innocent:" 0 1 (:unicode "๐Ÿ˜‡")) + #(":smiling_imp:" 0 1 (:unicode "๐Ÿ˜ˆ")) + #(":imp:" 0 1 (:unicode "๐Ÿ‘ฟ")) + #(":wink:" 0 1 (:unicode "๐Ÿ˜‰")) + #(":blush:" 0 1 (:unicode "๐Ÿ˜Š")) + #(":yum:" 0 1 (:unicode "๐Ÿ˜‹")) + #(":relieved:" 0 1 (:unicode "๐Ÿ˜Œ")) + #(":heart_eyes:" 0 1 (:unicode "๐Ÿ˜")) + #(":sunglasses:" 0 1 (:unicode "๐Ÿ˜Ž")) + #(":smirk:" 0 1 (:unicode "๐Ÿ˜")) + #(":neutral_face:" 0 1 (:unicode "๐Ÿ˜")) + #(":expressionless:" 0 1 (:unicode "๐Ÿ˜‘")) + #(":unamused:" 0 1 (:unicode "๐Ÿ˜’")) + #(":sweat:" 0 1 (:unicode "๐Ÿ˜“")) + #(":pensive:" 0 1 (:unicode "๐Ÿ˜”")) + #(":confused:" 0 1 (:unicode "๐Ÿ˜•")) + #(":confounded:" 0 1 (:unicode "๐Ÿ˜–")) + #(":kissing:" 0 1 (:unicode "๐Ÿ˜—")) + #(":kissing_heart:" 0 1 (:unicode "๐Ÿ˜˜")) + #(":kissing_smiling_eyes:" 0 1 (:unicode "๐Ÿ˜™")) + #(":kissing_closed_eyes:" 0 1 (:unicode "๐Ÿ˜š")) + #(":stuck_out_tongue:" 0 1 (:unicode "๐Ÿ˜›")) + #(":stuck_out_tongue_winking_eye:" 0 1 (:unicode "๐Ÿ˜œ")) + #(":stuck_out_tongue_closed_eyes:" 0 1 (:unicode "๐Ÿ˜")) + #(":disappointed:" 0 1 (:unicode "๐Ÿ˜ž")) + #(":worried:" 0 1 (:unicode "๐Ÿ˜Ÿ")) + #(":angry:" 0 1 (:unicode "๐Ÿ˜ ")) + #(":rage:" 0 1 (:unicode "๐Ÿ˜ก")) + #(":cry:" 0 1 (:unicode "๐Ÿ˜ข")) + #(":persevere:" 0 1 (:unicode "๐Ÿ˜ฃ")) + #(":triumph:" 0 1 (:unicode "๐Ÿ˜ค")) + #(":disappointed_relieved:" 0 1 (:unicode "๐Ÿ˜ฅ")) + #(":frowning:" 0 1 (:unicode "๐Ÿ˜ฆ")) + #(":anguished:" 0 1 (:unicode "๐Ÿ˜ง")) + #(":fearful:" 0 1 (:unicode "๐Ÿ˜จ")) + #(":weary:" 0 1 (:unicode "๐Ÿ˜ฉ")) + #(":sleepy:" 0 1 (:unicode "๐Ÿ˜ช")) + #(":tired_face:" 0 1 (:unicode "๐Ÿ˜ซ")) + #(":grimacing:" 0 1 (:unicode "๐Ÿ˜ฌ")) + #(":sob:" 0 1 (:unicode "๐Ÿ˜ญ")) + #(":open_mouth:" 0 1 (:unicode "๐Ÿ˜ฎ")) + #(":hushed:" 0 1 (:unicode "๐Ÿ˜ฏ")) + #(":cold_sweat:" 0 1 (:unicode "๐Ÿ˜ฐ")) + #(":scream:" 0 1 (:unicode "๐Ÿ˜ฑ")) + #(":astonished:" 0 1 (:unicode "๐Ÿ˜ฒ")) + #(":flushed:" 0 1 (:unicode "๐Ÿ˜ณ")) + #(":sleeping:" 0 1 (:unicode "๐Ÿ˜ด")) + #(":dizzy_face:" 0 1 (:unicode "๐Ÿ˜ต")) + #(":no_mouth:" 0 1 (:unicode "๐Ÿ˜ถ")) + #(":mask:" 0 1 (:unicode "๐Ÿ˜ท")) + #(":smile_cat:" 0 1 (:unicode "๐Ÿ˜ธ")) + #(":joy_cat:" 0 1 (:unicode "๐Ÿ˜น")) + #(":smiley_cat:" 0 1 (:unicode "๐Ÿ˜บ")) + #(":heart_eyes_cat:" 0 1 (:unicode "๐Ÿ˜ป")) + #(":smirk_cat:" 0 1 (:unicode "๐Ÿ˜ผ")) + #(":kissing_cat:" 0 1 (:unicode "๐Ÿ˜ฝ")) + #(":pouting_cat:" 0 1 (:unicode "๐Ÿ˜พ")) + #(":crying_cat_face:" 0 1 (:unicode "๐Ÿ˜ฟ")) + #(":scream_cat:" 0 1 (:unicode "๐Ÿ™€")) + #(":footprints:" 0 1 (:unicode "๐Ÿ‘ฃ")) + #(":bust_in_silhouette:" 0 1 (:unicode "๐Ÿ‘ค")) + #(":busts_in_silhouette:" 0 1 (:unicode "๐Ÿ‘ฅ")) + #(":baby:" 0 1 (:unicode "๐Ÿ‘ถ")) + #(":boy:" 0 1 (:unicode "๐Ÿ‘ฆ")) + #(":girl:" 0 1 (:unicode "๐Ÿ‘ง")) + #(":man:" 0 1 (:unicode "๐Ÿ‘จ")) + #(":woman:" 0 1 (:unicode "๐Ÿ‘ฉ")) + #(":family:" 0 1 (:unicode "๐Ÿ‘ช")) + #(":man-woman-girl:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง")) + #(":man-woman-girl-boy:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ")) + #(":man-woman-boy-boy:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ")) + #(":man-woman-girl-girl:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง")) + #(":woman-woman-boy:" 0 1 (:unicode "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ")) + #(":woman-woman-girl:" 0 1 (:unicode "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง")) + #(":woman-woman-girl-boy:" 0 1 (:unicode "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ")) + #(":woman-woman-boy-boy:" 0 1 (:unicode "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ")) + #(":woman-woman-girl-girl:" 0 1 (:unicode "๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง")) + #(":man-man-boy:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ")) + #(":man-man-girl:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง")) + #(":man-man-girl-boy:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ")) + #(":man-man-boy-boy:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ")) + #(":man-man-girl-girl:" 0 1 (:unicode "๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง")) + #(":couple:" 0 1 (:unicode "๐Ÿ‘ซ")) + #(":two_men_holding_hands:" 0 1 (:unicode "๐Ÿ‘ฌ")) + #(":two_women_holding_hands:" 0 1 (:unicode "๐Ÿ‘ญ")) + #(":dancers:" 0 1 (:unicode "๐Ÿ‘ฏ")) + #(":bride_with_veil:" 0 1 (:unicode "๐Ÿ‘ฐ")) + #(":person_with_blond_hair:" 0 1 (:unicode "๐Ÿ‘ฑ")) + #(":man_with_gua_pi_mao:" 0 1 (:unicode "๐Ÿ‘ฒ")) + #(":man_with_turban:" 0 1 (:unicode "๐Ÿ‘ณ")) + #(":older_man:" 0 1 (:unicode "๐Ÿ‘ด")) + #(":older_woman:" 0 1 (:unicode "๐Ÿ‘ต")) + #(":cop:" 0 1 (:unicode "๐Ÿ‘ฎ")) + #(":construction_worker:" 0 1 (:unicode "๐Ÿ‘ท")) + #(":princess:" 0 1 (:unicode "๐Ÿ‘ธ")) + #(":guardsman:" 0 1 (:unicode "๐Ÿ’‚")) + #(":angel:" 0 1 (:unicode "๐Ÿ‘ผ")) + #(":santa:" 0 1 (:unicode "๐ŸŽ…")) + #(":ghost:" 0 1 (:unicode "๐Ÿ‘ป")) + #(":japanese_ogre:" 0 1 (:unicode "๐Ÿ‘น")) + #(":japanese_goblin:" 0 1 (:unicode "๐Ÿ‘บ")) + #(":poop:" 0 1 (:unicode "๐Ÿ’ฉ")) + #(":skull:" 0 1 (:unicode "๐Ÿ’€")) + #(":alien:" 0 1 (:unicode "๐Ÿ‘ฝ")) + #(":space_invader:" 0 1 (:unicode "๐Ÿ‘พ")) + #(":bow:" 0 1 (:unicode "๐Ÿ™‡")) + #(":information_desk_person:" 0 1 (:unicode "๐Ÿ’")) + #(":no_good:" 0 1 (:unicode "๐Ÿ™…")) + #(":ok_woman:" 0 1 (:unicode "๐Ÿ™†")) + #(":raising_hand:" 0 1 (:unicode "๐Ÿ™‹")) + #(":person_with_pouting_face:" 0 1 (:unicode "๐Ÿ™Ž")) + #(":person_frowning:" 0 1 (:unicode "๐Ÿ™")) + #(":massage:" 0 1 (:unicode "๐Ÿ’†")) + #(":haircut:" 0 1 (:unicode "๐Ÿ’‡")) + #("couple_with_heart:" 0 1 (:unicode "๐Ÿ’‘")) + #(":woman-heart-woman:" 0 1 (:unicode "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ")) + #(":man-heart-man:" 0 1 (:unicode "๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ")) + #(":couplekiss:" 0 1 (:unicode "๐Ÿ’")) + #(":woman-kiss-woman:" 0 1 (:unicode "๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ")) + #(":man-kiss-man:" 0 1 (:unicode "๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ")) + #(":raised_hands:" 0 1 (:unicode "๐Ÿ™Œ")) + #(":clap:" 0 1 (:unicode "๐Ÿ‘")) + #(":ear:" 0 1 (:unicode "๐Ÿ‘‚")) + #(":eyes:" 0 1 (:unicode "๐Ÿ‘€")) + #(":nose:" 0 1 (:unicode "๐Ÿ‘ƒ")) + #(":lips:" 0 1 (:unicode "๐Ÿ‘„")) + #(":kiss:" 0 1 (:unicode "๐Ÿ’‹")) + #(":tongue:" 0 1 (:unicode "๐Ÿ‘…")) + #(":nail_care:" 0 1 (:unicode "๐Ÿ’…")) + #(":wave:" 0 1 (:unicode "๐Ÿ‘‹")) + #(":thumbsup:" 0 1 (:unicode "๐Ÿ‘")) + #(":thumbsdown:" 0 1 (:unicode "๐Ÿ‘Ž")) + #(":point_up:" 0 1 (:unicode "โ˜๏ธ")) + #(":point_up_2:" 0 1 (:unicode "๐Ÿ‘†")) + #(":point_down:" 0 1 (:unicode "๐Ÿ‘‡")) + #(":point_left:" 0 1 (:unicode "๐Ÿ‘ˆ")) + #(":point_right:" 0 1 (:unicode "๐Ÿ‘‰")) + #(":ok_hand:" 0 1 (:unicode "๐Ÿ‘Œ")) + #(":v:" 0 1 (:unicode "โœŒ๏ธ")) + #(":punch:" 0 1 (:unicode "๐Ÿ‘Š")) + #(":fist:" 0 1 (:unicode "โœŠ")) + #(":raised_hand:" 0 1 (:unicode "โœ‹")) + #(":muscle:" 0 1 (:unicode "๐Ÿ’ช")) + #(":open_hands:" 0 1 (:unicode "๐Ÿ‘")) + #(":pray:" 0 1 (:unicode "๐Ÿ™")) + #(":spock:" 0 1 (:unicode "๐Ÿ––")) + #(":seedling:" 0 1 (:unicode "๐ŸŒฑ")) + #(":evergreen_tree:" 0 1 (:unicode "๐ŸŒฒ")) + #(":deciduous_tree:" 0 1 (:unicode "๐ŸŒณ")) + #(":palm_tree:" 0 1 (:unicode "๐ŸŒด")) + #(":cactus:" 0 1 (:unicode "๐ŸŒต")) + #(":tulip:" 0 1 (:unicode "๐ŸŒท")) + #(":cherry_blossom:" 0 1 (:unicode "๐ŸŒธ")) + #(":rose:" 0 1 (:unicode "๐ŸŒน")) + #(":hibiscus:" 0 1 (:unicode "๐ŸŒบ")) + #(":sunflower:" 0 1 (:unicode "๐ŸŒป")) + #(":blossom:" 0 1 (:unicode "๐ŸŒผ")) + #(":bouquet:" 0 1 (:unicode "๐Ÿ’")) + #(":ear_of_rice:" 0 1 (:unicode "๐ŸŒพ")) + #(":herb:" 0 1 (:unicode "๐ŸŒฟ")) + #(":four_leaf_clover:" 0 1 (:unicode "๐Ÿ€")) + #(":maple_leaf:" 0 1 (:unicode "๐Ÿ")) + #(":fallen_leaf:" 0 1 (:unicode "๐Ÿ‚")) + #(":leaves:" 0 1 (:unicode "๐Ÿƒ")) + #(":mushroom:" 0 1 (:unicode "๐Ÿ„")) + #(":chestnut:" 0 1 (:unicode "๐ŸŒฐ")) + #(":rat:" 0 1 (:unicode "๐Ÿ€")) + #(":mouse2:" 0 1 (:unicode "๐Ÿ")) + #(":mouse:" 0 1 (:unicode "๐Ÿญ")) + #(":hamster:" 0 1 (:unicode "๐Ÿน")) + #(":ox:" 0 1 (:unicode "๐Ÿ‚")) + #(":water_buffalo:" 0 1 (:unicode "๐Ÿƒ")) + #(":cow2:" 0 1 (:unicode "๐Ÿ„")) + #(":cow:" 0 1 (:unicode "๐Ÿฎ")) + #(":tiger2:" 0 1 (:unicode "๐Ÿ…")) + #(":leopard:" 0 1 (:unicode "๐Ÿ†")) + #(":tiger:" 0 1 (:unicode "๐Ÿฏ")) + #(":rabbit2:" 0 1 (:unicode "๐Ÿ‡")) + #(":rabbit:" 0 1 (:unicode "๐Ÿฐ")) + #(":cat2:" 0 1 (:unicode "๐Ÿˆ")) + #(":cat:" 0 1 (:unicode "๐Ÿฑ")) + #(":racehorse:" 0 1 (:unicode "๐ŸŽ")) + #(":horse:" 0 1 (:unicode "๐Ÿด")) + #(":ram:" 0 1 (:unicode "๐Ÿ")) + #(":sheep:" 0 1 (:unicode "๐Ÿ‘")) + #(":goat:" 0 1 (:unicode "๐Ÿ")) + #(":rooster:" 0 1 (:unicode "๐Ÿ“")) + #(":chicken:" 0 1 (:unicode "๐Ÿ”")) + #(":baby_chick:" 0 1 (:unicode "๐Ÿค")) + #(":hatching_chick:" 0 1 (:unicode "๐Ÿฃ")) + #(":hatched_chick:" 0 1 (:unicode "๐Ÿฅ")) + #(":bird:" 0 1 (:unicode "๐Ÿฆ")) + #(":penguin:" 0 1 (:unicode "๐Ÿง")) + #(":elephant:" 0 1 (:unicode "๐Ÿ˜")) + #(":dromedary_camel:" 0 1 (:unicode "๐Ÿช")) + #(":camel:" 0 1 (:unicode "๐Ÿซ")) + #(":boar:" 0 1 (:unicode "๐Ÿ—")) + #(":pig2:" 0 1 (:unicode "๐Ÿ–")) + #(":pig:" 0 1 (:unicode "๐Ÿท")) + #(":pig_nose:" 0 1 (:unicode "๐Ÿฝ")) + #(":dog2:" 0 1 (:unicode "๐Ÿ•")) + #(":poodle:" 0 1 (:unicode "๐Ÿฉ")) + #(":dog:" 0 1 (:unicode "๐Ÿถ")) + #(":wolf:" 0 1 (:unicode "๐Ÿบ")) + #(":bear:" 0 1 (:unicode "๐Ÿป")) + #(":koala:" 0 1 (:unicode "๐Ÿจ")) + #(":panda_face:" 0 1 (:unicode "๐Ÿผ")) + #(":monkey_face:" 0 1 (:unicode "๐Ÿต")) + #(":see_no_evil:" 0 1 (:unicode "๐Ÿ™ˆ")) + #(":hear_no_evil:" 0 1 (:unicode "๐Ÿ™‰")) + #(":speak_no_evil:" 0 1 (:unicode "๐Ÿ™Š")) + #(":monkey:" 0 1 (:unicode "๐Ÿ’")) + #(":dragon:" 0 1 (:unicode "๐Ÿ‰")) + #(":dragon_face:" 0 1 (:unicode "๐Ÿฒ")) + #(":crocodile:" 0 1 (:unicode "๐ŸŠ")) + #(":snake:" 0 1 (:unicode "๐Ÿ")) + #(":turtle:" 0 1 (:unicode "๐Ÿข")) + #(":frog:" 0 1 (:unicode "๐Ÿธ")) + #(":whale2:" 0 1 (:unicode "๐Ÿ‹")) + #(":whale:" 0 1 (:unicode "๐Ÿณ")) + #(":flipper:" 0 1 (:unicode "๐Ÿฌ")) + #(":octopus:" 0 1 (:unicode "๐Ÿ™")) + #(":fish:" 0 1 (:unicode "๐ŸŸ")) + #(":tropical_fish:" 0 1 (:unicode "๐Ÿ ")) + #(":blowfish:" 0 1 (:unicode "๐Ÿก")) + #(":shell:" 0 1 (:unicode "๐Ÿš")) + #(":snail:" 0 1 (:unicode "๐ŸŒ")) + #(":bug:" 0 1 (:unicode "๐Ÿ›")) + #(":ant:" 0 1 (:unicode "๐Ÿœ")) + #(":honeybee:" 0 1 (:unicode "๐Ÿ")) + #(":beetle:" 0 1 (:unicode "๐Ÿž")) + #(":paw_prints:" 0 1 (:unicode "๐Ÿพ")) + #(":zap:" 0 1 (:unicode "โšก")) + #(":fire:" 0 1 (:unicode "๐Ÿ”ฅ")) + #(":crescent_moon:" 0 1 (:unicode "๐ŸŒ™")) + #(":sunny:" 0 1 (:unicode "โ˜€๏ธ")) + #(":partly_sunny:" 0 1 (:unicode "โ›…")) + #("๏ธ:cloud:" 0 1 (:unicode "๏ธโ˜๏ธ")) + #(":droplet:" 0 1 (:unicode "๐Ÿ’ง")) + #(":sweat_drops:" 0 1 (:unicode "๐Ÿ’ฆ")) + #(":umbrella:" 0 1 (:unicode "โ˜”")) + #(":dash:" 0 1 (:unicode "๐Ÿ’จ")) + #(":snowflake:" 0 1 (:unicode "โ„๏ธ")) + #(":star2:" 0 1 (:unicode "๐ŸŒŸ")) + #(":star:" 0 1 (:unicode "โญ")) + #(":shooting_star:" 0 1 (:unicode "๐ŸŒ ")) + #(":sunrise_over_mountains:" 0 1 (:unicode "๐ŸŒ„")) + #(":sunrise:" 0 1 (:unicode "๐ŸŒ…")) + #(":rainbow:" 0 1 (:unicode "๐ŸŒˆ")) + #(":ocean:" 0 1 (:unicode "๐ŸŒŠ")) + #(":volcano:" 0 1 (:unicode "๐ŸŒ‹")) + #(":milky_way:" 0 1 (:unicode "๐ŸŒŒ")) + #(":mount_fuji:" 0 1 (:unicode "๐Ÿ—ป")) + #(":japan:" 0 1 (:unicode "๐Ÿ—พ")) + #(":globe_with_meridians:" 0 1 (:unicode "๐ŸŒ")) + #(":earth_africa:" 0 1 (:unicode "๐ŸŒ")) + #(":earth_americas:" 0 1 (:unicode "๐ŸŒŽ")) + #(":earth_asia:" 0 1 (:unicode "๐ŸŒ")) + #(":new_moon:" 0 1 (:unicode "๐ŸŒ‘")) + #(":waxing_crescent_moon:" 0 1 (:unicode "๐ŸŒ’")) + #(":first_quarter_moon:" 0 1 (:unicode "๐ŸŒ“")) + #(":waxing_gibbous_moon:" 0 1 (:unicode "๐ŸŒ”")) + #(":full_moon:" 0 1 (:unicode "๐ŸŒ•")) + #(":waning_gibbous_moon:" 0 1 (:unicode "๐ŸŒ–")) + #(":last_quarter_moon:" 0 1 (:unicode "๐ŸŒ—")) + #(":waning_crescent_moon:" 0 1 (:unicode "๐ŸŒ˜")) + #(":new_moon_with_face:" 0 1 (:unicode "๐ŸŒš")) + #(":full_moon_with_face:" 0 1 (:unicode "๐ŸŒ")) + #(":first_quarter_moon_with_face:" 0 1 (:unicode "๐ŸŒ›")) + #(":last_quarter_moon_with_face:" 0 1 (:unicode "๐ŸŒœ")) + #(":sun_with_face:" 0 1 (:unicode "๐ŸŒž")) + #(":tomato:" 0 1 (:unicode "๐Ÿ…")) + #(":eggplant:" 0 1 (:unicode "๐Ÿ†")) + #(":corn:" 0 1 (:unicode "๐ŸŒฝ")) + #(":sweet_potato:" 0 1 (:unicode "๐Ÿ ")) + #(":grapes:" 0 1 (:unicode "๐Ÿ‡")) + #(":melon:" 0 1 (:unicode "๐Ÿˆ")) + #(":watermelon:" 0 1 (:unicode "๐Ÿ‰")) + #(":tangerine:" 0 1 (:unicode "๐ŸŠ")) + #(":lemon:" 0 1 (:unicode "๐Ÿ‹")) + #(":banana:" 0 1 (:unicode "๐ŸŒ")) + #(":pineapple:" 0 1 (:unicode "๐Ÿ")) + #(":apple:" 0 1 (:unicode "๐ŸŽ")) + #(":green_apple:" 0 1 (:unicode "๐Ÿ")) + #(":pear:" 0 1 (:unicode "๐Ÿ")) + #(":peach:" 0 1 (:unicode "๐Ÿ‘")) + #(":cherries:" 0 1 (:unicode "๐Ÿ’")) + #(":strawberry:" 0 1 (:unicode "๐Ÿ“")) + #(":hamburger:" 0 1 (:unicode "๐Ÿ”")) + #(":pizza:" 0 1 (:unicode "๐Ÿ•")) + #(":meat_on_bone:" 0 1 (:unicode "๐Ÿ–")) + #(":poultry_leg:" 0 1 (:unicode "๐Ÿ—")) + #(":rice_cracker:" 0 1 (:unicode "๐Ÿ˜")) + #(":rice_ball:" 0 1 (:unicode "๐Ÿ™")) + #(":rice:" 0 1 (:unicode "๐Ÿš")) + #(":curry:" 0 1 (:unicode "๐Ÿ›")) + #(":ramen:" 0 1 (:unicode "๐Ÿœ")) + #(":spaghetti:" 0 1 (:unicode "๐Ÿ")) + #(":bread:" 0 1 (:unicode "๐Ÿž")) + #(":fries:" 0 1 (:unicode "๐ŸŸ")) + #(":dango:" 0 1 (:unicode "๐Ÿก")) + #(":oden:" 0 1 (:unicode "๐Ÿข")) + #(":sushi:" 0 1 (:unicode "๐Ÿฃ")) + #(":fried_shrimp:" 0 1 (:unicode "๐Ÿค")) + #(":fish_cake:" 0 1 (:unicode "๐Ÿฅ")) + #(":icecream:" 0 1 (:unicode "๐Ÿฆ")) + #(":shaved_ice:" 0 1 (:unicode "๐Ÿง")) + #(":ice_cream:" 0 1 (:unicode "๐Ÿจ")) + #(":doughnut:" 0 1 (:unicode "๐Ÿฉ")) + #(":cookie:" 0 1 (:unicode "๐Ÿช")) + #(":chocolate_bar:" 0 1 (:unicode "๐Ÿซ")) + #(":candy:" 0 1 (:unicode "๐Ÿฌ")) + #(":lollipop:" 0 1 (:unicode "๐Ÿญ")) + #(":custard:" 0 1 (:unicode "๐Ÿฎ")) + #(":honey_pot:" 0 1 (:unicode "๐Ÿฏ")) + #(":cake:" 0 1 (:unicode "๐Ÿฐ")) + #(":bento:" 0 1 (:unicode "๐Ÿฑ")) + #(":stew:" 0 1 (:unicode "๐Ÿฒ")) + #(":egg:" 0 1 (:unicode "๐Ÿณ")) + #(":fork_and_knife:" 0 1 (:unicode "๐Ÿด")) + #(":tea:" 0 1 (:unicode "๐Ÿต")) + #(":coffee:" 0 1 (:unicode "โ˜•")) + #(":sake:" 0 1 (:unicode "๐Ÿถ")) + #(":wine_glass:" 0 1 (:unicode "๐Ÿท")) + #(":cocktail:" 0 1 (:unicode "๐Ÿธ")) + #(":tropical_drink:" 0 1 (:unicode "๐Ÿน")) + #(":beer:" 0 1 (:unicode "๐Ÿบ")) + #(":beers:" 0 1 (:unicode "๐Ÿป")) + #(":baby_bottle:" 0 1 (:unicode "๐Ÿผ")) + #(":ribbon:" 0 1 (:unicode "๐ŸŽ€")) + #(":gift:" 0 1 (:unicode "๐ŸŽ")) + #(":birthday:" 0 1 (:unicode "๐ŸŽ‚")) + #(":jack_o_lantern:" 0 1 (:unicode "๐ŸŽƒ")) + #(":christmas_tree:" 0 1 (:unicode "๐ŸŽ„")) + #(":tanabata_tree:" 0 1 (:unicode "๐ŸŽ‹")) + #(":bamboo:" 0 1 (:unicode "๐ŸŽ")) + #(":rice_scene:" 0 1 (:unicode "๐ŸŽ‘")) + #(":fireworks:" 0 1 (:unicode "๐ŸŽ†")) + #(":sparkler:" 0 1 (:unicode "๐ŸŽ‡")) + #(":tada:" 0 1 (:unicode "๐ŸŽ‰")) + #(":confetti_ball:" 0 1 (:unicode "๐ŸŽŠ")) + #(":balloon:" 0 1 (:unicode "๐ŸŽˆ")) + #(":dizzy:" 0 1 (:unicode "๐Ÿ’ซ")) + #(":sparkles:" 0 1 (:unicode "โœจ")) + #(":collision:" 0 1 (:unicode "๐Ÿ’ฅ")) + #(":mortar_board:" 0 1 (:unicode "๐ŸŽ“")) + #(":crown:" 0 1 (:unicode "๐Ÿ‘‘")) + #(":dolls:" 0 1 (:unicode "๐ŸŽŽ")) + #(":flags:" 0 1 (:unicode "๐ŸŽ")) + #(":wind_chime:" 0 1 (:unicode "๐ŸŽ")) + #(":crossed_flags:" 0 1 (:unicode "๐ŸŽŒ")) + #(":lantern:" 0 1 (:unicode "๐Ÿฎ")) + #(":ring:" 0 1 (:unicode "๐Ÿ’")) + #(":heart:" 0 1 (:unicode "โค๏ธ")) + #(":broken_heart:" 0 1 (:unicode "๐Ÿ’”")) + #(":love_letter:" 0 1 (:unicode "๐Ÿ’Œ")) + #(":two_hearts:" 0 1 (:unicode "๐Ÿ’•")) + #(":revolving_hearts:" 0 1 (:unicode "๐Ÿ’ž")) + #(":heartbeat:" 0 1 (:unicode "๐Ÿ’“")) + #(":heartpulse:" 0 1 (:unicode "๐Ÿ’—")) + #(":sparkling_heart:" 0 1 (:unicode "๐Ÿ’–")) + #(":cupid:" 0 1 (:unicode "๐Ÿ’˜")) + #(":gift_heart:" 0 1 (:unicode "๐Ÿ’")) + #(":heart_decoration:" 0 1 (:unicode "๐Ÿ’Ÿ")) + #(":purple_heart:" 0 1 (:unicode "๐Ÿ’œ")) + #(":yellow_heart:" 0 1 (:unicode "๐Ÿ’›")) + #(":green_heart:" 0 1 (:unicode "๐Ÿ’š")) + #(":blue_heart:" 0 1 (:unicode "๐Ÿ’™")) + #(":running:" 0 1 (:unicode "๐Ÿƒ")) + #(":walking:" 0 1 (:unicode "๐Ÿšถ")) + #(":dancer:" 0 1 (:unicode "๐Ÿ’ƒ")) + #(":rowboat:" 0 1 (:unicode "๐Ÿšฃ")) + #(":swimmer:" 0 1 (:unicode "๐ŸŠ")) + #(":surfer:" 0 1 (:unicode "๐Ÿ„")) + #(":bath:" 0 1 (:unicode "๐Ÿ›€")) + #(":snowboarder:" 0 1 (:unicode "๐Ÿ‚")) + #(":ski:" 0 1 (:unicode "๐ŸŽฟ")) + #(":snowman:" 0 1 (:unicode "โ›„")) + #("๏ธ:bicyclist:" 0 1 (:unicode "๏ธ๐Ÿšด")) + #(":mountain_bicyclist:" 0 1 (:unicode "๐Ÿšต")) + #(":horse_racing:" 0 1 (:unicode "๐Ÿ‡")) + #(":tent:" 0 1 (:unicode "โ›บ")) + #("๏ธ:fishing_pole_and_fish:" 0 1 (:unicode "๏ธ๐ŸŽฃ")) + #(":soccer:" 0 1 (:unicode "โšฝ")) + #("๏ธ:basketball:" 0 1 (:unicode "๏ธ๐Ÿ€")) + #(":football:" 0 1 (:unicode "๐Ÿˆ")) + #(":baseball:" 0 1 (:unicode "โšพ๏ธ")) + #(":tennis:" 0 1 (:unicode "๐ŸŽพ")) + #(":rugby_football:" 0 1 (:unicode "๐Ÿ‰")) + #(":golf:" 0 1 (:unicode "โ›ณ")) + #("๏ธ:trophy:" 0 1 (:unicode "๏ธ๐Ÿ†")) + #(":running_shirt_with_sash:" 0 1 (:unicode "๐ŸŽฝ")) + #(":checkered_flag:" 0 1 (:unicode "๐Ÿ")) + #(":musical_keyboard:" 0 1 (:unicode "๐ŸŽน")) + #(":guitar:" 0 1 (:unicode "๐ŸŽธ")) + #(":violin:" 0 1 (:unicode "๐ŸŽป")) + #(":saxophone:" 0 1 (:unicode "๐ŸŽท")) + #(":trumpet:" 0 1 (:unicode "๐ŸŽบ")) + #(":musical_note:" 0 1 (:unicode "๐ŸŽต")) + #(":notes:" 0 1 (:unicode "๐ŸŽถ")) + #(":musical_score:" 0 1 (:unicode "๐ŸŽผ")) + #(":headphones:" 0 1 (:unicode "๐ŸŽง")) + #(":microphone:" 0 1 (:unicode "๐ŸŽค")) + #(":performing_arts:" 0 1 (:unicode "๐ŸŽญ")) + #(":ticket:" 0 1 (:unicode "๐ŸŽซ")) + #(":tophat:" 0 1 (:unicode "๐ŸŽฉ")) + #(":circus_tent:" 0 1 (:unicode "๐ŸŽช")) + #(":clapper:" 0 1 (:unicode "๐ŸŽฌ")) + #(":art:" 0 1 (:unicode "๐ŸŽจ")) + #(":dart:" 0 1 (:unicode "๐ŸŽฏ")) + #(":8ball:" 0 1 (:unicode "๐ŸŽฑ")) + #(":bowling:" 0 1 (:unicode "๐ŸŽณ")) + #(":slot_machine:" 0 1 (:unicode "๐ŸŽฐ")) + #(":game_die:" 0 1 (:unicode "๐ŸŽฒ")) + #(":video_game:" 0 1 (:unicode "๐ŸŽฎ")) + #(":flower_playing_cards:" 0 1 (:unicode "๐ŸŽด")) + #(":black_joker:" 0 1 (:unicode "๐Ÿƒ")) + #(":mahjong:" 0 1 (:unicode "๐Ÿ€„")) + #(":carousel_horse:" 0 1 (:unicode "๐ŸŽ ")) + #(":ferris_wheel:" 0 1 (:unicode "๐ŸŽก")) + #(":roller_coaster:" 0 1 (:unicode "๐ŸŽข")) + #(":train:" 0 1 (:unicode "๐Ÿšƒ")) + #(":mountain_railway:" 0 1 (:unicode "๐Ÿšž")) + #(":steam_locomotive:" 0 1 (:unicode "๐Ÿš‚")) + #(":tram:" 0 1 (:unicode "๐Ÿš‹")) + #(":monorail:" 0 1 (:unicode "๐Ÿš")) + #(":bullettrain_side:" 0 1 (:unicode "๐Ÿš„")) + #(":bullettrain_front:" 0 1 (:unicode "๐Ÿš…")) + #(":train2:" 0 1 (:unicode "๐Ÿš†")) + #(":metro:" 0 1 (:unicode "๐Ÿš‡")) + #(":light_rail:" 0 1 (:unicode "๐Ÿšˆ")) + #(":station:" 0 1 (:unicode "๐Ÿš‰")) + #(":tram:" 0 1 (:unicode "๐ŸšŠ")) + #(":bus:" 0 1 (:unicode "๐ŸšŒ")) + #(":oncoming_bus:" 0 1 (:unicode "๐Ÿš")) + #(":trolleybus:" 0 1 (:unicode "๐ŸšŽ")) + #(":minibus:" 0 1 (:unicode "๐Ÿš")) + #(":ambulance:" 0 1 (:unicode "๐Ÿš‘")) + #(":fire_engine:" 0 1 (:unicode "๐Ÿš’")) + #(":police_car:" 0 1 (:unicode "๐Ÿš“")) + #(":oncoming_police_car:" 0 1 (:unicode "๐Ÿš”")) + #(":rotating_light:" 0 1 (:unicode "๐Ÿšจ")) + #(":taxi:" 0 1 (:unicode "๐Ÿš•")) + #(":oncoming_taxi:" 0 1 (:unicode "๐Ÿš–")) + #(":red_car:" 0 1 (:unicode "๐Ÿš—")) + #(":oncoming_automobile:" 0 1 (:unicode "๐Ÿš˜")) + #(":blue_car:" 0 1 (:unicode "๐Ÿš™")) + #(":truck:" 0 1 (:unicode "๐Ÿšš")) + #(":articulated_lorry:" 0 1 (:unicode "๐Ÿš›")) + #(":tractor:" 0 1 (:unicode "๐Ÿšœ")) + #(":bike:" 0 1 (:unicode "๐Ÿšฒ")) + #(":busstop:" 0 1 (:unicode "๐Ÿš")) + #(":fuelpump:" 0 1 (:unicode "โ›ฝ")) + #(":construction:" 0 1 (:unicode "๐Ÿšง")) + #(":vertical_traffic_light:" 0 1 (:unicode "๐Ÿšฆ")) + #(":traffic_light:" 0 1 (:unicode "๐Ÿšฅ")) + #(":rocket:" 0 1 (:unicode "๐Ÿš€")) + #(":helicopter:" 0 1 (:unicode "๐Ÿš")) + #(":airplane:" 0 1 (:unicode "โœˆ๏ธ")) + #(":seat:" 0 1 (:unicode "๐Ÿ’บ")) + #(":anchor:" 0 1 (:unicode "โš“")) + #(":ship:" 0 1 (:unicode "๐Ÿšข")) + #(":speedboat:" 0 1 (:unicode "๐Ÿšค")) + #(":sailboat:" 0 1 (:unicode "โ›ต")) + #(":aerial_tramway:" 0 1 (:unicode "๐Ÿšก")) + #(":mountain_cableway:" 0 1 (:unicode "๐Ÿš ")) + #(":suspension_railway:" 0 1 (:unicode "๐ŸšŸ")) + #(":passport_control:" 0 1 (:unicode "๐Ÿ›‚")) + #(":customs:" 0 1 (:unicode "๐Ÿ›ƒ")) + #(":baggage_claim:" 0 1 (:unicode "๐Ÿ›„")) + #(":left_luggage:" 0 1 (:unicode "๐Ÿ›…")) + #(":yen:" 0 1 (:unicode "๐Ÿ’ด")) + #(":euro:" 0 1 (:unicode "๐Ÿ’ถ")) + #(":pound:" 0 1 (:unicode "๐Ÿ’ท")) + #(":dollar:" 0 1 (:unicode "๐Ÿ’ต")) + #(":statue_of_liberty:" 0 1 (:unicode "๐Ÿ—ฝ")) + #(":moyai:" 0 1 (:unicode "๐Ÿ—ฟ")) + #(":foggy:" 0 1 (:unicode "๐ŸŒ")) + #(":tokyo_tower:" 0 1 (:unicode "๐Ÿ—ผ")) + #(":fountain:" 0 1 (:unicode "โ›ฒ")) + #(":european_castle:" 0 1 (:unicode "๐Ÿฐ")) + #(":japanese_castle:" 0 1 (:unicode "๐Ÿฏ")) + #(":city_sunrise:" 0 1 (:unicode "๐ŸŒ‡")) + #(":city_sunset:" 0 1 (:unicode "๐ŸŒ†")) + #(":stars:" 0 1 (:unicode "๐ŸŒƒ")) + #(":bridge_at_night:" 0 1 (:unicode "๐ŸŒ‰")) + #(":house:" 0 1 (:unicode "๐Ÿ ")) + #(":house_with_garden:" 0 1 (:unicode "๐Ÿก")) + #(":office:" 0 1 (:unicode "๐Ÿข")) + #(":department_store:" 0 1 (:unicode "๐Ÿฌ")) + #(":factory:" 0 1 (:unicode "๐Ÿญ")) + #(":post_office:" 0 1 (:unicode "๐Ÿฃ")) + #(":european_post_office:" 0 1 (:unicode "๐Ÿค")) + #(":hospital:" 0 1 (:unicode "๐Ÿฅ")) + #(":bank:" 0 1 (:unicode "๐Ÿฆ")) + #(":hotel:" 0 1 (:unicode "๐Ÿจ")) + #(":love_hotel:" 0 1 (:unicode "๐Ÿฉ")) + #(":wedding:" 0 1 (:unicode "๐Ÿ’’")) + #(":church:" 0 1 (:unicode "โ›ช")) + #(":convenience_store:" 0 1 (:unicode "๐Ÿช")) + #(":school:" 0 1 (:unicode "๐Ÿซ")) + #(":flag-au:" 0 1 (:unicode "๐Ÿ‡ฆ๐Ÿ‡บ")) + #(":flag-at:" 0 1 (:unicode "๐Ÿ‡ฆ๐Ÿ‡น")) + #(":flag-be:" 0 1 (:unicode "๐Ÿ‡ง๐Ÿ‡ช")) + #(":flag-br:" 0 1 (:unicode "๐Ÿ‡ง๐Ÿ‡ท")) + #(":flag-ca:" 0 1 (:unicode "๐Ÿ‡จ๐Ÿ‡ฆ")) + #(":flag-cl:" 0 1 (:unicode "๐Ÿ‡จ๐Ÿ‡ฑ")) + #(":flag-cn:" 0 1 (:unicode "๐Ÿ‡จ๐Ÿ‡ณ")) + #(":flag-co:" 0 1 (:unicode "๐Ÿ‡จ๐Ÿ‡ด")) + #(":flag-dk:" 0 1 (:unicode "๐Ÿ‡ฉ๐Ÿ‡ฐ")) + #(":flag-fi:" 0 1 (:unicode "๐Ÿ‡ซ๐Ÿ‡ฎ")) + #(":flag-fr:" 0 1 (:unicode "๐Ÿ‡ซ๐Ÿ‡ท")) + #(":flag-de:" 0 1 (:unicode "๐Ÿ‡ฉ๐Ÿ‡ช")) + #(":flag-hk:" 0 1 (:unicode "๐Ÿ‡ญ๐Ÿ‡ฐ")) + #(":flag-in:" 0 1 (:unicode "๐Ÿ‡ฎ๐Ÿ‡ณ")) + #(":flag-id:" 0 1 (:unicode "๐Ÿ‡ฎ๐Ÿ‡ฉ")) + #(":flag-ie:" 0 1 (:unicode "๐Ÿ‡ฎ๐Ÿ‡ช")) + #(":flag-il:" 0 1 (:unicode "๐Ÿ‡ฎ๐Ÿ‡ฑ")) + #(":flag-it:" 0 1 (:unicode "๐Ÿ‡ฎ๐Ÿ‡น")) + #(":flag-jp:" 0 1 (:unicode "๐Ÿ‡ฏ๐Ÿ‡ต")) + #(":flag-kr:" 0 1 (:unicode "๐Ÿ‡ฐ๐Ÿ‡ท")) + #(":flag-mo:" 0 1 (:unicode "๐Ÿ‡ฒ๐Ÿ‡ด")) + #(":flag-my:" 0 1 (:unicode "๐Ÿ‡ฒ๐Ÿ‡พ")) + #(":flag-mx:" 0 1 (:unicode "๐Ÿ‡ฒ๐Ÿ‡ฝ")) + #(":flag-nl:" 0 1 (:unicode "๐Ÿ‡ณ๐Ÿ‡ฑ")) + #(":flag-nz:" 0 1 (:unicode "๐Ÿ‡ณ๐Ÿ‡ฟ")) + #(":flag-no:" 0 1 (:unicode "๐Ÿ‡ณ๐Ÿ‡ด")) + #(":flag-ph:" 0 1 (:unicode "๐Ÿ‡ต๐Ÿ‡ญ")) + #(":flag-pl:" 0 1 (:unicode "๐Ÿ‡ต๐Ÿ‡ฑ")) + #(":flag-pt:" 0 1 (:unicode "๐Ÿ‡ต๐Ÿ‡น")) + #(":flag-pr:" 0 1 (:unicode "๐Ÿ‡ต๐Ÿ‡ท")) + #(":flag-ru:" 0 1 (:unicode "๐Ÿ‡ท๐Ÿ‡บ")) + #(":flag-sa:" 0 1 (:unicode "๐Ÿ‡ธ๐Ÿ‡ฆ")) + #(":flag-sg:" 0 1 (:unicode "๐Ÿ‡ธ๐Ÿ‡ฌ")) + #(":flag-za:" 0 1 (:unicode "๐Ÿ‡ฟ๐Ÿ‡ฆ")) + #(":flag-es:" 0 1 (:unicode "๐Ÿ‡ช๐Ÿ‡ธ")) + #(":flag-se:" 0 1 (:unicode "๐Ÿ‡ธ๐Ÿ‡ช")) + #(":flag-ch:" 0 1 (:unicode "๐Ÿ‡จ๐Ÿ‡ญ")) + #(":flag-tr:" 0 1 (:unicode "๐Ÿ‡น๐Ÿ‡ท")) + #(":flag-gb:" 0 1 (:unicode "๐Ÿ‡ฌ๐Ÿ‡ง")) + #(":flag-us:" 0 1 (:unicode "๐Ÿ‡บ๐Ÿ‡ธ")) + #(":flag-ae:" 0 1 (:unicode "๐Ÿ‡ฆ๐Ÿ‡ช")) + #(":flag-vn:" 0 1 (:unicode "๐Ÿ‡ป๐Ÿ‡ณ")) + #(":watch:" 0 1 (:unicode "โŒš")) + #(":iphone:" 0 1 (:unicode "๐Ÿ“ฑ")) + #(":calling:" 0 1 (:unicode "๐Ÿ“ฒ")) + #(":computer:" 0 1 (:unicode "๐Ÿ’ป")) + #(":alarm_clock:" 0 1 (:unicode "โฐ")) + #(":hourglass_flowing_sand:" 0 1 (:unicode "โณ")) + #(":hourglass:" 0 1 (:unicode "โŒ›")) + #(":camera:" 0 1 (:unicode "๐Ÿ“ท")) + #(":video_camera:" 0 1 (:unicode "๐Ÿ“น")) + #(":movie_camera:" 0 1 (:unicode "๐ŸŽฅ")) + #(":tv:" 0 1 (:unicode "๐Ÿ“บ")) + #(":radio:" 0 1 (:unicode "๐Ÿ“ป")) + #(":pager:" 0 1 (:unicode "๐Ÿ“Ÿ")) + #(":telephone_receiver:" 0 1 (:unicode "๐Ÿ“ž")) + #(":telephone:" 0 1 (:unicode "โ˜Ž๏ธ")) + #(":fax:" 0 1 (:unicode "๐Ÿ“ ")) + #(":minidisc:" 0 1 (:unicode "๐Ÿ’ฝ")) + #(":floppy_disk:" 0 1 (:unicode "๐Ÿ’พ")) + #(":cd:" 0 1 (:unicode "๐Ÿ’ฟ")) + #(":dvd:" 0 1 (:unicode "๐Ÿ“€")) + #(":vhs:" 0 1 (:unicode "๐Ÿ“ผ")) + #(":battery:" 0 1 (:unicode "๐Ÿ”‹")) + #(":electric_plug:" 0 1 (:unicode "๐Ÿ”Œ")) + #(":bulb:" 0 1 (:unicode "๐Ÿ’ก")) + #(":flashlight:" 0 1 (:unicode "๐Ÿ”ฆ")) + #(":satellite:" 0 1 (:unicode "๐Ÿ“ก")) + #(":credit_card:" 0 1 (:unicode "๐Ÿ’ณ")) + #(":money_with_wings:" 0 1 (:unicode "๐Ÿ’ธ")) + #(":moneybag:" 0 1 (:unicode "๐Ÿ’ฐ")) + #(":gem:" 0 1 (:unicode "๐Ÿ’Ž")) + #(":closed_umbrella:" 0 1 (:unicode "๐ŸŒ‚")) + #(":pouch:" 0 1 (:unicode "๐Ÿ‘")) + #(":purse:" 0 1 (:unicode "๐Ÿ‘›")) + #(":handbag:" 0 1 (:unicode "๐Ÿ‘œ")) + #(":briefcase:" 0 1 (:unicode "๐Ÿ’ผ")) + #(":school_satchel:" 0 1 (:unicode "๐ŸŽ’")) + #(":lipstick:" 0 1 (:unicode "๐Ÿ’„")) + #(":eyeglasses:" 0 1 (:unicode "๐Ÿ‘“")) + #(":womans_hat:" 0 1 (:unicode "๐Ÿ‘’")) + #(":sandal:" 0 1 (:unicode "๐Ÿ‘ก")) + #(":high_heel:" 0 1 (:unicode "๐Ÿ‘ ")) + #(":boot:" 0 1 (:unicode "๐Ÿ‘ข")) + #(":shoe:" 0 1 (:unicode "๐Ÿ‘ž")) + #(":athletic_shoe:" 0 1 (:unicode "๐Ÿ‘Ÿ")) + #(":bikini:" 0 1 (:unicode "๐Ÿ‘™")) + #(":dress:" 0 1 (:unicode "๐Ÿ‘—")) + #(":kimono:" 0 1 (:unicode "๐Ÿ‘˜")) + #(":womans_clothes:" 0 1 (:unicode "๐Ÿ‘š")) + #(":tshirt:" 0 1 (:unicode "๐Ÿ‘•")) + #(":necktie:" 0 1 (:unicode "๐Ÿ‘”")) + #(":jeans:" 0 1 (:unicode "๐Ÿ‘–")) + #(":door:" 0 1 (:unicode "๐Ÿšช")) + #(":shower:" 0 1 (:unicode "๐Ÿšฟ")) + #(":bathtub:" 0 1 (:unicode "๐Ÿ›")) + #(":toilet:" 0 1 (:unicode "๐Ÿšฝ")) + #(":barber:" 0 1 (:unicode "๐Ÿ’ˆ")) + #(":syringe:" 0 1 (:unicode "๐Ÿ’‰")) + #(":pill:" 0 1 (:unicode "๐Ÿ’Š")) + #(":microscope:" 0 1 (:unicode "๐Ÿ”ฌ")) + #(":telescope:" 0 1 (:unicode "๐Ÿ”ญ")) + #(":crystal_ball:" 0 1 (:unicode "๐Ÿ”ฎ")) + #(":wrench:" 0 1 (:unicode "๐Ÿ”ง")) + #(":hocho:" 0 1 (:unicode "๐Ÿ”ช")) + #(":nut_and_bolt:" 0 1 (:unicode "๐Ÿ”ฉ")) + #(":hammer:" 0 1 (:unicode "๐Ÿ”จ")) + #(":bomb:" 0 1 (:unicode "๐Ÿ’ฃ")) + #(":smoking:" 0 1 (:unicode "๐Ÿšฌ")) + #(":gun:" 0 1 (:unicode "๐Ÿ”ซ")) + #(":bookmark:" 0 1 (:unicode "๐Ÿ”–")) + #(":newspaper:" 0 1 (:unicode "๐Ÿ“ฐ")) + #(":key:" 0 1 (:unicode "๐Ÿ”‘")) + #(":envelope:" 0 1 (:unicode "โœ‰๏ธ")) + #(":envelope_with_arrow:" 0 1 (:unicode "๐Ÿ“ฉ")) + #(":incoming_envelope:" 0 1 (:unicode "๐Ÿ“จ")) + #(":e-mail:" 0 1 (:unicode "๐Ÿ“ง")) + #(":inbox_tray:" 0 1 (:unicode "๐Ÿ“ฅ")) + #(":outbox_tray:" 0 1 (:unicode "๐Ÿ“ค")) + #(":package:" 0 1 (:unicode "๐Ÿ“ฆ")) + #(":postal_horn:" 0 1 (:unicode "๐Ÿ“ฏ")) + #(":postbox:" 0 1 (:unicode "๐Ÿ“ฎ")) + #(":mailbox_closed:" 0 1 (:unicode "๐Ÿ“ช")) + #(":mailbox:" 0 1 (:unicode "๐Ÿ“ซ")) + #(":mailbox_with_mail:" 0 1 (:unicode "๐Ÿ“ฌ")) + #(":mailbox_with_no_mail:" 0 1 (:unicode "๐Ÿ“ญ")) + #(":page_facing_up:" 0 1 (:unicode "๐Ÿ“„")) + #(":page_with_curl:" 0 1 (:unicode "๐Ÿ“ƒ")) + #(":bookmark_tabs:" 0 1 (:unicode "๐Ÿ“‘")) + #(":chart_with_upwards_trend:" 0 1 (:unicode "๐Ÿ“ˆ")) + #(":chart_with_downwards_trend:" 0 1 (:unicode "๐Ÿ“‰")) + #(":bar_chart:" 0 1 (:unicode "๐Ÿ“Š")) + #(":date:" 0 1 (:unicode "๐Ÿ“…")) + #(":calendar:" 0 1 (:unicode "๐Ÿ“†")) + #(":low_brightness:" 0 1 (:unicode "๐Ÿ”…")) + #(":high_brightness:" 0 1 (:unicode "๐Ÿ”†")) + #(":scroll:" 0 1 (:unicode "๐Ÿ“œ")) + #(":clipboard:" 0 1 (:unicode "๐Ÿ“‹")) + #(":open_book:" 0 1 (:unicode "๐Ÿ“–")) + #(":notebook:" 0 1 (:unicode "๐Ÿ““")) + #(":notebook_with_decorative_cover:" 0 1 (:unicode "๐Ÿ“”")) + #(":ledger:" 0 1 (:unicode "๐Ÿ“’")) + #(":closed_book:" 0 1 (:unicode "๐Ÿ“•")) + #(":green_book:" 0 1 (:unicode "๐Ÿ“—")) + #(":blue_book:" 0 1 (:unicode "๐Ÿ“˜")) + #(":orange_book:" 0 1 (:unicode "๐Ÿ“™")) + #(":books:" 0 1 (:unicode "๐Ÿ“š")) + #(":card_index:" 0 1 (:unicode "๐Ÿ“‡")) + #(":link:" 0 1 (:unicode "๐Ÿ”—")) + #(":paperclip:" 0 1 (:unicode "๐Ÿ“Ž")) + #(":pushpin:" 0 1 (:unicode "๐Ÿ“Œ")) + #(":scissors:" 0 1 (:unicode "โœ‚๏ธ")) + #(":triangular_ruler:" 0 1 (:unicode "๐Ÿ“")) + #(":round_pushpin:" 0 1 (:unicode "๐Ÿ“")) + #(":straight_ruler:" 0 1 (:unicode "๐Ÿ“")) + #(":triangular_flag_on_post:" 0 1 (:unicode "๐Ÿšฉ")) + #(":file_folder:" 0 1 (:unicode "๐Ÿ“")) + #(":open_file_folder:" 0 1 (:unicode "๐Ÿ“‚")) + #(":black_nib:" 0 1 (:unicode "โœ’๏ธ")) + #(":pencil2:" 0 1 (:unicode "โœ๏ธ")) + #(":pencil:" 0 1 (:unicode "๐Ÿ“")) + #(":lock_with_ink_pen:" 0 1 (:unicode "๐Ÿ”")) + #(":closed_lock_with_key:" 0 1 (:unicode "๐Ÿ”")) + #(":lock:" 0 1 (:unicode "๐Ÿ”’")) + #(":unlock:" 0 1 (:unicode "๐Ÿ”“")) + #(":mega:" 0 1 (:unicode "๐Ÿ“ฃ")) + #(":loudspeaker:" 0 1 (:unicode "๐Ÿ“ข")) + #(":speakers:" 0 1 (:unicode "๐Ÿ”ˆ")) + #(":quiet_speakers:" 0 1 (:unicode "๐Ÿ”‰")) + #(":loud_speakers:" 0 1 (:unicode "๐Ÿ”Š")) + #(":mute:" 0 1 (:unicode "๐Ÿ”‡")) + #(":zzz:" 0 1 (:unicode "๐Ÿ’ค")) + #(":bell:" 0 1 (:unicode "๐Ÿ””")) + #(":no_bell:" 0 1 (:unicode "๐Ÿ”•")) + #(":thought_balloon:" 0 1 (:unicode "๐Ÿ’ญ")) + #(":speech_balloon:" 0 1 (:unicode "๐Ÿ’ฌ")) + #(":children_crossing:" 0 1 (:unicode "๐Ÿšธ")) + #(":mag:" 0 1 (:unicode "๐Ÿ”")) + #(":mag_right:" 0 1 (:unicode "๐Ÿ”Ž")) + #(":no_entry_sign:" 0 1 (:unicode "๐Ÿšซ")) + #(":no_entry:" 0 1 (:unicode "โ›”")) + #(":name_badge:" 0 1 (:unicode "๐Ÿ“›")) + #(":no_pedestrians:" 0 1 (:unicode "๐Ÿšท")) + #(":do_not_litter:" 0 1 (:unicode "๐Ÿšฏ")) + #(":no_bicycles:" 0 1 (:unicode "๐Ÿšณ")) + #(":non-potable_water:" 0 1 (:unicode "๐Ÿšฑ")) + #(":no_mobile_phones:" 0 1 (:unicode "๐Ÿ“ต")) + #(":underage:" 0 1 (:unicode "๐Ÿ”ž")) + #(":accept:" 0 1 (:unicode "๐Ÿ‰‘")) + #(":ideograph_advantage:" 0 1 (:unicode "๐Ÿ‰")) + #(":white_flower:" 0 1 (:unicode "๐Ÿ’ฎ")) + #(":secret:" 0 1 (:unicode "ใŠ™๏ธ")) + #(":congratulations:" 0 1 (:unicode "ใŠ—๏ธ")) + #(":u5408:" 0 1 (:unicode "๐Ÿˆด")) + #(":u6e80:" 0 1 (:unicode "๐Ÿˆต")) + #(":u7981:" 0 1 (:unicode "๐Ÿˆฒ")) + #(":u6709:" 0 1 (:unicode "๐Ÿˆถ")) + #(":u7121:" 0 1 (:unicode "๐Ÿˆš")) + #(":u7533:" 0 1 (:unicode "๐Ÿˆธ")) + #(":u55b6:" 0 1 (:unicode "๐Ÿˆบ")) + #(":u6708:" 0 1 (:unicode "๐Ÿˆท")) + #(":u5272:" 0 1 (:unicode "๐Ÿˆน")) + #(":u7a7a:" 0 1 (:unicode "๐Ÿˆณ")) + #(":sa:" 0 1 (:unicode "๐Ÿˆ‚")) + #(":koko:" 0 1 (:unicode "๐Ÿˆ")) + #(":u6307:" 0 1 (:unicode "๐Ÿˆฏ")) + #(":chart:" 0 1 (:unicode "๐Ÿ’น")) + #(":sparkle:" 0 1 (:unicode "โ‡๏ธ")) + #(":eight_spoked_asterisk:" 0 1 (:unicode "โœณ๏ธ")) + #(":negative_squared_cross_mark:" 0 1 (:unicode "โŽ")) + #(":white_check_mark:" 0 1 (:unicode "โœ…")) + #(":eight_pointed_black_star:" 0 1 (:unicode "โœด๏ธ")) + #(":vibration_mode:" 0 1 (:unicode "๐Ÿ“ณ")) + #(":mobile_phone_off:" 0 1 (:unicode "๐Ÿ“ด")) + #(":vs:" 0 1 (:unicode "๐Ÿ†š")) + #(":a:" 0 1 (:unicode "๐Ÿ…ฐ")) + #(":b:" 0 1 (:unicode "๐Ÿ…ฑ")) + #(":ab:" 0 1 (:unicode "๐Ÿ†Ž")) + #(":cl:" 0 1 (:unicode "๐Ÿ†‘")) + #(":o2:" 0 1 (:unicode "๐Ÿ…พ")) + #(":sos:" 0 1 (:unicode "๐Ÿ†˜")) + #(":id:" 0 1 (:unicode "๐Ÿ†”")) + #(":parking:" 0 1 (:unicode "๐Ÿ…ฟ")) + #(":wc:" 0 1 (:unicode "๐Ÿšพ")) + #(":cool:" 0 1 (:unicode "๐Ÿ†’")) + #(":free:" 0 1 (:unicode "๐Ÿ†“")) + #(":new:" 0 1 (:unicode "๐Ÿ†•")) + #(":ng:" 0 1 (:unicode "๐Ÿ†–")) + #(":ok:" 0 1 (:unicode "๐Ÿ†—")) + #(":up:" 0 1 (:unicode "๐Ÿ†™")) + #(":atm:" 0 1 (:unicode "๐Ÿง")) + #(":aries:" 0 1 (:unicode "โ™ˆ")) + #(":taurus:" 0 1 (:unicode "โ™‰")) + #(":gemini:" 0 1 (:unicode "โ™Š")) + #(":cancer:" 0 1 (:unicode "โ™‹")) + #(":leo:" 0 1 (:unicode "โ™Œ")) + #(":virgo:" 0 1 (:unicode "โ™")) + #(":libra:" 0 1 (:unicode "โ™Ž")) + #(":scorpius:" 0 1 (:unicode "โ™")) + #(":sagittarius:" 0 1 (:unicode "โ™")) + #(":capricorn:" 0 1 (:unicode "โ™‘")) + #(":aquarius:" 0 1 (:unicode "โ™’")) + #(":pisces:" 0 1 (:unicode "โ™“")) + #(":restroom:" 0 1 (:unicode "๐Ÿšป")) + #(":mens:" 0 1 (:unicode "๐Ÿšน")) + #(":womens:" 0 1 (:unicode "๐Ÿšบ")) + #(":baby_symbol:" 0 1 (:unicode "๐Ÿšผ")) + #(":wheelchair:" 0 1 (:unicode "โ™ฟ")) + #(":potable_water:" 0 1 (:unicode "๐Ÿšฐ")) + #(":no_smoking:" 0 1 (:unicode "๐Ÿšญ")) + #(":put_litter_in_its_place:" 0 1 (:unicode "๐Ÿšฎ")) + #(":arrow_forward:" 0 1 (:unicode "โ–ถ๏ธ")) + #(":arrow_backward:" 0 1 (:unicode "โ—€๏ธ")) + #(":arrow_up_small:" 0 1 (:unicode "๐Ÿ”ผ")) + #(":arrow_down_small:" 0 1 (:unicode "๐Ÿ”ฝ")) + #(":fast_forward:" 0 1 (:unicode "โฉ")) + #(":rewind:" 0 1 (:unicode "โช")) + #(":arrow_double_up:" 0 1 (:unicode "โซ")) + #(":arrow_double_down:" 0 1 (:unicode "โฌ")) + #(":arrow_right:" 0 1 (:unicode "โžก๏ธ")) + #(":arrow_left:" 0 1 (:unicode "โฌ…๏ธ")) + #(":arrow_up:" 0 1 (:unicode "โฌ†๏ธ")) + #(":arrow_down:" 0 1 (:unicode "โฌ‡๏ธ")) + #(":arrow_upper_right:" 0 1 (:unicode "โ†—๏ธ")) + #(":arrow_lower_right:" 0 1 (:unicode "โ†˜๏ธ")) + #(":arrow_lower_left:" 0 1 (:unicode "โ†™๏ธ")) + #(":arrow_upper_left:" 0 1 (:unicode "โ†–๏ธ")) + #(":arrow_up_down:" 0 1 (:unicode "โ†•๏ธ")) + #(":left_right_arrow:" 0 1 (:unicode "โ†”๏ธ")) + #(":arrows_counterclockwise:" 0 1 (:unicode "๐Ÿ”„")) + #(":arrow_right_hook:" 0 1 (:unicode "โ†ช๏ธ")) + #(":leftwards_arrow_with_hook:" 0 1 (:unicode "โ†ฉ๏ธ")) + #(":arrow_heading_up:" 0 1 (:unicode "โคด๏ธ")) + #(":arrow_heading_down:" 0 1 (:unicode "โคต๏ธ")) + #(":twisted_rightwards_arrows:" 0 1 (:unicode "๐Ÿ”€")) + #(":repeat:" 0 1 (:unicode "๐Ÿ”")) + #(":repeat_one:" 0 1 (:unicode "๐Ÿ”‚")) + #(":hashtag:" 0 1 (:unicode "#๏ธโƒฃ")) + #(":keycap_zero:" 0 1 (:unicode "0๏ธโƒฃ")) + #(":keycap_one:" 0 1 (:unicode "1๏ธโƒฃ")) + #(":keycap_two:" 0 1 (:unicode "2๏ธโƒฃ")) + #(":keycap_three:" 0 1 (:unicode "3๏ธโƒฃ")) + #(":keycap_four:" 0 1 (:unicode "4๏ธโƒฃ")) + #(":keycap_five:" 0 1 (:unicode "5๏ธโƒฃ")) + #(":keycap_six:" 0 1 (:unicode "6๏ธโƒฃ")) + #(":keycap_seven:" 0 1 (:unicode "7๏ธโƒฃ")) + #(":keycap_eight:" 0 1 (:unicode "8๏ธโƒฃ")) + #(":keycap_nine:" 0 1 (:unicode "9๏ธโƒฃ")) + #(":keycap_ten:" 0 1 (:unicode "๐Ÿ”Ÿ")) + #(":1234:" 0 1 (:unicode "๐Ÿ”ข")) + #(":abc:" 0 1 (:unicode "๐Ÿ”ค")) + #(":abcd:" 0 1 (:unicode "๐Ÿ”ก")) + #(":capital_abcd:" 0 1 (:unicode "๐Ÿ” ")) + #(":information_source:" 0 1 (:unicode "โ„น๏ธ")) + #(":signal_strength:" 0 1 (:unicode "๐Ÿ“ถ")) + #(":cinema:" 0 1 (:unicode "๐ŸŽฆ")) + #(":symbols:" 0 1 (:unicode "๐Ÿ”ฃ")) + #(":heavy_plus_sign:" 0 1 (:unicode "โž•")) + #(":heavy_minus_sign:" 0 1 (:unicode "โž–")) + #(":wavy_dash:" 0 1 (:unicode "ใ€ฐ")) + #(":heavy_division_sign:" 0 1 (:unicode "โž—")) + #(":heavy_multiplication_x:" 0 1 (:unicode "โœ–๏ธ")) + #(":heavy_check_mark:" 0 1 (:unicode "โœ”๏ธ")) + #(":arrows_clockwise:" 0 1 (:unicode "๐Ÿ”ƒ")) + #(":trademark:" 0 1 (:unicode "โ„ข")) + #(":copyright:" 0 1 (:unicode "ยฉ")) + #(":registered:" 0 1 (:unicode "ยฎ")) + #(":currency_exchange:" 0 1 (:unicode "๐Ÿ’ฑ")) + #(":heavy_dollar_sign:" 0 1 (:unicode "๐Ÿ’ฒ")) + #(":curly_loop:" 0 1 (:unicode "โžฐ")) + #(":loop:" 0 1 (:unicode "โžฟ")) + #(":part_alternation_mark:" 0 1 (:unicode "ใ€ฝ๏ธ")) + #(":heavy_exclamation_mark:" 0 1 (:unicode "โ—")) + #(":question:" 0 1 (:unicode "โ“")) + #(":grey_exclamation:" 0 1 (:unicode "โ•")) + #(":grey_question:" 0 1 (:unicode "โ”")) + #(":double_exclamation_mark:" 0 1 (:unicode "โ€ผ๏ธ")) + #(":interrobang:" 0 1 (:unicode "โ‰๏ธ")) + #("๏ธ:x:" 0 1 (:unicode "๏ธโŒ")) + #(":o:" 0 1 (:unicode "โญ•")) + #(":100:" 0 1 (:unicode "๐Ÿ’ฏ")) + #(":end:" 0 1 (:unicode "๐Ÿ”š")) + #(":back:" 0 1 (:unicode "๐Ÿ”™")) + #(":on:" 0 1 (:unicode "๐Ÿ”›")) + #(":top:" 0 1 (:unicode "๐Ÿ”")) + #(":soon:" 0 1 (:unicode "๐Ÿ”œ")) + #(":cyclone:" 0 1 (:unicode "๐ŸŒ€")) + #(":m:" 0 1 (:unicode "โ“‚๏ธ")) + #(":ophiuchus:" 0 1 (:unicode "โ›Ž")) + #(":six_pointed_star:" 0 1 (:unicode "๐Ÿ”ฏ")) + #(":beginner:" 0 1 (:unicode "๐Ÿ”ฐ")) + #(":trident:" 0 1 (:unicode "๐Ÿ”ฑ")) + #(":warning:" 0 1 (:unicode "โš ๏ธ")) + #(":hotsprings:" 0 1 (:unicode "โ™จ๏ธ")) + #(":recycle:" 0 1 (:unicode "โ™ป๏ธ")) + #(":anger:" 0 1 (:unicode "๐Ÿ’ข")) + #(":diamond_shape_with_a_dot_inside:" 0 1 (:unicode "๐Ÿ’ ")) + #(":spades:" 0 1 (:unicode "โ™ ๏ธ")) + #(":clubs:" 0 1 (:unicode "โ™ฃ๏ธ")) + #(":hearts:" 0 1 (:unicode "โ™ฅ๏ธ")) + #(":diamonds:" 0 1 (:unicode "โ™ฆ๏ธ")) + #(":ballot_box_with_check:" 0 1 (:unicode "โ˜‘๏ธ")) + #(":white_circle:" 0 1 (:unicode "โšช")) + #(":black_circle:" 0 1 (:unicode "โšซ")) + #(":radio_button:" 0 1 (:unicode "๐Ÿ”˜")) + #(":red_circle:" 0 1 (:unicode "๐Ÿ”ด")) + #(":large_blue_circle:" 0 1 (:unicode "๐Ÿ”ต")) + #(":small_red_triangle:" 0 1 (:unicode "๐Ÿ”บ")) + #(":small_red_triangle_down:" 0 1 (:unicode "๐Ÿ”ป")) + #(":small_orange_diamond:" 0 1 (:unicode "๐Ÿ”ธ")) + #(":small_blue_diamond:" 0 1 (:unicode "๐Ÿ”น")) + #(":large_orange_diamond:" 0 1 (:unicode "๐Ÿ”ถ")) + #(":large_blue_diamond:" 0 1 (:unicode "๐Ÿ”ท")) + #(":black_small_square:" 0 1 (:unicode "โ–ช๏ธ")) + #(":white_small_square:" 0 1 (:unicode "โ–ซ๏ธ")) + #(":black_large_square:" 0 1 (:unicode "โฌ›๏ธ")) + #(":white_large_square:" 0 1 (:unicode "โฌœ๏ธ")) + #(":black_medium_square:" 0 1 (:unicode "โ—ผ๏ธ")) + #(":white_medium_square:" 0 1 (:unicode "โ—ป๏ธ")) + #(":black_medium_small_square:" 0 1 (:unicode "โ—พ๏ธ")) + #(":white_medium_small_square:" 0 1 (:unicode "โ—ฝ๏ธ")) + #(":black_square_button:" 0 1 (:unicode "๐Ÿ”ฒ")) + #(":white_square_button:" 0 1 (:unicode "๐Ÿ”ณ")) + #(":clock1:" 0 1 (:unicode "๐Ÿ•")) + #(":clock2:" 0 1 (:unicode "๐Ÿ•‘")) + #(":clock3:" 0 1 (:unicode "๐Ÿ•’")) + #(":clock4:" 0 1 (:unicode "๐Ÿ•“")) + #(":clock5:" 0 1 (:unicode "๐Ÿ•”")) + #(":clock6:" 0 1 (:unicode "๐Ÿ••")) + #(":clock7:" 0 1 (:unicode "๐Ÿ•–")) + #(":clock8:" 0 1 (:unicode "๐Ÿ•—")) + #(":clock9:" 0 1 (:unicode "๐Ÿ•˜")) + #(":clock10:" 0 1 (:unicode "๐Ÿ•™")) + #(":clock11:" 0 1 (:unicode "๐Ÿ•š")) + #(":clock12:" 0 1 (:unicode "๐Ÿ•›")) + #(":clock130:" 0 1 (:unicode "๐Ÿ•œ")) + #(":clock230:" 0 1 (:unicode "๐Ÿ•")) + #(":clock330:" 0 1 (:unicode "๐Ÿ•ž")) + #(":clock430:" 0 1 (:unicode "๐Ÿ•Ÿ")) + #(":clock530:" 0 1 (:unicode "๐Ÿ• ")) + #(":clock630:" 0 1 (:unicode "๐Ÿ•ก")) + #(":clock730:" 0 1 (:unicode "๐Ÿ•ข")) + #(":clock830:" 0 1 (:unicode "๐Ÿ•ฃ")) + #(":clock930:" 0 1 (:unicode "๐Ÿ•ค")) + #(":clock1030:" 0 1 (:unicode "๐Ÿ•ฅ")) + #(":clock1130:" 0 1 (:unicode "๐Ÿ•ฆ")) + #(":clock1230:" 0 1 (:unicode "๐Ÿ•ง")) + #(":skin-tone-1:" 0 1 (:unicode "๐Ÿฟ")) + #(":skin-tone-2:" 0 1 (:unicode "๐Ÿพ")) + #(":skin-tone-3:" 0 1 (:unicode "๐Ÿฝ")) + #(":skin-tone-4:" 0 1 (:unicode "๐Ÿผ")) + #(":skin-tone-5:" 0 1 (:unicode "๐Ÿป")) + #(":slightly-smiling-face:" 0 1 (:unicode "๐Ÿ™‚")) + #(":hugging-face:" 0 1 (:unicode "๐Ÿค—")) + #(":thinking-face:" 0 1 (:unicode "๐Ÿค”")) + #(":face-with-rolling-eyes:" 0 1 (:unicode "๐Ÿ™„")) + #(":zipper-mouth-face:" 0 1 (:unicode "๐Ÿค")) + #(":nerd-face:" 0 1 (:unicode "๐Ÿค“")) + #(":white-frowning-face:" 0 1 (:unicode "โ˜น๏ธ")) + #(":slightly-frowning-face:" 0 1 (:unicode "๐Ÿ™")) + #(":upside-down-face:" 0 1 (:unicode "๐Ÿ™ƒ")) + #(":face-with-thermometer:" 0 1 (:unicode "๐Ÿค’")) + #(":face-with-head-bandage:" 0 1 (:unicode "๐Ÿค•")) + #(":money-mouth-face:" 0 1 (:unicode "๐Ÿค‘")) + #(":helmet-with-white-cross:" 0 1 (:unicode "โ›‘")) + #(":sleuth-or-spy:" 0 1 (:unicode "๐Ÿ•ต")) + #(":speaking-head-in-silhouette:" 0 1 (:unicode "๐Ÿ—ฃ")) + #(":man-in-business-suit-levitating:" 0 1 (:unicode "๐Ÿ•ด")) + #(":reversed-hand-with-middle-finger-extended:" 0 1 (:unicode "๐Ÿ–•")) + #(":sign-of-the-horns:" 0 1 (:unicode "๐Ÿค˜")) + #(":raised-hand-with-fingers-splayed:" 0 1 (:unicode "๐Ÿ–")) + #(":writing-hand:" 0 1 (:unicode "โœ")) + #(":eye:" 0 1 (:unicode "๐Ÿ‘")) + #(":heavy-heart-exclamation-mark-ornament:" 0 1 (:unicode "โฃ")) + #(":hole:" 0 1 (:unicode "๐Ÿ•ณ")) + #(":right-anger-bubble:" 0 1 (:unicode "๐Ÿ—ฏ")) + #(":dark-sunglasses:" 0 1 (:unicode "๐Ÿ•ถ")) + #(":shopping-bags:" 0 1 (:unicode "๐Ÿ›")) + #(":prayer-beads:" 0 1 (:unicode "๐Ÿ“ฟ")) + #(":skull-and-crossbones:" 0 1 (:unicode "โ˜ ")) + #(":robot-face:" 0 1 (:unicode "๐Ÿค–")) + #(":lion-face:" 0 1 (:unicode "๐Ÿฆ")) + #(":unicorn-face:" 0 1 (:unicode "๐Ÿฆ„")) + #(":chipmunk:" 0 1 (:unicode "๐Ÿฟ")) + #(":turkey:" 0 1 (:unicode "๐Ÿฆƒ")) + #(":dove-of-peace:" 0 1 (:unicode "๐Ÿ•Š")) + #(":crab:" 0 1 (:unicode "๐Ÿฆ€")) + #(":spider:" 0 1 (:unicode "๐Ÿ•ท")) + #(":spider-web:" 0 1 (:unicode "๐Ÿ•ธ")) + #(":scorpion:" 0 1 (:unicode "๐Ÿฆ‚")) + #(":rosette:" 0 1 (:unicode "๐Ÿต")) + #(":shamrock:" 0 1 (:unicode "โ˜˜")) + #(":hot-pepper:" 0 1 (:unicode "๐ŸŒถ")) + #(":cheese-wedge:" 0 1 (:unicode "๐Ÿง€")) + #(":hot-dog:" 0 1 (:unicode "๐ŸŒญ")) + #(":taco:" 0 1 (:unicode "๐ŸŒฎ")) + #(":burrito:" 0 1 (:unicode "๐ŸŒฏ")) + #(":popcorn:" 0 1 (:unicode "๐Ÿฟ")) + #(":bottle-with-popping-cork:" 0 1 (:unicode "๐Ÿพ")) + #(":fork-and-knife-with-plate:" 0 1 (:unicode "๐Ÿฝ")) + #(":amphora:" 0 1 (:unicode "๐Ÿบ")) + #(":world-map:" 0 1 (:unicode "๐Ÿ—บ")) + #(":snow-capped-mountain:" 0 1 (:unicode "๐Ÿ”")) + #(":mountain:" 0 1 (:unicode "โ›ฐ")) + #(":camping:" 0 1 (:unicode "๐Ÿ•")) + #(":beach-with-umbrella:" 0 1 (:unicode "๐Ÿ–")) + #(":desert:" 0 1 (:unicode "๐Ÿœ")) + #(":desert-island:" 0 1 (:unicode "๐Ÿ")) + #(":national-park:" 0 1 (:unicode "๐Ÿž")) + #(":stadium:" 0 1 (:unicode "๐ŸŸ")) + #(":classical-building:" 0 1 (:unicode "๐Ÿ›")) + #(":building-construction:" 0 1 (:unicode "๐Ÿ—")) + #(":house-buildings:" 0 1 (:unicode "๐Ÿ˜")) + #(":cityscape:" 0 1 (:unicode "๐Ÿ™")) + #(":derelict-house-building:" 0 1 (:unicode "๐Ÿš")) + #(":place-of-worship:" 0 1 (:unicode "๐Ÿ›")) + #(":kaaba:" 0 1 (:unicode "๐Ÿ•‹")) + #(":mosque:" 0 1 (:unicode "๐Ÿ•Œ")) + #(":synagogue:" 0 1 (:unicode "๐Ÿ•")) + #(":frame-with-picture:" 0 1 (:unicode "๐Ÿ–ผ")) + #(":oil-drum:" 0 1 (:unicode "๐Ÿ›ข")) + #(":motorway:" 0 1 (:unicode "๐Ÿ›ฃ")) + #(":railway-track:" 0 1 (:unicode "๐Ÿ›ค")) + #(":passenger-ship:" 0 1 (:unicode "๐Ÿ›ณ")) + #(":ferry:" 0 1 (:unicode "โ›ด")) + #(":motor-boat:" 0 1 (:unicode "๐Ÿ›ฅ")) + #(":small-airplane:" 0 1 (:unicode "๐Ÿ›ฉ")) + #(":airplane-departure:" 0 1 (:unicode "๐Ÿ›ซ")) + #(":airplane-arriving:" 0 1 (:unicode "๐Ÿ›ฌ")) + #(":satellite:" 0 1 (:unicode "๐Ÿ›ฐ")) + #(":bellhop-bell:" 0 1 (:unicode "๐Ÿ›Ž")) + #(":sleeping-accommodation:" 0 1 (:unicode "๐Ÿ›Œ")) + #(":bed:" 0 1 (:unicode "๐Ÿ›")) + #(":couch-and-lamp:" 0 1 (:unicode "๐Ÿ›‹")) + #(":stopwatch:" 0 1 (:unicode "โฑ")) + #(":timer-clock:" 0 1 (:unicode "โฒ")) + #(":mantelpiece-clock:" 0 1 (:unicode "๐Ÿ•ฐ")) + #(":thermometer:" 0 1 (:unicode "๐ŸŒก")) + #(":thunder-cloud-and-rain:" 0 1 (:unicode "โ›ˆ")) + #(":white-sun-with-small-cloud:" 0 1 (:unicode "๐ŸŒค")) + #(":white-sun-behind-cloud:" 0 1 (:unicode "๐ŸŒฅ")) + #(":white-sun-behind-cloud-with-rain:" 0 1 (:unicode "๐ŸŒฆ")) + #(":cloud-with-rain:" 0 1 (:unicode "๐ŸŒง")) + #(":cloud-with-snow:" 0 1 (:unicode "๐ŸŒจ")) + #(":cloud-with-lightning:" 0 1 (:unicode "๐ŸŒฉ")) + #(":cloud-with-tornado:" 0 1 (:unicode "๐ŸŒช")) + #(":fog:" 0 1 (:unicode "๐ŸŒซ")) + #(":wind-blowing-face:" 0 1 (:unicode "๐ŸŒฌ")) + #(":umbrella:" 0 1 (:unicode "โ˜‚")) + #(":umbrella-on-ground:" 0 1 (:unicode "โ›ฑ")) + #(":snowman:" 0 1 (:unicode "โ˜ƒ")) + #(":comet:" 0 1 (:unicode "โ˜„")) + #(":menorah-with-nine-branches:" 0 1 (:unicode "๐Ÿ•Ž")) + #(":military-medal:" 0 1 (:unicode "๐ŸŽ–")) + #(":reminder-ribbon:" 0 1 (:unicode "๐ŸŽ—")) + #(":film-frames:" 0 1 (:unicode "๐ŸŽž")) + #(":admission-tickets:" 0 1 (:unicode "๐ŸŽŸ")) + #(":label:" 0 1 (:unicode "๐Ÿท")) + #(":golfer:" 0 1 (:unicode "๐ŸŒ")) + #(":ice-skate:" 0 1 (:unicode "โ›ธ")) + #(":skier:" 0 1 (:unicode "โ›ท")) + #(":person-with-ball:" 0 1 (:unicode "โ›น")) + #(":weight-lifter:" 0 1 (:unicode "๐Ÿ‹")) + #(":racing-car:" 0 1 (:unicode "๐ŸŽ")) + #(":racing-motorcycle:" 0 1 (:unicode "๐Ÿ")) + #(":sports-medal:" 0 1 (:unicode "๐Ÿ…")) + #(":cricket-bat-and-ball:" 0 1 (:unicode "๐Ÿ")) + #(":volleyball:" 0 1 (:unicode "๐Ÿ")) + #(":field-hockey-stick-and-ball:" 0 1 (:unicode "๐Ÿ‘")) + #(":ice-hockey-stick-and-puck:" 0 1 (:unicode "๐Ÿ’")) + #(":table-tennis-paddle-and-ball:" 0 1 (:unicode "๐Ÿ“")) + #(":badminton-racquet-and-shuttlecock:" 0 1 (:unicode "๐Ÿธ")) + #(":joystick:" 0 1 (:unicode "๐Ÿ•น")) + #(":black-right-pointing-double-triangle-with-vertical-bar:" 0 1 (:unicode "โญ")) + #(":black-right-pointing-triangle-with-double-vertical-bar:" 0 1 (:unicode "โฏ")) + #(":black-left-pointing-double-triangle-with-vertical-bar:" 0 1 (:unicode "โฎ")) + #(":double-vertical-bar:" 0 1 (:unicode "โธ")) + #(":black-square-for-stop:" 0 1 (:unicode "โน")) + #(":black-circle-for-record:" 0 1 (:unicode "โบ")) + #(":studio-microphone:" 0 1 (:unicode "๐ŸŽ™")) + #(":level-slider:" 0 1 (:unicode "๐ŸŽš")) + #(":control-knobs:" 0 1 (:unicode "๐ŸŽ›")) + #(":keycap-asterisk" 0 1 (:unicode "*โƒฃ")) + #(":desktop-computer:" 0 1 (:unicode "๐Ÿ–ฅ")) + #(":printer:" 0 1 (:unicode "๐Ÿ–จ")) + #(":keyboard:" 0 1 (:unicode "โŒจ")) + #(":three-button-mouse:" 0 1 (:unicode "๐Ÿ–ฑ")) + #(":trackball:" 0 1 (:unicode "๐Ÿ–ฒ")) + #(":film-projector:" 0 1 (:unicode "๐Ÿ“ฝ")) + #(":camera-with-flash:" 0 1 (:unicode "๐Ÿ“ธ")) + #(":candle:" 0 1 (:unicode "๐Ÿ•ฏ")) + #(":rolled-up-newspaper:" 0 1 (:unicode "๐Ÿ—ž")) + #(":ballot-box-with-ballot:" 0 1 (:unicode "๐Ÿ—ณ")) + #(":lower-left-fountain-pen:" 0 1 (:unicode "๐Ÿ–‹")) + #(":lower-left-ballpoint-pen:" 0 1 (:unicode "๐Ÿ–Š")) + #(":lower-left-paintbrush:" 0 1 (:unicode "๐Ÿ–Œ")) + #(":lower-left-crayon:" 0 1 (:unicode "๐Ÿ–")) + #(":card-index-dividers:" 0 1 (:unicode "๐Ÿ—‚")) + #(":spiral-note-pad:" 0 1 (:unicode "๐Ÿ—’")) + #(":spiral-calendar-pad:" 0 1 (:unicode "๐Ÿ—“")) + #(":linked-paperclips:" 0 1 (:unicode "๐Ÿ–‡")) + #(":card-file-box:" 0 1 (:unicode "๐Ÿ—ƒ")) + #(":file-cabinet:" 0 1 (:unicode "๐Ÿ—„")) + #(":wastebasket:" 0 1 (:unicode "๐Ÿ—‘")) + #(":old-key:" 0 1 (:unicode "๐Ÿ—")) + #(":pick:" 0 1 (:unicode "โ›")) + #(":hammer-and-pick:" 0 1 (:unicode "โš’")) + #(":hammer-and-wrench:" 0 1 (:unicode "๐Ÿ› ")) + #(":gear:" 0 1 (:unicode "โš™")) + #(":compression:" 0 1 (:unicode "๐Ÿ—œ")) + #(":alembic:" 0 1 (:unicode "โš—")) + #(":scales:" 0 1 (:unicode "โš–")) + #(":chains:" 0 1 (:unicode "โ›“")) + #(":dagger-knife:" 0 1 (:unicode "๐Ÿ—ก")) + #(":crossed-swords:" 0 1 (:unicode "โš”")) + #(":shield:" 0 1 (:unicode "๐Ÿ›ก")) + #(":bow-and-arrow:" 0 1 (:unicode "๐Ÿน")) + #(":coffin:" 0 1 (:unicode "โšฐ")) + #(":funeral-urn:" 0 1 (:unicode "โšฑ")) + #(":waving-white-flag:" 0 1 (:unicode "๐Ÿณ")) + #(":waving-black-flag:" 0 1 (:unicode "๐Ÿด")) + #(":fleur-de-lis:" 0 1 (:unicode "โšœ")) + #(":atom-symbol:" 0 1 (:unicode "โš›")) + #(":om-symbol:" 0 1 (:unicode "๐Ÿ•‰")) + #(":star-of-david:" 0 1 (:unicode "โœก")) + #(":wheel-of-dharma:" 0 1 (:unicode "โ˜ธ")) + #(":yin-yang:" 0 1 (:unicode "โ˜ฏ")) + #(":latin-cross:" 0 1 (:unicode "โœ")) + #(":orthodox-cross:" 0 1 (:unicode "โ˜ฆ")) + #(":shinto-shrine:" 0 1 (:unicode "โ›ฉ")) + #(":star-and-crescent:" 0 1 (:unicode "โ˜ช")) + #(":peace-symbol:" 0 1 (:unicode "โ˜ฎ")) + #(":radioactive-sign:" 0 1 (:unicode "โ˜ข")) + #(":biohazard-sign:" 0 1 (:unicode "โ˜ฃ")) + #(":eye-in-speech-bubble:" 0 1 (:unicode "๐Ÿ‘โ€๐Ÿ—จ")) + #(":left-speech-bubble:" 0 1 (:unicode "๐Ÿ—จ")) + ) + ) + +(defun company-emoji--annotation (s) + "Return a formatted annotation for completion candidate S." + (format " %s" (get-text-property 0 :unicode s))) + +(defun company-emoji--add-aliases (aliases candidates) + "Add the emoji ALIASES to the list of completion CANDIDATES and return the new list." + (dolist (elem aliases candidates) + ;; * `aliased` will be nil if the alias alist is somehow + ;; malformedโ€”if there's no second element. + ;; + ;; * `emoji-string` will be nil if the current alias is invalidโ€”if + ;; the shortcode that an alias has been assigned to does not + ;; correspond to any emoji. For example, if you added (:kermit: + ;; . ":toad:") to your list of custom aliases, that would be an + ;; invalid assignment since :toad: is not a real shortcodeโ€”we + ;; only have :frog:. As long as this is a valid alias, then + ;; emoji-string is the propertized text that the alias points + ;; to; something like #(":imp:" 0 1 (:unicode "๐Ÿ‘ฟ")) + (let* ((aliased (cdr elem)) + (emoji-string (car (member aliased candidates)))) + (if (and aliased emoji-string) + ;; * `new-item` is what will become a new propertized string + ;; that we add to the list of completion candidates. It + ;; starts its life as the string version of the current + ;; alias; from (:man-woman-boy: . ":family:"), the string + ;; assigned to `new-item` would be ":man-woman-boy:" + ;; + ;; * `unicode` is the unicode character to which we want our + ;; alias to point; we retrieve it from `emoji-string`. + (let ((new-item (symbol-name (car elem))) + (unicode (get-text-property 0 :unicode emoji-string))) + ;; Propertize the `new-item` string. The string returned + ;; from `symbol-name` already seems to have some properties, + ;; so overwrite them with `set-text-properties', instead of + ;; simply adding a new property with `add-text-property'. + (set-text-properties 0 1 (list ':unicode unicode) new-item) + (setq candidates (cons new-item candidates))))))) + +;;;###autoload +(defun company-emoji (command &optional arg &rest ignored) + "Provide a backend for company to complete emoji-words. + +company.el calls this function, and passes a COMMAND to it that +depends on the context: 'prefix', 'candidates', 'annotation', +etc. In some contexts it also passes ARG, which is the list of +candidates that match what has been typed so far. Sometimes ARG +is a single candidate, as when COMMAND is 'annotation' or +'post-completion'. Other arguments are IGNORED." + + ;; First, update the list of candidates by adding the custom + ;; aliases: + (let ((emoji-list (company-emoji--add-aliases + company-emoji-aliases + (company-emoji--create-list)))) + (cl-case command + ;; 'prefix' has too many meanings in emacs lisp but here we're + ;; specifying what the string we're completing should begin with + (prefix (company-grab "\:[a-zA-Z0-9-_]*")) + (candidates + ;; filter based on what's already been typed + (cl-remove-if-not + (lambda (c) (string-prefix-p arg c)) + emoji-list)) + ;; show the real emoji alongside its name in the completion list + (annotation (company-emoji--annotation arg)) + ;; when we find the emoji we want, replace it with the real emoji + ;; (assuming company-emoji-insert-unicode is set to true) + (post-completion + (if company-emoji-insert-unicode + (progn + (kill-region (- (point) (length arg)) (point)) + (insert (get-text-property 0 :unicode arg)))))))) + +;;;###autoload +(defun company-emoji-init () + "Add emoji to the company backends." + (interactive) + (add-to-list 'company-backends 'company-emoji)) + +(provide 'company-emoji) + +;;; company-emoji.el ends here diff --git a/init.el b/init.el index 29ac557..b90683e 100644 --- a/init.el +++ b/init.el @@ -62,10 +62,12 @@ alert avy beacon + cheatsheet coffee-mode command-log-mode company company-c-headers + company-emoji company-restclient company-shell diminish