From 3110197e423b2248a0304e5f714463bbef9fd61c Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 9 Jun 2025 20:50:59 +1000 Subject: feat: create parser --- .gitignore | 1 + src/data.py | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main.py | 4 ++ src/parser.py | 95 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 220 insertions(+) create mode 100644 src/data.py create mode 100644 src/main.py create mode 100644 src/parser.py diff --git a/.gitignore b/.gitignore index 8c7f4ce..1cb429f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /data/schemes/dynamic/ +__pycache__/ diff --git a/src/data.py b/src/data.py new file mode 100644 index 0000000..f5fbe6e --- /dev/null +++ b/src/data.py @@ -0,0 +1,120 @@ +import os +from pathlib import Path + +config_dir = Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config")) +data_dir = Path(os.getenv("XDG_DATA_HOME", Path.home() / ".local/share")) +state_dir = Path(os.getenv("XDG_STATE_HOME", Path.home() / ".local/state")) + +c_config_dir = config_dir / "caelestia" +c_data_dir = data_dir / "caelestia" +c_state_dir = state_dir / "caelestia" + +scheme_name_path = c_state_dir / "scheme/name.txt" +scheme_flavour_path = c_state_dir / "scheme/flavour.txt" +scheme_colours_path = c_state_dir / "scheme/colours.txt" +scheme_mode_path = c_state_dir / "scheme/mode.txt" +scheme_variant_path = c_state_dir / "scheme/variant.txt" + +scheme_data_path = Path(__file__).parent.parent / "data/schemes" + +scheme_variants = [ + "tonalspot", + "vibrant", + "expressive", + "fidelity", + "fruitsalad", + "monochrome", + "neutral", + "rainbow", + "content", +] + +scheme_names: list[str] = None +scheme_flavours: list[str] = None +scheme_modes: list[str] = None + +scheme_name: str = None +scheme_flavour: str = None +scheme_colours: dict[str, str] = None +scheme_mode: str = None +scheme_variant: str = None + + +def get_scheme_path() -> Path: + return (scheme_data_path / get_scheme_name() / get_scheme_flavour() / get_scheme_mode()).with_suffix(".txt") + + +def get_scheme_names() -> list[str]: + global scheme_names + + if scheme_names is None: + scheme_names = [f.name for f in scheme_data_path.iterdir() if f.is_dir()] + + return scheme_names + + +def get_scheme_flavours() -> list[str]: + global scheme_flavours + + if scheme_flavours is None: + scheme_flavours = [f.name for f in (scheme_data_path / get_scheme_name()).iterdir() if f.is_dir()] + + return scheme_flavours + + +def get_scheme_modes() -> list[str]: + global scheme_modes + + if scheme_modes is None: + scheme_modes = [ + f.stem for f in (scheme_data_path / get_scheme_name() / get_scheme_flavour()).iterdir() if f.is_file() + ] + + return scheme_modes + + +def get_scheme_name() -> str: + global scheme_name + + if scheme_name is None: + scheme_name = scheme_name_path.read_text().strip() if scheme_name_path.exists() else "catppuccin" + + return scheme_name + + +def get_scheme_flavour() -> str: + global scheme_flavour + + if scheme_flavour is None: + scheme_flavour = scheme_flavour_path.read_text().strip() if scheme_flavour_path.exists() else "mocha" + + return scheme_flavour + + +def get_scheme_colours() -> dict[str, str]: + global scheme_colours + + if scheme_colours is None: + scheme_colours = { + k.strip(): v.strip() for k, v in (line.split(" ") for line in get_scheme_path().read_text().split("\n")) + } + + return scheme_colours + + +def get_scheme_mode() -> str: + global scheme_mode + + if scheme_mode is None: + scheme_mode = scheme_mode_path.read_text().strip() if scheme_mode_path.exists() else "dark" + + return scheme_mode + + +def get_scheme_variant() -> str: + global scheme_variant + + if scheme_variant is None: + scheme_variant = scheme_variant_path.read_text().strip() if scheme_variant_path.exists() else "tonalspot" + + return scheme_variant diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..e206a79 --- /dev/null +++ b/src/main.py @@ -0,0 +1,4 @@ +from parser import parse_args + +if __name__ == "__main__": + parse_args() diff --git a/src/parser.py b/src/parser.py new file mode 100644 index 0000000..5629c63 --- /dev/null +++ b/src/parser.py @@ -0,0 +1,95 @@ +import argparse + +from data import get_scheme_names, scheme_variants + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(prog="caelestia", description="Main control script for the Caelestia dotfiles") + + # Add subcommand parsers + command_parser = parser.add_subparsers( + title="subcommands", description="valid subcommands", metavar="COMMAND", help="the subcommand to run" + ) + + # Create parser for shell opts + shell_parser = command_parser.add_parser("shell", help="start or message the shell") + # TODO: use set_defaults to set func and run + shell_parser.add_argument("message", nargs="*", help="a message to send to the shell") + shell_parser.add_argument("-s", "--show", action="store_true", help="print all shell IPC commands") + shell_parser.add_argument("-l", "--log", action="store_true", help="print the shell log") + + # Create parser for toggle opts + toggle_parser = command_parser.add_parser("toggle", help="toggle a special workspace") + toggle_parser.add_argument( + "workspace", choices=["communication", "music", "sysmon", "specialws", "todo"], help="the workspace to toggle" + ) + + # Create parser for workspace-action opts + ws_action_parser = command_parser.add_parser( + "workspace-action", help="execute a Hyprland workspace dispatcher in the current group" + ) + ws_action_parser.add_argument( + "-g", "--group", action="store_true", help="whether to execute the dispatcher on a group" + ) + ws_action_parser.add_argument( + "dispatcher", choices=["workspace", "movetoworkspace"], help="the dispatcher to execute" + ) + ws_action_parser.add_argument("workspace", type=int, help="the workspace to pass to the dispatcher") + + # Create parser for scheme opts + scheme_parser = command_parser.add_parser("scheme", help="manage the colour scheme") + scheme_parser.add_argument("-g", "--get", action="store_true", help="print the current scheme") + scheme_parser.add_argument("-r", "--random", action="store_true", help="switch to a random scheme") + scheme_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to") + scheme_parser.add_argument("-f", "--flavour", help="the flavour to switch to") + scheme_parser.add_argument("-m", "--mode", choices=["dark", "light"], help="the mode to switch to") + + # Create parser for variant opts + variant_parser = command_parser.add_parser("variant", help="manage the dynamic scheme variant") + variant_parser.add_argument("-g", "--get", action="store_true", help="print the current dynamic scheme variant") + variant_parser.add_argument("-s", "--set", choices=scheme_variants, help="set the current dynamic scheme variant") + variant_parser.add_argument("-r", "--random", action="store_true", help="switch to a random variant") + + # Create parser for screenshot opts + screenshot_parser = command_parser.add_parser("screenshot", help="take a screenshot") + screenshot_parser.add_argument("-r", "--region", help="take a screenshot of a region") + screenshot_parser.add_argument( + "-f", "--freeze", action="store_true", help="freeze the screen while selecting a region" + ) + + # Create parser for record opts + record_parser = command_parser.add_parser("record", help="start a screen recording") + record_parser.add_argument("-r", "--region", action="store_true", help="record a region") + record_parser.add_argument("-s", "--sound", action="store_true", help="record audio") + + # Create parser for clipboard opts + clipboard_parser = command_parser.add_parser("clipboard", help="open clipboard history") + clipboard_parser.add_argument("-d", "--delete", action="store_true", help="delete from clipboard history") + + # Create parser for emoji-picker opts + emoji_parser = command_parser.add_parser("emoji-picker", help="toggle the emoji picker") + + # Create parser for wallpaper opts + wallpaper_parser = command_parser.add_parser("wallpaper", help="manage the wallpaper") + wallpaper_parser.add_argument("-g", "--get", action="store_true", help="print the current wallpaper") + wallpaper_parser.add_argument("-r", "--random", action="store_true", help="switch to a random wallpaper") + wallpaper_parser.add_argument("-f", "--file", help="the path to the wallpaper to switch to") + wallpaper_parser.add_argument("-n", "--no-filter", action="store_true", help="do not filter by size") + wallpaper_parser.add_argument( + "-t", + "--threshold", + default=80, + help="the minimum percentage of the largest monitor size the image must be greater than to be selected", + ) + wallpaper_parser.add_argument( + "-N", + "--no-smart", + action="store_true", + help="do not automatically change the scheme mode based on wallpaper colour", + ) + + # Create parser for pip opts + pip_parser = command_parser.add_parser("pip", help="picture in picture utilities") + pip_parser.add_argument("-d", "--daemon", action="store_true", help="start the daemon") + + return parser.parse_args() -- cgit v1.2.3-freya From b900c16c533969feb8c7cb86e0709f496237b577 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 9 Jun 2025 21:13:35 +1000 Subject: parser: add func to run with args --- src/main.py | 3 ++- src/parser.py | 13 ++++++++++++- src/subcommands/clipboard.py | 5 +++++ src/subcommands/emoji.py | 5 +++++ src/subcommands/pip.py | 5 +++++ src/subcommands/record.py | 5 +++++ src/subcommands/scheme.py | 5 +++++ src/subcommands/screenshot.py | 5 +++++ src/subcommands/shell.py | 5 +++++ src/subcommands/toggle.py | 5 +++++ src/subcommands/variant.py | 5 +++++ src/subcommands/wallpaper.py | 5 +++++ src/subcommands/wsaction.py | 5 +++++ 13 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 src/subcommands/clipboard.py create mode 100644 src/subcommands/emoji.py create mode 100644 src/subcommands/pip.py create mode 100644 src/subcommands/record.py create mode 100644 src/subcommands/scheme.py create mode 100644 src/subcommands/screenshot.py create mode 100644 src/subcommands/shell.py create mode 100644 src/subcommands/toggle.py create mode 100644 src/subcommands/variant.py create mode 100644 src/subcommands/wallpaper.py create mode 100644 src/subcommands/wsaction.py diff --git a/src/main.py b/src/main.py index e206a79..a01222d 100644 --- a/src/main.py +++ b/src/main.py @@ -1,4 +1,5 @@ from parser import parse_args if __name__ == "__main__": - parse_args() + args = parse_args() + args.func(args) diff --git a/src/parser.py b/src/parser.py index 5629c63..724992b 100644 --- a/src/parser.py +++ b/src/parser.py @@ -1,6 +1,7 @@ import argparse from data import get_scheme_names, scheme_variants +from subcommands import clipboard, emoji, pip, record, scheme, screenshot, shell, toggle, variant, wallpaper, wsaction def parse_args() -> argparse.Namespace: @@ -13,13 +14,14 @@ def parse_args() -> argparse.Namespace: # Create parser for shell opts shell_parser = command_parser.add_parser("shell", help="start or message the shell") - # TODO: use set_defaults to set func and run + shell_parser.set_defaults(func=shell.run) shell_parser.add_argument("message", nargs="*", help="a message to send to the shell") shell_parser.add_argument("-s", "--show", action="store_true", help="print all shell IPC commands") shell_parser.add_argument("-l", "--log", action="store_true", help="print the shell log") # Create parser for toggle opts toggle_parser = command_parser.add_parser("toggle", help="toggle a special workspace") + toggle_parser.set_defaults(func=toggle.run) toggle_parser.add_argument( "workspace", choices=["communication", "music", "sysmon", "specialws", "todo"], help="the workspace to toggle" ) @@ -28,6 +30,7 @@ def parse_args() -> argparse.Namespace: ws_action_parser = command_parser.add_parser( "workspace-action", help="execute a Hyprland workspace dispatcher in the current group" ) + ws_action_parser.set_defaults(func=wsaction.run) ws_action_parser.add_argument( "-g", "--group", action="store_true", help="whether to execute the dispatcher on a group" ) @@ -38,6 +41,7 @@ def parse_args() -> argparse.Namespace: # Create parser for scheme opts scheme_parser = command_parser.add_parser("scheme", help="manage the colour scheme") + scheme_parser.set_defaults(func=scheme.run) scheme_parser.add_argument("-g", "--get", action="store_true", help="print the current scheme") scheme_parser.add_argument("-r", "--random", action="store_true", help="switch to a random scheme") scheme_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to") @@ -46,12 +50,14 @@ def parse_args() -> argparse.Namespace: # Create parser for variant opts variant_parser = command_parser.add_parser("variant", help="manage the dynamic scheme variant") + variant_parser.set_defaults(func=variant.run) variant_parser.add_argument("-g", "--get", action="store_true", help="print the current dynamic scheme variant") variant_parser.add_argument("-s", "--set", choices=scheme_variants, help="set the current dynamic scheme variant") variant_parser.add_argument("-r", "--random", action="store_true", help="switch to a random variant") # Create parser for screenshot opts screenshot_parser = command_parser.add_parser("screenshot", help="take a screenshot") + screenshot_parser.set_defaults(func=screenshot.run) screenshot_parser.add_argument("-r", "--region", help="take a screenshot of a region") screenshot_parser.add_argument( "-f", "--freeze", action="store_true", help="freeze the screen while selecting a region" @@ -59,18 +65,22 @@ def parse_args() -> argparse.Namespace: # Create parser for record opts record_parser = command_parser.add_parser("record", help="start a screen recording") + record_parser.set_defaults(func=record.run) record_parser.add_argument("-r", "--region", action="store_true", help="record a region") record_parser.add_argument("-s", "--sound", action="store_true", help="record audio") # Create parser for clipboard opts clipboard_parser = command_parser.add_parser("clipboard", help="open clipboard history") + clipboard_parser.set_defaults(func=clipboard.run) clipboard_parser.add_argument("-d", "--delete", action="store_true", help="delete from clipboard history") # Create parser for emoji-picker opts emoji_parser = command_parser.add_parser("emoji-picker", help="toggle the emoji picker") + emoji_parser.set_defaults(func=emoji.run) # Create parser for wallpaper opts wallpaper_parser = command_parser.add_parser("wallpaper", help="manage the wallpaper") + wallpaper_parser.set_defaults(func=wallpaper.run) wallpaper_parser.add_argument("-g", "--get", action="store_true", help="print the current wallpaper") wallpaper_parser.add_argument("-r", "--random", action="store_true", help="switch to a random wallpaper") wallpaper_parser.add_argument("-f", "--file", help="the path to the wallpaper to switch to") @@ -90,6 +100,7 @@ def parse_args() -> argparse.Namespace: # Create parser for pip opts pip_parser = command_parser.add_parser("pip", help="picture in picture utilities") + pip_parser.set_defaults(func=pip.run) pip_parser.add_argument("-d", "--daemon", action="store_true", help="start the daemon") return parser.parse_args() diff --git a/src/subcommands/clipboard.py b/src/subcommands/clipboard.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/clipboard.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/emoji.py b/src/subcommands/emoji.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/emoji.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/pip.py b/src/subcommands/pip.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/pip.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/record.py b/src/subcommands/record.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/record.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/scheme.py b/src/subcommands/scheme.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/scheme.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/screenshot.py b/src/subcommands/screenshot.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/screenshot.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/shell.py b/src/subcommands/shell.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/shell.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/toggle.py b/src/subcommands/toggle.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/toggle.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/variant.py b/src/subcommands/variant.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/variant.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/wallpaper.py b/src/subcommands/wallpaper.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/wallpaper.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass diff --git a/src/subcommands/wsaction.py b/src/subcommands/wsaction.py new file mode 100644 index 0000000..a94f3d0 --- /dev/null +++ b/src/subcommands/wsaction.py @@ -0,0 +1,5 @@ +from argparse import Namespace + + +def run(args: Namespace) -> None: + pass -- cgit v1.2.3-freya From 52dfdb97ecad6c1a9bab3dfdb9996557e77a0a1e Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 9 Jun 2025 22:15:03 +1000 Subject: feat: add shell commands Also switch to classes --- src/data.py | 2 +- src/main.py | 2 +- src/parser.py | 31 +++++++++++++++++++------------ src/subcommands/clipboard.py | 10 ++++++++-- src/subcommands/emoji.py | 10 ++++++++-- src/subcommands/pip.py | 10 ++++++++-- src/subcommands/record.py | 10 ++++++++-- src/subcommands/scheme.py | 10 ++++++++-- src/subcommands/screenshot.py | 10 ++++++++-- src/subcommands/shell.py | 40 ++++++++++++++++++++++++++++++++++++++-- src/subcommands/toggle.py | 10 ++++++++-- src/subcommands/variant.py | 10 ++++++++-- src/subcommands/wallpaper.py | 10 ++++++++-- src/subcommands/wsaction.py | 10 ++++++++-- 14 files changed, 139 insertions(+), 36 deletions(-) diff --git a/src/data.py b/src/data.py index f5fbe6e..caa78f1 100644 --- a/src/data.py +++ b/src/data.py @@ -96,7 +96,7 @@ def get_scheme_colours() -> dict[str, str]: if scheme_colours is None: scheme_colours = { - k.strip(): v.strip() for k, v in (line.split(" ") for line in get_scheme_path().read_text().split("\n")) + k.strip(): v.strip() for k, v in (line.split(" ") for line in get_scheme_path().read_text().splitlines()) } return scheme_colours diff --git a/src/main.py b/src/main.py index a01222d..e1f543f 100644 --- a/src/main.py +++ b/src/main.py @@ -2,4 +2,4 @@ from parser import parse_args if __name__ == "__main__": args = parse_args() - args.func(args) + args.cls(args).run() diff --git a/src/parser.py b/src/parser.py index 724992b..49695ee 100644 --- a/src/parser.py +++ b/src/parser.py @@ -14,14 +14,21 @@ def parse_args() -> argparse.Namespace: # Create parser for shell opts shell_parser = command_parser.add_parser("shell", help="start or message the shell") - shell_parser.set_defaults(func=shell.run) + shell_parser.set_defaults(cls=shell.Command) shell_parser.add_argument("message", nargs="*", help="a message to send to the shell") shell_parser.add_argument("-s", "--show", action="store_true", help="print all shell IPC commands") - shell_parser.add_argument("-l", "--log", action="store_true", help="print the shell log") + shell_parser.add_argument( + "-l", + "--log", + nargs="?", + const="quickshell.dbus.properties.warning=false;quickshell.dbus.dbusmenu.warning=false;quickshell.service.notifications.warning=false;quickshell.service.sni.host.warning=false", + metavar="RULES", + help="print the shell log", + ) # Create parser for toggle opts toggle_parser = command_parser.add_parser("toggle", help="toggle a special workspace") - toggle_parser.set_defaults(func=toggle.run) + toggle_parser.set_defaults(cls=toggle.Command) toggle_parser.add_argument( "workspace", choices=["communication", "music", "sysmon", "specialws", "todo"], help="the workspace to toggle" ) @@ -30,7 +37,7 @@ def parse_args() -> argparse.Namespace: ws_action_parser = command_parser.add_parser( "workspace-action", help="execute a Hyprland workspace dispatcher in the current group" ) - ws_action_parser.set_defaults(func=wsaction.run) + ws_action_parser.set_defaults(cls=wsaction.Command) ws_action_parser.add_argument( "-g", "--group", action="store_true", help="whether to execute the dispatcher on a group" ) @@ -41,7 +48,7 @@ def parse_args() -> argparse.Namespace: # Create parser for scheme opts scheme_parser = command_parser.add_parser("scheme", help="manage the colour scheme") - scheme_parser.set_defaults(func=scheme.run) + scheme_parser.set_defaults(cls=scheme.Command) scheme_parser.add_argument("-g", "--get", action="store_true", help="print the current scheme") scheme_parser.add_argument("-r", "--random", action="store_true", help="switch to a random scheme") scheme_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to") @@ -50,14 +57,14 @@ def parse_args() -> argparse.Namespace: # Create parser for variant opts variant_parser = command_parser.add_parser("variant", help="manage the dynamic scheme variant") - variant_parser.set_defaults(func=variant.run) + variant_parser.set_defaults(cls=variant.Command) variant_parser.add_argument("-g", "--get", action="store_true", help="print the current dynamic scheme variant") variant_parser.add_argument("-s", "--set", choices=scheme_variants, help="set the current dynamic scheme variant") variant_parser.add_argument("-r", "--random", action="store_true", help="switch to a random variant") # Create parser for screenshot opts screenshot_parser = command_parser.add_parser("screenshot", help="take a screenshot") - screenshot_parser.set_defaults(func=screenshot.run) + screenshot_parser.set_defaults(cls=screenshot.Command) screenshot_parser.add_argument("-r", "--region", help="take a screenshot of a region") screenshot_parser.add_argument( "-f", "--freeze", action="store_true", help="freeze the screen while selecting a region" @@ -65,22 +72,22 @@ def parse_args() -> argparse.Namespace: # Create parser for record opts record_parser = command_parser.add_parser("record", help="start a screen recording") - record_parser.set_defaults(func=record.run) + record_parser.set_defaults(cls=record.Command) record_parser.add_argument("-r", "--region", action="store_true", help="record a region") record_parser.add_argument("-s", "--sound", action="store_true", help="record audio") # Create parser for clipboard opts clipboard_parser = command_parser.add_parser("clipboard", help="open clipboard history") - clipboard_parser.set_defaults(func=clipboard.run) + clipboard_parser.set_defaults(cls=clipboard.Command) clipboard_parser.add_argument("-d", "--delete", action="store_true", help="delete from clipboard history") # Create parser for emoji-picker opts emoji_parser = command_parser.add_parser("emoji-picker", help="toggle the emoji picker") - emoji_parser.set_defaults(func=emoji.run) + emoji_parser.set_defaults(cls=emoji.Command) # Create parser for wallpaper opts wallpaper_parser = command_parser.add_parser("wallpaper", help="manage the wallpaper") - wallpaper_parser.set_defaults(func=wallpaper.run) + wallpaper_parser.set_defaults(cls=wallpaper.Command) wallpaper_parser.add_argument("-g", "--get", action="store_true", help="print the current wallpaper") wallpaper_parser.add_argument("-r", "--random", action="store_true", help="switch to a random wallpaper") wallpaper_parser.add_argument("-f", "--file", help="the path to the wallpaper to switch to") @@ -100,7 +107,7 @@ def parse_args() -> argparse.Namespace: # Create parser for pip opts pip_parser = command_parser.add_parser("pip", help="picture in picture utilities") - pip_parser.set_defaults(func=pip.run) + pip_parser.set_defaults(cls=pip.Command) pip_parser.add_argument("-d", "--daemon", action="store_true", help="start the daemon") return parser.parse_args() diff --git a/src/subcommands/clipboard.py b/src/subcommands/clipboard.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/clipboard.py +++ b/src/subcommands/clipboard.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/emoji.py b/src/subcommands/emoji.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/emoji.py +++ b/src/subcommands/emoji.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/pip.py b/src/subcommands/pip.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/pip.py +++ b/src/subcommands/pip.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/record.py b/src/subcommands/record.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/record.py +++ b/src/subcommands/record.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/scheme.py b/src/subcommands/scheme.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/scheme.py +++ b/src/subcommands/scheme.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/screenshot.py b/src/subcommands/screenshot.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/screenshot.py +++ b/src/subcommands/screenshot.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/shell.py b/src/subcommands/shell.py index a94f3d0..6802dc8 100644 --- a/src/subcommands/shell.py +++ b/src/subcommands/shell.py @@ -1,5 +1,41 @@ +import subprocess from argparse import Namespace +import data -def run(args: Namespace) -> None: - pass + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + if self.args.show: + # Print the ipc + self.print_ipc() + elif self.args.log: + # Print the log + self.print_log() + elif self.args.message: + # Send a message + self.message(*self.args.message) + else: + # Start the shell + self.shell() + + def shell(self, *args: list[str]) -> str: + return subprocess.check_output(["qs", "-p", data.c_data_dir / "shell", *args], text=True) + + def print_ipc(self) -> None: + print(self.shell("ipc", "show"), end="") + + def print_log(self) -> None: + log = self.shell("log") + # FIXME: remove when logging rules are added/warning is removed + for line in log.splitlines(): + if "QProcess: Destroyed while process" not in line: + print(line) + + def message(self, *args: list[str]) -> None: + print(self.shell("ipc", "call", *args), end="") diff --git a/src/subcommands/toggle.py b/src/subcommands/toggle.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/toggle.py +++ b/src/subcommands/toggle.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/variant.py b/src/subcommands/variant.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/variant.py +++ b/src/subcommands/variant.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/wallpaper.py b/src/subcommands/wallpaper.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/wallpaper.py +++ b/src/subcommands/wallpaper.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/subcommands/wsaction.py b/src/subcommands/wsaction.py index a94f3d0..37f9a2b 100644 --- a/src/subcommands/wsaction.py +++ b/src/subcommands/wsaction.py @@ -1,5 +1,11 @@ from argparse import Namespace -def run(args: Namespace) -> None: - pass +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass -- cgit v1.2.3-freya From 33dbeb01b329292d826e1d84b07c86b25487c41a Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 9 Jun 2025 23:43:50 +1000 Subject: feat: add toggle command --- src/subcommands/toggle.py | 73 ++++++++++++++++++++++++++++++++++++++++++++++- src/utils/hypr.py | 27 ++++++++++++++++++ 2 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 src/utils/hypr.py diff --git a/src/subcommands/toggle.py b/src/subcommands/toggle.py index 37f9a2b..e293669 100644 --- a/src/subcommands/toggle.py +++ b/src/subcommands/toggle.py @@ -1,11 +1,82 @@ from argparse import Namespace +from utils import hypr + class Command: args: Namespace + clients: list[dict[str, any]] = None + app2unit: str = None def __init__(self, args: Namespace) -> None: self.args = args def run(self) -> None: - pass + getattr(self, self.args.workspace)() + + def get_clients(self) -> list[dict[str, any]]: + if self.clients is None: + self.clients = hypr.message("clients") + + return self.clients + + def get_app2unit(self) -> str: + if self.app2unit is None: + import shutil + + self.app2unit = shutil.which("app2unit") + + return self.app2unit + + def move_client(self, selector: callable, workspace: str) -> None: + for client in self.get_clients(): + if selector(client): + hypr.dispatch("movetoworkspacesilent", f"special:{workspace},address:{client['address']}") + + def spawn_client(self, selector: callable, spawn: list[str]) -> bool: + exists = any(selector(client) for client in self.get_clients()) + + if not exists: + import subprocess + + subprocess.Popen([self.get_app2unit(), "--", *spawn], start_new_session=True) + + return not exists + + def spawn_or_move(self, selector: callable, spawn: list[str], workspace: str) -> None: + if not self.spawn_client(selector, spawn): + self.move_client(selector, workspace) + + def communication(self) -> None: + self.spawn_or_move(lambda c: c["class"] == "discord", ["discord"], "communication") + self.move_client(lambda c: c["class"] == "whatsapp", "communication") + + def music(self) -> None: + self.spawn_or_move( + lambda c: c["class"] == "Spotify" or c["initialTitle"] == "Spotify" or c["initialTitle"] == "Spotify Free", + ["spicetify", "watch", "-s"], + "music", + ) + self.move_client(lambda c: c["class"] == "feishin", "music") + + def sysmon(self) -> None: + self.spawn_client( + lambda c: c["class"] == "btop" and c["title"] == "btop" and c["workspace"]["name"] == "special:sysmon", + ["foot", "-a", "btop", "-T", "btop", "--", "btop"], + "sysmon", + ) + + def todo(self) -> None: + self.spawn_or_move(lambda c: c["class"] == "Todoist", ["todoist"], "todo") + + def specialws(self) -> None: + workspaces = hypr.message("workspaces") + on_special_ws = any(ws["name"] == "special:special" for ws in workspaces) + toggle_ws = "special" + + if not on_special_ws: + active_ws = hypr.message("activewindow")["workspace"]["name"] + if active_ws.startswith("special:"): + toggle_ws = active_ws[8:] + + hypr.dispatch("togglespecialworkspace", toggle_ws) diff --git a/src/utils/hypr.py b/src/utils/hypr.py new file mode 100644 index 0000000..d829f22 --- /dev/null +++ b/src/utils/hypr.py @@ -0,0 +1,27 @@ +import json as j +import os +import socket + +socket_path = f"{os.getenv('XDG_RUNTIME_DIR')}/hypr/{os.getenv('HYPRLAND_INSTANCE_SIGNATURE')}/.socket.sock" + + +def message(msg: str, json: bool = True) -> str or dict[str, any]: + with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock: + sock.connect(socket_path) + + if json: + msg = f"j/{msg}" + sock.send(msg.encode()) + + resp = sock.recv(8192).decode() + while True: + new_resp = sock.recv(8192) + if not new_resp: + break + resp += new_resp.decode() + + return j.loads(resp) if json else resp + + +def dispatch(dispatcher: str, *args: list[any]) -> bool: + return message(f"dispatch {dispatcher} {' '.join(str(a) for a in args)}".rstrip(), json=False) == "ok" -- cgit v1.2.3-freya From 63d9381734da8ea4809b9462c487810d306c383d Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Tue, 10 Jun 2025 00:04:50 +1000 Subject: feat: impl workspace-action command --- src/subcommands/wsaction.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/subcommands/wsaction.py b/src/subcommands/wsaction.py index 37f9a2b..1e93cae 100644 --- a/src/subcommands/wsaction.py +++ b/src/subcommands/wsaction.py @@ -1,5 +1,7 @@ from argparse import Namespace +from utils import hypr + class Command: args: Namespace @@ -8,4 +10,9 @@ class Command: self.args = args def run(self) -> None: - pass + active_ws = hypr.message("activeworkspace")["id"] + + if self.args.group: + hypr.dispatch(self.args.dispatcher, (self.args.workspace - 1) * 10 + active_ws % 10) + else: + hypr.dispatch(self.args.dispatcher, int((active_ws - 1) / 10) * 10 + self.args.workspace) -- cgit v1.2.3-freya From f663e6f6908a9dfb05ac22e867e726c1bf6f0960 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 00:41:05 +1000 Subject: internal: refactor for packaging Package using python-build, python-installer and hatch --- .gitignore | 1 + data/config.json | 51 - data/emojis.txt | 12242 ------------------- data/schemes/catppuccin/frappe/dark.txt | 81 - data/schemes/catppuccin/latte/light.txt | 81 - data/schemes/catppuccin/macchiato/dark.txt | 81 - data/schemes/catppuccin/mocha/dark.txt | 81 - data/schemes/gruvbox/hard/dark.txt | 81 - data/schemes/gruvbox/hard/light.txt | 81 - data/schemes/gruvbox/medium/dark.txt | 81 - data/schemes/gruvbox/medium/light.txt | 81 - data/schemes/gruvbox/soft/dark.txt | 81 - data/schemes/gruvbox/soft/light.txt | 81 - data/schemes/oldworld/dark.txt | 81 - data/schemes/onedark/dark.txt | 81 - data/schemes/rosepine/dawn/light.txt | 81 - data/schemes/rosepine/main/dark.txt | 81 - data/schemes/rosepine/moon/dark.txt | 81 - data/schemes/shadotheme/dark.txt | 81 - pyproject.toml | 14 + src/caelestia/__init__.py | 9 + src/caelestia/data.py | 120 + src/caelestia/data/config.json | 51 + src/caelestia/data/emojis.txt | 12242 +++++++++++++++++++ .../data/schemes/catppuccin/frappe/dark.txt | 81 + .../data/schemes/catppuccin/latte/light.txt | 81 + .../data/schemes/catppuccin/macchiato/dark.txt | 81 + .../data/schemes/catppuccin/mocha/dark.txt | 81 + src/caelestia/data/schemes/dynamic/alt1/dark.txt | 81 + src/caelestia/data/schemes/dynamic/alt1/light.txt | 81 + src/caelestia/data/schemes/dynamic/alt2/dark.txt | 81 + src/caelestia/data/schemes/dynamic/alt2/light.txt | 81 + .../data/schemes/dynamic/default/dark.txt | 81 + .../data/schemes/dynamic/default/light.txt | 81 + src/caelestia/data/schemes/gruvbox/hard/dark.txt | 81 + src/caelestia/data/schemes/gruvbox/hard/light.txt | 81 + src/caelestia/data/schemes/gruvbox/medium/dark.txt | 81 + .../data/schemes/gruvbox/medium/light.txt | 81 + src/caelestia/data/schemes/gruvbox/soft/dark.txt | 81 + src/caelestia/data/schemes/gruvbox/soft/light.txt | 81 + src/caelestia/data/schemes/oldworld/dark.txt | 81 + src/caelestia/data/schemes/onedark/dark.txt | 81 + src/caelestia/data/schemes/rosepine/dawn/light.txt | 81 + src/caelestia/data/schemes/rosepine/main/dark.txt | 81 + src/caelestia/data/schemes/rosepine/moon/dark.txt | 81 + src/caelestia/data/schemes/shadotheme/dark.txt | 81 + src/caelestia/parser.py | 125 + src/caelestia/subcommands/clipboard.py | 11 + src/caelestia/subcommands/emoji.py | 11 + src/caelestia/subcommands/pip.py | 11 + src/caelestia/subcommands/record.py | 11 + src/caelestia/subcommands/scheme.py | 11 + src/caelestia/subcommands/screenshot.py | 11 + src/caelestia/subcommands/shell.py | 41 + src/caelestia/subcommands/toggle.py | 82 + src/caelestia/subcommands/variant.py | 11 + src/caelestia/subcommands/wallpaper.py | 11 + src/caelestia/subcommands/wsaction.py | 18 + src/caelestia/utils/hypr.py | 27 + src/caelestia/utils/scheme.py | 0 src/data.py | 120 - src/main.py | 5 - src/parser.py | 113 - src/subcommands/clipboard.py | 11 - src/subcommands/emoji.py | 11 - src/subcommands/pip.py | 11 - src/subcommands/record.py | 11 - src/subcommands/scheme.py | 11 - src/subcommands/screenshot.py | 11 - src/subcommands/shell.py | 41 - src/subcommands/toggle.py | 82 - src/subcommands/variant.py | 11 - src/subcommands/wallpaper.py | 11 - src/subcommands/wsaction.py | 18 - src/utils/hypr.py | 27 - 75 files changed, 14600 insertions(+), 14083 deletions(-) delete mode 100644 data/config.json delete mode 100644 data/emojis.txt delete mode 100644 data/schemes/catppuccin/frappe/dark.txt delete mode 100644 data/schemes/catppuccin/latte/light.txt delete mode 100644 data/schemes/catppuccin/macchiato/dark.txt delete mode 100644 data/schemes/catppuccin/mocha/dark.txt delete mode 100644 data/schemes/gruvbox/hard/dark.txt delete mode 100644 data/schemes/gruvbox/hard/light.txt delete mode 100644 data/schemes/gruvbox/medium/dark.txt delete mode 100644 data/schemes/gruvbox/medium/light.txt delete mode 100644 data/schemes/gruvbox/soft/dark.txt delete mode 100644 data/schemes/gruvbox/soft/light.txt delete mode 100644 data/schemes/oldworld/dark.txt delete mode 100644 data/schemes/onedark/dark.txt delete mode 100644 data/schemes/rosepine/dawn/light.txt delete mode 100644 data/schemes/rosepine/main/dark.txt delete mode 100644 data/schemes/rosepine/moon/dark.txt delete mode 100644 data/schemes/shadotheme/dark.txt create mode 100644 pyproject.toml create mode 100644 src/caelestia/__init__.py create mode 100644 src/caelestia/data.py create mode 100644 src/caelestia/data/config.json create mode 100644 src/caelestia/data/emojis.txt create mode 100644 src/caelestia/data/schemes/catppuccin/frappe/dark.txt create mode 100644 src/caelestia/data/schemes/catppuccin/latte/light.txt create mode 100644 src/caelestia/data/schemes/catppuccin/macchiato/dark.txt create mode 100644 src/caelestia/data/schemes/catppuccin/mocha/dark.txt create mode 100644 src/caelestia/data/schemes/dynamic/alt1/dark.txt create mode 100644 src/caelestia/data/schemes/dynamic/alt1/light.txt create mode 100644 src/caelestia/data/schemes/dynamic/alt2/dark.txt create mode 100644 src/caelestia/data/schemes/dynamic/alt2/light.txt create mode 100644 src/caelestia/data/schemes/dynamic/default/dark.txt create mode 100644 src/caelestia/data/schemes/dynamic/default/light.txt create mode 100644 src/caelestia/data/schemes/gruvbox/hard/dark.txt create mode 100644 src/caelestia/data/schemes/gruvbox/hard/light.txt create mode 100644 src/caelestia/data/schemes/gruvbox/medium/dark.txt create mode 100644 src/caelestia/data/schemes/gruvbox/medium/light.txt create mode 100644 src/caelestia/data/schemes/gruvbox/soft/dark.txt create mode 100644 src/caelestia/data/schemes/gruvbox/soft/light.txt create mode 100644 src/caelestia/data/schemes/oldworld/dark.txt create mode 100644 src/caelestia/data/schemes/onedark/dark.txt create mode 100644 src/caelestia/data/schemes/rosepine/dawn/light.txt create mode 100644 src/caelestia/data/schemes/rosepine/main/dark.txt create mode 100644 src/caelestia/data/schemes/rosepine/moon/dark.txt create mode 100644 src/caelestia/data/schemes/shadotheme/dark.txt create mode 100644 src/caelestia/parser.py create mode 100644 src/caelestia/subcommands/clipboard.py create mode 100644 src/caelestia/subcommands/emoji.py create mode 100644 src/caelestia/subcommands/pip.py create mode 100644 src/caelestia/subcommands/record.py create mode 100644 src/caelestia/subcommands/scheme.py create mode 100644 src/caelestia/subcommands/screenshot.py create mode 100644 src/caelestia/subcommands/shell.py create mode 100644 src/caelestia/subcommands/toggle.py create mode 100644 src/caelestia/subcommands/variant.py create mode 100644 src/caelestia/subcommands/wallpaper.py create mode 100644 src/caelestia/subcommands/wsaction.py create mode 100644 src/caelestia/utils/hypr.py create mode 100644 src/caelestia/utils/scheme.py delete mode 100644 src/data.py delete mode 100644 src/main.py delete mode 100644 src/parser.py delete mode 100644 src/subcommands/clipboard.py delete mode 100644 src/subcommands/emoji.py delete mode 100644 src/subcommands/pip.py delete mode 100644 src/subcommands/record.py delete mode 100644 src/subcommands/scheme.py delete mode 100644 src/subcommands/screenshot.py delete mode 100644 src/subcommands/shell.py delete mode 100644 src/subcommands/toggle.py delete mode 100644 src/subcommands/variant.py delete mode 100644 src/subcommands/wallpaper.py delete mode 100644 src/subcommands/wsaction.py delete mode 100644 src/utils/hypr.py diff --git a/.gitignore b/.gitignore index 1cb429f..19faf38 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /data/schemes/dynamic/ __pycache__/ +/dist/ diff --git a/data/config.json b/data/config.json deleted file mode 100644 index 47f61e5..0000000 --- a/data/config.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "toggles": { - "communication": { - "apps": [ - { - "selector": ".class == \"discord\"", - "spawn": "discord", - "action": "spawn move" - }, - { - "selector": ".class == \"whatsapp\"", - "spawn": "firefox --name whatsapp -P whatsapp 'https://web.whatsapp.com'", - "action": "move", - "extraCond": "grep -q 'Name=whatsapp' ~/.mozilla/firefox/profiles.ini" - } - ] - }, - "music": { - "apps": [ - { - "selector": ".class == \"Spotify\" or .initialTitle == \"Spotify\" or .initialTitle == \"Spotify Free\"", - "spawn": "spicetify watch -s", - "action": "spawn move" - }, - { - "selector": ".class == \"feishin\"", - "spawn": "feishin", - "action": "move" - } - ] - }, - "sysmon": { - "apps": [ - { - "selector": ".class == \"btop\" and .title == \"btop\" and .workspace.name == \"special:sysmon\"", - "spawn": "foot -a 'btop' -T 'btop' -- btop", - "action": "spawn" - } - ] - }, - "todo": { - "apps": [ - { - "selector": ".class == \"Todoist\"", - "spawn": "todoist", - "action": "spawn move" - } - ] - } - } -} diff --git a/data/emojis.txt b/data/emojis.txt deleted file mode 100644 index 3d929c7..0000000 --- a/data/emojis.txt +++ /dev/null @@ -1,12242 +0,0 @@ -¿? question upside down reversed spanish -← left arrow -↑ up arrow -→ right arrow -↓ down arrow -←↑→↓ all directions up down left right arrows -⇇ leftwards paired arrows -⇉ rightwards paired arrows -⇈ upwards paired arrows -⇊ downwards paired arrows -⬱ three leftwards arrows -⇶ three rightwards arrows -• dot circle separator -「」 japanese quote square bracket -¯\_(ツ)_/¯ shrug idk i dont know -(ง🔥ロ🔥)ง person with fire eyes eyes on fire -↵ enter key return -😀 grinning face face smile happy joy :D grin -😃 grinning face with big eyes face happy joy haha :D :) smile funny -😄 grinning face with smiling eyes face happy joy funny haha laugh like :D :) smile -😁 beaming face with smiling eyes face happy smile joy kawaii -😆 grinning squinting face happy joy lol satisfied haha face glad XD laugh -😅 grinning face with sweat face hot happy laugh sweat smile relief -🤣 rolling on the floor laughing face rolling floor laughing lol haha rofl -😂 face with tears of joy face cry tears weep happy happytears haha -🙂 slightly smiling face face smile -🙃 upside down face face flipped silly smile -😉 winking face face happy mischievous secret ;) smile eye -😊 smiling face with smiling eyes face smile happy flushed crush embarrassed shy joy -😇 smiling face with halo face angel heaven halo -🥰 smiling face with hearts face love like affection valentines infatuation crush hearts adore -😍 smiling face with heart eyes face love like affection valentines infatuation crush heart -🤩 star struck face smile starry eyes grinning -😘 face blowing a kiss face love like affection valentines infatuation kiss -😗 kissing face love like face 3 valentines infatuation kiss -☺️ smiling face face blush massage happiness -😚 kissing face with closed eyes face love like affection valentines infatuation kiss -😙 kissing face with smiling eyes face affection valentines infatuation kiss -😋 face savoring food happy joy tongue smile face silly yummy nom delicious savouring -😛 face with tongue face prank childish playful mischievous smile tongue -😜 winking face with tongue face prank childish playful mischievous smile wink tongue -🤪 zany face face goofy crazy -😝 squinting face with tongue face prank playful mischievous smile tongue -🤑 money mouth face face rich dollar money -🤗 hugging face face smile hug -🤭 face with hand over mouth face whoops shock surprise -🤫 shushing face face quiet shhh -🤔 thinking face face hmmm think consider -🤐 zipper mouth face face sealed zipper secret -🤨 face with raised eyebrow face distrust scepticism disapproval disbelief surprise -😐 neutral face indifference meh :| neutral -😑 expressionless face face indifferent - - meh deadpan -😶 face without mouth face hellokitty -😏 smirking face face smile mean prank smug sarcasm -😒 unamused face indifference bored straight face serious sarcasm unimpressed skeptical dubious side eye -🙄 face with rolling eyes face eyeroll frustrated -😬 grimacing face face grimace teeth -🤥 lying face face lie pinocchio -😌 relieved face face relaxed phew massage happiness -😔 pensive face face sad depressed upset -😪 sleepy face face tired rest nap -🤤 drooling face face -😴 sleeping face face tired sleepy night zzz -😷 face with medical mask face sick ill disease -🤒 face with thermometer sick temperature thermometer cold fever -🤕 face with head bandage injured clumsy bandage hurt -🤢 nauseated face face vomit gross green sick throw up ill -🤮 face vomiting face sick -🤧 sneezing face face gesundheit sneeze sick allergy -🥵 hot face face feverish heat red sweating -🥶 cold face face blue freezing frozen frostbite icicles -🥴 woozy face face dizzy intoxicated tipsy wavy -😵 dizzy face spent unconscious xox dizzy -🤯 exploding head face shocked mind blown -🤠 cowboy hat face face cowgirl hat -🥳 partying face face celebration woohoo -😎 smiling face with sunglasses face cool smile summer beach sunglass -🤓 nerd face face nerdy geek dork -🧐 face with monocle face stuffy wealthy -😕 confused face face indifference huh weird hmmm :/ -😟 worried face face concern nervous :( -🙁 slightly frowning face face frowning disappointed sad upset -☹️ frowning face face sad upset frown -😮 face with open mouth face surprise impressed wow whoa :O -😯 hushed face face woo shh -😲 astonished face face xox surprised poisoned -😳 flushed face face blush shy flattered sex -🥺 pleading face face begging mercy -😦 frowning face with open mouth face aw what -😧 anguished face face stunned nervous -😨 fearful face face scared terrified nervous oops huh -😰 anxious face with sweat face nervous sweat -😥 sad but relieved face face phew sweat nervous -😢 crying face face tears sad depressed upset :'( -😭 loudly crying face face cry tears sad upset depressed sob -😱 face screaming in fear face munch scared omg -😖 confounded face face confused sick unwell oops :S -😣 persevering face face sick no upset oops -😞 disappointed face face sad upset depressed :( -😓 downcast face with sweat face hot sad tired exercise -😩 weary face face tired sleepy sad frustrated upset -😫 tired face sick whine upset frustrated -🥱 yawning face tired sleepy -😤 face with steam from nose face gas phew proud pride -😡 pouting face angry mad hate despise -😠 angry face mad face annoyed frustrated -🤬 face with symbols on mouth face swearing cursing cussing profanity expletive -😈 smiling face with horns devil horns -👿 angry face with horns devil angry horns -💀 skull dead skeleton creepy death -☠️ skull and crossbones poison danger deadly scary death pirate evil -💩 pile of poo hankey shitface fail turd shit -🤡 clown face face -👹 ogre monster red mask halloween scary creepy devil demon japanese ogre -👺 goblin red evil mask monster scary creepy japanese goblin -👻 ghost halloween spooky scary -👽 alien UFO paul weird outer space -👾 alien monster game arcade play -🤖 robot computer machine bot -😺 grinning cat animal cats happy smile -😸 grinning cat with smiling eyes animal cats smile -😹 cat with tears of joy animal cats haha happy tears -😻 smiling cat with heart eyes animal love like affection cats valentines heart -😼 cat with wry smile animal cats smirk -😽 kissing cat animal cats kiss -🙀 weary cat animal cats munch scared scream -😿 crying cat animal tears weep sad cats upset cry -😾 pouting cat animal cats -🙈 see no evil monkey monkey animal nature haha -🙉 hear no evil monkey animal monkey nature -🙊 speak no evil monkey monkey animal nature omg -💋 kiss mark face lips love like affection valentines -💌 love letter email like affection envelope valentines -💘 heart with arrow love like heart affection valentines -💝 heart with ribbon love valentines -💖 sparkling heart love like affection valentines -💗 growing heart like love affection valentines pink -💓 beating heart love like affection valentines pink heart -💞 revolving hearts love like affection valentines -💕 two hearts love like affection valentines heart -💟 heart decoration purple-square love like -❣️ heart exclamation decoration love -💔 broken heart sad sorry break heart heartbreak -❤️ red heart love like valentines -🧡 orange heart love like affection valentines -💛 yellow heart love like affection valentines -💚 green heart love like affection valentines -💙 blue heart love like affection valentines -💜 purple heart love like affection valentines -🤎 brown heart coffee -🖤 black heart evil -🤍 white heart pure -💯 hundred points score perfect numbers century exam quiz test pass 100 -💢 anger symbol angry mad -💥 collision bomb explode explosion collision blown -💫 dizzy star sparkle shoot magic -💦 sweat droplets water drip oops -💨 dashing away wind air fast shoo fart smoke puff -🕳️ hole embarrassing -💣 bomb boom explode explosion terrorism -💬 speech balloon bubble words message talk chatting -👁️‍🗨️ eye in speech bubble info -🗨️ left speech bubble words message talk chatting -🗯️ right anger bubble caption speech thinking mad -💭 thought balloon bubble cloud speech thinking dream -💤 zzz sleepy tired dream -👋 waving hand hands gesture goodbye solong farewell hello hi palm -🤚 raised back of hand fingers raised backhand -🖐️ hand with fingers splayed hand fingers palm -✋ raised hand fingers stop highfive palm ban -🖖 vulcan salute hand fingers spock star trek -👌 ok hand fingers limbs perfect ok okay -🤏 pinching hand tiny small size -✌️ victory hand fingers ohyeah hand peace victory two -🤞 crossed fingers good lucky -🤟 love you gesture hand fingers gesture -🤘 sign of the horns hand fingers evil eye sign of horns rock on -🤙 call me hand hands gesture shaka -👈 backhand index pointing left direction fingers hand left -👉 backhand index pointing right fingers hand direction right -👆 backhand index pointing up fingers hand direction up -🖕 middle finger hand fingers rude middle flipping -👇 backhand index pointing down fingers hand direction down -☝️ index pointing up hand fingers direction up -👍 thumbs up thumbsup yes awesome good agree accept cool hand like +1 -👎 thumbs down thumbsdown no dislike hand -1 -✊ raised fist fingers hand grasp -👊 oncoming fist angry violence fist hit attack hand -🤛 left facing fist hand fistbump -🤜 right facing fist hand fistbump -👏 clapping hands hands praise applause congrats yay -🙌 raising hands gesture hooray yea celebration hands -👐 open hands fingers butterfly hands open -🤲 palms up together hands gesture cupped prayer -🤝 handshake agreement shake -🙏 folded hands please hope wish namaste highfive pray -✍️ writing hand lower left ballpoint pen stationery write compose -💅 nail polish beauty manicure finger fashion nail -🤳 selfie camera phone -💪 flexed biceps arm flex hand summer strong biceps -🦾 mechanical arm accessibility -🦿 mechanical leg accessibility -🦵 leg kick limb -🦶 foot kick stomp -👂 ear face hear sound listen -🦻 ear with hearing aid accessibility -👃 nose smell sniff -🧠 brain smart intelligent -🦷 tooth teeth dentist -🦴 bone skeleton -👀 eyes look watch stalk peek see -👁️ eye face look see watch stare -👅 tongue mouth playful -👄 mouth mouth kiss -👶 baby child boy girl toddler -🧒 child gender-neutral young -👦 boy man male guy teenager -👧 girl female woman teenager -🧑 person gender-neutral person -👱 person blond hair hairstyle -👨 man mustache father dad guy classy sir moustache -🧔 man beard person bewhiskered -👨‍🦰 man red hair hairstyle -👨‍🦱 man curly hair hairstyle -👨‍🦳 man white hair old elder -👨‍🦲 man bald hairless -👩 woman female girls lady -👩‍🦰 woman red hair hairstyle -🧑‍🦰 person red hair hairstyle -👩‍🦱 woman curly hair hairstyle -🧑‍🦱 person curly hair hairstyle -👩‍🦳 woman white hair old elder -🧑‍🦳 person white hair elder old -👩‍🦲 woman bald hairless -🧑‍🦲 person bald hairless -👱‍♀️ woman blond hair woman female girl blonde person -👱‍♂️ man blond hair man male boy blonde guy person -🧓 older person human elder senior gender-neutral -👴 old man human male men old elder senior -👵 old woman human female women lady old elder senior -🙍 person frowning worried -🙍‍♂️ man frowning male boy man sad depressed discouraged unhappy -🙍‍♀️ woman frowning female girl woman sad depressed discouraged unhappy -🙎 person pouting upset -🙎‍♂️ man pouting male boy man -🙎‍♀️ woman pouting female girl woman -🙅 person gesturing no decline -🙅‍♂️ man gesturing no male boy man nope -🙅‍♀️ woman gesturing no female girl woman nope -🙆 person gesturing ok agree -🙆‍♂️ man gesturing ok men boy male blue human man -🙆‍♀️ woman gesturing ok women girl female pink human woman -💁 person tipping hand information -💁‍♂️ man tipping hand male boy man human information -💁‍♀️ woman tipping hand female girl woman human information -🙋 person raising hand question -🙋‍♂️ man raising hand male boy man -🙋‍♀️ woman raising hand female girl woman -🧏 deaf person accessibility -🧏‍♂️ deaf man accessibility -🧏‍♀️ deaf woman accessibility -🙇 person bowing respectiful -🙇‍♂️ man bowing man male boy -🙇‍♀️ woman bowing woman female girl -🤦 person facepalming disappointed -🤦‍♂️ man facepalming man male boy disbelief -🤦‍♀️ woman facepalming woman female girl disbelief -🤷 person shrugging regardless -🤷‍♂️ man shrugging man male boy confused indifferent doubt -🤷‍♀️ woman shrugging woman female girl confused indifferent doubt -🧑‍⚕️ health worker hospital -👨‍⚕️ man health worker doctor nurse therapist healthcare man human -👩‍⚕️ woman health worker doctor nurse therapist healthcare woman human -🧑‍🎓 student learn -👨‍🎓 man student graduate man human -👩‍🎓 woman student graduate woman human -🧑‍🏫 teacher professor -👨‍🏫 man teacher instructor professor man human -👩‍🏫 woman teacher instructor professor woman human -🧑‍⚖️ judge law -👨‍⚖️ man judge justice court man human -👩‍⚖️ woman judge justice court woman human -🧑‍🌾 farmer crops -👨‍🌾 man farmer rancher gardener man human -👩‍🌾 woman farmer rancher gardener woman human -🧑‍🍳 cook food kitchen culinary -👨‍🍳 man cook chef man human -👩‍🍳 woman cook chef woman human -🧑‍🔧 mechanic worker technician -👨‍🔧 man mechanic plumber man human wrench -👩‍🔧 woman mechanic plumber woman human wrench -🧑‍🏭 factory worker labor -👨‍🏭 man factory worker assembly industrial man human -👩‍🏭 woman factory worker assembly industrial woman human -🧑‍💼 office worker business -👨‍💼 man office worker business manager man human -👩‍💼 woman office worker business manager woman human -🧑‍🔬 scientist chemistry -👨‍🔬 man scientist biologist chemist engineer physicist man human -👩‍🔬 woman scientist biologist chemist engineer physicist woman human -🧑‍💻 technologist computer -👨‍💻 man technologist coder developer engineer programmer software man human laptop computer -👩‍💻 woman technologist coder developer engineer programmer software woman human laptop computer -🧑‍🎤 singer song artist performer -👨‍🎤 man singer rockstar entertainer man human -👩‍🎤 woman singer rockstar entertainer woman human -🧑‍🎨 artist painting draw creativity -👨‍🎨 man artist painter man human -👩‍🎨 woman artist painter woman human -🧑‍✈️ pilot fly plane airplane -👨‍✈️ man pilot aviator plane man human -👩‍✈️ woman pilot aviator plane woman human -🧑‍🚀 astronaut outerspace -👨‍🚀 man astronaut space rocket man human -👩‍🚀 woman astronaut space rocket woman human -🧑‍🚒 firefighter fire -👨‍🚒 man firefighter fireman man human -👩‍🚒 woman firefighter fireman woman human -👮 police officer cop -👮‍♂️ man police officer man police law legal enforcement arrest 911 -👮‍♀️ woman police officer woman police law legal enforcement arrest 911 female -🕵️ detective human spy detective -🕵️‍♂️ man detective crime -🕵️‍♀️ woman detective human spy detective female woman -💂 guard protect -💂‍♂️ man guard uk gb british male guy royal -💂‍♀️ woman guard uk gb british female royal woman -👷 construction worker labor build -👷‍♂️ man construction worker male human wip guy build construction worker labor -👷‍♀️ woman construction worker female human wip build construction worker labor woman -🤴 prince boy man male crown royal king -👸 princess girl woman female blond crown royal queen -👳 person wearing turban headdress -👳‍♂️ man wearing turban male indian hinduism arabs -👳‍♀️ woman wearing turban female indian hinduism arabs woman -👲 man with skullcap male boy chinese -🧕 woman with headscarf female hijab mantilla tichel -🤵 man in tuxedo couple marriage wedding groom -👰 bride with veil couple marriage wedding woman bride -🤰 pregnant woman baby -🤱 breast feeding nursing baby -👼 baby angel heaven wings halo -🎅 santa claus festival man male xmas father christmas -🤶 mrs claus woman female xmas mother christmas -🦸 superhero marvel -🦸‍♂️ man superhero man male good hero superpowers -🦸‍♀️ woman superhero woman female good heroine superpowers -🦹 supervillain marvel -🦹‍♂️ man supervillain man male evil bad criminal hero superpowers -🦹‍♀️ woman supervillain woman female evil bad criminal heroine superpowers -🧙 mage magic -🧙‍♂️ man mage man male mage sorcerer -🧙‍♀️ woman mage woman female mage witch -🧚 fairy wings magical -🧚‍♂️ man fairy man male -🧚‍♀️ woman fairy woman female -🧛 vampire blood twilight -🧛‍♂️ man vampire man male dracula -🧛‍♀️ woman vampire woman female -🧜 merperson sea -🧜‍♂️ merman man male triton -🧜‍♀️ mermaid woman female merwoman ariel -🧝 elf magical -🧝‍♂️ man elf man male -🧝‍♀️ woman elf woman female -🧞 genie magical wishes -🧞‍♂️ man genie man male -🧞‍♀️ woman genie woman female -🧟 zombie dead -🧟‍♂️ man zombie man male dracula undead walking dead -🧟‍♀️ woman zombie woman female undead walking dead -💆 person getting massage relax -💆‍♂️ man getting massage male boy man head -💆‍♀️ woman getting massage female girl woman head -💇 person getting haircut hairstyle -💇‍♂️ man getting haircut male boy man -💇‍♀️ woman getting haircut female girl woman -🚶 person walking move -🚶‍♂️ man walking human feet steps -🚶‍♀️ woman walking human feet steps woman female -🧍 person standing still -🧍‍♂️ man standing still -🧍‍♀️ woman standing still -🧎 person kneeling pray respectful -🧎‍♂️ man kneeling pray respectful -🧎‍♀️ woman kneeling respectful pray -🧑‍🦯 person with probing cane blind -👨‍🦯 man with probing cane blind -👩‍🦯 woman with probing cane blind -🧑‍🦼 person in motorized wheelchair disability accessibility -👨‍🦼 man in motorized wheelchair disability accessibility -👩‍🦼 woman in motorized wheelchair disability accessibility -🧑‍🦽 person in manual wheelchair disability accessibility -👨‍🦽 man in manual wheelchair disability accessibility -👩‍🦽 woman in manual wheelchair disability accessibility -🏃 person running move -🏃‍♂️ man running man walking exercise race running -🏃‍♀️ woman running woman walking exercise race running female -💃 woman dancing female girl woman fun -🕺 man dancing male boy fun dancer -🕴️ man in suit levitating suit business levitate hover jump -👯 people with bunny ears perform costume -👯‍♂️ men with bunny ears male bunny men boys -👯‍♀️ women with bunny ears female bunny women girls -🧖 person in steamy room relax spa -🧖‍♂️ man in steamy room male man spa steamroom sauna -🧖‍♀️ woman in steamy room female woman spa steamroom sauna -🧗 person climbing sport -🧗‍♂️ man climbing sports hobby man male rock -🧗‍♀️ woman climbing sports hobby woman female rock -🤺 person fencing sports fencing sword -🏇 horse racing animal betting competition gambling luck -⛷️ skier sports winter snow -🏂 snowboarder sports winter -🏌️ person golfing sports business -🏌️‍♂️ man golfing sport -🏌️‍♀️ woman golfing sports business woman female -🏄 person surfing sport sea -🏄‍♂️ man surfing sports ocean sea summer beach -🏄‍♀️ woman surfing sports ocean sea summer beach woman female -🚣 person rowing boat sport move -🚣‍♂️ man rowing boat sports hobby water ship -🚣‍♀️ woman rowing boat sports hobby water ship woman female -🏊 person swimming sport pool -🏊‍♂️ man swimming sports exercise human athlete water summer -🏊‍♀️ woman swimming sports exercise human athlete water summer woman female -⛹️ person bouncing ball sports human -⛹️‍♂️ man bouncing ball sport -⛹️‍♀️ woman bouncing ball sports human woman female -🏋️ person lifting weights sports training exercise -🏋️‍♂️ man lifting weights sport -🏋️‍♀️ woman lifting weights sports training exercise woman female -🚴 person biking sport move -🚴‍♂️ man biking sports bike exercise hipster -🚴‍♀️ woman biking sports bike exercise hipster woman female -🚵 person mountain biking sport move -🚵‍♂️ man mountain biking transportation sports human race bike -🚵‍♀️ woman mountain biking transportation sports human race bike woman female -🤸 person cartwheeling sport gymnastic -🤸‍♂️ man cartwheeling gymnastics -🤸‍♀️ woman cartwheeling gymnastics -🤼 people wrestling sport -🤼‍♂️ men wrestling sports wrestlers -🤼‍♀️ women wrestling sports wrestlers -🤽 person playing water polo sport -🤽‍♂️ man playing water polo sports pool -🤽‍♀️ woman playing water polo sports pool -🤾 person playing handball sport -🤾‍♂️ man playing handball sports -🤾‍♀️ woman playing handball sports -🤹 person juggling performance balance -🤹‍♂️ man juggling juggle balance skill multitask -🤹‍♀️ woman juggling juggle balance skill multitask -🧘 person in lotus position meditate -🧘‍♂️ man in lotus position man male meditation yoga serenity zen mindfulness -🧘‍♀️ woman in lotus position woman female meditation yoga serenity zen mindfulness -🛀 person taking bath clean shower bathroom -🛌 person in bed bed rest -🧑‍🤝‍🧑 people holding hands friendship -👭 women holding hands pair friendship couple love like female people human -👫 woman and man holding hands pair people human love date dating like affection valentines marriage -👬 men holding hands pair couple love like bromance friendship people human -💏 kiss pair valentines love like dating marriage -👩‍❤️‍💋‍👨 kiss woman man love -👨‍❤️‍💋‍👨 kiss man man pair valentines love like dating marriage -👩‍❤️‍💋‍👩 kiss woman woman pair valentines love like dating marriage -💑 couple with heart pair love like affection human dating valentines marriage -👩‍❤️‍👨 couple with heart woman man love -👨‍❤️‍👨 couple with heart man man pair love like affection human dating valentines marriage -👩‍❤️‍👩 couple with heart woman woman pair love like affection human dating valentines marriage -👪 family home parents child mom dad father mother people human -👨‍👩‍👦 family man woman boy love -👨‍👩‍👧 family man woman girl home parents people human child -👨‍👩‍👧‍👦 family man woman girl boy home parents people human children -👨‍👩‍👦‍👦 family man woman boy boy home parents people human children -👨‍👩‍👧‍👧 family man woman girl girl home parents people human children -👨‍👨‍👦 family man man boy home parents people human children -👨‍👨‍👧 family man man girl home parents people human children -👨‍👨‍👧‍👦 family man man girl boy home parents people human children -👨‍👨‍👦‍👦 family man man boy boy home parents people human children -👨‍👨‍👧‍👧 family man man girl girl home parents people human children -👩‍👩‍👦 family woman woman boy home parents people human children -👩‍👩‍👧 family woman woman girl home parents people human children -👩‍👩‍👧‍👦 family woman woman girl boy home parents people human children -👩‍👩‍👦‍👦 family woman woman boy boy home parents people human children -👩‍👩‍👧‍👧 family woman woman girl girl home parents people human children -👨‍👦 family man boy home parent people human child -👨‍👦‍👦 family man boy boy home parent people human children -👨‍👧 family man girl home parent people human child -👨‍👧‍👦 family man girl boy home parent people human children -👨‍👧‍👧 family man girl girl home parent people human children -👩‍👦 family woman boy home parent people human child -👩‍👦‍👦 family woman boy boy home parent people human children -👩‍👧 family woman girl home parent people human child -👩‍👧‍👦 family woman girl boy home parent people human children -👩‍👧‍👧 family woman girl girl home parent people human children -🗣️ speaking head user person human sing say talk -👤 bust in silhouette user person human -👥 busts in silhouette user person human group team -👣 footprints feet tracking walking beach -🐵 monkey face animal nature circus -🐒 monkey animal nature banana circus -🦍 gorilla animal nature circus -🦧 orangutan animal -🐶 dog face animal friend nature woof puppy pet faithful -🐕 dog animal nature friend doge pet faithful -🦮 guide dog animal blind -🐕‍🦺 service dog blind animal -🐩 poodle dog animal 101 nature pet -🐺 wolf animal nature wild -🦊 fox animal nature face -🦝 raccoon animal nature -🐱 cat face animal meow nature pet kitten -🐈 cat animal meow pet cats -🦁 lion animal nature -🐯 tiger face animal cat danger wild nature roar -🐅 tiger animal nature roar -🐆 leopard animal nature -🐴 horse face animal brown nature -🐎 horse animal gamble luck -🦄 unicorn animal nature mystical -🦓 zebra animal nature stripes safari -🦌 deer animal nature horns venison -🐮 cow face beef ox animal nature moo milk -🐂 ox animal cow beef -🐃 water buffalo animal nature ox cow -🐄 cow beef ox animal nature moo milk -🐷 pig face animal oink nature -🐖 pig animal nature -🐗 boar animal nature -🐽 pig nose animal oink -🐏 ram animal sheep nature -🐑 ewe animal nature wool shipit -🐐 goat animal nature -🐪 camel animal hot desert hump -🐫 two hump camel animal nature hot desert hump -🦙 llama animal nature alpaca -🦒 giraffe animal nature spots safari -🐘 elephant animal nature nose th circus -🦏 rhinoceros animal nature horn -🦛 hippopotamus animal nature -🐭 mouse face animal nature cheese wedge rodent -🐁 mouse animal nature rodent -🐀 rat animal mouse rodent -🐹 hamster animal nature -🐰 rabbit face animal nature pet spring magic bunny -🐇 rabbit animal nature pet magic spring -🐿️ chipmunk animal nature rodent squirrel -🦔 hedgehog animal nature spiny -🦇 bat animal nature blind vampire -🐻 bear animal nature wild -🐨 koala animal nature -🐼 panda animal nature panda -🦥 sloth animal -🦦 otter animal -🦨 skunk animal -🦘 kangaroo animal nature australia joey hop marsupial -🦡 badger animal nature honey -🐾 paw prints animal tracking footprints dog cat pet feet -🦃 turkey animal bird -🐔 chicken animal cluck nature bird -🐓 rooster animal nature chicken -🐣 hatching chick animal chicken egg born baby bird -🐤 baby chick animal chicken bird -🐥 front facing baby chick animal chicken baby bird -🐦 bird animal nature fly tweet spring -🐧 penguin animal nature -🕊️ dove animal bird -🦅 eagle animal nature bird -🦆 duck animal nature bird mallard -🦢 swan animal nature bird -🦉 owl animal nature bird hoot -🦩 flamingo animal -🦚 peacock animal nature peahen bird -🦜 parrot animal nature bird pirate talk -🐸 frog animal nature croak toad -🐊 crocodile animal nature reptile lizard alligator -🐢 turtle animal slow nature tortoise -🦎 lizard animal nature reptile -🐍 snake animal evil nature hiss python -🐲 dragon face animal myth nature chinese green -🐉 dragon animal myth nature chinese green -🦕 sauropod animal nature dinosaur brachiosaurus brontosaurus diplodocus extinct -🦖 t rex animal nature dinosaur tyrannosaurus extinct -🐳 spouting whale animal nature sea ocean -🐋 whale animal nature sea ocean -🐬 dolphin animal nature fish sea ocean flipper fins beach -🐟 fish animal food nature -🐠 tropical fish animal swim ocean beach nemo -🐡 blowfish animal nature food sea ocean -🦈 shark animal nature fish sea ocean jaws fins beach -🐙 octopus animal creature ocean sea nature beach -🐚 spiral shell nature sea beach -🐌 snail slow animal shell -🦋 butterfly animal insect nature caterpillar -🐛 bug animal insect nature worm -🐜 ant animal insect nature bug -🐝 honeybee animal insect nature bug spring honey -🐞 lady beetle animal insect nature ladybug -🦗 cricket animal cricket chirp -🕷️ spider animal arachnid -🕸️ spider web animal insect arachnid silk -🦂 scorpion animal arachnid -🦟 mosquito animal nature insect malaria -🦠 microbe amoeba bacteria germs virus -💐 bouquet flowers nature spring -🌸 cherry blossom nature plant spring flower -💮 white flower japanese spring -🏵️ rosette flower decoration military -🌹 rose flowers valentines love spring -🥀 wilted flower plant nature flower -🌺 hibiscus plant vegetable flowers beach -🌻 sunflower nature plant fall -🌼 blossom nature flowers yellow -🌷 tulip flowers plant nature summer spring -🌱 seedling plant nature grass lawn spring -🌲 evergreen tree plant nature -🌳 deciduous tree plant nature -🌴 palm tree plant vegetable nature summer beach mojito tropical -🌵 cactus vegetable plant nature -🌾 sheaf of rice nature plant -🌿 herb vegetable plant medicine weed grass lawn -☘️ shamrock vegetable plant nature irish clover -🍀 four leaf clover vegetable plant nature lucky irish -🍁 maple leaf nature plant vegetable ca fall -🍂 fallen leaf nature plant vegetable leaves -🍃 leaf fluttering in wind nature plant tree vegetable grass lawn spring -🍇 grapes fruit food wine -🍈 melon fruit nature food -🍉 watermelon fruit food picnic summer -🍊 tangerine food fruit nature orange -🍋 lemon fruit nature -🍌 banana fruit food monkey -🍍 pineapple fruit nature food -🥭 mango fruit food tropical -🍎 red apple fruit mac school -🍏 green apple fruit nature -🍐 pear fruit nature food -🍑 peach fruit nature food -🍒 cherries food fruit -🍓 strawberry fruit food nature -🥝 kiwi fruit fruit food -🍅 tomato fruit vegetable nature food -🥥 coconut fruit nature food palm -🥑 avocado fruit food -🍆 eggplant vegetable nature food aubergine -🥔 potato food tuber vegatable starch -🥕 carrot vegetable food orange -🌽 ear of corn food vegetable plant -🌶️ hot pepper food spicy chilli chili -🥒 cucumber fruit food pickle -🥬 leafy green food vegetable plant bok choy cabbage kale lettuce -🥦 broccoli fruit food vegetable -🧄 garlic food spice cook -🧅 onion cook food spice -🍄 mushroom plant vegetable -🥜 peanuts food nut -🌰 chestnut food squirrel -🍞 bread food wheat breakfast toast -🥐 croissant food bread french -🥖 baguette bread food bread french -🥨 pretzel food bread twisted -🥯 bagel food bread bakery schmear -🥞 pancakes food breakfast flapjacks hotcakes -🧇 waffle food breakfast -🧀 cheese wedge food chadder -🍖 meat on bone good food drumstick -🍗 poultry leg food meat drumstick bird chicken turkey -🥩 cut of meat food cow meat cut chop lambchop porkchop -🥓 bacon food breakfast pork pig meat -🍔 hamburger meat fast food beef cheeseburger mcdonalds burger king -🍟 french fries chips snack fast food -🍕 pizza food party -🌭 hot dog food frankfurter -🥪 sandwich food lunch bread -🌮 taco food mexican -🌯 burrito food mexican -🥙 stuffed flatbread food flatbread stuffed gyro -🧆 falafel food -🥚 egg food chicken breakfast -🍳 cooking food breakfast kitchen egg -🥘 shallow pan of food food cooking casserole paella -🍲 pot of food food meat soup -🥣 bowl with spoon food breakfast cereal oatmeal porridge -🥗 green salad food healthy lettuce -🍿 popcorn food movie theater films snack -🧈 butter food cook -🧂 salt condiment shaker -🥫 canned food food soup -🍱 bento box food japanese box -🍘 rice cracker food japanese -🍙 rice ball food japanese -🍚 cooked rice food china asian -🍛 curry rice food spicy hot indian -🍜 steaming bowl food japanese noodle chopsticks -🍝 spaghetti food italian noodle -🍠 roasted sweet potato food nature -🍢 oden food japanese -🍣 sushi food fish japanese rice -🍤 fried shrimp food animal appetizer summer -🍥 fish cake with swirl food japan sea beach narutomaki pink swirl kamaboko surimi ramen -🥮 moon cake food autumn -🍡 dango food dessert sweet japanese barbecue meat -🥟 dumpling food empanada pierogi potsticker -🥠 fortune cookie food prophecy -🥡 takeout box food leftovers -🦀 crab animal crustacean -🦞 lobster animal nature bisque claws seafood -🦐 shrimp animal ocean nature seafood -🦑 squid animal nature ocean sea -🦪 oyster food -🍦 soft ice cream food hot dessert summer -🍧 shaved ice hot dessert summer -🍨 ice cream food hot dessert -🍩 doughnut food dessert snack sweet donut -🍪 cookie food snack oreo chocolate sweet dessert -🎂 birthday cake food dessert cake -🍰 shortcake food dessert -🧁 cupcake food dessert bakery sweet -🥧 pie food dessert pastry -🍫 chocolate bar food snack dessert sweet -🍬 candy snack dessert sweet lolly -🍭 lollipop food snack candy sweet -🍮 custard dessert food -🍯 honey pot bees sweet kitchen -🍼 baby bottle food container milk -🥛 glass of milk beverage drink cow -☕ hot beverage beverage caffeine latte espresso coffee -🍵 teacup without handle drink bowl breakfast green british -🍶 sake wine drink drunk beverage japanese alcohol booze -🍾 bottle with popping cork drink wine bottle celebration -🍷 wine glass drink beverage drunk alcohol booze -🍸 cocktail glass drink drunk alcohol beverage booze mojito -🍹 tropical drink beverage cocktail summer beach alcohol booze mojito -🍺 beer mug relax beverage drink drunk party pub summer alcohol booze -🍻 clinking beer mugs relax beverage drink drunk party pub summer alcohol booze -🥂 clinking glasses beverage drink party alcohol celebrate cheers wine champagne toast -🥃 tumbler glass drink beverage drunk alcohol liquor booze bourbon scotch whisky glass shot -🥤 cup with straw drink soda -🧃 beverage box drink -🧉 mate drink tea beverage -🧊 ice water cold -🥢 chopsticks food -🍽️ fork and knife with plate food eat meal lunch dinner restaurant -🍴 fork and knife cutlery kitchen -🥄 spoon cutlery kitchen tableware -🔪 kitchen knife knife blade cutlery kitchen weapon -🏺 amphora vase jar -🌍 globe showing europe africa globe world international -🌎 globe showing americas globe world USA international -🌏 globe showing asia australia globe world east international -🌐 globe with meridians earth international world internet interweb i18n -🗺️ world map location direction -🗾 map of japan nation country japanese asia -🧭 compass magnetic navigation orienteering -🏔️ snow capped mountain photo nature environment winter cold -⛰️ mountain photo nature environment -🌋 volcano photo nature disaster -🗻 mount fuji photo mountain nature japanese -🏕️ camping photo outdoors tent -🏖️ beach with umbrella weather summer sunny sand mojito -🏜️ desert photo warm saharah -🏝️ desert island photo tropical mojito -🏞️ national park photo environment nature -🏟️ stadium photo place sports concert venue -🏛️ classical building art culture history -🏗️ building construction wip working progress -🧱 brick bricks -🏘️ houses buildings photo -🏚️ derelict house abandon evict broken building -🏠 house building home -🏡 house with garden home plant nature -🏢 office building building bureau work -🏣 japanese post office building envelope communication -🏤 post office building email -🏥 hospital building health surgery doctor -🏦 bank building money sales cash business enterprise -🏨 hotel building accomodation checkin -🏩 love hotel like affection dating -🏪 convenience store building shopping groceries -🏫 school building student education learn teach -🏬 department store building shopping mall -🏭 factory building industry pollution smoke -🏯 japanese castle photo building -🏰 castle building royalty history -💒 wedding love like affection couple marriage bride groom -🗼 tokyo tower photo japanese -🗽 statue of liberty american newyork -⛪ church building religion christ -🕌 mosque islam worship minaret -🛕 hindu temple religion -🕍 synagogue judaism worship temple jewish -⛩️ shinto shrine temple japan kyoto -🕋 kaaba mecca mosque islam -⛲ fountain photo summer water fresh -⛺ tent photo camping outdoors -🌁 foggy photo mountain -🌃 night with stars evening city downtown -🏙️ cityscape photo night life urban -🌄 sunrise over mountains view vacation photo -🌅 sunrise morning view vacation photo -🌆 cityscape at dusk photo evening sky buildings -🌇 sunset photo good morning dawn -🌉 bridge at night photo sanfrancisco -♨️ hot springs bath warm relax -🎠 carousel horse photo carnival -🎡 ferris wheel photo carnival londoneye -🎢 roller coaster carnival playground photo fun -💈 barber pole hair salon style -🎪 circus tent festival carnival party -🚂 locomotive transportation vehicle train -🚃 railway car transportation vehicle -🚄 high speed train transportation vehicle -🚅 bullet train transportation vehicle speed fast public travel -🚆 train transportation vehicle -🚇 metro transportation blue-square mrt underground tube -🚈 light rail transportation vehicle -🚉 station transportation vehicle public -🚊 tram transportation vehicle -🚝 monorail transportation vehicle -🚞 mountain railway transportation vehicle -🚋 tram car transportation vehicle carriage public travel -🚌 bus car vehicle transportation -🚍 oncoming bus vehicle transportation -🚎 trolleybus bart transportation vehicle -🚐 minibus vehicle car transportation -🚑 ambulance health 911 hospital -🚒 fire engine transportation cars vehicle -🚓 police car vehicle cars transportation law legal enforcement -🚔 oncoming police car vehicle law legal enforcement 911 -🚕 taxi uber vehicle cars transportation -🚖 oncoming taxi vehicle cars uber -🚗 automobile red transportation vehicle -🚘 oncoming automobile car vehicle transportation -🚙 sport utility vehicle transportation vehicle -🚚 delivery truck cars transportation -🚛 articulated lorry vehicle cars transportation express -🚜 tractor vehicle car farming agriculture -🏎️ racing car sports race fast formula f1 -🏍️ motorcycle race sports fast -🛵 motor scooter vehicle vespa sasha -🦽 manual wheelchair accessibility -🦼 motorized wheelchair accessibility -🛺 auto rickshaw move transportation -🚲 bicycle sports bicycle exercise hipster -🛴 kick scooter vehicle kick razor -🛹 skateboard board -🚏 bus stop transportation wait -🛣️ motorway road cupertino interstate highway -🛤️ railway track train transportation -🛢️ oil drum barrell -⛽ fuel pump gas station petroleum -🚨 police car light police ambulance 911 emergency alert error pinged law legal -🚥 horizontal traffic light transportation signal -🚦 vertical traffic light transportation driving -🛑 stop sign stop -🚧 construction wip progress caution warning -⚓ anchor ship ferry sea boat -⛵ sailboat ship summer transportation water sailing -🛶 canoe boat paddle water ship -🚤 speedboat ship transportation vehicle summer -🛳️ passenger ship yacht cruise ferry -⛴️ ferry boat ship yacht -🛥️ motor boat ship -🚢 ship transportation titanic deploy -✈️ airplane vehicle transportation flight fly -🛩️ small airplane flight transportation fly vehicle -🛫 airplane departure airport flight landing -🛬 airplane arrival airport flight boarding -🪂 parachute fly glide -💺 seat sit airplane transport bus flight fly -🚁 helicopter transportation vehicle fly -🚟 suspension railway vehicle transportation -🚠 mountain cableway transportation vehicle ski -🚡 aerial tramway transportation vehicle ski -🛰️ satellite communication gps orbit spaceflight NASA ISS -🚀 rocket launch ship staffmode NASA outer space outer space fly -🛸 flying saucer transportation vehicle ufo -🛎️ bellhop bell service -🧳 luggage packing travel -⌛ hourglass done time clock oldschool limit exam quiz test -⏳ hourglass not done oldschool time countdown -⌚ watch time accessories -⏰ alarm clock time wake -⏱️ stopwatch time deadline -⏲️ timer clock alarm -🕰️ mantelpiece clock time -🕛 twelve o clock time noon midnight midday late early schedule -🕧 twelve thirty time late early schedule -🕐 one o clock time late early schedule -🕜 one thirty time late early schedule -🕑 two o clock time late early schedule -🕝 two thirty time late early schedule -🕒 three o clock time late early schedule -🕞 three thirty time late early schedule -🕓 four o clock time late early schedule -🕟 four thirty time late early schedule -🕔 five o clock time late early schedule -🕠 five thirty time late early schedule -🕕 six o clock time late early schedule dawn dusk -🕡 six thirty time late early schedule -🕖 seven o clock time late early schedule -🕢 seven thirty time late early schedule -🕗 eight o clock time late early schedule -🕣 eight thirty time late early schedule -🕘 nine o clock time late early schedule -🕤 nine thirty time late early schedule -🕙 ten o clock time late early schedule -🕥 ten thirty time late early schedule -🕚 eleven o clock time late early schedule -🕦 eleven thirty time late early schedule -🌑 new moon nature twilight planet space night evening sleep -🌒 waxing crescent moon nature twilight planet space night evening sleep -🌓 first quarter moon nature twilight planet space night evening sleep -🌔 waxing gibbous moon nature night sky gray twilight planet space evening sleep -🌕 full moon nature yellow twilight planet space night evening sleep -🌖 waning gibbous moon nature twilight planet space night evening sleep waxing gibbous moon -🌗 last quarter moon nature twilight planet space night evening sleep -🌘 waning crescent moon nature twilight planet space night evening sleep -🌙 crescent moon night sleep sky evening magic -🌚 new moon face nature twilight planet space night evening sleep -🌛 first quarter moon face nature twilight planet space night evening sleep -🌜 last quarter moon face nature twilight planet space night evening sleep -🌡️ thermometer weather temperature hot cold -☀️ sun weather nature brightness summer beach spring -🌝 full moon face nature twilight planet space night evening sleep -🌞 sun with face nature morning sky -🪐 ringed planet outerspace -⭐ star night yellow -🌟 glowing star night sparkle awesome good magic -🌠 shooting star night photo -🌌 milky way photo space stars -☁️ cloud weather sky -⛅ sun behind cloud weather nature cloudy morning fall spring -⛈️ cloud with lightning and rain weather lightning -🌤️ sun behind small cloud weather -🌥️ sun behind large cloud weather -🌦️ sun behind rain cloud weather -🌧️ cloud with rain weather -🌨️ cloud with snow weather -🌩️ cloud with lightning weather thunder -🌪️ tornado weather cyclone twister -🌫️ fog weather -🌬️ wind face gust air -🌀 cyclone weather swirl blue cloud vortex spiral whirlpool spin tornado hurricane typhoon -🌈 rainbow nature happy unicorn face photo sky spring -🌂 closed umbrella weather rain drizzle -☂️ umbrella weather spring -☔ umbrella with rain drops rainy weather spring -⛱️ umbrella on ground weather summer -⚡ high voltage thunder weather lightning bolt fast -❄️ snowflake winter season cold weather christmas xmas -☃️ snowman winter season cold weather christmas xmas frozen -⛄ snowman without snow winter season cold weather christmas xmas frozen without snow -☄️ comet space -🔥 fire hot cook flame -💧 droplet water drip faucet spring -🌊 water wave sea water wave nature tsunami disaster -🎃 jack o lantern halloween light pumpkin creepy fall -🎄 christmas tree festival vacation december xmas celebration -🎆 fireworks photo festival carnival congratulations -🎇 sparkler stars night shine -🧨 firecracker dynamite boom explode explosion explosive -✨ sparkles stars shine shiny cool awesome good magic -🎈 balloon party celebration birthday circus -🎉 party popper party congratulations birthday magic circus celebration tada -🎊 confetti ball festival party birthday circus -🎋 tanabata tree plant nature branch summer -🎍 pine decoration plant nature vegetable panda pine decoration -🎎 japanese dolls japanese toy kimono -🎏 carp streamer fish japanese koinobori carp banner -🎐 wind chime nature ding spring bell -🎑 moon viewing ceremony photo japan asia tsukimi -🧧 red envelope gift -🎀 ribbon decoration pink girl bowtie -🎁 wrapped gift present birthday christmas xmas -🎗️ reminder ribbon sports cause support awareness -🎟️ admission tickets sports concert entrance -🎫 ticket event concert pass -🎖️ military medal award winning army -🏆 trophy win award contest place ftw ceremony -🏅 sports medal award winning -🥇 1st place medal award winning first -🥈 2nd place medal award second -🥉 3rd place medal award third -⚽ soccer ball sports football -⚾ baseball sports balls -🥎 softball sports balls -🏀 basketball sports balls NBA -🏐 volleyball sports balls -🏈 american football sports balls NFL -🏉 rugby football sports team -🎾 tennis sports balls green -🥏 flying disc sports frisbee ultimate -🎳 bowling sports fun play -🏏 cricket game sports -🏑 field hockey sports -🏒 ice hockey sports -🥍 lacrosse sports ball stick -🏓 ping pong sports pingpong -🏸 badminton sports -🥊 boxing glove sports fighting -🥋 martial arts uniform judo karate taekwondo -🥅 goal net sports -⛳ flag in hole sports business flag hole summer -⛸️ ice skate sports -🎣 fishing pole food hobby summer -🤿 diving mask sport ocean -🎽 running shirt play pageant -🎿 skis sports winter cold snow -🛷 sled sleigh luge toboggan -🥌 curling stone sports -🎯 direct hit game play bar target bullseye -🪀 yo yo toy -🪁 kite wind fly -🎱 pool 8 ball pool hobby game luck magic -🔮 crystal ball disco party magic circus fortune teller -🧿 nazar amulet bead charm -🎮 video game play console PS4 Wii GameCube controller -🕹️ joystick game play -🎰 slot machine bet gamble vegas fruit machine luck casino -🎲 game die dice random tabletop play luck -🧩 puzzle piece interlocking puzzle piece -🧸 teddy bear plush stuffed -♠️ spade suit poker cards suits magic -♥️ heart suit poker cards magic suits -♦️ diamond suit poker cards magic suits -♣️ club suit poker cards magic suits -♟️ chess pawn expendable -🃏 joker poker cards game play magic -🀄 mahjong red dragon game play chinese kanji -🎴 flower playing cards game sunset red -🎭 performing arts acting theater drama -🖼️ framed picture photography -🎨 artist palette design paint draw colors -🧵 thread needle sewing spool string -🧶 yarn ball crochet knit -👓 glasses fashion accessories eyesight nerdy dork geek -🕶️ sunglasses face cool accessories -🥽 goggles eyes protection safety -🥼 lab coat doctor experiment scientist chemist -🦺 safety vest protection -👔 necktie shirt suitup formal fashion cloth business -👕 t shirt fashion cloth casual shirt tee -👖 jeans fashion shopping -🧣 scarf neck winter clothes -🧤 gloves hands winter clothes -🧥 coat jacket -🧦 socks stockings clothes -👗 dress clothes fashion shopping -👘 kimono dress fashion women female japanese -🥻 sari dress -🩱 one piece swimsuit fashion -🩲 briefs clothing -🩳 shorts clothing -👙 bikini swimming female woman girl fashion beach summer -👚 woman s clothes fashion shopping bags female -👛 purse fashion accessories money sales shopping -👜 handbag fashion accessory accessories shopping -👝 clutch bag bag accessories shopping -🛍️ shopping bags mall buy purchase -🎒 backpack student education bag backpack -👞 man s shoe fashion male -👟 running shoe shoes sports sneakers -🥾 hiking boot backpacking camping hiking -🥿 flat shoe ballet slip-on slipper -👠 high heeled shoe fashion shoes female pumps stiletto -👡 woman s sandal shoes fashion flip flops -🩰 ballet shoes dance -👢 woman s boot shoes fashion -👑 crown king kod leader royalty lord -👒 woman s hat fashion accessories female lady spring -🎩 top hat magic gentleman classy circus -🎓 graduation cap school college degree university graduation cap hat legal learn education -🧢 billed cap cap baseball -⛑️ rescue worker s helmet construction build -📿 prayer beads dhikr religious -💄 lipstick female girl fashion woman -💍 ring wedding propose marriage valentines diamond fashion jewelry gem engagement -💎 gem stone blue ruby diamond jewelry -🔇 muted speaker sound volume silence quiet -🔈 speaker low volume sound volume silence broadcast -🔉 speaker medium volume volume speaker broadcast -🔊 speaker high volume volume noise noisy speaker broadcast -📢 loudspeaker volume sound -📣 megaphone sound speaker volume -📯 postal horn instrument music -🔔 bell sound notification christmas xmas chime -🔕 bell with slash sound volume mute quiet silent -🎼 musical score treble clef compose -🎵 musical note score tone sound -🎶 musical notes music score -🎙️ studio microphone sing recording artist talkshow -🎚️ level slider scale -🎛️ control knobs dial -🎤 microphone sound music PA sing talkshow -🎧 headphone music score gadgets -📻 radio communication music podcast program -🎷 saxophone music instrument jazz blues -🎸 guitar music instrument -🎹 musical keyboard piano instrument compose -🎺 trumpet music brass -🎻 violin music instrument orchestra symphony -🪕 banjo music instructment -🥁 drum music instrument drumsticks snare -📱 mobile phone technology apple gadgets dial -📲 mobile phone with arrow iphone incoming -☎️ telephone technology communication dial telephone -📞 telephone receiver technology communication dial -📟 pager bbcall oldschool 90s -📠 fax machine communication technology -🔋 battery power energy sustain -🔌 electric plug charger power -💻 laptop technology laptop screen display monitor -🖥️ desktop computer technology computing screen -🖨️ printer paper ink -⌨️ keyboard technology computer type input text -🖱️ computer mouse click -🖲️ trackball technology trackpad -💽 computer disk technology record data disk 90s -💾 floppy disk oldschool technology save 90s 80s -💿 optical disk technology dvd disk disc 90s -📀 dvd cd disk disc -🧮 abacus calculation -🎥 movie camera film record -🎞️ film frames movie -📽️ film projector video tape record movie -🎬 clapper board movie film record -📺 television technology program oldschool show television -📷 camera gadgets photography -📸 camera with flash photography gadgets -📹 video camera film record -📼 videocassette record video oldschool 90s 80s -🔍 magnifying glass tilted left search zoom find detective -🔎 magnifying glass tilted right search zoom find detective -🕯️ candle fire wax -💡 light bulb light electricity idea -🔦 flashlight dark camping sight night -🏮 red paper lantern light paper halloween spooky -🪔 diya lamp lighting -📔 notebook with decorative cover classroom notes record paper study -📕 closed book read library knowledge textbook learn -📖 open book book read library knowledge literature learn study -📗 green book read library knowledge study -📘 blue book read library knowledge learn study -📙 orange book read library knowledge textbook study -📚 books literature library study -📓 notebook stationery record notes paper study -📒 ledger notes paper -📃 page with curl documents office paper -📜 scroll documents ancient history paper -📄 page facing up documents office paper information -📰 newspaper press headline -🗞️ rolled up newspaper press headline -📑 bookmark tabs favorite save order tidy -🔖 bookmark favorite label save -🏷️ label sale tag -💰 money bag dollar payment coins sale -💴 yen banknote money sales japanese dollar currency -💵 dollar banknote money sales bill currency -💶 euro banknote money sales dollar currency -💷 pound banknote british sterling money sales bills uk england currency -💸 money with wings dollar bills payment sale -💳 credit card money sales dollar bill payment shopping -🧾 receipt accounting expenses -💹 chart increasing with yen green-square graph presentation stats -💱 currency exchange money sales dollar travel -💲 heavy dollar sign money sales payment currency buck -✉️ envelope letter postal inbox communication -📧 e mail communication inbox -📨 incoming envelope email inbox -📩 envelope with arrow email communication -📤 outbox tray inbox email -📥 inbox tray email documents -📦 package mail gift cardboard box moving -📫 closed mailbox with raised flag email inbox communication -📪 closed mailbox with lowered flag email communication inbox -📬 open mailbox with raised flag email inbox communication -📭 open mailbox with lowered flag email inbox -📮 postbox email letter envelope -🗳️ ballot box with ballot election vote -✏️ pencil stationery write paper writing school study -✒️ black nib pen stationery writing write -🖋️ fountain pen stationery writing write -🖊️ pen stationery writing write -🖌️ paintbrush drawing creativity art -🖍️ crayon drawing creativity -📝 memo write documents stationery pencil paper writing legal exam quiz test study compose -💼 briefcase business documents work law legal job career -📁 file folder documents business office -📂 open file folder documents load -🗂️ card index dividers organizing business stationery -📅 calendar calendar schedule -📆 tear off calendar schedule date planning -🗒️ spiral notepad memo stationery -🗓️ spiral calendar date schedule planning -📇 card index business stationery -📈 chart increasing graph presentation stats recovery business economics money sales good success -📉 chart decreasing graph presentation stats recession business economics money sales bad failure -📊 bar chart graph presentation stats -📋 clipboard stationery documents -📌 pushpin stationery mark here -📍 round pushpin stationery location map here -📎 paperclip documents stationery -🖇️ linked paperclips documents stationery -📏 straight ruler stationery calculate length math school drawing architect sketch -📐 triangular ruler stationery math architect sketch -✂️ scissors stationery cut -🗃️ card file box business stationery -🗄️ file cabinet filing organizing -🗑️ wastebasket bin trash rubbish garbage toss -🔒 locked security password padlock -🔓 unlocked privacy security -🔏 locked with pen security secret -🔐 locked with key security privacy -🔑 key lock door password -🗝️ old key lock door password -🔨 hammer tools build create -🪓 axe tool chop cut -⛏️ pick tools dig -⚒️ hammer and pick tools build create -🛠️ hammer and wrench tools build create -🗡️ dagger weapon -⚔️ crossed swords weapon -🔫 pistol violence weapon pistol revolver -🏹 bow and arrow sports -🛡️ shield protection security -🔧 wrench tools diy ikea fix maintainer -🔩 nut and bolt handy tools fix -⚙️ gear cog -🗜️ clamp tool -⚖️ balance scale law fairness weight -🦯 probing cane accessibility -🔗 link rings url -⛓️ chains lock arrest -🧰 toolbox tools diy fix maintainer mechanic -🧲 magnet attraction magnetic -⚗️ alembic distilling science experiment chemistry -🧪 test tube chemistry experiment lab science -🧫 petri dish bacteria biology culture lab -🧬 dna biologist genetics life -🔬 microscope laboratory experiment zoomin science study -🔭 telescope stars space zoom science astronomy -📡 satellite antenna communication future radio space -💉 syringe health hospital drugs blood medicine needle doctor nurse -🩸 drop of blood period hurt harm wound -💊 pill health medicine doctor pharmacy drug -🩹 adhesive bandage heal -🩺 stethoscope health -🚪 door house entry exit -🛏️ bed sleep rest -🛋️ couch and lamp read chill -🪑 chair sit furniture -🚽 toilet restroom wc washroom bathroom potty -🚿 shower clean water bathroom -🛁 bathtub clean shower bathroom -🪒 razor cut -🧴 lotion bottle moisturizer sunscreen -🧷 safety pin diaper -🧹 broom cleaning sweeping witch -🧺 basket laundry -🧻 roll of paper roll -🧼 soap bar bathing cleaning lather -🧽 sponge absorbing cleaning porous -🧯 fire extinguisher quench -🛒 shopping cart trolley -🚬 cigarette kills tobacco cigarette joint smoke -⚰️ coffin vampire dead die death rip graveyard cemetery casket funeral box -⚱️ funeral urn dead die death rip ashes -🗿 moai rock easter island moai -🏧 atm sign money sales cash blue-square payment bank -🚮 litter in bin sign blue-square sign human info -🚰 potable water blue-square liquid restroom cleaning faucet -♿ wheelchair symbol blue-square disabled accessibility -🚹 men s room toilet restroom wc blue-square gender male -🚺 women s room purple-square woman female toilet loo restroom gender -🚻 restroom blue-square toilet refresh wc gender -🚼 baby symbol orange-square child -🚾 water closet toilet restroom blue-square -🛂 passport control custom blue-square -🛃 customs passport border blue-square -🛄 baggage claim blue-square airport transport -🛅 left luggage blue-square travel -⚠️ warning exclamation wip alert error problem issue -🚸 children crossing school warning danger sign driving yellow-diamond -⛔ no entry limit security privacy bad denied stop circle -🚫 prohibited forbid stop limit denied disallow circle -🚳 no bicycles cyclist prohibited circle -🚭 no smoking cigarette blue-square smell smoke -🚯 no littering trash bin garbage circle -🚱 non potable water drink faucet tap circle -🚷 no pedestrians rules crossing walking circle -📵 no mobile phones iphone mute circle -🔞 no one under eighteen 18 drink pub night minor circle -☢️ radioactive nuclear danger -☣️ biohazard danger -⬆️ up arrow blue-square continue top direction -↗️ up right arrow blue-square point direction diagonal northeast -➡️ right arrow blue-square next -↘️ down right arrow blue-square direction diagonal southeast -⬇️ down arrow blue-square direction bottom -↙️ down left arrow blue-square direction diagonal southwest -⬅️ left arrow blue-square previous back -↖️ up left arrow blue-square point direction diagonal northwest -↕️ up down arrow blue-square direction way vertical -↔️ left right arrow shape direction horizontal sideways -↩️ right arrow curving left back return blue-square undo enter -↪️ left arrow curving right blue-square return rotate direction -⤴️ right arrow curving up blue-square direction top -⤵️ right arrow curving down blue-square direction bottom -🔃 clockwise vertical arrows sync cycle round repeat -🔄 counterclockwise arrows button blue-square sync cycle -🔙 back arrow arrow words return -🔚 end arrow words arrow -🔛 on arrow arrow words -🔜 soon arrow arrow words -🔝 top arrow words blue-square -🛐 place of worship religion church temple prayer -⚛️ atom symbol science physics chemistry -🕉️ om hinduism buddhism sikhism jainism -✡️ star of david judaism -☸️ wheel of dharma hinduism buddhism sikhism jainism -☯️ yin yang balance -✝️ latin cross christianity -☦️ orthodox cross suppedaneum religion -☪️ star and crescent islam -☮️ peace symbol hippie -🕎 menorah hanukkah candles jewish -🔯 dotted six pointed star purple-square religion jewish hexagram -♈ aries sign purple-square zodiac astrology -♉ taurus purple-square sign zodiac astrology -♊ gemini sign zodiac purple-square astrology -♋ cancer sign zodiac purple-square astrology -♌ leo sign purple-square zodiac astrology -♍ virgo sign zodiac purple-square astrology -♎ libra sign purple-square zodiac astrology -♏ scorpio sign zodiac purple-square astrology scorpio -♐ sagittarius sign zodiac purple-square astrology -♑ capricorn sign zodiac purple-square astrology -♒ aquarius sign purple-square zodiac astrology -♓ pisces purple-square sign zodiac astrology -⛎ ophiuchus sign purple-square constellation astrology -🔀 shuffle tracks button blue-square shuffle music random -🔁 repeat button loop record -🔂 repeat single button blue-square loop -▶️ play button blue-square right direction play -⏩ fast forward button blue-square play speed continue -⏭️ next track button forward next blue-square -⏯️ play or pause button blue-square play pause -◀️ reverse button blue-square left direction -⏪ fast reverse button play blue-square -⏮️ last track button backward -🔼 upwards button blue-square triangle direction point forward top -⏫ fast up button blue-square direction top -🔽 downwards button blue-square direction bottom -⏬ fast down button blue-square direction bottom -⏸️ pause button pause blue-square -⏹️ stop button blue-square -⏺️ record button blue-square -⏏️ eject button blue-square -🎦 cinema blue-square record film movie curtain stage theater -🔅 dim button sun afternoon warm summer -🔆 bright button sun light -📶 antenna bars blue-square reception phone internet connection wifi bluetooth bars -📳 vibration mode orange-square phone -📴 mobile phone off mute orange-square silence quiet -♀️ female sign woman women lady girl -♂️ male sign man boy men -⚕️ medical symbol health hospital -♾️ infinity forever -♻️ recycling symbol arrow environment garbage trash -⚜️ fleur de lis decorative scout -🔱 trident emblem weapon spear -📛 name badge fire forbid -🔰 japanese symbol for beginner badge shield -⭕ hollow red circle circle round -✅ check mark button green-square ok agree vote election answer tick -☑️ check box with check ok agree confirm black-square vote election yes tick -✔️ check mark ok nike answer yes tick -✖️ multiplication sign math calculation -❌ cross mark no delete remove cancel red -❎ cross mark button x green-square no deny -➕ plus sign math calculation addition more increase -➖ minus sign math calculation subtract less -➗ division sign divide math calculation -➰ curly loop scribble draw shape squiggle -➿ double curly loop tape cassette -〽️ part alternation mark graph presentation stats business economics bad -✳️ eight spoked asterisk star sparkle green-square -✴️ eight pointed star orange-square shape polygon -❇️ sparkle stars green-square awesome good fireworks -‼️ double exclamation mark exclamation surprise -⁉️ exclamation question mark wat punctuation surprise -❓ question mark doubt confused -❔ white question mark doubts gray huh confused -❕ white exclamation mark surprise punctuation gray wow warning -❗ exclamation mark heavy exclamation mark danger surprise punctuation wow warning -〰️ wavy dash draw line moustache mustache squiggle scribble -©️ copyright ip license circle law legal -®️ registered alphabet circle -™️ trade mark trademark brand law legal -#️⃣ keycap # symbol blue-square twitter -*️⃣ keycap * star keycap -0️⃣ keycap 0 0 numbers blue-square null -1️⃣ keycap 1 blue-square numbers 1 -2️⃣ keycap 2 numbers 2 prime blue-square -3️⃣ keycap 3 3 numbers prime blue-square -4️⃣ keycap 4 4 numbers blue-square -5️⃣ keycap 5 5 numbers blue-square prime -6️⃣ keycap 6 6 numbers blue-square -7️⃣ keycap 7 7 numbers blue-square prime -8️⃣ keycap 8 8 blue-square numbers -9️⃣ keycap 9 blue-square numbers 9 -🔟 keycap 10 numbers 10 blue-square -🔠 input latin uppercase alphabet words blue-square -🔡 input latin lowercase blue-square alphabet -🔢 input numbers numbers blue-square -🔣 input symbols blue-square music note ampersand percent glyphs characters -🔤 input latin letters blue-square alphabet -🅰️ a button red-square alphabet letter -🆎 ab button red-square alphabet -🅱️ b button red-square alphabet letter -🆑 cl button alphabet words red-square -🆒 cool button words blue-square -🆓 free button blue-square words -ℹ️ information blue-square alphabet letter -🆔 id button purple-square words -Ⓜ️ circled m alphabet blue-circle letter -🆕 new button blue-square words start -🆖 ng button blue-square words shape icon -🅾️ o button alphabet red-square letter -🆗 ok button good agree yes blue-square -🅿️ p button cars blue-square alphabet letter -🆘 sos button help red-square words emergency 911 -🆙 up button blue-square above high -🆚 vs button words orange-square -🈁 japanese here button blue-square here katakana japanese destination -🈂️ japanese service charge button japanese blue-square katakana -🈷️ japanese monthly amount button chinese month moon japanese orange-square kanji -🈶 japanese not free of charge button orange-square chinese have kanji -🈯 japanese reserved button chinese point green-square kanji -🉐 japanese bargain button chinese kanji obtain get circle -🈹 japanese discount button cut divide chinese kanji pink-square -🈚 japanese free of charge button nothing chinese kanji japanese orange-square -🈲 japanese prohibited button kanji japanese chinese forbidden limit restricted red-square -🉑 japanese acceptable button ok good chinese kanji agree yes orange-circle -🈸 japanese application button chinese japanese kanji orange-square -🈴 japanese passing grade button japanese chinese join kanji red-square -🈳 japanese vacancy button kanji japanese chinese empty sky blue-square -㊗️ japanese congratulations button chinese kanji japanese red-circle -㊙️ japanese secret button privacy chinese sshh kanji red-circle -🈺 japanese open for business button japanese opening hours orange-square -🈵 japanese no vacancy button full chinese japanese red-square kanji -🔴 red circle shape error danger -🟠 orange circle round -🟡 yellow circle round -🟢 green circle round -🔵 blue circle shape icon button -🟣 purple circle round -🟤 brown circle round -⚫ black circle shape button round -⚪ white circle shape round -🟥 red square -🟧 orange square -🟨 yellow square -🟩 green square -🟦 blue square -🟪 purple square -🟫 brown square -⬛ black large square shape icon button -⬜ white large square shape icon stone button -◼️ black medium square shape button icon -◻️ white medium square shape stone icon -◾ black medium small square icon shape button -◽ white medium small square shape stone icon button -▪️ black small square shape icon -▫️ white small square shape icon -🔶 large orange diamond shape jewel gem -🔷 large blue diamond shape jewel gem -🔸 small orange diamond shape jewel gem -🔹 small blue diamond shape jewel gem -🔺 red triangle pointed up shape direction up top -🔻 red triangle pointed down shape direction bottom -💠 diamond with a dot jewel blue gem crystal fancy -🔘 radio button input old music circle -🔳 white square button shape input -🔲 black square button shape input frame -🏁 chequered flag contest finishline race gokart -🚩 triangular flag mark milestone place -🎌 crossed flags japanese nation country border -🏴 black flag pirate -🏳️ white flag losing loser lost surrender give up fail -🏳️‍🌈 rainbow flag flag rainbow pride gay lgbt glbt queer homosexual lesbian bisexual transgender -🏴‍☠️ pirate flag skull crossbones flag banner -🇦🇨 flag ascension island -🇦🇩 flag andorra ad flag nation country banner andorra -🇦🇪 flag united arab emirates united arab emirates flag nation country banner united arab emirates -🇦🇫 flag afghanistan af flag nation country banner afghanistan -🇦🇬 flag antigua barbuda antigua barbuda flag nation country banner antigua barbuda -🇦🇮 flag anguilla ai flag nation country banner anguilla -🇦🇱 flag albania al flag nation country banner albania -🇦🇲 flag armenia am flag nation country banner armenia -🇦🇴 flag angola ao flag nation country banner angola -🇦🇶 flag antarctica aq flag nation country banner antarctica -🇦🇷 flag argentina ar flag nation country banner argentina -🇦🇸 flag american samoa american ws flag nation country banner american samoa -🇦🇹 flag austria at flag nation country banner austria -🇦🇺 flag australia au flag nation country banner australia -🇦🇼 flag aruba aw flag nation country banner aruba -🇦🇽 flag aland islands Åland islands flag nation country banner aland islands -🇦🇿 flag azerbaijan az flag nation country banner azerbaijan -🇧🇦 flag bosnia herzegovina bosnia herzegovina flag nation country banner bosnia herzegovina -🇧🇧 flag barbados bb flag nation country banner barbados -🇧🇩 flag bangladesh bd flag nation country banner bangladesh -🇧🇪 flag belgium be flag nation country banner belgium -🇧🇫 flag burkina faso burkina faso flag nation country banner burkina faso -🇧🇬 flag bulgaria bg flag nation country banner bulgaria -🇧🇭 flag bahrain bh flag nation country banner bahrain -🇧🇮 flag burundi bi flag nation country banner burundi -🇧🇯 flag benin bj flag nation country banner benin -🇧🇱 flag st barthelemy saint barthélemy flag nation country banner st barthelemy -🇧🇲 flag bermuda bm flag nation country banner bermuda -🇧🇳 flag brunei bn darussalam flag nation country banner brunei -🇧🇴 flag bolivia bo flag nation country banner bolivia -🇧🇶 flag caribbean netherlands bonaire flag nation country banner caribbean netherlands -🇧🇷 flag brazil br flag nation country banner brazil -🇧🇸 flag bahamas bs flag nation country banner bahamas -🇧🇹 flag bhutan bt flag nation country banner bhutan -🇧🇻 flag bouvet island norway -🇧🇼 flag botswana bw flag nation country banner botswana -🇧🇾 flag belarus by flag nation country banner belarus -🇧🇿 flag belize bz flag nation country banner belize -🇨🇦 flag canada ca flag nation country banner canada -🇨🇨 flag cocos islands cocos keeling islands flag nation country banner cocos islands -🇨🇩 flag congo kinshasa congo democratic republic flag nation country banner congo kinshasa -🇨🇫 flag central african republic central african republic flag nation country banner central african republic -🇨🇬 flag congo brazzaville congo flag nation country banner congo brazzaville -🇨🇭 flag switzerland ch flag nation country banner switzerland -🇨🇮 flag cote d ivoire ivory coast flag nation country banner cote d ivoire -🇨🇰 flag cook islands cook islands flag nation country banner cook islands -🇨🇱 flag chile flag nation country banner chile -🇨🇲 flag cameroon cm flag nation country banner cameroon -🇨🇳 flag china china chinese prc flag country nation banner china -🇨🇴 flag colombia co flag nation country banner colombia -🇨🇵 flag clipperton island -🇨🇷 flag costa rica costa rica flag nation country banner costa rica -🇨🇺 flag cuba cu flag nation country banner cuba -🇨🇻 flag cape verde cabo verde flag nation country banner cape verde -🇨🇼 flag curacao curaçao flag nation country banner curacao -🇨🇽 flag christmas island christmas island flag nation country banner christmas island -🇨🇾 flag cyprus cy flag nation country banner cyprus -🇨🇿 flag czechia cz flag nation country banner czechia -🇩🇪 flag germany german nation flag country banner germany -🇩🇬 flag diego garcia -🇩🇯 flag djibouti dj flag nation country banner djibouti -🇩🇰 flag denmark dk flag nation country banner denmark -🇩🇲 flag dominica dm flag nation country banner dominica -🇩🇴 flag dominican republic dominican republic flag nation country banner dominican republic -🇩🇿 flag algeria dz flag nation country banner algeria -🇪🇦 flag ceuta melilla -🇪🇨 flag ecuador ec flag nation country banner ecuador -🇪🇪 flag estonia ee flag nation country banner estonia -🇪🇬 flag egypt eg flag nation country banner egypt -🇪🇭 flag western sahara western sahara flag nation country banner western sahara -🇪🇷 flag eritrea er flag nation country banner eritrea -🇪🇸 flag spain spain flag nation country banner spain -🇪🇹 flag ethiopia et flag nation country banner ethiopia -🇪🇺 flag european union european union flag banner -🇫🇮 flag finland fi flag nation country banner finland -🇫🇯 flag fiji fj flag nation country banner fiji -🇫🇰 flag falkland islands falkland islands malvinas flag nation country banner falkland islands -🇫🇲 flag micronesia micronesia federated states flag nation country banner micronesia -🇫🇴 flag faroe islands faroe islands flag nation country banner faroe islands -🇫🇷 flag france banner flag nation france french country france -🇬🇦 flag gabon ga flag nation country banner gabon -🇬🇧 flag united kingdom united kingdom great britain northern ireland flag nation country banner british UK english england union jack united kingdom -🇬🇩 flag grenada gd flag nation country banner grenada -🇬🇪 flag georgia ge flag nation country banner georgia -🇬🇫 flag french guiana french guiana flag nation country banner french guiana -🇬🇬 flag guernsey gg flag nation country banner guernsey -🇬🇭 flag ghana gh flag nation country banner ghana -🇬🇮 flag gibraltar gi flag nation country banner gibraltar -🇬🇱 flag greenland gl flag nation country banner greenland -🇬🇲 flag gambia gm flag nation country banner gambia -🇬🇳 flag guinea gn flag nation country banner guinea -🇬🇵 flag guadeloupe gp flag nation country banner guadeloupe -🇬🇶 flag equatorial guinea equatorial gn flag nation country banner equatorial guinea -🇬🇷 flag greece gr flag nation country banner greece -🇬🇸 flag south georgia south sandwich islands south georgia sandwich islands flag nation country banner south georgia south sandwich islands -🇬🇹 flag guatemala gt flag nation country banner guatemala -🇬🇺 flag guam gu flag nation country banner guam -🇬🇼 flag guinea bissau gw bissau flag nation country banner guinea bissau -🇬🇾 flag guyana gy flag nation country banner guyana -🇭🇰 flag hong kong sar china hong kong flag nation country banner hong kong sar china -🇭🇲 flag heard mcdonald islands -🇭🇳 flag honduras hn flag nation country banner honduras -🇭🇷 flag croatia hr flag nation country banner croatia -🇭🇹 flag haiti ht flag nation country banner haiti -🇭🇺 flag hungary hu flag nation country banner hungary -🇮🇨 flag canary islands canary islands flag nation country banner canary islands -🇮🇩 flag indonesia flag nation country banner indonesia -🇮🇪 flag ireland ie flag nation country banner ireland -🇮🇱 flag israel il flag nation country banner israel -🇮🇲 flag isle of man isle man flag nation country banner isle of man -🇮🇳 flag india in flag nation country banner india -🇮🇴 flag british indian ocean territory british indian ocean territory flag nation country banner british indian ocean territory -🇮🇶 flag iraq iq flag nation country banner iraq -🇮🇷 flag iran iran islamic republic flag nation country banner iran -🇮🇸 flag iceland is flag nation country banner iceland -🇮🇹 flag italy italy flag nation country banner italy -🇯🇪 flag jersey je flag nation country banner jersey -🇯🇲 flag jamaica jm flag nation country banner jamaica -🇯🇴 flag jordan jo flag nation country banner jordan -🇯🇵 flag japan japanese nation flag country banner japan -🇰🇪 flag kenya ke flag nation country banner kenya -🇰🇬 flag kyrgyzstan kg flag nation country banner kyrgyzstan -🇰🇭 flag cambodia kh flag nation country banner cambodia -🇰🇮 flag kiribati ki flag nation country banner kiribati -🇰🇲 flag comoros km flag nation country banner comoros -🇰🇳 flag st kitts nevis saint kitts nevis flag nation country banner st kitts nevis -🇰🇵 flag north korea north korea nation flag country banner north korea -🇰🇷 flag south korea south korea nation flag country banner south korea -🇰🇼 flag kuwait kw flag nation country banner kuwait -🇰🇾 flag cayman islands cayman islands flag nation country banner cayman islands -🇰🇿 flag kazakhstan kz flag nation country banner kazakhstan -🇱🇦 flag laos lao democratic republic flag nation country banner laos -🇱🇧 flag lebanon lb flag nation country banner lebanon -🇱🇨 flag st lucia saint lucia flag nation country banner st lucia -🇱🇮 flag liechtenstein li flag nation country banner liechtenstein -🇱🇰 flag sri lanka sri lanka flag nation country banner sri lanka -🇱🇷 flag liberia lr flag nation country banner liberia -🇱🇸 flag lesotho ls flag nation country banner lesotho -🇱🇹 flag lithuania lt flag nation country banner lithuania -🇱🇺 flag luxembourg lu flag nation country banner luxembourg -🇱🇻 flag latvia lv flag nation country banner latvia -🇱🇾 flag libya ly flag nation country banner libya -🇲🇦 flag morocco ma flag nation country banner morocco -🇲🇨 flag monaco mc flag nation country banner monaco -🇲🇩 flag moldova moldova republic flag nation country banner moldova -🇲🇪 flag montenegro me flag nation country banner montenegro -🇲🇫 flag st martin -🇲🇬 flag madagascar mg flag nation country banner madagascar -🇲🇭 flag marshall islands marshall islands flag nation country banner marshall islands -🇲🇰 flag north macedonia macedonia flag nation country banner north macedonia -🇲🇱 flag mali ml flag nation country banner mali -🇲🇲 flag myanmar mm flag nation country banner myanmar -🇲🇳 flag mongolia mn flag nation country banner mongolia -🇲🇴 flag macao sar china macao flag nation country banner macao sar china -🇲🇵 flag northern mariana islands northern mariana islands flag nation country banner northern mariana islands -🇲🇶 flag martinique mq flag nation country banner martinique -🇲🇷 flag mauritania mr flag nation country banner mauritania -🇲🇸 flag montserrat ms flag nation country banner montserrat -🇲🇹 flag malta mt flag nation country banner malta -🇲🇺 flag mauritius mu flag nation country banner mauritius -🇲🇻 flag maldives mv flag nation country banner maldives -🇲🇼 flag malawi mw flag nation country banner malawi -🇲🇽 flag mexico mx flag nation country banner mexico -🇲🇾 flag malaysia my flag nation country banner malaysia -🇲🇿 flag mozambique mz flag nation country banner mozambique -🇳🇦 flag namibia na flag nation country banner namibia -🇳🇨 flag new caledonia new caledonia flag nation country banner new caledonia -🇳🇪 flag niger ne flag nation country banner niger -🇳🇫 flag norfolk island norfolk island flag nation country banner norfolk island -🇳🇬 flag nigeria flag nation country banner nigeria -🇳🇮 flag nicaragua ni flag nation country banner nicaragua -🇳🇱 flag netherlands nl flag nation country banner netherlands -🇳🇴 flag norway no flag nation country banner norway -🇳🇵 flag nepal np flag nation country banner nepal -🇳🇷 flag nauru nr flag nation country banner nauru -🇳🇺 flag niue nu flag nation country banner niue -🇳🇿 flag new zealand new zealand flag nation country banner new zealand -🇴🇲 flag oman om symbol flag nation country banner oman -🇵🇦 flag panama pa flag nation country banner panama -🇵🇪 flag peru pe flag nation country banner peru -🇵🇫 flag french polynesia french polynesia flag nation country banner french polynesia -🇵🇬 flag papua new guinea papua new guinea flag nation country banner papua new guinea -🇵🇭 flag philippines ph flag nation country banner philippines -🇵🇰 flag pakistan pk flag nation country banner pakistan -🇵🇱 flag poland pl flag nation country banner poland -🇵🇲 flag st pierre miquelon saint pierre miquelon flag nation country banner st pierre miquelon -🇵🇳 flag pitcairn islands pitcairn flag nation country banner pitcairn islands -🇵🇷 flag puerto rico puerto rico flag nation country banner puerto rico -🇵🇸 flag palestinian territories palestine palestinian territories flag nation country banner palestinian territories -🇵🇹 flag portugal pt flag nation country banner portugal -🇵🇼 flag palau pw flag nation country banner palau -🇵🇾 flag paraguay py flag nation country banner paraguay -🇶🇦 flag qatar qa flag nation country banner qatar -🇷🇪 flag reunion réunion flag nation country banner reunion -🇷🇴 flag romania ro flag nation country banner romania -🇷🇸 flag serbia rs flag nation country banner serbia -🇷🇺 flag russia russian federation flag nation country banner russia -🇷🇼 flag rwanda rw flag nation country banner rwanda -🇸🇦 flag saudi arabia flag nation country banner saudi arabia -🇸🇧 flag solomon islands solomon islands flag nation country banner solomon islands -🇸🇨 flag seychelles sc flag nation country banner seychelles -🇸🇩 flag sudan sd flag nation country banner sudan -🇸🇪 flag sweden se flag nation country banner sweden -🇸🇬 flag singapore sg flag nation country banner singapore -🇸🇭 flag st helena saint helena ascension tristan cunha flag nation country banner st helena -🇸🇮 flag slovenia si flag nation country banner slovenia -🇸🇯 flag svalbard jan mayen -🇸🇰 flag slovakia sk flag nation country banner slovakia -🇸🇱 flag sierra leone sierra leone flag nation country banner sierra leone -🇸🇲 flag san marino san marino flag nation country banner san marino -🇸🇳 flag senegal sn flag nation country banner senegal -🇸🇴 flag somalia so flag nation country banner somalia -🇸🇷 flag suriname sr flag nation country banner suriname -🇸🇸 flag south sudan south sd flag nation country banner south sudan -🇸🇹 flag sao tome principe sao tome principe flag nation country banner sao tome principe -🇸🇻 flag el salvador el salvador flag nation country banner el salvador -🇸🇽 flag sint maarten sint maarten dutch flag nation country banner sint maarten -🇸🇾 flag syria syrian arab republic flag nation country banner syria -🇸🇿 flag eswatini sz flag nation country banner eswatini -🇹🇦 flag tristan da cunha -🇹🇨 flag turks caicos islands turks caicos islands flag nation country banner turks caicos islands -🇹🇩 flag chad td flag nation country banner chad -🇹🇫 flag french southern territories french southern territories flag nation country banner french southern territories -🇹🇬 flag togo tg flag nation country banner togo -🇹🇭 flag thailand th flag nation country banner thailand -🇹🇯 flag tajikistan tj flag nation country banner tajikistan -🇹🇰 flag tokelau tk flag nation country banner tokelau -🇹🇱 flag timor leste timor leste flag nation country banner timor leste -🇹🇲 flag turkmenistan flag nation country banner turkmenistan -🇹🇳 flag tunisia tn flag nation country banner tunisia -🇹🇴 flag tonga to flag nation country banner tonga -🇹🇷 flag turkey turkey flag nation country banner turkey -🇹🇹 flag trinidad tobago trinidad tobago flag nation country banner trinidad tobago -🇹🇻 flag tuvalu flag nation country banner tuvalu -🇹🇼 flag taiwan tw flag nation country banner taiwan -🇹🇿 flag tanzania tanzania united republic flag nation country banner tanzania -🇺🇦 flag ukraine ua flag nation country banner ukraine -🇺🇬 flag uganda ug flag nation country banner uganda -🇺🇲 flag u s outlying islands -🇺🇳 flag united nations un flag banner -🇺🇸 flag united states united states america flag nation country banner united states -🇺🇾 flag uruguay uy flag nation country banner uruguay -🇺🇿 flag uzbekistan uz flag nation country banner uzbekistan -🇻🇦 flag vatican city vatican city flag nation country banner vatican city -🇻🇨 flag st vincent grenadines saint vincent grenadines flag nation country banner st vincent grenadines -🇻🇪 flag venezuela ve bolivarian republic flag nation country banner venezuela -🇻🇬 flag british virgin islands british virgin islands bvi flag nation country banner british virgin islands -🇻🇮 flag u s virgin islands virgin islands us flag nation country banner u s virgin islands -🇻🇳 flag vietnam viet nam flag nation country banner vietnam -🇻🇺 flag vanuatu vu flag nation country banner vanuatu -🇼🇫 flag wallis futuna wallis futuna flag nation country banner wallis futuna -🇼🇸 flag samoa ws flag nation country banner samoa -🇽🇰 flag kosovo xk flag nation country banner kosovo -🇾🇪 flag yemen ye flag nation country banner yemen -🇾🇹 flag mayotte yt flag nation country banner mayotte -🇿🇦 flag south africa south africa flag nation country banner south africa -🇿🇲 flag zambia zm flag nation country banner zambia -🇿🇼 flag zimbabwe zw flag nation country banner zimbabwe -🏴󠁧󠁢󠁥󠁮󠁧󠁿 flag england flag english -🏴󠁧󠁢󠁳󠁣󠁴󠁿 flag scotland flag scottish -🏴󠁧󠁢󠁷󠁬󠁳󠁿 flag wales flag welsh -🥲 smiling face with tear sad cry pretend -🥸 disguised face pretent brows glasses moustache -🤌 pinched fingers size tiny small -🫀 anatomical heart health heartbeat -🫁 lungs breathe -🥷 ninja ninjutsu skills japanese -🤵‍♂️ man in tuxedo formal fashion -🤵‍♀️ woman in tuxedo formal fashion -👰‍♂️ man with veil wedding marriage -👰‍♀️ woman with veil wedding marriage -👩‍🍼 woman feeding baby birth food -👨‍🍼 man feeding baby birth food -🧑‍🍼 person feeding baby birth food -🧑‍🎄 mx claus christmas -🫂 people hugging care -🐈‍⬛ black cat superstition luck -🦬 bison ox -🦣 mammoth elephant tusks -🦫 beaver animal rodent -🐻‍❄️ polar bear animal arctic -🦤 dodo animal bird -🪶 feather bird fly -🦭 seal animal creature sea -🪲 beetle insect -🪳 cockroach insect pests -🪰 fly insect -🪱 worm animal -🪴 potted plant greenery house -🫐 blueberries fruit -🫒 olive fruit -🫑 bell pepper fruit plant -🫓 flatbread flour food -🫔 tamale food masa -🫕 fondue cheese pot food -🫖 teapot drink hot -🧋 bubble tea taiwan boba milk tea straw -🪨 rock stone -🪵 wood nature timber trunk -🛖 hut house structure -🛻 pickup truck car transportation -🛼 roller skate footwear sports -🪄 magic wand supernature power -🪅 pinata mexico candy celebration -🪆 nesting dolls matryoshka toy -🪡 sewing needle stitches -🪢 knot rope scout -🩴 thong sandal footwear summer -🪖 military helmet army protection -🪗 accordion music -🪘 long drum music -🪙 coin money currency -🪃 boomerang weapon -🪚 carpentry saw cut chop -🪛 screwdriver tools -🪝 hook tools -🪜 ladder tools -🛗 elevator lift -🪞 mirror reflection -🪟 window scenery -🪠 plunger toilet -🪤 mouse trap cheese -🪣 bucket water container -🪥 toothbrush hygiene dental -🪦 headstone death rip grave -🪧 placard announcement -⚧️ transgender symbol lgbtq -🏳️‍⚧️ transgender flag lgbtq -😶‍🌫️ face in clouds shower steam dream -😮‍💨 face exhaling relieve relief tired sigh -😵‍💫 face with spiral eyes sick ill confused nauseous nausea -❤️‍🔥 heart on fire passionate enthusiastic -❤️‍🩹 mending heart broken heart bandage wounded -🧔‍♂️ man beard facial hair -🧔‍♀️ woman beard facial hair -🫠 melting face hot heat -🫢 face with open eyes and hand over mouth silence secret shock surprise -🫣 face with peeking eye scared frightening embarrassing -🫡 saluting face respect salute -🫥 dotted line face invisible lonely isolation depression -🫤 face with diagonal mouth skeptic confuse frustrated indifferent -🥹 face holding back tears touched gratitude -🫱 rightwards hand palm offer -🫲 leftwards hand palm offer -🫳 palm down hand palm drop -🫴 palm up hand lift offer demand -🫰 hand with index finger and thumb crossed heart love money expensive -🫵 index pointing at the viewer you recruit -🫶 heart hands love appreciation support -🫦 biting lip flirt sexy pain worry -🫅 person with crown royalty power -🫃 pregnant man baby belly -🫄 pregnant person baby belly -🧌 troll mystical monster -🪸 coral ocean sea reef -🪷 lotus flower calm meditation -🪹 empty nest bird -🪺 nest with eggs bird -🫘 beans food -🫗 pouring liquid cup water -🫙 jar container sauce -🛝 playground slide fun park -🛞 wheel car transport -🛟 ring buoy life saver life preserver -🪬 hamsa religion protection -🪩 mirror ball disco dance party -🪫 low battery drained dead -🩼 crutch accessibility assist -🩻 x-ray skeleton medicine -🫧 bubbles soap fun carbonation sparkling -🪪 identification card document -🟰 heavy equals sign math -— em dash -󰖳 windows super key - nf-cod-add - nf-cod-lightbulb - nf-cod-repo - nf-cod-repo_forked - nf-cod-git_pull_request - nf-cod-record_keys - nf-cod-tag - nf-cod-person - nf-cod-source_control - nf-cod-mirror - nf-cod-star_empty - nf-cod-comment - nf-cod-warning - nf-cod-search - nf-cod-sign_out - nf-cod-sign_in - nf-cod-eye - nf-cod-circle_filled - nf-cod-primitive_square - nf-cod-edit - nf-cod-info - nf-cod-lock - nf-cod-close - nf-cod-sync - nf-cod-desktop_download - nf-cod-beaker - nf-cod-vm - nf-cod-file - nf-cod-ellipsis - nf-cod-reply - nf-cod-organization - nf-cod-new_file - nf-cod-new_folder - nf-cod-trash - nf-cod-history - nf-cod-folder - nf-cod-github - nf-cod-terminal - nf-cod-symbol_event - nf-cod-error - nf-cod-symbol_variable - nf-cod-symbol_array - nf-cod-symbol_namespace - nf-cod-symbol_method - nf-cod-symbol_boolean - nf-cod-symbol_numeric - nf-cod-symbol_structure - nf-cod-symbol_parameter - nf-cod-symbol_key - nf-cod-go_to_file - nf-cod-symbol_enum - nf-cod-symbol_ruler - nf-cod-activate_breakpoints - nf-cod-archive - nf-cod-arrow_both - nf-cod-arrow_down - nf-cod-arrow_left - nf-cod-arrow_right - nf-cod-arrow_small_down - nf-cod-arrow_small_left - nf-cod-arrow_small_right - nf-cod-arrow_small_up - nf-cod-arrow_up - nf-cod-bell - nf-cod-bold - nf-cod-book - nf-cod-bookmark - nf-cod-debug_breakpoint_conditional_unverified - nf-cod-debug_breakpoint_conditional - nf-cod-debug_breakpoint_data_unverified - nf-cod-debug_breakpoint_data - nf-cod-debug_breakpoint_log_unverified - nf-cod-debug_breakpoint_log - nf-cod-briefcase - nf-cod-broadcast - nf-cod-browser - nf-cod-bug - nf-cod-calendar - nf-cod-case_sensitive - nf-cod-check - nf-cod-checklist - nf-cod-chevron_down - nf-cod-chevron_left - nf-cod-chevron_right - nf-cod-chevron_up - nf-cod-chrome_close - nf-cod-chrome_maximize - nf-cod-chrome_minimize - nf-cod-chrome_restore - nf-cod-circle - nf-cod-circle_slash - nf-cod-circuit_board - nf-cod-clear_all - nf-cod-clippy - nf-cod-close_all - nf-cod-cloud_download - nf-cod-cloud_upload - nf-cod-code - nf-cod-collapse_all - nf-cod-color_mode - nf-cod-comment_discussion - nf-cod-credit_card - nf-cod-dash - nf-cod-dashboard - nf-cod-database - nf-cod-debug_continue - nf-cod-debug_disconnect - nf-cod-debug_pause - nf-cod-debug_restart - nf-cod-debug_start - nf-cod-debug_step_into - nf-cod-debug_step_out - nf-cod-debug_step_over - nf-cod-debug_stop - nf-cod-debug - nf-cod-device_camera_video - nf-cod-device_camera - nf-cod-device_mobile - nf-cod-diff_added - nf-cod-diff_ignored - nf-cod-diff_modified - nf-cod-diff_removed - nf-cod-diff_renamed - nf-cod-diff - nf-cod-discard - nf-cod-editor_layout - nf-cod-empty_window - nf-cod-exclude - nf-cod-extensions - nf-cod-eye_closed - nf-cod-file_binary - nf-cod-file_code - nf-cod-file_media - nf-cod-file_pdf - nf-cod-file_submodule - nf-cod-file_symlink_directory - nf-cod-file_symlink_file - nf-cod-file_zip - nf-cod-files - nf-cod-filter - nf-cod-flame - nf-cod-fold_down - nf-cod-fold_up - nf-cod-fold - nf-cod-folder_active - nf-cod-folder_opened - nf-cod-gear - nf-cod-gift - nf-cod-gist_secret - nf-cod-git_commit - nf-cod-git_compare - nf-cod-git_merge - nf-cod-github_action - nf-cod-github_alt - nf-cod-globe - nf-cod-grabber - nf-cod-graph - nf-cod-gripper - nf-cod-heart - nf-cod-home - nf-cod-horizontal_rule - nf-cod-hubot - nf-cod-inbox - nf-cod-issue_reopened - nf-cod-issues - nf-cod-italic - nf-cod-jersey - nf-cod-json - nf-cod-kebab_vertical - nf-cod-key - nf-cod-law - nf-cod-lightbulb_autofix - nf-cod-link_external - nf-cod-link - nf-cod-list_ordered - nf-cod-list_unordered - nf-cod-live_share - nf-cod-loading - nf-cod-location - nf-cod-mail_read - nf-cod-mail - nf-cod-markdown - nf-cod-megaphone - nf-cod-mention - nf-cod-milestone - nf-cod-mortar_board - nf-cod-move - nf-cod-multiple_windows - nf-cod-mute - nf-cod-no_newline - nf-cod-note - nf-cod-octoface - nf-cod-open_preview - nf-cod-package - nf-cod-paintcan - nf-cod-pin - nf-cod-play - nf-cod-plug - nf-cod-preserve_case - nf-cod-preview - nf-cod-project - nf-cod-pulse - nf-cod-question - nf-cod-quote - nf-cod-radio_tower - nf-cod-reactions - nf-cod-references - nf-cod-refresh - nf-cod-regex - nf-cod-remote_explorer - nf-cod-remote - nf-cod-remove - nf-cod-replace_all - nf-cod-replace - nf-cod-repo_clone - nf-cod-repo_force_push - nf-cod-repo_pull - nf-cod-repo_push - nf-cod-report - nf-cod-request_changes - nf-cod-rocket - nf-cod-root_folder_opened - nf-cod-root_folder - nf-cod-rss - nf-cod-ruby - nf-cod-save_all - nf-cod-save_as - nf-cod-save - nf-cod-screen_full - nf-cod-screen_normal - nf-cod-search_stop - nf-cod-server - nf-cod-settings_gear - nf-cod-settings - nf-cod-shield - nf-cod-smiley - nf-cod-sort_precedence - nf-cod-split_horizontal - nf-cod-split_vertical - nf-cod-squirrel - nf-cod-star_full - nf-cod-star_half - nf-cod-symbol_class - nf-cod-symbol_color - nf-cod-symbol_constant - nf-cod-symbol_enum_member - nf-cod-symbol_field - nf-cod-symbol_file - nf-cod-symbol_interface - nf-cod-symbol_keyword - nf-cod-symbol_misc - nf-cod-symbol_operator - nf-cod-symbol_property - nf-cod-symbol_snippet - nf-cod-tasklist - nf-cod-telescope - nf-cod-text_size - nf-cod-three_bars - nf-cod-thumbsdown - nf-cod-thumbsup - nf-cod-tools - nf-cod-triangle_down - nf-cod-triangle_left - nf-cod-triangle_right - nf-cod-triangle_up - nf-cod-twitter - nf-cod-unfold - nf-cod-unlock - nf-cod-unmute - nf-cod-unverified - nf-cod-verified - nf-cod-versions - nf-cod-vm_active - nf-cod-vm_outline - nf-cod-vm_running - nf-cod-watch - nf-cod-whitespace - nf-cod-whole_word - nf-cod-window - nf-cod-word_wrap - nf-cod-zoom_in - nf-cod-zoom_out - nf-cod-list_filter - nf-cod-list_flat - nf-cod-list_selection - nf-cod-list_tree - nf-cod-debug_breakpoint_function_unverified - nf-cod-debug_breakpoint_function - nf-cod-debug_stackframe_active - nf-cod-circle_small_filled - nf-cod-debug_stackframe - nf-cod-debug_breakpoint_unsupported - nf-cod-symbol_string - nf-cod-debug_reverse_continue - nf-cod-debug_step_back - nf-cod-debug_restart_frame - nf-cod-debug_alt - nf-cod-call_incoming - nf-cod-call_outgoing - nf-cod-menu - nf-cod-expand_all - nf-cod-feedback - nf-cod-group_by_ref_type - nf-cod-ungroup_by_ref_type - nf-cod-account - nf-cod-bell_dot - nf-cod-debug_console - nf-cod-library - nf-cod-output - nf-cod-run_all - nf-cod-sync_ignored - nf-cod-pinned - nf-cod-github_inverted - nf-cod-server_process - nf-cod-server_environment - nf-cod-pass - nf-cod-stop_circle - nf-cod-play_circle - nf-cod-record - nf-cod-debug_alt_small - nf-cod-vm_connect - nf-cod-cloud - nf-cod-merge - nf-cod-export - nf-cod-graph_left - nf-cod-magnet - nf-cod-notebook - nf-cod-redo - nf-cod-check_all - nf-cod-pinned_dirty - nf-cod-pass_filled - nf-cod-circle_large_filled - nf-cod-circle_large - nf-cod-combine - nf-cod-table - nf-cod-variable_group - nf-cod-type_hierarchy - nf-cod-type_hierarchy_sub - nf-cod-type_hierarchy_super - nf-cod-git_pull_request_create - nf-cod-run_above - nf-cod-run_below - nf-cod-notebook_template - nf-cod-debug_rerun - nf-cod-workspace_trusted - nf-cod-workspace_untrusted - nf-cod-workspace_unknown - nf-cod-terminal_cmd - nf-cod-terminal_debian - nf-cod-terminal_linux - nf-cod-terminal_powershell - nf-cod-terminal_tmux - nf-cod-terminal_ubuntu - nf-cod-terminal_bash - nf-cod-arrow_swap - nf-cod-copy - nf-cod-person_add - nf-cod-filter_filled - nf-cod-wand - nf-cod-debug_line_by_line - nf-cod-inspect - nf-cod-layers - nf-cod-layers_dot - nf-cod-layers_active - nf-cod-compass - nf-cod-compass_dot - nf-cod-compass_active - nf-cod-azure - nf-cod-issue_draft - nf-cod-git_pull_request_closed - nf-cod-git_pull_request_draft - nf-cod-debug_all - nf-cod-debug_coverage - nf-cod-run_errors - nf-cod-folder_library - nf-cod-debug_continue_small - nf-cod-beaker_stop - nf-cod-graph_line - nf-cod-graph_scatter - nf-cod-pie_chart - nf-cod-bracket_dot - nf-cod-bracket_error - nf-cod-lock_small - nf-cod-azure_devops - nf-cod-verified_filled - nf-cod-newline - nf-cod-layout - nf-cod-layout_activitybar_left - nf-cod-layout_activitybar_right - nf-cod-layout_panel_left - nf-cod-layout_panel_center - nf-cod-layout_panel_justify - nf-cod-layout_panel_right - nf-cod-layout_panel - nf-cod-layout_sidebar_left - nf-cod-layout_sidebar_right - nf-cod-layout_statusbar - nf-cod-layout_menubar - nf-cod-layout_centered - nf-cod-target - nf-cod-indent - nf-cod-record_small - nf-cod-error_small - nf-cod-arrow_circle_down - nf-cod-arrow_circle_left - nf-cod-arrow_circle_right - nf-cod-arrow_circle_up - nf-cod-layout_sidebar_right_off - nf-cod-layout_panel_off - nf-cod-layout_sidebar_left_off - nf-cod-blank - nf-cod-heart_filled - nf-cod-map - nf-cod-map_filled - nf-cod-circle_small - nf-cod-bell_slash - nf-cod-bell_slash_dot - nf-cod-comment_unresolved - nf-cod-git_pull_request_go_to_changes - nf-cod-git_pull_request_new_changes - nf-cod-search_fuzzy - nf-cod-comment_draft - nf-cod-send - nf-cod-sparkle - nf-cod-insert - nf-cod-mic - nf-cod-thumbsdown_filled - nf-cod-thumbsup_filled - nf-cod-coffee - nf-cod-snake - nf-cod-game - nf-cod-vr - nf-cod-chip - nf-cod-piano - nf-cod-music - nf-cod-mic_filled - nf-cod-git_fetch - nf-cod-copilot - nf-dev-aarch64 - nf-dev-adonisjs - nf-dev-git - nf-dev-bitbucket - nf-dev-mysql - nf-dev-aftereffects - nf-dev-database - nf-dev-dropbox - nf-dev-akka - nf-dev-github nf-dev-github_badge - nf-dev-algolia - nf-dev-wordpress - nf-dev-visualstudio - nf-dev-jekyll nf-dev-jekyll_small - nf-dev-android - nf-dev-windows - nf-dev-stackoverflow - nf-dev-apple - nf-dev-linux - nf-dev-alpinejs - nf-dev-ghost_small - nf-dev-anaconda - nf-dev-codepen - nf-dev-github_full - nf-dev-nodejs_small - nf-dev-nodejs - nf-dev-androidstudio - nf-dev-ember - nf-dev-angularjs - nf-dev-django - nf-dev-npm - nf-dev-ghost - nf-dev-angularmaterial - nf-dev-unity nf-dev-unity_small - nf-dev-raspberry_pi - nf-dev-ansible - nf-dev-go - nf-dev-git_branch - nf-dev-git_pull_request - nf-dev-git_merge - nf-dev-git_compare - nf-dev-git_commit - nf-dev-antdesign - nf-dev-apache - nf-dev-apacheairflow - nf-dev-smashing_magazine - nf-dev-apachekafka - nf-dev-apachespark - nf-dev-apl - nf-dev-appwrite - nf-dev-archlinux - nf-dev-arduino - nf-dev-argocd - nf-dev-astro - nf-dev-html5 - nf-dev-scala - nf-dev-java - nf-dev-ruby - nf-dev-ubuntu - nf-dev-rails nf-dev-ruby_on_rails - nf-dev-python - nf-dev-php - nf-dev-markdown - nf-dev-laravel - nf-dev-magento - nf-dev-awk - nf-dev-drupal - nf-dev-chrome - nf-dev-ie - nf-dev-firefox - nf-dev-opera - nf-dev-bootstrap - nf-dev-safari - nf-dev-css3 - nf-dev-css3_full - nf-dev-sass - nf-dev-grunt - nf-dev-bower - nf-dev-javascript_alt - nf-dev-axios - nf-dev-jquery - nf-dev-coffeescript - nf-dev-backbonejs nf-dev-backbone - nf-dev-angular - nf-dev-azure - nf-dev-swift - nf-dev-azuredevops - nf-dev-symfony nf-dev-symfony_badge - nf-dev-less - nf-dev-stylus - nf-dev-trello - nf-dev-azuresqldatabase - nf-dev-jira - nf-dev-babel - nf-dev-ballerina - nf-dev-bamboo - nf-dev-bash - nf-dev-beats - nf-dev-behance - nf-dev-gulp - nf-dev-atom - nf-dev-blazor - nf-dev-blender - nf-dev-jenkins - nf-dev-clojure - nf-dev-perl - nf-dev-clojure_alt - nf-dev-browserstack - nf-dev-bulma - nf-dev-redis - nf-dev-postgresql - nf-dev-bun - nf-dev-requirejs - nf-dev-c_lang nf-dev-c - nf-dev-typo3 - nf-dev-cairo - nf-dev-doctrine - nf-dev-groovy - nf-dev-nginx - nf-dev-haskell - nf-dev-zend - nf-dev-gnu - nf-dev-cakephp - nf-dev-heroku - nf-dev-canva - nf-dev-debian - nf-dev-travis - nf-dev-dotnet - nf-dev-codeigniter - nf-dev-javascript nf-dev-javascript_badge - nf-dev-yii - nf-dev-composer - nf-dev-krakenjs nf-dev-krakenjs_badge - nf-dev-capacitor - nf-dev-mozilla - nf-dev-firebase - nf-dev-carbon - nf-dev-cassandra - nf-dev-centos - nf-dev-ceylon - nf-dev-circleci - nf-dev-clarity - nf-dev-clion - nf-dev-mootools_badge - nf-dev-clojurescript - nf-dev-ruby_rough - nf-dev-cloudflare - nf-dev-cloudflareworkers - nf-dev-cmake - nf-dev-terminal - nf-dev-codeac - nf-dev-codecov - nf-dev-dart - nf-dev-confluence - nf-dev-consul - nf-dev-contao - nf-dev-dreamweaver - nf-dev-corejs - nf-dev-eclipse - nf-dev-cosmosdb - nf-dev-couchbase - nf-dev-prolog - nf-dev-couchdb - nf-dev-cplusplus - nf-dev-mongodb - nf-dev-meteor - nf-dev-meteorfull - nf-dev-fsharp - nf-dev-rust - nf-dev-ionic - nf-dev-sublime - nf-dev-appcelerator - nf-dev-crystal - nf-dev-amazonwebservices nf-dev-aws - nf-dev-digitalocean nf-dev-digital_ocean - nf-dev-dlang - nf-dev-docker - nf-dev-erlang - nf-dev-csharp - nf-dev-grails - nf-dev-illustrator - nf-dev-intellij - nf-dev-materializecss - nf-dev-cucumber - nf-dev-photoshop - nf-dev-cypressio - nf-dev-react - nf-dev-redhat - nf-dev-d3js - nf-dev-datagrip - nf-dev-dataspell - nf-dev-dbeaver - nf-dev-denojs - nf-dev-devicon - nf-dev-discordjs - nf-dev-djangorest - nf-dev-sqlite - nf-dev-vim - nf-dev-dotnetcore - nf-dev-dropwizard - nf-dev-dynamodb - nf-dev-ecto - nf-dev-elasticsearch - nf-dev-electron - nf-dev-eleventy - nf-dev-elixir - nf-dev-elm - nf-dev-emacs - nf-dev-embeddedc - nf-dev-envoy - nf-dev-eslint - nf-dev-express - nf-dev-facebook - nf-dev-fastapi - nf-dev-fastify - nf-dev-faunadb - nf-dev-feathersjs - nf-dev-fedora - nf-dev-figma - nf-dev-filezilla - nf-dev-flask - nf-dev-flutter - nf-dev-fortran - nf-dev-foundation - nf-dev-framermotion - nf-dev-framework7 - nf-dev-gatling - nf-dev-gatsby - nf-dev-gazebo - nf-dev-gcc - nf-dev-gentoo - nf-dev-gimp - nf-dev-gitbook - nf-dev-githubactions - nf-dev-githubcodespaces - nf-dev-gitlab - nf-dev-gitpod - nf-dev-gitter - nf-dev-godot - nf-dev-goland - nf-dev-google - nf-dev-googlecloud - nf-dev-gradle - nf-dev-grafana - nf-dev-graphql - nf-dev-grpc - nf-dev-hadoop - nf-dev-handlebars - nf-dev-hardhat - nf-dev-harvester - nf-dev-haxe - nf-dev-helm - nf-dev-hibernate - nf-dev-homebrew - nf-dev-hugo - nf-dev-ifttt - nf-dev-influxdb - nf-dev-inkscape - nf-dev-insomnia - nf-dev-jaegertracing - nf-dev-jamstack - nf-dev-jasmine - nf-dev-jeet - nf-dev-jest - nf-dev-jetbrains - nf-dev-jetpackcompose - nf-dev-jiraalign - nf-dev-json - nf-dev-jule - nf-dev-julia - nf-dev-junit - nf-dev-jupyter - nf-dev-k3os - nf-dev-k3s - nf-dev-k6 - nf-dev-kaggle - nf-dev-karatelabs - nf-dev-karma - nf-dev-kdeneon - nf-dev-keras - nf-dev-kibana - nf-dev-knexjs - nf-dev-knockout - nf-dev-kotlin - nf-dev-ktor - nf-dev-kubernetes - nf-dev-labview - nf-dev-latex - nf-dev-linkedin - nf-dev-liquibase - nf-dev-livewire - nf-dev-llvm - nf-dev-lodash - nf-dev-logstash - nf-dev-lua - nf-dev-lumen - nf-dev-mariadb - nf-dev-materialui - nf-dev-matlab - nf-dev-matplotlib - nf-dev-maven - nf-dev-maya - nf-dev-microsoftsqlserver - nf-dev-minitab - nf-dev-mithril - nf-dev-mobx - nf-dev-mocha - nf-dev-modx - nf-dev-moleculer - nf-dev-mongoose - nf-dev-moodle - nf-dev-msdos - nf-dev-nano - nf-dev-neo4j - nf-dev-neovim - nf-dev-nestjs - nf-dev-netlify - nf-dev-networkx - nf-dev-nextjs - nf-dev-ngrx - nf-dev-nhibernate - nf-dev-nim - nf-dev-nimble - nf-dev-nixos - nf-dev-nodemon - nf-dev-nodewebkit - nf-dev-nomad - nf-dev-norg - nf-dev-notion - nf-dev-nuget - nf-dev-numpy - nf-dev-nuxtjs - nf-dev-oauth - nf-dev-objectivec - nf-dev-ocaml - nf-dev-ohmyzsh - nf-dev-okta - nf-dev-openal - nf-dev-openapi - nf-dev-opencl - nf-dev-opencv - nf-dev-opengl - nf-dev-openstack - nf-dev-opensuse - nf-dev-opentelemetry - nf-dev-oracle - nf-dev-ory - nf-dev-p5js - nf-dev-packer - nf-dev-pandas - nf-dev-pfsense - nf-dev-phalcon - nf-dev-phoenix - nf-dev-photonengine - nf-dev-phpstorm - nf-dev-playwright - nf-dev-plotly - nf-dev-pnpm - nf-dev-podman - nf-dev-poetry - nf-dev-polygon - nf-dev-portainer - nf-dev-postcss - nf-dev-postman - nf-dev-powershell - nf-dev-premierepro - nf-dev-prisma - nf-dev-processing - nf-dev-prometheus - nf-dev-protractor - nf-dev-pulsar - nf-dev-pulumi - nf-dev-puppeteer - nf-dev-purescript - nf-dev-putty - nf-dev-pycharm - nf-dev-pypi - nf-dev-pyscript - nf-dev-pytest - nf-dev-pytorch - nf-dev-qodana - nf-dev-qt - nf-dev-quarkus - nf-dev-quasar - nf-dev-qwik - nf-dev-r - nf-dev-rabbitmq - nf-dev-railway - nf-dev-rancher - nf-dev-reach - nf-dev-reactbootstrap - nf-dev-reactnavigation - nf-dev-reactrouter - nf-dev-readthedocs - nf-dev-realm - nf-dev-rect - nf-dev-redux - nf-dev-renpy - nf-dev-replit - nf-dev-rider - nf-dev-rocksdb - nf-dev-rockylinux - nf-dev-rollup - nf-dev-ros - nf-dev-rspec - nf-dev-rstudio - nf-dev-rubymine - nf-dev-rxjs - nf-dev-salesforce - nf-dev-sanity - nf-dev-scalingo - nf-dev-scikitlearn - nf-dev-sdl - nf-dev-selenium - nf-dev-sema - nf-dev-sentry - nf-dev-sequelize - nf-dev-shopware - nf-dev-shotgrid - nf-dev-sketch - nf-dev-slack - nf-dev-socketio - nf-dev-solidity - nf-dev-solidjs - nf-dev-sonarqube - nf-dev-sourcetree - nf-dev-spack - nf-dev-splunk - nf-dev-spring - nf-dev-spss - nf-dev-spyder - nf-dev-sqlalchemy - nf-dev-sqldeveloper - nf-dev-ssh - nf-dev-stata - nf-dev-storybook - nf-dev-streamlit - nf-dev-subversion - nf-dev-supabase - nf-dev-svelte - nf-dev-swagger - nf-dev-swiper - nf-dev-tailwindcss - nf-dev-tauri - nf-dev-tensorflow - nf-dev-terraform - nf-dev-tex - nf-dev-thealgorithms - nf-dev-threedsmax - nf-dev-threejs - nf-dev-titaniumsdk - nf-dev-tomcat - nf-dev-tortoisegit - nf-dev-towergit - nf-dev-traefikmesh - nf-dev-traefikproxy - nf-dev-trpc - nf-dev-twitter - nf-dev-typescript - nf-dev-unifiedmodelinglanguage nf-dev-uml - nf-dev-unix - nf-dev-unrealengine - nf-dev-uwsgi - nf-dev-v8 - nf-dev-vagrant - nf-dev-vala - nf-dev-vault - nf-dev-vercel - nf-dev-vertx - nf-dev-visualbasic - nf-dev-vite - nf-dev-vitejs - nf-dev-vitess - nf-dev-vitest - nf-dev-vscode - nf-dev-vsphere - nf-dev-vuejs - nf-dev-vuestorefront - nf-dev-vuetify - nf-dev-vyper - nf-dev-wasm - nf-dev-webflow - nf-dev-weblate - nf-dev-webpack - nf-dev-webstorm - nf-dev-windows11 - nf-dev-woocommerce - nf-dev-xamarin - nf-dev-xcode - nf-dev-xd - nf-dev-xml - nf-dev-yaml - nf-dev-yarn - nf-dev-yugabytedb - nf-dev-yunohost - nf-dev-zig - nf-fa-location_dot - nf-fa-medapps - nf-fa-medrt - nf-fa-microphone_lines - nf-fa-microsoft - nf-fa-mix - nf-fa-mizuni - nf-fa-mobile_button - nf-fa-mobile - nf-fa-mobile_screen - nf-fa-monero - nf-fa-money_bill_1 - nf-fa-napster - nf-fa-node_js - nf-fa-npm - nf-fa-ns8 - nf-fa-nutritionix - nf-fa-page4 - nf-fa-palfed - nf-fa-patreon - nf-fa-periscope - nf-fa-phabricator - nf-fa-phoenix_framework - nf-fa-phone_slash - nf-fa-playstation - nf-fa-image_portrait - nf-fa-pushed - nf-fa-python - nf-fa-red_river - nf-fa-wpressr - nf-fa-replyd - nf-fa-resolving - nf-fa-rocketchat - nf-fa-rockrms - nf-fa-schlix - nf-fa-searchengin - nf-fa-servicestack - nf-fa-shield_halved - nf-fa-sistrix - nf-fa-speakap - nf-fa-staylinked - nf-fa-steam_symbol - nf-fa-sticker_mule - nf-fa-studiovinari - nf-fa-supple - nf-fa-tablet_button - nf-fa-tablet - nf-fa-gauge_high - nf-fa-ticket_simple - nf-fa-uber - nf-fa-uikit - nf-fa-uniregistry - nf-fa-untappd - nf-fa-user_large - nf-fa-ussunnah - nf-fa-vaadin - nf-fa-viber - nf-fa-vimeo - nf-fa-vnv - nf-fa-square_whatsapp - nf-fa-whmcs - nf-fa-wordpress_simple - nf-fa-xbox - nf-fa-yandex - nf-fa-yandex_international - nf-fa-apple_pay - nf-fa-cc_apple_pay - nf-fa-fly - nf-fa-node - nf-fa-osi - nf-fa-react - nf-fa-autoprefixer - nf-fa-less - nf-fa-sass - nf-fa-vuejs - nf-fa-angular - nf-fa-aviato - nf-fa-down_left_and_up_right_to_center - nf-fa-ember - nf-fa-up_right_and_down_left_from_center - nf-fa-gitter - nf-fa-hooli - nf-fa-strava - nf-fa-stripe - nf-fa-stripe_s - nf-fa-typo3 - nf-fa-amazon_pay - nf-fa-cc_amazon_pay - nf-fa-ethereum - nf-fa-korvue - nf-fa-elementor - nf-fa-baseball_bat_ball - nf-fa-baseball - nf-fa-basketball - nf-fa-bowling_ball - nf-fa-chess - nf-fa-chess_bishop - nf-fa-chess_board - nf-fa-chess_king - nf-fa-chess_knight - nf-fa-chess_pawn - nf-fa-chess_queen - nf-fa-chess_rook - nf-fa-dumbbell - nf-fa-flipboard - nf-fa-football - nf-fa-golf_ball_tee - nf-fa-hips - nf-fa-hockey_puck - nf-fa-php - nf-fa-broom_ball - nf-fa-quinscape - nf-fa-square_full - nf-fa-table_tennis_paddle_ball - nf-fa-volleyball - nf-fa-hand_dots - nf-fa-bandage - nf-fa-box - nf-fa-boxes_stacked - nf-fa-briefcase_medical - nf-fa-fire_flame_simple - nf-fa-capsules - nf-fa-clipboard_check - nf-fa-clipboard_list - nf-fa-person_dots_from_line - nf-fa-dna - nf-fa-dolly - nf-fa-cart_flatbed - nf-fa-file_medical - nf-fa-file_waveform - nf-fa-kit_medical - nf-fa-circle_h - nf-fa-id_card_clip - nf-fa-notes_medical - nf-fa-pallet - nf-fa-pills - nf-fa-prescription_bottle - nf-fa-prescription_bottle_medical - nf-fa-bed_pulse - nf-fa-truck_fast - nf-fa-smoking - nf-fa-syringe - nf-fa-tablets - nf-fa-thermometer_alt - nf-fa-vial - nf-fa-vials - nf-fa-warehouse - nf-fa-weight_scale - nf-fa-x_ray - nf-fa-box_open - nf-fa-comment_slash - nf-fa-couch - nf-fa-circle_dollar_to_slot - nf-fa-dove - nf-fa-hand_holding - nf-fa-hand_holding_heart - nf-fa-hand_holding_dollar - nf-fa-hand_holding_droplet - nf-fa-hands_holding - nf-fa-handshake_angle - nf-fa-handshake_simple - nf-fa-parachute_box - nf-fa-people_carry_box - nf-fa-piggy_bank - nf-fa-readme - nf-fa-ribbon - nf-fa-route - nf-fa-seedling - nf-fa-sign_hanging - nf-fa-face_smile_wink - nf-fa-tape - nf-fa-truck_ramp_box - nf-fa-truck_moving - nf-fa-video_slash - nf-fa-wine_glass - nf-fa-java - nf-fa-pied_piper_hat - nf-fa-creative_commons_by - nf-fa-creative_commons_nc - nf-fa-creative_commons_nc_eu - nf-fa-creative_commons_nc_jp - nf-fa-creative_commons_nd - nf-fa-creative_commons_pd - nf-fa-creative_commons_pd_alt - nf-fa-creative_commons_remix - nf-fa-creative_commons_sa - nf-fa-creative_commons_sampling - nf-fa-creative_commons_sampling_plus - nf-fa-creative_commons_share - nf-fa-creative_commons_zero - nf-fa-ebay - nf-fa-keybase - nf-fa-mastodon - nf-fa-r_project - nf-fa-researchgate - nf-fa-teamspeak - nf-fa-user_large_slash - nf-fa-user_astronaut - nf-fa-user_check - nf-fa-user_clock - nf-fa-user_gear - nf-fa-user_pen - nf-fa-user_group - nf-fa-user_graduate - nf-fa-user_lock - nf-fa-user_minus - nf-fa-user_ninja - nf-fa-user_shield - nf-fa-user_slash - nf-fa-user_tag - nf-fa-user_tie - nf-fa-users_gear - nf-fa-first_order_alt - nf-fa-fulcrum - nf-fa-galactic_republic - nf-fa-galactic_senate - nf-fa-jedi_order - nf-fa-mandalorian - nf-fa-old_republic - nf-fa-phoenix_squadron - nf-fa-sith - nf-fa-trade_federation - nf-fa-wolf_pack_battalion - nf-fa-scale_unbalanced - nf-fa-scale_unbalanced_flip - nf-fa-blender - nf-fa-book_open - nf-fa-tower_broadcast - nf-fa-broom - nf-fa-chalkboard - nf-fa-chalkboard_user - nf-fa-church - nf-fa-coins - nf-fa-compact_disc - nf-fa-crow - nf-fa-crown - nf-fa-dice - nf-fa-dice_five - nf-fa-dice_four - nf-fa-dice_one - nf-fa-dice_six - nf-fa-dice_three - nf-fa-dice_two - nf-fa-divide - nf-fa-door_closed - nf-fa-door_open - nf-fa-equals - nf-fa-feather - nf-fa-frog - nf-fa-gas_pump - nf-fa-glasses - nf-fa-greater_than - nf-fa-greater_than_equal - nf-fa-helicopter - nf-fa-infinity - nf-fa-kiwi_bird - nf-fa-receipt - nf-fa-robot - nf-fa-ruler - nf-fa-ruler_combined - nf-fa-ruler_horizontal - nf-fa-ruler_vertical - nf-fa-school - nf-fa-screwdriver - nf-fa-shoe_prints - nf-fa-skull - nf-fa-ban_smoking - nf-fa-store - nf-fa-shop - nf-fa-bars_staggered - nf-fa-stroopwafel - nf-fa-toolbox - nf-fa-shirt - nf-fa-person_walking - nf-fa-wallet - nf-fa-face_angry - nf-fa-archway - nf-fa-book_atlas - nf-fa-award - nf-fa-delete_left - nf-fa-bezier_curve - nf-fa-bong - nf-fa-brush - nf-fa-bus_simple - nf-fa-cannabis - nf-fa-check_double - nf-fa-martini_glass_citrus - nf-fa-bell_concierge - nf-fa-cookie - nf-fa-cookie_bite - nf-fa-crop_simple - nf-fa-tachograph_digital - nf-fa-face_dizzy - nf-fa-compass_drafting - nf-fa-drum - nf-fa-drum_steelpan - nf-fa-feather_pointed - nf-fa-file_contract - nf-fa-file_arrow_down - nf-fa-file_export - nf-fa-file_import - nf-fa-file_invoice - nf-fa-file_invoice_dollar - nf-fa-file_prescription - nf-fa-file_signature - nf-fa-file_arrow_up - nf-fa-fill - nf-fa-fill_drip - nf-fa-fingerprint - nf-fa-fish - nf-fa-face_flushed - nf-fa-face_frown_open - nf-fa-martini_glass - nf-fa-earth_africa - nf-fa-earth_americas - nf-fa-earth_asia - nf-fa-face_grimace - nf-fa-face_grin - nf-fa-face_grin_wide - nf-fa-face_grin_beam - nf-fa-face_grin_beam_sweat - nf-fa-face_grin_hearts - nf-fa-face_grin_squint - nf-fa-face_grin_squint_tears - nf-fa-face_grin_stars - nf-fa-face_grin_tears - nf-fa-face_grin_tongue - nf-fa-face_grin_tongue_squint - nf-fa-face_grin_tongue_wink - nf-fa-face_grin_wink - nf-fa-grip - nf-fa-grip_vertical - nf-fa-headphones_simple - nf-fa-headset - nf-fa-highlighter - nf-fa-hornbill - nf-fa-hot_tub_person - nf-fa-hotel_building - nf-fa-joint - nf-fa-face_kiss - nf-fa-face_kiss_beam - nf-fa-face_kiss_wink_heart - nf-fa-face_laugh - nf-fa-face_laugh_beam - nf-fa-face_laugh_squint - nf-fa-face_laugh_wink - nf-fa-cart_flatbed_suitcase - nf-fa-mailchimp - nf-fa-map_location - nf-fa-map_location_dot - nf-fa-marker - nf-fa-medal - nf-fa-megaport - nf-fa-face_meh_blank - nf-fa-face_rolling_eyes - nf-fa-monument - nf-fa-mortar_pestle - nf-fa-nimblr - nf-fa-paint_roller - nf-fa-passport - nf-fa-pen_fancy - nf-fa-pen_nib - nf-fa-pen_ruler - nf-fa-plane_arrival - nf-fa-plane_departure - nf-fa-prescription - nf-fa-rev - nf-fa-face_sad_cry - nf-fa-face_sad_tear - nf-fa-shopware - nf-fa-van_shuttle - nf-fa-signature - nf-fa-face_smile_beam - nf-fa-solar_panel - nf-fa-spa - nf-fa-splotch - nf-fa-spray_can - nf-fa-squarespace - nf-fa-stamp - nf-fa-star_half_stroke - nf-fa-suitcase_rolling - nf-fa-face_surprise - nf-fa-swatchbook - nf-fa-person_swimming - nf-fa-water_ladder - nf-fa-themeco - nf-fa-droplet_slash - nf-fa-face_tired - nf-fa-tooth - nf-fa-umbrella_beach - nf-fa-vector_square - nf-fa-weebly - nf-fa-weight_hanging - nf-fa-wine_glass_empty - nf-fa-wix - nf-fa-spray_can_sparkles - nf-fa-apple_whole - nf-fa-atom - nf-fa-bone - nf-fa-book_open_reader - nf-fa-brain - nf-fa-car_rear - nf-fa-car_battery - nf-fa-car_burst - nf-fa-car_side - nf-fa-charging_station - nf-fa-diamond_turn_right - nf-fa-draw_polygon - nf-fa-ello - nf-fa-hackerrank - nf-fa-kaggle - nf-fa-laptop_code - nf-fa-layer_group - nf-fa-location_crosshairs - nf-fa-lungs - nf-fa-markdown - nf-fa-microscope - nf-fa-neos - nf-fa-oil_can - nf-fa-poop - nf-fa-shapes - nf-fa-star_of_life - nf-fa-gauge - nf-fa-gauge_simple - nf-fa-teeth - nf-fa-teeth_open - nf-fa-masks_theater - nf-fa-traffic_light - nf-fa-truck_monster - nf-fa-truck_pickup - nf-fa-zhihu - nf-fa-rectangle_ad - nf-fa-alipay - nf-fa-ankh - nf-fa-book_bible - nf-fa-business_time - nf-fa-city - nf-fa-comment_dollar - nf-fa-comments_dollar - nf-fa-cross - nf-fa-dharmachakra - nf-fa-envelope_open_text - nf-fa-folder_minus - nf-fa-folder_plus - nf-fa-filter_circle_dollar - nf-fa-gopuram - nf-fa-hamsa - nf-fa-bahai - nf-fa-jedi - nf-fa-book_journal_whills - nf-fa-kaaba - nf-fa-khanda - nf-fa-landmark - nf-fa-envelopes_bulk - nf-fa-menorah - nf-fa-mosque - nf-fa-om - nf-fa-spaghetti_monster_flying - nf-fa-peace - nf-fa-place_of_worship - nf-fa-square_poll_vertical - nf-fa-square_poll_horizontal - nf-fa-person_praying - nf-fa-hands_praying - nf-fa-book_quran - nf-fa-magnifying_glass_dollar - nf-fa-magnifying_glass_location - nf-fa-socks - nf-fa-square_root_variable - nf-fa-star_and_crescent - nf-fa-star_of_david - nf-fa-synagogue - nf-fa-the_red_yeti - nf-fa-scroll_torah - nf-fa-torii_gate - nf-fa-vihara - nf-fa-volume_xmark - nf-fa-yin_yang - nf-fa-blender_phone - nf-fa-book_skull - nf-fa-campground - nf-fa-cat - nf-fa-chair - nf-fa-cloud_moon - nf-fa-cloud_sun - nf-fa-cow - nf-fa-critical_role - nf-fa-d_and_d_beyond - nf-fa-dev - nf-fa-dice_d20 - nf-fa-dice_d6 - nf-fa-dog - nf-fa-dragon - nf-fa-drumstick_bite - nf-fa-dungeon - nf-fa-fantasy_flight_games - nf-fa-file_csv - nf-fa-hand_fist - nf-fa-ghost - nf-fa-hammer - nf-fa-hanukiah - nf-fa-hat_wizard - nf-fa-person_hiking - nf-fa-hippo - nf-fa-horse - nf-fa-house_chimney_crack - nf-fa-hryvnia_sign - nf-fa-mask - nf-fa-mountain - nf-fa-network_wired - nf-fa-otter - nf-fa-ring - nf-fa-person_running - nf-fa-scroll - nf-fa-skull_crossbones - nf-fa-slash - nf-fa-spider - nf-fa-toilet_paper - nf-fa-tractor - nf-fa-user_injured - nf-fa-vr_cardboard - nf-fa-wand_sparkles - nf-fa-wind - nf-fa-wine_bottle - nf-fa-wizards_of_the_coast - nf-fa-think_peaks - nf-fa-cloud_meatball - nf-fa-cloud_moon_rain - nf-fa-cloud_rain - nf-fa-cloud_showers_heavy - nf-fa-cloud_sun_rain - nf-fa-democrat - nf-fa-flag_usa - nf-fa-hurricane - nf-fa-landmark_dome - nf-fa-meteor - nf-fa-person_booth - nf-fa-poo_storm - nf-fa-rainbow - nf-fa-reacteurope - nf-fa-republican - nf-fa-smog - nf-fa-temperature_high - nf-fa-temperature_low - nf-fa-cloud_bolt - nf-fa-tornado - nf-fa-volcano - nf-fa-check_to_slot - nf-fa-water - nf-fa-artstation - nf-fa-atlassian - nf-fa-baby - nf-fa-baby_carriage - nf-fa-biohazard - nf-fa-blog - nf-fa-calendar_day - nf-fa-calendar_week - nf-fa-canadian_maple_leaf - nf-fa-candy_cane - nf-fa-carrot - nf-fa-cash_register - nf-fa-centos - nf-fa-minimize - nf-fa-confluence - nf-fa-dhl - nf-fa-diaspora - nf-fa-dumpster - nf-fa-dumpster_fire - nf-fa-ethernet - nf-fa-fedex - nf-fa-fedora - nf-fa-figma - nf-fa-gifts - nf-fa-champagne_glasses - nf-fa-whiskey_glass - nf-fa-earth_europe - nf-fa-grip_lines - nf-fa-grip_lines_vertical - nf-fa-guitar - nf-fa-heart_crack - nf-fa-holly_berry - nf-fa-horse_head - nf-fa-icicles - nf-fa-igloo - nf-fa-intercom - nf-fa-invision - nf-fa-jira - nf-fa-mendeley - nf-fa-mitten - nf-fa-mug_hot - nf-fa-radiation - nf-fa-circle_radiation - nf-fa-raspberry_pi - nf-fa-redhat - nf-fa-restroom - nf-fa-satellite - nf-fa-satellite_dish - nf-fa-sd_card - nf-fa-sim_card - nf-fa-person_skating - nf-fa-sketch - nf-fa-person_skiing - nf-fa-person_skiing_nordic - nf-fa-sleigh - nf-fa-comment_sms - nf-fa-person_snowboarding - nf-fa-snowman - nf-fa-snowplow - nf-fa-sourcetree - nf-fa-suse - nf-fa-tenge_sign - nf-fa-toilet - nf-fa-screwdriver_wrench - nf-fa-cable_car - nf-fa-ubuntu - nf-fa-ups - nf-fa-usps - nf-fa-yarn - nf-fa-fire_flame_curved - nf-fa-bacon - nf-fa-book_medical - nf-fa-bread_slice - nf-fa-cheese - nf-fa-house_chimney_medical - nf-fa-clipboard_user - nf-fa-comment_medical - nf-fa-crutch - nf-fa-disease - nf-fa-egg - nf-fa-folder_tree - nf-fa-burger - nf-fa-hand_middle_finger - nf-fa-helmet_safety - nf-fa-house_chimney - nf-fa-hospital_user - nf-fa-hotdog - nf-fa-ice_cream - nf-fa-laptop_medical - nf-fa-pager - nf-fa-pepper_hot - nf-fa-pizza_slice - nf-fa-sack_dollar - nf-fa-book_tanakh - nf-fa-bars_progress - nf-fa-trash_arrow_up - nf-fa-trash_can_arrow_up - nf-fa-user_nurse - nf-fa-airbnb - nf-fa-battle_net - nf-fa-bootstrap - nf-fa-buffer - nf-fa-chromecast - nf-fa-evernote - nf-fa-itch_io - nf-fa-salesforce - nf-fa-speaker_deck - nf-fa-symfony - nf-fa-wave_square - nf-fa-waze - nf-fa-yammer - nf-fa-git_alt - nf-fa-stackpath - nf-fa-person_biking - nf-fa-border_all - nf-fa-border_none - nf-fa-border_top_left - nf-fa-person_digging - nf-fa-fan - nf-fa-icons - nf-fa-phone_flip - nf-fa-square_phone_flip - nf-fa-photo_film - nf-fa-text_slash - nf-fa-arrow_down_z_a - nf-fa-arrow_up_z_a - nf-fa-arrow_down_short_wide - nf-fa-arrow_up_short_wide - nf-fa-arrow_down_9_1 - nf-fa-arrow_up_9_1 - nf-fa-spell_check - nf-fa-voicemail - nf-fa-cotton_bureau - nf-fa-buy_n_large - nf-fa-hat_cowboy - nf-fa-hat_cowboy_side - nf-fa-mdb - nf-fa-computer_mouse - nf-fa-orcid - nf-fa-radio - nf-fa-record_vinyl - nf-fa-swift - nf-fa-umbraco - nf-fa-walkie_talkie - nf-fa-caravan - nf-fa-avianex - nf-fa-less_than - nf-fa-less_than_equal - nf-fa-memory - nf-fa-microphone_lines_slash - nf-fa-money_bill_wave - nf-fa-money_bill_1_wave - nf-fa-money_check - nf-fa-money_check_dollar - nf-fa-not_equal - nf-fa-palette - nf-fa-square_parking - nf-fa-diagram_project - nf-fa-martini_glass_empty nf-fa-glass - nf-fa-music - nf-fa-magnifying_glass nf-fa-search - nf-fa-envelope_o - nf-fa-heart - nf-fa-star - nf-fa-star_o - nf-fa-user - nf-fa-film - nf-fa-table_cells_large nf-fa-th_large - nf-fa-table_cells nf-fa-th - nf-fa-table_list nf-fa-th_list - nf-fa-check - nf-fa-xmark nf-fa-times nf-fa-close nf-fa-remove - nf-fa-magnifying_glass_plus nf-fa-search_plus - nf-fa-images - nf-fa-magnifying_glass_minus nf-fa-search_minus - nf-fa-power_off - nf-fa-signal - nf-fa-gear nf-fa-cog - nf-fa-trash_can nf-fa-trash_o - nf-fa-house nf-fa-home - nf-fa-file_o - nf-fa-clock nf-fa-clock_o - nf-fa-road - nf-fa-download - nf-fa-circle_down nf-fa-arrow_circle_o_down - nf-fa-circle_up nf-fa-arrow_circle_o_up - nf-fa-inbox - nf-fa-play_circle_o - nf-fa-arrow_rotate_right nf-fa-repeat - nf-fa-pen - nf-fa-pen_clip - nf-fa-arrows_rotate nf-fa-refresh - nf-fa-rectangle_list nf-fa-list_alt - nf-fa-lock - nf-fa-flag - nf-fa-headphones - nf-fa-volume_off - nf-fa-volume_low nf-fa-volume_down - nf-fa-volume_high nf-fa-volume_up - nf-fa-qrcode - nf-fa-barcode - nf-fa-tag - nf-fa-tags - nf-fa-book - nf-fa-bookmark - nf-fa-print - nf-fa-camera - nf-fa-font - nf-fa-bold - nf-fa-italic - nf-fa-text_height - nf-fa-text_width - nf-fa-align_left - nf-fa-align_center - nf-fa-align_right - nf-fa-align_justify - nf-fa-list - nf-fa-outdent nf-fa-dedent - nf-fa-indent - nf-fa-video nf-fa-video_camera - nf-fa-image nf-fa-picture_o nf-fa-photo - nf-fa-down_long - nf-fa-pencil - nf-fa-location_pin nf-fa-map_marker - nf-fa-circle_half_stroke nf-fa-adjust - nf-fa-droplet nf-fa-tint - nf-fa-pen_to_square nf-fa-pencil_square_o nf-fa-edit - nf-fa-share_square_o - nf-fa-check_square_o - nf-fa-arrows_up_down_left_right nf-fa-arrows - nf-fa-backward_step nf-fa-step_backward - nf-fa-backward_fast nf-fa-fast_backward - nf-fa-backward - nf-fa-play - nf-fa-pause - nf-fa-stop - nf-fa-forward - nf-fa-left_long - nf-fa-forward_fast nf-fa-fast_forward - nf-fa-forward_step nf-fa-step_forward - nf-fa-eject - nf-fa-chevron_left - nf-fa-chevron_right - nf-fa-circle_plus nf-fa-plus_circle - nf-fa-circle_minus nf-fa-minus_circle - nf-fa-remove_sign nf-fa-times_circle - nf-fa-ok_sign nf-fa-check_circle - nf-fa-circle_question nf-fa-question_circle - nf-fa-circle_info nf-fa-info_circle - nf-fa-crosshairs - nf-fa-circle_xmark nf-fa-times_circle_o - nf-fa-circle_check nf-fa-check_circle_o - nf-fa-ban - nf-fa-file_pen - nf-fa-arrow_left - nf-fa-arrow_right - nf-fa-arrow_up - nf-fa-arrow_down - nf-fa-share nf-fa-mail_forward - nf-fa-expand - nf-fa-compress - nf-fa-plus - nf-fa-minus - nf-fa-asterisk - nf-fa-circle_exclamation nf-fa-exclamation_circle - nf-fa-gift - nf-fa-leaf - nf-fa-fire - nf-fa-eye - nf-fa-maximize - nf-fa-eye_slash - nf-fa-triangle_exclamation nf-fa-exclamation_triangle nf-fa-warning - nf-fa-plane - nf-fa-calendar_days nf-fa-calendar - nf-fa-shuffle nf-fa-random - nf-fa-comment - nf-fa-magnet - nf-fa-chevron_up - nf-fa-chevron_down - nf-fa-retweet - nf-fa-cart_shopping nf-fa-shopping_cart - nf-fa-folder - nf-fa-folder_open - nf-fa-arrows_up_down nf-fa-arrows_v - nf-fa-arrows_left_right nf-fa-arrows_h - nf-fa-clipboard_alt - nf-fa-chart_bar nf-fa-bar_chart nf-fa-bar_chart_o - nf-fa-square_twitter nf-fa-twitter_square - nf-fa-square_facebook nf-fa-facebook_square - nf-fa-camera_retro - nf-fa-key - nf-fa-gears nf-fa-cogs - nf-fa-comments - nf-fa-thumbs_o_up - nf-fa-thumbs_o_down - nf-fa-star_half - nf-fa-heard_o nf-fa-heart_o - nf-fa-arrow_right_from_bracket nf-fa-sign_out - nf-fa-linkedin_square - nf-fa-thumbtack nf-fa-thumb_tack - nf-fa-arrow_up_right_from_square nf-fa-external_link - nf-fa-left_right - nf-fa-arrow_right_to_bracket nf-fa-sign_in - nf-fa-trophy - nf-fa-square_github nf-fa-github_square - nf-fa-upload - nf-fa-lemon nf-fa-lemon_o - nf-fa-phone - nf-fa-square_o - nf-fa-bookmark_o - nf-fa-square_phone nf-fa-phone_square - nf-fa-twitter - nf-fa-facebook - nf-fa-github - nf-fa-unlock - nf-fa-credit_card - nf-fa-rss nf-fa-feed - nf-fa-up_down - nf-fa-hard_drive nf-fa-hdd_o - nf-fa-bullhorn - nf-fa-bell_o - nf-fa-certificate - nf-fa-hand_point_right nf-fa-hand_o_right - nf-fa-hand_point_left nf-fa-hand_o_left - nf-fa-hand_point_up nf-fa-hand_o_up - nf-fa-hand_point_down nf-fa-hand_o_down - nf-fa-circle_arrow_left nf-fa-arrow_circle_left - nf-fa-circle_arrow_right nf-fa-arrow_circle_right - nf-fa-circle_arrow_up nf-fa-arrow_circle_up - nf-fa-circle_arrow_down nf-fa-arrow_circle_down - nf-fa-globe - nf-fa-wrench - nf-fa-list_check nf-fa-tasks - nf-fa-square_font_awesome_stroke - nf-fa-filter - nf-fa-briefcase - nf-fa-up_down_left_right nf-fa-arrows_alt - nf-fa-up_right_from_square - nf-fa-square_up_right - nf-fa-right_left - nf-fa-repeat_alt - nf-fa-accusoft - nf-fa-adversal - nf-fa-affiliatetheme - nf-fa-algolia - nf-fa-amilia - nf-fa-angrycreative - nf-fa-app_store - nf-fa-app_store_ios - nf-fa-apper - nf-fa-users nf-fa-group - nf-fa-link nf-fa-chain - nf-fa-cloud - nf-fa-flask - nf-fa-scissors nf-fa-cut - nf-fa-copy nf-fa-files_o - nf-fa-paperclip - nf-fa-floppy_disk nf-fa-floppy_o nf-fa-save - nf-fa-square - nf-fa-bars nf-fa-reorder nf-fa-navicon - nf-fa-list_ul - nf-fa-list_ol - nf-fa-strikethrough - nf-fa-underline - nf-fa-table - nf-fa-asymmetrik - nf-fa-wand_magic nf-fa-magic - nf-fa-truck - nf-fa-pinterest - nf-fa-square_pinterest nf-fa-pinterest_square - nf-fa-square_google_plus nf-fa-google_plus_square - nf-fa-google_plus - nf-fa-money_bill nf-fa-money - nf-fa-caret_down - nf-fa-caret_up - nf-fa-caret_left - nf-fa-caret_right - nf-fa-table_columns nf-fa-columns - nf-fa-sort nf-fa-unsorted - nf-fa-sort_down nf-fa-sort_desc - nf-fa-sort_up nf-fa-sort_asc - nf-fa-audible - nf-fa-envelope - nf-fa-linkedin_in nf-fa-linkedin - nf-fa-arrow_rotate_left nf-fa-undo - nf-fa-gavel nf-fa-legal - nf-fa-gauge_simple_high nf-fa-dashboard nf-fa-tachometer - nf-fa-comment_o - nf-fa-comments_o - nf-fa-bolt nf-fa-flash - nf-fa-sitemap - nf-fa-umbrella - nf-fa-paste nf-fa-clipboard - nf-fa-lightbulb nf-fa-lightbulb_o - nf-fa-arrow_right_arrow_left nf-fa-exchange - nf-fa-cloud_arrow_down nf-fa-cloud_download - nf-fa-cloud_arrow_up nf-fa-cloud_upload - nf-fa-aws - nf-fa-user_doctor nf-fa-user_md - nf-fa-stethoscope - nf-fa-suitcase - nf-fa-bell - nf-fa-mug_saucer nf-fa-coffee - nf-fa-utensils nf-fa-cutlery - nf-fa-file_text_o - nf-fa-building_o - nf-fa-hospital nf-fa-hospital_o - nf-fa-truck_medical nf-fa-ambulance - nf-fa-suitcase_medical nf-fa-medkit - nf-fa-jet_fighter nf-fa-fighter_jet - nf-fa-beer_mug_empty nf-fa-beer - nf-fa-square_h nf-fa-h_square - nf-fa-square_plus nf-fa-plus_square - nf-fa-bimobject - nf-fa-angles_left nf-fa-angle_double_left - nf-fa-angles_right nf-fa-angle_double_right - nf-fa-angles_up nf-fa-angle_double_up - nf-fa-angles_down nf-fa-angle_double_down - nf-fa-angle_left - nf-fa-angle_right - nf-fa-angle_up - nf-fa-angle_down - nf-fa-desktop - nf-fa-laptop - nf-fa-tablet_screen_button - nf-fa-mobile_screen_button nf-fa-mobile_phone - nf-fa-circle_o - nf-fa-quote_left - nf-fa-quote_right - nf-fa-bitcoin - nf-fa-spinner - nf-fa-circle - nf-fa-reply nf-fa-mail_reply - nf-fa-github_alt - nf-fa-folder_o - nf-fa-folder_open_o - nf-fa-bity - nf-fa-blackberry - nf-fa-face_smile nf-fa-smile_o - nf-fa-face_frown nf-fa-frown_o - nf-fa-face_meh nf-fa-meh_o - nf-fa-gamepad - nf-fa-keyboard nf-fa-keyboard_o - nf-fa-flag_o - nf-fa-flag_checkered - nf-fa-blogger - nf-fa-terminal - nf-fa-code - nf-fa-reply_all nf-fa-mail_reply_all - nf-fa-star_half_o nf-fa-star_half_full nf-fa-star_half_empty - nf-fa-location_arrow - nf-fa-crop - nf-fa-code_branch nf-fa-code_fork - nf-fa-link_slash nf-fa-unlink nf-fa-chain_broken - nf-fa-question - nf-fa-info - nf-fa-exclamation - nf-fa-superscript - nf-fa-subscript - nf-fa-eraser - nf-fa-puzzle_piece - nf-fa-blogger_b - nf-fa-microphone - nf-fa-microphone_slash - nf-fa-shield - nf-fa-calendar_o - nf-fa-fire_extinguisher - nf-fa-rocket - nf-fa-maxcdn - nf-fa-circle_chevron_left nf-fa-chevron_circle_left - nf-fa-circle_chevron_right nf-fa-chevron_circle_right - nf-fa-circle_chevron_up nf-fa-chevron_circle_up - nf-fa-circle_chevron_down nf-fa-chevron_circle_down - nf-fa-html5 - nf-fa-css3 - nf-fa-anchor - nf-fa-unlock_keyhole nf-fa-unlock_alt - nf-fa-buromobelexperte - nf-fa-bullseye - nf-fa-ellipsis nf-fa-ellipsis_h - nf-fa-ellipsis_vertical nf-fa-ellipsis_v - nf-fa-square_rss nf-fa-rss_square - nf-fa-circle_play nf-fa-play_circle - nf-fa-ticket - nf-fa-square_minus nf-fa-minus_square - nf-fa-minus_square_o - nf-fa-arrow_turn_up nf-fa-level_up - nf-fa-arrow_turn_down nf-fa-level_down - nf-fa-square_check nf-fa-check_square - nf-fa-square_pen nf-fa-pencil_square - nf-fa-square_arrow_up_right nf-fa-external_link_square - nf-fa-share_from_square nf-fa-share_square - nf-fa-compass - nf-fa-centercode - nf-fa-square_caret_down nf-fa-caret_square_o_down nf-fa-toggle_down - nf-fa-square_caret_up nf-fa-toggle_up nf-fa-caret_square_o_up - nf-fa-square_caret_right nf-fa-toggle_right nf-fa-caret_square_o_right - nf-fa-euro_sign nf-fa-euro nf-fa-eur - nf-fa-sterling_sign nf-fa-gbp - nf-fa-dollar_sign nf-fa-dollar nf-fa-usd - nf-fa-rupee_sign nf-fa-inr nf-fa-rupee - nf-fa-yen_sign nf-fa-jpy nf-fa-yen nf-fa-cny nf-fa-rmb - nf-fa-ruble_sign nf-fa-rouble nf-fa-ruble nf-fa-rub - nf-fa-won_sign nf-fa-krw nf-fa-won - nf-fa-btc - nf-fa-file - nf-fa-file_lines nf-fa-file_text - nf-fa-arrow_down_a_z nf-fa-sort_alpha_asc - nf-fa-arrow_up_a_z nf-fa-sort_alpha_desc - nf-fa-cloudscale - nf-fa-arrow_down_wide_short nf-fa-sort_amount_asc - nf-fa-arrow_up_wide_short nf-fa-sort_amount_desc - nf-fa-arrow_down_1_9 nf-fa-sort_numeric_asc - nf-fa-arrow_up_1_9 nf-fa-sort_numeric_desc - nf-fa-thumbs_up - nf-fa-thumbs_down - nf-fa-square_youtube nf-fa-youtube_square - nf-fa-cloudsmith - nf-fa-xing - nf-fa-square_xing nf-fa-xing_square - nf-fa-youtube nf-fa-youtube_play - nf-fa-dropbox - nf-fa-stack_overflow - nf-fa-instagram - nf-fa-flickr - nf-fa-cloudversify - nf-fa-adn - nf-fa-bitbucket - nf-fa-code_commit nf-fa-bitbucket_square - nf-fa-tumblr - nf-fa-square_tumblr nf-fa-tumblr_square - nf-fa-arrow_down_long nf-fa-long_arrow_down - nf-fa-arrow_up_long nf-fa-long_arrow_up - nf-fa-arrow_left_long nf-fa-long_arrow_left - nf-fa-arrow_right_long nf-fa-long_arrow_right - nf-fa-apple - nf-fa-windows - nf-fa-android - nf-fa-linux - nf-fa-dribbble - nf-fa-skype - nf-fa-code_merge - nf-fa-foursquare - nf-fa-trello - nf-fa-person_dress nf-fa-female - nf-fa-person nf-fa-male - nf-fa-gratipay nf-fa-gittip - nf-fa-sun nf-fa-sun_o - nf-fa-moon nf-fa-moon_o - nf-fa-box_archive nf-fa-archive - nf-fa-bug - nf-fa-vk - nf-fa-weibo - nf-fa-renren - nf-fa-pagelines - nf-fa-stack_exchange - nf-fa-circle_right nf-fa-arrow_circle_o_right - nf-fa-cpanel - nf-fa-circle_left nf-fa-arrow_circle_o_left - nf-fa-square_caret_left nf-fa-caret_square_o_left nf-fa-toggle_left - nf-fa-circle_dot nf-fa-dot_circle_o - nf-fa-wheelchair - nf-fa-square_vimeo nf-fa-vimeo_square - nf-fa-lira_sign nf-fa-turkish_lira nf-fa-try - nf-fa-plus_square_o - nf-fa-shuttle_space nf-fa-space_shuttle - nf-fa-slack - nf-fa-square_envelope nf-fa-envelope_square - nf-fa-wordpress - nf-fa-openid - nf-fa-building_columns nf-fa-bank nf-fa-institution nf-fa-university - nf-fa-graduation_cap nf-fa-mortar_board - nf-fa-yahoo - nf-fa-css3_alt - nf-fa-google - nf-fa-reddit - nf-fa-square_reddit nf-fa-reddit_square - nf-fa-stumbleupon_circle - nf-fa-stumbleupon - nf-fa-delicious - nf-fa-digg - nf-fa-pied_piper_pp - nf-fa-pied_piper_alt - nf-fa-drupal - nf-fa-joomla - nf-fa-language - nf-fa-fax - nf-fa-building - nf-fa-child - nf-fa-cuttlefish - nf-fa-paw - nf-fa-spoon - nf-fa-cube - nf-fa-cubes - nf-fa-behance - nf-fa-square_behance nf-fa-behance_square - nf-fa-steam - nf-fa-square_steam nf-fa-steam_square - nf-fa-recycle - nf-fa-car nf-fa-automobile - nf-fa-taxi nf-fa-cab - nf-fa-tree - nf-fa-spotify - nf-fa-deviantart - nf-fa-soundcloud - nf-fa-d_and_d - nf-fa-database - nf-fa-file_pdf nf-fa-file_pdf_o - nf-fa-file_word nf-fa-file_word_o - nf-fa-file_excel nf-fa-file_excel_o - nf-fa-file_powerpoint nf-fa-file_powerpoint_o - nf-fa-file_image nf-fa-file_picture_o nf-fa-file_image_o nf-fa-file_photo_o - nf-fa-file_zipper nf-fa-file_zip_o nf-fa-file_archive_o - nf-fa-file_audio nf-fa-file_audio_o nf-fa-file_sound_o - nf-fa-file_video nf-fa-file_movie_o nf-fa-file_video_o - nf-fa-file_code nf-fa-file_code_o - nf-fa-vine - nf-fa-codepen - nf-fa-jsfiddle - nf-fa-life_ring nf-fa-support nf-fa-life_bouy nf-fa-life_saver nf-fa-life_buoy - nf-fa-circle_notch nf-fa-circle_o_notch - nf-fa-deploydog - nf-fa-rebel nf-fa-ra nf-fa-resistance - nf-fa-empire nf-fa-ge - nf-fa-square_git nf-fa-git_square - nf-fa-git - nf-fa-hacker_news nf-fa-y_combinator_square nf-fa-yc_square - nf-fa-tencent_weibo - nf-fa-qq - nf-fa-weixin nf-fa-wechat - nf-fa-paper_plane nf-fa-send - nf-fa-paper_plane_o nf-fa-send_o - nf-fa-clock_rotate_left nf-fa-history - nf-fa-circle_thin - nf-fa-heading nf-fa-header - nf-fa-paragraph - nf-fa-sliders - nf-fa-deskpro - nf-fa-share_nodes nf-fa-share_alt - nf-fa-square_share_nodes nf-fa-share_alt_square - nf-fa-bomb - nf-fa-futbol nf-fa-soccer_ball_o nf-fa-futbol_o - nf-fa-tty - nf-fa-binoculars - nf-fa-plug - nf-fa-slideshare - nf-fa-twitch - nf-fa-yelp - nf-fa-newspaper nf-fa-newspaper_o - nf-fa-wifi - nf-fa-calculator - nf-fa-paypal - nf-fa-google_wallet - nf-fa-digital_ocean - nf-fa-cc_visa - nf-fa-cc_mastercard - nf-fa-cc_discover - nf-fa-cc_amex - nf-fa-cc_paypal - nf-fa-cc_stripe - nf-fa-bell_slash - nf-fa-bell_slash_o - nf-fa-trash - nf-fa-copyright - nf-fa-at - nf-fa-eye_dropper nf-fa-eyedropper - nf-fa-paintbrush nf-fa-paint_brush - nf-fa-cake_candles nf-fa-birthday_cake - nf-fa-chart_area nf-fa-area_chart - nf-fa-discord - nf-fa-chart_pie nf-fa-pie_chart - nf-fa-chart_line nf-fa-line_chart - nf-fa-lastfm - nf-fa-square_lastfm nf-fa-lastfm_square - nf-fa-toggle_off - nf-fa-toggle_on - nf-fa-bicycle - nf-fa-bus - nf-fa-ioxhost - nf-fa-angellist - nf-fa-closed_captioning nf-fa-cc - nf-fa-shekel_sign nf-fa-sheqel nf-fa-shekel nf-fa-ils - nf-fa-discourse nf-fa-meanpath - nf-fa-buysellads - nf-fa-connectdevelop - nf-fa-dochub - nf-fa-dashcube - nf-fa-forumbee - nf-fa-leanpub - nf-fa-sellsy - nf-fa-shirtsinbulk - nf-fa-simplybuilt - nf-fa-skyatlas - nf-fa-cart_plus - nf-fa-cart_arrow_down - nf-fa-gem - nf-fa-ship - nf-fa-user_secret - nf-fa-motorcycle - nf-fa-street_view - nf-fa-heart_pulse nf-fa-heartbeat - nf-fa-docker - nf-fa-draft2digital - nf-fa-venus - nf-fa-mars - nf-fa-mercury - nf-fa-transgender nf-fa-intersex - nf-fa-transgender_alt - nf-fa-venus_double - nf-fa-mars_double - nf-fa-venus_mars - nf-fa-mars_stroke - nf-fa-mars_stroke_up nf-fa-mars_stroke_v - nf-fa-mars_stroke_right nf-fa-mars_stroke_h - nf-fa-neuter - nf-fa-genderless - nf-fa-square_dribbble - nf-fa-dyalog - nf-fa-earlybirds nf-fa-facebook_official - nf-fa-pinterest_p - nf-fa-whatsapp - nf-fa-server - nf-fa-user_plus - nf-fa-user_xmark nf-fa-user_times - nf-fa-bed nf-fa-hotel - nf-fa-viacoin - nf-fa-train - nf-fa-train_subway nf-fa-subway - nf-fa-medium - nf-fa-y_combinator nf-fa-yc - nf-fa-optin_monster - nf-fa-opencart - nf-fa-expeditedssl - nf-fa-erlang - nf-fa-battery_full nf-fa-battery nf-fa-battery_4 - nf-fa-battery_three_quarters nf-fa-battery_3 - nf-fa-battery_half nf-fa-battery_2 - nf-fa-battery_quarter nf-fa-battery_1 - nf-fa-battery_empty nf-fa-battery_0 - nf-fa-arrow_pointer nf-fa-mouse_pointer - nf-fa-i_cursor - nf-fa-object_group - nf-fa-object_ungroup - nf-fa-note_sticky nf-fa-sticky_note - nf-fa-sticky_note_o - nf-fa-cc_jcb - nf-fa-cc_diners_club - nf-fa-clone - nf-fa-scale_balanced nf-fa-balance_scale - nf-fa-facebook_f - nf-fa-hourglass_o - nf-fa-hourglass_start nf-fa-hourglass_1 - nf-fa-hourglass_half nf-fa-hourglass_2 - nf-fa-hourglass_end nf-fa-hourglass_3 - nf-fa-hourglass - nf-fa-hand_back_fist nf-fa-hand_rock_o nf-fa-hand_grab_o - nf-fa-hand nf-fa-hand_paper_o nf-fa-hand_stop_o - nf-fa-hand_scissors nf-fa-hand_scissors_o - nf-fa-hand_lizard nf-fa-hand_lizard_o - nf-fa-hand_spock nf-fa-hand_spock_o - nf-fa-hand_pointer nf-fa-hand_pointer_o - nf-fa-hand_peace nf-fa-hand_peace_o - nf-fa-trademark - nf-fa-registered - nf-fa-creative_commons - nf-fa-facebook_messenger - nf-fa-gg - nf-fa-gg_circle - nf-fa-firstdraft nf-fa-tripadvisor - nf-fa-odnoklassniki - nf-fa-square_odnoklassniki nf-fa-odnoklassniki_square - nf-fa-get_pocket - nf-fa-wikipedia_w - nf-fa-safari - nf-fa-chrome - nf-fa-firefox - nf-fa-opera - nf-fa-internet_explorer - nf-fa-tv nf-fa-television - nf-fa-contao - nf-fa-500px - nf-fa-fonticons_fi - nf-fa-amazon - nf-fa-calendar_plus nf-fa-calendar_plus_o - nf-fa-calendar_minus nf-fa-calendar_minus_o - nf-fa-calendar_xmark nf-fa-calendar_times_o - nf-fa-calendar_check nf-fa-calendar_check_o - nf-fa-industry - nf-fa-map_pin - nf-fa-signs_post nf-fa-map_signs - nf-fa-map_o - nf-fa-map - nf-fa-message nf-fa-commenting - nf-fa-comment_dots nf-fa-commenting_o - nf-fa-houzz - nf-fa-vimeo_v - nf-fa-black_tie - nf-fa-fort_awesome_alt - nf-fa-fonticons - nf-fa-reddit_alien - nf-fa-edge - nf-fa-credit_card_alt - nf-fa-codiepie - nf-fa-modx - nf-fa-fort_awesome - nf-fa-usb - nf-fa-product_hunt - nf-fa-mixcloud - nf-fa-scribd - nf-fa-circle_pause nf-fa-pause_circle - nf-fa-pause_circle_o - nf-fa-circle_stop nf-fa-stop_circle - nf-fa-stop_circle_o - nf-fa-freebsd - nf-fa-bag_shopping nf-fa-shopping_bag - nf-fa-basket_shopping nf-fa-shopping_basket - nf-fa-hashtag - nf-fa-bluetooth - nf-fa-bluetooth_b - nf-fa-percent - nf-fa-gitlab - nf-fa-wpbeginner - nf-fa-wpforms - nf-fa-envira - nf-fa-universal_access - nf-fa-accessible_icon nf-fa-wheelchair_alt - nf-fa-question_circle_o - nf-fa-person_walking_with_cane nf-fa-blind - nf-fa-audio_description - nf-fa-diamond - nf-fa-phone_volume nf-fa-volume_control_phone - nf-fa-braille - nf-fa-ear_listen nf-fa-assistive_listening_systems - nf-fa-hands_asl_interpreting nf-fa-american_sign_language_interpreting nf-fa-asl_interpreting - nf-fa-ear_deaf nf-fa-deaf nf-fa-deafness nf-fa-hard_of_hearing - nf-fa-glide - nf-fa-glide_g - nf-fa-hands nf-fa-signing nf-fa-sign_language - nf-fa-eye_low_vision nf-fa-low_vision - nf-fa-viadeo - nf-fa-square_viadeo nf-fa-viadeo_square - nf-fa-snapchat - nf-fa-gitkraken nf-fa-snapchat_ghost - nf-fa-square_snapchat nf-fa-snapchat_square - nf-fa-pied_piper - nf-fa-gofore - nf-fa-first_order - nf-fa-yoast - nf-fa-themeisle - nf-fa-google_plus_circle nf-fa-google_plus_official - nf-fa-font_awesome nf-fa-fa - nf-fa-handshake nf-fa-handshake_o - nf-fa-envelope_open - nf-fa-envelope_open_o - nf-fa-linode - nf-fa-address_book - nf-fa-address_book_o - nf-fa-address_card nf-fa-vcard - nf-fa-address_card_o nf-fa-vcard_o - nf-fa-circle_user nf-fa-user_circle - nf-fa-user_circle_o - nf-fa-goodreads - nf-fa-user_o - nf-fa-id_badge - nf-fa-id_card nf-fa-drivers_license - nf-fa-id_card_o nf-fa-drivers_license_o - nf-fa-quora - nf-fa-free_code_camp - nf-fa-telegram - nf-fa-temperature_full nf-fa-thermometer_4 nf-fa-thermometer nf-fa-thermometer_full - nf-fa-temperature_three_quarters nf-fa-thermometer_3 nf-fa-thermometer_three_quarters - nf-fa-temperature_half nf-fa-thermometer_2 nf-fa-thermometer_half - nf-fa-temperature_quarter nf-fa-thermometer_1 nf-fa-thermometer_quarter - nf-fa-temperature_empty nf-fa-thermometer_empty nf-fa-thermometer_0 - nf-fa-shower - nf-fa-bath nf-fa-bathtub nf-fa-s15 - nf-fa-podcast - nf-fa-goodreads_g - nf-fa-window_maximize - nf-fa-window_minimize - nf-fa-window_restore - nf-fa-square_xmark nf-fa-times_rectangle nf-fa-window_close - nf-fa-rectangle_xmark nf-fa-window_close_o nf-fa-times_rectangle_o - nf-fa-bandcamp - nf-fa-grav - nf-fa-etsy - nf-fa-imdb - nf-fa-ravelry - nf-fa-sellcast nf-fa-eercast - nf-fa-microchip - nf-fa-snowflake nf-fa-snowflake_o - nf-fa-superpowers - nf-fa-wpexplorer - nf-fa-google_drive - nf-fa-meetup - nf-fa-google_play - nf-fa-gripfire - nf-fa-grunt - nf-fa-gulp - nf-fa-square_hacker_news - nf-fa-hire_a_helper - nf-fa-hotjar - nf-fa-hubspot - nf-fa-itunes - nf-fa-rotate_left - nf-fa-itunes_note - nf-fa-jenkins - nf-fa-joget - nf-fa-js - nf-fa-square_js - nf-fa-keycdn - nf-fa-rotate - nf-fa-stopwatch - nf-fa-kickstarter - nf-fa-kickstarter_k - nf-fa-right_from_bracket - nf-fa-right_to_bracket - nf-fa-laravel - nf-fa-turn_down - nf-fa-rotate_right - nf-fa-turn_up - nf-fa-line - nf-fa-lock_open - nf-fa-lyft - nf-fa-poo - nf-fa-magento - nf-fae-smaller - nf-fae-snowing - nf-fae-soda - nf-fae-sofa - nf-fae-soup - nf-fae-spermatozoon - nf-fae-spin_double - nf-fae-stomach - nf-fae-storm - nf-fae-telescope - nf-fae-thermometer - nf-fae-thermometer_high - nf-fae-thermometer_low - nf-fae-thin_close - nf-fae-toilet - nf-fae-tools - nf-fae-tooth - nf-fae-uterus - nf-fae-w3c - nf-fae-walking - nf-fae-virus - nf-fae-telegram_circle - nf-fae-slash - nf-fae-telegram - nf-fae-shirt - nf-fae-tacos - nf-fae-sushi - nf-fae-triangle_ruler - nf-fae-tree - nf-fae-sun_cloud - nf-fae-ruby_o - nf-fae-ruler - nf-fae-umbrella - nf-fae-medicine - nf-fae-microscope - nf-fae-milk_bottle - nf-fae-minimize - nf-fae-molecule - nf-fae-moon_cloud - nf-fae-mushroom - nf-fae-mustache - nf-fae-mysql - nf-fae-nintendo - nf-fae-palette_color - nf-fae-pi - nf-fae-pizza - nf-fae-planet - nf-fae-plant - nf-fae-playstation - nf-fae-poison - nf-fae-popcorn - nf-fae-popsicle - nf-fae-pulse - nf-fae-python - nf-fae-quora_circle - nf-fae-quora_square - nf-fae-radioactive - nf-fae-raining - nf-fae-real_heart - nf-fae-refrigerator - nf-fae-restore - nf-fae-ring - nf-fae-ruby - nf-fae-fingerprint - nf-fae-floppy - nf-fae-footprint - nf-fae-freecodecamp - nf-fae-galaxy - nf-fae-galery - nf-fae-glass - nf-fae-google_drive - nf-fae-google_play - nf-fae-gps - nf-fae-grav - nf-fae-guitar - nf-fae-gut - nf-fae-halter - nf-fae-hamburger - nf-fae-hat - nf-fae-hexagon - nf-fae-high_heel - nf-fae-hotdog - nf-fae-ice_cream - nf-fae-id_card - nf-fae-imdb - nf-fae-infinity - nf-fae-java - nf-fae-layers - nf-fae-lips - nf-fae-lipstick - nf-fae-liver - nf-fae-lung - nf-fae-makeup_brushes - nf-fae-maximize - nf-fae-wallet - nf-fae-chess_horse - nf-fae-chess_king - nf-fae-chess_pawn - nf-fae-chess_queen - nf-fae-chess_tower - nf-fae-cheese - nf-fae-chilli - nf-fae-chip - nf-fae-cicling - nf-fae-cloud - nf-fae-cockroach - nf-fae-coffe_beans - nf-fae-coins - nf-fae-comb - nf-fae-comet - nf-fae-crown - nf-fae-cup_coffe - nf-fae-dice - nf-fae-disco - nf-fae-dna - nf-fae-donut - nf-fae-dress - nf-fae-drop - nf-fae-ello - nf-fae-envelope_open - nf-fae-envelope_open_o - nf-fae-equal - nf-fae-equal_bigger - nf-fae-feedly - nf-fae-file_export - nf-fae-file_import - nf-fae-wind - nf-fae-atom - nf-fae-bacteria - nf-fae-banana - nf-fae-bath - nf-fae-bed - nf-fae-benzene - nf-fae-bigger - nf-fae-biohazard - nf-fae-blogger_circle - nf-fae-blogger_square - nf-fae-bones - nf-fae-book_open - nf-fae-book_open_o - nf-fae-brain - nf-fae-bread - nf-fae-butterfly - nf-fae-carot - nf-fae-cc_by - nf-fae-cc_cc - nf-fae-cc_nc - nf-fae-cc_nc_eu - nf-fae-cc_nc_jp - nf-fae-cc_nd - nf-fae-cc_remix - nf-fae-cc_sa - nf-fae-cc_share - nf-fae-cc_zero - nf-fae-checklist_o - nf-fae-cherry - nf-fae-chess_bishop - nf-fae-xbox - nf-fae-apple_fruit - nf-fae-chicken_thigh - nf-fae-gift_card - nf-fae-injection - nf-fae-isle - nf-fae-lollipop - nf-fae-loyalty_card - nf-fae-meat - nf-fae-mountains - nf-fae-orange - nf-fae-peach - nf-fae-pear -⏻ nf-iec-power -⏼ nf-iec-toggle_power -⏽ nf-iec-power_on -⏾ nf-iec-sleep_mode -⭘ nf-iec-power_off - nf-linux-alpine - nf-linux-aosc - nf-linux-apple - nf-linux-archlinux - nf-linux-centos - nf-linux-coreos - nf-linux-debian - nf-linux-devuan - nf-linux-docker - nf-linux-elementary - nf-linux-fedora - nf-linux-fedora_inverse - nf-linux-freebsd - nf-linux-gentoo - nf-linux-linuxmint - nf-linux-linuxmint_inverse - nf-linux-mageia - nf-linux-mandriva - nf-linux-manjaro - nf-linux-nixos - nf-linux-opensuse - nf-linux-raspberry_pi - nf-linux-redhat - nf-linux-sabayon - nf-linux-slackware - nf-linux-slackware_inverse - nf-linux-tux - nf-linux-ubuntu - nf-linux-ubuntu_inverse - nf-linux-almalinux - nf-linux-archlabs - nf-linux-artix - nf-linux-budgie - nf-linux-deepin - nf-linux-endeavour - nf-linux-ferris - nf-linux-flathub - nf-linux-gnu_guix - nf-linux-illumos - nf-linux-kali_linux - nf-linux-openbsd - nf-linux-parrot - nf-linux-pop_os - nf-linux-rocky_linux - nf-linux-snappy - nf-linux-solus - nf-linux-void - nf-linux-zorin - nf-linux-codeberg - nf-linux-kde_neon - nf-linux-kde_plasma - nf-linux-kubuntu - nf-linux-kubuntu_inverse - nf-linux-forgejo - nf-linux-freecad - nf-linux-garuda - nf-linux-gimp - nf-linux-gitea - nf-linux-hyperbola - nf-linux-inkscape - nf-linux-kdenlive - nf-linux-krita - nf-linux-lxle - nf-linux-mxlinux - nf-linux-parabola - nf-linux-puppy - nf-linux-qubesos - nf-linux-tails - nf-linux-trisquel - nf-linux-archcraft - nf-linux-arcolinux - nf-linux-biglinux - nf-linux-crystal - nf-linux-locos - nf-linux-xerolinux - nf-linux-arduino - nf-linux-kicad - nf-linux-octoprint - nf-linux-openscad - nf-linux-osh - nf-linux-oshwa - nf-linux-prusaslicer - nf-linux-reprap - nf-linux-riscv - nf-linux-awesome - nf-linux-bspwm - nf-linux-dwm - nf-linux-enlightenment - nf-linux-fluxbox - nf-linux-hyprland - nf-linux-i3 - nf-linux-jwm - nf-linux-qtile - nf-linux-sway - nf-linux-xmonad - nf-linux-cinnamon - nf-linux-freedesktop - nf-linux-gnome - nf-linux-gtk - nf-linux-lxde - nf-linux-lxqt - nf-linux-mate - nf-linux-vanilla - nf-linux-wayland - nf-linux-xfce - nf-linux-xorg - nf-linux-fdroid - nf-linux-fosdem - nf-linux-osi - nf-linux-wikimedia - nf-linux-mpv - nf-linux-neovim - nf-linux-thunderbird - nf-linux-tor - nf-linux-vscodium - nf-linux-kde - nf-linux-postmarketos - nf-linux-qt - nf-linux-libreoffice - nf-linux-libreofficebase - nf-linux-libreofficecalc - nf-linux-libreofficedraw - nf-linux-libreofficeimpress - nf-linux-libreofficemath - nf-linux-libreofficewriter - nf-linux-tumbleweed - nf-linux-leap - nf-linux-typst - nf-linux-nobara - nf-linux-river -󰀁 nf-md-vector_square -󰀂 nf-md-access_point_network -󰀃 nf-md-access_point -󰀄 nf-md-account -󰀅 nf-md-account_alert -󰀆 nf-md-account_box -󰀇 nf-md-account_box_outline -󰀈 nf-md-account_check -󰀉 nf-md-account_circle -󰀊 nf-md-account_convert -󰀋 nf-md-account_key -󰀌 nf-md-tooltip_account -󰀍 nf-md-account_minus -󰀎 nf-md-account_multiple -󰀏 nf-md-account_multiple_outline -󰀐 nf-md-account_multiple_plus -󰀑 nf-md-account_network -󰀒 nf-md-account_off -󰀓 nf-md-account_outline -󰀔 nf-md-account_plus -󰀕 nf-md-account_remove -󰀖 nf-md-account_search -󰀗 nf-md-account_star -󰀘 nf-md-orbit -󰀙 nf-md-account_switch -󰀚 nf-md-adjust -󰀛 nf-md-air_conditioner -󰀜 nf-md-airballoon -󰀝 nf-md-airplane -󰀞 nf-md-airplane_off -󰀟 nf-md-cast_variant -󰀠 nf-md-alarm -󰀡 nf-md-alarm_check -󰀢 nf-md-alarm_multiple -󰀣 nf-md-alarm_off -󰀤 nf-md-alarm_plus -󰀥 nf-md-album -󰀦 nf-md-alert -󰀧 nf-md-alert_box -󰀨 nf-md-alert_circle -󰀩 nf-md-alert_octagon -󰀪 nf-md-alert_outline -󰀫 nf-md-alpha -󰀬 nf-md-alphabetical -󰀭 nf-md-greenhouse -󰀮 nf-md-rollerblade_off -󰀯 nf-md-ambulance -󰀰 nf-md-amplifier -󰀱 nf-md-anchor -󰀲 nf-md-android -󰀳 nf-md-web_plus -󰀴 nf-md-android_studio -󰀵 nf-md-apple -󰀶 nf-md-apple_finder -󰀷 nf-md-apple_ios -󰀸 nf-md-apple_icloud -󰀹 nf-md-apple_safari -󰀺 nf-md-font_awesome -󰀻 nf-md-apps -󰀼 nf-md-archive -󰀽 nf-md-arrange_bring_forward -󰀾 nf-md-arrange_bring_to_front -󰀿 nf-md-arrange_send_backward -󰁀 nf-md-arrange_send_to_back -󰁁 nf-md-arrow_all -󰁂 nf-md-arrow_bottom_left -󰁃 nf-md-arrow_bottom_right -󰁄 nf-md-arrow_collapse_all -󰁅 nf-md-arrow_down -󰁆 nf-md-arrow_down_thick -󰁇 nf-md-arrow_down_bold_circle -󰁈 nf-md-arrow_down_bold_circle_outline -󰁉 nf-md-arrow_down_bold_hexagon_outline -󰁊 nf-md-arrow_down_drop_circle -󰁋 nf-md-arrow_down_drop_circle_outline -󰁌 nf-md-arrow_expand_all -󰁍 nf-md-arrow_left -󰁎 nf-md-arrow_left_thick -󰁏 nf-md-arrow_left_bold_circle -󰁐 nf-md-arrow_left_bold_circle_outline -󰁑 nf-md-arrow_left_bold_hexagon_outline -󰁒 nf-md-arrow_left_drop_circle -󰁓 nf-md-arrow_left_drop_circle_outline -󰁔 nf-md-arrow_right -󰁕 nf-md-arrow_right_thick -󰁖 nf-md-arrow_right_bold_circle -󰁗 nf-md-arrow_right_bold_circle_outline -󰁘 nf-md-arrow_right_bold_hexagon_outline -󰁙 nf-md-arrow_right_drop_circle -󰁚 nf-md-arrow_right_drop_circle_outline -󰁛 nf-md-arrow_top_left -󰁜 nf-md-arrow_top_right -󰁝 nf-md-arrow_up -󰁞 nf-md-arrow_up_thick -󰁟 nf-md-arrow_up_bold_circle -󰁠 nf-md-arrow_up_bold_circle_outline -󰁡 nf-md-arrow_up_bold_hexagon_outline -󰁢 nf-md-arrow_up_drop_circle -󰁣 nf-md-arrow_up_drop_circle_outline -󰁤 nf-md-assistant -󰁥 nf-md-at -󰁦 nf-md-attachment -󰁧 nf-md-book_music -󰁨 nf-md-auto_fix -󰁩 nf-md-auto_upload -󰁪 nf-md-autorenew -󰁫 nf-md-av_timer -󰁬 nf-md-baby -󰁭 nf-md-backburger -󰁮 nf-md-backspace -󰁯 nf-md-backup_restore -󰁰 nf-md-bank -󰁱 nf-md-barcode -󰁲 nf-md-barcode_scan -󰁳 nf-md-barley -󰁴 nf-md-barrel -󰁵 nf-md-incognito_off -󰁶 nf-md-basket -󰁷 nf-md-basket_fill -󰁸 nf-md-basket_unfill -󰁹 nf-md-battery -󰁺 nf-md-battery_10 -󰁻 nf-md-battery_20 -󰁼 nf-md-battery_30 -󰁽 nf-md-battery_40 -󰁾 nf-md-battery_50 -󰁿 nf-md-battery_60 -󰂀 nf-md-battery_70 -󰂁 nf-md-battery_80 -󰂂 nf-md-battery_90 -󰂃 nf-md-battery_alert -󰂄 nf-md-battery_charging -󰂅 nf-md-battery_charging_100 -󰂆 nf-md-battery_charging_20 -󰂇 nf-md-battery_charging_30 -󰂈 nf-md-battery_charging_40 -󰂉 nf-md-battery_charging_60 -󰂊 nf-md-battery_charging_80 -󰂋 nf-md-battery_charging_90 -󰂌 nf-md-battery_minus_variant -󰂍 nf-md-battery_negative -󰂎 nf-md-battery_outline -󰂏 nf-md-battery_plus_variant -󰂐 nf-md-battery_positive -󰂑 nf-md-battery_unknown -󰂒 nf-md-beach -󰂓 nf-md-flask -󰂔 nf-md-flask_empty -󰂕 nf-md-flask_empty_outline -󰂖 nf-md-flask_outline -󰂗 nf-md-bunk_bed_outline -󰂘 nf-md-beer -󰂙 nf-md-bed_outline -󰂚 nf-md-bell -󰂛 nf-md-bell_off -󰂜 nf-md-bell_outline -󰂝 nf-md-bell_plus -󰂞 nf-md-bell_ring -󰂟 nf-md-bell_ring_outline -󰂠 nf-md-bell_sleep -󰂡 nf-md-beta -󰂢 nf-md-book_cross -󰂣 nf-md-bike -󰂤 nf-md-microsoft_bing -󰂥 nf-md-binoculars -󰂦 nf-md-bio -󰂧 nf-md-biohazard -󰂨 nf-md-bitbucket -󰂩 nf-md-black_mesa -󰂪 nf-md-shield_refresh -󰂫 nf-md-blender_software -󰂬 nf-md-blinds -󰂭 nf-md-block_helper -󰂮 nf-md-application_edit -󰂯 nf-md-bluetooth -󰂰 nf-md-bluetooth_audio -󰂱 nf-md-bluetooth_connect -󰂲 nf-md-bluetooth_off -󰂳 nf-md-bluetooth_settings -󰂴 nf-md-bluetooth_transfer -󰂵 nf-md-blur -󰂶 nf-md-blur_linear -󰂷 nf-md-blur_off -󰂸 nf-md-blur_radial -󰂹 nf-md-bone -󰂺 nf-md-book -󰂻 nf-md-book_multiple -󰂼 nf-md-book_variant_multiple -󰂽 nf-md-book_open -󰂾 nf-md-book_open_blank_variant -󰂿 nf-md-book_variant -󰃀 nf-md-bookmark -󰃁 nf-md-bookmark_check -󰃂 nf-md-bookmark_music -󰃃 nf-md-bookmark_outline -󰃄 nf-md-bookmark_plus_outline -󰃅 nf-md-bookmark_plus -󰃆 nf-md-bookmark_remove -󰃇 nf-md-border_all -󰃈 nf-md-border_bottom -󰃉 nf-md-border_color -󰃊 nf-md-border_horizontal -󰃋 nf-md-border_inside -󰃌 nf-md-border_left -󰃍 nf-md-border_none -󰃎 nf-md-border_outside -󰃏 nf-md-border_right -󰃐 nf-md-border_style -󰃑 nf-md-border_top -󰃒 nf-md-border_vertical -󰃓 nf-md-bowling -󰃔 nf-md-box -󰃕 nf-md-box_cutter -󰃖 nf-md-briefcase -󰃗 nf-md-briefcase_check -󰃘 nf-md-briefcase_download -󰃙 nf-md-briefcase_upload -󰃚 nf-md-brightness_1 -󰃛 nf-md-brightness_2 -󰃜 nf-md-brightness_3 -󰃝 nf-md-brightness_4 -󰃞 nf-md-brightness_5 -󰃟 nf-md-brightness_6 -󰃠 nf-md-brightness_7 -󰃡 nf-md-brightness_auto -󰃢 nf-md-broom -󰃣 nf-md-brush -󰃤 nf-md-bug -󰃥 nf-md-bulletin_board -󰃦 nf-md-bullhorn -󰃧 nf-md-bus -󰃨 nf-md-cached -󰃩 nf-md-cake -󰃪 nf-md-cake_layered -󰃫 nf-md-cake_variant -󰃬 nf-md-calculator -󰃭 nf-md-calendar -󰃮 nf-md-calendar_blank -󰃯 nf-md-calendar_check -󰃰 nf-md-calendar_clock -󰃱 nf-md-calendar_multiple -󰃲 nf-md-calendar_multiple_check -󰃳 nf-md-calendar_plus -󰃴 nf-md-calendar_remove -󰃵 nf-md-calendar_text -󰃶 nf-md-calendar_today -󰃷 nf-md-call_made -󰃸 nf-md-call_merge -󰃹 nf-md-call_missed -󰃺 nf-md-call_received -󰃻 nf-md-call_split -󰃼 nf-md-camcorder -󰃽 nf-md-video_box -󰃾 nf-md-video_box_off -󰃿 nf-md-camcorder_off -󰄀 nf-md-camera -󰄁 nf-md-camera_enhance -󰄂 nf-md-camera_front -󰄃 nf-md-camera_front_variant -󰄄 nf-md-camera_iris -󰄅 nf-md-camera_party_mode -󰄆 nf-md-camera_rear -󰄇 nf-md-camera_rear_variant -󰄈 nf-md-camera_switch -󰄉 nf-md-camera_timer -󰄊 nf-md-candycane -󰄋 nf-md-car -󰄌 nf-md-car_battery -󰄍 nf-md-car_connected -󰄎 nf-md-car_wash -󰄏 nf-md-carrot -󰄐 nf-md-cart -󰄑 nf-md-cart_outline -󰄒 nf-md-cart_plus -󰄓 nf-md-case_sensitive_alt -󰄔 nf-md-cash -󰄕 nf-md-cash_100 -󰄖 nf-md-cash_multiple -󰄗 nf-md-checkbox_blank_badge_outline -󰄘 nf-md-cast -󰄙 nf-md-cast_connected -󰄚 nf-md-castle -󰄛 nf-md-cat -󰄜 nf-md-cellphone -󰄝 nf-md-tray_arrow_up -󰄞 nf-md-cellphone_basic -󰄟 nf-md-cellphone_dock -󰄠 nf-md-tray_arrow_down -󰄡 nf-md-cellphone_link -󰄢 nf-md-cellphone_link_off -󰄣 nf-md-cellphone_settings -󰄤 nf-md-certificate -󰄥 nf-md-chair_school -󰄦 nf-md-chart_arc -󰄧 nf-md-chart_areaspline -󰄨 nf-md-chart_bar -󰄩 nf-md-chart_histogram -󰄪 nf-md-chart_line -󰄫 nf-md-chart_pie -󰄬 nf-md-check -󰄭 nf-md-check_all -󰄮 nf-md-checkbox_blank -󰄯 nf-md-checkbox_blank_circle -󰄰 nf-md-checkbox_blank_circle_outline -󰄱 nf-md-checkbox_blank_outline -󰄲 nf-md-checkbox_marked -󰄳 nf-md-checkbox_marked_circle -󰄴 nf-md-checkbox_marked_circle_outline -󰄵 nf-md-checkbox_marked_outline -󰄶 nf-md-checkbox_multiple_blank -󰄷 nf-md-checkbox_multiple_blank_outline -󰄸 nf-md-checkbox_multiple_marked -󰄹 nf-md-checkbox_multiple_marked_outline -󰄺 nf-md-checkerboard -󰄻 nf-md-chemical_weapon -󰄼 nf-md-chevron_double_down -󰄽 nf-md-chevron_double_left -󰄾 nf-md-chevron_double_right -󰄿 nf-md-chevron_double_up -󰅀 nf-md-chevron_down -󰅁 nf-md-chevron_left -󰅂 nf-md-chevron_right -󰅃 nf-md-chevron_up -󰅄 nf-md-church -󰅅 nf-md-roller_skate_off -󰅆 nf-md-city -󰅇 nf-md-clipboard -󰅈 nf-md-clipboard_account -󰅉 nf-md-clipboard_alert -󰅊 nf-md-clipboard_arrow_down -󰅋 nf-md-clipboard_arrow_left -󰅌 nf-md-clipboard_outline -󰅍 nf-md-clipboard_text -󰅎 nf-md-clipboard_check -󰅏 nf-md-clippy -󰅐 nf-md-clock_outline -󰅑 nf-md-clock_end -󰅒 nf-md-clock_fast -󰅓 nf-md-clock_in -󰅔 nf-md-clock_out -󰅕 nf-md-clock_start -󰅖 nf-md-close -󰅗 nf-md-close_box -󰅘 nf-md-close_box_outline -󰅙 nf-md-close_circle -󰅚 nf-md-close_circle_outline -󰅛 nf-md-close_network -󰅜 nf-md-close_octagon -󰅝 nf-md-close_octagon_outline -󰅞 nf-md-closed_caption -󰅟 nf-md-cloud -󰅠 nf-md-cloud_check -󰅡 nf-md-cloud_circle -󰅢 nf-md-cloud_download -󰅣 nf-md-cloud_outline -󰅤 nf-md-cloud_off_outline -󰅥 nf-md-cloud_print -󰅦 nf-md-cloud_print_outline -󰅧 nf-md-cloud_upload -󰅨 nf-md-code_array -󰅩 nf-md-code_braces -󰅪 nf-md-code_brackets -󰅫 nf-md-code_equal -󰅬 nf-md-code_greater_than -󰅭 nf-md-code_greater_than_or_equal -󰅮 nf-md-code_less_than -󰅯 nf-md-code_less_than_or_equal -󰅰 nf-md-code_not_equal -󰅱 nf-md-code_not_equal_variant -󰅲 nf-md-code_parentheses -󰅳 nf-md-code_string -󰅴 nf-md-code_tags -󰅵 nf-md-codepen -󰅶 nf-md-coffee -󰅷 nf-md-coffee_to_go -󰅸 nf-md-bell_badge_outline -󰅹 nf-md-color_helper -󰅺 nf-md-comment -󰅻 nf-md-comment_account -󰅼 nf-md-comment_account_outline -󰅽 nf-md-comment_alert -󰅾 nf-md-comment_alert_outline -󰅿 nf-md-comment_check -󰆀 nf-md-comment_check_outline -󰆁 nf-md-comment_multiple_outline -󰆂 nf-md-comment_outline -󰆃 nf-md-comment_plus_outline -󰆄 nf-md-comment_processing -󰆅 nf-md-comment_processing_outline -󰆆 nf-md-comment_question_outline -󰆇 nf-md-comment_remove_outline -󰆈 nf-md-comment_text -󰆉 nf-md-comment_text_outline -󰆊 nf-md-compare -󰆋 nf-md-compass -󰆌 nf-md-compass_outline -󰆍 nf-md-console -󰆎 nf-md-card_account_mail -󰆏 nf-md-content_copy -󰆐 nf-md-content_cut -󰆑 nf-md-content_duplicate -󰆒 nf-md-content_paste -󰆓 nf-md-content_save -󰆔 nf-md-content_save_all -󰆕 nf-md-contrast -󰆖 nf-md-contrast_box -󰆗 nf-md-contrast_circle -󰆘 nf-md-cookie -󰆙 nf-md-counter -󰆚 nf-md-cow -󰆛 nf-md-credit_card_outline -󰆜 nf-md-credit_card_multiple_outline -󰆝 nf-md-credit_card_scan_outline -󰆞 nf-md-crop -󰆟 nf-md-crop_free -󰆠 nf-md-crop_landscape -󰆡 nf-md-crop_portrait -󰆢 nf-md-crop_square -󰆣 nf-md-crosshairs -󰆤 nf-md-crosshairs_gps -󰆥 nf-md-crown -󰆦 nf-md-cube -󰆧 nf-md-cube_outline -󰆨 nf-md-cube_send -󰆩 nf-md-cube_unfolded -󰆪 nf-md-cup -󰆫 nf-md-cup_water -󰆬 nf-md-currency_btc -󰆭 nf-md-currency_eur -󰆮 nf-md-currency_gbp -󰆯 nf-md-currency_inr -󰆰 nf-md-currency_ngn -󰆱 nf-md-currency_rub -󰆲 nf-md-currency_try -󰆳 nf-md-delete_variant -󰆴 nf-md-delete -󰆵 nf-md-decimal_increase -󰆶 nf-md-decimal_decrease -󰆷 nf-md-debug_step_over -󰆸 nf-md-debug_step_out -󰆹 nf-md-debug_step_into -󰆺 nf-md-database_plus -󰆻 nf-md-database_minus -󰆼 nf-md-database -󰆽 nf-md-cursor_pointer -󰆾 nf-md-cursor_move -󰆿 nf-md-cursor_default_outline -󰇀 nf-md-cursor_default -󰇁 nf-md-currency_usd -󰇂 nf-md-delta -󰇃 nf-md-deskphone -󰇄 nf-md-desktop_mac -󰇅 nf-md-desktop_tower -󰇆 nf-md-details -󰇇 nf-md-deviantart -󰇈 nf-md-diamond_stone -󰇉 nf-md-ab_testing -󰇊 nf-md-dice_1 -󰇋 nf-md-dice_2 -󰇌 nf-md-dice_3 -󰇍 nf-md-dice_4 -󰇎 nf-md-dice_5 -󰇏 nf-md-dice_6 -󰇐 nf-md-directions -󰇑 nf-md-disc_alert -󰇒 nf-md-disqus -󰇓 nf-md-video_plus_outline -󰇔 nf-md-division -󰇕 nf-md-division_box -󰇖 nf-md-dns -󰇗 nf-md-domain -󰇘 nf-md-dots_horizontal -󰇙 nf-md-dots_vertical -󰇚 nf-md-download -󰇛 nf-md-drag -󰇜 nf-md-drag_horizontal -󰇝 nf-md-drag_vertical -󰇞 nf-md-drawing -󰇟 nf-md-drawing_box -󰇠 nf-md-shield_refresh_outline -󰇡 nf-md-calendar_refresh -󰇢 nf-md-drone -󰇣 nf-md-dropbox -󰇤 nf-md-drupal -󰇥 nf-md-duck -󰇦 nf-md-dumbbell -󰇧 nf-md-earth -󰇨 nf-md-earth_off -󰇩 nf-md-microsoft_edge -󰇪 nf-md-eject -󰇫 nf-md-elevation_decline -󰇬 nf-md-elevation_rise -󰇭 nf-md-elevator -󰇮 nf-md-email -󰇯 nf-md-email_open -󰇰 nf-md-email_outline -󰇱 nf-md-email_lock -󰇲 nf-md-emoticon_outline -󰇳 nf-md-emoticon_cool_outline -󰇴 nf-md-emoticon_devil_outline -󰇵 nf-md-emoticon_happy_outline -󰇶 nf-md-emoticon_neutral_outline -󰇷 nf-md-emoticon_poop -󰇸 nf-md-emoticon_sad_outline -󰇹 nf-md-emoticon_tongue -󰇺 nf-md-engine -󰇻 nf-md-engine_outline -󰇼 nf-md-equal -󰇽 nf-md-equal_box -󰇾 nf-md-eraser -󰇿 nf-md-escalator -󰈀 nf-md-ethernet -󰈁 nf-md-ethernet_cable -󰈂 nf-md-ethernet_cable_off -󰈃 nf-md-calendar_refresh_outline -󰈄 nf-md-evernote -󰈅 nf-md-exclamation -󰈆 nf-md-exit_to_app -󰈇 nf-md-export -󰈈 nf-md-eye -󰈉 nf-md-eye_off -󰈊 nf-md-eyedropper -󰈋 nf-md-eyedropper_variant -󰈌 nf-md-facebook -󰈍 nf-md-order_alphabetical_ascending -󰈎 nf-md-facebook_messenger -󰈏 nf-md-factory -󰈐 nf-md-fan -󰈑 nf-md-fast_forward -󰈒 nf-md-fax -󰈓 nf-md-ferry -󰈔 nf-md-file -󰈕 nf-md-file_chart -󰈖 nf-md-file_check -󰈗 nf-md-file_cloud -󰈘 nf-md-file_delimited -󰈙 nf-md-file_document -󰈚 nf-md-text_box -󰈛 nf-md-file_excel -󰈜 nf-md-file_excel_box -󰈝 nf-md-file_export -󰈞 nf-md-file_find -󰈟 nf-md-file_image -󰈠 nf-md-file_import -󰈡 nf-md-file_lock -󰈢 nf-md-file_multiple -󰈣 nf-md-file_music -󰈤 nf-md-file_outline -󰈥 nf-md-file_jpg_box -󰈦 nf-md-file_pdf_box -󰈧 nf-md-file_powerpoint -󰈨 nf-md-file_powerpoint_box -󰈩 nf-md-file_presentation_box -󰈪 nf-md-file_send -󰈫 nf-md-file_video -󰈬 nf-md-file_word -󰈭 nf-md-file_word_box -󰈮 nf-md-file_code -󰈯 nf-md-film -󰈰 nf-md-filmstrip -󰈱 nf-md-filmstrip_off -󰈲 nf-md-filter -󰈳 nf-md-filter_outline -󰈴 nf-md-filter_remove -󰈵 nf-md-filter_remove_outline -󰈶 nf-md-filter_variant -󰈷 nf-md-fingerprint -󰈸 nf-md-fire -󰈹 nf-md-firefox -󰈺 nf-md-fish -󰈻 nf-md-flag -󰈼 nf-md-flag_checkered -󰈽 nf-md-flag_outline -󰈾 nf-md-flag_variant_outline -󰈿 nf-md-flag_triangle -󰉀 nf-md-flag_variant -󰉁 nf-md-flash -󰉂 nf-md-flash_auto -󰉃 nf-md-flash_off -󰉄 nf-md-flashlight -󰉅 nf-md-flashlight_off -󰉆 nf-md-star_half -󰉇 nf-md-flip_to_back -󰉈 nf-md-flip_to_front -󰉉 nf-md-floppy -󰉊 nf-md-flower -󰉋 nf-md-folder -󰉌 nf-md-folder_account -󰉍 nf-md-folder_download -󰉎 nf-md-folder_google_drive -󰉏 nf-md-folder_image -󰉐 nf-md-folder_lock -󰉑 nf-md-folder_lock_open -󰉒 nf-md-folder_move -󰉓 nf-md-folder_multiple -󰉔 nf-md-folder_multiple_image -󰉕 nf-md-folder_multiple_outline -󰉖 nf-md-folder_outline -󰉗 nf-md-folder_plus -󰉘 nf-md-folder_remove -󰉙 nf-md-folder_upload -󰉚 nf-md-food -󰉛 nf-md-food_apple -󰉜 nf-md-food_variant -󰉝 nf-md-football -󰉞 nf-md-football_australian -󰉟 nf-md-football_helmet -󰉠 nf-md-format_align_center -󰉡 nf-md-format_align_justify -󰉢 nf-md-format_align_left -󰉣 nf-md-format_align_right -󰉤 nf-md-format_bold -󰉥 nf-md-format_clear -󰉦 nf-md-format_color_fill -󰉧 nf-md-format_float_center -󰉨 nf-md-format_float_left -󰉩 nf-md-format_float_none -󰉪 nf-md-format_float_right -󰉫 nf-md-format_header_1 -󰉬 nf-md-format_header_2 -󰉭 nf-md-format_header_3 -󰉮 nf-md-format_header_4 -󰉯 nf-md-format_header_5 -󰉰 nf-md-format_header_6 -󰉱 nf-md-format_header_decrease -󰉲 nf-md-format_header_equal -󰉳 nf-md-format_header_increase -󰉴 nf-md-format_header_pound -󰉵 nf-md-format_indent_decrease -󰉶 nf-md-format_indent_increase -󰉷 nf-md-format_italic -󰉸 nf-md-format_line_spacing -󰉹 nf-md-format_list_bulleted -󰉺 nf-md-format_list_bulleted_type -󰉻 nf-md-format_list_numbered -󰉼 nf-md-format_paint -󰉽 nf-md-format_paragraph -󰉾 nf-md-format_quote_close -󰉿 nf-md-format_size -󰊀 nf-md-format_strikethrough -󰊁 nf-md-format_strikethrough_variant -󰊂 nf-md-format_subscript -󰊃 nf-md-format_superscript -󰊄 nf-md-format_text -󰊅 nf-md-format_textdirection_l_to_r -󰊆 nf-md-format_textdirection_r_to_l -󰊇 nf-md-format_underline -󰊈 nf-md-format_wrap_inline -󰊉 nf-md-format_wrap_square -󰊊 nf-md-format_wrap_tight -󰊋 nf-md-format_wrap_top_bottom -󰊌 nf-md-forum -󰊍 nf-md-forward -󰊎 nf-md-bowl -󰊏 nf-md-fridge_outline -󰊐 nf-md-fridge -󰊑 nf-md-fridge_top -󰊒 nf-md-fridge_bottom -󰊓 nf-md-fullscreen -󰊔 nf-md-fullscreen_exit -󰊕 nf-md-function -󰊖 nf-md-gamepad -󰊗 nf-md-gamepad_variant -󰊘 nf-md-gas_station -󰊙 nf-md-gate -󰊚 nf-md-gauge -󰊛 nf-md-gavel -󰊜 nf-md-gender_female -󰊝 nf-md-gender_male -󰊞 nf-md-gender_male_female -󰊟 nf-md-gender_transgender -󰊠 nf-md-ghost -󰊡 nf-md-gift_outline -󰊢 nf-md-git -󰊣 nf-md-card_account_details_star -󰊤 nf-md-github -󰊥 nf-md-glass_flute -󰊦 nf-md-glass_mug -󰊧 nf-md-glass_stange -󰊨 nf-md-glass_tulip -󰊩 nf-md-bowl_outline -󰊪 nf-md-glasses -󰊫 nf-md-gmail -󰊬 nf-md-gnome -󰊭 nf-md-google -󰊮 nf-md-google_cardboard -󰊯 nf-md-google_chrome -󰊰 nf-md-google_circles -󰊱 nf-md-google_circles_communities -󰊲 nf-md-google_circles_extended -󰊳 nf-md-google_circles_group -󰊴 nf-md-google_controller -󰊵 nf-md-google_controller_off -󰊶 nf-md-google_drive -󰊷 nf-md-google_earth -󰊸 nf-md-google_glass -󰊹 nf-md-google_nearby -󰊺 nf-md-video_minus_outline -󰊻 nf-md-microsoft_teams -󰊼 nf-md-google_play -󰊽 nf-md-google_plus -󰊾 nf-md-order_bool_ascending -󰊿 nf-md-google_translate -󰋀 nf-md-google_classroom -󰋁 nf-md-grid -󰋂 nf-md-grid_off -󰋃 nf-md-group -󰋄 nf-md-guitar_electric -󰋅 nf-md-guitar_pick -󰋆 nf-md-guitar_pick_outline -󰋇 nf-md-hand_pointing_right -󰋈 nf-md-hanger -󰋉 nf-md-google_hangouts -󰋊 nf-md-harddisk -󰋋 nf-md-headphones -󰋌 nf-md-headphones_box -󰋍 nf-md-headphones_settings -󰋎 nf-md-headset -󰋏 nf-md-headset_dock -󰋐 nf-md-headset_off -󰋑 nf-md-heart -󰋒 nf-md-heart_box -󰋓 nf-md-heart_box_outline -󰋔 nf-md-heart_broken -󰋕 nf-md-heart_outline -󰋖 nf-md-help -󰋗 nf-md-help_circle -󰋘 nf-md-hexagon -󰋙 nf-md-hexagon_outline -󰋚 nf-md-history -󰋛 nf-md-hololens -󰋜 nf-md-home -󰋝 nf-md-home_modern -󰋞 nf-md-home_variant -󰋟 nf-md-hops -󰋠 nf-md-hospital_box -󰋡 nf-md-hospital_building -󰋢 nf-md-hospital_marker -󰋣 nf-md-bed -󰋤 nf-md-bowl_mix_outline -󰋥 nf-md-pot -󰋦 nf-md-human -󰋧 nf-md-human_child -󰋨 nf-md-human_male_female -󰋩 nf-md-image -󰋪 nf-md-image_album -󰋫 nf-md-image_area -󰋬 nf-md-image_area_close -󰋭 nf-md-image_broken -󰋮 nf-md-image_broken_variant -󰋯 nf-md-image_multiple_outline -󰋰 nf-md-image_filter_black_white -󰋱 nf-md-image_filter_center_focus -󰋲 nf-md-image_filter_center_focus_weak -󰋳 nf-md-image_filter_drama -󰋴 nf-md-image_filter_frames -󰋵 nf-md-image_filter_hdr -󰋶 nf-md-image_filter_none -󰋷 nf-md-image_filter_tilt_shift -󰋸 nf-md-image_filter_vintage -󰋹 nf-md-image_multiple -󰋺 nf-md-import -󰋻 nf-md-inbox_arrow_down -󰋼 nf-md-information -󰋽 nf-md-information_outline -󰋾 nf-md-instagram -󰋿 nf-md-pot_outline -󰌀 nf-md-microsoft_internet_explorer -󰌁 nf-md-invert_colors -󰌂 nf-md-jeepney -󰌃 nf-md-jira -󰌄 nf-md-jsfiddle -󰌅 nf-md-keg -󰌆 nf-md-key -󰌇 nf-md-key_change -󰌈 nf-md-key_minus -󰌉 nf-md-key_plus -󰌊 nf-md-key_remove -󰌋 nf-md-key_variant -󰌌 nf-md-keyboard -󰌍 nf-md-keyboard_backspace -󰌎 nf-md-keyboard_caps -󰌏 nf-md-keyboard_close -󰌐 nf-md-keyboard_off -󰌑 nf-md-keyboard_return -󰌒 nf-md-keyboard_tab -󰌓 nf-md-keyboard_variant -󰌔 nf-md-kodi -󰌕 nf-md-label -󰌖 nf-md-label_outline -󰌗 nf-md-lan -󰌘 nf-md-lan_connect -󰌙 nf-md-lan_disconnect -󰌚 nf-md-lan_pending -󰌛 nf-md-language_csharp -󰌜 nf-md-language_css3 -󰌝 nf-md-language_html5 -󰌞 nf-md-language_javascript -󰌟 nf-md-language_php -󰌠 nf-md-language_python -󰌡 nf-md-contactless_payment_circle -󰌢 nf-md-laptop -󰌣 nf-md-magazine_rifle -󰌤 nf-md-magazine_pistol -󰌥 nf-md-keyboard_tab_reverse -󰌦 nf-md-pot_steam_outline -󰌧 nf-md-launch -󰌨 nf-md-layers -󰌩 nf-md-layers_off -󰌪 nf-md-leaf -󰌫 nf-md-led_off -󰌬 nf-md-led_on -󰌭 nf-md-led_outline -󰌮 nf-md-led_variant_off -󰌯 nf-md-led_variant_on -󰌰 nf-md-led_variant_outline -󰌱 nf-md-library -󰌲 nf-md-filmstrip_box -󰌳 nf-md-music_box_multiple -󰌴 nf-md-plus_box_multiple -󰌵 nf-md-lightbulb -󰌶 nf-md-lightbulb_outline -󰌷 nf-md-link -󰌸 nf-md-link_off -󰌹 nf-md-link_variant -󰌺 nf-md-link_variant_off -󰌻 nf-md-linkedin -󰌼 nf-md-sort_reverse_variant -󰌽 nf-md-linux -󰌾 nf-md-lock -󰌿 nf-md-lock_open -󰍀 nf-md-lock_open_outline -󰍁 nf-md-lock_outline -󰍂 nf-md-login -󰍃 nf-md-logout -󰍄 nf-md-looks -󰍅 nf-md-loupe -󰍆 nf-md-lumx -󰍇 nf-md-magnet -󰍈 nf-md-magnet_on -󰍉 nf-md-magnify -󰍊 nf-md-magnify_minus -󰍋 nf-md-magnify_plus -󰍌 nf-md-plus_circle_multiple -󰍍 nf-md-map -󰍎 nf-md-map_marker -󰍏 nf-md-map_marker_circle -󰍐 nf-md-map_marker_multiple -󰍑 nf-md-map_marker_off -󰍒 nf-md-map_marker_radius -󰍓 nf-md-margin -󰍔 nf-md-language_markdown -󰍕 nf-md-marker_check -󰍖 nf-md-glass_cocktail -󰍗 nf-md-material_ui -󰍘 nf-md-math_compass -󰍙 nf-md-stackpath -󰍚 nf-md-minus_circle_multiple -󰍛 nf-md-memory -󰍜 nf-md-menu -󰍝 nf-md-menu_down -󰍞 nf-md-menu_left -󰍟 nf-md-menu_right -󰍠 nf-md-menu_up -󰍡 nf-md-message -󰍢 nf-md-message_alert -󰍣 nf-md-message_draw -󰍤 nf-md-message_image -󰍥 nf-md-message_outline -󰍦 nf-md-message_processing -󰍧 nf-md-message_reply -󰍨 nf-md-message_reply_text -󰍩 nf-md-message_text -󰍪 nf-md-message_text_outline -󰍫 nf-md-message_video -󰍬 nf-md-microphone -󰍭 nf-md-microphone_off -󰍮 nf-md-microphone_outline -󰍯 nf-md-microphone_settings -󰍰 nf-md-microphone_variant -󰍱 nf-md-microphone_variant_off -󰍲 nf-md-microsoft -󰍳 nf-md-minecraft -󰍴 nf-md-minus -󰍵 nf-md-minus_box -󰍶 nf-md-minus_circle -󰍷 nf-md-minus_circle_outline -󰍸 nf-md-minus_network -󰍹 nf-md-monitor -󰍺 nf-md-monitor_multiple -󰍻 nf-md-more -󰍼 nf-md-motorbike -󰍽 nf-md-mouse -󰍾 nf-md-mouse_off -󰍿 nf-md-mouse_variant -󰎀 nf-md-mouse_variant_off -󰎁 nf-md-movie -󰎂 nf-md-multiplication -󰎃 nf-md-multiplication_box -󰎄 nf-md-music_box -󰎅 nf-md-music_box_outline -󰎆 nf-md-music_circle -󰎇 nf-md-music_note -󰎉 nf-md-music_note_half -󰎊 nf-md-music_note_off -󰎋 nf-md-music_note_quarter -󰎌 nf-md-music_note_sixteenth -󰎍 nf-md-music_note_whole -󰎎 nf-md-nature -󰎏 nf-md-nature_people -󰎐 nf-md-navigation -󰎑 nf-md-needle -󰎒 nf-md-smoke_detector -󰎓 nf-md-thermostat -󰎔 nf-md-new_box -󰎕 nf-md-newspaper -󰎖 nf-md-nfc -󰎗 nf-md-nfc_tap -󰎘 nf-md-nfc_variant -󰎙 nf-md-nodejs -󰎚 nf-md-note -󰎛 nf-md-note_outline -󰎜 nf-md-note_plus -󰎝 nf-md-note_plus_outline -󰎞 nf-md-note_text -󰎟 nf-md-notification_clear_all -󰎠 nf-md-numeric -󰎡 nf-md-numeric_0_box -󰎢 nf-md-numeric_0_box_multiple_outline -󰎣 nf-md-numeric_0_box_outline -󰎤 nf-md-numeric_1_box -󰎥 nf-md-numeric_1_box_multiple_outline -󰎦 nf-md-numeric_1_box_outline -󰎧 nf-md-numeric_2_box -󰎨 nf-md-numeric_2_box_multiple_outline -󰎩 nf-md-numeric_2_box_outline -󰎪 nf-md-numeric_3_box -󰎫 nf-md-numeric_3_box_multiple_outline -󰎬 nf-md-numeric_3_box_outline -󰎭 nf-md-numeric_4_box -󰎮 nf-md-numeric_4_box_outline -󰎯 nf-md-numeric_5_box_multiple_outline -󰎰 nf-md-numeric_5_box_outline -󰎱 nf-md-numeric_5_box -󰎲 nf-md-numeric_4_box_multiple_outline -󰎳 nf-md-numeric_6_box -󰎴 nf-md-numeric_6_box_multiple_outline -󰎵 nf-md-numeric_6_box_outline -󰎶 nf-md-numeric_7_box -󰎷 nf-md-numeric_7_box_multiple_outline -󰎸 nf-md-numeric_7_box_outline -󰎹 nf-md-numeric_8_box -󰎺 nf-md-numeric_8_box_multiple_outline -󰎻 nf-md-numeric_8_box_outline -󰎼 nf-md-numeric_9_box -󰎽 nf-md-numeric_9_box_multiple_outline -󰎾 nf-md-numeric_9_box_outline -󰎿 nf-md-numeric_9_plus_box -󰏀 nf-md-numeric_9_plus_box_multiple_outline -󰏁 nf-md-numeric_9_plus_box_outline -󰏂 nf-md-nutrition -󰏃 nf-md-octagon -󰏄 nf-md-octagon_outline -󰏅 nf-md-odnoklassniki -󰏆 nf-md-microsoft_office -󰏇 nf-md-oil -󰏈 nf-md-coolant_temperature -󰏉 nf-md-omega -󰏊 nf-md-microsoft_onedrive -󰏋 nf-md-open_in_app -󰏌 nf-md-open_in_new -󰏍 nf-md-openid -󰏎 nf-md-opera -󰏏 nf-md-ornament -󰏐 nf-md-ornament_variant -󰏑 nf-md-inbox_arrow_up -󰏒 nf-md-owl -󰏓 nf-md-package -󰏔 nf-md-package_down -󰏕 nf-md-package_up -󰏖 nf-md-package_variant -󰏗 nf-md-package_variant_closed -󰏘 nf-md-palette -󰏙 nf-md-palette_advanced -󰏚 nf-md-panda -󰏛 nf-md-pandora -󰏜 nf-md-panorama -󰏝 nf-md-panorama_fisheye -󰏞 nf-md-panorama_horizontal_outline -󰏟 nf-md-panorama_vertical_outline -󰏠 nf-md-panorama_wide_angle_outline -󰏡 nf-md-paper_cut_vertical -󰏢 nf-md-paperclip -󰏣 nf-md-parking -󰏤 nf-md-pause -󰏥 nf-md-pause_circle -󰏦 nf-md-pause_circle_outline -󰏧 nf-md-pause_octagon -󰏨 nf-md-pause_octagon_outline -󰏩 nf-md-paw -󰏪 nf-md-pen -󰏫 nf-md-pencil -󰏬 nf-md-pencil_box -󰏭 nf-md-pencil_box_outline -󰏮 nf-md-pencil_lock -󰏯 nf-md-pencil_off -󰏰 nf-md-percent -󰏱 nf-md-mortar_pestle_plus -󰏲 nf-md-phone -󰏳 nf-md-phone_bluetooth -󰏴 nf-md-phone_forward -󰏵 nf-md-phone_hangup -󰏶 nf-md-phone_in_talk -󰏷 nf-md-phone_incoming -󰏸 nf-md-phone_lock -󰏹 nf-md-phone_log -󰏺 nf-md-phone_missed -󰏻 nf-md-phone_outgoing -󰏼 nf-md-phone_paused -󰏽 nf-md-phone_settings -󰏾 nf-md-phone_voip -󰏿 nf-md-pi -󰐀 nf-md-pi_box -󰐁 nf-md-pig -󰐂 nf-md-pill -󰐃 nf-md-pin -󰐄 nf-md-pin_off -󰐅 nf-md-pine_tree -󰐆 nf-md-pine_tree_box -󰐇 nf-md-pinterest -󰐈 nf-md-contactless_payment_circle_outline -󰐉 nf-md-pizza -󰐊 nf-md-play -󰐋 nf-md-play_box_outline -󰐌 nf-md-play_circle -󰐍 nf-md-play_circle_outline -󰐎 nf-md-play_pause -󰐏 nf-md-play_protected_content -󰐐 nf-md-playlist_minus -󰐑 nf-md-playlist_play -󰐒 nf-md-playlist_plus -󰐓 nf-md-playlist_remove -󰐔 nf-md-sony_playstation -󰐕 nf-md-plus -󰐖 nf-md-plus_box -󰐗 nf-md-plus_circle -󰐘 nf-md-plus_circle_multiple_outline -󰐙 nf-md-plus_circle_outline -󰐚 nf-md-plus_network -󰐛 nf-md-sledding -󰐜 nf-md-wall_sconce_flat_variant -󰐝 nf-md-pokeball -󰐞 nf-md-polaroid -󰐟 nf-md-poll -󰐠 nf-md-account_eye -󰐡 nf-md-polymer -󰐢 nf-md-popcorn -󰐣 nf-md-pound -󰐤 nf-md-pound_box -󰐥 nf-md-power -󰐦 nf-md-power_settings -󰐧 nf-md-power_socket -󰐨 nf-md-presentation -󰐩 nf-md-presentation_play -󰐪 nf-md-printer -󰐫 nf-md-printer_3d -󰐬 nf-md-printer_alert -󰐭 nf-md-professional_hexagon -󰐮 nf-md-projector -󰐯 nf-md-projector_screen -󰐰 nf-md-pulse -󰐱 nf-md-puzzle -󰐲 nf-md-qrcode -󰐳 nf-md-qrcode_scan -󰐴 nf-md-quadcopter -󰐵 nf-md-quality_high -󰐶 nf-md-book_multiple_outline -󰐷 nf-md-radar -󰐸 nf-md-radiator -󰐹 nf-md-radio -󰐺 nf-md-radio_handheld -󰐻 nf-md-radio_tower -󰐼 nf-md-radioactive -󰐾 nf-md-radiobox_marked -󰐿 nf-md-raspberry_pi -󰑀 nf-md-ray_end -󰑁 nf-md-ray_end_arrow -󰑂 nf-md-ray_start -󰑃 nf-md-ray_start_arrow -󰑄 nf-md-ray_start_end -󰑅 nf-md-ray_vertex -󰑆 nf-md-lastpass -󰑇 nf-md-read -󰑈 nf-md-youtube_tv -󰑉 nf-md-receipt -󰑊 nf-md-record -󰑋 nf-md-record_rec -󰑌 nf-md-recycle -󰑍 nf-md-reddit -󰑎 nf-md-redo -󰑏 nf-md-redo_variant -󰑐 nf-md-refresh -󰑑 nf-md-regex -󰑒 nf-md-relative_scale -󰑓 nf-md-reload -󰑔 nf-md-remote -󰑕 nf-md-rename_box -󰑖 nf-md-repeat -󰑗 nf-md-repeat_off -󰑘 nf-md-repeat_once -󰑙 nf-md-replay -󰑚 nf-md-reply -󰑛 nf-md-reply_all -󰑜 nf-md-reproduction -󰑝 nf-md-resize_bottom_right -󰑞 nf-md-responsive -󰑟 nf-md-rewind -󰑠 nf-md-ribbon -󰑡 nf-md-road -󰑢 nf-md-road_variant -󰑣 nf-md-rocket -󰑤 nf-md-rotate_3d_variant -󰑥 nf-md-rotate_left -󰑦 nf-md-rotate_left_variant -󰑧 nf-md-rotate_right -󰑨 nf-md-rotate_right_variant -󰑩 nf-md-router_wireless -󰑪 nf-md-routes -󰑫 nf-md-rss -󰑬 nf-md-rss_box -󰑭 nf-md-ruler -󰑮 nf-md-run_fast -󰑯 nf-md-sale -󰑰 nf-md-satellite -󰑱 nf-md-satellite_variant -󰑲 nf-md-scale -󰑳 nf-md-scale_bathroom -󰑴 nf-md-school -󰑵 nf-md-screen_rotation -󰑶 nf-md-screwdriver -󰑷 nf-md-script_outline -󰑸 nf-md-screen_rotation_lock -󰑹 nf-md-sd -󰑺 nf-md-seal -󰑻 nf-md-seat_flat -󰑼 nf-md-seat_flat_angled -󰑽 nf-md-seat_individual_suite -󰑾 nf-md-seat_legroom_extra -󰑿 nf-md-seat_legroom_normal -󰒀 nf-md-seat_legroom_reduced -󰒁 nf-md-seat_recline_extra -󰒂 nf-md-seat_recline_normal -󰒃 nf-md-security -󰒄 nf-md-security_network -󰒅 nf-md-select -󰒆 nf-md-select_all -󰒇 nf-md-select_inverse -󰒈 nf-md-select_off -󰒉 nf-md-selection -󰒊 nf-md-send -󰒋 nf-md-server -󰒌 nf-md-server_minus -󰒍 nf-md-server_network -󰒎 nf-md-server_network_off -󰒏 nf-md-server_off -󰒐 nf-md-server_plus -󰒑 nf-md-server_remove -󰒒 nf-md-server_security -󰒓 nf-md-cog -󰒔 nf-md-cog_box -󰒕 nf-md-shape_plus -󰒖 nf-md-share -󰒗 nf-md-share_variant -󰒘 nf-md-shield -󰒙 nf-md-shield_outline -󰒚 nf-md-shopping -󰒛 nf-md-shopping_music -󰒜 nf-md-shredder -󰒝 nf-md-shuffle -󰒞 nf-md-shuffle_disabled -󰒟 nf-md-shuffle_variant -󰒠 nf-md-sigma -󰒡 nf-md-sign_caution -󰒢 nf-md-signal -󰒣 nf-md-silverware -󰒤 nf-md-silverware_fork -󰒥 nf-md-silverware_spoon -󰒦 nf-md-silverware_variant -󰒧 nf-md-sim -󰒨 nf-md-sim_alert -󰒩 nf-md-sim_off -󰒪 nf-md-sitemap -󰒫 nf-md-skip_backward -󰒬 nf-md-skip_forward -󰒭 nf-md-skip_next -󰒮 nf-md-skip_previous -󰒯 nf-md-skype -󰒰 nf-md-skype_business -󰒱 nf-md-slack -󰒲 nf-md-sleep -󰒳 nf-md-sleep_off -󰒴 nf-md-smoking -󰒵 nf-md-smoking_off -󰒶 nf-md-snapchat -󰒷 nf-md-snowman -󰒸 nf-md-soccer -󰒹 nf-md-sofa -󰒺 nf-md-sort -󰒻 nf-md-sort_alphabetical_variant -󰒼 nf-md-sort_ascending -󰒽 nf-md-sort_descending -󰒾 nf-md-sort_numeric_variant -󰒿 nf-md-sort_variant -󰓀 nf-md-soundcloud -󰓁 nf-md-source_fork -󰓂 nf-md-source_pull -󰓃 nf-md-speaker -󰓄 nf-md-speaker_off -󰓅 nf-md-speedometer -󰓆 nf-md-spellcheck -󰓇 nf-md-spotify -󰓈 nf-md-spotlight -󰓉 nf-md-spotlight_beam -󰓊 nf-md-book_remove_multiple_outline -󰓋 nf-md-account_switch_outline -󰓌 nf-md-stack_overflow -󰓍 nf-md-stairs -󰓎 nf-md-star -󰓏 nf-md-star_circle -󰓐 nf-md-star_half_full -󰓑 nf-md-star_off -󰓒 nf-md-star_outline -󰓓 nf-md-steam -󰓔 nf-md-steering -󰓕 nf-md-step_backward -󰓖 nf-md-step_backward_2 -󰓗 nf-md-step_forward -󰓘 nf-md-step_forward_2 -󰓙 nf-md-stethoscope -󰓚 nf-md-stocking -󰓛 nf-md-stop -󰓜 nf-md-store -󰓝 nf-md-store_24_hour -󰓞 nf-md-stove -󰓟 nf-md-subway_variant -󰓠 nf-md-sunglasses -󰓡 nf-md-swap_horizontal -󰓢 nf-md-swap_vertical -󰓣 nf-md-swim -󰓤 nf-md-switch -󰓥 nf-md-sword -󰓦 nf-md-sync -󰓧 nf-md-sync_alert -󰓨 nf-md-sync_off -󰓩 nf-md-tab -󰓪 nf-md-tab_unselected -󰓫 nf-md-table -󰓬 nf-md-table_column_plus_after -󰓭 nf-md-table_column_plus_before -󰓮 nf-md-table_column_remove -󰓯 nf-md-table_column_width -󰓰 nf-md-table_edit -󰓱 nf-md-table_large -󰓲 nf-md-table_row_height -󰓳 nf-md-table_row_plus_after -󰓴 nf-md-table_row_plus_before -󰓵 nf-md-table_row_remove -󰓶 nf-md-tablet -󰓷 nf-md-tablet_android -󰓸 nf-md-tangram -󰓹 nf-md-tag -󰓺 nf-md-tag_faces -󰓻 nf-md-tag_multiple -󰓼 nf-md-tag_outline -󰓽 nf-md-tag_text_outline -󰓾 nf-md-target -󰓿 nf-md-taxi -󰔀 nf-md-teamviewer -󰔁 nf-md-skateboarding -󰔂 nf-md-television -󰔃 nf-md-television_guide -󰔄 nf-md-temperature_celsius -󰔅 nf-md-temperature_fahrenheit -󰔆 nf-md-temperature_kelvin -󰔇 nf-md-tennis_ball -󰔈 nf-md-tent -󰔊 nf-md-text_to_speech -󰔋 nf-md-text_to_speech_off -󰔌 nf-md-texture -󰔍 nf-md-theater -󰔎 nf-md-theme_light_dark -󰔏 nf-md-thermometer -󰔐 nf-md-thermometer_lines -󰔑 nf-md-thumb_down -󰔒 nf-md-thumb_down_outline -󰔓 nf-md-thumb_up -󰔔 nf-md-thumb_up_outline -󰔕 nf-md-thumbs_up_down -󰔖 nf-md-ticket -󰔗 nf-md-ticket_account -󰔘 nf-md-ticket_confirmation -󰔙 nf-md-tie -󰔚 nf-md-timelapse -󰔛 nf-md-timer_outline -󰔜 nf-md-timer_10 -󰔝 nf-md-timer_3 -󰔞 nf-md-timer_off_outline -󰔟 nf-md-timer_sand -󰔠 nf-md-timetable -󰔡 nf-md-toggle_switch -󰔢 nf-md-toggle_switch_off -󰔣 nf-md-tooltip -󰔤 nf-md-tooltip_edit -󰔥 nf-md-tooltip_image -󰔦 nf-md-tooltip_outline -󰔧 nf-md-tooltip_plus_outline -󰔨 nf-md-tooltip_text -󰔩 nf-md-tooth_outline -󰔪 nf-md-cloud_refresh -󰔫 nf-md-traffic_light -󰔬 nf-md-train -󰔭 nf-md-tram -󰔮 nf-md-transcribe -󰔯 nf-md-transcribe_close -󰔰 nf-md-transfer_right -󰔱 nf-md-tree -󰔲 nf-md-trello -󰔳 nf-md-trending_down -󰔴 nf-md-trending_neutral -󰔵 nf-md-trending_up -󰔶 nf-md-triangle -󰔷 nf-md-triangle_outline -󰔸 nf-md-trophy -󰔹 nf-md-trophy_award -󰔺 nf-md-trophy_outline -󰔻 nf-md-trophy_variant -󰔼 nf-md-trophy_variant_outline -󰔽 nf-md-truck -󰔾 nf-md-truck_delivery -󰔿 nf-md-tshirt_crew_outline -󰕀 nf-md-tshirt_v_outline -󰕁 nf-md-file_refresh_outline -󰕂 nf-md-folder_refresh_outline -󰕃 nf-md-twitch -󰕄 nf-md-twitter -󰕅 nf-md-order_numeric_ascending -󰕆 nf-md-order_numeric_descending -󰕇 nf-md-repeat_variant -󰕈 nf-md-ubuntu -󰕉 nf-md-umbraco -󰕊 nf-md-umbrella -󰕋 nf-md-umbrella_outline -󰕌 nf-md-undo -󰕍 nf-md-undo_variant -󰕎 nf-md-unfold_less_horizontal -󰕏 nf-md-unfold_more_horizontal -󰕐 nf-md-ungroup -󰕑 nf-md-web_remove -󰕒 nf-md-upload -󰕓 nf-md-usb -󰕔 nf-md-vector_arrange_above -󰕕 nf-md-vector_arrange_below -󰕖 nf-md-vector_circle -󰕗 nf-md-vector_circle_variant -󰕘 nf-md-vector_combine -󰕙 nf-md-vector_curve -󰕚 nf-md-vector_difference -󰕛 nf-md-vector_difference_ab -󰕜 nf-md-vector_difference_ba -󰕝 nf-md-vector_intersection -󰕞 nf-md-vector_line -󰕟 nf-md-vector_point -󰕠 nf-md-vector_polygon -󰕡 nf-md-vector_polyline -󰕢 nf-md-vector_selection -󰕣 nf-md-vector_triangle -󰕤 nf-md-vector_union -󰕥 nf-md-shield_check -󰕦 nf-md-vibrate -󰕧 nf-md-video -󰕨 nf-md-video_off -󰕩 nf-md-video_switch -󰕪 nf-md-view_agenda -󰕫 nf-md-view_array -󰕬 nf-md-view_carousel -󰕭 nf-md-view_column -󰕮 nf-md-view_dashboard -󰕯 nf-md-view_day -󰕰 nf-md-view_grid -󰕱 nf-md-view_headline -󰕲 nf-md-view_list -󰕳 nf-md-view_module -󰕴 nf-md-view_quilt -󰕵 nf-md-view_stream -󰕶 nf-md-view_week -󰕷 nf-md-vimeo -󰕸 nf-md-buffet -󰕹 nf-md-hands_pray -󰕺 nf-md-credit_card_wireless_off -󰕻 nf-md-credit_card_wireless_off_outline -󰕼 nf-md-vlc -󰕽 nf-md-voicemail -󰕾 nf-md-volume_high -󰕿 nf-md-volume_low -󰖀 nf-md-volume_medium -󰖁 nf-md-volume_off -󰖂 nf-md-vpn -󰖃 nf-md-walk -󰖄 nf-md-wallet -󰖅 nf-md-wallet_giftcard -󰖆 nf-md-wallet_membership -󰖇 nf-md-wallet_travel -󰖈 nf-md-wan -󰖉 nf-md-watch -󰖊 nf-md-watch_export -󰖋 nf-md-watch_import -󰖌 nf-md-water -󰖍 nf-md-water_off -󰖎 nf-md-water_percent -󰖏 nf-md-water_pump -󰖐 nf-md-weather_cloudy -󰖑 nf-md-weather_fog -󰖒 nf-md-weather_hail -󰖓 nf-md-weather_lightning -󰖔 nf-md-weather_night -󰖕 nf-md-weather_partly_cloudy -󰖖 nf-md-weather_pouring -󰖗 nf-md-weather_rainy -󰖘 nf-md-weather_snowy -󰖙 nf-md-weather_sunny -󰖚 nf-md-weather_sunset -󰖛 nf-md-weather_sunset_down -󰖜 nf-md-weather_sunset_up -󰖝 nf-md-weather_windy -󰖞 nf-md-weather_windy_variant -󰖟 nf-md-web -󰖠 nf-md-webcam -󰖡 nf-md-weight -󰖢 nf-md-weight_kilogram -󰖣 nf-md-whatsapp -󰖤 nf-md-wheelchair_accessibility -󰖥 nf-md-white_balance_auto -󰖦 nf-md-white_balance_incandescent -󰖧 nf-md-white_balance_iridescent -󰖨 nf-md-white_balance_sunny -󰖩 nf-md-wifi -󰖪 nf-md-wifi_off -󰖫 nf-md-nintendo_wii -󰖬 nf-md-wikipedia -󰖭 nf-md-window_close -󰖮 nf-md-window_closed -󰖯 nf-md-window_maximize -󰖰 nf-md-window_minimize -󰖱 nf-md-window_open -󰖲 nf-md-window_restore -󰖳 nf-md-microsoft_windows -󰖴 nf-md-wordpress -󰖵 nf-md-account_hard_hat -󰖶 nf-md-wrap -󰖷 nf-md-wrench -󰖸 nf-md-contacts_outline -󰖹 nf-md-microsoft_xbox -󰖺 nf-md-microsoft_xbox_controller -󰖻 nf-md-microsoft_xbox_controller_off -󰖼 nf-md-table_furniture -󰖽 nf-md-sort_alphabetical_ascending -󰖾 nf-md-firewire -󰖿 nf-md-sort_alphabetical_descending -󰗀 nf-md-xml -󰗁 nf-md-yeast -󰗂 nf-md-database_refresh -󰗃 nf-md-youtube -󰗄 nf-md-zip_box -󰗅 nf-md-surround_sound -󰗆 nf-md-vector_rectangle -󰗇 nf-md-playlist_check -󰗈 nf-md-format_line_style -󰗉 nf-md-format_line_weight -󰗊 nf-md-translate -󰗋 nf-md-account_voice -󰗌 nf-md-opacity -󰗍 nf-md-near_me -󰗎 nf-md-clock_alert_outline -󰗏 nf-md-human_pregnant -󰗐 nf-md-sticker_circle_outline -󰗑 nf-md-scale_balance -󰗒 nf-md-card_account_details -󰗓 nf-md-account_multiple_minus -󰗔 nf-md-airplane_landing -󰗕 nf-md-airplane_takeoff -󰗖 nf-md-alert_circle_outline -󰗗 nf-md-altimeter -󰗘 nf-md-animation -󰗙 nf-md-book_minus -󰗚 nf-md-book_open_page_variant -󰗛 nf-md-book_plus -󰗜 nf-md-boombox -󰗝 nf-md-bullseye -󰗞 nf-md-comment_remove -󰗟 nf-md-camera_off -󰗠 nf-md-check_circle -󰗡 nf-md-check_circle_outline -󰗢 nf-md-candle -󰗣 nf-md-chart_bubble -󰗤 nf-md-credit_card_off_outline -󰗥 nf-md-cup_off -󰗦 nf-md-copyright -󰗧 nf-md-cursor_text -󰗨 nf-md-delete_forever -󰗩 nf-md-delete_sweep -󰗪 nf-md-dice_d20_outline -󰗫 nf-md-dice_d4_outline -󰗬 nf-md-dice_d8_outline -󰗭 nf-md-dice_d6_outline -󰗮 nf-md-disc -󰗯 nf-md-email_open_outline -󰗰 nf-md-email_variant -󰗱 nf-md-ev_station -󰗲 nf-md-food_fork_drink -󰗳 nf-md-food_off -󰗴 nf-md-format_title -󰗵 nf-md-google_maps -󰗶 nf-md-heart_pulse -󰗷 nf-md-highway -󰗸 nf-md-home_map_marker -󰗹 nf-md-incognito -󰗺 nf-md-kettle -󰗻 nf-md-lock_plus -󰗽 nf-md-logout_variant -󰗾 nf-md-music_note_bluetooth -󰗿 nf-md-music_note_bluetooth_off -󰘀 nf-md-page_first -󰘁 nf-md-page_last -󰘂 nf-md-phone_classic -󰘃 nf-md-priority_high -󰘄 nf-md-priority_low -󰘅 nf-md-qqchat -󰘆 nf-md-pool -󰘇 nf-md-rounded_corner -󰘈 nf-md-rowing -󰘉 nf-md-saxophone -󰘊 nf-md-signal_variant -󰘋 nf-md-stack_exchange -󰘌 nf-md-subdirectory_arrow_left -󰘍 nf-md-subdirectory_arrow_right -󰘎 nf-md-form_textbox -󰘏 nf-md-violin -󰘐 nf-md-microsoft_visual_studio -󰘑 nf-md-wechat -󰘒 nf-md-watermark -󰘓 nf-md-file_hidden -󰘔 nf-md-application_outline -󰘕 nf-md-arrow_collapse -󰘖 nf-md-arrow_expand -󰘗 nf-md-bowl_mix -󰘘 nf-md-bridge -󰘙 nf-md-application_edit_outline -󰘚 nf-md-chip -󰘛 nf-md-content_save_settings -󰘜 nf-md-dialpad -󰘝 nf-md-book_alphabet -󰘞 nf-md-format_horizontal_align_center -󰘟 nf-md-format_horizontal_align_left -󰘠 nf-md-format_horizontal_align_right -󰘡 nf-md-format_vertical_align_bottom -󰘢 nf-md-format_vertical_align_center -󰘣 nf-md-format_vertical_align_top -󰘤 nf-md-line_scan -󰘥 nf-md-help_circle_outline -󰘦 nf-md-code_json -󰘧 nf-md-lambda -󰘨 nf-md-matrix -󰘩 nf-md-meteor -󰘪 nf-md-close_circle_multiple -󰘫 nf-md-sigma_lower -󰘬 nf-md-source_branch -󰘭 nf-md-source_merge -󰘮 nf-md-tune -󰘯 nf-md-webhook -󰘰 nf-md-account_settings -󰘱 nf-md-account_details -󰘲 nf-md-apple_keyboard_caps -󰘳 nf-md-apple_keyboard_command -󰘴 nf-md-apple_keyboard_control -󰘵 nf-md-apple_keyboard_option -󰘶 nf-md-apple_keyboard_shift -󰘷 nf-md-box_shadow -󰘸 nf-md-cards -󰘹 nf-md-cards_outline -󰘺 nf-md-cards_playing_outline -󰘻 nf-md-checkbox_multiple_blank_circle -󰘼 nf-md-checkbox_multiple_blank_circle_outline -󰘽 nf-md-checkbox_multiple_marked_circle -󰘾 nf-md-checkbox_multiple_marked_circle_outline -󰘿 nf-md-cloud_sync -󰙀 nf-md-collage -󰙁 nf-md-directions_fork -󰙂 nf-md-eraser_variant -󰙃 nf-md-face_man -󰙄 nf-md-face_man_profile -󰙅 nf-md-file_tree -󰙆 nf-md-format_annotation_plus -󰙇 nf-md-gas_cylinder -󰙈 nf-md-grease_pencil -󰙉 nf-md-human_female -󰙊 nf-md-human_greeting_variant -󰙋 nf-md-human_handsdown -󰙌 nf-md-human_handsup -󰙍 nf-md-human_male -󰙎 nf-md-information_variant -󰙏 nf-md-lead_pencil -󰙐 nf-md-map_marker_minus -󰙑 nf-md-map_marker_plus -󰙒 nf-md-marker -󰙓 nf-md-message_plus -󰙔 nf-md-microscope -󰙕 nf-md-move_resize -󰙖 nf-md-move_resize_variant -󰙗 nf-md-paw_off -󰙘 nf-md-phone_minus -󰙙 nf-md-phone_plus -󰙚 nf-md-pot_steam -󰙛 nf-md-pot_mix -󰙜 nf-md-serial_port -󰙝 nf-md-shape_circle_plus -󰙞 nf-md-shape_polygon_plus -󰙟 nf-md-shape_rectangle_plus -󰙠 nf-md-shape_square_plus -󰙡 nf-md-skip_next_circle -󰙢 nf-md-skip_next_circle_outline -󰙣 nf-md-skip_previous_circle -󰙤 nf-md-skip_previous_circle_outline -󰙥 nf-md-spray -󰙦 nf-md-stop_circle -󰙧 nf-md-stop_circle_outline -󰙨 nf-md-test_tube -󰙩 nf-md-text_shadow -󰙪 nf-md-tune_vertical -󰙫 nf-md-cart_off -󰙬 nf-md-chart_gantt -󰙭 nf-md-chart_scatter_plot_hexbin -󰙮 nf-md-chart_timeline -󰙯 nf-md-discord -󰙰 nf-md-file_restore -󰙱 nf-md-language_c -󰙲 nf-md-language_cpp -󰙳 nf-md-language_xaml -󰙴 nf-md-creation -󰙵 nf-md-application_cog -󰙶 nf-md-credit_card_plus_outline -󰙷 nf-md-pot_mix_outline -󰙸 nf-md-bow_tie -󰙹 nf-md-calendar_range -󰙺 nf-md-currency_usd_off -󰙻 nf-md-flash_red_eye -󰙼 nf-md-oar -󰙽 nf-md-piano -󰙾 nf-md-weather_lightning_rainy -󰙿 nf-md-weather_snowy_rainy -󰚀 nf-md-yin_yang -󰚁 nf-md-tower_beach -󰚂 nf-md-tower_fire -󰚃 nf-md-delete_circle -󰚄 nf-md-dna -󰚅 nf-md-hamburger -󰚆 nf-md-gondola -󰚇 nf-md-inbox -󰚈 nf-md-reorder_horizontal -󰚉 nf-md-reorder_vertical -󰚊 nf-md-shield_home -󰚋 nf-md-tag_heart -󰚌 nf-md-skull -󰚍 nf-md-solid -󰚎 nf-md-alarm_snooze -󰚏 nf-md-baby_carriage -󰚐 nf-md-beaker_outline -󰚑 nf-md-bomb -󰚒 nf-md-calendar_question -󰚓 nf-md-camera_burst -󰚔 nf-md-code_tags_check -󰚕 nf-md-circle_multiple_outline -󰚖 nf-md-crop_rotate -󰚗 nf-md-developer_board -󰚘 nf-md-piano_off -󰚙 nf-md-skate_off -󰚚 nf-md-message_star -󰚛 nf-md-emoticon_dead_outline -󰚜 nf-md-emoticon_excited_outline -󰚝 nf-md-folder_star -󰚞 nf-md-format_color_text -󰚟 nf-md-format_section -󰚠 nf-md-gradient_vertical -󰚡 nf-md-home_outline -󰚢 nf-md-message_bulleted -󰚣 nf-md-message_bulleted_off -󰚤 nf-md-nuke -󰚥 nf-md-power_plug -󰚦 nf-md-power_plug_off -󰚧 nf-md-publish -󰚨 nf-md-credit_card_marker -󰚩 nf-md-robot -󰚪 nf-md-format_rotate_90 -󰚫 nf-md-scanner -󰚬 nf-md-subway -󰚭 nf-md-timer_sand_empty -󰚮 nf-md-transit_transfer -󰚯 nf-md-unity -󰚰 nf-md-update -󰚱 nf-md-watch_vibrate -󰚲 nf-md-angular -󰚳 nf-md-dolby -󰚴 nf-md-emby -󰚵 nf-md-lamp -󰚶 nf-md-menu_down_outline -󰚷 nf-md-menu_up_outline -󰚸 nf-md-note_multiple -󰚹 nf-md-note_multiple_outline -󰚺 nf-md-plex -󰚻 nf-md-shield_airplane -󰚼 nf-md-account_edit -󰚽 nf-md-alert_decagram -󰚾 nf-md-all_inclusive -󰚿 nf-md-angularjs -󰛀 nf-md-arrow_down_box -󰛁 nf-md-arrow_left_box -󰛂 nf-md-arrow_right_box -󰛃 nf-md-arrow_up_box -󰛄 nf-md-asterisk -󰛅 nf-md-bomb_off -󰛆 nf-md-bootstrap -󰛇 nf-md-cards_variant -󰛈 nf-md-clipboard_flow -󰛉 nf-md-close_outline -󰛊 nf-md-coffee_outline -󰛋 nf-md-contacts -󰛌 nf-md-delete_empty -󰛍 nf-md-earth_box -󰛎 nf-md-earth_box_off -󰛏 nf-md-email_alert -󰛐 nf-md-eye_outline -󰛑 nf-md-eye_off_outline -󰛒 nf-md-fast_forward_outline -󰛓 nf-md-feather -󰛔 nf-md-find_replace -󰛕 nf-md-flash_outline -󰛖 nf-md-format_font -󰛗 nf-md-format_page_break -󰛘 nf-md-format_pilcrow -󰛙 nf-md-garage -󰛚 nf-md-garage_open -󰛛 nf-md-card_account_details_star_outline -󰛜 nf-md-google_keep -󰛝 nf-md-snowmobile -󰛞 nf-md-heart_half_full -󰛟 nf-md-heart_half -󰛠 nf-md-heart_half_outline -󰛡 nf-md-hexagon_multiple -󰛢 nf-md-hook -󰛣 nf-md-hook_off -󰛤 nf-md-infinity -󰛥 nf-md-language_swift -󰛦 nf-md-language_typescript -󰛧 nf-md-laptop_off -󰛨 nf-md-lightbulb_on -󰛩 nf-md-lightbulb_on_outline -󰛪 nf-md-lock_pattern -󰛫 nf-md-folder_zip -󰛬 nf-md-magnify_minus_outline -󰛭 nf-md-magnify_plus_outline -󰛮 nf-md-mailbox -󰛯 nf-md-medical_bag -󰛰 nf-md-message_settings -󰛱 nf-md-message_cog -󰛲 nf-md-minus_box_outline -󰛳 nf-md-network -󰛴 nf-md-download_network -󰛵 nf-md-help_network -󰛶 nf-md-upload_network -󰛷 nf-md-npm -󰛸 nf-md-nut -󰛹 nf-md-octagram -󰛺 nf-md-page_layout_body -󰛻 nf-md-page_layout_footer -󰛼 nf-md-page_layout_header -󰛽 nf-md-page_layout_sidebar_left -󰛾 nf-md-page_layout_sidebar_right -󰛿 nf-md-pencil_circle -󰜀 nf-md-pentagon_outline -󰜁 nf-md-pentagon -󰜂 nf-md-pillar -󰜃 nf-md-pistol -󰜄 nf-md-plus_box_outline -󰜅 nf-md-plus_outline -󰜆 nf-md-prescription -󰜇 nf-md-printer_settings -󰜈 nf-md-react -󰜉 nf-md-restart -󰜊 nf-md-rewind_outline -󰜋 nf-md-rhombus -󰜌 nf-md-rhombus_outline -󰜍 nf-md-robot_vacuum -󰜎 nf-md-run -󰜏 nf-md-search_web -󰜐 nf-md-shovel -󰜑 nf-md-shovel_off -󰜒 nf-md-signal_2g -󰜓 nf-md-signal_3g -󰜔 nf-md-signal_4g -󰜕 nf-md-signal_hspa -󰜖 nf-md-signal_hspa_plus -󰜗 nf-md-snowflake -󰜘 nf-md-source_commit -󰜙 nf-md-source_commit_end -󰜚 nf-md-source_commit_end_local -󰜛 nf-md-source_commit_local -󰜜 nf-md-source_commit_next_local -󰜝 nf-md-source_commit_start -󰜞 nf-md-source_commit_start_next_local -󰜟 nf-md-speaker_wireless -󰜠 nf-md-stadium_variant -󰜡 nf-md-svg -󰜢 nf-md-tag_plus -󰜣 nf-md-tag_remove -󰜤 nf-md-ticket_percent -󰜥 nf-md-tilde -󰜦 nf-md-treasure_chest -󰜧 nf-md-truck_trailer -󰜨 nf-md-view_parallel -󰜩 nf-md-view_sequential -󰜪 nf-md-washing_machine -󰜫 nf-md-webpack -󰜬 nf-md-widgets -󰜭 nf-md-nintendo_wiiu -󰜮 nf-md-arrow_down_bold -󰜯 nf-md-arrow_down_bold_box -󰜰 nf-md-arrow_down_bold_box_outline -󰜱 nf-md-arrow_left_bold -󰜲 nf-md-arrow_left_bold_box -󰜳 nf-md-arrow_left_bold_box_outline -󰜴 nf-md-arrow_right_bold -󰜵 nf-md-arrow_right_bold_box -󰜶 nf-md-arrow_right_bold_box_outline -󰜷 nf-md-arrow_up_bold -󰜸 nf-md-arrow_up_bold_box -󰜹 nf-md-arrow_up_bold_box_outline -󰜺 nf-md-cancel -󰜻 nf-md-file_account -󰜼 nf-md-gesture_double_tap -󰜽 nf-md-gesture_swipe_down -󰜾 nf-md-gesture_swipe_left -󰜿 nf-md-gesture_swipe_right -󰝀 nf-md-gesture_swipe_up -󰝁 nf-md-gesture_tap -󰝂 nf-md-gesture_two_double_tap -󰝃 nf-md-gesture_two_tap -󰝄 nf-md-humble_bundle -󰝅 nf-md-kickstarter -󰝆 nf-md-netflix -󰝇 nf-md-microsoft_onenote -󰝈 nf-md-wall_sconce_round -󰝉 nf-md-folder_refresh -󰝊 nf-md-vector_radius -󰝋 nf-md-microsoft_xbox_controller_battery_alert -󰝌 nf-md-microsoft_xbox_controller_battery_empty -󰝍 nf-md-microsoft_xbox_controller_battery_full -󰝎 nf-md-microsoft_xbox_controller_battery_low -󰝏 nf-md-microsoft_xbox_controller_battery_medium -󰝐 nf-md-microsoft_xbox_controller_battery_unknown -󰝑 nf-md-clipboard_plus -󰝒 nf-md-file_plus -󰝓 nf-md-format_align_bottom -󰝔 nf-md-format_align_middle -󰝕 nf-md-format_align_top -󰝖 nf-md-format_list_checks -󰝗 nf-md-format_quote_open -󰝘 nf-md-grid_large -󰝙 nf-md-heart_off -󰝚 nf-md-music -󰝛 nf-md-music_off -󰝜 nf-md-tab_plus -󰝝 nf-md-volume_plus -󰝞 nf-md-volume_minus -󰝟 nf-md-volume_mute -󰝠 nf-md-unfold_less_vertical -󰝡 nf-md-unfold_more_vertical -󰝢 nf-md-taco -󰝣 nf-md-square_outline -󰝤 nf-md-square -󰝧 nf-md-alert_octagram -󰝨 nf-md-atom -󰝩 nf-md-ceiling_light -󰝪 nf-md-chart_bar_stacked -󰝫 nf-md-chart_line_stacked -󰝬 nf-md-decagram -󰝭 nf-md-decagram_outline -󰝮 nf-md-dice_multiple -󰝯 nf-md-dice_d10_outline -󰝰 nf-md-folder_open -󰝱 nf-md-guitar_acoustic -󰝲 nf-md-loading -󰝳 nf-md-lock_reset -󰝴 nf-md-ninja -󰝵 nf-md-octagram_outline -󰝶 nf-md-pencil_circle_outline -󰝷 nf-md-selection_off -󰝸 nf-md-set_all -󰝹 nf-md-set_center -󰝺 nf-md-set_center_right -󰝻 nf-md-set_left -󰝼 nf-md-set_left_center -󰝽 nf-md-set_left_right -󰝾 nf-md-set_none -󰝿 nf-md-set_right -󰞀 nf-md-shield_half_full -󰞁 nf-md-sign_direction -󰞂 nf-md-sign_text -󰞃 nf-md-signal_off -󰞄 nf-md-square_root -󰞅 nf-md-sticker_emoji -󰞆 nf-md-summit -󰞇 nf-md-sword_cross -󰞈 nf-md-truck_fast -󰞉 nf-md-web_check -󰞊 nf-md-cast_off -󰞋 nf-md-help_box -󰞌 nf-md-timer_sand_full -󰞍 nf-md-waves -󰞎 nf-md-alarm_bell -󰞏 nf-md-alarm_light -󰞐 nf-md-video_switch_outline -󰞑 nf-md-check_decagram -󰞒 nf-md-arrow_collapse_down -󰞓 nf-md-arrow_collapse_left -󰞔 nf-md-arrow_collapse_right -󰞕 nf-md-arrow_collapse_up -󰞖 nf-md-arrow_expand_down -󰞗 nf-md-arrow_expand_left -󰞘 nf-md-arrow_expand_right -󰞙 nf-md-arrow_expand_up -󰞚 nf-md-book_lock -󰞛 nf-md-book_lock_open -󰞜 nf-md-bus_articulated_end -󰞝 nf-md-bus_articulated_front -󰞞 nf-md-bus_double_decker -󰞟 nf-md-bus_school -󰞠 nf-md-bus_side -󰞡 nf-md-camera_gopro -󰞢 nf-md-camera_metering_center -󰞣 nf-md-camera_metering_matrix -󰞤 nf-md-camera_metering_partial -󰞥 nf-md-camera_metering_spot -󰞦 nf-md-cannabis -󰞧 nf-md-car_convertible -󰞨 nf-md-car_estate -󰞩 nf-md-car_hatchback -󰞪 nf-md-car_pickup -󰞫 nf-md-car_side -󰞬 nf-md-car_sports -󰞭 nf-md-caravan -󰞮 nf-md-cctv -󰞯 nf-md-chart_donut -󰞰 nf-md-chart_donut_variant -󰞱 nf-md-chart_line_variant -󰞲 nf-md-chili_hot -󰞳 nf-md-chili_medium -󰞴 nf-md-chili_mild -󰞵 nf-md-cloud_braces -󰞶 nf-md-cloud_tags -󰞷 nf-md-console_line -󰞸 nf-md-corn -󰞹 nf-md-folder_zip_outline -󰞺 nf-md-currency_cny -󰞻 nf-md-currency_eth -󰞼 nf-md-currency_jpy -󰞽 nf-md-currency_krw -󰞾 nf-md-currency_sign -󰞿 nf-md-currency_twd -󰟀 nf-md-desktop_classic -󰟁 nf-md-dip_switch -󰟂 nf-md-donkey -󰟃 nf-md-dots_horizontal_circle -󰟄 nf-md-dots_vertical_circle -󰟅 nf-md-ear_hearing -󰟆 nf-md-elephant -󰟇 nf-md-storefront -󰟈 nf-md-food_croissant -󰟉 nf-md-forklift -󰟊 nf-md-fuel -󰟋 nf-md-gesture -󰟌 nf-md-google_analytics -󰟍 nf-md-google_assistant -󰟎 nf-md-headphones_off -󰟏 nf-md-high_definition -󰟐 nf-md-home_assistant -󰟑 nf-md-home_automation -󰟒 nf-md-home_circle -󰟓 nf-md-language_go -󰟔 nf-md-language_r -󰟕 nf-md-lava_lamp -󰟖 nf-md-led_strip -󰟗 nf-md-locker -󰟘 nf-md-locker_multiple -󰟙 nf-md-map_marker_outline -󰟚 nf-md-metronome -󰟛 nf-md-metronome_tick -󰟜 nf-md-micro_sd -󰟝 nf-md-facebook_gaming -󰟞 nf-md-movie_roll -󰟟 nf-md-mushroom -󰟠 nf-md-mushroom_outline -󰟡 nf-md-nintendo_switch -󰟢 nf-md-null -󰟣 nf-md-passport -󰟤 nf-md-molecule_co2 -󰟥 nf-md-pipe -󰟦 nf-md-pipe_disconnected -󰟧 nf-md-power_socket_eu -󰟨 nf-md-power_socket_uk -󰟩 nf-md-power_socket_us -󰟪 nf-md-rice -󰟫 nf-md-ring -󰟬 nf-md-sass -󰟭 nf-md-send_lock -󰟮 nf-md-soy_sauce -󰟯 nf-md-standard_definition -󰟰 nf-md-surround_sound_2_0 -󰟱 nf-md-surround_sound_3_1 -󰟲 nf-md-surround_sound_5_1 -󰟳 nf-md-surround_sound_7_1 -󰟴 nf-md-television_classic -󰟵 nf-md-form_textbox_password -󰟶 nf-md-thought_bubble -󰟷 nf-md-thought_bubble_outline -󰟸 nf-md-trackpad -󰟹 nf-md-ultra_high_definition -󰟺 nf-md-van_passenger -󰟻 nf-md-van_utility -󰟼 nf-md-vanish -󰟽 nf-md-video_3d -󰟾 nf-md-wall -󰟿 nf-md-xmpp -󰠀 nf-md-account_multiple_plus_outline -󰠁 nf-md-account_plus_outline -󰠂 nf-md-credit_card_wireless -󰠃 nf-md-account_music -󰠄 nf-md-atlassian -󰠅 nf-md-microsoft_azure -󰠆 nf-md-basketball -󰠇 nf-md-battery_charging_wireless -󰠈 nf-md-battery_charging_wireless_10 -󰠉 nf-md-battery_charging_wireless_20 -󰠊 nf-md-battery_charging_wireless_30 -󰠋 nf-md-battery_charging_wireless_40 -󰠌 nf-md-battery_charging_wireless_50 -󰠍 nf-md-battery_charging_wireless_60 -󰠎 nf-md-battery_charging_wireless_70 -󰠏 nf-md-battery_charging_wireless_80 -󰠐 nf-md-battery_charging_wireless_90 -󰠑 nf-md-battery_charging_wireless_alert -󰠒 nf-md-battery_charging_wireless_outline -󰠓 nf-md-bitcoin -󰠔 nf-md-briefcase_outline -󰠕 nf-md-cellphone_wireless -󰠖 nf-md-clover -󰠗 nf-md-comment_question -󰠘 nf-md-content_save_outline -󰠙 nf-md-delete_restore -󰠚 nf-md-door -󰠛 nf-md-door_closed -󰠜 nf-md-door_open -󰠝 nf-md-fan_off -󰠞 nf-md-file_percent -󰠟 nf-md-finance -󰠠 nf-md-lightning_bolt_circle -󰠡 nf-md-floor_plan -󰠢 nf-md-forum_outline -󰠣 nf-md-golf -󰠤 nf-md-google_home -󰠥 nf-md-guy_fawkes_mask -󰠦 nf-md-home_account -󰠧 nf-md-home_heart -󰠨 nf-md-hot_tub -󰠩 nf-md-hulu -󰠪 nf-md-ice_cream -󰠫 nf-md-image_off -󰠬 nf-md-karate -󰠭 nf-md-ladybug -󰠮 nf-md-notebook -󰠯 nf-md-phone_return -󰠰 nf-md-poker_chip -󰠱 nf-md-shape -󰠲 nf-md-shape_outline -󰠳 nf-md-ship_wheel -󰠴 nf-md-soccer_field -󰠵 nf-md-table_column -󰠶 nf-md-table_of_contents -󰠷 nf-md-table_row -󰠸 nf-md-table_settings -󰠹 nf-md-television_box -󰠺 nf-md-television_classic_off -󰠻 nf-md-television_off -󰠼 nf-md-tow_truck -󰠽 nf-md-upload_multiple -󰠾 nf-md-video_4k_box -󰠿 nf-md-video_input_antenna -󰡀 nf-md-video_input_component -󰡁 nf-md-video_input_hdmi -󰡂 nf-md-video_input_svideo -󰡃 nf-md-view_dashboard_variant -󰡄 nf-md-vuejs -󰡅 nf-md-xamarin -󰡆 nf-md-human_male_board_poll -󰡇 nf-md-youtube_studio -󰡈 nf-md-youtube_gaming -󰡉 nf-md-account_group -󰡊 nf-md-camera_switch_outline -󰡋 nf-md-airport -󰡌 nf-md-arrow_collapse_horizontal -󰡍 nf-md-arrow_collapse_vertical -󰡎 nf-md-arrow_expand_horizontal -󰡏 nf-md-arrow_expand_vertical -󰡐 nf-md-augmented_reality -󰡑 nf-md-badminton -󰡒 nf-md-baseball -󰡓 nf-md-baseball_bat -󰡔 nf-md-bottle_wine -󰡕 nf-md-check_outline -󰡖 nf-md-checkbox_intermediate -󰡗 nf-md-chess_king -󰡘 nf-md-chess_knight -󰡙 nf-md-chess_pawn -󰡚 nf-md-chess_queen -󰡛 nf-md-chess_rook -󰡜 nf-md-chess_bishop -󰡝 nf-md-clipboard_pulse -󰡞 nf-md-clipboard_pulse_outline -󰡟 nf-md-comment_multiple -󰡠 nf-md-comment_text_multiple -󰡡 nf-md-comment_text_multiple_outline -󰡢 nf-md-crane -󰡣 nf-md-curling -󰡤 nf-md-currency_bdt -󰡥 nf-md-currency_kzt -󰡦 nf-md-database_search -󰡧 nf-md-dice_d12_outline -󰡨 nf-md-docker -󰡩 nf-md-doorbell_video -󰡪 nf-md-ethereum -󰡫 nf-md-eye_plus -󰡬 nf-md-eye_plus_outline -󰡭 nf-md-eye_settings -󰡮 nf-md-eye_settings_outline -󰡯 nf-md-file_question -󰡰 nf-md-folder_network -󰡱 nf-md-function_variant -󰡲 nf-md-garage_alert -󰡳 nf-md-gauge_empty -󰡴 nf-md-gauge_full -󰡵 nf-md-gauge_low -󰡶 nf-md-glass_wine -󰡷 nf-md-graphql -󰡸 nf-md-high_definition_box -󰡹 nf-md-hockey_puck -󰡺 nf-md-hockey_sticks -󰡻 nf-md-home_alert -󰡼 nf-md-image_plus -󰡽 nf-md-jquery -󰡾 nf-md-lifebuoy -󰡿 nf-md-mixed_reality -󰢀 nf-md-nativescript -󰢁 nf-md-onepassword -󰢂 nf-md-patreon -󰢃 nf-md-close_circle_multiple_outline -󰢄 nf-md-peace -󰢅 nf-md-phone_rotate_landscape -󰢆 nf-md-phone_rotate_portrait -󰢇 nf-md-pier -󰢈 nf-md-pier_crane -󰢉 nf-md-pipe_leak -󰢊 nf-md-piston -󰢋 nf-md-play_network -󰢌 nf-md-reminder -󰢍 nf-md-room_service -󰢎 nf-md-salesforce -󰢏 nf-md-shield_account -󰢐 nf-md-human_male_board -󰢑 nf-md-thermostat_box -󰢒 nf-md-tractor -󰢓 nf-md-vector_ellipse -󰢔 nf-md-virtual_reality -󰢕 nf-md-watch_export_variant -󰢖 nf-md-watch_import_variant -󰢗 nf-md-watch_variant -󰢘 nf-md-weather_hurricane -󰢙 nf-md-account_heart -󰢚 nf-md-alien -󰢛 nf-md-anvil -󰢜 nf-md-battery_charging_10 -󰢝 nf-md-battery_charging_50 -󰢞 nf-md-battery_charging_70 -󰢟 nf-md-battery_charging_outline -󰢠 nf-md-bed_empty -󰢡 nf-md-border_all_variant -󰢢 nf-md-border_bottom_variant -󰢣 nf-md-border_left_variant -󰢤 nf-md-border_none_variant -󰢥 nf-md-border_right_variant -󰢦 nf-md-border_top_variant -󰢧 nf-md-calendar_edit -󰢨 nf-md-clipboard_check_outline -󰢩 nf-md-console_network -󰢪 nf-md-file_compare -󰢫 nf-md-fire_truck -󰢬 nf-md-folder_key -󰢭 nf-md-folder_key_network -󰢮 nf-md-expansion_card -󰢯 nf-md-kayaking -󰢰 nf-md-inbox_multiple -󰢱 nf-md-language_lua -󰢲 nf-md-lock_smart -󰢳 nf-md-microphone_minus -󰢴 nf-md-microphone_plus -󰢵 nf-md-palette_swatch -󰢶 nf-md-periodic_table -󰢷 nf-md-pickaxe -󰢸 nf-md-qrcode_edit -󰢹 nf-md-remote_desktop -󰢺 nf-md-sausage -󰢻 nf-md-cog_outline -󰢼 nf-md-signal_cellular_1 -󰢽 nf-md-signal_cellular_2 -󰢾 nf-md-signal_cellular_3 -󰢿 nf-md-signal_cellular_outline -󰣀 nf-md-ssh -󰣁 nf-md-swap_horizontal_variant -󰣂 nf-md-swap_vertical_variant -󰣃 nf-md-tooth -󰣄 nf-md-train_variant -󰣅 nf-md-account_multiple_check -󰣆 nf-md-application -󰣇 nf-md-arch -󰣈 nf-md-axe -󰣉 nf-md-bullseye_arrow -󰣊 nf-md-bus_clock -󰣋 nf-md-camera_account -󰣌 nf-md-camera_image -󰣍 nf-md-car_limousine -󰣎 nf-md-cards_club -󰣏 nf-md-cards_diamond -󰣑 nf-md-cards_spade -󰣒 nf-md-cellphone_text -󰣓 nf-md-cellphone_message -󰣔 nf-md-chart_multiline -󰣕 nf-md-circle_edit_outline -󰣖 nf-md-cogs -󰣗 nf-md-credit_card_settings_outline -󰣘 nf-md-death_star -󰣙 nf-md-death_star_variant -󰣚 nf-md-debian -󰣛 nf-md-fedora -󰣜 nf-md-file_undo -󰣝 nf-md-floor_lamp -󰣞 nf-md-folder_edit -󰣟 nf-md-format_columns -󰣠 nf-md-freebsd -󰣡 nf-md-gate_and -󰣢 nf-md-gate_nand -󰣣 nf-md-gate_nor -󰣤 nf-md-gate_not -󰣥 nf-md-gate_or -󰣦 nf-md-gate_xnor -󰣧 nf-md-gate_xor -󰣨 nf-md-gentoo -󰣩 nf-md-globe_model -󰣪 nf-md-hammer -󰣫 nf-md-home_lock -󰣬 nf-md-home_lock_open -󰣭 nf-md-linux_mint -󰣮 nf-md-lock_alert -󰣯 nf-md-lock_question -󰣰 nf-md-map_marker_distance -󰣱 nf-md-midi -󰣲 nf-md-midi_port -󰣳 nf-md-nas -󰣴 nf-md-network_strength_1 -󰣵 nf-md-network_strength_1_alert -󰣶 nf-md-network_strength_2 -󰣷 nf-md-network_strength_2_alert -󰣸 nf-md-network_strength_3 -󰣹 nf-md-network_strength_3_alert -󰣺 nf-md-network_strength_4 -󰣻 nf-md-network_strength_4_alert -󰣼 nf-md-network_strength_off -󰣽 nf-md-network_strength_off_outline -󰣾 nf-md-network_strength_outline -󰣿 nf-md-play_speed -󰤀 nf-md-playlist_edit -󰤁 nf-md-power_cycle -󰤂 nf-md-power_off -󰤃 nf-md-power_on -󰤄 nf-md-power_sleep -󰤅 nf-md-power_socket_au -󰤆 nf-md-power_standby -󰤇 nf-md-rabbit -󰤈 nf-md-robot_vacuum_variant -󰤉 nf-md-satellite_uplink -󰤊 nf-md-scanner_off -󰤋 nf-md-book_minus_multiple_outline -󰤌 nf-md-square_edit_outline -󰤍 nf-md-sort_numeric_ascending_variant -󰤎 nf-md-steering_off -󰤏 nf-md-table_search -󰤐 nf-md-tag_minus -󰤑 nf-md-test_tube_empty -󰤒 nf-md-test_tube_off -󰤓 nf-md-ticket_outline -󰤔 nf-md-track_light -󰤕 nf-md-transition -󰤖 nf-md-transition_masked -󰤗 nf-md-tumble_dryer -󰤘 nf-md-file_refresh -󰤙 nf-md-video_account -󰤚 nf-md-video_image -󰤛 nf-md-video_stabilization -󰤜 nf-md-wall_sconce -󰤝 nf-md-wall_sconce_flat -󰤞 nf-md-wall_sconce_round_variant -󰤟 nf-md-wifi_strength_1 -󰤠 nf-md-wifi_strength_1_alert -󰤡 nf-md-wifi_strength_1_lock -󰤢 nf-md-wifi_strength_2 -󰤣 nf-md-wifi_strength_2_alert -󰤤 nf-md-wifi_strength_2_lock -󰤥 nf-md-wifi_strength_3 -󰤦 nf-md-wifi_strength_3_alert -󰤧 nf-md-wifi_strength_3_lock -󰤨 nf-md-wifi_strength_4 -󰤩 nf-md-wifi_strength_4_alert -󰤪 nf-md-wifi_strength_4_lock -󰤫 nf-md-wifi_strength_alert_outline -󰤬 nf-md-wifi_strength_lock_outline -󰤭 nf-md-wifi_strength_off -󰤮 nf-md-wifi_strength_off_outline -󰤯 nf-md-wifi_strength_outline -󰤰 nf-md-pin_off_outline -󰤱 nf-md-pin_outline -󰤲 nf-md-share_outline -󰤳 nf-md-trackpad_lock -󰤴 nf-md-account_box_multiple -󰤵 nf-md-account_search_outline -󰤶 nf-md-account_filter -󰤷 nf-md-angle_acute -󰤸 nf-md-angle_obtuse -󰤹 nf-md-angle_right -󰤺 nf-md-animation_play -󰤻 nf-md-arrow_split_horizontal -󰤼 nf-md-arrow_split_vertical -󰤽 nf-md-audio_video -󰤾 nf-md-battery_10_bluetooth -󰤿 nf-md-battery_20_bluetooth -󰥀 nf-md-battery_30_bluetooth -󰥁 nf-md-battery_40_bluetooth -󰥂 nf-md-battery_50_bluetooth -󰥃 nf-md-battery_60_bluetooth -󰥄 nf-md-battery_70_bluetooth -󰥅 nf-md-battery_80_bluetooth -󰥆 nf-md-battery_90_bluetooth -󰥇 nf-md-battery_alert_bluetooth -󰥈 nf-md-battery_bluetooth -󰥉 nf-md-battery_bluetooth_variant -󰥊 nf-md-battery_unknown_bluetooth -󰥋 nf-md-dharmachakra -󰥌 nf-md-calendar_search -󰥍 nf-md-cellphone_remove -󰥎 nf-md-cellphone_key -󰥏 nf-md-cellphone_lock -󰥐 nf-md-cellphone_off -󰥑 nf-md-cellphone_cog -󰥒 nf-md-cellphone_sound -󰥓 nf-md-cross -󰥔 nf-md-clock -󰥕 nf-md-clock_alert -󰥖 nf-md-cloud_search -󰥗 nf-md-cloud_search_outline -󰥘 nf-md-cordova -󰥙 nf-md-cryengine -󰥚 nf-md-cupcake -󰥛 nf-md-sine_wave -󰥜 nf-md-current_dc -󰥝 nf-md-database_import -󰥞 nf-md-database_export -󰥟 nf-md-desk_lamp -󰥠 nf-md-disc_player -󰥡 nf-md-email_search -󰥢 nf-md-email_search_outline -󰥣 nf-md-exponent -󰥤 nf-md-exponent_box -󰥥 nf-md-file_download -󰥦 nf-md-file_download_outline -󰥧 nf-md-firebase -󰥨 nf-md-folder_search -󰥩 nf-md-folder_search_outline -󰥪 nf-md-format_list_checkbox -󰥫 nf-md-fountain -󰥬 nf-md-google_fit -󰥭 nf-md-greater_than -󰥮 nf-md-greater_than_or_equal -󰥯 nf-md-hard_hat -󰥰 nf-md-headphones_bluetooth -󰥱 nf-md-heart_circle -󰥲 nf-md-heart_circle_outline -󰥳 nf-md-om -󰥴 nf-md-home_minus -󰥵 nf-md-home_plus -󰥶 nf-md-image_outline -󰥷 nf-md-image_search -󰥸 nf-md-image_search_outline -󰥹 nf-md-star_crescent -󰥺 nf-md-star_david -󰥻 nf-md-keyboard_outline -󰥼 nf-md-less_than -󰥽 nf-md-less_than_or_equal -󰥾 nf-md-light_switch -󰥿 nf-md-lock_clock -󰦀 nf-md-magnify_close -󰦁 nf-md-map_minus -󰦂 nf-md-map_outline -󰦃 nf-md-map_plus -󰦄 nf-md-map_search -󰦅 nf-md-map_search_outline -󰦆 nf-md-material_design -󰦇 nf-md-medal -󰦈 nf-md-microsoft_dynamics_365 -󰦉 nf-md-monitor_cellphone -󰦊 nf-md-monitor_cellphone_star -󰦋 nf-md-mouse_bluetooth -󰦌 nf-md-muffin -󰦍 nf-md-not_equal -󰦎 nf-md-not_equal_variant -󰦏 nf-md-order_bool_ascending_variant -󰦐 nf-md-order_bool_descending_variant -󰦑 nf-md-office_building -󰦒 nf-md-plus_minus -󰦓 nf-md-plus_minus_box -󰦔 nf-md-podcast -󰦕 nf-md-progress_check -󰦖 nf-md-progress_clock -󰦗 nf-md-progress_download -󰦘 nf-md-progress_upload -󰦙 nf-md-qi -󰦚 nf-md-record_player -󰦛 nf-md-restore -󰦜 nf-md-shield_off_outline -󰦝 nf-md-shield_lock -󰦞 nf-md-shield_off -󰦟 nf-md-set_top_box -󰦠 nf-md-shower -󰦡 nf-md-shower_head -󰦢 nf-md-speaker_bluetooth -󰦣 nf-md-square_root_box -󰦤 nf-md-star_circle_outline -󰦥 nf-md-star_face -󰦦 nf-md-table_merge_cells -󰦧 nf-md-tablet_cellphone -󰦨 nf-md-text -󰦩 nf-md-text_short -󰦪 nf-md-text_long -󰦫 nf-md-toilet -󰦬 nf-md-toolbox -󰦭 nf-md-toolbox_outline -󰦮 nf-md-tournament -󰦯 nf-md-two_factor_authentication -󰦰 nf-md-umbrella_closed -󰦱 nf-md-unreal -󰦲 nf-md-video_minus -󰦳 nf-md-video_plus -󰦴 nf-md-volleyball -󰦵 nf-md-weight_pound -󰦶 nf-md-whistle -󰦷 nf-md-arrow_bottom_left_bold_outline -󰦸 nf-md-arrow_bottom_left_thick -󰦹 nf-md-arrow_bottom_right_bold_outline -󰦺 nf-md-arrow_bottom_right_thick -󰦻 nf-md-arrow_decision -󰦼 nf-md-arrow_decision_auto -󰦽 nf-md-arrow_decision_auto_outline -󰦾 nf-md-arrow_decision_outline -󰦿 nf-md-arrow_down_bold_outline -󰧀 nf-md-arrow_left_bold_outline -󰧁 nf-md-arrow_left_right_bold_outline -󰧂 nf-md-arrow_right_bold_outline -󰧃 nf-md-arrow_top_left_bold_outline -󰧄 nf-md-arrow_top_left_thick -󰧅 nf-md-arrow_top_right_bold_outline -󰧆 nf-md-arrow_top_right_thick -󰧇 nf-md-arrow_up_bold_outline -󰧈 nf-md-arrow_up_down_bold_outline -󰧉 nf-md-ballot -󰧊 nf-md-ballot_outline -󰧋 nf-md-betamax -󰧌 nf-md-bookmark_minus -󰧍 nf-md-bookmark_minus_outline -󰧎 nf-md-bookmark_off -󰧏 nf-md-bookmark_off_outline -󰧐 nf-md-braille -󰧑 nf-md-brain -󰧒 nf-md-calendar_heart -󰧓 nf-md-calendar_star -󰧔 nf-md-cassette -󰧕 nf-md-cellphone_arrow_down -󰧖 nf-md-chevron_down_box -󰧗 nf-md-chevron_down_box_outline -󰧘 nf-md-chevron_left_box -󰧙 nf-md-chevron_left_box_outline -󰧚 nf-md-chevron_right_box -󰧛 nf-md-chevron_right_box_outline -󰧜 nf-md-chevron_up_box -󰧝 nf-md-chevron_up_box_outline -󰧞 nf-md-circle_medium -󰧟 nf-md-circle_small -󰧠 nf-md-cloud_alert -󰧡 nf-md-comment_arrow_left -󰧢 nf-md-comment_arrow_left_outline -󰧣 nf-md-comment_arrow_right -󰧤 nf-md-comment_arrow_right_outline -󰧥 nf-md-comment_plus -󰧦 nf-md-currency_php -󰧧 nf-md-delete_outline -󰧨 nf-md-desktop_mac_dashboard -󰧩 nf-md-download_multiple -󰧪 nf-md-eight_track -󰧫 nf-md-email_plus -󰧬 nf-md-email_plus_outline -󰧭 nf-md-text_box_outline -󰧮 nf-md-file_document_outline -󰧯 nf-md-floppy_variant -󰧰 nf-md-flower_outline -󰧱 nf-md-flower_tulip -󰧲 nf-md-flower_tulip_outline -󰧳 nf-md-format_font_size_decrease -󰧴 nf-md-format_font_size_increase -󰧵 nf-md-ghost_off -󰧶 nf-md-google_lens -󰧷 nf-md-google_spreadsheet -󰧸 nf-md-image_move -󰧹 nf-md-keyboard_settings -󰧺 nf-md-keyboard_settings_outline -󰧻 nf-md-knife -󰧼 nf-md-knife_military -󰧽 nf-md-layers_off_outline -󰧾 nf-md-layers_outline -󰧿 nf-md-lighthouse -󰨀 nf-md-lighthouse_on -󰨁 nf-md-map_legend -󰨂 nf-md-menu_left_outline -󰨃 nf-md-menu_right_outline -󰨄 nf-md-message_alert_outline -󰨅 nf-md-mini_sd -󰨆 nf-md-minidisc -󰨇 nf-md-monitor_dashboard -󰨈 nf-md-pirate -󰨉 nf-md-pokemon_go -󰨊 nf-md-powershell -󰨋 nf-md-printer_wireless -󰨌 nf-md-quality_low -󰨍 nf-md-quality_medium -󰨎 nf-md-reflect_horizontal -󰨏 nf-md-reflect_vertical -󰨐 nf-md-rhombus_medium -󰨑 nf-md-rhombus_split -󰨒 nf-md-shield_account_outline -󰨓 nf-md-square_medium -󰨔 nf-md-square_medium_outline -󰨕 nf-md-square_small -󰨖 nf-md-subtitles -󰨗 nf-md-subtitles_outline -󰨘 nf-md-table_border -󰨙 nf-md-toggle_switch_off_outline -󰨚 nf-md-toggle_switch_outline -󰨛 nf-md-vhs -󰨜 nf-md-video_vintage -󰨝 nf-md-view_dashboard_outline -󰨞 nf-md-microsoft_visual_studio_code -󰨟 nf-md-vote -󰨠 nf-md-vote_outline -󰨡 nf-md-microsoft_windows_classic -󰨢 nf-md-microsoft_xbox_controller_battery_charging -󰨣 nf-md-zip_disk -󰨤 nf-md-aspect_ratio -󰨥 nf-md-babel -󰨦 nf-md-balloon -󰨧 nf-md-bank_transfer -󰨨 nf-md-bank_transfer_in -󰨩 nf-md-bank_transfer_out -󰨪 nf-md-briefcase_minus -󰨫 nf-md-briefcase_plus -󰨬 nf-md-briefcase_remove -󰨭 nf-md-briefcase_search -󰨮 nf-md-bug_check -󰨯 nf-md-bug_check_outline -󰨰 nf-md-bug_outline -󰨱 nf-md-calendar_alert -󰨲 nf-md-calendar_multiselect -󰨳 nf-md-calendar_week -󰨴 nf-md-calendar_week_begin -󰨵 nf-md-cellphone_screenshot -󰨶 nf-md-city_variant -󰨷 nf-md-city_variant_outline -󰨸 nf-md-clipboard_text_outline -󰨹 nf-md-cloud_question -󰨺 nf-md-comment_eye -󰨻 nf-md-comment_eye_outline -󰨼 nf-md-comment_search -󰨽 nf-md-comment_search_outline -󰨾 nf-md-contain -󰨿 nf-md-contain_end -󰩀 nf-md-contain_start -󰩁 nf-md-dlna -󰩂 nf-md-doctor -󰩃 nf-md-dog -󰩄 nf-md-dog_side -󰩅 nf-md-ear_hearing_off -󰩆 nf-md-engine_off -󰩇 nf-md-engine_off_outline -󰩈 nf-md-exit_run -󰩉 nf-md-feature_search -󰩊 nf-md-feature_search_outline -󰩋 nf-md-file_alert -󰩌 nf-md-file_alert_outline -󰩍 nf-md-file_upload -󰩎 nf-md-file_upload_outline -󰩏 nf-md-hand_front_right -󰩐 nf-md-hand_okay -󰩑 nf-md-hand_peace -󰩒 nf-md-hand_peace_variant -󰩓 nf-md-hand_pointing_down -󰩔 nf-md-hand_pointing_left -󰩕 nf-md-hand_pointing_up -󰩖 nf-md-heart_multiple -󰩗 nf-md-heart_multiple_outline -󰩘 nf-md-horseshoe -󰩙 nf-md-human_female_boy -󰩚 nf-md-human_female_female -󰩛 nf-md-human_female_girl -󰩜 nf-md-human_male_boy -󰩝 nf-md-human_male_girl -󰩞 nf-md-human_male_male -󰩟 nf-md-ip -󰩠 nf-md-ip_network -󰩡 nf-md-litecoin -󰩢 nf-md-magnify_minus_cursor -󰩣 nf-md-magnify_plus_cursor -󰩤 nf-md-menu_swap -󰩥 nf-md-menu_swap_outline -󰩦 nf-md-puzzle_outline -󰩧 nf-md-registered_trademark -󰩨 nf-md-resize -󰩩 nf-md-router_wireless_settings -󰩪 nf-md-safe -󰩫 nf-md-scissors_cutting -󰩬 nf-md-select_drag -󰩭 nf-md-selection_drag -󰩮 nf-md-settings_helper -󰩯 nf-md-signal_5g -󰩰 nf-md-silverware_fork_knife -󰩱 nf-md-smog -󰩲 nf-md-solar_power -󰩳 nf-md-star_box -󰩴 nf-md-star_box_outline -󰩵 nf-md-table_plus -󰩶 nf-md-table_remove -󰩷 nf-md-target_variant -󰩸 nf-md-trademark -󰩹 nf-md-trash_can -󰩺 nf-md-trash_can_outline -󰩻 nf-md-tshirt_crew -󰩼 nf-md-tshirt_v -󰩽 nf-md-zodiac_aquarius -󰩾 nf-md-zodiac_aries -󰩿 nf-md-zodiac_cancer -󰪀 nf-md-zodiac_capricorn -󰪁 nf-md-zodiac_gemini -󰪂 nf-md-zodiac_leo -󰪃 nf-md-zodiac_libra -󰪄 nf-md-zodiac_pisces -󰪅 nf-md-zodiac_sagittarius -󰪆 nf-md-zodiac_scorpio -󰪇 nf-md-zodiac_taurus -󰪈 nf-md-zodiac_virgo -󰪉 nf-md-account_child -󰪊 nf-md-account_child_circle -󰪋 nf-md-account_supervisor -󰪌 nf-md-account_supervisor_circle -󰪍 nf-md-ampersand -󰪎 nf-md-web_off -󰪏 nf-md-animation_outline -󰪐 nf-md-animation_play_outline -󰪑 nf-md-bell_off_outline -󰪒 nf-md-bell_plus_outline -󰪓 nf-md-bell_sleep_outline -󰪔 nf-md-book_minus_multiple -󰪕 nf-md-book_plus_multiple -󰪖 nf-md-book_remove_multiple -󰪗 nf-md-book_remove -󰪘 nf-md-briefcase_edit -󰪙 nf-md-bus_alert -󰪚 nf-md-calculator_variant -󰪛 nf-md-caps_lock -󰪜 nf-md-cash_refund -󰪝 nf-md-checkbook -󰪞 nf-md-circle_slice_1 -󰪟 nf-md-circle_slice_2 -󰪠 nf-md-circle_slice_3 -󰪡 nf-md-circle_slice_4 -󰪢 nf-md-circle_slice_5 -󰪣 nf-md-circle_slice_6 -󰪤 nf-md-circle_slice_7 -󰪥 nf-md-circle_slice_8 -󰪦 nf-md-collapse_all -󰪧 nf-md-collapse_all_outline -󰪨 nf-md-credit_card_refund_outline -󰪩 nf-md-database_check -󰪪 nf-md-database_lock -󰪫 nf-md-desktop_tower_monitor -󰪬 nf-md-dishwasher -󰪭 nf-md-dog_service -󰪮 nf-md-dot_net -󰪯 nf-md-egg -󰪰 nf-md-egg_easter -󰪱 nf-md-email_check -󰪲 nf-md-email_check_outline -󰪳 nf-md-et -󰪴 nf-md-expand_all -󰪵 nf-md-expand_all_outline -󰪶 nf-md-file_cabinet -󰪷 nf-md-text_box_multiple -󰪸 nf-md-text_box_multiple_outline -󰪹 nf-md-file_move -󰪺 nf-md-folder_clock -󰪻 nf-md-folder_clock_outline -󰪼 nf-md-format_annotation_minus -󰪽 nf-md-gesture_pinch -󰪾 nf-md-gesture_spread -󰪿 nf-md-gesture_swipe_horizontal -󰫀 nf-md-gesture_swipe_vertical -󰫁 nf-md-hail -󰫂 nf-md-helicopter -󰫃 nf-md-hexagon_slice_1 -󰫄 nf-md-hexagon_slice_2 -󰫅 nf-md-hexagon_slice_3 -󰫆 nf-md-hexagon_slice_4 -󰫇 nf-md-hexagon_slice_5 -󰫈 nf-md-hexagon_slice_6 -󰫉 nf-md-hexagram -󰫊 nf-md-hexagram_outline -󰫋 nf-md-label_off -󰫌 nf-md-label_off_outline -󰫍 nf-md-label_variant -󰫎 nf-md-label_variant_outline -󰫏 nf-md-language_ruby_on_rails -󰫐 nf-md-laravel -󰫑 nf-md-mastodon -󰫒 nf-md-sort_numeric_descending_variant -󰫓 nf-md-minus_circle_multiple_outline -󰫔 nf-md-music_circle_outline -󰫕 nf-md-pinwheel -󰫖 nf-md-pinwheel_outline -󰫗 nf-md-radiator_disabled -󰫘 nf-md-radiator_off -󰫙 nf-md-select_compare -󰫚 nf-md-shield_plus -󰫛 nf-md-shield_plus_outline -󰫜 nf-md-shield_remove -󰫝 nf-md-shield_remove_outline -󰫞 nf-md-book_plus_multiple_outline -󰫟 nf-md-sina_weibo -󰫠 nf-md-spray_bottle -󰫡 nf-md-squeegee -󰫢 nf-md-star_four_points -󰫣 nf-md-star_four_points_outline -󰫤 nf-md-star_three_points -󰫥 nf-md-star_three_points_outline -󰫦 nf-md-symfony -󰫧 nf-md-variable -󰫨 nf-md-vector_bezier -󰫩 nf-md-wiper -󰫪 nf-md-z_wave -󰫫 nf-md-zend -󰫬 nf-md-account_minus_outline -󰫭 nf-md-account_remove_outline -󰫮 nf-md-alpha_a -󰫯 nf-md-alpha_b -󰫰 nf-md-alpha_c -󰫱 nf-md-alpha_d -󰫲 nf-md-alpha_e -󰫳 nf-md-alpha_f -󰫴 nf-md-alpha_g -󰫵 nf-md-alpha_h -󰫶 nf-md-alpha_i -󰫷 nf-md-alpha_j -󰫸 nf-md-alpha_k -󰫹 nf-md-alpha_l -󰫺 nf-md-alpha_m -󰫻 nf-md-alpha_n -󰫼 nf-md-alpha_o -󰫽 nf-md-alpha_p -󰫾 nf-md-alpha_q -󰫿 nf-md-alpha_r -󰬀 nf-md-alpha_s -󰬁 nf-md-alpha_t -󰬂 nf-md-alpha_u -󰬃 nf-md-alpha_v -󰬄 nf-md-alpha_w -󰬅 nf-md-alpha_x -󰬆 nf-md-alpha_y -󰬇 nf-md-alpha_z -󰬈 nf-md-alpha_a_box -󰬉 nf-md-alpha_b_box -󰬊 nf-md-alpha_c_box -󰬋 nf-md-alpha_d_box -󰬌 nf-md-alpha_e_box -󰬍 nf-md-alpha_f_box -󰬎 nf-md-alpha_g_box -󰬏 nf-md-alpha_h_box -󰬐 nf-md-alpha_i_box -󰬑 nf-md-alpha_j_box -󰬒 nf-md-alpha_k_box -󰬓 nf-md-alpha_l_box -󰬔 nf-md-alpha_m_box -󰬕 nf-md-alpha_n_box -󰬖 nf-md-alpha_o_box -󰬗 nf-md-alpha_p_box -󰬘 nf-md-alpha_q_box -󰬙 nf-md-alpha_r_box -󰬚 nf-md-alpha_s_box -󰬛 nf-md-alpha_t_box -󰬜 nf-md-alpha_u_box -󰬝 nf-md-alpha_v_box -󰬞 nf-md-alpha_w_box -󰬟 nf-md-alpha_x_box -󰬠 nf-md-alpha_y_box -󰬡 nf-md-alpha_z_box -󰬢 nf-md-bulldozer -󰬣 nf-md-bullhorn_outline -󰬤 nf-md-calendar_export -󰬥 nf-md-calendar_import -󰬦 nf-md-chevron_down_circle -󰬧 nf-md-chevron_down_circle_outline -󰬨 nf-md-chevron_left_circle -󰬩 nf-md-chevron_left_circle_outline -󰬪 nf-md-chevron_right_circle -󰬫 nf-md-chevron_right_circle_outline -󰬬 nf-md-chevron_up_circle -󰬭 nf-md-chevron_up_circle_outline -󰬮 nf-md-content_save_settings_outline -󰬯 nf-md-crystal_ball -󰬰 nf-md-ember -󰬱 nf-md-facebook_workplace -󰬲 nf-md-file_replace -󰬳 nf-md-file_replace_outline -󰬴 nf-md-format_letter_case -󰬵 nf-md-format_letter_case_lower -󰬶 nf-md-format_letter_case_upper -󰬷 nf-md-language_java -󰬸 nf-md-circle_multiple -󰬺 nf-md-numeric_1 -󰬻 nf-md-numeric_2 -󰬼 nf-md-numeric_3 -󰬽 nf-md-numeric_4 -󰬾 nf-md-numeric_5 -󰬿 nf-md-numeric_6 -󰭀 nf-md-numeric_7 -󰭁 nf-md-numeric_8 -󰭂 nf-md-numeric_9 -󰭃 nf-md-origin -󰭄 nf-md-resistor -󰭅 nf-md-resistor_nodes -󰭆 nf-md-robot_industrial -󰭇 nf-md-shoe_formal -󰭈 nf-md-shoe_heel -󰭉 nf-md-silo -󰭊 nf-md-box_cutter_off -󰭋 nf-md-tab_minus -󰭌 nf-md-tab_remove -󰭍 nf-md-tape_measure -󰭎 nf-md-telescope -󰭏 nf-md-yahoo -󰭐 nf-md-account_alert_outline -󰭑 nf-md-account_arrow_left -󰭒 nf-md-account_arrow_left_outline -󰭓 nf-md-account_arrow_right -󰭔 nf-md-account_arrow_right_outline -󰭕 nf-md-account_circle_outline -󰭖 nf-md-account_clock -󰭗 nf-md-account_clock_outline -󰭘 nf-md-account_group_outline -󰭙 nf-md-account_question -󰭚 nf-md-account_question_outline -󰭛 nf-md-artstation -󰭜 nf-md-backspace_outline -󰭝 nf-md-barley_off -󰭞 nf-md-barn -󰭟 nf-md-bat -󰭠 nf-md-application_settings -󰭡 nf-md-billiards -󰭢 nf-md-billiards_rack -󰭣 nf-md-book_open_outline -󰭤 nf-md-book_outline -󰭥 nf-md-boxing_glove -󰭦 nf-md-calendar_blank_outline -󰭧 nf-md-calendar_outline -󰭨 nf-md-calendar_range_outline -󰭩 nf-md-camera_control -󰭪 nf-md-camera_enhance_outline -󰭫 nf-md-car_door -󰭬 nf-md-car_electric -󰭭 nf-md-car_key -󰭮 nf-md-car_multiple -󰭯 nf-md-card -󰭰 nf-md-card_bulleted -󰭱 nf-md-card_bulleted_off -󰭲 nf-md-card_bulleted_off_outline -󰭳 nf-md-card_bulleted_outline -󰭴 nf-md-card_bulleted_settings -󰭵 nf-md-card_bulleted_settings_outline -󰭶 nf-md-card_outline -󰭷 nf-md-card_text -󰭸 nf-md-card_text_outline -󰭹 nf-md-chat -󰭺 nf-md-chat_alert -󰭻 nf-md-chat_processing -󰭼 nf-md-chef_hat -󰭽 nf-md-cloud_download_outline -󰭾 nf-md-cloud_upload_outline -󰭿 nf-md-coffin -󰮀 nf-md-compass_off -󰮁 nf-md-compass_off_outline -󰮂 nf-md-controller_classic -󰮃 nf-md-controller_classic_outline -󰮄 nf-md-cube_scan -󰮅 nf-md-currency_brl -󰮆 nf-md-database_edit -󰮇 nf-md-deathly_hallows -󰮈 nf-md-delete_circle_outline -󰮉 nf-md-delete_forever_outline -󰮊 nf-md-diamond -󰮋 nf-md-diamond_outline -󰮌 nf-md-dns_outline -󰮍 nf-md-dots_horizontal_circle_outline -󰮎 nf-md-dots_vertical_circle_outline -󰮏 nf-md-download_outline -󰮐 nf-md-drag_variant -󰮑 nf-md-eject_outline -󰮒 nf-md-email_mark_as_unread -󰮓 nf-md-export_variant -󰮔 nf-md-eye_circle -󰮕 nf-md-eye_circle_outline -󰮖 nf-md-face_man_outline -󰮗 nf-md-file_find_outline -󰮘 nf-md-file_remove -󰮙 nf-md-flag_minus -󰮚 nf-md-flag_plus -󰮛 nf-md-flag_remove -󰮜 nf-md-folder_account_outline -󰮝 nf-md-folder_plus_outline -󰮞 nf-md-folder_remove_outline -󰮟 nf-md-folder_star_outline -󰮠 nf-md-gitlab -󰮡 nf-md-gog -󰮢 nf-md-grave_stone -󰮣 nf-md-halloween -󰮤 nf-md-hat_fedora -󰮥 nf-md-help_rhombus -󰮦 nf-md-help_rhombus_outline -󰮧 nf-md-home_variant_outline -󰮨 nf-md-inbox_multiple_outline -󰮩 nf-md-library_shelves -󰮪 nf-md-mapbox -󰮫 nf-md-menu_open -󰮬 nf-md-molecule -󰮭 nf-md-one_up -󰮮 nf-md-open_source_initiative -󰮯 nf-md-pac_man -󰮰 nf-md-page_next -󰮱 nf-md-page_next_outline -󰮲 nf-md-page_previous -󰮳 nf-md-page_previous_outline -󰮴 nf-md-pan -󰮵 nf-md-pan_bottom_left -󰮶 nf-md-pan_bottom_right -󰮷 nf-md-pan_down -󰮸 nf-md-pan_horizontal -󰮹 nf-md-pan_left -󰮺 nf-md-pan_right -󰮻 nf-md-pan_top_left -󰮼 nf-md-pan_top_right -󰮽 nf-md-pan_up -󰮾 nf-md-pan_vertical -󰮿 nf-md-pumpkin -󰯀 nf-md-rollupjs -󰯁 nf-md-script -󰯂 nf-md-script_text -󰯃 nf-md-script_text_outline -󰯄 nf-md-shield_key -󰯅 nf-md-shield_key_outline -󰯆 nf-md-skull_crossbones -󰯇 nf-md-skull_crossbones_outline -󰯈 nf-md-skull_outline -󰯉 nf-md-space_invaders -󰯊 nf-md-spider_web -󰯋 nf-md-view_split_horizontal -󰯌 nf-md-view_split_vertical -󰯍 nf-md-swap_horizontal_bold -󰯎 nf-md-swap_vertical_bold -󰯏 nf-md-tag_heart_outline -󰯐 nf-md-target_account -󰯑 nf-md-timeline -󰯒 nf-md-timeline_outline -󰯓 nf-md-timeline_text -󰯔 nf-md-timeline_text_outline -󰯕 nf-md-tooltip_image_outline -󰯖 nf-md-tooltip_plus -󰯗 nf-md-tooltip_text_outline -󰯘 nf-md-train_car -󰯙 nf-md-triforce -󰯚 nf-md-ubisoft -󰯛 nf-md-video_off_outline -󰯜 nf-md-video_outline -󰯝 nf-md-wallet_outline -󰯞 nf-md-waze -󰯟 nf-md-wrap_disabled -󰯠 nf-md-wrench_outline -󰯡 nf-md-access_point_network_off -󰯢 nf-md-account_check_outline -󰯣 nf-md-account_heart_outline -󰯤 nf-md-account_key_outline -󰯥 nf-md-account_multiple_minus_outline -󰯦 nf-md-account_network_outline -󰯧 nf-md-account_off_outline -󰯨 nf-md-account_star_outline -󰯩 nf-md-airbag -󰯪 nf-md-alarm_light_outline -󰯫 nf-md-alpha_a_box_outline -󰯬 nf-md-alpha_a_circle -󰯭 nf-md-alpha_a_circle_outline -󰯮 nf-md-alpha_b_box_outline -󰯯 nf-md-alpha_b_circle -󰯰 nf-md-alpha_b_circle_outline -󰯱 nf-md-alpha_c_box_outline -󰯲 nf-md-alpha_c_circle -󰯳 nf-md-alpha_c_circle_outline -󰯴 nf-md-alpha_d_box_outline -󰯵 nf-md-alpha_d_circle -󰯶 nf-md-alpha_d_circle_outline -󰯷 nf-md-alpha_e_box_outline -󰯸 nf-md-alpha_e_circle -󰯹 nf-md-alpha_e_circle_outline -󰯺 nf-md-alpha_f_box_outline -󰯻 nf-md-alpha_f_circle -󰯼 nf-md-alpha_f_circle_outline -󰯽 nf-md-alpha_g_box_outline -󰯾 nf-md-alpha_g_circle -󰯿 nf-md-alpha_g_circle_outline -󰰀 nf-md-alpha_h_box_outline -󰰁 nf-md-alpha_h_circle -󰰂 nf-md-alpha_h_circle_outline -󰰃 nf-md-alpha_i_box_outline -󰰄 nf-md-alpha_i_circle -󰰅 nf-md-alpha_i_circle_outline -󰰆 nf-md-alpha_j_box_outline -󰰇 nf-md-alpha_j_circle -󰰈 nf-md-alpha_j_circle_outline -󰰉 nf-md-alpha_k_box_outline -󰰊 nf-md-alpha_k_circle -󰰋 nf-md-alpha_k_circle_outline -󰰌 nf-md-alpha_l_box_outline -󰰍 nf-md-alpha_l_circle -󰰎 nf-md-alpha_l_circle_outline -󰰏 nf-md-alpha_m_box_outline -󰰐 nf-md-alpha_m_circle -󰰑 nf-md-alpha_m_circle_outline -󰰒 nf-md-alpha_n_box_outline -󰰓 nf-md-alpha_n_circle -󰰔 nf-md-alpha_n_circle_outline -󰰕 nf-md-alpha_o_box_outline -󰰖 nf-md-alpha_o_circle -󰰗 nf-md-alpha_o_circle_outline -󰰘 nf-md-alpha_p_box_outline -󰰙 nf-md-alpha_p_circle -󰰚 nf-md-alpha_p_circle_outline -󰰛 nf-md-alpha_q_box_outline -󰰜 nf-md-alpha_q_circle -󰰝 nf-md-alpha_q_circle_outline -󰰞 nf-md-alpha_r_box_outline -󰰟 nf-md-alpha_r_circle -󰰠 nf-md-alpha_r_circle_outline -󰰡 nf-md-alpha_s_box_outline -󰰢 nf-md-alpha_s_circle -󰰣 nf-md-alpha_s_circle_outline -󰰤 nf-md-alpha_t_box_outline -󰰥 nf-md-alpha_t_circle -󰰦 nf-md-alpha_t_circle_outline -󰰧 nf-md-alpha_u_box_outline -󰰨 nf-md-alpha_u_circle -󰰩 nf-md-alpha_u_circle_outline -󰰪 nf-md-alpha_v_box_outline -󰰫 nf-md-alpha_v_circle -󰰬 nf-md-alpha_v_circle_outline -󰰭 nf-md-alpha_w_box_outline -󰰮 nf-md-alpha_w_circle -󰰯 nf-md-alpha_w_circle_outline -󰰰 nf-md-alpha_x_box_outline -󰰱 nf-md-alpha_x_circle -󰰲 nf-md-alpha_x_circle_outline -󰰳 nf-md-alpha_y_box_outline -󰰴 nf-md-alpha_y_circle -󰰵 nf-md-alpha_y_circle_outline -󰰶 nf-md-alpha_z_box_outline -󰰷 nf-md-alpha_z_circle -󰰸 nf-md-alpha_z_circle_outline -󰰹 nf-md-ballot_recount -󰰺 nf-md-ballot_recount_outline -󰰻 nf-md-basketball_hoop -󰰼 nf-md-basketball_hoop_outline -󰰽 nf-md-briefcase_download_outline -󰰾 nf-md-briefcase_edit_outline -󰰿 nf-md-briefcase_minus_outline -󰱀 nf-md-briefcase_plus_outline -󰱁 nf-md-briefcase_remove_outline -󰱂 nf-md-briefcase_search_outline -󰱃 nf-md-briefcase_upload_outline -󰱄 nf-md-calendar_check_outline -󰱅 nf-md-calendar_remove_outline -󰱆 nf-md-calendar_text_outline -󰱇 nf-md-car_brake_abs -󰱈 nf-md-car_brake_alert -󰱉 nf-md-car_esp -󰱊 nf-md-car_light_dimmed -󰱋 nf-md-car_light_fog -󰱌 nf-md-car_light_high -󰱍 nf-md-car_tire_alert -󰱎 nf-md-cart_arrow_right -󰱏 nf-md-charity -󰱐 nf-md-chart_bell_curve -󰱑 nf-md-checkbox_multiple_outline -󰱒 nf-md-checkbox_outline -󰱓 nf-md-check_network -󰱔 nf-md-check_network_outline -󰱕 nf-md-clipboard_account_outline -󰱖 nf-md-clipboard_arrow_down_outline -󰱗 nf-md-clipboard_arrow_up -󰱘 nf-md-clipboard_arrow_up_outline -󰱙 nf-md-clipboard_play -󰱚 nf-md-clipboard_play_outline -󰱛 nf-md-clipboard_text_play -󰱜 nf-md-clipboard_text_play_outline -󰱝 nf-md-close_box_multiple -󰱞 nf-md-close_box_multiple_outline -󰱟 nf-md-close_network_outline -󰱠 nf-md-console_network_outline -󰱡 nf-md-currency_ils -󰱢 nf-md-delete_sweep_outline -󰱣 nf-md-diameter -󰱤 nf-md-diameter_outline -󰱥 nf-md-diameter_variant -󰱦 nf-md-download_network_outline -󰱧 nf-md-dump_truck -󰱨 nf-md-emoticon -󰱩 nf-md-emoticon_angry -󰱪 nf-md-emoticon_angry_outline -󰱫 nf-md-emoticon_cool -󰱬 nf-md-emoticon_cry -󰱭 nf-md-emoticon_cry_outline -󰱮 nf-md-emoticon_dead -󰱯 nf-md-emoticon_devil -󰱰 nf-md-emoticon_excited -󰱱 nf-md-emoticon_happy -󰱲 nf-md-emoticon_kiss -󰱳 nf-md-emoticon_kiss_outline -󰱴 nf-md-emoticon_neutral -󰱵 nf-md-emoticon_poop_outline -󰱶 nf-md-emoticon_sad -󰱷 nf-md-emoticon_tongue_outline -󰱸 nf-md-emoticon_wink -󰱹 nf-md-emoticon_wink_outline -󰱺 nf-md-eslint -󰱻 nf-md-face_recognition -󰱼 nf-md-file_search -󰱽 nf-md-file_search_outline -󰱾 nf-md-file_table -󰱿 nf-md-file_table_outline -󰲀 nf-md-folder_key_network_outline -󰲁 nf-md-folder_network_outline -󰲂 nf-md-folder_text -󰲃 nf-md-folder_text_outline -󰲄 nf-md-food_apple_outline -󰲅 nf-md-fuse -󰲆 nf-md-fuse_blade -󰲇 nf-md-google_ads -󰲈 nf-md-google_street_view -󰲉 nf-md-hazard_lights -󰲊 nf-md-help_network_outline -󰲋 nf-md-application_brackets -󰲌 nf-md-application_brackets_outline -󰲍 nf-md-image_size_select_actual -󰲎 nf-md-image_size_select_large -󰲏 nf-md-image_size_select_small -󰲐 nf-md-ip_network_outline -󰲑 nf-md-ipod -󰲒 nf-md-language_haskell -󰲓 nf-md-leaf_maple -󰲔 nf-md-link_plus -󰲕 nf-md-map_marker_check -󰲖 nf-md-math_cos -󰲗 nf-md-math_sin -󰲘 nf-md-math_tan -󰲙 nf-md-microwave -󰲚 nf-md-minus_network_outline -󰲛 nf-md-network_off -󰲜 nf-md-network_off_outline -󰲝 nf-md-network_outline -󰲠 nf-md-numeric_1_circle -󰲡 nf-md-numeric_1_circle_outline -󰲢 nf-md-numeric_2_circle -󰲣 nf-md-numeric_2_circle_outline -󰲤 nf-md-numeric_3_circle -󰲥 nf-md-numeric_3_circle_outline -󰲦 nf-md-numeric_4_circle -󰲧 nf-md-numeric_4_circle_outline -󰲨 nf-md-numeric_5_circle -󰲩 nf-md-numeric_5_circle_outline -󰲪 nf-md-numeric_6_circle -󰲫 nf-md-numeric_6_circle_outline -󰲬 nf-md-numeric_7_circle -󰲭 nf-md-numeric_7_circle_outline -󰲮 nf-md-numeric_8_circle -󰲯 nf-md-numeric_8_circle_outline -󰲰 nf-md-numeric_9_circle -󰲱 nf-md-numeric_9_circle_outline -󰲲 nf-md-numeric_9_plus_circle -󰲳 nf-md-numeric_9_plus_circle_outline -󰲴 nf-md-parachute -󰲵 nf-md-parachute_outline -󰲶 nf-md-pencil_outline -󰲷 nf-md-play_network_outline -󰲸 nf-md-playlist_music -󰲹 nf-md-playlist_music_outline -󰲺 nf-md-plus_network_outline -󰲻 nf-md-postage_stamp -󰲼 nf-md-progress_alert -󰲽 nf-md-progress_wrench -󰲾 nf-md-radio_am -󰲿 nf-md-radio_fm -󰳀 nf-md-radius -󰳁 nf-md-radius_outline -󰳂 nf-md-ruler_square -󰳃 nf-md-seat -󰳄 nf-md-seat_outline -󰳅 nf-md-seatbelt -󰳆 nf-md-sheep -󰳇 nf-md-shield_airplane_outline -󰳈 nf-md-shield_check_outline -󰳉 nf-md-shield_cross -󰳊 nf-md-shield_cross_outline -󰳋 nf-md-shield_home_outline -󰳌 nf-md-shield_lock_outline -󰳍 nf-md-sort_variant_lock -󰳎 nf-md-sort_variant_lock_open -󰳏 nf-md-source_repository -󰳐 nf-md-source_repository_multiple -󰳑 nf-md-spa -󰳒 nf-md-spa_outline -󰳓 nf-md-toaster_oven -󰳔 nf-md-truck_check -󰳕 nf-md-turnstile -󰳖 nf-md-turnstile_outline -󰳗 nf-md-turtle -󰳘 nf-md-upload_network_outline -󰳙 nf-md-vibrate_off -󰳚 nf-md-watch_vibrate_off -󰳛 nf-md-arrow_down_circle -󰳜 nf-md-arrow_down_circle_outline -󰳝 nf-md-arrow_left_circle -󰳞 nf-md-arrow_left_circle_outline -󰳟 nf-md-arrow_right_circle -󰳠 nf-md-arrow_right_circle_outline -󰳡 nf-md-arrow_up_circle -󰳢 nf-md-arrow_up_circle_outline -󰳣 nf-md-account_tie -󰳤 nf-md-alert_box_outline -󰳥 nf-md-alert_decagram_outline -󰳦 nf-md-alert_octagon_outline -󰳧 nf-md-alert_octagram_outline -󰳨 nf-md-ammunition -󰳩 nf-md-account_music_outline -󰳪 nf-md-beaker -󰳫 nf-md-blender -󰳬 nf-md-blood_bag -󰳭 nf-md-cross_bolnisi -󰳮 nf-md-bread_slice -󰳯 nf-md-bread_slice_outline -󰳰 nf-md-briefcase_account -󰳱 nf-md-briefcase_account_outline -󰳲 nf-md-brightness_percent -󰳳 nf-md-bullet -󰳴 nf-md-cash_register -󰳵 nf-md-cross_celtic -󰳶 nf-md-cross_outline -󰳷 nf-md-clipboard_alert_outline -󰳸 nf-md-clipboard_arrow_left_outline -󰳹 nf-md-clipboard_arrow_right -󰳺 nf-md-clipboard_arrow_right_outline -󰳻 nf-md-content_save_edit -󰳼 nf-md-content_save_edit_outline -󰳽 nf-md-cursor_default_click -󰳾 nf-md-cursor_default_click_outline -󰳿 nf-md-database_sync -󰴀 nf-md-database_remove -󰴁 nf-md-database_settings -󰴂 nf-md-drama_masks -󰴃 nf-md-email_box -󰴄 nf-md-eye_check -󰴅 nf-md-eye_check_outline -󰴆 nf-md-fast_forward_30 -󰴇 nf-md-order_alphabetical_descending -󰴈 nf-md-flower_poppy -󰴉 nf-md-folder_pound -󰴊 nf-md-folder_pound_outline -󰴋 nf-md-folder_sync -󰴌 nf-md-folder_sync_outline -󰴍 nf-md-format_list_numbered_rtl -󰴎 nf-md-format_text_wrapping_clip -󰴏 nf-md-format_text_wrapping_overflow -󰴐 nf-md-format_text_wrapping_wrap -󰴑 nf-md-format_textbox -󰴒 nf-md-fountain_pen -󰴓 nf-md-fountain_pen_tip -󰴔 nf-md-heart_broken_outline -󰴕 nf-md-home_city -󰴖 nf-md-home_city_outline -󰴗 nf-md-hubspot -󰴘 nf-md-filmstrip_box_multiple -󰴙 nf-md-play_box_multiple -󰴚 nf-md-link_box -󰴛 nf-md-link_box_outline -󰴜 nf-md-link_box_variant -󰴝 nf-md-link_box_variant_outline -󰴞 nf-md-map_clock -󰴟 nf-md-map_clock_outline -󰴠 nf-md-map_marker_path -󰴡 nf-md-mother_nurse -󰴢 nf-md-microsoft_outlook -󰴣 nf-md-perspective_less -󰴤 nf-md-perspective_more -󰴥 nf-md-podium -󰴦 nf-md-podium_bronze -󰴧 nf-md-podium_gold -󰴨 nf-md-podium_silver -󰴩 nf-md-quora -󰴪 nf-md-rewind_10 -󰴫 nf-md-roller_skate -󰴬 nf-md-rollerblade -󰴭 nf-md-language_ruby -󰴮 nf-md-sack -󰴯 nf-md-sack_percent -󰴰 nf-md-safety_goggles -󰴱 nf-md-select_color -󰴲 nf-md-selection_ellipse -󰴳 nf-md-shield_link_variant -󰴴 nf-md-shield_link_variant_outline -󰴵 nf-md-skate -󰴶 nf-md-skew_less -󰴷 nf-md-skew_more -󰴸 nf-md-speaker_multiple -󰴹 nf-md-stamper -󰴺 nf-md-tank -󰴻 nf-md-tortoise -󰴼 nf-md-transit_connection -󰴽 nf-md-transit_connection_variant -󰴾 nf-md-transmission_tower -󰴿 nf-md-weight_gram -󰵀 nf-md-youtube_subscription -󰵁 nf-md-zigbee -󰵂 nf-md-email_alert_outline -󰵃 nf-md-air_filter -󰵄 nf-md-air_purifier -󰵅 nf-md-android_messages -󰵆 nf-md-apps_box -󰵇 nf-md-atm -󰵈 nf-md-axis -󰵉 nf-md-axis_arrow -󰵊 nf-md-axis_arrow_lock -󰵋 nf-md-axis_lock -󰵌 nf-md-axis_x_arrow -󰵍 nf-md-axis_x_arrow_lock -󰵎 nf-md-axis_x_rotate_clockwise -󰵏 nf-md-axis_x_rotate_counterclockwise -󰵐 nf-md-axis_x_y_arrow_lock -󰵑 nf-md-axis_y_arrow -󰵒 nf-md-axis_y_arrow_lock -󰵓 nf-md-axis_y_rotate_clockwise -󰵔 nf-md-axis_y_rotate_counterclockwise -󰵕 nf-md-axis_z_arrow -󰵖 nf-md-axis_z_arrow_lock -󰵗 nf-md-axis_z_rotate_clockwise -󰵘 nf-md-axis_z_rotate_counterclockwise -󰵙 nf-md-bell_alert -󰵚 nf-md-bell_circle -󰵛 nf-md-bell_circle_outline -󰵜 nf-md-calendar_minus -󰵝 nf-md-camera_outline -󰵞 nf-md-car_brake_hold -󰵟 nf-md-car_brake_parking -󰵠 nf-md-car_cruise_control -󰵡 nf-md-car_defrost_front -󰵢 nf-md-car_defrost_rear -󰵣 nf-md-car_parking_lights -󰵤 nf-md-car_traction_control -󰵥 nf-md-bag_carry_on_check -󰵦 nf-md-cart_arrow_down -󰵧 nf-md-cart_arrow_up -󰵨 nf-md-cart_minus -󰵩 nf-md-cart_remove -󰵪 nf-md-contactless_payment -󰵫 nf-md-creative_commons -󰵬 nf-md-credit_card_wireless_outline -󰵭 nf-md-cricket -󰵮 nf-md-dev_to -󰵯 nf-md-domain_off -󰵰 nf-md-face_agent -󰵱 nf-md-fast_forward_10 -󰵲 nf-md-flare -󰵳 nf-md-format_text_rotation_down -󰵴 nf-md-format_text_rotation_none -󰵵 nf-md-forwardburger -󰵶 nf-md-gesture_swipe -󰵷 nf-md-gesture_tap_hold -󰵸 nf-md-file_gif_box -󰵹 nf-md-go_kart -󰵺 nf-md-go_kart_track -󰵻 nf-md-goodreads -󰵼 nf-md-grain -󰵽 nf-md-hdr -󰵾 nf-md-hdr_off -󰵿 nf-md-hiking -󰶀 nf-md-home_floor_1 -󰶁 nf-md-home_floor_2 -󰶂 nf-md-home_floor_3 -󰶃 nf-md-home_floor_a -󰶄 nf-md-home_floor_b -󰶅 nf-md-home_floor_g -󰶆 nf-md-home_floor_l -󰶇 nf-md-kabaddi -󰶈 nf-md-mailbox_open -󰶉 nf-md-mailbox_open_outline -󰶊 nf-md-mailbox_open_up -󰶋 nf-md-mailbox_open_up_outline -󰶌 nf-md-mailbox_outline -󰶍 nf-md-mailbox_up -󰶎 nf-md-mailbox_up_outline -󰶏 nf-md-mixed_martial_arts -󰶐 nf-md-monitor_off -󰶑 nf-md-motion_sensor -󰶒 nf-md-point_of_sale -󰶓 nf-md-racing_helmet -󰶔 nf-md-racquetball -󰶕 nf-md-restart_off -󰶖 nf-md-rewind_30 -󰶗 nf-md-room_service_outline -󰶘 nf-md-rotate_orbit -󰶙 nf-md-rugby -󰶚 nf-md-shield_search -󰶛 nf-md-solar_panel -󰶜 nf-md-solar_panel_large -󰶝 nf-md-subway_alert_variant -󰶞 nf-md-tea -󰶟 nf-md-tea_outline -󰶠 nf-md-tennis -󰶡 nf-md-transfer_down -󰶢 nf-md-transfer_left -󰶣 nf-md-transfer_up -󰶤 nf-md-trophy_broken -󰶥 nf-md-wind_turbine -󰶦 nf-md-wiper_wash -󰶧 nf-md-badge_account -󰶨 nf-md-badge_account_alert -󰶩 nf-md-badge_account_alert_outline -󰶪 nf-md-badge_account_outline -󰶫 nf-md-card_account_details_outline -󰶬 nf-md-air_horn -󰶭 nf-md-application_export -󰶮 nf-md-application_import -󰶯 nf-md-bandage -󰶰 nf-md-bank_minus -󰶱 nf-md-bank_plus -󰶲 nf-md-bank_remove -󰶳 nf-md-bolt -󰶴 nf-md-bugle -󰶵 nf-md-cactus -󰶶 nf-md-camera_wireless -󰶷 nf-md-camera_wireless_outline -󰶸 nf-md-cash_marker -󰶹 nf-md-chevron_triple_down -󰶺 nf-md-chevron_triple_left -󰶻 nf-md-chevron_triple_right -󰶼 nf-md-chevron_triple_up -󰶽 nf-md-closed_caption_outline -󰶾 nf-md-credit_card_marker_outline -󰶿 nf-md-diving_flippers -󰷀 nf-md-diving_helmet -󰷁 nf-md-diving_scuba -󰷂 nf-md-diving_scuba_flag -󰷃 nf-md-diving_scuba_tank -󰷄 nf-md-diving_scuba_tank_multiple -󰷅 nf-md-diving_snorkel -󰷆 nf-md-file_cancel -󰷇 nf-md-file_cancel_outline -󰷈 nf-md-file_document_edit -󰷉 nf-md-file_document_edit_outline -󰷊 nf-md-file_eye -󰷋 nf-md-file_eye_outline -󰷌 nf-md-folder_alert -󰷍 nf-md-folder_alert_outline -󰷎 nf-md-folder_edit_outline -󰷏 nf-md-folder_open_outline -󰷐 nf-md-format_list_bulleted_square -󰷑 nf-md-gantry_crane -󰷒 nf-md-home_floor_0 -󰷓 nf-md-home_floor_negative_1 -󰷔 nf-md-home_group -󰷕 nf-md-jabber -󰷖 nf-md-key_outline -󰷗 nf-md-leak -󰷘 nf-md-leak_off -󰷙 nf-md-marker_cancel -󰷚 nf-md-mine -󰷛 nf-md-monitor_lock -󰷜 nf-md-monitor_star -󰷝 nf-md-movie_outline -󰷞 nf-md-music_note_plus -󰷟 nf-md-nail -󰷠 nf-md-ocarina -󰷡 nf-md-passport_biometric -󰷢 nf-md-pen_lock -󰷣 nf-md-pen_minus -󰷤 nf-md-pen_off -󰷥 nf-md-pen_plus -󰷦 nf-md-pen_remove -󰷧 nf-md-pencil_lock_outline -󰷨 nf-md-pencil_minus -󰷩 nf-md-pencil_minus_outline -󰷪 nf-md-pencil_off_outline -󰷫 nf-md-pencil_plus -󰷬 nf-md-pencil_plus_outline -󰷭 nf-md-pencil_remove -󰷮 nf-md-pencil_remove_outline -󰷯 nf-md-phone_off -󰷰 nf-md-phone_outline -󰷱 nf-md-pi_hole -󰷲 nf-md-playlist_star -󰷳 nf-md-screw_flat_top -󰷴 nf-md-screw_lag -󰷵 nf-md-screw_machine_flat_top -󰷶 nf-md-screw_machine_round_top -󰷷 nf-md-screw_round_top -󰷸 nf-md-send_circle -󰷹 nf-md-send_circle_outline -󰷺 nf-md-shoe_print -󰷻 nf-md-signature -󰷼 nf-md-signature_freehand -󰷽 nf-md-signature_image -󰷾 nf-md-signature_text -󰷿 nf-md-slope_downhill -󰸀 nf-md-slope_uphill -󰸁 nf-md-thermometer_alert -󰸂 nf-md-thermometer_chevron_down -󰸃 nf-md-thermometer_chevron_up -󰸄 nf-md-thermometer_minus -󰸅 nf-md-thermometer_plus -󰸆 nf-md-translate_off -󰸇 nf-md-upload_outline -󰸈 nf-md-volume_variant_off -󰸉 nf-md-wallpaper -󰸊 nf-md-water_outline -󰸋 nf-md-wifi_star -󰸌 nf-md-palette_outline -󰸍 nf-md-badge_account_horizontal -󰸎 nf-md-badge_account_horizontal_outline -󰸏 nf-md-aws -󰸐 nf-md-bag_personal -󰸑 nf-md-bag_personal_off -󰸒 nf-md-bag_personal_off_outline -󰸓 nf-md-bag_personal_outline -󰸔 nf-md-biathlon -󰸕 nf-md-bookmark_multiple -󰸖 nf-md-bookmark_multiple_outline -󰸗 nf-md-calendar_month -󰸘 nf-md-calendar_month_outline -󰸙 nf-md-camera_retake -󰸚 nf-md-camera_retake_outline -󰸛 nf-md-car_back -󰸜 nf-md-car_off -󰸝 nf-md-cast_education -󰸞 nf-md-check_bold -󰸟 nf-md-check_underline -󰸠 nf-md-check_underline_circle -󰸡 nf-md-check_underline_circle_outline -󰸢 nf-md-circular_saw -󰸣 nf-md-comma -󰸤 nf-md-comma_box_outline -󰸥 nf-md-comma_circle -󰸦 nf-md-comma_circle_outline -󰸧 nf-md-content_save_move -󰸨 nf-md-content_save_move_outline -󰸩 nf-md-file_check_outline -󰸪 nf-md-file_music_outline -󰸫 nf-md-comma_box -󰸬 nf-md-file_video_outline -󰸭 nf-md-file_png_box -󰸮 nf-md-fireplace -󰸯 nf-md-fireplace_off -󰸰 nf-md-firework -󰸱 nf-md-format_color_highlight -󰸲 nf-md-format_text_variant -󰸳 nf-md-gamepad_circle -󰸴 nf-md-gamepad_circle_down -󰸵 nf-md-gamepad_circle_left -󰸶 nf-md-gamepad_circle_outline -󰸷 nf-md-gamepad_circle_right -󰸸 nf-md-gamepad_circle_up -󰸹 nf-md-gamepad_down -󰸺 nf-md-gamepad_left -󰸻 nf-md-gamepad_right -󰸼 nf-md-gamepad_round -󰸽 nf-md-gamepad_round_down -󰸾 nf-md-gamepad_round_left -󰸿 nf-md-gamepad_round_outline -󰹀 nf-md-gamepad_round_right -󰹁 nf-md-gamepad_round_up -󰹂 nf-md-gamepad_up -󰹃 nf-md-gatsby -󰹄 nf-md-gift -󰹅 nf-md-grill -󰹆 nf-md-hand_back_left -󰹇 nf-md-hand_back_right -󰹈 nf-md-hand_saw -󰹉 nf-md-image_frame -󰹊 nf-md-invert_colors_off -󰹋 nf-md-keyboard_off_outline -󰹌 nf-md-layers_minus -󰹍 nf-md-layers_plus -󰹎 nf-md-layers_remove -󰹏 nf-md-lightbulb_off -󰹐 nf-md-lightbulb_off_outline -󰹑 nf-md-monitor_screenshot -󰹒 nf-md-ice_cream_off -󰹓 nf-md-nfc_search_variant -󰹔 nf-md-nfc_variant_off -󰹕 nf-md-notebook_multiple -󰹖 nf-md-hoop_house -󰹗 nf-md-picture_in_picture_bottom_right -󰹘 nf-md-picture_in_picture_bottom_right_outline -󰹙 nf-md-picture_in_picture_top_right -󰹚 nf-md-picture_in_picture_top_right_outline -󰹛 nf-md-printer_3d_nozzle -󰹜 nf-md-printer_3d_nozzle_outline -󰹝 nf-md-printer_off -󰹞 nf-md-rectangle -󰹟 nf-md-rectangle_outline -󰹠 nf-md-rivet -󰹡 nf-md-saw_blade -󰹢 nf-md-seed -󰹣 nf-md-seed_outline -󰹤 nf-md-signal_distance_variant -󰹥 nf-md-spade -󰹦 nf-md-sprout -󰹧 nf-md-sprout_outline -󰹨 nf-md-table_tennis -󰹩 nf-md-tree_outline -󰹪 nf-md-view_comfy -󰹫 nf-md-view_compact -󰹬 nf-md-view_compact_outline -󰹭 nf-md-vuetify -󰹮 nf-md-weather_cloudy_arrow_right -󰹯 nf-md-microsoft_xbox_controller_menu -󰹰 nf-md-microsoft_xbox_controller_view -󰹱 nf-md-alarm_note -󰹲 nf-md-alarm_note_off -󰹳 nf-md-arrow_left_right -󰹴 nf-md-arrow_left_right_bold -󰹵 nf-md-arrow_top_left_bottom_right -󰹶 nf-md-arrow_top_left_bottom_right_bold -󰹷 nf-md-arrow_top_right_bottom_left -󰹸 nf-md-arrow_top_right_bottom_left_bold -󰹹 nf-md-arrow_up_down -󰹺 nf-md-arrow_up_down_bold -󰹻 nf-md-atom_variant -󰹼 nf-md-baby_face -󰹽 nf-md-baby_face_outline -󰹾 nf-md-backspace_reverse -󰹿 nf-md-backspace_reverse_outline -󰺀 nf-md-bank_outline -󰺁 nf-md-bell_alert_outline -󰺂 nf-md-book_play -󰺃 nf-md-book_play_outline -󰺄 nf-md-book_search -󰺅 nf-md-book_search_outline -󰺆 nf-md-boom_gate -󰺇 nf-md-boom_gate_alert -󰺈 nf-md-boom_gate_alert_outline -󰺉 nf-md-boom_gate_arrow_down -󰺊 nf-md-boom_gate_arrow_down_outline -󰺋 nf-md-boom_gate_outline -󰺌 nf-md-boom_gate_arrow_up -󰺍 nf-md-boom_gate_arrow_up_outline -󰺎 nf-md-calendar_sync -󰺏 nf-md-calendar_sync_outline -󰺐 nf-md-cellphone_nfc -󰺑 nf-md-chart_areaspline_variant -󰺒 nf-md-chart_scatter_plot -󰺓 nf-md-chart_timeline_variant -󰺔 nf-md-chart_tree -󰺕 nf-md-circle_double -󰺖 nf-md-circle_expand -󰺗 nf-md-clock_digital -󰺘 nf-md-card_account_mail_outline -󰺙 nf-md-card_account_phone -󰺚 nf-md-card_account_phone_outline -󰺛 nf-md-account_cowboy_hat -󰺜 nf-md-currency_rial -󰺝 nf-md-delete_empty_outline -󰺞 nf-md-dolly -󰺟 nf-md-electric_switch -󰺠 nf-md-ellipse -󰺡 nf-md-ellipse_outline -󰺢 nf-md-equalizer -󰺣 nf-md-equalizer_outline -󰺤 nf-md-ferris_wheel -󰺥 nf-md-file_delimited_outline -󰺦 nf-md-text_box_check -󰺧 nf-md-text_box_check_outline -󰺨 nf-md-text_box_minus -󰺩 nf-md-text_box_minus_outline -󰺪 nf-md-text_box_plus -󰺫 nf-md-text_box_plus_outline -󰺬 nf-md-text_box_remove -󰺭 nf-md-text_box_remove_outline -󰺮 nf-md-text_box_search -󰺯 nf-md-text_box_search_outline -󰺰 nf-md-file_image_outline -󰺱 nf-md-fingerprint_off -󰺲 nf-md-format_list_bulleted_triangle -󰺳 nf-md-format_overline -󰺴 nf-md-frequently_asked_questions -󰺵 nf-md-gamepad_square -󰺶 nf-md-gamepad_square_outline -󰺷 nf-md-gamepad_variant_outline -󰺸 nf-md-gas_station_outline -󰺹 nf-md-google_podcast -󰺺 nf-md-home_analytics -󰺻 nf-md-mail -󰺼 nf-md-map_check -󰺽 nf-md-map_check_outline -󰺾 nf-md-ruler_square_compass -󰺿 nf-md-notebook_outline -󰻀 nf-md-penguin -󰻁 nf-md-radioactive_off -󰻂 nf-md-record_circle -󰻃 nf-md-record_circle_outline -󰻄 nf-md-remote_off -󰻅 nf-md-remote_tv -󰻆 nf-md-remote_tv_off -󰻇 nf-md-rotate_3d -󰻈 nf-md-sail_boat -󰻉 nf-md-scatter_plot -󰻊 nf-md-scatter_plot_outline -󰻋 nf-md-segment -󰻌 nf-md-shield_alert -󰻍 nf-md-shield_alert_outline -󰻎 nf-md-tablet_dashboard -󰻏 nf-md-television_play -󰻐 nf-md-unicode -󰻑 nf-md-video_3d_variant -󰻒 nf-md-video_wireless -󰻓 nf-md-video_wireless_outline -󰻔 nf-md-account_voice_off -󰻕 nf-md-bacteria -󰻖 nf-md-bacteria_outline -󰻗 nf-md-calendar_account -󰻘 nf-md-calendar_account_outline -󰻙 nf-md-calendar_weekend -󰻚 nf-md-calendar_weekend_outline -󰻛 nf-md-camera_plus -󰻜 nf-md-camera_plus_outline -󰻝 nf-md-campfire -󰻞 nf-md-chat_outline -󰻟 nf-md-cpu_32_bit -󰻠 nf-md-cpu_64_bit -󰻡 nf-md-credit_card_clock -󰻢 nf-md-credit_card_clock_outline -󰻣 nf-md-email_edit -󰻤 nf-md-email_edit_outline -󰻥 nf-md-email_minus -󰻦 nf-md-email_minus_outline -󰻧 nf-md-email_multiple -󰻨 nf-md-email_multiple_outline -󰻩 nf-md-email_open_multiple -󰻪 nf-md-email_open_multiple_outline -󰻫 nf-md-file_cad -󰻬 nf-md-file_cad_box -󰻭 nf-md-file_plus_outline -󰻮 nf-md-filter_minus -󰻯 nf-md-filter_minus_outline -󰻰 nf-md-filter_plus -󰻱 nf-md-filter_plus_outline -󰻲 nf-md-fire_extinguisher -󰻳 nf-md-fishbowl -󰻴 nf-md-fishbowl_outline -󰻵 nf-md-fit_to_page -󰻶 nf-md-fit_to_page_outline -󰻷 nf-md-flash_alert -󰻸 nf-md-flash_alert_outline -󰻹 nf-md-heart_flash -󰻺 nf-md-home_flood -󰻻 nf-md-human_male_height -󰻼 nf-md-human_male_height_variant -󰻽 nf-md-ice_pop -󰻾 nf-md-identifier -󰻿 nf-md-image_filter_center_focus_strong -󰼀 nf-md-image_filter_center_focus_strong_outline -󰼁 nf-md-jellyfish -󰼂 nf-md-jellyfish_outline -󰼃 nf-md-lasso -󰼄 nf-md-music_box_multiple_outline -󰼅 nf-md-map_marker_alert -󰼆 nf-md-map_marker_alert_outline -󰼇 nf-md-map_marker_question -󰼈 nf-md-map_marker_question_outline -󰼉 nf-md-map_marker_remove -󰼊 nf-md-map_marker_remove_variant -󰼋 nf-md-necklace -󰼌 nf-md-newspaper_minus -󰼍 nf-md-newspaper_plus -󰼎 nf-md-numeric_0_box_multiple -󰼏 nf-md-numeric_1_box_multiple -󰼐 nf-md-numeric_2_box_multiple -󰼑 nf-md-numeric_3_box_multiple -󰼒 nf-md-numeric_4_box_multiple -󰼓 nf-md-numeric_5_box_multiple -󰼔 nf-md-numeric_6_box_multiple -󰼕 nf-md-numeric_7_box_multiple -󰼖 nf-md-numeric_8_box_multiple -󰼗 nf-md-numeric_9_box_multiple -󰼘 nf-md-numeric_9_plus_box_multiple -󰼙 nf-md-oil_lamp -󰼚 nf-md-phone_alert -󰼛 nf-md-play_outline -󰼜 nf-md-purse -󰼝 nf-md-purse_outline -󰼞 nf-md-railroad_light -󰼟 nf-md-reply_all_outline -󰼠 nf-md-reply_outline -󰼡 nf-md-rss_off -󰼢 nf-md-selection_ellipse_arrow_inside -󰼣 nf-md-share_off -󰼤 nf-md-share_off_outline -󰼥 nf-md-skip_backward_outline -󰼦 nf-md-skip_forward_outline -󰼧 nf-md-skip_next_outline -󰼨 nf-md-skip_previous_outline -󰼩 nf-md-snowflake_alert -󰼪 nf-md-snowflake_variant -󰼫 nf-md-stretch_to_page -󰼬 nf-md-stretch_to_page_outline -󰼭 nf-md-typewriter -󰼮 nf-md-wave -󰼯 nf-md-weather_cloudy_alert -󰼰 nf-md-weather_hazy -󰼱 nf-md-weather_night_partly_cloudy -󰼲 nf-md-weather_partly_lightning -󰼳 nf-md-weather_partly_rainy -󰼴 nf-md-weather_partly_snowy -󰼵 nf-md-weather_partly_snowy_rainy -󰼶 nf-md-weather_snowy_heavy -󰼷 nf-md-weather_sunny_alert -󰼸 nf-md-weather_tornado -󰼹 nf-md-baby_bottle -󰼺 nf-md-baby_bottle_outline -󰼻 nf-md-bag_carry_on -󰼼 nf-md-bag_carry_on_off -󰼽 nf-md-bag_checked -󰼾 nf-md-baguette -󰼿 nf-md-bus_multiple -󰽀 nf-md-car_shift_pattern -󰽁 nf-md-cellphone_information -󰽂 nf-md-content_save_alert -󰽃 nf-md-content_save_alert_outline -󰽄 nf-md-content_save_all_outline -󰽅 nf-md-crosshairs_off -󰽆 nf-md-cupboard -󰽇 nf-md-cupboard_outline -󰽈 nf-md-chair_rolling -󰽉 nf-md-draw -󰽊 nf-md-dresser -󰽋 nf-md-dresser_outline -󰽌 nf-md-emoticon_frown -󰽍 nf-md-emoticon_frown_outline -󰽎 nf-md-focus_auto -󰽏 nf-md-focus_field -󰽐 nf-md-focus_field_horizontal -󰽑 nf-md-focus_field_vertical -󰽒 nf-md-foot_print -󰽓 nf-md-handball -󰽔 nf-md-home_thermometer -󰽕 nf-md-home_thermometer_outline -󰽖 nf-md-kettle_outline -󰽗 nf-md-latitude -󰽘 nf-md-layers_triple -󰽙 nf-md-layers_triple_outline -󰽚 nf-md-longitude -󰽛 nf-md-language_markdown_outline -󰽜 nf-md-merge -󰽝 nf-md-middleware -󰽞 nf-md-middleware_outline -󰽟 nf-md-monitor_speaker -󰽠 nf-md-monitor_speaker_off -󰽡 nf-md-moon_first_quarter -󰽢 nf-md-moon_full -󰽣 nf-md-moon_last_quarter -󰽤 nf-md-moon_new -󰽥 nf-md-moon_waning_crescent -󰽦 nf-md-moon_waning_gibbous -󰽧 nf-md-moon_waxing_crescent -󰽨 nf-md-moon_waxing_gibbous -󰽩 nf-md-music_accidental_double_flat -󰽪 nf-md-music_accidental_double_sharp -󰽫 nf-md-music_accidental_flat -󰽬 nf-md-music_accidental_natural -󰽭 nf-md-music_accidental_sharp -󰽮 nf-md-music_clef_alto -󰽯 nf-md-music_clef_bass -󰽰 nf-md-music_clef_treble -󰽱 nf-md-music_note_eighth_dotted -󰽲 nf-md-music_note_half_dotted -󰽳 nf-md-music_note_off_outline -󰽴 nf-md-music_note_outline -󰽵 nf-md-music_note_quarter_dotted -󰽶 nf-md-music_note_sixteenth_dotted -󰽷 nf-md-music_note_whole_dotted -󰽸 nf-md-music_rest_eighth -󰽹 nf-md-music_rest_half -󰽺 nf-md-music_rest_quarter -󰽻 nf-md-music_rest_sixteenth -󰽼 nf-md-music_rest_whole -󰽽 nf-md-numeric_10_box -󰽾 nf-md-numeric_10_box_outline -󰽿 nf-md-page_layout_header_footer -󰾀 nf-md-patio_heater -󰾁 nf-md-warehouse -󰾂 nf-md-select_group -󰾃 nf-md-shield_car -󰾄 nf-md-shopping_search -󰾅 nf-md-speedometer_medium -󰾆 nf-md-speedometer_slow -󰾇 nf-md-table_large_plus -󰾈 nf-md-table_large_remove -󰾉 nf-md-television_pause -󰾊 nf-md-television_stop -󰾋 nf-md-transit_detour -󰾌 nf-md-video_input_scart -󰾍 nf-md-view_grid_plus -󰾎 nf-md-wallet_plus -󰾏 nf-md-wallet_plus_outline -󰾐 nf-md-wardrobe -󰾑 nf-md-wardrobe_outline -󰾒 nf-md-water_boiler -󰾓 nf-md-water_pump_off -󰾔 nf-md-web_box -󰾕 nf-md-timeline_alert -󰾖 nf-md-timeline_plus -󰾗 nf-md-timeline_plus_outline -󰾘 nf-md-timeline_alert_outline -󰾙 nf-md-timeline_help -󰾚 nf-md-timeline_help_outline -󰾛 nf-md-home_export_outline -󰾜 nf-md-home_import_outline -󰾝 nf-md-account_filter_outline -󰾞 nf-md-approximately_equal -󰾟 nf-md-approximately_equal_box -󰾠 nf-md-baby_carriage_off -󰾡 nf-md-bee -󰾢 nf-md-bee_flower -󰾣 nf-md-car_child_seat -󰾤 nf-md-car_seat -󰾥 nf-md-car_seat_cooler -󰾦 nf-md-car_seat_heater -󰾧 nf-md-chart_bell_curve_cumulative -󰾨 nf-md-clock_check -󰾩 nf-md-clock_check_outline -󰾪 nf-md-coffee_off -󰾫 nf-md-coffee_off_outline -󰾬 nf-md-credit_card_minus -󰾭 nf-md-credit_card_minus_outline -󰾮 nf-md-credit_card_remove -󰾯 nf-md-credit_card_remove_outline -󰾰 nf-md-devices -󰾱 nf-md-email_newsletter -󰾲 nf-md-expansion_card_variant -󰾳 nf-md-power_socket_ch -󰾴 nf-md-file_swap -󰾵 nf-md-file_swap_outline -󰾶 nf-md-folder_swap -󰾷 nf-md-folder_swap_outline -󰾸 nf-md-format_letter_ends_with -󰾹 nf-md-format_letter_matches -󰾺 nf-md-format_letter_starts_with -󰾻 nf-md-format_text_rotation_angle_down -󰾼 nf-md-format_text_rotation_angle_up -󰾽 nf-md-format_text_rotation_down_vertical -󰾾 nf-md-format_text_rotation_up -󰾿 nf-md-format_text_rotation_vertical -󰿀 nf-md-id_card -󰿁 nf-md-image_auto_adjust -󰿂 nf-md-key_wireless -󰿃 nf-md-license -󰿄 nf-md-location_enter -󰿅 nf-md-location_exit -󰿆 nf-md-lock_open_variant -󰿇 nf-md-lock_open_variant_outline -󰿈 nf-md-math_integral -󰿉 nf-md-math_integral_box -󰿊 nf-md-math_norm -󰿋 nf-md-math_norm_box -󰿌 nf-md-message_lock -󰿍 nf-md-message_text_lock -󰿎 nf-md-movie_open -󰿏 nf-md-movie_open_outline -󰿐 nf-md-bed_queen -󰿑 nf-md-bed_king_outline -󰿒 nf-md-bed_king -󰿓 nf-md-bed_double_outline -󰿔 nf-md-bed_double -󰿕 nf-md-microsoft_azure_devops -󰿖 nf-md-arm_flex_outline -󰿗 nf-md-arm_flex -󰿘 nf-md-protocol -󰿙 nf-md-seal_variant -󰿚 nf-md-select_place -󰿛 nf-md-bed_queen_outline -󰿜 nf-md-sign_direction_plus -󰿝 nf-md-sign_direction_remove -󰿞 nf-md-silverware_clean -󰿟 nf-md-slash_forward -󰿠 nf-md-slash_forward_box -󰿡 nf-md-swap_horizontal_circle -󰿢 nf-md-swap_horizontal_circle_outline -󰿣 nf-md-swap_vertical_circle -󰿤 nf-md-swap_vertical_circle_outline -󰿥 nf-md-tanker_truck -󰿦 nf-md-texture_box -󰿧 nf-md-tram_side -󰿨 nf-md-vector_link -󰿩 nf-md-numeric_10 -󰿪 nf-md-numeric_10_box_multiple -󰿫 nf-md-numeric_10_box_multiple_outline -󰿬 nf-md-numeric_10_circle -󰿭 nf-md-numeric_10_circle_outline -󰿮 nf-md-numeric_9_plus -󰿯 nf-md-credit_card -󰿰 nf-md-credit_card_multiple -󰿱 nf-md-credit_card_off -󰿲 nf-md-credit_card_plus -󰿳 nf-md-credit_card_refund -󰿴 nf-md-credit_card_scan -󰿵 nf-md-credit_card_settings -󰿶 nf-md-hospital -󰿷 nf-md-hospital_box_outline -󰿸 nf-md-oil_temperature -󰿹 nf-md-stadium -󰿺 nf-md-zip_box_outline -󰿻 nf-md-account_edit_outline -󰿼 nf-md-peanut -󰿽 nf-md-peanut_off -󰿾 nf-md-peanut_outline -󰿿 nf-md-peanut_off_outline -󱀀 nf-md-sign_direction_minus -󱀁 nf-md-newspaper_variant -󱀂 nf-md-newspaper_variant_multiple -󱀃 nf-md-newspaper_variant_multiple_outline -󱀄 nf-md-newspaper_variant_outline -󱀅 nf-md-overscan -󱀆 nf-md-pig_variant -󱀇 nf-md-piggy_bank -󱀈 nf-md-post -󱀉 nf-md-post_outline -󱀊 nf-md-account_box_multiple_outline -󱀋 nf-md-airballoon_outline -󱀌 nf-md-alphabetical_off -󱀍 nf-md-alphabetical_variant -󱀎 nf-md-alphabetical_variant_off -󱀏 nf-md-apache_kafka -󱀐 nf-md-billboard -󱀑 nf-md-blinds_open -󱀒 nf-md-bus_stop -󱀓 nf-md-bus_stop_covered -󱀔 nf-md-bus_stop_uncovered -󱀕 nf-md-car_2_plus -󱀖 nf-md-car_3_plus -󱀗 nf-md-car_brake_retarder -󱀘 nf-md-car_clutch -󱀙 nf-md-car_coolant_level -󱀚 nf-md-car_turbocharger -󱀛 nf-md-car_windshield -󱀜 nf-md-car_windshield_outline -󱀝 nf-md-cards_diamond_outline -󱀞 nf-md-cast_audio -󱀟 nf-md-cellphone_play -󱀠 nf-md-coach_lamp -󱀡 nf-md-comment_quote -󱀢 nf-md-comment_quote_outline -󱀣 nf-md-domino_mask -󱀤 nf-md-electron_framework -󱀥 nf-md-excavator -󱀦 nf-md-eye_minus -󱀧 nf-md-eye_minus_outline -󱀨 nf-md-file_account_outline -󱀩 nf-md-file_chart_outline -󱀪 nf-md-file_cloud_outline -󱀫 nf-md-file_code_outline -󱀬 nf-md-file_excel_box_outline -󱀭 nf-md-file_excel_outline -󱀮 nf-md-file_export_outline -󱀯 nf-md-file_import_outline -󱀰 nf-md-file_lock_outline -󱀱 nf-md-file_move_outline -󱀲 nf-md-file_multiple_outline -󱀳 nf-md-file_percent_outline -󱀴 nf-md-file_powerpoint_box_outline -󱀵 nf-md-file_powerpoint_outline -󱀶 nf-md-file_question_outline -󱀷 nf-md-file_remove_outline -󱀸 nf-md-file_restore_outline -󱀹 nf-md-file_send_outline -󱀺 nf-md-file_star -󱀻 nf-md-file_star_outline -󱀼 nf-md-file_undo_outline -󱀽 nf-md-file_word_box_outline -󱀾 nf-md-file_word_outline -󱀿 nf-md-filter_variant_remove -󱁀 nf-md-floor_lamp_dual -󱁁 nf-md-floor_lamp_torchiere_variant -󱁂 nf-md-fruit_cherries -󱁃 nf-md-fruit_citrus -󱁄 nf-md-fruit_grapes -󱁅 nf-md-fruit_grapes_outline -󱁆 nf-md-fruit_pineapple -󱁇 nf-md-fruit_watermelon -󱁈 nf-md-google_my_business -󱁉 nf-md-graph -󱁊 nf-md-graph_outline -󱁋 nf-md-harddisk_plus -󱁌 nf-md-harddisk_remove -󱁍 nf-md-home_circle_outline -󱁎 nf-md-instrument_triangle -󱁏 nf-md-island -󱁐 nf-md-keyboard_space -󱁑 nf-md-led_strip_variant -󱁒 nf-md-numeric_negative_1 -󱁓 nf-md-oil_level -󱁔 nf-md-outdoor_lamp -󱁕 nf-md-palm_tree -󱁖 nf-md-party_popper -󱁗 nf-md-printer_pos -󱁘 nf-md-robber -󱁙 nf-md-routes_clock -󱁚 nf-md-scale_off -󱁛 nf-md-cog_transfer -󱁜 nf-md-cog_transfer_outline -󱁝 nf-md-shield_sun -󱁞 nf-md-shield_sun_outline -󱁟 nf-md-sprinkler -󱁠 nf-md-sprinkler_variant -󱁡 nf-md-table_chair -󱁢 nf-md-terraform -󱁣 nf-md-toaster -󱁤 nf-md-tools -󱁥 nf-md-transfer -󱁦 nf-md-valve -󱁧 nf-md-valve_closed -󱁨 nf-md-valve_open -󱁩 nf-md-video_check -󱁪 nf-md-video_check_outline -󱁫 nf-md-water_well -󱁬 nf-md-water_well_outline -󱁭 nf-md-bed_single -󱁮 nf-md-bed_single_outline -󱁯 nf-md-book_information_variant -󱁰 nf-md-bottle_soda -󱁱 nf-md-bottle_soda_classic -󱁲 nf-md-bottle_soda_outline -󱁳 nf-md-calendar_blank_multiple -󱁴 nf-md-card_search -󱁵 nf-md-card_search_outline -󱁶 nf-md-face_woman_profile -󱁷 nf-md-face_woman -󱁸 nf-md-face_woman_outline -󱁹 nf-md-file_settings -󱁺 nf-md-file_settings_outline -󱁻 nf-md-file_cog -󱁼 nf-md-file_cog_outline -󱁽 nf-md-folder_settings -󱁾 nf-md-folder_settings_outline -󱁿 nf-md-folder_cog -󱂀 nf-md-folder_cog_outline -󱂁 nf-md-furigana_horizontal -󱂂 nf-md-furigana_vertical -󱂃 nf-md-golf_tee -󱂄 nf-md-lungs -󱂅 nf-md-math_log -󱂆 nf-md-moped -󱂇 nf-md-router_network -󱂉 nf-md-roman_numeral_2 -󱂊 nf-md-roman_numeral_3 -󱂋 nf-md-roman_numeral_4 -󱂍 nf-md-roman_numeral_6 -󱂎 nf-md-roman_numeral_7 -󱂏 nf-md-roman_numeral_8 -󱂐 nf-md-roman_numeral_9 -󱂒 nf-md-soldering_iron -󱂓 nf-md-stomach -󱂔 nf-md-table_eye -󱂕 nf-md-form_textarea -󱂖 nf-md-trumpet -󱂗 nf-md-account_cash -󱂘 nf-md-account_cash_outline -󱂙 nf-md-air_humidifier -󱂚 nf-md-ansible -󱂛 nf-md-api -󱂜 nf-md-bicycle -󱂝 nf-md-car_door_lock -󱂞 nf-md-coat_rack -󱂟 nf-md-coffee_maker -󱂠 nf-md-web_minus -󱂡 nf-md-decimal -󱂢 nf-md-decimal_comma -󱂣 nf-md-decimal_comma_decrease -󱂤 nf-md-decimal_comma_increase -󱂥 nf-md-delete_alert -󱂦 nf-md-delete_alert_outline -󱂧 nf-md-delete_off -󱂨 nf-md-delete_off_outline -󱂩 nf-md-dock_bottom -󱂪 nf-md-dock_left -󱂫 nf-md-dock_right -󱂬 nf-md-dock_window -󱂭 nf-md-domain_plus -󱂮 nf-md-domain_remove -󱂯 nf-md-door_closed_lock -󱂰 nf-md-download_off -󱂱 nf-md-download_off_outline -󱂲 nf-md-flag_minus_outline -󱂳 nf-md-flag_plus_outline -󱂴 nf-md-flag_remove_outline -󱂵 nf-md-folder_home -󱂶 nf-md-folder_home_outline -󱂷 nf-md-folder_information -󱂸 nf-md-folder_information_outline -󱂹 nf-md-iv_bag -󱂺 nf-md-link_lock -󱂻 nf-md-message_plus_outline -󱂼 nf-md-phone_cancel -󱂽 nf-md-smart_card -󱂾 nf-md-smart_card_outline -󱂿 nf-md-smart_card_reader -󱃀 nf-md-smart_card_reader_outline -󱃁 nf-md-storefront_outline -󱃂 nf-md-thermometer_high -󱃃 nf-md-thermometer_low -󱃄 nf-md-ufo -󱃅 nf-md-ufo_outline -󱃆 nf-md-upload_off -󱃇 nf-md-upload_off_outline -󱃈 nf-md-account_child_outline -󱃉 nf-md-account_settings_outline -󱃊 nf-md-account_tie_outline -󱃋 nf-md-alien_outline -󱃌 nf-md-battery_alert_variant -󱃍 nf-md-battery_alert_variant_outline -󱃎 nf-md-beehive_outline -󱃏 nf-md-boomerang -󱃐 nf-md-briefcase_clock -󱃑 nf-md-briefcase_clock_outline -󱃒 nf-md-cellphone_message_off -󱃓 nf-md-circle_off_outline -󱃔 nf-md-clipboard_list -󱃕 nf-md-clipboard_list_outline -󱃖 nf-md-code_braces_box -󱃗 nf-md-code_parentheses_box -󱃘 nf-md-consolidate -󱃙 nf-md-electric_switch_closed -󱃚 nf-md-email_receive -󱃛 nf-md-email_receive_outline -󱃜 nf-md-email_send -󱃝 nf-md-email_send_outline -󱃞 nf-md-emoticon_confused -󱃟 nf-md-emoticon_confused_outline -󱃠 nf-md-epsilon -󱃡 nf-md-file_table_box -󱃢 nf-md-file_table_box_multiple -󱃣 nf-md-file_table_box_multiple_outline -󱃤 nf-md-file_table_box_outline -󱃥 nf-md-filter_menu -󱃦 nf-md-filter_menu_outline -󱃧 nf-md-flip_horizontal -󱃨 nf-md-flip_vertical -󱃩 nf-md-folder_download_outline -󱃪 nf-md-folder_heart -󱃫 nf-md-folder_heart_outline -󱃬 nf-md-folder_key_outline -󱃭 nf-md-folder_upload_outline -󱃮 nf-md-gamma -󱃯 nf-md-hair_dryer -󱃰 nf-md-hair_dryer_outline -󱃱 nf-md-hand_heart -󱃲 nf-md-hexagon_multiple_outline -󱃳 nf-md-horizontal_rotate_clockwise -󱃴 nf-md-horizontal_rotate_counterclockwise -󱃵 nf-md-application_array -󱃶 nf-md-application_array_outline -󱃷 nf-md-application_braces -󱃸 nf-md-application_braces_outline -󱃹 nf-md-application_parentheses -󱃺 nf-md-application_parentheses_outline -󱃻 nf-md-application_variable -󱃼 nf-md-application_variable_outline -󱃽 nf-md-khanda -󱃾 nf-md-kubernetes -󱃿 nf-md-link_variant_minus -󱄀 nf-md-link_variant_plus -󱄁 nf-md-link_variant_remove -󱄂 nf-md-map_marker_down -󱄃 nf-md-map_marker_up -󱄄 nf-md-monitor_shimmer -󱄅 nf-md-nix -󱄆 nf-md-nuxt -󱄇 nf-md-power_socket_de -󱄈 nf-md-power_socket_fr -󱄉 nf-md-power_socket_jp -󱄊 nf-md-progress_close -󱄋 nf-md-reload_alert -󱄌 nf-md-restart_alert -󱄍 nf-md-restore_alert -󱄎 nf-md-shaker -󱄏 nf-md-shaker_outline -󱄐 nf-md-television_shimmer -󱄑 nf-md-variable_box -󱄒 nf-md-filter_variant_minus -󱄓 nf-md-filter_variant_plus -󱄔 nf-md-slot_machine -󱄕 nf-md-slot_machine_outline -󱄖 nf-md-glass_mug_variant -󱄗 nf-md-clipboard_flow_outline -󱄘 nf-md-sign_real_estate -󱄙 nf-md-antenna -󱄚 nf-md-centos -󱄛 nf-md-redhat -󱄜 nf-md-window_shutter -󱄝 nf-md-window_shutter_alert -󱄞 nf-md-window_shutter_open -󱄟 nf-md-bike_fast -󱄠 nf-md-volume_source -󱄡 nf-md-volume_vibrate -󱄢 nf-md-movie_edit -󱄣 nf-md-movie_edit_outline -󱄤 nf-md-movie_filter -󱄥 nf-md-movie_filter_outline -󱄦 nf-md-diabetes -󱄧 nf-md-cursor_default_gesture -󱄨 nf-md-cursor_default_gesture_outline -󱄩 nf-md-toothbrush -󱄪 nf-md-toothbrush_paste -󱄫 nf-md-home_roof -󱄬 nf-md-toothbrush_electric -󱄭 nf-md-account_supervisor_outline -󱄮 nf-md-bottle_tonic -󱄯 nf-md-bottle_tonic_outline -󱄰 nf-md-bottle_tonic_plus -󱄱 nf-md-bottle_tonic_plus_outline -󱄲 nf-md-bottle_tonic_skull -󱄳 nf-md-bottle_tonic_skull_outline -󱄴 nf-md-calendar_arrow_left -󱄵 nf-md-calendar_arrow_right -󱄶 nf-md-crosshairs_question -󱄷 nf-md-fire_hydrant -󱄸 nf-md-fire_hydrant_alert -󱄹 nf-md-fire_hydrant_off -󱄺 nf-md-ocr -󱄻 nf-md-shield_star -󱄼 nf-md-shield_star_outline -󱄽 nf-md-text_recognition -󱄾 nf-md-handcuffs -󱄿 nf-md-gender_male_female_variant -󱅀 nf-md-gender_non_binary -󱅁 nf-md-minus_box_multiple -󱅂 nf-md-minus_box_multiple_outline -󱅃 nf-md-plus_box_multiple_outline -󱅄 nf-md-pencil_box_multiple -󱅅 nf-md-pencil_box_multiple_outline -󱅆 nf-md-printer_check -󱅇 nf-md-sort_variant_remove -󱅈 nf-md-sort_alphabetical_ascending_variant -󱅉 nf-md-sort_alphabetical_descending_variant -󱅊 nf-md-dice_1_outline -󱅋 nf-md-dice_2_outline -󱅌 nf-md-dice_3_outline -󱅍 nf-md-dice_4_outline -󱅎 nf-md-dice_5_outline -󱅏 nf-md-dice_6_outline -󱅐 nf-md-dice_d4 -󱅑 nf-md-dice_d6 -󱅒 nf-md-dice_d8 -󱅓 nf-md-dice_d10 -󱅔 nf-md-dice_d12 -󱅕 nf-md-dice_d20 -󱅖 nf-md-dice_multiple_outline -󱅗 nf-md-paper_roll -󱅘 nf-md-paper_roll_outline -󱅙 nf-md-home_edit -󱅚 nf-md-home_edit_outline -󱅛 nf-md-arrow_horizontal_lock -󱅜 nf-md-arrow_vertical_lock -󱅝 nf-md-weight_lifter -󱅞 nf-md-account_lock -󱅟 nf-md-account_lock_outline -󱅠 nf-md-pasta -󱅡 nf-md-send_check -󱅢 nf-md-send_check_outline -󱅣 nf-md-send_clock -󱅤 nf-md-send_clock_outline -󱅥 nf-md-send_outline -󱅦 nf-md-send_lock_outline -󱅧 nf-md-police_badge -󱅨 nf-md-police_badge_outline -󱅩 nf-md-gate_arrow_right -󱅪 nf-md-gate_open -󱅫 nf-md-bell_badge -󱅬 nf-md-message_image_outline -󱅭 nf-md-message_lock_outline -󱅮 nf-md-message_minus -󱅯 nf-md-message_minus_outline -󱅰 nf-md-message_processing_outline -󱅱 nf-md-message_settings_outline -󱅲 nf-md-message_cog_outline -󱅳 nf-md-message_text_clock -󱅴 nf-md-message_text_clock_outline -󱅵 nf-md-message_text_lock_outline -󱅶 nf-md-checkbox_blank_badge -󱅷 nf-md-file_link -󱅸 nf-md-file_link_outline -󱅹 nf-md-file_phone -󱅺 nf-md-file_phone_outline -󱅻 nf-md-meditation -󱅼 nf-md-yoga -󱅽 nf-md-leek -󱅾 nf-md-noodles -󱅿 nf-md-pound_box_outline -󱆀 nf-md-school_outline -󱆁 nf-md-basket_outline -󱆂 nf-md-phone_in_talk_outline -󱆃 nf-md-bash -󱆄 nf-md-file_key -󱆅 nf-md-file_key_outline -󱆆 nf-md-file_certificate -󱆇 nf-md-file_certificate_outline -󱆈 nf-md-certificate_outline -󱆉 nf-md-cigar -󱆊 nf-md-grill_outline -󱆋 nf-md-qrcode_plus -󱆌 nf-md-qrcode_minus -󱆍 nf-md-qrcode_remove -󱆎 nf-md-phone_alert_outline -󱆏 nf-md-phone_bluetooth_outline -󱆐 nf-md-phone_cancel_outline -󱆑 nf-md-phone_forward_outline -󱆒 nf-md-phone_hangup_outline -󱆓 nf-md-phone_incoming_outline -󱆔 nf-md-phone_lock_outline -󱆕 nf-md-phone_log_outline -󱆖 nf-md-phone_message -󱆗 nf-md-phone_message_outline -󱆘 nf-md-phone_minus_outline -󱆙 nf-md-phone_outgoing_outline -󱆚 nf-md-phone_paused_outline -󱆛 nf-md-phone_plus_outline -󱆜 nf-md-phone_return_outline -󱆝 nf-md-phone_settings_outline -󱆞 nf-md-key_star -󱆟 nf-md-key_link -󱆠 nf-md-shield_edit -󱆡 nf-md-shield_edit_outline -󱆢 nf-md-shield_sync -󱆣 nf-md-shield_sync_outline -󱆤 nf-md-golf_cart -󱆥 nf-md-phone_missed_outline -󱆦 nf-md-phone_off_outline -󱆧 nf-md-format_quote_open_outline -󱆨 nf-md-format_quote_close_outline -󱆩 nf-md-phone_check -󱆪 nf-md-phone_check_outline -󱆫 nf-md-phone_ring -󱆬 nf-md-phone_ring_outline -󱆭 nf-md-share_circle -󱆮 nf-md-reply_circle -󱆯 nf-md-fridge_off -󱆰 nf-md-fridge_off_outline -󱆱 nf-md-fridge_alert -󱆲 nf-md-fridge_alert_outline -󱆳 nf-md-water_boiler_alert -󱆴 nf-md-water_boiler_off -󱆵 nf-md-amplifier_off -󱆶 nf-md-audio_video_off -󱆷 nf-md-toaster_off -󱆸 nf-md-dishwasher_alert -󱆹 nf-md-dishwasher_off -󱆺 nf-md-tumble_dryer_alert -󱆻 nf-md-tumble_dryer_off -󱆼 nf-md-washing_machine_alert -󱆽 nf-md-washing_machine_off -󱆾 nf-md-car_info -󱆿 nf-md-comment_edit -󱇀 nf-md-printer_3d_nozzle_alert -󱇁 nf-md-printer_3d_nozzle_alert_outline -󱇂 nf-md-align_horizontal_left -󱇃 nf-md-align_horizontal_center -󱇄 nf-md-align_horizontal_right -󱇅 nf-md-align_vertical_bottom -󱇆 nf-md-align_vertical_center -󱇇 nf-md-align_vertical_top -󱇈 nf-md-distribute_horizontal_left -󱇉 nf-md-distribute_horizontal_center -󱇊 nf-md-distribute_horizontal_right -󱇋 nf-md-distribute_vertical_bottom -󱇌 nf-md-distribute_vertical_center -󱇍 nf-md-distribute_vertical_top -󱇎 nf-md-alert_rhombus -󱇏 nf-md-alert_rhombus_outline -󱇐 nf-md-crown_outline -󱇑 nf-md-image_off_outline -󱇒 nf-md-movie_search -󱇓 nf-md-movie_search_outline -󱇔 nf-md-rv_truck -󱇕 nf-md-shopping_outline -󱇖 nf-md-strategy -󱇗 nf-md-note_text_outline -󱇘 nf-md-view_agenda_outline -󱇙 nf-md-view_grid_outline -󱇚 nf-md-view_grid_plus_outline -󱇛 nf-md-window_closed_variant -󱇜 nf-md-window_open_variant -󱇝 nf-md-cog_clockwise -󱇞 nf-md-cog_counterclockwise -󱇟 nf-md-chart_sankey -󱇠 nf-md-chart_sankey_variant -󱇡 nf-md-vanity_light -󱇢 nf-md-router -󱇣 nf-md-image_edit -󱇤 nf-md-image_edit_outline -󱇥 nf-md-bell_check -󱇦 nf-md-bell_check_outline -󱇧 nf-md-file_edit -󱇨 nf-md-file_edit_outline -󱇩 nf-md-human_scooter -󱇪 nf-md-spider -󱇫 nf-md-spider_thread -󱇬 nf-md-plus_thick -󱇭 nf-md-alert_circle_check -󱇮 nf-md-alert_circle_check_outline -󱇯 nf-md-state_machine -󱇰 nf-md-usb_port -󱇱 nf-md-cloud_lock -󱇲 nf-md-cloud_lock_outline -󱇳 nf-md-robot_mower_outline -󱇴 nf-md-share_all -󱇵 nf-md-share_all_outline -󱇶 nf-md-google_cloud -󱇷 nf-md-robot_mower -󱇸 nf-md-fast_forward_5 -󱇹 nf-md-rewind_5 -󱇺 nf-md-shape_oval_plus -󱇻 nf-md-timeline_clock -󱇼 nf-md-timeline_clock_outline -󱇽 nf-md-mirror -󱇾 nf-md-account_multiple_check_outline -󱇿 nf-md-card_plus -󱈀 nf-md-card_plus_outline -󱈁 nf-md-checkerboard_plus -󱈂 nf-md-checkerboard_minus -󱈃 nf-md-checkerboard_remove -󱈄 nf-md-select_search -󱈅 nf-md-selection_search -󱈆 nf-md-layers_search -󱈇 nf-md-layers_search_outline -󱈈 nf-md-lightbulb_cfl -󱈉 nf-md-lightbulb_cfl_off -󱈊 nf-md-account_multiple_remove -󱈋 nf-md-account_multiple_remove_outline -󱈌 nf-md-magnify_remove_cursor -󱈍 nf-md-magnify_remove_outline -󱈎 nf-md-archive_outline -󱈏 nf-md-battery_heart -󱈐 nf-md-battery_heart_outline -󱈑 nf-md-battery_heart_variant -󱈒 nf-md-bus_marker -󱈓 nf-md-chart_multiple -󱈔 nf-md-emoticon_lol -󱈕 nf-md-emoticon_lol_outline -󱈖 nf-md-file_sync -󱈗 nf-md-file_sync_outline -󱈘 nf-md-handshake -󱈙 nf-md-language_kotlin -󱈚 nf-md-language_fortran -󱈛 nf-md-offer -󱈜 nf-md-radio_off -󱈝 nf-md-table_headers_eye -󱈞 nf-md-table_headers_eye_off -󱈟 nf-md-tag_minus_outline -󱈠 nf-md-tag_off -󱈡 nf-md-tag_off_outline -󱈢 nf-md-tag_plus_outline -󱈣 nf-md-tag_remove_outline -󱈤 nf-md-tag_text -󱈥 nf-md-vector_polyline_edit -󱈦 nf-md-vector_polyline_minus -󱈧 nf-md-vector_polyline_plus -󱈨 nf-md-vector_polyline_remove -󱈩 nf-md-beaker_alert -󱈪 nf-md-beaker_alert_outline -󱈫 nf-md-beaker_check -󱈬 nf-md-beaker_check_outline -󱈭 nf-md-beaker_minus -󱈮 nf-md-beaker_minus_outline -󱈯 nf-md-beaker_plus -󱈰 nf-md-beaker_plus_outline -󱈱 nf-md-beaker_question -󱈲 nf-md-beaker_question_outline -󱈳 nf-md-beaker_remove -󱈴 nf-md-beaker_remove_outline -󱈵 nf-md-bicycle_basket -󱈶 nf-md-barcode_off -󱈷 nf-md-digital_ocean -󱈸 nf-md-exclamation_thick -󱈹 nf-md-desk -󱈺 nf-md-flask_empty_minus -󱈻 nf-md-flask_empty_minus_outline -󱈼 nf-md-flask_empty_plus -󱈽 nf-md-flask_empty_plus_outline -󱈾 nf-md-flask_empty_remove -󱈿 nf-md-flask_empty_remove_outline -󱉀 nf-md-flask_minus -󱉁 nf-md-flask_minus_outline -󱉂 nf-md-flask_plus -󱉃 nf-md-flask_plus_outline -󱉄 nf-md-flask_remove -󱉅 nf-md-flask_remove_outline -󱉆 nf-md-folder_move_outline -󱉇 nf-md-home_remove -󱉈 nf-md-webrtc -󱉉 nf-md-seat_passenger -󱉊 nf-md-web_clock -󱉋 nf-md-flask_round_bottom -󱉌 nf-md-flask_round_bottom_empty -󱉍 nf-md-flask_round_bottom_empty_outline -󱉎 nf-md-flask_round_bottom_outline -󱉏 nf-md-gold -󱉐 nf-md-message_star_outline -󱉑 nf-md-home_lightbulb -󱉒 nf-md-home_lightbulb_outline -󱉓 nf-md-lightbulb_group -󱉔 nf-md-lightbulb_group_outline -󱉕 nf-md-lightbulb_multiple -󱉖 nf-md-lightbulb_multiple_outline -󱉗 nf-md-api_off -󱉘 nf-md-allergy -󱉙 nf-md-archive_arrow_down -󱉚 nf-md-archive_arrow_down_outline -󱉛 nf-md-archive_arrow_up -󱉜 nf-md-archive_arrow_up_outline -󱉝 nf-md-battery_off -󱉞 nf-md-battery_off_outline -󱉟 nf-md-bookshelf -󱉠 nf-md-cash_minus -󱉡 nf-md-cash_plus -󱉢 nf-md-cash_remove -󱉣 nf-md-clipboard_check_multiple -󱉤 nf-md-clipboard_check_multiple_outline -󱉥 nf-md-clipboard_file -󱉦 nf-md-clipboard_file_outline -󱉧 nf-md-clipboard_multiple -󱉨 nf-md-clipboard_multiple_outline -󱉩 nf-md-clipboard_play_multiple -󱉪 nf-md-clipboard_play_multiple_outline -󱉫 nf-md-clipboard_text_multiple -󱉬 nf-md-clipboard_text_multiple_outline -󱉭 nf-md-folder_marker -󱉮 nf-md-folder_marker_outline -󱉯 nf-md-format_list_text -󱉰 nf-md-inbox_arrow_down_outline -󱉱 nf-md-inbox_arrow_up_outline -󱉲 nf-md-inbox_full -󱉳 nf-md-inbox_full_outline -󱉴 nf-md-inbox_outline -󱉵 nf-md-lightbulb_cfl_spiral -󱉶 nf-md-magnify_scan -󱉷 nf-md-map_marker_multiple_outline -󱉸 nf-md-percent_outline -󱉹 nf-md-phone_classic_off -󱉺 nf-md-play_box -󱉻 nf-md-account_eye_outline -󱉼 nf-md-safe_square -󱉽 nf-md-safe_square_outline -󱉾 nf-md-scoreboard -󱉿 nf-md-scoreboard_outline -󱊀 nf-md-select_marker -󱊁 nf-md-select_multiple -󱊂 nf-md-select_multiple_marker -󱊃 nf-md-selection_marker -󱊄 nf-md-selection_multiple_marker -󱊅 nf-md-selection_multiple -󱊆 nf-md-star_box_multiple -󱊇 nf-md-star_box_multiple_outline -󱊈 nf-md-toy_brick -󱊉 nf-md-toy_brick_marker -󱊊 nf-md-toy_brick_marker_outline -󱊋 nf-md-toy_brick_minus -󱊌 nf-md-toy_brick_minus_outline -󱊍 nf-md-toy_brick_outline -󱊎 nf-md-toy_brick_plus -󱊏 nf-md-toy_brick_plus_outline -󱊐 nf-md-toy_brick_remove -󱊑 nf-md-toy_brick_remove_outline -󱊒 nf-md-toy_brick_search -󱊓 nf-md-toy_brick_search_outline -󱊔 nf-md-tray -󱊕 nf-md-tray_alert -󱊖 nf-md-tray_full -󱊗 nf-md-tray_minus -󱊘 nf-md-tray_plus -󱊙 nf-md-tray_remove -󱊚 nf-md-truck_check_outline -󱊛 nf-md-truck_delivery_outline -󱊜 nf-md-truck_fast_outline -󱊝 nf-md-truck_outline -󱊞 nf-md-usb_flash_drive -󱊟 nf-md-usb_flash_drive_outline -󱊠 nf-md-water_polo -󱊡 nf-md-battery_low -󱊢 nf-md-battery_medium -󱊣 nf-md-battery_high -󱊤 nf-md-battery_charging_low -󱊥 nf-md-battery_charging_medium -󱊦 nf-md-battery_charging_high -󱊧 nf-md-hexadecimal -󱊨 nf-md-gesture_tap_button -󱊩 nf-md-gesture_tap_box -󱊪 nf-md-lan_check -󱊫 nf-md-keyboard_f1 -󱊬 nf-md-keyboard_f2 -󱊭 nf-md-keyboard_f3 -󱊮 nf-md-keyboard_f4 -󱊯 nf-md-keyboard_f5 -󱊰 nf-md-keyboard_f6 -󱊱 nf-md-keyboard_f7 -󱊲 nf-md-keyboard_f8 -󱊳 nf-md-keyboard_f9 -󱊴 nf-md-keyboard_f10 -󱊵 nf-md-keyboard_f11 -󱊶 nf-md-keyboard_f12 -󱊷 nf-md-keyboard_esc -󱊸 nf-md-toslink -󱊹 nf-md-cheese -󱊺 nf-md-string_lights -󱊻 nf-md-string_lights_off -󱊼 nf-md-whistle_outline -󱊽 nf-md-stairs_up -󱊾 nf-md-stairs_down -󱊿 nf-md-escalator_up -󱋀 nf-md-escalator_down -󱋁 nf-md-elevator_up -󱋂 nf-md-elevator_down -󱋃 nf-md-lightbulb_cfl_spiral_off -󱋄 nf-md-comment_edit_outline -󱋅 nf-md-tooltip_edit_outline -󱋆 nf-md-monitor_edit -󱋇 nf-md-email_sync -󱋈 nf-md-email_sync_outline -󱋉 nf-md-chat_alert_outline -󱋊 nf-md-chat_processing_outline -󱋋 nf-md-snowflake_melt -󱋌 nf-md-cloud_check_outline -󱋍 nf-md-lightbulb_group_off -󱋎 nf-md-lightbulb_group_off_outline -󱋏 nf-md-lightbulb_multiple_off -󱋐 nf-md-lightbulb_multiple_off_outline -󱋑 nf-md-chat_sleep -󱋒 nf-md-chat_sleep_outline -󱋓 nf-md-garage_variant -󱋔 nf-md-garage_open_variant -󱋕 nf-md-garage_alert_variant -󱋖 nf-md-cloud_sync_outline -󱋗 nf-md-globe_light -󱋘 nf-md-cellphone_nfc_off -󱋙 nf-md-leaf_off -󱋚 nf-md-leaf_maple_off -󱋛 nf-md-map_marker_left -󱋜 nf-md-map_marker_right -󱋝 nf-md-map_marker_left_outline -󱋞 nf-md-map_marker_right_outline -󱋟 nf-md-account_cancel -󱋠 nf-md-account_cancel_outline -󱋡 nf-md-file_clock -󱋢 nf-md-file_clock_outline -󱋣 nf-md-folder_table -󱋤 nf-md-folder_table_outline -󱋥 nf-md-hydro_power -󱋦 nf-md-doorbell -󱋧 nf-md-bulma -󱋨 nf-md-iobroker -󱋩 nf-md-oci -󱋪 nf-md-label_percent -󱋫 nf-md-label_percent_outline -󱋬 nf-md-checkbox_blank_off -󱋭 nf-md-checkbox_blank_off_outline -󱋮 nf-md-square_off -󱋯 nf-md-square_off_outline -󱋰 nf-md-drag_horizontal_variant -󱋱 nf-md-drag_vertical_variant -󱋲 nf-md-message_arrow_left -󱋳 nf-md-message_arrow_left_outline -󱋴 nf-md-message_arrow_right -󱋵 nf-md-message_arrow_right_outline -󱋶 nf-md-database_marker -󱋷 nf-md-tag_multiple_outline -󱋸 nf-md-map_marker_plus_outline -󱋹 nf-md-map_marker_minus_outline -󱋺 nf-md-map_marker_remove_outline -󱋻 nf-md-map_marker_check_outline -󱋼 nf-md-map_marker_radius_outline -󱋽 nf-md-map_marker_off_outline -󱋾 nf-md-molecule_co -󱋿 nf-md-jump_rope -󱌀 nf-md-kettlebell -󱌁 nf-md-account_convert_outline -󱌂 nf-md-bunk_bed -󱌃 nf-md-fleur_de_lis -󱌄 nf-md-ski -󱌅 nf-md-ski_cross_country -󱌆 nf-md-ski_water -󱌇 nf-md-snowboard -󱌈 nf-md-account_tie_voice -󱌉 nf-md-account_tie_voice_outline -󱌊 nf-md-account_tie_voice_off -󱌋 nf-md-account_tie_voice_off_outline -󱌌 nf-md-beer_outline -󱌍 nf-md-glass_pint_outline -󱌎 nf-md-coffee_to_go_outline -󱌏 nf-md-cup_outline -󱌐 nf-md-bottle_wine_outline -󱌑 nf-md-earth_arrow_right -󱌒 nf-md-key_arrow_right -󱌓 nf-md-format_color_marker_cancel -󱌔 nf-md-mother_heart -󱌕 nf-md-currency_eur_off -󱌖 nf-md-semantic_web -󱌗 nf-md-kettle_alert -󱌘 nf-md-kettle_alert_outline -󱌙 nf-md-kettle_steam -󱌚 nf-md-kettle_steam_outline -󱌛 nf-md-kettle_off -󱌜 nf-md-kettle_off_outline -󱌝 nf-md-simple_icons -󱌞 nf-md-briefcase_check_outline -󱌟 nf-md-clipboard_plus_outline -󱌠 nf-md-download_lock -󱌡 nf-md-download_lock_outline -󱌢 nf-md-hammer_screwdriver -󱌣 nf-md-hammer_wrench -󱌤 nf-md-hydraulic_oil_level -󱌥 nf-md-hydraulic_oil_temperature -󱌦 nf-md-medal_outline -󱌧 nf-md-rodent -󱌨 nf-md-abjad_arabic -󱌩 nf-md-abjad_hebrew -󱌪 nf-md-abugida_devanagari -󱌫 nf-md-abugida_thai -󱌬 nf-md-alphabet_aurebesh -󱌭 nf-md-alphabet_cyrillic -󱌮 nf-md-alphabet_greek -󱌯 nf-md-alphabet_latin -󱌰 nf-md-alphabet_piqad -󱌱 nf-md-ideogram_cjk -󱌲 nf-md-ideogram_cjk_variant -󱌳 nf-md-syllabary_hangul -󱌴 nf-md-syllabary_hiragana -󱌵 nf-md-syllabary_katakana -󱌶 nf-md-syllabary_katakana_halfwidth -󱌷 nf-md-alphabet_tengwar -󱌸 nf-md-head_alert -󱌹 nf-md-head_alert_outline -󱌺 nf-md-head_check -󱌻 nf-md-head_check_outline -󱌼 nf-md-head_cog -󱌽 nf-md-head_cog_outline -󱌾 nf-md-head_dots_horizontal -󱌿 nf-md-head_dots_horizontal_outline -󱍀 nf-md-head_flash -󱍁 nf-md-head_flash_outline -󱍂 nf-md-head_heart -󱍃 nf-md-head_heart_outline -󱍄 nf-md-head_lightbulb -󱍅 nf-md-head_lightbulb_outline -󱍆 nf-md-head_minus -󱍇 nf-md-head_minus_outline -󱍈 nf-md-head_plus -󱍉 nf-md-head_plus_outline -󱍊 nf-md-head_question -󱍋 nf-md-head_question_outline -󱍌 nf-md-head_remove -󱍍 nf-md-head_remove_outline -󱍎 nf-md-head_snowflake -󱍏 nf-md-head_snowflake_outline -󱍐 nf-md-head_sync -󱍑 nf-md-head_sync_outline -󱍒 nf-md-hvac -󱍓 nf-md-pencil_ruler -󱍔 nf-md-pipe_wrench -󱍕 nf-md-widgets_outline -󱍖 nf-md-television_ambient_light -󱍗 nf-md-propane_tank -󱍘 nf-md-propane_tank_outline -󱍙 nf-md-folder_music -󱍚 nf-md-folder_music_outline -󱍛 nf-md-klingon -󱍜 nf-md-palette_swatch_outline -󱍝 nf-md-form_textbox_lock -󱍞 nf-md-head -󱍟 nf-md-head_outline -󱍠 nf-md-shield_half -󱍡 nf-md-store_outline -󱍢 nf-md-google_downasaur -󱍣 nf-md-bottle_soda_classic_outline -󱍤 nf-md-sticker -󱍥 nf-md-sticker_alert -󱍦 nf-md-sticker_alert_outline -󱍧 nf-md-sticker_check -󱍨 nf-md-sticker_check_outline -󱍩 nf-md-sticker_minus -󱍪 nf-md-sticker_minus_outline -󱍫 nf-md-sticker_outline -󱍬 nf-md-sticker_plus -󱍭 nf-md-sticker_plus_outline -󱍮 nf-md-sticker_remove -󱍯 nf-md-sticker_remove_outline -󱍰 nf-md-account_cog -󱍱 nf-md-account_cog_outline -󱍲 nf-md-account_details_outline -󱍳 nf-md-upload_lock -󱍴 nf-md-upload_lock_outline -󱍵 nf-md-label_multiple -󱍶 nf-md-label_multiple_outline -󱍷 nf-md-refresh_circle -󱍸 nf-md-sync_circle -󱍹 nf-md-bookmark_music_outline -󱍺 nf-md-bookmark_remove_outline -󱍻 nf-md-bookmark_check_outline -󱍼 nf-md-traffic_cone -󱍽 nf-md-cup_off_outline -󱍾 nf-md-auto_download -󱍿 nf-md-shuriken -󱎀 nf-md-chart_ppf -󱎁 nf-md-elevator_passenger -󱎂 nf-md-compass_rose -󱎃 nf-md-space_station -󱎄 nf-md-order_bool_descending -󱎅 nf-md-sort_bool_ascending -󱎆 nf-md-sort_bool_ascending_variant -󱎇 nf-md-sort_bool_descending -󱎈 nf-md-sort_bool_descending_variant -󱎉 nf-md-sort_numeric_ascending -󱎊 nf-md-sort_numeric_descending -󱎋 nf-md-human_baby_changing_table -󱎌 nf-md-human_male_child -󱎍 nf-md-human_wheelchair -󱎎 nf-md-microsoft_access -󱎏 nf-md-microsoft_excel -󱎐 nf-md-microsoft_powerpoint -󱎑 nf-md-microsoft_sharepoint -󱎒 nf-md-microsoft_word -󱎓 nf-md-nintendo_game_boy -󱎔 nf-md-cable_data -󱎕 nf-md-circle_half -󱎖 nf-md-circle_half_full -󱎗 nf-md-cellphone_charging -󱎘 nf-md-close_thick -󱎙 nf-md-escalator_box -󱎚 nf-md-lock_check -󱎛 nf-md-lock_open_alert -󱎜 nf-md-lock_open_check -󱎝 nf-md-recycle_variant -󱎞 nf-md-stairs_box -󱎟 nf-md-hand_water -󱎠 nf-md-table_refresh -󱎡 nf-md-table_sync -󱎢 nf-md-size_xxs -󱎣 nf-md-size_xs -󱎤 nf-md-size_s -󱎥 nf-md-size_m -󱎧 nf-md-size_xl -󱎨 nf-md-size_xxl -󱎩 nf-md-size_xxxl -󱎪 nf-md-ticket_confirmation_outline -󱎫 nf-md-timer -󱎬 nf-md-timer_off -󱎭 nf-md-book_account -󱎮 nf-md-book_account_outline -󱎯 nf-md-rocket_outline -󱎰 nf-md-home_search -󱎱 nf-md-home_search_outline -󱎲 nf-md-car_arrow_left -󱎳 nf-md-car_arrow_right -󱎴 nf-md-monitor_eye -󱎵 nf-md-lipstick -󱎶 nf-md-virus -󱎷 nf-md-virus_outline -󱎸 nf-md-text_search -󱎹 nf-md-table_account -󱎺 nf-md-table_alert -󱎻 nf-md-table_arrow_down -󱎼 nf-md-table_arrow_left -󱎽 nf-md-table_arrow_right -󱎾 nf-md-table_arrow_up -󱎿 nf-md-table_cancel -󱏀 nf-md-table_check -󱏁 nf-md-table_clock -󱏂 nf-md-table_cog -󱏃 nf-md-table_eye_off -󱏄 nf-md-table_heart -󱏅 nf-md-table_key -󱏆 nf-md-table_lock -󱏇 nf-md-table_minus -󱏈 nf-md-table_multiple -󱏉 nf-md-table_network -󱏊 nf-md-table_off -󱏋 nf-md-table_star -󱏌 nf-md-car_cog -󱏍 nf-md-car_settings -󱏎 nf-md-cog_off -󱏏 nf-md-cog_off_outline -󱏐 nf-md-credit_card_check -󱏑 nf-md-credit_card_check_outline -󱏒 nf-md-file_tree_outline -󱏓 nf-md-folder_star_multiple -󱏔 nf-md-folder_star_multiple_outline -󱏕 nf-md-home_minus_outline -󱏖 nf-md-home_plus_outline -󱏗 nf-md-home_remove_outline -󱏘 nf-md-scan_helper -󱏙 nf-md-video_3d_off -󱏚 nf-md-shield_bug -󱏛 nf-md-shield_bug_outline -󱏜 nf-md-eyedropper_plus -󱏝 nf-md-eyedropper_minus -󱏞 nf-md-eyedropper_remove -󱏟 nf-md-eyedropper_off -󱏠 nf-md-baby_buggy -󱏡 nf-md-umbrella_closed_variant -󱏢 nf-md-umbrella_closed_outline -󱏣 nf-md-email_off -󱏤 nf-md-email_off_outline -󱏥 nf-md-food_variant_off -󱏦 nf-md-play_box_multiple_outline -󱏧 nf-md-bell_cancel -󱏨 nf-md-bell_cancel_outline -󱏩 nf-md-bell_minus -󱏪 nf-md-bell_minus_outline -󱏫 nf-md-bell_remove -󱏬 nf-md-bell_remove_outline -󱏭 nf-md-beehive_off_outline -󱏮 nf-md-cheese_off -󱏯 nf-md-corn_off -󱏰 nf-md-egg_off -󱏱 nf-md-egg_off_outline -󱏲 nf-md-egg_outline -󱏳 nf-md-fish_off -󱏴 nf-md-flask_empty_off -󱏵 nf-md-flask_empty_off_outline -󱏶 nf-md-flask_off -󱏷 nf-md-flask_off_outline -󱏸 nf-md-fruit_cherries_off -󱏹 nf-md-fruit_citrus_off -󱏺 nf-md-mushroom_off -󱏻 nf-md-mushroom_off_outline -󱏼 nf-md-soy_sauce_off -󱏽 nf-md-seed_off -󱏾 nf-md-seed_off_outline -󱏿 nf-md-tailwind -󱐀 nf-md-form_dropdown -󱐁 nf-md-form_select -󱐂 nf-md-pump -󱐃 nf-md-earth_plus -󱐄 nf-md-earth_minus -󱐅 nf-md-earth_remove -󱐆 nf-md-earth_box_plus -󱐇 nf-md-earth_box_minus -󱐈 nf-md-earth_box_remove -󱐉 nf-md-gas_station_off -󱐊 nf-md-gas_station_off_outline -󱐋 nf-md-lightning_bolt -󱐌 nf-md-lightning_bolt_outline -󱐍 nf-md-smoking_pipe -󱐎 nf-md-axis_arrow_info -󱐏 nf-md-chat_plus -󱐐 nf-md-chat_minus -󱐑 nf-md-chat_remove -󱐒 nf-md-chat_plus_outline -󱐓 nf-md-chat_minus_outline -󱐔 nf-md-chat_remove_outline -󱐕 nf-md-bucket -󱐖 nf-md-bucket_outline -󱐗 nf-md-pail -󱐘 nf-md-image_remove -󱐙 nf-md-image_minus -󱐚 nf-md-pine_tree_fire -󱐛 nf-md-cigar_off -󱐜 nf-md-cube_off -󱐝 nf-md-cube_off_outline -󱐞 nf-md-dome_light -󱐟 nf-md-food_drumstick -󱐠 nf-md-food_drumstick_outline -󱐡 nf-md-incognito_circle -󱐢 nf-md-incognito_circle_off -󱐣 nf-md-microwave_off -󱐤 nf-md-power_plug_off_outline -󱐥 nf-md-power_plug_outline -󱐦 nf-md-puzzle_check -󱐧 nf-md-puzzle_check_outline -󱐨 nf-md-smoking_pipe_off -󱐩 nf-md-spoon_sugar -󱐪 nf-md-table_split_cell -󱐫 nf-md-ticket_percent_outline -󱐬 nf-md-fuse_off -󱐭 nf-md-fuse_alert -󱐮 nf-md-heart_plus -󱐯 nf-md-heart_minus -󱐰 nf-md-heart_remove -󱐱 nf-md-heart_plus_outline -󱐲 nf-md-heart_minus_outline -󱐳 nf-md-heart_remove_outline -󱐴 nf-md-heart_off_outline -󱐵 nf-md-motion_sensor_off -󱐶 nf-md-pail_plus -󱐷 nf-md-pail_minus -󱐸 nf-md-pail_remove -󱐹 nf-md-pail_off -󱐺 nf-md-pail_outline -󱐻 nf-md-pail_plus_outline -󱐼 nf-md-pail_minus_outline -󱐽 nf-md-pail_remove_outline -󱐾 nf-md-pail_off_outline -󱐿 nf-md-clock_time_one -󱑀 nf-md-clock_time_two -󱑁 nf-md-clock_time_three -󱑂 nf-md-clock_time_four -󱑃 nf-md-clock_time_five -󱑄 nf-md-clock_time_six -󱑅 nf-md-clock_time_seven -󱑆 nf-md-clock_time_eight -󱑇 nf-md-clock_time_nine -󱑈 nf-md-clock_time_ten -󱑉 nf-md-clock_time_eleven -󱑊 nf-md-clock_time_twelve -󱑋 nf-md-clock_time_one_outline -󱑌 nf-md-clock_time_two_outline -󱑍 nf-md-clock_time_three_outline -󱑎 nf-md-clock_time_four_outline -󱑏 nf-md-clock_time_five_outline -󱑐 nf-md-clock_time_six_outline -󱑑 nf-md-clock_time_seven_outline -󱑒 nf-md-clock_time_eight_outline -󱑓 nf-md-clock_time_nine_outline -󱑔 nf-md-clock_time_ten_outline -󱑕 nf-md-clock_time_eleven_outline -󱑖 nf-md-clock_time_twelve_outline -󱑗 nf-md-printer_search -󱑘 nf-md-printer_eye -󱑙 nf-md-minus_circle_off -󱑚 nf-md-minus_circle_off_outline -󱑛 nf-md-content_save_cog -󱑜 nf-md-content_save_cog_outline -󱑝 nf-md-set_square -󱑞 nf-md-cog_refresh -󱑟 nf-md-cog_refresh_outline -󱑠 nf-md-cog_sync -󱑡 nf-md-cog_sync_outline -󱑢 nf-md-download_box -󱑣 nf-md-download_box_outline -󱑤 nf-md-download_circle -󱑥 nf-md-download_circle_outline -󱑦 nf-md-air_humidifier_off -󱑧 nf-md-chili_off -󱑨 nf-md-food_drumstick_off -󱑩 nf-md-food_drumstick_off_outline -󱑪 nf-md-food_steak -󱑫 nf-md-food_steak_off -󱑬 nf-md-fan_alert -󱑭 nf-md-fan_chevron_down -󱑮 nf-md-fan_chevron_up -󱑯 nf-md-fan_plus -󱑰 nf-md-fan_minus -󱑱 nf-md-fan_remove -󱑲 nf-md-fan_speed_1 -󱑳 nf-md-fan_speed_2 -󱑴 nf-md-fan_speed_3 -󱑵 nf-md-rug -󱑶 nf-md-lingerie -󱑷 nf-md-wizard_hat -󱑸 nf-md-hours_24 -󱑹 nf-md-cosine_wave -󱑺 nf-md-sawtooth_wave -󱑻 nf-md-square_wave -󱑼 nf-md-triangle_wave -󱑽 nf-md-waveform -󱑾 nf-md-folder_multiple_plus -󱑿 nf-md-folder_multiple_plus_outline -󱒀 nf-md-current_ac -󱒁 nf-md-watering_can -󱒂 nf-md-watering_can_outline -󱒃 nf-md-monitor_share -󱒄 nf-md-laser_pointer -󱒅 nf-md-view_array_outline -󱒆 nf-md-view_carousel_outline -󱒇 nf-md-view_column_outline -󱒈 nf-md-view_comfy_outline -󱒉 nf-md-view_dashboard_variant_outline -󱒊 nf-md-view_day_outline -󱒋 nf-md-view_list_outline -󱒌 nf-md-view_module_outline -󱒍 nf-md-view_parallel_outline -󱒎 nf-md-view_quilt_outline -󱒏 nf-md-view_sequential_outline -󱒐 nf-md-view_stream_outline -󱒑 nf-md-view_week_outline -󱒒 nf-md-compare_horizontal -󱒓 nf-md-compare_vertical -󱒔 nf-md-briefcase_variant -󱒕 nf-md-briefcase_variant_outline -󱒖 nf-md-relation_many_to_many -󱒗 nf-md-relation_many_to_one -󱒘 nf-md-relation_many_to_one_or_many -󱒙 nf-md-relation_many_to_only_one -󱒚 nf-md-relation_many_to_zero_or_many -󱒛 nf-md-relation_many_to_zero_or_one -󱒜 nf-md-relation_one_or_many_to_many -󱒝 nf-md-relation_one_or_many_to_one -󱒞 nf-md-relation_one_or_many_to_one_or_many -󱒟 nf-md-relation_one_or_many_to_only_one -󱒠 nf-md-relation_one_or_many_to_zero_or_many -󱒡 nf-md-relation_one_or_many_to_zero_or_one -󱒢 nf-md-relation_one_to_many -󱒣 nf-md-relation_one_to_one -󱒤 nf-md-relation_one_to_one_or_many -󱒥 nf-md-relation_one_to_only_one -󱒦 nf-md-relation_one_to_zero_or_many -󱒧 nf-md-relation_one_to_zero_or_one -󱒨 nf-md-relation_only_one_to_many -󱒩 nf-md-relation_only_one_to_one -󱒪 nf-md-relation_only_one_to_one_or_many -󱒫 nf-md-relation_only_one_to_only_one -󱒬 nf-md-relation_only_one_to_zero_or_many -󱒭 nf-md-relation_only_one_to_zero_or_one -󱒮 nf-md-relation_zero_or_many_to_many -󱒯 nf-md-relation_zero_or_many_to_one -󱒰 nf-md-relation_zero_or_many_to_one_or_many -󱒱 nf-md-relation_zero_or_many_to_only_one -󱒲 nf-md-relation_zero_or_many_to_zero_or_many -󱒳 nf-md-relation_zero_or_many_to_zero_or_one -󱒴 nf-md-relation_zero_or_one_to_many -󱒵 nf-md-relation_zero_or_one_to_one -󱒶 nf-md-relation_zero_or_one_to_one_or_many -󱒷 nf-md-relation_zero_or_one_to_only_one -󱒸 nf-md-relation_zero_or_one_to_zero_or_many -󱒹 nf-md-relation_zero_or_one_to_zero_or_one -󱒺 nf-md-alert_plus -󱒻 nf-md-alert_minus -󱒼 nf-md-alert_remove -󱒽 nf-md-alert_plus_outline -󱒾 nf-md-alert_minus_outline -󱒿 nf-md-alert_remove_outline -󱓀 nf-md-carabiner -󱓁 nf-md-fencing -󱓂 nf-md-skateboard -󱓃 nf-md-polo -󱓄 nf-md-tractor_variant -󱓅 nf-md-radiology_box -󱓆 nf-md-radiology_box_outline -󱓇 nf-md-skull_scan -󱓈 nf-md-skull_scan_outline -󱓉 nf-md-plus_minus_variant -󱓊 nf-md-source_branch_plus -󱓋 nf-md-source_branch_minus -󱓌 nf-md-source_branch_remove -󱓍 nf-md-source_branch_refresh -󱓎 nf-md-source_branch_sync -󱓏 nf-md-source_branch_check -󱓐 nf-md-puzzle_plus -󱓑 nf-md-puzzle_minus -󱓒 nf-md-puzzle_remove -󱓓 nf-md-puzzle_edit -󱓔 nf-md-puzzle_heart -󱓕 nf-md-puzzle_star -󱓖 nf-md-puzzle_plus_outline -󱓗 nf-md-puzzle_minus_outline -󱓘 nf-md-puzzle_remove_outline -󱓙 nf-md-puzzle_edit_outline -󱓚 nf-md-puzzle_heart_outline -󱓛 nf-md-puzzle_star_outline -󱓜 nf-md-rhombus_medium_outline -󱓝 nf-md-rhombus_split_outline -󱓞 nf-md-rocket_launch -󱓟 nf-md-rocket_launch_outline -󱓠 nf-md-set_merge -󱓡 nf-md-set_split -󱓢 nf-md-beekeeper -󱓣 nf-md-snowflake_off -󱓤 nf-md-weather_sunny_off -󱓥 nf-md-clipboard_edit -󱓦 nf-md-clipboard_edit_outline -󱓧 nf-md-notebook_edit -󱓨 nf-md-human_edit -󱓩 nf-md-notebook_edit_outline -󱓪 nf-md-cash_lock -󱓫 nf-md-cash_lock_open -󱓬 nf-md-account_supervisor_circle_outline -󱓭 nf-md-car_outline -󱓮 nf-md-cash_check -󱓯 nf-md-filter_off -󱓰 nf-md-filter_off_outline -󱓱 nf-md-spirit_level -󱓲 nf-md-wheel_barrow -󱓳 nf-md-book_check -󱓴 nf-md-book_check_outline -󱓵 nf-md-notebook_check -󱓶 nf-md-notebook_check_outline -󱓷 nf-md-book_open_variant -󱓸 nf-md-sign_pole -󱓹 nf-md-shore -󱓺 nf-md-shape_square_rounded_plus -󱓻 nf-md-square_rounded -󱓼 nf-md-square_rounded_outline -󱓽 nf-md-archive_alert -󱓾 nf-md-archive_alert_outline -󱓿 nf-md-power_socket_it -󱔀 nf-md-square_circle -󱔁 nf-md-symbol -󱔂 nf-md-water_alert -󱔃 nf-md-water_alert_outline -󱔄 nf-md-water_check -󱔅 nf-md-water_check_outline -󱔆 nf-md-water_minus -󱔇 nf-md-water_minus_outline -󱔈 nf-md-water_off_outline -󱔉 nf-md-water_percent_alert -󱔊 nf-md-water_plus -󱔋 nf-md-water_plus_outline -󱔌 nf-md-water_remove -󱔍 nf-md-water_remove_outline -󱔎 nf-md-snake -󱔏 nf-md-format_text_variant_outline -󱔐 nf-md-grass -󱔑 nf-md-access_point_off -󱔒 nf-md-currency_mnt -󱔓 nf-md-dock_top -󱔔 nf-md-share_variant_outline -󱔕 nf-md-transit_skip -󱔖 nf-md-yurt -󱔗 nf-md-file_document_multiple -󱔘 nf-md-file_document_multiple_outline -󱔙 nf-md-ev_plug_ccs1 -󱔚 nf-md-ev_plug_ccs2 -󱔛 nf-md-ev_plug_chademo -󱔜 nf-md-ev_plug_tesla -󱔝 nf-md-ev_plug_type1 -󱔞 nf-md-ev_plug_type2 -󱔟 nf-md-office_building_outline -󱔠 nf-md-office_building_marker -󱔡 nf-md-office_building_marker_outline -󱔢 nf-md-progress_question -󱔣 nf-md-basket_minus -󱔤 nf-md-basket_minus_outline -󱔥 nf-md-basket_off -󱔦 nf-md-basket_off_outline -󱔧 nf-md-basket_plus -󱔨 nf-md-basket_plus_outline -󱔩 nf-md-basket_remove -󱔪 nf-md-basket_remove_outline -󱔫 nf-md-account_reactivate -󱔬 nf-md-account_reactivate_outline -󱔭 nf-md-car_lifted_pickup -󱔮 nf-md-video_high_definition -󱔯 nf-md-phone_remove -󱔰 nf-md-phone_remove_outline -󱔱 nf-md-thermometer_off -󱔲 nf-md-timeline_check -󱔳 nf-md-timeline_check_outline -󱔴 nf-md-timeline_minus -󱔵 nf-md-timeline_minus_outline -󱔶 nf-md-timeline_remove -󱔷 nf-md-timeline_remove_outline -󱔸 nf-md-access_point_check -󱔹 nf-md-access_point_minus -󱔺 nf-md-access_point_plus -󱔻 nf-md-access_point_remove -󱔼 nf-md-data_matrix -󱔽 nf-md-data_matrix_edit -󱔾 nf-md-data_matrix_minus -󱔿 nf-md-data_matrix_plus -󱕀 nf-md-data_matrix_remove -󱕁 nf-md-data_matrix_scan -󱕂 nf-md-tune_variant -󱕃 nf-md-tune_vertical_variant -󱕄 nf-md-rake -󱕅 nf-md-shimmer -󱕆 nf-md-transit_connection_horizontal -󱕇 nf-md-sort_calendar_ascending -󱕈 nf-md-sort_calendar_descending -󱕉 nf-md-sort_clock_ascending -󱕊 nf-md-sort_clock_ascending_outline -󱕋 nf-md-sort_clock_descending -󱕌 nf-md-sort_clock_descending_outline -󱕍 nf-md-chart_box -󱕎 nf-md-chart_box_outline -󱕏 nf-md-chart_box_plus_outline -󱕐 nf-md-mouse_move_down -󱕑 nf-md-mouse_move_up -󱕒 nf-md-mouse_move_vertical -󱕓 nf-md-pitchfork -󱕔 nf-md-vanish_quarter -󱕕 nf-md-application_settings_outline -󱕖 nf-md-delete_clock -󱕗 nf-md-delete_clock_outline -󱕘 nf-md-kangaroo -󱕙 nf-md-phone_dial -󱕚 nf-md-phone_dial_outline -󱕛 nf-md-star_off_outline -󱕜 nf-md-tooltip_check -󱕝 nf-md-tooltip_check_outline -󱕞 nf-md-tooltip_minus -󱕟 nf-md-tooltip_minus_outline -󱕠 nf-md-tooltip_remove -󱕡 nf-md-tooltip_remove_outline -󱕢 nf-md-pretzel -󱕣 nf-md-star_plus -󱕤 nf-md-star_minus -󱕥 nf-md-star_remove -󱕦 nf-md-star_check -󱕧 nf-md-star_plus_outline -󱕨 nf-md-star_minus_outline -󱕩 nf-md-star_remove_outline -󱕪 nf-md-star_check_outline -󱕫 nf-md-eiffel_tower -󱕬 nf-md-submarine -󱕭 nf-md-sofa_outline -󱕮 nf-md-sofa_single -󱕯 nf-md-sofa_single_outline -󱕰 nf-md-text_account -󱕱 nf-md-human_queue -󱕲 nf-md-food_halal -󱕳 nf-md-food_kosher -󱕴 nf-md-key_chain -󱕵 nf-md-key_chain_variant -󱕶 nf-md-lamps -󱕷 nf-md-application_cog_outline -󱕸 nf-md-dance_pole -󱕹 nf-md-social_distance_2_meters -󱕺 nf-md-social_distance_6_feet -󱕻 nf-md-calendar_cursor -󱕼 nf-md-emoticon_sick -󱕽 nf-md-emoticon_sick_outline -󱕾 nf-md-hand_heart_outline -󱕿 nf-md-hand_wash -󱖀 nf-md-hand_wash_outline -󱖁 nf-md-human_cane -󱖂 nf-md-lotion -󱖃 nf-md-lotion_outline -󱖄 nf-md-lotion_plus -󱖅 nf-md-lotion_plus_outline -󱖆 nf-md-face_mask -󱖇 nf-md-face_mask_outline -󱖈 nf-md-reiterate -󱖉 nf-md-butterfly -󱖊 nf-md-butterfly_outline -󱖋 nf-md-bag_suitcase -󱖌 nf-md-bag_suitcase_outline -󱖍 nf-md-bag_suitcase_off -󱖎 nf-md-bag_suitcase_off_outline -󱖏 nf-md-motion_play -󱖐 nf-md-motion_pause -󱖑 nf-md-motion_play_outline -󱖒 nf-md-motion_pause_outline -󱖓 nf-md-arrow_top_left_thin_circle_outline -󱖔 nf-md-arrow_top_right_thin_circle_outline -󱖕 nf-md-arrow_bottom_right_thin_circle_outline -󱖖 nf-md-arrow_bottom_left_thin_circle_outline -󱖗 nf-md-arrow_up_thin_circle_outline -󱖘 nf-md-arrow_right_thin_circle_outline -󱖙 nf-md-arrow_down_thin_circle_outline -󱖚 nf-md-arrow_left_thin_circle_outline -󱖛 nf-md-human_capacity_decrease -󱖜 nf-md-human_capacity_increase -󱖝 nf-md-human_greeting_proximity -󱖞 nf-md-hvac_off -󱖟 nf-md-inbox_remove -󱖠 nf-md-inbox_remove_outline -󱖡 nf-md-handshake_outline -󱖢 nf-md-ladder -󱖣 nf-md-router_wireless_off -󱖤 nf-md-seesaw -󱖥 nf-md-slide -󱖦 nf-md-calculator_variant_outline -󱖧 nf-md-shield_account_variant -󱖨 nf-md-shield_account_variant_outline -󱖩 nf-md-message_flash -󱖪 nf-md-message_flash_outline -󱖫 nf-md-list_status -󱖬 nf-md-message_bookmark -󱖭 nf-md-message_bookmark_outline -󱖮 nf-md-comment_bookmark -󱖯 nf-md-comment_bookmark_outline -󱖰 nf-md-comment_flash -󱖱 nf-md-comment_flash_outline -󱖲 nf-md-motion -󱖳 nf-md-motion_outline -󱖴 nf-md-bicycle_electric -󱖵 nf-md-car_electric_outline -󱖶 nf-md-chart_timeline_variant_shimmer -󱖷 nf-md-moped_electric -󱖸 nf-md-moped_electric_outline -󱖹 nf-md-moped_outline -󱖺 nf-md-motorbike_electric -󱖻 nf-md-rickshaw -󱖼 nf-md-rickshaw_electric -󱖽 nf-md-scooter -󱖾 nf-md-scooter_electric -󱖿 nf-md-horse -󱗀 nf-md-horse_human -󱗁 nf-md-horse_variant -󱗂 nf-md-unicorn -󱗃 nf-md-unicorn_variant -󱗄 nf-md-alarm_panel -󱗅 nf-md-alarm_panel_outline -󱗆 nf-md-bird -󱗇 nf-md-shoe_cleat -󱗈 nf-md-shoe_sneaker -󱗉 nf-md-human_female_dance -󱗊 nf-md-shoe_ballet -󱗋 nf-md-numeric_positive_1 -󱗌 nf-md-face_man_shimmer -󱗍 nf-md-face_man_shimmer_outline -󱗎 nf-md-face_woman_shimmer -󱗏 nf-md-face_woman_shimmer_outline -󱗐 nf-md-home_alert_outline -󱗑 nf-md-lock_alert_outline -󱗒 nf-md-lock_open_alert_outline -󱗓 nf-md-sim_alert_outline -󱗔 nf-md-sim_off_outline -󱗕 nf-md-sim_outline -󱗖 nf-md-book_open_page_variant_outline -󱗗 nf-md-fire_alert -󱗘 nf-md-ray_start_vertex_end -󱗙 nf-md-camera_flip -󱗚 nf-md-camera_flip_outline -󱗛 nf-md-orbit_variant -󱗜 nf-md-circle_box -󱗝 nf-md-circle_box_outline -󱗞 nf-md-mustache -󱗟 nf-md-comment_minus -󱗠 nf-md-comment_minus_outline -󱗡 nf-md-comment_off -󱗢 nf-md-comment_off_outline -󱗣 nf-md-eye_remove -󱗤 nf-md-eye_remove_outline -󱗥 nf-md-unicycle -󱗦 nf-md-glass_cocktail_off -󱗧 nf-md-glass_mug_off -󱗨 nf-md-glass_mug_variant_off -󱗩 nf-md-bicycle_penny_farthing -󱗪 nf-md-cart_check -󱗫 nf-md-cart_variant -󱗬 nf-md-baseball_diamond -󱗭 nf-md-baseball_diamond_outline -󱗮 nf-md-fridge_industrial -󱗯 nf-md-fridge_industrial_alert -󱗰 nf-md-fridge_industrial_alert_outline -󱗱 nf-md-fridge_industrial_off -󱗲 nf-md-fridge_industrial_off_outline -󱗳 nf-md-fridge_industrial_outline -󱗴 nf-md-fridge_variant -󱗵 nf-md-fridge_variant_alert -󱗶 nf-md-fridge_variant_alert_outline -󱗷 nf-md-fridge_variant_off -󱗸 nf-md-fridge_variant_off_outline -󱗹 nf-md-fridge_variant_outline -󱗺 nf-md-windsock -󱗻 nf-md-dance_ballroom -󱗼 nf-md-dots_grid -󱗽 nf-md-dots_square -󱗾 nf-md-dots_triangle -󱗿 nf-md-dots_hexagon -󱘀 nf-md-card_minus -󱘁 nf-md-card_minus_outline -󱘂 nf-md-card_off -󱘃 nf-md-card_off_outline -󱘄 nf-md-card_remove -󱘅 nf-md-card_remove_outline -󱘆 nf-md-torch -󱘇 nf-md-navigation_outline -󱘈 nf-md-map_marker_star -󱘉 nf-md-map_marker_star_outline -󱘊 nf-md-manjaro -󱘋 nf-md-fast_forward_60 -󱘌 nf-md-rewind_60 -󱘍 nf-md-image_text -󱘎 nf-md-family_tree -󱘏 nf-md-car_emergency -󱘐 nf-md-notebook_minus -󱘑 nf-md-notebook_minus_outline -󱘒 nf-md-notebook_plus -󱘓 nf-md-notebook_plus_outline -󱘔 nf-md-notebook_remove -󱘕 nf-md-notebook_remove_outline -󱘖 nf-md-connection -󱘗 nf-md-language_rust -󱘘 nf-md-clipboard_minus -󱘙 nf-md-clipboard_minus_outline -󱘚 nf-md-clipboard_off -󱘛 nf-md-clipboard_off_outline -󱘜 nf-md-clipboard_remove -󱘝 nf-md-clipboard_remove_outline -󱘞 nf-md-clipboard_search -󱘟 nf-md-clipboard_search_outline -󱘠 nf-md-clipboard_text_off -󱘡 nf-md-clipboard_text_off_outline -󱘢 nf-md-clipboard_text_search -󱘣 nf-md-clipboard_text_search_outline -󱘤 nf-md-database_alert_outline -󱘥 nf-md-database_arrow_down_outline -󱘦 nf-md-database_arrow_left_outline -󱘧 nf-md-database_arrow_right_outline -󱘨 nf-md-database_arrow_up_outline -󱘩 nf-md-database_check_outline -󱘪 nf-md-database_clock_outline -󱘫 nf-md-database_edit_outline -󱘬 nf-md-database_export_outline -󱘭 nf-md-database_import_outline -󱘮 nf-md-database_lock_outline -󱘯 nf-md-database_marker_outline -󱘰 nf-md-database_minus_outline -󱘱 nf-md-database_off_outline -󱘲 nf-md-database_outline -󱘳 nf-md-database_plus_outline -󱘴 nf-md-database_refresh_outline -󱘵 nf-md-database_remove_outline -󱘶 nf-md-database_search_outline -󱘷 nf-md-database_settings_outline -󱘸 nf-md-database_sync_outline -󱘹 nf-md-minus_thick -󱘺 nf-md-database_alert -󱘻 nf-md-database_arrow_down -󱘼 nf-md-database_arrow_left -󱘽 nf-md-database_arrow_right -󱘾 nf-md-database_arrow_up -󱘿 nf-md-database_clock -󱙀 nf-md-database_off -󱙁 nf-md-calendar_lock -󱙂 nf-md-calendar_lock_outline -󱙃 nf-md-content_save_off -󱙄 nf-md-content_save_off_outline -󱙅 nf-md-credit_card_refresh -󱙆 nf-md-credit_card_refresh_outline -󱙇 nf-md-credit_card_search -󱙈 nf-md-credit_card_search_outline -󱙉 nf-md-credit_card_sync -󱙊 nf-md-credit_card_sync_outline -󱙋 nf-md-database_cog -󱙌 nf-md-database_cog_outline -󱙍 nf-md-message_off -󱙎 nf-md-message_off_outline -󱙏 nf-md-note_minus -󱙐 nf-md-note_minus_outline -󱙑 nf-md-note_remove -󱙒 nf-md-note_remove_outline -󱙓 nf-md-note_search -󱙔 nf-md-note_search_outline -󱙕 nf-md-bank_check -󱙖 nf-md-bank_off -󱙗 nf-md-bank_off_outline -󱙘 nf-md-briefcase_off -󱙙 nf-md-briefcase_off_outline -󱙚 nf-md-briefcase_variant_off -󱙛 nf-md-briefcase_variant_off_outline -󱙜 nf-md-ghost_off_outline -󱙝 nf-md-ghost_outline -󱙞 nf-md-store_minus -󱙟 nf-md-store_plus -󱙠 nf-md-store_remove -󱙡 nf-md-email_remove -󱙢 nf-md-email_remove_outline -󱙣 nf-md-heart_cog -󱙤 nf-md-heart_cog_outline -󱙥 nf-md-heart_settings -󱙦 nf-md-heart_settings_outline -󱙧 nf-md-pentagram -󱙨 nf-md-star_cog -󱙩 nf-md-star_cog_outline -󱙪 nf-md-star_settings -󱙫 nf-md-star_settings_outline -󱙬 nf-md-calendar_end -󱙭 nf-md-calendar_start -󱙮 nf-md-cannabis_off -󱙯 nf-md-mower -󱙰 nf-md-mower_bag -󱙱 nf-md-lock_off -󱙲 nf-md-lock_off_outline -󱙳 nf-md-shark_fin -󱙴 nf-md-shark_fin_outline -󱙵 nf-md-paw_outline -󱙶 nf-md-paw_off_outline -󱙷 nf-md-snail -󱙸 nf-md-pig_variant_outline -󱙹 nf-md-piggy_bank_outline -󱙺 nf-md-robot_outline -󱙻 nf-md-robot_off_outline -󱙼 nf-md-book_alert -󱙽 nf-md-book_alert_outline -󱙾 nf-md-book_arrow_down -󱙿 nf-md-book_arrow_down_outline -󱚀 nf-md-book_arrow_left -󱚁 nf-md-book_arrow_left_outline -󱚂 nf-md-book_arrow_right -󱚃 nf-md-book_arrow_right_outline -󱚄 nf-md-book_arrow_up -󱚅 nf-md-book_arrow_up_outline -󱚆 nf-md-book_cancel -󱚇 nf-md-book_cancel_outline -󱚈 nf-md-book_clock -󱚉 nf-md-book_clock_outline -󱚊 nf-md-book_cog -󱚋 nf-md-book_cog_outline -󱚌 nf-md-book_edit -󱚍 nf-md-book_edit_outline -󱚎 nf-md-book_lock_open_outline -󱚏 nf-md-book_lock_outline -󱚐 nf-md-book_marker -󱚑 nf-md-book_marker_outline -󱚒 nf-md-book_minus_outline -󱚓 nf-md-book_music_outline -󱚔 nf-md-book_off -󱚕 nf-md-book_off_outline -󱚖 nf-md-book_plus_outline -󱚗 nf-md-book_refresh -󱚘 nf-md-book_refresh_outline -󱚙 nf-md-book_remove_outline -󱚚 nf-md-book_settings -󱚛 nf-md-book_settings_outline -󱚜 nf-md-book_sync -󱚝 nf-md-robot_angry -󱚞 nf-md-robot_angry_outline -󱚟 nf-md-robot_confused -󱚠 nf-md-robot_confused_outline -󱚡 nf-md-robot_dead -󱚢 nf-md-robot_dead_outline -󱚣 nf-md-robot_excited -󱚤 nf-md-robot_excited_outline -󱚥 nf-md-robot_love -󱚦 nf-md-robot_love_outline -󱚧 nf-md-robot_off -󱚨 nf-md-lock_check_outline -󱚩 nf-md-lock_minus -󱚪 nf-md-lock_minus_outline -󱚫 nf-md-lock_open_check_outline -󱚬 nf-md-lock_open_minus -󱚭 nf-md-lock_open_minus_outline -󱚮 nf-md-lock_open_plus -󱚯 nf-md-lock_open_plus_outline -󱚰 nf-md-lock_open_remove -󱚱 nf-md-lock_open_remove_outline -󱚲 nf-md-lock_plus_outline -󱚳 nf-md-lock_remove -󱚴 nf-md-lock_remove_outline -󱚵 nf-md-wifi_alert -󱚶 nf-md-wifi_arrow_down -󱚷 nf-md-wifi_arrow_left -󱚸 nf-md-wifi_arrow_left_right -󱚹 nf-md-wifi_arrow_right -󱚺 nf-md-wifi_arrow_up -󱚻 nf-md-wifi_arrow_up_down -󱚼 nf-md-wifi_cancel -󱚽 nf-md-wifi_check -󱚾 nf-md-wifi_cog -󱚿 nf-md-wifi_lock -󱛀 nf-md-wifi_lock_open -󱛁 nf-md-wifi_marker -󱛂 nf-md-wifi_minus -󱛃 nf-md-wifi_plus -󱛄 nf-md-wifi_refresh -󱛅 nf-md-wifi_remove -󱛆 nf-md-wifi_settings -󱛇 nf-md-wifi_sync -󱛈 nf-md-book_sync_outline -󱛉 nf-md-book_education -󱛊 nf-md-book_education_outline -󱛋 nf-md-wifi_strength_1_lock_open -󱛌 nf-md-wifi_strength_2_lock_open -󱛍 nf-md-wifi_strength_3_lock_open -󱛎 nf-md-wifi_strength_4_lock_open -󱛏 nf-md-wifi_strength_lock_open_outline -󱛐 nf-md-cookie_alert -󱛑 nf-md-cookie_alert_outline -󱛒 nf-md-cookie_check -󱛓 nf-md-cookie_check_outline -󱛔 nf-md-cookie_cog -󱛕 nf-md-cookie_cog_outline -󱛖 nf-md-cookie_plus -󱛗 nf-md-cookie_plus_outline -󱛘 nf-md-cookie_remove -󱛙 nf-md-cookie_remove_outline -󱛚 nf-md-cookie_minus -󱛛 nf-md-cookie_minus_outline -󱛜 nf-md-cookie_settings -󱛝 nf-md-cookie_settings_outline -󱛞 nf-md-cookie_outline -󱛟 nf-md-tape_drive -󱛠 nf-md-abacus -󱛡 nf-md-calendar_clock_outline -󱛢 nf-md-clipboard_clock -󱛣 nf-md-clipboard_clock_outline -󱛤 nf-md-cookie_clock -󱛥 nf-md-cookie_clock_outline -󱛦 nf-md-cookie_edit -󱛧 nf-md-cookie_edit_outline -󱛨 nf-md-cookie_lock -󱛩 nf-md-cookie_lock_outline -󱛪 nf-md-cookie_off -󱛫 nf-md-cookie_off_outline -󱛬 nf-md-cookie_refresh -󱛭 nf-md-cookie_refresh_outline -󱛮 nf-md-dog_side_off -󱛯 nf-md-gift_off -󱛰 nf-md-gift_off_outline -󱛱 nf-md-gift_open -󱛲 nf-md-gift_open_outline -󱛳 nf-md-movie_check -󱛴 nf-md-movie_check_outline -󱛵 nf-md-movie_cog -󱛶 nf-md-movie_cog_outline -󱛷 nf-md-movie_minus -󱛸 nf-md-movie_minus_outline -󱛹 nf-md-movie_off -󱛺 nf-md-movie_off_outline -󱛻 nf-md-movie_open_check -󱛼 nf-md-movie_open_check_outline -󱛽 nf-md-movie_open_cog -󱛾 nf-md-movie_open_cog_outline -󱛿 nf-md-movie_open_edit -󱜀 nf-md-movie_open_edit_outline -󱜁 nf-md-movie_open_minus -󱜂 nf-md-movie_open_minus_outline -󱜃 nf-md-movie_open_off -󱜄 nf-md-movie_open_off_outline -󱜅 nf-md-movie_open_play -󱜆 nf-md-movie_open_play_outline -󱜇 nf-md-movie_open_plus -󱜈 nf-md-movie_open_plus_outline -󱜉 nf-md-movie_open_remove -󱜊 nf-md-movie_open_remove_outline -󱜋 nf-md-movie_open_settings -󱜌 nf-md-movie_open_settings_outline -󱜍 nf-md-movie_open_star -󱜎 nf-md-movie_open_star_outline -󱜏 nf-md-movie_play -󱜐 nf-md-movie_play_outline -󱜑 nf-md-movie_plus -󱜒 nf-md-movie_plus_outline -󱜓 nf-md-movie_remove -󱜔 nf-md-movie_remove_outline -󱜕 nf-md-movie_settings -󱜖 nf-md-movie_settings_outline -󱜗 nf-md-movie_star -󱜘 nf-md-movie_star_outline -󱜙 nf-md-robot_happy -󱜚 nf-md-robot_happy_outline -󱜛 nf-md-turkey -󱜜 nf-md-food_turkey -󱜝 nf-md-fan_auto -󱜞 nf-md-alarm_light_off -󱜟 nf-md-alarm_light_off_outline -󱜠 nf-md-broadcast -󱜡 nf-md-broadcast_off -󱜢 nf-md-fire_off -󱜣 nf-md-firework_off -󱜤 nf-md-projector_screen_outline -󱜥 nf-md-script_text_key -󱜦 nf-md-script_text_key_outline -󱜧 nf-md-script_text_play -󱜨 nf-md-script_text_play_outline -󱜩 nf-md-surround_sound_2_1 -󱜪 nf-md-surround_sound_5_1_2 -󱜫 nf-md-tag_arrow_down -󱜬 nf-md-tag_arrow_down_outline -󱜭 nf-md-tag_arrow_left -󱜮 nf-md-tag_arrow_left_outline -󱜯 nf-md-tag_arrow_right -󱜰 nf-md-tag_arrow_right_outline -󱜱 nf-md-tag_arrow_up -󱜲 nf-md-tag_arrow_up_outline -󱜳 nf-md-train_car_passenger -󱜴 nf-md-train_car_passenger_door -󱜵 nf-md-train_car_passenger_door_open -󱜶 nf-md-train_car_passenger_variant -󱜷 nf-md-webcam_off -󱜸 nf-md-chat_question -󱜹 nf-md-chat_question_outline -󱜺 nf-md-message_question -󱜻 nf-md-message_question_outline -󱜼 nf-md-kettle_pour_over -󱜽 nf-md-message_reply_outline -󱜾 nf-md-message_reply_text_outline -󱜿 nf-md-koala -󱝀 nf-md-check_decagram_outline -󱝁 nf-md-star_shooting -󱝂 nf-md-star_shooting_outline -󱝃 nf-md-table_picnic -󱝄 nf-md-kitesurfing -󱝅 nf-md-paragliding -󱝆 nf-md-surfing -󱝇 nf-md-floor_lamp_torchiere -󱝈 nf-md-mortar_pestle -󱝉 nf-md-cast_audio_variant -󱝊 nf-md-gradient_horizontal -󱝋 nf-md-archive_cancel -󱝌 nf-md-archive_cancel_outline -󱝍 nf-md-archive_check -󱝎 nf-md-archive_check_outline -󱝏 nf-md-archive_clock -󱝐 nf-md-archive_clock_outline -󱝑 nf-md-archive_cog -󱝒 nf-md-archive_cog_outline -󱝓 nf-md-archive_edit -󱝔 nf-md-archive_edit_outline -󱝕 nf-md-archive_eye -󱝖 nf-md-archive_eye_outline -󱝗 nf-md-archive_lock -󱝘 nf-md-archive_lock_open -󱝙 nf-md-archive_lock_open_outline -󱝚 nf-md-archive_lock_outline -󱝛 nf-md-archive_marker -󱝜 nf-md-archive_marker_outline -󱝝 nf-md-archive_minus -󱝞 nf-md-archive_minus_outline -󱝟 nf-md-archive_music -󱝠 nf-md-archive_music_outline -󱝡 nf-md-archive_off -󱝢 nf-md-archive_off_outline -󱝣 nf-md-archive_plus -󱝤 nf-md-archive_plus_outline -󱝥 nf-md-archive_refresh -󱝦 nf-md-archive_refresh_outline -󱝧 nf-md-archive_remove -󱝨 nf-md-archive_remove_outline -󱝩 nf-md-archive_search -󱝪 nf-md-archive_search_outline -󱝫 nf-md-archive_settings -󱝬 nf-md-archive_settings_outline -󱝭 nf-md-archive_star -󱝮 nf-md-archive_star_outline -󱝯 nf-md-archive_sync -󱝰 nf-md-archive_sync_outline -󱝱 nf-md-brush_off -󱝲 nf-md-file_image_marker -󱝳 nf-md-file_image_marker_outline -󱝴 nf-md-file_marker -󱝵 nf-md-file_marker_outline -󱝶 nf-md-hamburger_check -󱝷 nf-md-hamburger_minus -󱝸 nf-md-hamburger_off -󱝹 nf-md-hamburger_plus -󱝺 nf-md-hamburger_remove -󱝻 nf-md-image_marker -󱝼 nf-md-image_marker_outline -󱝽 nf-md-note_alert -󱝾 nf-md-note_alert_outline -󱝿 nf-md-note_check -󱞀 nf-md-note_check_outline -󱞁 nf-md-note_edit -󱞂 nf-md-note_edit_outline -󱞃 nf-md-note_off -󱞄 nf-md-note_off_outline -󱞅 nf-md-printer_off_outline -󱞆 nf-md-printer_outline -󱞇 nf-md-progress_pencil -󱞈 nf-md-progress_star -󱞉 nf-md-sausage_off -󱞊 nf-md-folder_eye -󱞋 nf-md-folder_eye_outline -󱞌 nf-md-information_off -󱞍 nf-md-information_off_outline -󱞎 nf-md-sticker_text -󱞏 nf-md-sticker_text_outline -󱞐 nf-md-web_cancel -󱞑 nf-md-web_refresh -󱞒 nf-md-web_sync -󱞓 nf-md-chandelier -󱞔 nf-md-home_switch -󱞕 nf-md-home_switch_outline -󱞖 nf-md-sun_snowflake -󱞗 nf-md-ceiling_fan -󱞘 nf-md-ceiling_fan_light -󱞙 nf-md-smoke -󱞚 nf-md-fence -󱞛 nf-md-light_recessed -󱞜 nf-md-battery_lock -󱞝 nf-md-battery_lock_open -󱞞 nf-md-folder_hidden -󱞟 nf-md-mirror_rectangle -󱞠 nf-md-mirror_variant -󱞡 nf-md-arrow_down_left -󱞢 nf-md-arrow_down_left_bold -󱞣 nf-md-arrow_down_right -󱞤 nf-md-arrow_down_right_bold -󱞥 nf-md-arrow_left_bottom -󱞦 nf-md-arrow_left_bottom_bold -󱞧 nf-md-arrow_left_top -󱞨 nf-md-arrow_left_top_bold -󱞩 nf-md-arrow_right_bottom -󱞪 nf-md-arrow_right_bottom_bold -󱞫 nf-md-arrow_right_top -󱞬 nf-md-arrow_right_top_bold -󱞭 nf-md-arrow_u_down_left -󱞮 nf-md-arrow_u_down_left_bold -󱞯 nf-md-arrow_u_down_right -󱞰 nf-md-arrow_u_down_right_bold -󱞱 nf-md-arrow_u_left_bottom -󱞲 nf-md-arrow_u_left_bottom_bold -󱞳 nf-md-arrow_u_left_top -󱞴 nf-md-arrow_u_left_top_bold -󱞵 nf-md-arrow_u_right_bottom -󱞶 nf-md-arrow_u_right_bottom_bold -󱞷 nf-md-arrow_u_right_top -󱞸 nf-md-arrow_u_right_top_bold -󱞹 nf-md-arrow_u_up_left -󱞺 nf-md-arrow_u_up_left_bold -󱞻 nf-md-arrow_u_up_right -󱞼 nf-md-arrow_u_up_right_bold -󱞽 nf-md-arrow_up_left -󱞾 nf-md-arrow_up_left_bold -󱞿 nf-md-arrow_up_right -󱟀 nf-md-arrow_up_right_bold -󱟁 nf-md-select_remove -󱟂 nf-md-selection_ellipse_remove -󱟃 nf-md-selection_remove -󱟄 nf-md-human_greeting -󱟅 nf-md-ph -󱟆 nf-md-water_sync -󱟇 nf-md-ceiling_light_outline -󱟈 nf-md-floor_lamp_outline -󱟉 nf-md-wall_sconce_flat_outline -󱟊 nf-md-wall_sconce_flat_variant_outline -󱟋 nf-md-wall_sconce_outline -󱟌 nf-md-wall_sconce_round_outline -󱟍 nf-md-wall_sconce_round_variant_outline -󱟎 nf-md-floor_lamp_dual_outline -󱟏 nf-md-floor_lamp_torchiere_variant_outline -󱟐 nf-md-lamp_outline -󱟑 nf-md-lamps_outline -󱟒 nf-md-candelabra -󱟓 nf-md-candelabra_fire -󱟔 nf-md-menorah -󱟕 nf-md-menorah_fire -󱟖 nf-md-floor_lamp_torchiere_outline -󱟗 nf-md-credit_card_edit -󱟘 nf-md-credit_card_edit_outline -󱟙 nf-md-briefcase_eye -󱟚 nf-md-briefcase_eye_outline -󱟛 nf-md-soundbar -󱟜 nf-md-crown_circle -󱟝 nf-md-crown_circle_outline -󱟞 nf-md-battery_arrow_down -󱟟 nf-md-battery_arrow_down_outline -󱟠 nf-md-battery_arrow_up -󱟡 nf-md-battery_arrow_up_outline -󱟢 nf-md-battery_check -󱟣 nf-md-battery_check_outline -󱟤 nf-md-battery_minus -󱟥 nf-md-battery_minus_outline -󱟦 nf-md-battery_plus -󱟧 nf-md-battery_plus_outline -󱟨 nf-md-battery_remove -󱟩 nf-md-battery_remove_outline -󱟪 nf-md-chili_alert -󱟫 nf-md-chili_alert_outline -󱟬 nf-md-chili_hot_outline -󱟭 nf-md-chili_medium_outline -󱟮 nf-md-chili_mild_outline -󱟯 nf-md-chili_off_outline -󱟰 nf-md-cake_variant_outline -󱟱 nf-md-card_multiple -󱟲 nf-md-card_multiple_outline -󱟳 nf-md-account_cowboy_hat_outline -󱟴 nf-md-lightbulb_spot -󱟵 nf-md-lightbulb_spot_off -󱟶 nf-md-fence_electric -󱟷 nf-md-gate_arrow_left -󱟸 nf-md-gate_alert -󱟹 nf-md-boom_gate_up -󱟺 nf-md-boom_gate_up_outline -󱟻 nf-md-garage_lock -󱟼 nf-md-garage_variant_lock -󱟽 nf-md-cellphone_check -󱟾 nf-md-sun_wireless -󱟿 nf-md-sun_wireless_outline -󱠀 nf-md-lightbulb_auto -󱠁 nf-md-lightbulb_auto_outline -󱠂 nf-md-lightbulb_variant -󱠃 nf-md-lightbulb_variant_outline -󱠄 nf-md-lightbulb_fluorescent_tube -󱠅 nf-md-lightbulb_fluorescent_tube_outline -󱠆 nf-md-water_circle -󱠇 nf-md-fire_circle -󱠈 nf-md-smoke_detector_outline -󱠉 nf-md-smoke_detector_off -󱠊 nf-md-smoke_detector_off_outline -󱠋 nf-md-smoke_detector_variant -󱠌 nf-md-smoke_detector_variant_off -󱠍 nf-md-projector_screen_off -󱠎 nf-md-projector_screen_off_outline -󱠏 nf-md-projector_screen_variant -󱠐 nf-md-projector_screen_variant_off -󱠑 nf-md-projector_screen_variant_off_outline -󱠒 nf-md-projector_screen_variant_outline -󱠓 nf-md-brush_variant -󱠔 nf-md-car_wrench -󱠕 nf-md-account_injury -󱠖 nf-md-account_injury_outline -󱠗 nf-md-balcony -󱠘 nf-md-bathtub -󱠙 nf-md-bathtub_outline -󱠚 nf-md-blender_outline -󱠛 nf-md-coffee_maker_outline -󱠜 nf-md-countertop -󱠝 nf-md-countertop_outline -󱠞 nf-md-door_sliding -󱠟 nf-md-door_sliding_lock -󱠠 nf-md-door_sliding_open -󱠡 nf-md-hand_wave -󱠢 nf-md-hand_wave_outline -󱠣 nf-md-human_male_female_child -󱠤 nf-md-iron -󱠥 nf-md-iron_outline -󱠦 nf-md-liquid_spot -󱠧 nf-md-mosque -󱠨 nf-md-shield_moon -󱠩 nf-md-shield_moon_outline -󱠪 nf-md-traffic_light_outline -󱠫 nf-md-hand_front_left -󱠬 nf-md-hand_back_left_outline -󱠭 nf-md-hand_back_right_outline -󱠮 nf-md-hand_front_left_outline -󱠯 nf-md-hand_front_right_outline -󱠰 nf-md-hand_back_left_off -󱠱 nf-md-hand_back_right_off -󱠲 nf-md-hand_back_left_off_outline -󱠳 nf-md-hand_back_right_off_outline -󱠴 nf-md-battery_sync -󱠵 nf-md-battery_sync_outline -󱠶 nf-md-food_takeout_box -󱠷 nf-md-food_takeout_box_outline -󱠸 nf-md-iron_board -󱠹 nf-md-police_station -󱠺 nf-md-cellphone_marker -󱠻 nf-md-tooltip_cellphone -󱠼 nf-md-table_pivot -󱠽 nf-md-tunnel -󱠾 nf-md-tunnel_outline -󱠿 nf-md-arrow_projectile_multiple -󱡀 nf-md-arrow_projectile -󱡁 nf-md-bow_arrow -󱡂 nf-md-axe_battle -󱡃 nf-md-mace -󱡄 nf-md-magic_staff -󱡅 nf-md-spear -󱡆 nf-md-curtains -󱡇 nf-md-curtains_closed -󱡈 nf-md-human_non_binary -󱡉 nf-md-waterfall -󱡊 nf-md-egg_fried -󱡋 nf-md-food_hot_dog -󱡌 nf-md-induction -󱡍 nf-md-pipe_valve -󱡎 nf-md-shipping_pallet -󱡏 nf-md-earbuds -󱡐 nf-md-earbuds_off -󱡑 nf-md-earbuds_off_outline -󱡒 nf-md-earbuds_outline -󱡓 nf-md-circle_opacity -󱡔 nf-md-square_opacity -󱡕 nf-md-water_opacity -󱡖 nf-md-vector_polygon_variant -󱡗 nf-md-vector_square_close -󱡘 nf-md-vector_square_open -󱡙 nf-md-waves_arrow_left -󱡚 nf-md-waves_arrow_right -󱡛 nf-md-waves_arrow_up -󱡜 nf-md-cash_fast -󱡝 nf-md-radioactive_circle -󱡞 nf-md-radioactive_circle_outline -󱡟 nf-md-cctv_off -󱡠 nf-md-format_list_group -󱡡 nf-md-clock_plus -󱡢 nf-md-clock_plus_outline -󱡣 nf-md-clock_minus -󱡤 nf-md-clock_minus_outline -󱡥 nf-md-clock_remove -󱡦 nf-md-clock_remove_outline -󱡧 nf-md-account_arrow_up -󱡨 nf-md-account_arrow_down -󱡩 nf-md-account_arrow_down_outline -󱡪 nf-md-account_arrow_up_outline -󱡫 nf-md-audio_input_rca -󱡬 nf-md-audio_input_stereo_minijack -󱡭 nf-md-audio_input_xlr -󱡮 nf-md-horse_variant_fast -󱡯 nf-md-email_fast -󱡰 nf-md-email_fast_outline -󱡱 nf-md-camera_document -󱡲 nf-md-camera_document_off -󱡳 nf-md-glass_fragile -󱡴 nf-md-magnify_expand -󱡵 nf-md-town_hall -󱡶 nf-md-monitor_small -󱡷 nf-md-diversify -󱡸 nf-md-car_wireless -󱡹 nf-md-car_select -󱡺 nf-md-airplane_alert -󱡻 nf-md-airplane_check -󱡼 nf-md-airplane_clock -󱡽 nf-md-airplane_cog -󱡾 nf-md-airplane_edit -󱡿 nf-md-airplane_marker -󱢀 nf-md-airplane_minus -󱢁 nf-md-airplane_plus -󱢂 nf-md-airplane_remove -󱢃 nf-md-airplane_search -󱢄 nf-md-airplane_settings -󱢅 nf-md-flower_pollen -󱢆 nf-md-flower_pollen_outline -󱢇 nf-md-hammer_sickle -󱢈 nf-md-view_gallery -󱢉 nf-md-view_gallery_outline -󱢊 nf-md-umbrella_beach -󱢋 nf-md-umbrella_beach_outline -󱢌 nf-md-cabin_a_frame -󱢍 nf-md-all_inclusive_box -󱢎 nf-md-all_inclusive_box_outline -󱢏 nf-md-hand_coin -󱢐 nf-md-hand_coin_outline -󱢑 nf-md-truck_flatbed -󱢒 nf-md-layers_edit -󱢓 nf-md-multicast -󱢔 nf-md-hydrogen_station -󱢕 nf-md-thermometer_bluetooth -󱢖 nf-md-tire -󱢗 nf-md-forest -󱢘 nf-md-account_tie_hat -󱢙 nf-md-account_tie_hat_outline -󱢚 nf-md-account_wrench -󱢛 nf-md-account_wrench_outline -󱢜 nf-md-bicycle_cargo -󱢝 nf-md-calendar_collapse_horizontal -󱢞 nf-md-calendar_expand_horizontal -󱢟 nf-md-cards_club_outline -󱢡 nf-md-cards_playing -󱢢 nf-md-cards_playing_club -󱢣 nf-md-cards_playing_club_multiple -󱢤 nf-md-cards_playing_club_multiple_outline -󱢥 nf-md-cards_playing_club_outline -󱢦 nf-md-cards_playing_diamond -󱢧 nf-md-cards_playing_diamond_multiple -󱢨 nf-md-cards_playing_diamond_multiple_outline -󱢩 nf-md-cards_playing_diamond_outline -󱢪 nf-md-cards_playing_heart -󱢫 nf-md-cards_playing_heart_multiple -󱢬 nf-md-cards_playing_heart_multiple_outline -󱢭 nf-md-cards_playing_heart_outline -󱢮 nf-md-cards_playing_spade -󱢯 nf-md-cards_playing_spade_multiple -󱢰 nf-md-cards_playing_spade_multiple_outline -󱢱 nf-md-cards_playing_spade_outline -󱢲 nf-md-cards_spade_outline -󱢳 nf-md-compare_remove -󱢴 nf-md-dolphin -󱢵 nf-md-fuel_cell -󱢶 nf-md-hand_extended -󱢷 nf-md-hand_extended_outline -󱢸 nf-md-printer_3d_nozzle_heat -󱢹 nf-md-printer_3d_nozzle_heat_outline -󱢺 nf-md-shark -󱢻 nf-md-shark_off -󱢼 nf-md-shield_crown -󱢽 nf-md-shield_crown_outline -󱢾 nf-md-shield_sword -󱢿 nf-md-shield_sword_outline -󱣀 nf-md-sickle -󱣁 nf-md-store_alert -󱣂 nf-md-store_alert_outline -󱣃 nf-md-store_check -󱣄 nf-md-store_check_outline -󱣅 nf-md-store_clock -󱣆 nf-md-store_clock_outline -󱣇 nf-md-store_cog -󱣈 nf-md-store_cog_outline -󱣉 nf-md-store_edit -󱣊 nf-md-store_edit_outline -󱣋 nf-md-store_marker -󱣌 nf-md-store_marker_outline -󱣍 nf-md-store_minus_outline -󱣎 nf-md-store_off -󱣏 nf-md-store_off_outline -󱣐 nf-md-store_plus_outline -󱣑 nf-md-store_remove_outline -󱣒 nf-md-store_search -󱣓 nf-md-store_search_outline -󱣔 nf-md-store_settings -󱣕 nf-md-store_settings_outline -󱣖 nf-md-sun_thermometer -󱣗 nf-md-sun_thermometer_outline -󱣘 nf-md-truck_cargo_container -󱣙 nf-md-vector_square_edit -󱣚 nf-md-vector_square_minus -󱣛 nf-md-vector_square_plus -󱣜 nf-md-vector_square_remove -󱣝 nf-md-ceiling_light_multiple -󱣞 nf-md-ceiling_light_multiple_outline -󱣟 nf-md-wiper_wash_alert -󱣠 nf-md-cart_heart -󱣡 nf-md-virus_off -󱣢 nf-md-virus_off_outline -󱣣 nf-md-map_marker_account -󱣤 nf-md-map_marker_account_outline -󱣥 nf-md-basket_check -󱣦 nf-md-basket_check_outline -󱣧 nf-md-credit_card_lock -󱣨 nf-md-credit_card_lock_outline -󱣩 nf-md-format_underline_wavy -󱣪 nf-md-content_save_check -󱣫 nf-md-content_save_check_outline -󱣬 nf-md-filter_check -󱣭 nf-md-filter_check_outline -󱣮 nf-md-flag_off -󱣯 nf-md-flag_off_outline -󱣱 nf-md-navigation_variant_outline -󱣲 nf-md-refresh_auto -󱣳 nf-md-tilde_off -󱣴 nf-md-fit_to_screen -󱣵 nf-md-fit_to_screen_outline -󱣶 nf-md-weather_cloudy_clock -󱣷 nf-md-smart_card_off -󱣸 nf-md-smart_card_off_outline -󱣹 nf-md-clipboard_text_clock -󱣺 nf-md-clipboard_text_clock_outline -󱣻 nf-md-teddy_bear -󱣼 nf-md-cow_off -󱣽 nf-md-eye_arrow_left -󱣾 nf-md-eye_arrow_left_outline -󱣿 nf-md-eye_arrow_right -󱤀 nf-md-eye_arrow_right_outline -󱤁 nf-md-home_battery -󱤂 nf-md-home_battery_outline -󱤃 nf-md-home_lightning_bolt -󱤄 nf-md-home_lightning_bolt_outline -󱤅 nf-md-leaf_circle -󱤆 nf-md-leaf_circle_outline -󱤇 nf-md-tag_search -󱤈 nf-md-tag_search_outline -󱤉 nf-md-car_brake_fluid_level -󱤊 nf-md-car_brake_low_pressure -󱤋 nf-md-car_brake_temperature -󱤌 nf-md-car_brake_worn_linings -󱤍 nf-md-car_light_alert -󱤎 nf-md-car_speed_limiter -󱤏 nf-md-credit_card_chip -󱤐 nf-md-credit_card_chip_outline -󱤑 nf-md-credit_card_fast -󱤒 nf-md-credit_card_fast_outline -󱤓 nf-md-integrated_circuit_chip -󱤔 nf-md-thumbs_up_down_outline -󱤕 nf-md-food_off_outline -󱤖 nf-md-food_outline -󱤗 nf-md-format_page_split -󱤘 nf-md-chart_waterfall -󱤙 nf-md-gamepad_outline -󱤚 nf-md-network_strength_4_cog -󱤛 nf-md-account_sync -󱤜 nf-md-account_sync_outline -󱤝 nf-md-bus_electric -󱤞 nf-md-liquor -󱤟 nf-md-database_eye -󱤠 nf-md-database_eye_off -󱤡 nf-md-database_eye_off_outline -󱤢 nf-md-database_eye_outline -󱤣 nf-md-timer_settings -󱤤 nf-md-timer_settings_outline -󱤥 nf-md-timer_cog -󱤦 nf-md-timer_cog_outline -󱤧 nf-md-checkbox_marked_circle_plus_outline -󱤨 nf-md-panorama_horizontal -󱤩 nf-md-panorama_vertical -󱤪 nf-md-advertisements -󱤫 nf-md-advertisements_off -󱤬 nf-md-transmission_tower_export -󱤭 nf-md-transmission_tower_import -󱤮 nf-md-smoke_detector_alert -󱤯 nf-md-smoke_detector_alert_outline -󱤰 nf-md-smoke_detector_variant_alert -󱤱 nf-md-coffee_maker_check -󱤲 nf-md-coffee_maker_check_outline -󱤳 nf-md-cog_pause -󱤴 nf-md-cog_pause_outline -󱤵 nf-md-cog_play -󱤶 nf-md-cog_play_outline -󱤷 nf-md-cog_stop -󱤸 nf-md-cog_stop_outline -󱤹 nf-md-copyleft -󱤺 nf-md-fast_forward_15 -󱤻 nf-md-file_image_minus -󱤼 nf-md-file_image_minus_outline -󱤽 nf-md-file_image_plus -󱤾 nf-md-file_image_plus_outline -󱤿 nf-md-file_image_remove -󱥀 nf-md-file_image_remove_outline -󱥁 nf-md-message_badge -󱥂 nf-md-message_badge_outline -󱥃 nf-md-newspaper_check -󱥄 nf-md-newspaper_remove -󱥅 nf-md-publish_off -󱥆 nf-md-rewind_15 -󱥇 nf-md-view_dashboard_edit -󱥈 nf-md-view_dashboard_edit_outline -󱥉 nf-md-office_building_cog -󱥊 nf-md-office_building_cog_outline -󱥋 nf-md-hand_clap -󱥌 nf-md-cone -󱥍 nf-md-cone_off -󱥎 nf-md-cylinder -󱥏 nf-md-cylinder_off -󱥐 nf-md-octahedron -󱥑 nf-md-octahedron_off -󱥒 nf-md-pyramid -󱥓 nf-md-pyramid_off -󱥔 nf-md-sphere -󱥕 nf-md-sphere_off -󱥖 nf-md-format_letter_spacing -󱥗 nf-md-french_fries -󱥘 nf-md-scent -󱥙 nf-md-scent_off -󱥚 nf-md-palette_swatch_variant -󱥛 nf-md-email_seal -󱥜 nf-md-email_seal_outline -󱥝 nf-md-stool -󱥞 nf-md-stool_outline -󱥟 nf-md-panorama_wide_angle -󱥠 nf-md-account_lock_open -󱥡 nf-md-account_lock_open_outline -󱥢 nf-md-align_horizontal_distribute -󱥣 nf-md-align_vertical_distribute -󱥤 nf-md-arrow_bottom_left_bold_box -󱥥 nf-md-arrow_bottom_left_bold_box_outline -󱥦 nf-md-arrow_bottom_right_bold_box -󱥧 nf-md-arrow_bottom_right_bold_box_outline -󱥨 nf-md-arrow_top_left_bold_box -󱥩 nf-md-arrow_top_left_bold_box_outline -󱥪 nf-md-arrow_top_right_bold_box -󱥫 nf-md-arrow_top_right_bold_box_outline -󱥬 nf-md-bookmark_box_multiple -󱥭 nf-md-bookmark_box_multiple_outline -󱥮 nf-md-bullhorn_variant -󱥯 nf-md-bullhorn_variant_outline -󱥰 nf-md-candy -󱥱 nf-md-candy_off -󱥲 nf-md-candy_off_outline -󱥳 nf-md-candy_outline -󱥴 nf-md-car_clock -󱥵 nf-md-crowd -󱥶 nf-md-currency_rupee -󱥷 nf-md-diving -󱥸 nf-md-dots_circle -󱥹 nf-md-elevator_passenger_off -󱥺 nf-md-elevator_passenger_off_outline -󱥻 nf-md-elevator_passenger_outline -󱥼 nf-md-eye_refresh -󱥽 nf-md-eye_refresh_outline -󱥾 nf-md-folder_check -󱥿 nf-md-folder_check_outline -󱦀 nf-md-human_dolly -󱦁 nf-md-human_white_cane -󱦂 nf-md-ip_outline -󱦃 nf-md-key_alert -󱦄 nf-md-key_alert_outline -󱦅 nf-md-kite -󱦆 nf-md-kite_outline -󱦇 nf-md-light_flood_down -󱦈 nf-md-light_flood_up -󱦉 nf-md-microphone_question -󱦊 nf-md-microphone_question_outline -󱦋 nf-md-cradle -󱦌 nf-md-panorama_outline -󱦍 nf-md-panorama_sphere -󱦎 nf-md-panorama_sphere_outline -󱦏 nf-md-panorama_variant -󱦐 nf-md-panorama_variant_outline -󱦑 nf-md-cradle_outline -󱦒 nf-md-fraction_one_half -󱦓 nf-md-phone_refresh -󱦔 nf-md-phone_refresh_outline -󱦕 nf-md-phone_sync -󱦖 nf-md-phone_sync_outline -󱦗 nf-md-razor_double_edge -󱦘 nf-md-razor_single_edge -󱦙 nf-md-rotate_360 -󱦚 nf-md-shield_lock_open -󱦛 nf-md-shield_lock_open_outline -󱦜 nf-md-sitemap_outline -󱦝 nf-md-sprinkler_fire -󱦞 nf-md-tab_search -󱦟 nf-md-timer_sand_complete -󱦠 nf-md-timer_sand_paused -󱦡 nf-md-vacuum -󱦢 nf-md-vacuum_outline -󱦣 nf-md-wrench_clock -󱦤 nf-md-pliers -󱦥 nf-md-sun_compass -󱦦 nf-md-truck_snowflake -󱦧 nf-md-camera_marker -󱦨 nf-md-camera_marker_outline -󱦩 nf-md-video_marker -󱦪 nf-md-video_marker_outline -󱦫 nf-md-wind_turbine_alert -󱦬 nf-md-wind_turbine_check -󱦭 nf-md-truck_plus -󱦮 nf-md-truck_minus -󱦯 nf-md-truck_remove -󱦰 nf-md-arrow_right_thin -󱦱 nf-md-arrow_left_thin -󱦲 nf-md-arrow_up_thin -󱦳 nf-md-arrow_down_thin -󱦴 nf-md-arrow_top_right_thin -󱦵 nf-md-arrow_top_left_thin -󱦶 nf-md-arrow_bottom_left_thin -󱦷 nf-md-arrow_bottom_right_thin -󱦸 nf-md-scale_unbalanced -󱦹 nf-md-draw_pen -󱦺 nf-md-clock_edit -󱦻 nf-md-clock_edit_outline -󱦼 nf-md-truck_plus_outline -󱦽 nf-md-truck_minus_outline -󱦾 nf-md-truck_remove_outline -󱦿 nf-md-camera_off_outline -󱧀 nf-md-home_group_plus -󱧁 nf-md-home_group_minus -󱧂 nf-md-home_group_remove -󱧃 nf-md-file_sign -󱧄 nf-md-attachment_lock -󱧅 nf-md-cellphone_arrow_down_variant -󱧆 nf-md-file_chart_check -󱧇 nf-md-file_chart_check_outline -󱧈 nf-md-file_lock_open -󱧉 nf-md-file_lock_open_outline -󱧊 nf-md-folder_question -󱧋 nf-md-folder_question_outline -󱧌 nf-md-message_fast -󱧍 nf-md-message_fast_outline -󱧎 nf-md-message_text_fast -󱧏 nf-md-message_text_fast_outline -󱧐 nf-md-monitor_arrow_down -󱧑 nf-md-monitor_arrow_down_variant -󱧒 nf-md-needle_off -󱧓 nf-md-numeric_off -󱧔 nf-md-package_variant_closed_minus -󱧕 nf-md-package_variant_closed_plus -󱧖 nf-md-package_variant_closed_remove -󱧗 nf-md-package_variant_minus -󱧘 nf-md-package_variant_plus -󱧙 nf-md-package_variant_remove -󱧚 nf-md-paperclip_lock -󱧛 nf-md-phone_clock -󱧜 nf-md-receipt_outline -󱧝 nf-md-transmission_tower_off -󱧞 nf-md-truck_alert -󱧟 nf-md-truck_alert_outline -󱧠 nf-md-bone_off -󱧡 nf-md-lightbulb_alert -󱧢 nf-md-lightbulb_alert_outline -󱧣 nf-md-lightbulb_question -󱧤 nf-md-lightbulb_question_outline -󱧥 nf-md-battery_clock -󱧦 nf-md-battery_clock_outline -󱧧 nf-md-autorenew_off -󱧨 nf-md-folder_arrow_down -󱧩 nf-md-folder_arrow_down_outline -󱧪 nf-md-folder_arrow_left -󱧫 nf-md-folder_arrow_left_outline -󱧬 nf-md-folder_arrow_left_right -󱧭 nf-md-folder_arrow_left_right_outline -󱧮 nf-md-folder_arrow_right -󱧯 nf-md-folder_arrow_right_outline -󱧰 nf-md-folder_arrow_up -󱧱 nf-md-folder_arrow_up_down -󱧲 nf-md-folder_arrow_up_down_outline -󱧳 nf-md-folder_arrow_up_outline -󱧴 nf-md-folder_cancel -󱧵 nf-md-folder_cancel_outline -󱧶 nf-md-folder_file -󱧷 nf-md-folder_file_outline -󱧸 nf-md-folder_off -󱧹 nf-md-folder_off_outline -󱧺 nf-md-folder_play -󱧻 nf-md-folder_play_outline -󱧼 nf-md-folder_wrench -󱧽 nf-md-folder_wrench_outline -󱧾 nf-md-image_refresh -󱧿 nf-md-image_refresh_outline -󱨀 nf-md-image_sync -󱨁 nf-md-image_sync_outline -󱨂 nf-md-percent_box -󱨃 nf-md-percent_box_outline -󱨄 nf-md-percent_circle -󱨅 nf-md-percent_circle_outline -󱨆 nf-md-sale_outline -󱨇 nf-md-square_rounded_badge -󱨈 nf-md-square_rounded_badge_outline -󱨉 nf-md-triangle_small_down -󱨊 nf-md-triangle_small_up -󱨋 nf-md-notebook_heart -󱨌 nf-md-notebook_heart_outline -󱨍 nf-md-brush_outline -󱨎 nf-md-fruit_pear -󱨏 nf-md-raw -󱨐 nf-md-raw_off -󱨑 nf-md-wall_fire -󱨒 nf-md-home_clock -󱨓 nf-md-home_clock_outline -󱨔 nf-md-camera_lock -󱨕 nf-md-camera_lock_outline -󱨖 nf-md-play_box_lock -󱨗 nf-md-play_box_lock_open -󱨘 nf-md-play_box_lock_open_outline -󱨙 nf-md-play_box_lock_outline -󱨚 nf-md-robot_industrial_outline -󱨛 nf-md-gas_burner -󱨜 nf-md-video_2d -󱨝 nf-md-book_heart -󱨞 nf-md-book_heart_outline -󱨟 nf-md-account_hard_hat_outline -󱨠 nf-md-account_school -󱨡 nf-md-account_school_outline -󱨢 nf-md-library_outline -󱨣 nf-md-projector_off -󱨤 nf-md-light_switch_off -󱨥 nf-md-toggle_switch_variant -󱨦 nf-md-toggle_switch_variant_off -󱨧 nf-md-asterisk_circle_outline -󱨨 nf-md-barrel_outline -󱨩 nf-md-bell_cog -󱨪 nf-md-bell_cog_outline -󱨫 nf-md-blinds_horizontal -󱨬 nf-md-blinds_horizontal_closed -󱨭 nf-md-blinds_vertical -󱨮 nf-md-blinds_vertical_closed -󱨯 nf-md-bulkhead_light -󱨰 nf-md-calendar_today_outline -󱨱 nf-md-calendar_week_begin_outline -󱨲 nf-md-calendar_week_end -󱨳 nf-md-calendar_week_end_outline -󱨴 nf-md-calendar_week_outline -󱨵 nf-md-cloud_percent -󱨶 nf-md-cloud_percent_outline -󱨷 nf-md-coach_lamp_variant -󱨸 nf-md-compost -󱨹 nf-md-currency_fra -󱨺 nf-md-fan_clock -󱨻 nf-md-file_rotate_left -󱨼 nf-md-file_rotate_left_outline -󱨽 nf-md-file_rotate_right -󱨾 nf-md-file_rotate_right_outline -󱨿 nf-md-filter_multiple -󱩀 nf-md-filter_multiple_outline -󱩁 nf-md-gymnastics -󱩂 nf-md-hand_clap_off -󱩃 nf-md-heat_pump -󱩄 nf-md-heat_pump_outline -󱩅 nf-md-heat_wave -󱩆 nf-md-home_off -󱩇 nf-md-home_off_outline -󱩈 nf-md-landslide -󱩉 nf-md-landslide_outline -󱩊 nf-md-laptop_account -󱩋 nf-md-led_strip_variant_off -󱩌 nf-md-lightbulb_night -󱩍 nf-md-lightbulb_night_outline -󱩎 nf-md-lightbulb_on_10 -󱩏 nf-md-lightbulb_on_20 -󱩐 nf-md-lightbulb_on_30 -󱩑 nf-md-lightbulb_on_40 -󱩒 nf-md-lightbulb_on_50 -󱩓 nf-md-lightbulb_on_60 -󱩔 nf-md-lightbulb_on_70 -󱩕 nf-md-lightbulb_on_80 -󱩖 nf-md-lightbulb_on_90 -󱩗 nf-md-meter_electric -󱩘 nf-md-meter_electric_outline -󱩙 nf-md-meter_gas -󱩚 nf-md-meter_gas_outline -󱩛 nf-md-monitor_account -󱩜 nf-md-pill_off -󱩝 nf-md-plus_lock -󱩞 nf-md-plus_lock_open -󱩟 nf-md-pool_thermometer -󱩠 nf-md-post_lamp -󱩡 nf-md-rabbit_variant -󱩢 nf-md-rabbit_variant_outline -󱩣 nf-md-receipt_text_check -󱩤 nf-md-receipt_text_check_outline -󱩥 nf-md-receipt_text_minus -󱩦 nf-md-receipt_text_minus_outline -󱩧 nf-md-receipt_text_plus -󱩨 nf-md-receipt_text_plus_outline -󱩩 nf-md-receipt_text_remove -󱩪 nf-md-receipt_text_remove_outline -󱩫 nf-md-roller_shade -󱩬 nf-md-roller_shade_closed -󱩭 nf-md-seed_plus -󱩮 nf-md-seed_plus_outline -󱩯 nf-md-shopping_search_outline -󱩰 nf-md-snowflake_check -󱩱 nf-md-snowflake_thermometer -󱩲 nf-md-snowshoeing -󱩳 nf-md-solar_power_variant -󱩴 nf-md-solar_power_variant_outline -󱩵 nf-md-storage_tank -󱩶 nf-md-storage_tank_outline -󱩷 nf-md-sun_clock -󱩸 nf-md-sun_clock_outline -󱩹 nf-md-sun_snowflake_variant -󱩺 nf-md-tag_check -󱩻 nf-md-tag_check_outline -󱩼 nf-md-text_box_edit -󱩽 nf-md-text_box_edit_outline -󱩾 nf-md-text_search_variant -󱩿 nf-md-thermometer_check -󱪀 nf-md-thermometer_water -󱪁 nf-md-tsunami -󱪂 nf-md-turbine -󱪃 nf-md-volcano -󱪄 nf-md-volcano_outline -󱪅 nf-md-water_thermometer -󱪆 nf-md-water_thermometer_outline -󱪇 nf-md-wheelchair -󱪈 nf-md-wind_power -󱪉 nf-md-wind_power_outline -󱪊 nf-md-window_shutter_cog -󱪋 nf-md-window_shutter_settings -󱪌 nf-md-account_tie_woman -󱪍 nf-md-briefcase_arrow_left_right -󱪎 nf-md-briefcase_arrow_left_right_outline -󱪏 nf-md-briefcase_arrow_up_down -󱪐 nf-md-briefcase_arrow_up_down_outline -󱪑 nf-md-cash_clock -󱪒 nf-md-cash_sync -󱪓 nf-md-file_arrow_left_right -󱪔 nf-md-file_arrow_left_right_outline -󱪕 nf-md-file_arrow_up_down -󱪖 nf-md-file_arrow_up_down_outline -󱪗 nf-md-file_document_alert -󱪘 nf-md-file_document_alert_outline -󱪙 nf-md-file_document_check -󱪚 nf-md-file_document_check_outline -󱪛 nf-md-file_document_minus -󱪜 nf-md-file_document_minus_outline -󱪝 nf-md-file_document_plus -󱪞 nf-md-file_document_plus_outline -󱪟 nf-md-file_document_remove -󱪠 nf-md-file_document_remove_outline -󱪡 nf-md-file_minus -󱪢 nf-md-file_minus_outline -󱪣 nf-md-filter_cog -󱪤 nf-md-filter_cog_outline -󱪥 nf-md-filter_settings -󱪦 nf-md-filter_settings_outline -󱪧 nf-md-folder_lock_open_outline -󱪨 nf-md-folder_lock_outline -󱪩 nf-md-forum_minus -󱪪 nf-md-forum_minus_outline -󱪫 nf-md-forum_plus -󱪬 nf-md-forum_plus_outline -󱪭 nf-md-forum_remove -󱪮 nf-md-forum_remove_outline -󱪯 nf-md-heating_coil -󱪰 nf-md-image_lock -󱪱 nf-md-image_lock_outline -󱪲 nf-md-land_fields -󱪳 nf-md-land_plots -󱪴 nf-md-land_plots_circle -󱪵 nf-md-land_plots_circle_variant -󱪶 nf-md-land_rows_horizontal -󱪷 nf-md-land_rows_vertical -󱪸 nf-md-medical_cotton_swab -󱪹 nf-md-rolodex -󱪺 nf-md-rolodex_outline -󱪻 nf-md-sort_variant_off -󱪼 nf-md-tally_mark_1 -󱪽 nf-md-tally_mark_2 -󱪾 nf-md-tally_mark_3 -󱪿 nf-md-tally_mark_4 -󱫀 nf-md-tally_mark_5 -󱫁 nf-md-attachment_check -󱫂 nf-md-attachment_minus -󱫃 nf-md-attachment_off -󱫄 nf-md-attachment_plus -󱫅 nf-md-attachment_remove -󱫆 nf-md-paperclip_check -󱫇 nf-md-paperclip_minus -󱫈 nf-md-paperclip_off -󱫉 nf-md-paperclip_plus -󱫊 nf-md-paperclip_remove -󱫋 nf-md-network_pos -󱫌 nf-md-timer_alert -󱫍 nf-md-timer_alert_outline -󱫎 nf-md-timer_cancel -󱫏 nf-md-timer_cancel_outline -󱫐 nf-md-timer_check -󱫑 nf-md-timer_check_outline -󱫒 nf-md-timer_edit -󱫓 nf-md-timer_edit_outline -󱫔 nf-md-timer_lock -󱫕 nf-md-timer_lock_open -󱫖 nf-md-timer_lock_open_outline -󱫗 nf-md-timer_lock_outline -󱫘 nf-md-timer_marker -󱫙 nf-md-timer_marker_outline -󱫚 nf-md-timer_minus -󱫛 nf-md-timer_minus_outline -󱫜 nf-md-timer_music -󱫝 nf-md-timer_music_outline -󱫞 nf-md-timer_pause -󱫟 nf-md-timer_pause_outline -󱫠 nf-md-timer_play -󱫡 nf-md-timer_play_outline -󱫢 nf-md-timer_plus -󱫣 nf-md-timer_plus_outline -󱫤 nf-md-timer_refresh -󱫥 nf-md-timer_refresh_outline -󱫦 nf-md-timer_remove -󱫧 nf-md-timer_remove_outline -󱫨 nf-md-timer_star -󱫩 nf-md-timer_star_outline -󱫪 nf-md-timer_stop -󱫫 nf-md-timer_stop_outline -󱫬 nf-md-timer_sync -󱫭 nf-md-timer_sync_outline -󱫮 nf-md-ear_hearing_loop -󱫯 nf-md-sail_boat_sink -󱫰 nf-md-lecturn -♥ nf-oct-heart -⚡ nf-oct-zap - nf-oct-light_bulb - nf-oct-repo - nf-oct-repo_forked - nf-oct-repo_push - nf-oct-repo_pull - nf-oct-book - nf-oct-accessibility - nf-oct-git_pull_request - nf-oct-mark_github - nf-oct-download - nf-oct-upload - nf-oct-accessibility_inset - nf-oct-alert_fill - nf-oct-file_code - nf-oct-apps - nf-oct-file_media - nf-oct-file_zip - nf-oct-archive - nf-oct-tag - nf-oct-file_directory - nf-oct-file_submodule - nf-oct-person - nf-oct-arrow_both - nf-oct-git_commit - nf-oct-git_branch - nf-oct-git_merge - nf-oct-mirror - nf-oct-issue_opened - nf-oct-issue_reopened - nf-oct-issue_closed - nf-oct-star - nf-oct-comment - nf-oct-question - nf-oct-alert - nf-oct-search - nf-oct-gear - nf-oct-arrow_down_left - nf-oct-tools - nf-oct-sign_out - nf-oct-rocket - nf-oct-rss - nf-oct-paste - nf-oct-sign_in - nf-oct-organization - nf-oct-device_mobile - nf-oct-unfold - nf-oct-check - nf-oct-mail - nf-oct-read - nf-oct-arrow_up - nf-oct-arrow_right - nf-oct-arrow_down - nf-oct-arrow_left - nf-oct-pin - nf-oct-gift - nf-oct-graph - nf-oct-triangle_left - nf-oct-credit_card - nf-oct-clock - nf-oct-ruby - nf-oct-broadcast - nf-oct-key - nf-oct-arrow_down_right - nf-oct-repo_clone - nf-oct-diff - nf-oct-eye - nf-oct-comment_discussion - nf-oct-arrow_switch - nf-oct-dot_fill - nf-oct-square_fill - nf-oct-device_camera - nf-oct-device_camera_video - nf-oct-pencil - nf-oct-info - nf-oct-triangle_right - nf-oct-triangle_down - nf-oct-link - nf-oct-plus - nf-oct-three_bars - nf-oct-code - nf-oct-location - nf-oct-list_unordered - nf-oct-list_ordered - nf-oct-quote - nf-oct-versions - nf-oct-calendar - nf-oct-lock - nf-oct-diff_added - nf-oct-diff_removed - nf-oct-diff_modified - nf-oct-diff_renamed - nf-oct-horizontal_rule - nf-oct-arrow_up_left - nf-oct-milestone - nf-oct-checklist - nf-oct-megaphone - nf-oct-chevron_right - nf-oct-bookmark - nf-oct-sliders - nf-oct-meter - nf-oct-history - nf-oct-link_external - nf-oct-mute - nf-oct-x - nf-oct-circle_slash - nf-oct-pulse - nf-oct-sync - nf-oct-telescope - nf-oct-arrow_up_right - nf-oct-home - nf-oct-stop - nf-oct-bug - nf-oct-logo_github - nf-oct-file_binary - nf-oct-database - nf-oct-server - nf-oct-diff_ignored - nf-oct-ellipsis - nf-oct-bell_fill - nf-oct-hubot - nf-oct-bell_slash - nf-oct-blocked - nf-oct-bookmark_fill - nf-oct-chevron_up - nf-oct-chevron_down - nf-oct-chevron_left - nf-oct-triangle_up - nf-oct-git_compare - nf-oct-logo_gist - nf-oct-file_symlink_file - nf-oct-file_symlink_directory - nf-oct-squirrel - nf-oct-globe - nf-oct-unmute - nf-oct-mention - nf-oct-package - nf-oct-browser - nf-oct-terminal - nf-oct-markdown - nf-oct-dash - nf-oct-fold - nf-oct-inbox - nf-oct-trash - nf-oct-paintbrush - nf-oct-flame - nf-oct-briefcase - nf-oct-plug - nf-oct-bookmark_slash_fill - nf-oct-mortar_board - nf-oct-law - nf-oct-thumbsup - nf-oct-thumbsdown - nf-oct-desktop_download - nf-oct-beaker - nf-oct-bell - nf-oct-cache - nf-oct-shield - nf-oct-bold - nf-oct-check_circle - nf-oct-italic - nf-oct-tasklist - nf-oct-verified - nf-oct-smiley - nf-oct-unverified - nf-oct-check_circle_fill - nf-oct-file - nf-oct-grabber - nf-oct-checkbox - nf-oct-reply - nf-oct-device_desktop - nf-oct-circle - nf-oct-clock_fill - nf-oct-cloud - nf-oct-cloud_offline - nf-oct-code_of_conduct - nf-oct-code_review - nf-oct-code_square - nf-oct-codescan - nf-oct-codescan_checkmark - nf-oct-codespaces - nf-oct-columns - nf-oct-command_palette - nf-oct-commit - nf-oct-container - nf-oct-copilot - nf-oct-copilot_error - nf-oct-copilot_warning - nf-oct-copy - nf-oct-cpu - nf-oct-cross_reference - nf-oct-dependabot - nf-oct-diamond - nf-oct-discussion_closed - nf-oct-discussion_duplicate - nf-oct-discussion_outdated - nf-oct-dot - nf-oct-duplicate - nf-oct-eye_closed - nf-oct-feed_discussion - nf-oct-feed_forked - nf-oct-feed_heart - nf-oct-feed_merged - nf-oct-feed_person - nf-oct-feed_repo - nf-oct-feed_rocket - nf-oct-feed_star - nf-oct-feed_tag - nf-oct-feed_trophy - nf-oct-file_added - nf-oct-file_badge - nf-oct-file_diff - nf-oct-file_directory_fill - nf-oct-file_directory_open_fill - nf-oct-file_moved - nf-oct-file_removed - nf-oct-filter - nf-oct-fiscal_host - nf-oct-fold_down - nf-oct-fold_up - nf-oct-git_merge_queue - nf-oct-git_pull_request_closed - nf-oct-git_pull_request_draft - nf-oct-goal - nf-oct-hash - nf-oct-heading - nf-oct-heart_fill - nf-oct-home_fill - nf-oct-hourglass - nf-oct-id_badge - nf-oct-image - nf-oct-infinity - nf-oct-issue_draft - nf-oct-issue_tracked_by - nf-oct-issue_tracks - nf-oct-iterations - nf-oct-kebab_horizontal - nf-oct-key_asterisk - nf-oct-log - nf-oct-moon - nf-oct-move_to_bottom - nf-oct-move_to_end - nf-oct-move_to_start - nf-oct-move_to_top - nf-oct-multi_select - nf-oct-no_entry - nf-oct-north_star - nf-oct-note - nf-oct-number - nf-oct-package_dependencies - nf-oct-package_dependents - nf-oct-paper_airplane - nf-oct-paperclip - nf-oct-passkey_fill - nf-oct-people - nf-oct-person_add - nf-oct-person_fill - nf-oct-play - nf-oct-plus_circle - nf-oct-project - nf-oct-project_roadmap - nf-oct-project_symlink - nf-oct-project_template - nf-oct-rel_file_path - nf-oct-repo_deleted - nf-oct-repo_locked - nf-oct-repo_template - nf-oct-report - nf-oct-rows - nf-oct-screen_full - nf-oct-screen_normal - nf-oct-share - nf-oct-share_android - nf-oct-shield_check - nf-oct-shield_lock - nf-oct-shield_slash - nf-oct-shield_x - nf-oct-sidebar_collapse - nf-oct-sidebar_expand - nf-oct-single_select - nf-oct-skip - nf-oct-skip_fill - nf-oct-sort_asc - nf-oct-sort_desc - nf-oct-sparkle_fill - nf-oct-sponsor_tiers - nf-oct-square - nf-oct-stack - nf-oct-star_fill - nf-oct-stopwatch - nf-oct-strikethrough - nf-oct-sun - nf-oct-tab - nf-oct-tab_external - nf-oct-table - nf-oct-telescope_fill - nf-oct-trophy - nf-oct-typography - nf-oct-unlink - nf-oct-unlock - nf-oct-unread - nf-oct-video - nf-oct-webhook - nf-oct-workflow - nf-oct-x_circle - nf-oct-x_circle_fill - nf-oct-zoom_in - nf-oct-zoom_out - nf-oct-bookmark_slash - nf-pl-branch - nf-pl-line_number nf-pl-current_line_pl_line_number - nf-pl-hostname nf-pl-readonly_pl_hostname - nf-ple-column_number nf-ple-current_column_ple_column_number - nf-pl-left_hard_divider - nf-pl-left_soft_divider - nf-pl-right_hard_divider - nf-pl-right_soft_divider - nf-ple-right_half_circle_thick - nf-ple-right_half_circle_thin - nf-ple-left_half_circle_thick - nf-ple-left_half_circle_thin - nf-ple-lower_left_triangle - nf-ple-backslash_separator - nf-ple-lower_right_triangle - nf-ple-forwardslash_separator - nf-ple-upper_left_triangle - nf-ple-forwardslash_separator_redundant - nf-ple-upper_right_triangle - nf-ple-backslash_separator_redundant - nf-ple-flame_thick - nf-ple-flame_thin - nf-ple-flame_thick_mirrored - nf-ple-flame_thin_mirrored - nf-ple-pixelated_squares_small - nf-ple-pixelated_squares_small_mirrored - nf-ple-pixelated_squares_big - nf-ple-pixelated_squares_big_mirrored - nf-ple-ice_waveform - nf-ple-ice_waveform_mirrored - nf-ple-honeycomb - nf-ple-honeycomb_outline - nf-ple-lego_separator - nf-ple-lego_separator_thin - nf-ple-lego_block_facing - nf-ple-lego_block_sideways - nf-ple-trapezoid_top_bottom - nf-ple-trapezoid_top_bottom_mirrored - nf-ple-right_hard_divider_inverse - nf-ple-left_hard_divider_inverse - nf-pom-clean_code - nf-pom-pomodoro_done - nf-pom-pomodoro_estimated - nf-pom-pomodoro_ticking - nf-pom-pomodoro_squashed - nf-pom-short_pause - nf-pom-long_pause - nf-pom-away - nf-pom-pair_programming - nf-pom-internal_interruption - nf-pom-external_interruption - nf-custom-folder_npm - nf-custom-folder_git nf-custom-folder_git_branch_custom_folder_git - nf-custom-folder_config - nf-custom-folder_github - nf-custom-folder_open - nf-custom-folder - nf-seti-stylus - nf-seti-project - nf-custom-play_arrow nf-seti-play_arrow_custom_play_arrow - nf-seti-sass - nf-seti-rails - nf-custom-ruby nf-seti-ruby_custom_ruby - nf-seti-python - nf-seti-heroku - nf-seti-php - nf-seti-markdown - nf-seti-license - nf-seti-json nf-seti-less_seti_json - nf-seti-javascript - nf-seti-image - nf-seti-html - nf-seti-mustache - nf-seti-gulp - nf-seti-grunt - nf-custom-default - nf-seti-folder - nf-seti-css - nf-seti-config - nf-seti-npm nf-seti-npm_ignored_seti_npm - nf-custom-home nf-seti-home_custom_home - nf-seti-ejs - nf-seti-xml - nf-seti-bower - nf-seti-coffee nf-seti-cjsx_seti_coffee - nf-seti-twig - nf-custom-cpp - nf-custom-c - nf-seti-haskell - nf-seti-lua - nf-indent-line nf-indentation-line_indent_line nf-indent-dotted_guide_indent_line - nf-seti-karma - nf-seti-favicon - nf-seti-julia - nf-seti-react - nf-custom-go - nf-seti-go - nf-seti-typescript - nf-custom-msdos - nf-custom-windows - nf-custom-vim - nf-custom-elm nf-seti-elm_custom_elm - nf-custom-elixir nf-seti-elixir_custom_elixir - nf-custom-electron - nf-custom-crystal nf-seti-crystal_custom_crystal - nf-custom-purescript nf-seti-purescript_custom_purescript - nf-seti-puppet nf-custom-puppet_seti_puppet - nf-custom-emacs - nf-custom-orgmode - nf-custom-kotlin nf-seti-kotlin_custom_kotlin - nf-seti-apple - nf-seti-argdown - nf-seti-asm - nf-seti-audio - nf-seti-babel - nf-custom-bazel nf-seti-bazel_custom_bazel - nf-seti-bicep - nf-seti-bsl - nf-seti-cake_php - nf-seti-cake - nf-seti-checkbox - nf-seti-checkbox_unchecked - nf-seti-clock nf-seti-time_cop_seti_clock - nf-seti-clojure - nf-seti-code_climate - nf-seti-code_search - nf-seti-coldfusion - nf-seti-cpp - nf-seti-crystal_embedded - nf-seti-c_sharp - nf-seti-c - nf-seti-csv - nf-seti-cu - nf-seti-dart - nf-seti-db - nf-seti-default nf-seti-text_seti_default - nf-seti-deprecation_cop - nf-seti-docker - nf-seti-d - nf-seti-editorconfig - nf-seti-elixir_script - nf-seti-error - nf-seti-eslint - nf-seti-ethereum - nf-custom-firebase nf-seti-firebase_custom_firebase - nf-seti-firefox - nf-seti-font - nf-seti-f_sharp - nf-seti-github - nf-seti-gitlab - nf-seti-git nf-seti-git_folder_seti_git nf-seti-git_ignore_seti_git - nf-seti-go2 - nf-seti-godot - nf-seti-gradle - nf-seti-grails - nf-seti-graphql - nf-seti-hacklang - nf-seti-haml - nf-seti-happenings - nf-seti-haxe - nf-seti-hex - nf-seti-ignored - nf-seti-illustrator - nf-seti-info - nf-seti-ionic - nf-seti-jade - nf-seti-java - nf-seti-jenkins - nf-seti-jinja - nf-seti-liquid - nf-seti-livescript - nf-seti-lock - nf-seti-makefile - nf-seti-maven - nf-seti-mdo - nf-seti-new_file - nf-seti-nim - nf-seti-notebook - nf-seti-nunjucks - nf-seti-ocaml - nf-seti-odata - nf-seti-pddl - nf-seti-pdf - nf-seti-perl - nf-seti-photoshop - nf-seti-pipeline - nf-seti-plan - nf-seti-platformio - nf-seti-powershell - nf-seti-prisma - nf-seti-prolog - nf-seti-pug - nf-seti-reasonml - nf-seti-rescript - nf-seti-rollup - nf-seti-r - nf-seti-rust - nf-seti-salesforce - nf-seti-sbt - nf-seti-scala - nf-seti-search - nf-seti-settings - nf-seti-shell - nf-seti-slim - nf-seti-smarty - nf-seti-spring - nf-seti-stylelint - nf-seti-sublime - nf-seti-svelte - nf-seti-svg - nf-seti-swift - nf-seti-terraform - nf-seti-tex - nf-seti-todo - nf-seti-tsconfig - nf-seti-vala - nf-seti-video - nf-seti-vue - nf-seti-wasm - nf-seti-wat - nf-seti-webpack - nf-seti-wgt - nf-seti-word - nf-seti-xls - nf-seti-yarn - nf-seti-yml - nf-seti-zig - nf-seti-zip - nf-custom-asm - nf-custom-v_lang - nf-custom-folder_oct - nf-custom-neovim - nf-custom-fennel - nf-custom-common_lisp - nf-custom-scheme - nf-custom-toml - nf-custom-astro - nf-custom-prettier - nf-custom-ada - nf-custom-chuck - nf-custom-vitruvian - nf-custom-css - nf-weather-day_cloudy_gusts - nf-weather-day_cloudy_windy - nf-weather-day_cloudy - nf-weather-day_fog - nf-weather-day_hail - nf-weather-day_lightning - nf-weather-day_rain_mix - nf-weather-day_rain_wind - nf-weather-day_rain - nf-weather-day_showers - nf-weather-day_snow - nf-weather-day_sprinkle - nf-weather-day_sunny_overcast - nf-weather-day_sunny - nf-weather-day_storm_showers - nf-weather-day_thunderstorm - nf-weather-cloudy_gusts - nf-weather-cloudy_windy - nf-weather-cloudy - nf-weather-fog - nf-weather-hail - nf-weather-lightning - nf-weather-rain_mix - nf-weather-rain_wind - nf-weather-rain - nf-weather-showers - nf-weather-snow - nf-weather-sprinkle - nf-weather-storm_showers - nf-weather-thunderstorm - nf-weather-windy - nf-weather-night_alt_cloudy_gusts - nf-weather-night_alt_cloudy_windy - nf-weather-night_alt_hail - nf-weather-night_alt_lightning - nf-weather-night_alt_rain_mix - nf-weather-night_alt_rain_wind - nf-weather-night_alt_rain - nf-weather-night_alt_showers - nf-weather-night_alt_snow - nf-weather-night_alt_sprinkle - nf-weather-night_alt_storm_showers - nf-weather-night_alt_thunderstorm - nf-weather-night_clear - nf-weather-night_cloudy_gusts - nf-weather-night_cloudy_windy - nf-weather-night_cloudy - nf-weather-night_hail - nf-weather-night_lightning - nf-weather-night_rain_mix - nf-weather-night_rain_wind - nf-weather-night_rain - nf-weather-night_showers - nf-weather-night_snow - nf-weather-night_sprinkle - nf-weather-night_storm_showers - nf-weather-night_thunderstorm - nf-weather-celsius - nf-weather-cloud_down - nf-weather-cloud_refresh - nf-weather-cloud_up - nf-weather-cloud - nf-weather-degrees - nf-weather-direction_down_left - nf-weather-direction_down - nf-weather-fahrenheit - nf-weather-horizon_alt - nf-weather-horizon - nf-weather-direction_left - nf-weather-aliens - nf-weather-night_fog - nf-weather-refresh_alt - nf-weather-refresh - nf-weather-direction_right - nf-weather-raindrops - nf-weather-strong_wind - nf-weather-sunrise - nf-weather-sunset - nf-weather-thermometer_exterior - nf-weather-thermometer_internal - nf-weather-thermometer - nf-weather-tornado - nf-weather-direction_up_right - nf-weather-direction_up - nf-weather-wind_west - nf-weather-wind_south_west - nf-weather-wind_south_east - nf-weather-wind_south - nf-weather-wind_north_west - nf-weather-wind_north_east - nf-weather-wind_north - nf-weather-wind_east - nf-weather-smoke - nf-weather-dust - nf-weather-snow_wind - nf-weather-day_snow_wind - nf-weather-night_snow_wind - nf-weather-night_alt_snow_wind - nf-weather-day_sleet_storm - nf-weather-night_sleet_storm - nf-weather-night_alt_sleet_storm - nf-weather-day_snow_thunderstorm - nf-weather-night_snow_thunderstorm - nf-weather-night_alt_snow_thunderstorm - nf-weather-solar_eclipse - nf-weather-lunar_eclipse - nf-weather-meteor - nf-weather-hot - nf-weather-hurricane - nf-weather-smog - nf-weather-alien - nf-weather-snowflake_cold - nf-weather-stars - nf-weather-raindrop - nf-weather-barometer - nf-weather-humidity - nf-weather-na - nf-weather-flood - nf-weather-day_cloudy_high - nf-weather-night_alt_cloudy_high - nf-weather-night_cloudy_high - nf-weather-night_alt_partly_cloudy - nf-weather-sandstorm - nf-weather-night_partly_cloudy - nf-weather-umbrella - nf-weather-day_windy - nf-weather-night_alt_cloudy - nf-weather-direction_up_left - nf-weather-direction_down_right - nf-weather-time_12 - nf-weather-time_1 - nf-weather-time_2 - nf-weather-time_3 - nf-weather-time_4 - nf-weather-time_5 - nf-weather-time_6 - nf-weather-time_7 - nf-weather-time_8 - nf-weather-time_9 - nf-weather-time_10 - nf-weather-time_11 - nf-weather-moon_new - nf-weather-moon_waxing_crescent_1 - nf-weather-moon_waxing_crescent_2 - nf-weather-moon_waxing_crescent_3 - nf-weather-moon_waxing_crescent_4 - nf-weather-moon_waxing_crescent_5 - nf-weather-moon_waxing_crescent_6 - nf-weather-moon_first_quarter - nf-weather-moon_waxing_gibbous_1 - nf-weather-moon_waxing_gibbous_2 - nf-weather-moon_waxing_gibbous_3 - nf-weather-moon_waxing_gibbous_4 - nf-weather-moon_waxing_gibbous_5 - nf-weather-moon_waxing_gibbous_6 - nf-weather-moon_full - nf-weather-moon_waning_gibbous_1 - nf-weather-moon_waning_gibbous_2 - nf-weather-moon_waning_gibbous_3 - nf-weather-moon_waning_gibbous_4 - nf-weather-moon_waning_gibbous_5 - nf-weather-moon_waning_gibbous_6 - nf-weather-moon_third_quarter - nf-weather-moon_waning_crescent_1 - nf-weather-moon_waning_crescent_2 - nf-weather-moon_waning_crescent_3 - nf-weather-moon_waning_crescent_4 - nf-weather-moon_waning_crescent_5 - nf-weather-moon_waning_crescent_6 - nf-weather-wind_direction - nf-weather-day_sleet - nf-weather-night_sleet - nf-weather-night_alt_sleet - nf-weather-sleet - nf-weather-day_haze - nf-weather-wind_beaufort_0 - nf-weather-wind_beaufort_1 - nf-weather-wind_beaufort_2 - nf-weather-wind_beaufort_3 - nf-weather-wind_beaufort_4 - nf-weather-wind_beaufort_5 - nf-weather-wind_beaufort_6 - nf-weather-wind_beaufort_7 - nf-weather-wind_beaufort_8 - nf-weather-wind_beaufort_9 - nf-weather-wind_beaufort_10 - nf-weather-wind_beaufort_11 - nf-weather-wind_beaufort_12 - nf-weather-day_light_wind - nf-weather-tsunami - nf-weather-earthquake - nf-weather-fire - nf-weather-volcano - nf-weather-moonrise - nf-weather-moonset - nf-weather-train - nf-weather-small_craft_advisory - nf-weather-gale_warning - nf-weather-storm_warning - nf-weather-hurricane_warning - nf-weather-moon_alt_waxing_crescent_1 - nf-weather-moon_alt_waxing_crescent_2 - nf-weather-moon_alt_waxing_crescent_3 - nf-weather-moon_alt_waxing_crescent_4 - nf-weather-moon_alt_waxing_crescent_5 - nf-weather-moon_alt_waxing_crescent_6 - nf-weather-moon_alt_first_quarter - nf-weather-moon_alt_waxing_gibbous_1 - nf-weather-moon_alt_waxing_gibbous_2 - nf-weather-moon_alt_waxing_gibbous_3 - nf-weather-moon_alt_waxing_gibbous_4 - nf-weather-moon_alt_waxing_gibbous_5 - nf-weather-moon_alt_waxing_gibbous_6 - nf-weather-moon_alt_full - nf-weather-moon_alt_waning_gibbous_1 - nf-weather-moon_alt_waning_gibbous_2 - nf-weather-moon_alt_waning_gibbous_3 - nf-weather-moon_alt_waning_gibbous_4 - nf-weather-moon_alt_waning_gibbous_5 - nf-weather-moon_alt_waning_gibbous_6 - nf-weather-moon_alt_third_quarter - nf-weather-moon_alt_waning_crescent_1 - nf-weather-moon_alt_waning_crescent_2 - nf-weather-moon_alt_waning_crescent_3 - nf-weather-moon_alt_waning_crescent_4 - nf-weather-moon_alt_waning_crescent_5 - nf-weather-moon_alt_waning_crescent_6 - nf-weather-moon_alt_new diff --git a/data/schemes/catppuccin/frappe/dark.txt b/data/schemes/catppuccin/frappe/dark.txt deleted file mode 100644 index 1502230..0000000 --- a/data/schemes/catppuccin/frappe/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f2d5cf -flamingo eebebe -pink f4b8e4 -mauve ca9ee6 -red e78284 -maroon ea999c -peach ef9f76 -yellow e5c890 -green a6d189 -teal 81c8be -sky 99d1db -sapphire 85c1dc -blue 8caaee -lavender babbf1 -text c6d0f5 -subtext1 b5bfe2 -subtext0 a5adce -overlay2 949cbb -overlay1 838ba7 -overlay0 737994 -surface2 626880 -surface1 51576d -surface0 414559 -base 303446 -mantle 292c3c -crust 232634 -success a6d189 -primary_paletteKeyColor 6674AC -secondary_paletteKeyColor 72768B -tertiary_paletteKeyColor 8F6C88 -neutral_paletteKeyColor 76767D -neutral_variant_paletteKeyColor 767680 -background 121318 -onBackground E3E1E9 -surface 121318 -surfaceDim 121318 -surfaceBright 38393F -surfaceContainerLowest 0D0E13 -surfaceContainerLow 1A1B21 -surfaceContainer 1E1F25 -surfaceContainerHigh 292A2F -surfaceContainerHighest 34343A -onSurface E3E1E9 -surfaceVariant 45464F -onSurfaceVariant C6C5D0 -inverseSurface E3E1E9 -inverseOnSurface 2F3036 -outline 90909A -outlineVariant 45464F -shadow 000000 -scrim 000000 -surfaceTint B7C4FF -primary B7C4FF -onPrimary 1E2D61 -primaryContainer 364479 -onPrimaryContainer DCE1FF -inversePrimary 4E5C92 -secondary C2C5DD -onSecondary 2B3042 -secondaryContainer 44485B -onSecondaryContainer DEE1F9 -tertiary E3BADA -onTertiary 43273F -tertiaryContainer AB85A3 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed DCE1FF -primaryFixedDim B7C4FF -onPrimaryFixed 05164B -onPrimaryFixedVariant 364479 -secondaryFixed DEE1F9 -secondaryFixedDim C2C5DD -onSecondaryFixed 161B2C -onSecondaryFixedVariant 424659 -tertiaryFixed FFD7F5 -tertiaryFixedDim E3BADA -onTertiaryFixed 2C1229 -onTertiaryFixedVariant 5C3D57 \ No newline at end of file diff --git a/data/schemes/catppuccin/latte/light.txt b/data/schemes/catppuccin/latte/light.txt deleted file mode 100644 index 6cc0fce..0000000 --- a/data/schemes/catppuccin/latte/light.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater dc8a78 -flamingo dd7878 -pink ea76cb -mauve 8839ef -red d20f39 -maroon e64553 -peach fe640b -yellow df8e1d -green 40a02b -teal 179299 -sky 04a5e5 -sapphire 209fb5 -blue 1e66f5 -lavender 7287fd -text 4c4f69 -subtext1 5c5f77 -subtext0 6c6f85 -overlay2 7c7f93 -overlay1 8c8fa1 -overlay0 9ca0b0 -surface2 acb0be -surface1 bcc0cc -surface0 ccd0da -base eff1f5 -mantle e6e9ef -crust dce0e8 -success 40a02b -primary_paletteKeyColor 417DA2 -secondary_paletteKeyColor 687987 -tertiary_paletteKeyColor 7C7195 -neutral_paletteKeyColor 73777B -neutral_variant_paletteKeyColor 71787E -background F6FAFE -onBackground 181C20 -surface F6FAFE -surfaceDim D7DADF -surfaceBright F6FAFE -surfaceContainerLowest FFFFFF -surfaceContainerLow F1F4F9 -surfaceContainer EBEEF3 -surfaceContainerHigh E5E8ED -surfaceContainerHighest DFE3E7 -onSurface 181C20 -surfaceVariant DDE3EA -onSurfaceVariant 41484D -inverseSurface 2D3135 -inverseOnSurface EEF1F6 -outline 6F757B -outlineVariant C1C7CE -shadow 000000 -scrim 000000 -surfaceTint 246488 -primary 246488 -onPrimary FFFFFF -primaryContainer C8E6FF -onPrimaryContainer 004C6D -inversePrimary 94CDF6 -secondary 4F606E -onSecondary FFFFFF -secondaryContainer D2E5F5 -onSecondaryContainer 384956 -tertiary 7A6F93 -onTertiary FFFFFF -tertiaryContainer 7A6F93 -onTertiaryContainer FFFFFF -error BA1A1A -onError FFFFFF -errorContainer FFDAD6 -onErrorContainer 93000A -primaryFixed C8E6FF -primaryFixedDim 94CDF6 -onPrimaryFixed 001E2E -onPrimaryFixedVariant 004C6D -secondaryFixed D2E5F5 -secondaryFixedDim B7C9D8 -onSecondaryFixed 0B1D29 -onSecondaryFixedVariant 384956 -tertiaryFixed E9DDFF -tertiaryFixedDim CDC0E9 -onTertiaryFixed 1F1635 -onTertiaryFixedVariant 4B4163 \ No newline at end of file diff --git a/data/schemes/catppuccin/macchiato/dark.txt b/data/schemes/catppuccin/macchiato/dark.txt deleted file mode 100644 index 6ffb12f..0000000 --- a/data/schemes/catppuccin/macchiato/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f4dbd6 -flamingo f0c6c6 -pink f5bde6 -mauve c6a0f6 -red ed8796 -maroon ee99a0 -peach f5a97f -yellow eed49f -green a6da95 -teal 8bd5ca -sky 91d7e3 -sapphire 7dc4e4 -blue 8aadf4 -lavender b7bdf8 -text cad3f5 -subtext1 b8c0e0 -subtext0 a5adcb -overlay2 939ab7 -overlay1 8087a2 -overlay0 6e738d -surface2 5b6078 -surface1 494d64 -surface0 363a4f -base 24273a -mantle 1e2030 -crust 181926 -success a6da95 -primary_paletteKeyColor 6A73AC -secondary_paletteKeyColor 74768B -tertiary_paletteKeyColor 916C87 -neutral_paletteKeyColor 77767D -neutral_variant_paletteKeyColor 767680 -background 121318 -onBackground E4E1E9 -surface 121318 -surfaceDim 121318 -surfaceBright 39393F -surfaceContainerLowest 0D0E13 -surfaceContainerLow 1B1B21 -surfaceContainer 1F1F25 -surfaceContainerHigh 29292F -surfaceContainerHighest 34343A -onSurface E4E1E9 -surfaceVariant 46464F -onSurfaceVariant C6C5D0 -inverseSurface E4E1E9 -inverseOnSurface 303036 -outline 90909A -outlineVariant 46464F -shadow 000000 -scrim 000000 -surfaceTint BAC3FF -primary BAC3FF -onPrimary 222C61 -primaryContainer 394379 -onPrimaryContainer DEE0FF -inversePrimary 515B92 -secondary C3C5DD -onSecondary 2C2F42 -secondaryContainer 45485C -onSecondaryContainer DFE1F9 -tertiary E5BAD8 -onTertiary 44263E -tertiaryContainer AC85A1 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed DEE0FF -primaryFixedDim BAC3FF -onPrimaryFixed 0A154B -onPrimaryFixedVariant 394379 -secondaryFixed DFE1F9 -secondaryFixedDim C3C5DD -onSecondaryFixed 181A2C -onSecondaryFixedVariant 434659 -tertiaryFixed FFD7F1 -tertiaryFixedDim E5BAD8 -onTertiaryFixed 2D1228 -onTertiaryFixedVariant 5D3C55 \ No newline at end of file diff --git a/data/schemes/catppuccin/mocha/dark.txt b/data/schemes/catppuccin/mocha/dark.txt deleted file mode 100644 index 66497d0..0000000 --- a/data/schemes/catppuccin/mocha/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f5e0dc -flamingo f2cdcd -pink f5c2e7 -mauve cba6f7 -red f38ba8 -maroon eba0ac -peach fab387 -yellow f9e2af -green a6e3a1 -teal 94e2d5 -sky 89dceb -sapphire 74c7ec -blue 89b4fa -lavender b4befe -text cdd6f4 -subtext1 bac2de -subtext0 a6adc8 -overlay2 9399b2 -overlay1 7f849c -overlay0 6c7086 -surface2 585b70 -surface1 45475a -surface0 313244 -base 1e1e2e -mantle 181825 -crust 11111b -success a6e3a1 -primary_paletteKeyColor 7171AC -secondary_paletteKeyColor 76758B -tertiary_paletteKeyColor 946B82 -neutral_paletteKeyColor 78767D -neutral_variant_paletteKeyColor 777680 -background 131318 -onBackground E4E1E9 -surface 131318 -surfaceDim 131318 -surfaceBright 39383F -surfaceContainerLowest 0E0E13 -surfaceContainerLow 1B1B21 -surfaceContainer 1F1F25 -surfaceContainerHigh 2A292F -surfaceContainerHighest 35343A -onSurface E4E1E9 -surfaceVariant 47464F -onSurfaceVariant C8C5D0 -inverseSurface E4E1E9 -inverseOnSurface 303036 -outline 918F9A -outlineVariant 47464F -shadow 000000 -scrim 000000 -surfaceTint C1C1FF -primary C1C1FF -onPrimary 2A2A60 -primaryContainer 404178 -onPrimaryContainer E2DFFF -inversePrimary 585992 -secondary C6C4DD -onSecondary 2F2F42 -secondaryContainer 48475B -onSecondaryContainer E2E0F9 -tertiary E9B9D3 -onTertiary 46263A -tertiaryContainer B0849C -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed E2DFFF -primaryFixedDim C1C1FF -onPrimaryFixed 14134A -onPrimaryFixedVariant 404178 -secondaryFixed E2E0F9 -secondaryFixedDim C6C4DD -onSecondaryFixed 1A1A2C -onSecondaryFixedVariant 454559 -tertiaryFixed FFD8EB -tertiaryFixedDim E9B9D3 -onTertiaryFixed 2F1124 -onTertiaryFixedVariant 5F3C51 \ No newline at end of file diff --git a/data/schemes/gruvbox/hard/dark.txt b/data/schemes/gruvbox/hard/dark.txt deleted file mode 100644 index 06bd012..0000000 --- a/data/schemes/gruvbox/hard/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater e8bcb6 -flamingo c59e9d -pink d24cce -mauve b16286 -red cc241d -maroon fb4934 -peach fe8019 -yellow fabd2f -green b8bb26 -teal 8ec07c -sky 9bcccb -sapphire 4191b1 -blue 83a598 -lavender a378cb -text fbf1c7 -subtext1 d5c4a1 -subtext0 bdae93 -overlay2 a89984 -overlay1 928374 -overlay0 7c6f64 -surface2 665c54 -surface1 504945 -surface0 3c3836 -base 1d2021 -mantle 171919 -crust 111213 -success b8bb26 -primary_paletteKeyColor 2D8194 -secondary_paletteKeyColor 637B82 -tertiary_paletteKeyColor 6F7598 -neutral_paletteKeyColor 72787A -neutral_variant_paletteKeyColor 70797C -background 0F1416 -onBackground DEE3E5 -surface 0F1416 -surfaceDim 0F1416 -surfaceBright 343A3C -surfaceContainerLowest 090F11 -surfaceContainerLow 171C1E -surfaceContainer 1B2022 -surfaceContainerHigh 252B2D -surfaceContainerHighest 303638 -onSurface DEE3E5 -surfaceVariant 3F484B -onSurfaceVariant BFC8CB -inverseSurface DEE3E5 -inverseOnSurface 2C3133 -outline 899295 -outlineVariant 3F484B -shadow 000000 -scrim 000000 -surfaceTint 84D2E7 -primary 84D2E7 -onPrimary 003640 -primaryContainer 004E5C -onPrimaryContainer ACEDFF -inversePrimary 00687A -secondary B2CBD2 -onSecondary 1D343A -secondaryContainer 334A51 -onSecondaryContainer CEE7EF -tertiary BFC4EB -onTertiary 282F4D -tertiaryContainer 898FB3 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed ACEDFF -primaryFixedDim 84D2E7 -onPrimaryFixed 001F26 -onPrimaryFixedVariant 004E5C -secondaryFixed CEE7EF -secondaryFixedDim B2CBD2 -onSecondaryFixed 061F24 -onSecondaryFixedVariant 334A51 -tertiaryFixed DDE1FF -tertiaryFixedDim BFC4EB -onTertiaryFixed 131937 -onTertiaryFixedVariant 3F4565 \ No newline at end of file diff --git a/data/schemes/gruvbox/hard/light.txt b/data/schemes/gruvbox/hard/light.txt deleted file mode 100644 index 89c65a8..0000000 --- a/data/schemes/gruvbox/hard/light.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater b16286 -flamingo 8f3f71 -pink 8f3f71 -mauve 8f3f71 -red 9d0006 -maroon cc241d -peach af3a03 -yellow b57614 -green 79740e -teal 427b58 -sky 076678 -sapphire 076678 -blue 076678 -lavender 8f3f71 -text 282828 -subtext1 3c3836 -subtext0 504945 -overlay2 7c6f64 -overlay1 928374 -overlay0 a89984 -surface2 bdae93 -surface1 d5c4a1 -surface0 ebdbb2 -base f9f5d7 -mantle eae6c7 -crust e0ddc7 -success 79740e -primary_paletteKeyColor 7D7A2E -secondary_paletteKeyColor 7A7859 -tertiary_paletteKeyColor 567F6D -neutral_paletteKeyColor 79776C -neutral_variant_paletteKeyColor 797768 -background FDF9EC -onBackground 1D1C14 -surface FDF9EC -surfaceDim DEDACD -surfaceBright FDF9EC -surfaceContainerLowest FFFFFF -surfaceContainerLow F8F4E6 -surfaceContainer F2EEE0 -surfaceContainerHigh ECE8DB -surfaceContainerHighest E6E2D5 -onSurface 1D1C14 -surfaceVariant E7E3D1 -onSurfaceVariant 49473A -inverseSurface 323128 -inverseOnSurface F5F1E3 -outline 777566 -outlineVariant CAC7B6 -shadow 000000 -scrim 000000 -surfaceTint 636116 -primary 636116 -onPrimary FFFFFF -primaryContainer EAE68E -onPrimaryContainer 4B4900 -inversePrimary CECA75 -secondary 616042 -onSecondary FFFFFF -secondaryContainer E5E1BC -onSecondaryContainer 49482C -tertiary 547D6B -onTertiary FFFFFF -tertiaryContainer 547D6B -onTertiaryContainer FFFFFF -error BA1A1A -onError FFFFFF -errorContainer FFDAD6 -onErrorContainer 93000A -primaryFixed EAE68E -primaryFixedDim CECA75 -onPrimaryFixed 1E1D00 -onPrimaryFixedVariant 4B4900 -secondaryFixed E8E4BF -secondaryFixedDim CBC8A4 -onSecondaryFixed 1D1C06 -onSecondaryFixedVariant 49482C -tertiaryFixed C0ECD7 -tertiaryFixedDim A5D0BB -onTertiaryFixed 002116 -onTertiaryFixedVariant 264E3E \ No newline at end of file diff --git a/data/schemes/gruvbox/medium/dark.txt b/data/schemes/gruvbox/medium/dark.txt deleted file mode 100644 index 1ed9168..0000000 --- a/data/schemes/gruvbox/medium/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater e8bcb6 -flamingo c59e9d -pink d24cce -mauve b16286 -red cc241d -maroon fb4934 -peach fe8019 -yellow fabd2f -green b8bb26 -teal 8ec07c -sky 9bcccb -sapphire 4191b1 -blue 83a598 -lavender a378cb -text fbf1c7 -subtext1 d5c4a1 -subtext0 bdae93 -overlay2 a89984 -overlay1 928374 -overlay0 7c6f64 -surface2 665c54 -surface1 504945 -surface0 3c3836 -base 282828 -mantle 1f2122 -crust 181a1b -success b8bb26 -primary_paletteKeyColor 28828E -secondary_paletteKeyColor 627B80 -tertiary_paletteKeyColor 6B7697 -neutral_paletteKeyColor 727879 -neutral_variant_paletteKeyColor 6F797B -background 0E1415 -onBackground DEE3E5 -surface 0E1415 -surfaceDim 0E1415 -surfaceBright 343A3B -surfaceContainerLowest 090F10 -surfaceContainerLow 171D1E -surfaceContainer 1B2122 -surfaceContainerHigh 252B2C -surfaceContainerHighest 303637 -onSurface DEE3E5 -surfaceVariant 3F484A -onSurfaceVariant BFC8CA -inverseSurface DEE3E5 -inverseOnSurface 2B3133 -outline 899294 -outlineVariant 3F484A -shadow 000000 -scrim 000000 -surfaceTint 82D3E0 -primary 82D3E0 -onPrimary 00363D -primaryContainer 004F58 -onPrimaryContainer 9EEFFD -inversePrimary 006874 -secondary B1CBD0 -onSecondary 1C3438 -secondaryContainer 354D51 -onSecondaryContainer CDE7EC -tertiary BAC6EA -onTertiary 24304D -tertiaryContainer 8490B2 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed 9EEFFD -primaryFixedDim 82D3E0 -onPrimaryFixed 001F24 -onPrimaryFixedVariant 004F58 -secondaryFixed CDE7EC -secondaryFixedDim B1CBD0 -onSecondaryFixed 051F23 -onSecondaryFixedVariant 334B4F -tertiaryFixed DAE2FF -tertiaryFixedDim BAC6EA -onTertiaryFixed 0E1B37 -onTertiaryFixedVariant 3B4664 \ No newline at end of file diff --git a/data/schemes/gruvbox/medium/light.txt b/data/schemes/gruvbox/medium/light.txt deleted file mode 100644 index 0c484cf..0000000 --- a/data/schemes/gruvbox/medium/light.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater b16286 -flamingo 8f3f71 -pink 8f3f71 -mauve 8f3f71 -red 9d0006 -maroon cc241d -peach af3a03 -yellow b57614 -green 79740e -teal 427b58 -sky 076678 -sapphire 076678 -blue 076678 -lavender 8f3f71 -text 282828 -subtext1 3c3836 -subtext0 504945 -overlay2 7c6f64 -overlay1 928374 -overlay0 a89984 -surface2 bdae93 -surface1 d5c4a1 -surface0 ebdbb2 -base fbf1c7 -mantle f2e8c0 -crust eae0bd -success 79740e -primary_paletteKeyColor 857829 -secondary_paletteKeyColor 7E7757 -tertiary_paletteKeyColor 5A7F68 -neutral_paletteKeyColor 7B776C -neutral_variant_paletteKeyColor 7B7768 -background FFF9EB -onBackground 1D1C13 -surface FFF9EB -surfaceDim DFDACC -surfaceBright FFF9EB -surfaceContainerLowest FFFFFF -surfaceContainerLow F9F3E5 -surfaceContainer F3EDE0 -surfaceContainerHigh EEE8DA -surfaceContainerHighest E8E2D4 -onSurface 1D1C13 -surfaceVariant E9E2D0 -onSurfaceVariant 4A4739 -inverseSurface 333027 -inverseOnSurface F6F0E2 -outline 797465 -outlineVariant CCC6B5 -shadow 000000 -scrim 000000 -surfaceTint 6A5F11 -primary 6A5F11 -onPrimary FFFFFF -primaryContainer F4E489 -onPrimaryContainer 514700 -inversePrimary D7C770 -secondary 655F41 -onSecondary FFFFFF -secondaryContainer E9E0BA -onSecondaryContainer 4C472B -tertiary 577D66 -onTertiary FFFFFF -tertiaryContainer 577D66 -onTertiaryContainer FFFFFF -error BA1A1A -onError FFFFFF -errorContainer FFDAD6 -onErrorContainer 93000A -primaryFixed F4E489 -primaryFixedDim D7C770 -onPrimaryFixed 201C00 -onPrimaryFixedVariant 514700 -secondaryFixed ECE3BD -secondaryFixedDim CFC7A2 -onSecondaryFixed 201C05 -onSecondaryFixedVariant 4C472B -tertiaryFixed C3ECD1 -tertiaryFixedDim A8D0B5 -onTertiaryFixed 002112 -onTertiaryFixedVariant 2A4E3A \ No newline at end of file diff --git a/data/schemes/gruvbox/soft/dark.txt b/data/schemes/gruvbox/soft/dark.txt deleted file mode 100644 index 5a952e7..0000000 --- a/data/schemes/gruvbox/soft/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater e8bcb6 -flamingo c59e9d -pink d24cce -mauve b16286 -red cc241d -maroon fb4934 -peach fe8019 -yellow fabd2f -green b8bb26 -teal 8ec07c -sky 9bcccb -sapphire 4191b1 -blue 83a598 -lavender a378cb -text fbf1c7 -subtext1 d5c4a1 -subtext0 bdae93 -overlay2 a89984 -overlay1 928374 -overlay0 7c6f64 -surface2 665c54 -surface1 504945 -surface0 3c3836 -base 32302f -mantle 282828 -crust 1f2122 -success b8bb26 -primary_paletteKeyColor A46A32 -secondary_paletteKeyColor 8E725A -tertiary_paletteKeyColor 737B4E -neutral_paletteKeyColor 81756D -neutral_variant_paletteKeyColor 837469 -background 19120C -onBackground EFE0D5 -surface 19120C -surfaceDim 19120C -surfaceBright 413730 -surfaceContainerLowest 130D07 -surfaceContainerLow 221A14 -surfaceContainer 261E18 -surfaceContainerHigh 312822 -surfaceContainerHighest 3C332C -onSurface EFE0D5 -surfaceVariant 51443A -onSurfaceVariant D6C3B6 -inverseSurface EFE0D5 -inverseOnSurface 372F28 -outline 9E8E82 -outlineVariant 51443A -shadow 000000 -scrim 000000 -surfaceTint FFB878 -primary FFB878 -onPrimary 4C2700 -primaryContainer 6B3B03 -onPrimaryContainer FFDCC1 -inversePrimary 87521B -secondary E2C0A5 -onSecondary 412C19 -secondaryContainer 5A422D -onSecondaryContainer FFDCC1 -tertiary C2CB98 -onTertiary 2C340E -tertiaryContainer 8D9566 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed FFDCC1 -primaryFixedDim FFB878 -onPrimaryFixed 2E1600 -onPrimaryFixedVariant 6B3B03 -secondaryFixed FFDCC1 -secondaryFixedDim E2C0A5 -onSecondaryFixed 2A1706 -onSecondaryFixedVariant 5A422D -tertiaryFixed DFE8B2 -tertiaryFixedDim C2CB98 -onTertiaryFixed 181E00 -onTertiaryFixedVariant 434A23 \ No newline at end of file diff --git a/data/schemes/gruvbox/soft/light.txt b/data/schemes/gruvbox/soft/light.txt deleted file mode 100644 index eae8b04..0000000 --- a/data/schemes/gruvbox/soft/light.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater b16286 -flamingo 8f3f71 -pink 8f3f71 -mauve 8f3f71 -red 9d0006 -maroon cc241d -peach af3a03 -yellow b57614 -green 79740e -teal 427b58 -sky 076678 -sapphire 076678 -blue 076678 -lavender 8f3f71 -text 282828 -subtext1 3c3836 -subtext0 504945 -overlay2 7c6f64 -overlay1 928374 -overlay0 a89984 -surface2 bdae93 -surface1 d5c4a1 -surface0 ebdbb2 -base f2e5bc -mantle ebdfb6 -crust e1d5ae -success 79740e -primary_paletteKeyColor 887627 -secondary_paletteKeyColor 807757 -tertiary_paletteKeyColor 5C7F66 -neutral_paletteKeyColor 7B776C -neutral_variant_paletteKeyColor 7C7768 -background FFF9EE -onBackground 1E1B13 -surface FFF9EE -surfaceDim E0D9CC -surfaceBright FFF9EE -surfaceContainerLowest FFFFFF -surfaceContainerLow FAF3E5 -surfaceContainer F4EDDF -surfaceContainerHigh EEE7DA -surfaceContainerHighest E9E2D4 -onSurface 1E1B13 -surfaceVariant EAE2CF -onSurfaceVariant 4B4739 -inverseSurface 333027 -inverseOnSurface F7F0E2 -outline 7A7465 -outlineVariant CDC6B4 -shadow 000000 -scrim 000000 -surfaceTint 6E5D0E -primary 6E5D0E -onPrimary FFFFFF -primaryContainer FAE287 -onPrimaryContainer 544600 -inversePrimary DCC66E -secondary 665E40 -onSecondary FFFFFF -secondaryContainer ECDFB9 -onSecondaryContainer 4E472A -tertiary 597D63 -onTertiary FFFFFF -tertiaryContainer 597D63 -onTertiaryContainer FFFFFF -error BA1A1A -onError FFFFFF -errorContainer FFDAD6 -onErrorContainer 93000A -primaryFixed FAE287 -primaryFixedDim DCC66E -onPrimaryFixed 221B00 -onPrimaryFixedVariant 544600 -secondaryFixed EEE2BC -secondaryFixedDim D2C6A1 -onSecondaryFixed 211B04 -onSecondaryFixedVariant 4E472A -tertiaryFixed C5ECCD -tertiaryFixedDim AAD0B2 -onTertiaryFixed 00210F -onTertiaryFixedVariant 2C4E37 \ No newline at end of file diff --git a/data/schemes/oldworld/dark.txt b/data/schemes/oldworld/dark.txt deleted file mode 100644 index 846dc18..0000000 --- a/data/schemes/oldworld/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f4d3d3 -flamingo edbab5 -pink e29eca -mauve c99ee2 -red ea83a5 -maroon f49eba -peach f5a191 -yellow e6b99d -green 90b99f -teal 85b5ba -sky 69b6e0 -sapphire 5b9fba -blue 92a2d5 -lavender aca1cf -text c9c7cd -subtext1 9998a8 -subtext0 757581 -overlay2 57575f -overlay1 3e3e43 -overlay0 353539 -surface2 2a2a2d -surface1 27272a -surface0 1b1b1d -base 161617 -mantle 131314 -crust 101011 -success 90b99f -primary_paletteKeyColor 5A77AB -secondary_paletteKeyColor 6E778A -tertiary_paletteKeyColor 8A6E8E -neutral_paletteKeyColor 76777D -neutral_variant_paletteKeyColor 74777F -background 111318 -onBackground E2E2E9 -surface 111318 -surfaceDim 111318 -surfaceBright 37393E -surfaceContainerLowest 0C0E13 -surfaceContainerLow 191C20 -surfaceContainer 1E2025 -surfaceContainerHigh 282A2F -surfaceContainerHighest 33353A -onSurface E2E2E9 -surfaceVariant 44474E -onSurfaceVariant C4C6D0 -inverseSurface E2E2E9 -inverseOnSurface 2E3036 -outline 8E9099 -outlineVariant 44474E -shadow 000000 -scrim 000000 -surfaceTint ABC7FF -primary ABC7FF -onPrimary 0B305F -primaryContainer 284777 -onPrimaryContainer D7E3FF -inversePrimary 415E91 -secondary BEC6DC -onSecondary 283141 -secondaryContainer 3E4759 -onSecondaryContainer DAE2F9 -tertiary DDBCE0 -onTertiary 3F2844 -tertiaryContainer A587A9 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed D7E3FF -primaryFixedDim ABC7FF -onPrimaryFixed 001B3F -onPrimaryFixedVariant 284777 -secondaryFixed DAE2F9 -secondaryFixedDim BEC6DC -onSecondaryFixed 131C2B -onSecondaryFixedVariant 3E4759 -tertiaryFixed FAD8FD -tertiaryFixedDim DDBCE0 -onTertiaryFixed 28132E -onTertiaryFixedVariant 573E5C \ No newline at end of file diff --git a/data/schemes/onedark/dark.txt b/data/schemes/onedark/dark.txt deleted file mode 100644 index 269096e..0000000 --- a/data/schemes/onedark/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater edcbc5 -flamingo d3a4a4 -pink d792c6 -mauve c678dd -red be5046 -maroon e06c75 -peach d19a66 -yellow e5c07b -green 98c379 -teal 56b6c2 -sky 90ccd7 -sapphire 389dcc -blue 61afef -lavender 8e98d9 -text abb2bf -subtext1 95a0b5 -subtext0 838b9c -overlay2 767f8f -overlay1 666e7c -overlay0 5c6370 -surface2 4b5263 -surface1 3c414f -surface0 30343e -base 282c34 -mantle 21242b -crust 1e2126 -success 98c379 -primary_paletteKeyColor 5878AB -secondary_paletteKeyColor 6E778A -tertiary_paletteKeyColor 896E8F -neutral_paletteKeyColor 75777D -neutral_variant_paletteKeyColor 74777F -background 111318 -onBackground E1E2E9 -surface 111318 -surfaceDim 111318 -surfaceBright 37393E -surfaceContainerLowest 0C0E13 -surfaceContainerLow 191C20 -surfaceContainer 1D2024 -surfaceContainerHigh 282A2F -surfaceContainerHighest 33353A -onSurface E1E2E9 -surfaceVariant 43474E -onSurfaceVariant C4C6CF -inverseSurface E1E2E9 -inverseOnSurface 2E3035 -outline 8E9099 -outlineVariant 43474E -shadow 000000 -scrim 000000 -surfaceTint A8C8FF -primary A8C8FF -onPrimary 06305F -primaryContainer 254777 -onPrimaryContainer D5E3FF -inversePrimary 3F5F90 -secondary BDC7DC -onSecondary 273141 -secondaryContainer 40495B -onSecondaryContainer D9E3F8 -tertiary DBBCE1 -onTertiary 3E2845 -tertiaryContainer A387AA -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed D5E3FF -primaryFixedDim A8C8FF -onPrimaryFixed 001B3C -onPrimaryFixedVariant 254777 -secondaryFixed D9E3F8 -secondaryFixedDim BDC7DC -onSecondaryFixed 121C2B -onSecondaryFixedVariant 3E4758 -tertiaryFixed F8D8FE -tertiaryFixedDim DBBCE1 -onTertiaryFixed 28132F -onTertiaryFixedVariant 563E5D \ No newline at end of file diff --git a/data/schemes/rosepine/dawn/light.txt b/data/schemes/rosepine/dawn/light.txt deleted file mode 100644 index 90f4f73..0000000 --- a/data/schemes/rosepine/dawn/light.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater d4aeac -flamingo d7827e -pink bd6dbd -mauve 907aa9 -red b4637a -maroon d3889d -peach d7a37e -yellow ea9d34 -green 569f60 -teal 56949f -sky 5ba4b0 -sapphire 286983 -blue 284983 -lavender 6e6fa7 -text 575279 -subtext1 797593 -subtext0 9893a5 -overlay2 a39eb1 -overlay1 a8a2b6 -overlay0 b9b3ca -surface2 f3eae4 -surface1 f4ede8 -surface0 fffaf3 -base faf4ed -mantle f2ebe4 -crust e4e2de -success 569f60 -primary_paletteKeyColor 8B7526 -secondary_paletteKeyColor 817656 -tertiary_paletteKeyColor 5D7F64 -neutral_paletteKeyColor 7C776C -neutral_variant_paletteKeyColor 7D7768 -background FFF8F0 -onBackground 1E1B13 -surface FFF8F0 -surfaceDim E1D9CC -surfaceBright FFF8F0 -surfaceContainerLowest FFFFFF -surfaceContainerLow FBF3E5 -surfaceContainer F5EDDF -surfaceContainerHigh EFE7DA -surfaceContainerHighest E9E2D4 -onSurface 1E1B13 -surfaceVariant EBE2CF -onSurfaceVariant 4B4639 -inverseSurface 343027 -inverseOnSurface F8F0E2 -outline 7A7465 -outlineVariant CEC6B4 -shadow 000000 -scrim 000000 -surfaceTint 715C0D -primary 715C0D -onPrimary FFFFFF -primaryContainer FDE186 -onPrimaryContainer 564500 -inversePrimary E0C56D -secondary 685E40 -onSecondary FFFFFF -secondaryContainer F0E2BB -onSecondaryContainer 4F462A -tertiary 5B7C61 -onTertiary FFFFFF -tertiaryContainer 5B7C61 -onTertiaryContainer FFFFFF -error BA1A1A -onError FFFFFF -errorContainer FFDAD6 -onErrorContainer 93000A -primaryFixed FDE186 -primaryFixedDim E0C56D -onPrimaryFixed 231B00 -onPrimaryFixedVariant 564500 -secondaryFixed F0E2BB -secondaryFixedDim D3C6A1 -onSecondaryFixed 221B04 -onSecondaryFixedVariant 4F462A -tertiaryFixed C7ECCB -tertiaryFixedDim ABCFB0 -onTertiaryFixed 01210D -onTertiaryFixedVariant 2E4E36 \ No newline at end of file diff --git a/data/schemes/rosepine/main/dark.txt b/data/schemes/rosepine/main/dark.txt deleted file mode 100644 index 061454b..0000000 --- a/data/schemes/rosepine/main/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f0d4d3 -flamingo ebbcba -pink d97cbf -mauve c4a7e7 -red eb6f92 -maroon e891aa -peach e8a992 -yellow f6c177 -green 8fdbab -teal 90d5c2 -sky 9ccfd8 -sapphire 31748f -blue 6f81d5 -lavender a9a7e7 -text e0def4 -subtext1 908caa -subtext0 6e6a86 -overlay2 605d76 -overlay1 534f65 -overlay0 454253 -surface2 232130 -surface1 21202e -surface0 1f1d2e -base 191724 -mantle 16141e -crust 121116 -success 8fdbab -primary_paletteKeyColor 786FAB -secondary_paletteKeyColor 79748B -tertiary_paletteKeyColor 976A7D -neutral_paletteKeyColor 79767D -neutral_variant_paletteKeyColor 78757F -background 141318 -onBackground E5E1E9 -surface 141318 -surfaceDim 141318 -surfaceBright 3A383E -surfaceContainerLowest 0E0D13 -surfaceContainerLow 1C1B20 -surfaceContainer 201F25 -surfaceContainerHigh 2B292F -surfaceContainerHighest 35343A -onSurface E5E1E9 -surfaceVariant 48454E -onSurfaceVariant C9C5D0 -inverseSurface E5E1E9 -inverseOnSurface 312F36 -outline 938F99 -outlineVariant 48454E -shadow 000000 -scrim 000000 -surfaceTint C9BFFF -primary C9BFFF -onPrimary 31285F -primaryContainer 473F77 -onPrimaryContainer E5DEFF -inversePrimary 5F5790 -secondary C9C3DC -onSecondary 312E41 -secondaryContainer 484459 -onSecondaryContainer E5DFF9 -tertiary EDB8CD -onTertiary 482536 -tertiaryContainer B38397 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed E5DEFF -primaryFixedDim C9BFFF -onPrimaryFixed 1B1149 -onPrimaryFixedVariant 473F77 -secondaryFixed E5DFF9 -secondaryFixedDim C9C3DC -onSecondaryFixed 1C192B -onSecondaryFixedVariant 484459 -tertiaryFixed FFD8E6 -tertiaryFixedDim EDB8CD -onTertiaryFixed 301120 -onTertiaryFixedVariant 623B4C \ No newline at end of file diff --git a/data/schemes/rosepine/moon/dark.txt b/data/schemes/rosepine/moon/dark.txt deleted file mode 100644 index 37183ae..0000000 --- a/data/schemes/rosepine/moon/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f0d4d3 -flamingo ea9a97 -pink d97cbf -mauve c4a7e7 -red eb6f92 -maroon e891aa -peach e8a992 -yellow f6c177 -green 8fdbab -teal 90d5c2 -sky 9ccfd8 -sapphire 3e8fb0 -blue 6f81d5 -lavender a9a7e7 -text e0def4 -subtext1 908caa -subtext0 6e6a86 -overlay2 635f7a -overlay1 555268 -overlay0 49475a -surface2 312f47 -surface1 2b283b -surface0 2a273f -base 232136 -mantle 201e30 -crust 1d1b2c -success 8fdbab -primary_paletteKeyColor 7670AC -secondary_paletteKeyColor 77748B -tertiary_paletteKeyColor 966B7F -neutral_paletteKeyColor 78767D -neutral_variant_paletteKeyColor 787680 -background 131318 -onBackground E5E1E9 -surface 131318 -surfaceDim 131318 -surfaceBright 3A383E -surfaceContainerLowest 0E0E13 -surfaceContainerLow 1C1B20 -surfaceContainer 201F25 -surfaceContainerHigh 2A292F -surfaceContainerHighest 35343A -onSurface E5E1E9 -surfaceVariant 47464F -onSurfaceVariant C9C5D0 -inverseSurface E5E1E9 -inverseOnSurface 313036 -outline 928F99 -outlineVariant 47464F -shadow 000000 -scrim 000000 -surfaceTint C6BFFF -primary C6BFFF -onPrimary 2E295F -primaryContainer 454077 -onPrimaryContainer E4DFFF -inversePrimary 5D5791 -secondary C8C3DC -onSecondary 302E41 -secondaryContainer 474459 -onSecondaryContainer E4DFF9 -tertiary EBB8CF -onTertiary 482537 -tertiaryContainer B28499 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed E4DFFF -primaryFixedDim C6BFFF -onPrimaryFixed 19124A -onPrimaryFixedVariant 454077 -secondaryFixed E4DFF9 -secondaryFixedDim C8C3DC -onSecondaryFixed 1B192C -onSecondaryFixedVariant 474459 -tertiaryFixed FFD8E8 -tertiaryFixedDim EBB8CF -onTertiaryFixed 301122 -onTertiaryFixedVariant 613B4E \ No newline at end of file diff --git a/data/schemes/shadotheme/dark.txt b/data/schemes/shadotheme/dark.txt deleted file mode 100644 index e178804..0000000 --- a/data/schemes/shadotheme/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f1c4e0 -flamingo F18FB0 -pink a8899c -mauve E9729D -red B52A5B -maroon FF4971 -peach ff79c6 -yellow 8897F4 -green 6a5acd -teal F18FB0 -sky 4484d1 -sapphire 2f77a1 -blue bd93f9 -lavender 849BE0 -text e3c7fc -subtext1 CBB2E1 -subtext0 B39DC7 -overlay2 9A88AC -overlay1 827392 -overlay0 6A5D77 -surface2 52485D -surface1 393342 -surface0 211E28 -base 09090d -mantle 060608 -crust 030304 -success 37d4a7 -primary_paletteKeyColor 6F72AC -secondary_paletteKeyColor 75758B -tertiary_paletteKeyColor 936B83 -neutral_paletteKeyColor 78767D -neutral_variant_paletteKeyColor 777680 -background 131318 -onBackground E4E1E9 -surface 131318 -surfaceDim 131318 -surfaceBright 39383F -surfaceContainerLowest 0E0E13 -surfaceContainerLow 1B1B21 -surfaceContainer 1F1F25 -surfaceContainerHigh 2A292F -surfaceContainerHighest 35343A -onSurface E4E1E9 -surfaceVariant 46464F -onSurfaceVariant C7C5D0 -inverseSurface E4E1E9 -inverseOnSurface 303036 -outline 918F9A -outlineVariant 46464F -shadow 000000 -scrim 000000 -surfaceTint BFC1FF -primary BFC1FF -onPrimary 282B60 -primaryContainer 3F4178 -onPrimaryContainer E1E0FF -inversePrimary 565992 -secondary C5C4DD -onSecondary 2E2F42 -secondaryContainer 47475B -onSecondaryContainer E2E0F9 -tertiary E8B9D4 -onTertiary 46263B -tertiaryContainer AF849D -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed E1E0FF -primaryFixedDim BFC1FF -onPrimaryFixed 12144B -onPrimaryFixedVariant 3F4178 -secondaryFixed E2E0F9 -secondaryFixedDim C5C4DD -onSecondaryFixed 191A2C -onSecondaryFixedVariant 454559 -tertiaryFixed FFD8ED -tertiaryFixedDim E8B9D4 -onTertiaryFixed 2E1125 -onTertiaryFixedVariant 5F3C52 \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..61c689a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,14 @@ +[build-system] +requires = ["hatchling", "hatch-vcs"] +build-backend = "hatchling.build" + +[project] +name = "caelestia" +requires-python = ">=3.13" +dynamic = ["version"] + +[project.scripts] +caelestia = "caelestia:main" + +[tool.hatch.version] +source = "vcs" diff --git a/src/caelestia/__init__.py b/src/caelestia/__init__.py new file mode 100644 index 0000000..1d56fcc --- /dev/null +++ b/src/caelestia/__init__.py @@ -0,0 +1,9 @@ +from caelestia.parser import parse_args + + +def main() -> None: + args = parse_args() + args.cls(args).run() + +if __name__ == "__main__": + main() diff --git a/src/caelestia/data.py b/src/caelestia/data.py new file mode 100644 index 0000000..fa97a03 --- /dev/null +++ b/src/caelestia/data.py @@ -0,0 +1,120 @@ +import os +from pathlib import Path + +config_dir = Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config")) +data_dir = Path(os.getenv("XDG_DATA_HOME", Path.home() / ".local/share")) +state_dir = Path(os.getenv("XDG_STATE_HOME", Path.home() / ".local/state")) + +c_config_dir = config_dir / "caelestia" +c_data_dir = data_dir / "caelestia" +c_state_dir = state_dir / "caelestia" + +scheme_name_path = c_state_dir / "scheme/name.txt" +scheme_flavour_path = c_state_dir / "scheme/flavour.txt" +scheme_colours_path = c_state_dir / "scheme/colours.txt" +scheme_mode_path = c_state_dir / "scheme/mode.txt" +scheme_variant_path = c_state_dir / "scheme/variant.txt" + +scheme_data_path = Path(__file__).parent / "data/schemes" + +scheme_variants = [ + "tonalspot", + "vibrant", + "expressive", + "fidelity", + "fruitsalad", + "monochrome", + "neutral", + "rainbow", + "content", +] + +scheme_names: list[str] = None +scheme_flavours: list[str] = None +scheme_modes: list[str] = None + +scheme_name: str = None +scheme_flavour: str = None +scheme_colours: dict[str, str] = None +scheme_mode: str = None +scheme_variant: str = None + + +def get_scheme_path() -> Path: + return (scheme_data_path / get_scheme_name() / get_scheme_flavour() / get_scheme_mode()).with_suffix(".txt") + + +def get_scheme_names() -> list[str]: + global scheme_names + + if scheme_names is None: + scheme_names = [f.name for f in scheme_data_path.iterdir() if f.is_dir()] + + return scheme_names + + +def get_scheme_flavours() -> list[str]: + global scheme_flavours + + if scheme_flavours is None: + scheme_flavours = [f.name for f in (scheme_data_path / get_scheme_name()).iterdir() if f.is_dir()] + + return scheme_flavours + + +def get_scheme_modes() -> list[str]: + global scheme_modes + + if scheme_modes is None: + scheme_modes = [ + f.stem for f in (scheme_data_path / get_scheme_name() / get_scheme_flavour()).iterdir() if f.is_file() + ] + + return scheme_modes + + +def get_scheme_name() -> str: + global scheme_name + + if scheme_name is None: + scheme_name = scheme_name_path.read_text().strip() if scheme_name_path.exists() else "catppuccin" + + return scheme_name + + +def get_scheme_flavour() -> str: + global scheme_flavour + + if scheme_flavour is None: + scheme_flavour = scheme_flavour_path.read_text().strip() if scheme_flavour_path.exists() else "mocha" + + return scheme_flavour + + +def get_scheme_colours() -> dict[str, str]: + global scheme_colours + + if scheme_colours is None: + scheme_colours = { + k.strip(): v.strip() for k, v in (line.split(" ") for line in get_scheme_path().read_text().splitlines()) + } + + return scheme_colours + + +def get_scheme_mode() -> str: + global scheme_mode + + if scheme_mode is None: + scheme_mode = scheme_mode_path.read_text().strip() if scheme_mode_path.exists() else "dark" + + return scheme_mode + + +def get_scheme_variant() -> str: + global scheme_variant + + if scheme_variant is None: + scheme_variant = scheme_variant_path.read_text().strip() if scheme_variant_path.exists() else "tonalspot" + + return scheme_variant diff --git a/src/caelestia/data/config.json b/src/caelestia/data/config.json new file mode 100644 index 0000000..47f61e5 --- /dev/null +++ b/src/caelestia/data/config.json @@ -0,0 +1,51 @@ +{ + "toggles": { + "communication": { + "apps": [ + { + "selector": ".class == \"discord\"", + "spawn": "discord", + "action": "spawn move" + }, + { + "selector": ".class == \"whatsapp\"", + "spawn": "firefox --name whatsapp -P whatsapp 'https://web.whatsapp.com'", + "action": "move", + "extraCond": "grep -q 'Name=whatsapp' ~/.mozilla/firefox/profiles.ini" + } + ] + }, + "music": { + "apps": [ + { + "selector": ".class == \"Spotify\" or .initialTitle == \"Spotify\" or .initialTitle == \"Spotify Free\"", + "spawn": "spicetify watch -s", + "action": "spawn move" + }, + { + "selector": ".class == \"feishin\"", + "spawn": "feishin", + "action": "move" + } + ] + }, + "sysmon": { + "apps": [ + { + "selector": ".class == \"btop\" and .title == \"btop\" and .workspace.name == \"special:sysmon\"", + "spawn": "foot -a 'btop' -T 'btop' -- btop", + "action": "spawn" + } + ] + }, + "todo": { + "apps": [ + { + "selector": ".class == \"Todoist\"", + "spawn": "todoist", + "action": "spawn move" + } + ] + } + } +} diff --git a/src/caelestia/data/emojis.txt b/src/caelestia/data/emojis.txt new file mode 100644 index 0000000..3d929c7 --- /dev/null +++ b/src/caelestia/data/emojis.txt @@ -0,0 +1,12242 @@ +¿? question upside down reversed spanish +← left arrow +↑ up arrow +→ right arrow +↓ down arrow +←↑→↓ all directions up down left right arrows +⇇ leftwards paired arrows +⇉ rightwards paired arrows +⇈ upwards paired arrows +⇊ downwards paired arrows +⬱ three leftwards arrows +⇶ three rightwards arrows +• dot circle separator +「」 japanese quote square bracket +¯\_(ツ)_/¯ shrug idk i dont know +(ง🔥ロ🔥)ง person with fire eyes eyes on fire +↵ enter key return +😀 grinning face face smile happy joy :D grin +😃 grinning face with big eyes face happy joy haha :D :) smile funny +😄 grinning face with smiling eyes face happy joy funny haha laugh like :D :) smile +😁 beaming face with smiling eyes face happy smile joy kawaii +😆 grinning squinting face happy joy lol satisfied haha face glad XD laugh +😅 grinning face with sweat face hot happy laugh sweat smile relief +🤣 rolling on the floor laughing face rolling floor laughing lol haha rofl +😂 face with tears of joy face cry tears weep happy happytears haha +🙂 slightly smiling face face smile +🙃 upside down face face flipped silly smile +😉 winking face face happy mischievous secret ;) smile eye +😊 smiling face with smiling eyes face smile happy flushed crush embarrassed shy joy +😇 smiling face with halo face angel heaven halo +🥰 smiling face with hearts face love like affection valentines infatuation crush hearts adore +😍 smiling face with heart eyes face love like affection valentines infatuation crush heart +🤩 star struck face smile starry eyes grinning +😘 face blowing a kiss face love like affection valentines infatuation kiss +😗 kissing face love like face 3 valentines infatuation kiss +☺️ smiling face face blush massage happiness +😚 kissing face with closed eyes face love like affection valentines infatuation kiss +😙 kissing face with smiling eyes face affection valentines infatuation kiss +😋 face savoring food happy joy tongue smile face silly yummy nom delicious savouring +😛 face with tongue face prank childish playful mischievous smile tongue +😜 winking face with tongue face prank childish playful mischievous smile wink tongue +🤪 zany face face goofy crazy +😝 squinting face with tongue face prank playful mischievous smile tongue +🤑 money mouth face face rich dollar money +🤗 hugging face face smile hug +🤭 face with hand over mouth face whoops shock surprise +🤫 shushing face face quiet shhh +🤔 thinking face face hmmm think consider +🤐 zipper mouth face face sealed zipper secret +🤨 face with raised eyebrow face distrust scepticism disapproval disbelief surprise +😐 neutral face indifference meh :| neutral +😑 expressionless face face indifferent - - meh deadpan +😶 face without mouth face hellokitty +😏 smirking face face smile mean prank smug sarcasm +😒 unamused face indifference bored straight face serious sarcasm unimpressed skeptical dubious side eye +🙄 face with rolling eyes face eyeroll frustrated +😬 grimacing face face grimace teeth +🤥 lying face face lie pinocchio +😌 relieved face face relaxed phew massage happiness +😔 pensive face face sad depressed upset +😪 sleepy face face tired rest nap +🤤 drooling face face +😴 sleeping face face tired sleepy night zzz +😷 face with medical mask face sick ill disease +🤒 face with thermometer sick temperature thermometer cold fever +🤕 face with head bandage injured clumsy bandage hurt +🤢 nauseated face face vomit gross green sick throw up ill +🤮 face vomiting face sick +🤧 sneezing face face gesundheit sneeze sick allergy +🥵 hot face face feverish heat red sweating +🥶 cold face face blue freezing frozen frostbite icicles +🥴 woozy face face dizzy intoxicated tipsy wavy +😵 dizzy face spent unconscious xox dizzy +🤯 exploding head face shocked mind blown +🤠 cowboy hat face face cowgirl hat +🥳 partying face face celebration woohoo +😎 smiling face with sunglasses face cool smile summer beach sunglass +🤓 nerd face face nerdy geek dork +🧐 face with monocle face stuffy wealthy +😕 confused face face indifference huh weird hmmm :/ +😟 worried face face concern nervous :( +🙁 slightly frowning face face frowning disappointed sad upset +☹️ frowning face face sad upset frown +😮 face with open mouth face surprise impressed wow whoa :O +😯 hushed face face woo shh +😲 astonished face face xox surprised poisoned +😳 flushed face face blush shy flattered sex +🥺 pleading face face begging mercy +😦 frowning face with open mouth face aw what +😧 anguished face face stunned nervous +😨 fearful face face scared terrified nervous oops huh +😰 anxious face with sweat face nervous sweat +😥 sad but relieved face face phew sweat nervous +😢 crying face face tears sad depressed upset :'( +😭 loudly crying face face cry tears sad upset depressed sob +😱 face screaming in fear face munch scared omg +😖 confounded face face confused sick unwell oops :S +😣 persevering face face sick no upset oops +😞 disappointed face face sad upset depressed :( +😓 downcast face with sweat face hot sad tired exercise +😩 weary face face tired sleepy sad frustrated upset +😫 tired face sick whine upset frustrated +🥱 yawning face tired sleepy +😤 face with steam from nose face gas phew proud pride +😡 pouting face angry mad hate despise +😠 angry face mad face annoyed frustrated +🤬 face with symbols on mouth face swearing cursing cussing profanity expletive +😈 smiling face with horns devil horns +👿 angry face with horns devil angry horns +💀 skull dead skeleton creepy death +☠️ skull and crossbones poison danger deadly scary death pirate evil +💩 pile of poo hankey shitface fail turd shit +🤡 clown face face +👹 ogre monster red mask halloween scary creepy devil demon japanese ogre +👺 goblin red evil mask monster scary creepy japanese goblin +👻 ghost halloween spooky scary +👽 alien UFO paul weird outer space +👾 alien monster game arcade play +🤖 robot computer machine bot +😺 grinning cat animal cats happy smile +😸 grinning cat with smiling eyes animal cats smile +😹 cat with tears of joy animal cats haha happy tears +😻 smiling cat with heart eyes animal love like affection cats valentines heart +😼 cat with wry smile animal cats smirk +😽 kissing cat animal cats kiss +🙀 weary cat animal cats munch scared scream +😿 crying cat animal tears weep sad cats upset cry +😾 pouting cat animal cats +🙈 see no evil monkey monkey animal nature haha +🙉 hear no evil monkey animal monkey nature +🙊 speak no evil monkey monkey animal nature omg +💋 kiss mark face lips love like affection valentines +💌 love letter email like affection envelope valentines +💘 heart with arrow love like heart affection valentines +💝 heart with ribbon love valentines +💖 sparkling heart love like affection valentines +💗 growing heart like love affection valentines pink +💓 beating heart love like affection valentines pink heart +💞 revolving hearts love like affection valentines +💕 two hearts love like affection valentines heart +💟 heart decoration purple-square love like +❣️ heart exclamation decoration love +💔 broken heart sad sorry break heart heartbreak +❤️ red heart love like valentines +🧡 orange heart love like affection valentines +💛 yellow heart love like affection valentines +💚 green heart love like affection valentines +💙 blue heart love like affection valentines +💜 purple heart love like affection valentines +🤎 brown heart coffee +🖤 black heart evil +🤍 white heart pure +💯 hundred points score perfect numbers century exam quiz test pass 100 +💢 anger symbol angry mad +💥 collision bomb explode explosion collision blown +💫 dizzy star sparkle shoot magic +💦 sweat droplets water drip oops +💨 dashing away wind air fast shoo fart smoke puff +🕳️ hole embarrassing +💣 bomb boom explode explosion terrorism +💬 speech balloon bubble words message talk chatting +👁️‍🗨️ eye in speech bubble info +🗨️ left speech bubble words message talk chatting +🗯️ right anger bubble caption speech thinking mad +💭 thought balloon bubble cloud speech thinking dream +💤 zzz sleepy tired dream +👋 waving hand hands gesture goodbye solong farewell hello hi palm +🤚 raised back of hand fingers raised backhand +🖐️ hand with fingers splayed hand fingers palm +✋ raised hand fingers stop highfive palm ban +🖖 vulcan salute hand fingers spock star trek +👌 ok hand fingers limbs perfect ok okay +🤏 pinching hand tiny small size +✌️ victory hand fingers ohyeah hand peace victory two +🤞 crossed fingers good lucky +🤟 love you gesture hand fingers gesture +🤘 sign of the horns hand fingers evil eye sign of horns rock on +🤙 call me hand hands gesture shaka +👈 backhand index pointing left direction fingers hand left +👉 backhand index pointing right fingers hand direction right +👆 backhand index pointing up fingers hand direction up +🖕 middle finger hand fingers rude middle flipping +👇 backhand index pointing down fingers hand direction down +☝️ index pointing up hand fingers direction up +👍 thumbs up thumbsup yes awesome good agree accept cool hand like +1 +👎 thumbs down thumbsdown no dislike hand -1 +✊ raised fist fingers hand grasp +👊 oncoming fist angry violence fist hit attack hand +🤛 left facing fist hand fistbump +🤜 right facing fist hand fistbump +👏 clapping hands hands praise applause congrats yay +🙌 raising hands gesture hooray yea celebration hands +👐 open hands fingers butterfly hands open +🤲 palms up together hands gesture cupped prayer +🤝 handshake agreement shake +🙏 folded hands please hope wish namaste highfive pray +✍️ writing hand lower left ballpoint pen stationery write compose +💅 nail polish beauty manicure finger fashion nail +🤳 selfie camera phone +💪 flexed biceps arm flex hand summer strong biceps +🦾 mechanical arm accessibility +🦿 mechanical leg accessibility +🦵 leg kick limb +🦶 foot kick stomp +👂 ear face hear sound listen +🦻 ear with hearing aid accessibility +👃 nose smell sniff +🧠 brain smart intelligent +🦷 tooth teeth dentist +🦴 bone skeleton +👀 eyes look watch stalk peek see +👁️ eye face look see watch stare +👅 tongue mouth playful +👄 mouth mouth kiss +👶 baby child boy girl toddler +🧒 child gender-neutral young +👦 boy man male guy teenager +👧 girl female woman teenager +🧑 person gender-neutral person +👱 person blond hair hairstyle +👨 man mustache father dad guy classy sir moustache +🧔 man beard person bewhiskered +👨‍🦰 man red hair hairstyle +👨‍🦱 man curly hair hairstyle +👨‍🦳 man white hair old elder +👨‍🦲 man bald hairless +👩 woman female girls lady +👩‍🦰 woman red hair hairstyle +🧑‍🦰 person red hair hairstyle +👩‍🦱 woman curly hair hairstyle +🧑‍🦱 person curly hair hairstyle +👩‍🦳 woman white hair old elder +🧑‍🦳 person white hair elder old +👩‍🦲 woman bald hairless +🧑‍🦲 person bald hairless +👱‍♀️ woman blond hair woman female girl blonde person +👱‍♂️ man blond hair man male boy blonde guy person +🧓 older person human elder senior gender-neutral +👴 old man human male men old elder senior +👵 old woman human female women lady old elder senior +🙍 person frowning worried +🙍‍♂️ man frowning male boy man sad depressed discouraged unhappy +🙍‍♀️ woman frowning female girl woman sad depressed discouraged unhappy +🙎 person pouting upset +🙎‍♂️ man pouting male boy man +🙎‍♀️ woman pouting female girl woman +🙅 person gesturing no decline +🙅‍♂️ man gesturing no male boy man nope +🙅‍♀️ woman gesturing no female girl woman nope +🙆 person gesturing ok agree +🙆‍♂️ man gesturing ok men boy male blue human man +🙆‍♀️ woman gesturing ok women girl female pink human woman +💁 person tipping hand information +💁‍♂️ man tipping hand male boy man human information +💁‍♀️ woman tipping hand female girl woman human information +🙋 person raising hand question +🙋‍♂️ man raising hand male boy man +🙋‍♀️ woman raising hand female girl woman +🧏 deaf person accessibility +🧏‍♂️ deaf man accessibility +🧏‍♀️ deaf woman accessibility +🙇 person bowing respectiful +🙇‍♂️ man bowing man male boy +🙇‍♀️ woman bowing woman female girl +🤦 person facepalming disappointed +🤦‍♂️ man facepalming man male boy disbelief +🤦‍♀️ woman facepalming woman female girl disbelief +🤷 person shrugging regardless +🤷‍♂️ man shrugging man male boy confused indifferent doubt +🤷‍♀️ woman shrugging woman female girl confused indifferent doubt +🧑‍⚕️ health worker hospital +👨‍⚕️ man health worker doctor nurse therapist healthcare man human +👩‍⚕️ woman health worker doctor nurse therapist healthcare woman human +🧑‍🎓 student learn +👨‍🎓 man student graduate man human +👩‍🎓 woman student graduate woman human +🧑‍🏫 teacher professor +👨‍🏫 man teacher instructor professor man human +👩‍🏫 woman teacher instructor professor woman human +🧑‍⚖️ judge law +👨‍⚖️ man judge justice court man human +👩‍⚖️ woman judge justice court woman human +🧑‍🌾 farmer crops +👨‍🌾 man farmer rancher gardener man human +👩‍🌾 woman farmer rancher gardener woman human +🧑‍🍳 cook food kitchen culinary +👨‍🍳 man cook chef man human +👩‍🍳 woman cook chef woman human +🧑‍🔧 mechanic worker technician +👨‍🔧 man mechanic plumber man human wrench +👩‍🔧 woman mechanic plumber woman human wrench +🧑‍🏭 factory worker labor +👨‍🏭 man factory worker assembly industrial man human +👩‍🏭 woman factory worker assembly industrial woman human +🧑‍💼 office worker business +👨‍💼 man office worker business manager man human +👩‍💼 woman office worker business manager woman human +🧑‍🔬 scientist chemistry +👨‍🔬 man scientist biologist chemist engineer physicist man human +👩‍🔬 woman scientist biologist chemist engineer physicist woman human +🧑‍💻 technologist computer +👨‍💻 man technologist coder developer engineer programmer software man human laptop computer +👩‍💻 woman technologist coder developer engineer programmer software woman human laptop computer +🧑‍🎤 singer song artist performer +👨‍🎤 man singer rockstar entertainer man human +👩‍🎤 woman singer rockstar entertainer woman human +🧑‍🎨 artist painting draw creativity +👨‍🎨 man artist painter man human +👩‍🎨 woman artist painter woman human +🧑‍✈️ pilot fly plane airplane +👨‍✈️ man pilot aviator plane man human +👩‍✈️ woman pilot aviator plane woman human +🧑‍🚀 astronaut outerspace +👨‍🚀 man astronaut space rocket man human +👩‍🚀 woman astronaut space rocket woman human +🧑‍🚒 firefighter fire +👨‍🚒 man firefighter fireman man human +👩‍🚒 woman firefighter fireman woman human +👮 police officer cop +👮‍♂️ man police officer man police law legal enforcement arrest 911 +👮‍♀️ woman police officer woman police law legal enforcement arrest 911 female +🕵️ detective human spy detective +🕵️‍♂️ man detective crime +🕵️‍♀️ woman detective human spy detective female woman +💂 guard protect +💂‍♂️ man guard uk gb british male guy royal +💂‍♀️ woman guard uk gb british female royal woman +👷 construction worker labor build +👷‍♂️ man construction worker male human wip guy build construction worker labor +👷‍♀️ woman construction worker female human wip build construction worker labor woman +🤴 prince boy man male crown royal king +👸 princess girl woman female blond crown royal queen +👳 person wearing turban headdress +👳‍♂️ man wearing turban male indian hinduism arabs +👳‍♀️ woman wearing turban female indian hinduism arabs woman +👲 man with skullcap male boy chinese +🧕 woman with headscarf female hijab mantilla tichel +🤵 man in tuxedo couple marriage wedding groom +👰 bride with veil couple marriage wedding woman bride +🤰 pregnant woman baby +🤱 breast feeding nursing baby +👼 baby angel heaven wings halo +🎅 santa claus festival man male xmas father christmas +🤶 mrs claus woman female xmas mother christmas +🦸 superhero marvel +🦸‍♂️ man superhero man male good hero superpowers +🦸‍♀️ woman superhero woman female good heroine superpowers +🦹 supervillain marvel +🦹‍♂️ man supervillain man male evil bad criminal hero superpowers +🦹‍♀️ woman supervillain woman female evil bad criminal heroine superpowers +🧙 mage magic +🧙‍♂️ man mage man male mage sorcerer +🧙‍♀️ woman mage woman female mage witch +🧚 fairy wings magical +🧚‍♂️ man fairy man male +🧚‍♀️ woman fairy woman female +🧛 vampire blood twilight +🧛‍♂️ man vampire man male dracula +🧛‍♀️ woman vampire woman female +🧜 merperson sea +🧜‍♂️ merman man male triton +🧜‍♀️ mermaid woman female merwoman ariel +🧝 elf magical +🧝‍♂️ man elf man male +🧝‍♀️ woman elf woman female +🧞 genie magical wishes +🧞‍♂️ man genie man male +🧞‍♀️ woman genie woman female +🧟 zombie dead +🧟‍♂️ man zombie man male dracula undead walking dead +🧟‍♀️ woman zombie woman female undead walking dead +💆 person getting massage relax +💆‍♂️ man getting massage male boy man head +💆‍♀️ woman getting massage female girl woman head +💇 person getting haircut hairstyle +💇‍♂️ man getting haircut male boy man +💇‍♀️ woman getting haircut female girl woman +🚶 person walking move +🚶‍♂️ man walking human feet steps +🚶‍♀️ woman walking human feet steps woman female +🧍 person standing still +🧍‍♂️ man standing still +🧍‍♀️ woman standing still +🧎 person kneeling pray respectful +🧎‍♂️ man kneeling pray respectful +🧎‍♀️ woman kneeling respectful pray +🧑‍🦯 person with probing cane blind +👨‍🦯 man with probing cane blind +👩‍🦯 woman with probing cane blind +🧑‍🦼 person in motorized wheelchair disability accessibility +👨‍🦼 man in motorized wheelchair disability accessibility +👩‍🦼 woman in motorized wheelchair disability accessibility +🧑‍🦽 person in manual wheelchair disability accessibility +👨‍🦽 man in manual wheelchair disability accessibility +👩‍🦽 woman in manual wheelchair disability accessibility +🏃 person running move +🏃‍♂️ man running man walking exercise race running +🏃‍♀️ woman running woman walking exercise race running female +💃 woman dancing female girl woman fun +🕺 man dancing male boy fun dancer +🕴️ man in suit levitating suit business levitate hover jump +👯 people with bunny ears perform costume +👯‍♂️ men with bunny ears male bunny men boys +👯‍♀️ women with bunny ears female bunny women girls +🧖 person in steamy room relax spa +🧖‍♂️ man in steamy room male man spa steamroom sauna +🧖‍♀️ woman in steamy room female woman spa steamroom sauna +🧗 person climbing sport +🧗‍♂️ man climbing sports hobby man male rock +🧗‍♀️ woman climbing sports hobby woman female rock +🤺 person fencing sports fencing sword +🏇 horse racing animal betting competition gambling luck +⛷️ skier sports winter snow +🏂 snowboarder sports winter +🏌️ person golfing sports business +🏌️‍♂️ man golfing sport +🏌️‍♀️ woman golfing sports business woman female +🏄 person surfing sport sea +🏄‍♂️ man surfing sports ocean sea summer beach +🏄‍♀️ woman surfing sports ocean sea summer beach woman female +🚣 person rowing boat sport move +🚣‍♂️ man rowing boat sports hobby water ship +🚣‍♀️ woman rowing boat sports hobby water ship woman female +🏊 person swimming sport pool +🏊‍♂️ man swimming sports exercise human athlete water summer +🏊‍♀️ woman swimming sports exercise human athlete water summer woman female +⛹️ person bouncing ball sports human +⛹️‍♂️ man bouncing ball sport +⛹️‍♀️ woman bouncing ball sports human woman female +🏋️ person lifting weights sports training exercise +🏋️‍♂️ man lifting weights sport +🏋️‍♀️ woman lifting weights sports training exercise woman female +🚴 person biking sport move +🚴‍♂️ man biking sports bike exercise hipster +🚴‍♀️ woman biking sports bike exercise hipster woman female +🚵 person mountain biking sport move +🚵‍♂️ man mountain biking transportation sports human race bike +🚵‍♀️ woman mountain biking transportation sports human race bike woman female +🤸 person cartwheeling sport gymnastic +🤸‍♂️ man cartwheeling gymnastics +🤸‍♀️ woman cartwheeling gymnastics +🤼 people wrestling sport +🤼‍♂️ men wrestling sports wrestlers +🤼‍♀️ women wrestling sports wrestlers +🤽 person playing water polo sport +🤽‍♂️ man playing water polo sports pool +🤽‍♀️ woman playing water polo sports pool +🤾 person playing handball sport +🤾‍♂️ man playing handball sports +🤾‍♀️ woman playing handball sports +🤹 person juggling performance balance +🤹‍♂️ man juggling juggle balance skill multitask +🤹‍♀️ woman juggling juggle balance skill multitask +🧘 person in lotus position meditate +🧘‍♂️ man in lotus position man male meditation yoga serenity zen mindfulness +🧘‍♀️ woman in lotus position woman female meditation yoga serenity zen mindfulness +🛀 person taking bath clean shower bathroom +🛌 person in bed bed rest +🧑‍🤝‍🧑 people holding hands friendship +👭 women holding hands pair friendship couple love like female people human +👫 woman and man holding hands pair people human love date dating like affection valentines marriage +👬 men holding hands pair couple love like bromance friendship people human +💏 kiss pair valentines love like dating marriage +👩‍❤️‍💋‍👨 kiss woman man love +👨‍❤️‍💋‍👨 kiss man man pair valentines love like dating marriage +👩‍❤️‍💋‍👩 kiss woman woman pair valentines love like dating marriage +💑 couple with heart pair love like affection human dating valentines marriage +👩‍❤️‍👨 couple with heart woman man love +👨‍❤️‍👨 couple with heart man man pair love like affection human dating valentines marriage +👩‍❤️‍👩 couple with heart woman woman pair love like affection human dating valentines marriage +👪 family home parents child mom dad father mother people human +👨‍👩‍👦 family man woman boy love +👨‍👩‍👧 family man woman girl home parents people human child +👨‍👩‍👧‍👦 family man woman girl boy home parents people human children +👨‍👩‍👦‍👦 family man woman boy boy home parents people human children +👨‍👩‍👧‍👧 family man woman girl girl home parents people human children +👨‍👨‍👦 family man man boy home parents people human children +👨‍👨‍👧 family man man girl home parents people human children +👨‍👨‍👧‍👦 family man man girl boy home parents people human children +👨‍👨‍👦‍👦 family man man boy boy home parents people human children +👨‍👨‍👧‍👧 family man man girl girl home parents people human children +👩‍👩‍👦 family woman woman boy home parents people human children +👩‍👩‍👧 family woman woman girl home parents people human children +👩‍👩‍👧‍👦 family woman woman girl boy home parents people human children +👩‍👩‍👦‍👦 family woman woman boy boy home parents people human children +👩‍👩‍👧‍👧 family woman woman girl girl home parents people human children +👨‍👦 family man boy home parent people human child +👨‍👦‍👦 family man boy boy home parent people human children +👨‍👧 family man girl home parent people human child +👨‍👧‍👦 family man girl boy home parent people human children +👨‍👧‍👧 family man girl girl home parent people human children +👩‍👦 family woman boy home parent people human child +👩‍👦‍👦 family woman boy boy home parent people human children +👩‍👧 family woman girl home parent people human child +👩‍👧‍👦 family woman girl boy home parent people human children +👩‍👧‍👧 family woman girl girl home parent people human children +🗣️ speaking head user person human sing say talk +👤 bust in silhouette user person human +👥 busts in silhouette user person human group team +👣 footprints feet tracking walking beach +🐵 monkey face animal nature circus +🐒 monkey animal nature banana circus +🦍 gorilla animal nature circus +🦧 orangutan animal +🐶 dog face animal friend nature woof puppy pet faithful +🐕 dog animal nature friend doge pet faithful +🦮 guide dog animal blind +🐕‍🦺 service dog blind animal +🐩 poodle dog animal 101 nature pet +🐺 wolf animal nature wild +🦊 fox animal nature face +🦝 raccoon animal nature +🐱 cat face animal meow nature pet kitten +🐈 cat animal meow pet cats +🦁 lion animal nature +🐯 tiger face animal cat danger wild nature roar +🐅 tiger animal nature roar +🐆 leopard animal nature +🐴 horse face animal brown nature +🐎 horse animal gamble luck +🦄 unicorn animal nature mystical +🦓 zebra animal nature stripes safari +🦌 deer animal nature horns venison +🐮 cow face beef ox animal nature moo milk +🐂 ox animal cow beef +🐃 water buffalo animal nature ox cow +🐄 cow beef ox animal nature moo milk +🐷 pig face animal oink nature +🐖 pig animal nature +🐗 boar animal nature +🐽 pig nose animal oink +🐏 ram animal sheep nature +🐑 ewe animal nature wool shipit +🐐 goat animal nature +🐪 camel animal hot desert hump +🐫 two hump camel animal nature hot desert hump +🦙 llama animal nature alpaca +🦒 giraffe animal nature spots safari +🐘 elephant animal nature nose th circus +🦏 rhinoceros animal nature horn +🦛 hippopotamus animal nature +🐭 mouse face animal nature cheese wedge rodent +🐁 mouse animal nature rodent +🐀 rat animal mouse rodent +🐹 hamster animal nature +🐰 rabbit face animal nature pet spring magic bunny +🐇 rabbit animal nature pet magic spring +🐿️ chipmunk animal nature rodent squirrel +🦔 hedgehog animal nature spiny +🦇 bat animal nature blind vampire +🐻 bear animal nature wild +🐨 koala animal nature +🐼 panda animal nature panda +🦥 sloth animal +🦦 otter animal +🦨 skunk animal +🦘 kangaroo animal nature australia joey hop marsupial +🦡 badger animal nature honey +🐾 paw prints animal tracking footprints dog cat pet feet +🦃 turkey animal bird +🐔 chicken animal cluck nature bird +🐓 rooster animal nature chicken +🐣 hatching chick animal chicken egg born baby bird +🐤 baby chick animal chicken bird +🐥 front facing baby chick animal chicken baby bird +🐦 bird animal nature fly tweet spring +🐧 penguin animal nature +🕊️ dove animal bird +🦅 eagle animal nature bird +🦆 duck animal nature bird mallard +🦢 swan animal nature bird +🦉 owl animal nature bird hoot +🦩 flamingo animal +🦚 peacock animal nature peahen bird +🦜 parrot animal nature bird pirate talk +🐸 frog animal nature croak toad +🐊 crocodile animal nature reptile lizard alligator +🐢 turtle animal slow nature tortoise +🦎 lizard animal nature reptile +🐍 snake animal evil nature hiss python +🐲 dragon face animal myth nature chinese green +🐉 dragon animal myth nature chinese green +🦕 sauropod animal nature dinosaur brachiosaurus brontosaurus diplodocus extinct +🦖 t rex animal nature dinosaur tyrannosaurus extinct +🐳 spouting whale animal nature sea ocean +🐋 whale animal nature sea ocean +🐬 dolphin animal nature fish sea ocean flipper fins beach +🐟 fish animal food nature +🐠 tropical fish animal swim ocean beach nemo +🐡 blowfish animal nature food sea ocean +🦈 shark animal nature fish sea ocean jaws fins beach +🐙 octopus animal creature ocean sea nature beach +🐚 spiral shell nature sea beach +🐌 snail slow animal shell +🦋 butterfly animal insect nature caterpillar +🐛 bug animal insect nature worm +🐜 ant animal insect nature bug +🐝 honeybee animal insect nature bug spring honey +🐞 lady beetle animal insect nature ladybug +🦗 cricket animal cricket chirp +🕷️ spider animal arachnid +🕸️ spider web animal insect arachnid silk +🦂 scorpion animal arachnid +🦟 mosquito animal nature insect malaria +🦠 microbe amoeba bacteria germs virus +💐 bouquet flowers nature spring +🌸 cherry blossom nature plant spring flower +💮 white flower japanese spring +🏵️ rosette flower decoration military +🌹 rose flowers valentines love spring +🥀 wilted flower plant nature flower +🌺 hibiscus plant vegetable flowers beach +🌻 sunflower nature plant fall +🌼 blossom nature flowers yellow +🌷 tulip flowers plant nature summer spring +🌱 seedling plant nature grass lawn spring +🌲 evergreen tree plant nature +🌳 deciduous tree plant nature +🌴 palm tree plant vegetable nature summer beach mojito tropical +🌵 cactus vegetable plant nature +🌾 sheaf of rice nature plant +🌿 herb vegetable plant medicine weed grass lawn +☘️ shamrock vegetable plant nature irish clover +🍀 four leaf clover vegetable plant nature lucky irish +🍁 maple leaf nature plant vegetable ca fall +🍂 fallen leaf nature plant vegetable leaves +🍃 leaf fluttering in wind nature plant tree vegetable grass lawn spring +🍇 grapes fruit food wine +🍈 melon fruit nature food +🍉 watermelon fruit food picnic summer +🍊 tangerine food fruit nature orange +🍋 lemon fruit nature +🍌 banana fruit food monkey +🍍 pineapple fruit nature food +🥭 mango fruit food tropical +🍎 red apple fruit mac school +🍏 green apple fruit nature +🍐 pear fruit nature food +🍑 peach fruit nature food +🍒 cherries food fruit +🍓 strawberry fruit food nature +🥝 kiwi fruit fruit food +🍅 tomato fruit vegetable nature food +🥥 coconut fruit nature food palm +🥑 avocado fruit food +🍆 eggplant vegetable nature food aubergine +🥔 potato food tuber vegatable starch +🥕 carrot vegetable food orange +🌽 ear of corn food vegetable plant +🌶️ hot pepper food spicy chilli chili +🥒 cucumber fruit food pickle +🥬 leafy green food vegetable plant bok choy cabbage kale lettuce +🥦 broccoli fruit food vegetable +🧄 garlic food spice cook +🧅 onion cook food spice +🍄 mushroom plant vegetable +🥜 peanuts food nut +🌰 chestnut food squirrel +🍞 bread food wheat breakfast toast +🥐 croissant food bread french +🥖 baguette bread food bread french +🥨 pretzel food bread twisted +🥯 bagel food bread bakery schmear +🥞 pancakes food breakfast flapjacks hotcakes +🧇 waffle food breakfast +🧀 cheese wedge food chadder +🍖 meat on bone good food drumstick +🍗 poultry leg food meat drumstick bird chicken turkey +🥩 cut of meat food cow meat cut chop lambchop porkchop +🥓 bacon food breakfast pork pig meat +🍔 hamburger meat fast food beef cheeseburger mcdonalds burger king +🍟 french fries chips snack fast food +🍕 pizza food party +🌭 hot dog food frankfurter +🥪 sandwich food lunch bread +🌮 taco food mexican +🌯 burrito food mexican +🥙 stuffed flatbread food flatbread stuffed gyro +🧆 falafel food +🥚 egg food chicken breakfast +🍳 cooking food breakfast kitchen egg +🥘 shallow pan of food food cooking casserole paella +🍲 pot of food food meat soup +🥣 bowl with spoon food breakfast cereal oatmeal porridge +🥗 green salad food healthy lettuce +🍿 popcorn food movie theater films snack +🧈 butter food cook +🧂 salt condiment shaker +🥫 canned food food soup +🍱 bento box food japanese box +🍘 rice cracker food japanese +🍙 rice ball food japanese +🍚 cooked rice food china asian +🍛 curry rice food spicy hot indian +🍜 steaming bowl food japanese noodle chopsticks +🍝 spaghetti food italian noodle +🍠 roasted sweet potato food nature +🍢 oden food japanese +🍣 sushi food fish japanese rice +🍤 fried shrimp food animal appetizer summer +🍥 fish cake with swirl food japan sea beach narutomaki pink swirl kamaboko surimi ramen +🥮 moon cake food autumn +🍡 dango food dessert sweet japanese barbecue meat +🥟 dumpling food empanada pierogi potsticker +🥠 fortune cookie food prophecy +🥡 takeout box food leftovers +🦀 crab animal crustacean +🦞 lobster animal nature bisque claws seafood +🦐 shrimp animal ocean nature seafood +🦑 squid animal nature ocean sea +🦪 oyster food +🍦 soft ice cream food hot dessert summer +🍧 shaved ice hot dessert summer +🍨 ice cream food hot dessert +🍩 doughnut food dessert snack sweet donut +🍪 cookie food snack oreo chocolate sweet dessert +🎂 birthday cake food dessert cake +🍰 shortcake food dessert +🧁 cupcake food dessert bakery sweet +🥧 pie food dessert pastry +🍫 chocolate bar food snack dessert sweet +🍬 candy snack dessert sweet lolly +🍭 lollipop food snack candy sweet +🍮 custard dessert food +🍯 honey pot bees sweet kitchen +🍼 baby bottle food container milk +🥛 glass of milk beverage drink cow +☕ hot beverage beverage caffeine latte espresso coffee +🍵 teacup without handle drink bowl breakfast green british +🍶 sake wine drink drunk beverage japanese alcohol booze +🍾 bottle with popping cork drink wine bottle celebration +🍷 wine glass drink beverage drunk alcohol booze +🍸 cocktail glass drink drunk alcohol beverage booze mojito +🍹 tropical drink beverage cocktail summer beach alcohol booze mojito +🍺 beer mug relax beverage drink drunk party pub summer alcohol booze +🍻 clinking beer mugs relax beverage drink drunk party pub summer alcohol booze +🥂 clinking glasses beverage drink party alcohol celebrate cheers wine champagne toast +🥃 tumbler glass drink beverage drunk alcohol liquor booze bourbon scotch whisky glass shot +🥤 cup with straw drink soda +🧃 beverage box drink +🧉 mate drink tea beverage +🧊 ice water cold +🥢 chopsticks food +🍽️ fork and knife with plate food eat meal lunch dinner restaurant +🍴 fork and knife cutlery kitchen +🥄 spoon cutlery kitchen tableware +🔪 kitchen knife knife blade cutlery kitchen weapon +🏺 amphora vase jar +🌍 globe showing europe africa globe world international +🌎 globe showing americas globe world USA international +🌏 globe showing asia australia globe world east international +🌐 globe with meridians earth international world internet interweb i18n +🗺️ world map location direction +🗾 map of japan nation country japanese asia +🧭 compass magnetic navigation orienteering +🏔️ snow capped mountain photo nature environment winter cold +⛰️ mountain photo nature environment +🌋 volcano photo nature disaster +🗻 mount fuji photo mountain nature japanese +🏕️ camping photo outdoors tent +🏖️ beach with umbrella weather summer sunny sand mojito +🏜️ desert photo warm saharah +🏝️ desert island photo tropical mojito +🏞️ national park photo environment nature +🏟️ stadium photo place sports concert venue +🏛️ classical building art culture history +🏗️ building construction wip working progress +🧱 brick bricks +🏘️ houses buildings photo +🏚️ derelict house abandon evict broken building +🏠 house building home +🏡 house with garden home plant nature +🏢 office building building bureau work +🏣 japanese post office building envelope communication +🏤 post office building email +🏥 hospital building health surgery doctor +🏦 bank building money sales cash business enterprise +🏨 hotel building accomodation checkin +🏩 love hotel like affection dating +🏪 convenience store building shopping groceries +🏫 school building student education learn teach +🏬 department store building shopping mall +🏭 factory building industry pollution smoke +🏯 japanese castle photo building +🏰 castle building royalty history +💒 wedding love like affection couple marriage bride groom +🗼 tokyo tower photo japanese +🗽 statue of liberty american newyork +⛪ church building religion christ +🕌 mosque islam worship minaret +🛕 hindu temple religion +🕍 synagogue judaism worship temple jewish +⛩️ shinto shrine temple japan kyoto +🕋 kaaba mecca mosque islam +⛲ fountain photo summer water fresh +⛺ tent photo camping outdoors +🌁 foggy photo mountain +🌃 night with stars evening city downtown +🏙️ cityscape photo night life urban +🌄 sunrise over mountains view vacation photo +🌅 sunrise morning view vacation photo +🌆 cityscape at dusk photo evening sky buildings +🌇 sunset photo good morning dawn +🌉 bridge at night photo sanfrancisco +♨️ hot springs bath warm relax +🎠 carousel horse photo carnival +🎡 ferris wheel photo carnival londoneye +🎢 roller coaster carnival playground photo fun +💈 barber pole hair salon style +🎪 circus tent festival carnival party +🚂 locomotive transportation vehicle train +🚃 railway car transportation vehicle +🚄 high speed train transportation vehicle +🚅 bullet train transportation vehicle speed fast public travel +🚆 train transportation vehicle +🚇 metro transportation blue-square mrt underground tube +🚈 light rail transportation vehicle +🚉 station transportation vehicle public +🚊 tram transportation vehicle +🚝 monorail transportation vehicle +🚞 mountain railway transportation vehicle +🚋 tram car transportation vehicle carriage public travel +🚌 bus car vehicle transportation +🚍 oncoming bus vehicle transportation +🚎 trolleybus bart transportation vehicle +🚐 minibus vehicle car transportation +🚑 ambulance health 911 hospital +🚒 fire engine transportation cars vehicle +🚓 police car vehicle cars transportation law legal enforcement +🚔 oncoming police car vehicle law legal enforcement 911 +🚕 taxi uber vehicle cars transportation +🚖 oncoming taxi vehicle cars uber +🚗 automobile red transportation vehicle +🚘 oncoming automobile car vehicle transportation +🚙 sport utility vehicle transportation vehicle +🚚 delivery truck cars transportation +🚛 articulated lorry vehicle cars transportation express +🚜 tractor vehicle car farming agriculture +🏎️ racing car sports race fast formula f1 +🏍️ motorcycle race sports fast +🛵 motor scooter vehicle vespa sasha +🦽 manual wheelchair accessibility +🦼 motorized wheelchair accessibility +🛺 auto rickshaw move transportation +🚲 bicycle sports bicycle exercise hipster +🛴 kick scooter vehicle kick razor +🛹 skateboard board +🚏 bus stop transportation wait +🛣️ motorway road cupertino interstate highway +🛤️ railway track train transportation +🛢️ oil drum barrell +⛽ fuel pump gas station petroleum +🚨 police car light police ambulance 911 emergency alert error pinged law legal +🚥 horizontal traffic light transportation signal +🚦 vertical traffic light transportation driving +🛑 stop sign stop +🚧 construction wip progress caution warning +⚓ anchor ship ferry sea boat +⛵ sailboat ship summer transportation water sailing +🛶 canoe boat paddle water ship +🚤 speedboat ship transportation vehicle summer +🛳️ passenger ship yacht cruise ferry +⛴️ ferry boat ship yacht +🛥️ motor boat ship +🚢 ship transportation titanic deploy +✈️ airplane vehicle transportation flight fly +🛩️ small airplane flight transportation fly vehicle +🛫 airplane departure airport flight landing +🛬 airplane arrival airport flight boarding +🪂 parachute fly glide +💺 seat sit airplane transport bus flight fly +🚁 helicopter transportation vehicle fly +🚟 suspension railway vehicle transportation +🚠 mountain cableway transportation vehicle ski +🚡 aerial tramway transportation vehicle ski +🛰️ satellite communication gps orbit spaceflight NASA ISS +🚀 rocket launch ship staffmode NASA outer space outer space fly +🛸 flying saucer transportation vehicle ufo +🛎️ bellhop bell service +🧳 luggage packing travel +⌛ hourglass done time clock oldschool limit exam quiz test +⏳ hourglass not done oldschool time countdown +⌚ watch time accessories +⏰ alarm clock time wake +⏱️ stopwatch time deadline +⏲️ timer clock alarm +🕰️ mantelpiece clock time +🕛 twelve o clock time noon midnight midday late early schedule +🕧 twelve thirty time late early schedule +🕐 one o clock time late early schedule +🕜 one thirty time late early schedule +🕑 two o clock time late early schedule +🕝 two thirty time late early schedule +🕒 three o clock time late early schedule +🕞 three thirty time late early schedule +🕓 four o clock time late early schedule +🕟 four thirty time late early schedule +🕔 five o clock time late early schedule +🕠 five thirty time late early schedule +🕕 six o clock time late early schedule dawn dusk +🕡 six thirty time late early schedule +🕖 seven o clock time late early schedule +🕢 seven thirty time late early schedule +🕗 eight o clock time late early schedule +🕣 eight thirty time late early schedule +🕘 nine o clock time late early schedule +🕤 nine thirty time late early schedule +🕙 ten o clock time late early schedule +🕥 ten thirty time late early schedule +🕚 eleven o clock time late early schedule +🕦 eleven thirty time late early schedule +🌑 new moon nature twilight planet space night evening sleep +🌒 waxing crescent moon nature twilight planet space night evening sleep +🌓 first quarter moon nature twilight planet space night evening sleep +🌔 waxing gibbous moon nature night sky gray twilight planet space evening sleep +🌕 full moon nature yellow twilight planet space night evening sleep +🌖 waning gibbous moon nature twilight planet space night evening sleep waxing gibbous moon +🌗 last quarter moon nature twilight planet space night evening sleep +🌘 waning crescent moon nature twilight planet space night evening sleep +🌙 crescent moon night sleep sky evening magic +🌚 new moon face nature twilight planet space night evening sleep +🌛 first quarter moon face nature twilight planet space night evening sleep +🌜 last quarter moon face nature twilight planet space night evening sleep +🌡️ thermometer weather temperature hot cold +☀️ sun weather nature brightness summer beach spring +🌝 full moon face nature twilight planet space night evening sleep +🌞 sun with face nature morning sky +🪐 ringed planet outerspace +⭐ star night yellow +🌟 glowing star night sparkle awesome good magic +🌠 shooting star night photo +🌌 milky way photo space stars +☁️ cloud weather sky +⛅ sun behind cloud weather nature cloudy morning fall spring +⛈️ cloud with lightning and rain weather lightning +🌤️ sun behind small cloud weather +🌥️ sun behind large cloud weather +🌦️ sun behind rain cloud weather +🌧️ cloud with rain weather +🌨️ cloud with snow weather +🌩️ cloud with lightning weather thunder +🌪️ tornado weather cyclone twister +🌫️ fog weather +🌬️ wind face gust air +🌀 cyclone weather swirl blue cloud vortex spiral whirlpool spin tornado hurricane typhoon +🌈 rainbow nature happy unicorn face photo sky spring +🌂 closed umbrella weather rain drizzle +☂️ umbrella weather spring +☔ umbrella with rain drops rainy weather spring +⛱️ umbrella on ground weather summer +⚡ high voltage thunder weather lightning bolt fast +❄️ snowflake winter season cold weather christmas xmas +☃️ snowman winter season cold weather christmas xmas frozen +⛄ snowman without snow winter season cold weather christmas xmas frozen without snow +☄️ comet space +🔥 fire hot cook flame +💧 droplet water drip faucet spring +🌊 water wave sea water wave nature tsunami disaster +🎃 jack o lantern halloween light pumpkin creepy fall +🎄 christmas tree festival vacation december xmas celebration +🎆 fireworks photo festival carnival congratulations +🎇 sparkler stars night shine +🧨 firecracker dynamite boom explode explosion explosive +✨ sparkles stars shine shiny cool awesome good magic +🎈 balloon party celebration birthday circus +🎉 party popper party congratulations birthday magic circus celebration tada +🎊 confetti ball festival party birthday circus +🎋 tanabata tree plant nature branch summer +🎍 pine decoration plant nature vegetable panda pine decoration +🎎 japanese dolls japanese toy kimono +🎏 carp streamer fish japanese koinobori carp banner +🎐 wind chime nature ding spring bell +🎑 moon viewing ceremony photo japan asia tsukimi +🧧 red envelope gift +🎀 ribbon decoration pink girl bowtie +🎁 wrapped gift present birthday christmas xmas +🎗️ reminder ribbon sports cause support awareness +🎟️ admission tickets sports concert entrance +🎫 ticket event concert pass +🎖️ military medal award winning army +🏆 trophy win award contest place ftw ceremony +🏅 sports medal award winning +🥇 1st place medal award winning first +🥈 2nd place medal award second +🥉 3rd place medal award third +⚽ soccer ball sports football +⚾ baseball sports balls +🥎 softball sports balls +🏀 basketball sports balls NBA +🏐 volleyball sports balls +🏈 american football sports balls NFL +🏉 rugby football sports team +🎾 tennis sports balls green +🥏 flying disc sports frisbee ultimate +🎳 bowling sports fun play +🏏 cricket game sports +🏑 field hockey sports +🏒 ice hockey sports +🥍 lacrosse sports ball stick +🏓 ping pong sports pingpong +🏸 badminton sports +🥊 boxing glove sports fighting +🥋 martial arts uniform judo karate taekwondo +🥅 goal net sports +⛳ flag in hole sports business flag hole summer +⛸️ ice skate sports +🎣 fishing pole food hobby summer +🤿 diving mask sport ocean +🎽 running shirt play pageant +🎿 skis sports winter cold snow +🛷 sled sleigh luge toboggan +🥌 curling stone sports +🎯 direct hit game play bar target bullseye +🪀 yo yo toy +🪁 kite wind fly +🎱 pool 8 ball pool hobby game luck magic +🔮 crystal ball disco party magic circus fortune teller +🧿 nazar amulet bead charm +🎮 video game play console PS4 Wii GameCube controller +🕹️ joystick game play +🎰 slot machine bet gamble vegas fruit machine luck casino +🎲 game die dice random tabletop play luck +🧩 puzzle piece interlocking puzzle piece +🧸 teddy bear plush stuffed +♠️ spade suit poker cards suits magic +♥️ heart suit poker cards magic suits +♦️ diamond suit poker cards magic suits +♣️ club suit poker cards magic suits +♟️ chess pawn expendable +🃏 joker poker cards game play magic +🀄 mahjong red dragon game play chinese kanji +🎴 flower playing cards game sunset red +🎭 performing arts acting theater drama +🖼️ framed picture photography +🎨 artist palette design paint draw colors +🧵 thread needle sewing spool string +🧶 yarn ball crochet knit +👓 glasses fashion accessories eyesight nerdy dork geek +🕶️ sunglasses face cool accessories +🥽 goggles eyes protection safety +🥼 lab coat doctor experiment scientist chemist +🦺 safety vest protection +👔 necktie shirt suitup formal fashion cloth business +👕 t shirt fashion cloth casual shirt tee +👖 jeans fashion shopping +🧣 scarf neck winter clothes +🧤 gloves hands winter clothes +🧥 coat jacket +🧦 socks stockings clothes +👗 dress clothes fashion shopping +👘 kimono dress fashion women female japanese +🥻 sari dress +🩱 one piece swimsuit fashion +🩲 briefs clothing +🩳 shorts clothing +👙 bikini swimming female woman girl fashion beach summer +👚 woman s clothes fashion shopping bags female +👛 purse fashion accessories money sales shopping +👜 handbag fashion accessory accessories shopping +👝 clutch bag bag accessories shopping +🛍️ shopping bags mall buy purchase +🎒 backpack student education bag backpack +👞 man s shoe fashion male +👟 running shoe shoes sports sneakers +🥾 hiking boot backpacking camping hiking +🥿 flat shoe ballet slip-on slipper +👠 high heeled shoe fashion shoes female pumps stiletto +👡 woman s sandal shoes fashion flip flops +🩰 ballet shoes dance +👢 woman s boot shoes fashion +👑 crown king kod leader royalty lord +👒 woman s hat fashion accessories female lady spring +🎩 top hat magic gentleman classy circus +🎓 graduation cap school college degree university graduation cap hat legal learn education +🧢 billed cap cap baseball +⛑️ rescue worker s helmet construction build +📿 prayer beads dhikr religious +💄 lipstick female girl fashion woman +💍 ring wedding propose marriage valentines diamond fashion jewelry gem engagement +💎 gem stone blue ruby diamond jewelry +🔇 muted speaker sound volume silence quiet +🔈 speaker low volume sound volume silence broadcast +🔉 speaker medium volume volume speaker broadcast +🔊 speaker high volume volume noise noisy speaker broadcast +📢 loudspeaker volume sound +📣 megaphone sound speaker volume +📯 postal horn instrument music +🔔 bell sound notification christmas xmas chime +🔕 bell with slash sound volume mute quiet silent +🎼 musical score treble clef compose +🎵 musical note score tone sound +🎶 musical notes music score +🎙️ studio microphone sing recording artist talkshow +🎚️ level slider scale +🎛️ control knobs dial +🎤 microphone sound music PA sing talkshow +🎧 headphone music score gadgets +📻 radio communication music podcast program +🎷 saxophone music instrument jazz blues +🎸 guitar music instrument +🎹 musical keyboard piano instrument compose +🎺 trumpet music brass +🎻 violin music instrument orchestra symphony +🪕 banjo music instructment +🥁 drum music instrument drumsticks snare +📱 mobile phone technology apple gadgets dial +📲 mobile phone with arrow iphone incoming +☎️ telephone technology communication dial telephone +📞 telephone receiver technology communication dial +📟 pager bbcall oldschool 90s +📠 fax machine communication technology +🔋 battery power energy sustain +🔌 electric plug charger power +💻 laptop technology laptop screen display monitor +🖥️ desktop computer technology computing screen +🖨️ printer paper ink +⌨️ keyboard technology computer type input text +🖱️ computer mouse click +🖲️ trackball technology trackpad +💽 computer disk technology record data disk 90s +💾 floppy disk oldschool technology save 90s 80s +💿 optical disk technology dvd disk disc 90s +📀 dvd cd disk disc +🧮 abacus calculation +🎥 movie camera film record +🎞️ film frames movie +📽️ film projector video tape record movie +🎬 clapper board movie film record +📺 television technology program oldschool show television +📷 camera gadgets photography +📸 camera with flash photography gadgets +📹 video camera film record +📼 videocassette record video oldschool 90s 80s +🔍 magnifying glass tilted left search zoom find detective +🔎 magnifying glass tilted right search zoom find detective +🕯️ candle fire wax +💡 light bulb light electricity idea +🔦 flashlight dark camping sight night +🏮 red paper lantern light paper halloween spooky +🪔 diya lamp lighting +📔 notebook with decorative cover classroom notes record paper study +📕 closed book read library knowledge textbook learn +📖 open book book read library knowledge literature learn study +📗 green book read library knowledge study +📘 blue book read library knowledge learn study +📙 orange book read library knowledge textbook study +📚 books literature library study +📓 notebook stationery record notes paper study +📒 ledger notes paper +📃 page with curl documents office paper +📜 scroll documents ancient history paper +📄 page facing up documents office paper information +📰 newspaper press headline +🗞️ rolled up newspaper press headline +📑 bookmark tabs favorite save order tidy +🔖 bookmark favorite label save +🏷️ label sale tag +💰 money bag dollar payment coins sale +💴 yen banknote money sales japanese dollar currency +💵 dollar banknote money sales bill currency +💶 euro banknote money sales dollar currency +💷 pound banknote british sterling money sales bills uk england currency +💸 money with wings dollar bills payment sale +💳 credit card money sales dollar bill payment shopping +🧾 receipt accounting expenses +💹 chart increasing with yen green-square graph presentation stats +💱 currency exchange money sales dollar travel +💲 heavy dollar sign money sales payment currency buck +✉️ envelope letter postal inbox communication +📧 e mail communication inbox +📨 incoming envelope email inbox +📩 envelope with arrow email communication +📤 outbox tray inbox email +📥 inbox tray email documents +📦 package mail gift cardboard box moving +📫 closed mailbox with raised flag email inbox communication +📪 closed mailbox with lowered flag email communication inbox +📬 open mailbox with raised flag email inbox communication +📭 open mailbox with lowered flag email inbox +📮 postbox email letter envelope +🗳️ ballot box with ballot election vote +✏️ pencil stationery write paper writing school study +✒️ black nib pen stationery writing write +🖋️ fountain pen stationery writing write +🖊️ pen stationery writing write +🖌️ paintbrush drawing creativity art +🖍️ crayon drawing creativity +📝 memo write documents stationery pencil paper writing legal exam quiz test study compose +💼 briefcase business documents work law legal job career +📁 file folder documents business office +📂 open file folder documents load +🗂️ card index dividers organizing business stationery +📅 calendar calendar schedule +📆 tear off calendar schedule date planning +🗒️ spiral notepad memo stationery +🗓️ spiral calendar date schedule planning +📇 card index business stationery +📈 chart increasing graph presentation stats recovery business economics money sales good success +📉 chart decreasing graph presentation stats recession business economics money sales bad failure +📊 bar chart graph presentation stats +📋 clipboard stationery documents +📌 pushpin stationery mark here +📍 round pushpin stationery location map here +📎 paperclip documents stationery +🖇️ linked paperclips documents stationery +📏 straight ruler stationery calculate length math school drawing architect sketch +📐 triangular ruler stationery math architect sketch +✂️ scissors stationery cut +🗃️ card file box business stationery +🗄️ file cabinet filing organizing +🗑️ wastebasket bin trash rubbish garbage toss +🔒 locked security password padlock +🔓 unlocked privacy security +🔏 locked with pen security secret +🔐 locked with key security privacy +🔑 key lock door password +🗝️ old key lock door password +🔨 hammer tools build create +🪓 axe tool chop cut +⛏️ pick tools dig +⚒️ hammer and pick tools build create +🛠️ hammer and wrench tools build create +🗡️ dagger weapon +⚔️ crossed swords weapon +🔫 pistol violence weapon pistol revolver +🏹 bow and arrow sports +🛡️ shield protection security +🔧 wrench tools diy ikea fix maintainer +🔩 nut and bolt handy tools fix +⚙️ gear cog +🗜️ clamp tool +⚖️ balance scale law fairness weight +🦯 probing cane accessibility +🔗 link rings url +⛓️ chains lock arrest +🧰 toolbox tools diy fix maintainer mechanic +🧲 magnet attraction magnetic +⚗️ alembic distilling science experiment chemistry +🧪 test tube chemistry experiment lab science +🧫 petri dish bacteria biology culture lab +🧬 dna biologist genetics life +🔬 microscope laboratory experiment zoomin science study +🔭 telescope stars space zoom science astronomy +📡 satellite antenna communication future radio space +💉 syringe health hospital drugs blood medicine needle doctor nurse +🩸 drop of blood period hurt harm wound +💊 pill health medicine doctor pharmacy drug +🩹 adhesive bandage heal +🩺 stethoscope health +🚪 door house entry exit +🛏️ bed sleep rest +🛋️ couch and lamp read chill +🪑 chair sit furniture +🚽 toilet restroom wc washroom bathroom potty +🚿 shower clean water bathroom +🛁 bathtub clean shower bathroom +🪒 razor cut +🧴 lotion bottle moisturizer sunscreen +🧷 safety pin diaper +🧹 broom cleaning sweeping witch +🧺 basket laundry +🧻 roll of paper roll +🧼 soap bar bathing cleaning lather +🧽 sponge absorbing cleaning porous +🧯 fire extinguisher quench +🛒 shopping cart trolley +🚬 cigarette kills tobacco cigarette joint smoke +⚰️ coffin vampire dead die death rip graveyard cemetery casket funeral box +⚱️ funeral urn dead die death rip ashes +🗿 moai rock easter island moai +🏧 atm sign money sales cash blue-square payment bank +🚮 litter in bin sign blue-square sign human info +🚰 potable water blue-square liquid restroom cleaning faucet +♿ wheelchair symbol blue-square disabled accessibility +🚹 men s room toilet restroom wc blue-square gender male +🚺 women s room purple-square woman female toilet loo restroom gender +🚻 restroom blue-square toilet refresh wc gender +🚼 baby symbol orange-square child +🚾 water closet toilet restroom blue-square +🛂 passport control custom blue-square +🛃 customs passport border blue-square +🛄 baggage claim blue-square airport transport +🛅 left luggage blue-square travel +⚠️ warning exclamation wip alert error problem issue +🚸 children crossing school warning danger sign driving yellow-diamond +⛔ no entry limit security privacy bad denied stop circle +🚫 prohibited forbid stop limit denied disallow circle +🚳 no bicycles cyclist prohibited circle +🚭 no smoking cigarette blue-square smell smoke +🚯 no littering trash bin garbage circle +🚱 non potable water drink faucet tap circle +🚷 no pedestrians rules crossing walking circle +📵 no mobile phones iphone mute circle +🔞 no one under eighteen 18 drink pub night minor circle +☢️ radioactive nuclear danger +☣️ biohazard danger +⬆️ up arrow blue-square continue top direction +↗️ up right arrow blue-square point direction diagonal northeast +➡️ right arrow blue-square next +↘️ down right arrow blue-square direction diagonal southeast +⬇️ down arrow blue-square direction bottom +↙️ down left arrow blue-square direction diagonal southwest +⬅️ left arrow blue-square previous back +↖️ up left arrow blue-square point direction diagonal northwest +↕️ up down arrow blue-square direction way vertical +↔️ left right arrow shape direction horizontal sideways +↩️ right arrow curving left back return blue-square undo enter +↪️ left arrow curving right blue-square return rotate direction +⤴️ right arrow curving up blue-square direction top +⤵️ right arrow curving down blue-square direction bottom +🔃 clockwise vertical arrows sync cycle round repeat +🔄 counterclockwise arrows button blue-square sync cycle +🔙 back arrow arrow words return +🔚 end arrow words arrow +🔛 on arrow arrow words +🔜 soon arrow arrow words +🔝 top arrow words blue-square +🛐 place of worship religion church temple prayer +⚛️ atom symbol science physics chemistry +🕉️ om hinduism buddhism sikhism jainism +✡️ star of david judaism +☸️ wheel of dharma hinduism buddhism sikhism jainism +☯️ yin yang balance +✝️ latin cross christianity +☦️ orthodox cross suppedaneum religion +☪️ star and crescent islam +☮️ peace symbol hippie +🕎 menorah hanukkah candles jewish +🔯 dotted six pointed star purple-square religion jewish hexagram +♈ aries sign purple-square zodiac astrology +♉ taurus purple-square sign zodiac astrology +♊ gemini sign zodiac purple-square astrology +♋ cancer sign zodiac purple-square astrology +♌ leo sign purple-square zodiac astrology +♍ virgo sign zodiac purple-square astrology +♎ libra sign purple-square zodiac astrology +♏ scorpio sign zodiac purple-square astrology scorpio +♐ sagittarius sign zodiac purple-square astrology +♑ capricorn sign zodiac purple-square astrology +♒ aquarius sign purple-square zodiac astrology +♓ pisces purple-square sign zodiac astrology +⛎ ophiuchus sign purple-square constellation astrology +🔀 shuffle tracks button blue-square shuffle music random +🔁 repeat button loop record +🔂 repeat single button blue-square loop +▶️ play button blue-square right direction play +⏩ fast forward button blue-square play speed continue +⏭️ next track button forward next blue-square +⏯️ play or pause button blue-square play pause +◀️ reverse button blue-square left direction +⏪ fast reverse button play blue-square +⏮️ last track button backward +🔼 upwards button blue-square triangle direction point forward top +⏫ fast up button blue-square direction top +🔽 downwards button blue-square direction bottom +⏬ fast down button blue-square direction bottom +⏸️ pause button pause blue-square +⏹️ stop button blue-square +⏺️ record button blue-square +⏏️ eject button blue-square +🎦 cinema blue-square record film movie curtain stage theater +🔅 dim button sun afternoon warm summer +🔆 bright button sun light +📶 antenna bars blue-square reception phone internet connection wifi bluetooth bars +📳 vibration mode orange-square phone +📴 mobile phone off mute orange-square silence quiet +♀️ female sign woman women lady girl +♂️ male sign man boy men +⚕️ medical symbol health hospital +♾️ infinity forever +♻️ recycling symbol arrow environment garbage trash +⚜️ fleur de lis decorative scout +🔱 trident emblem weapon spear +📛 name badge fire forbid +🔰 japanese symbol for beginner badge shield +⭕ hollow red circle circle round +✅ check mark button green-square ok agree vote election answer tick +☑️ check box with check ok agree confirm black-square vote election yes tick +✔️ check mark ok nike answer yes tick +✖️ multiplication sign math calculation +❌ cross mark no delete remove cancel red +❎ cross mark button x green-square no deny +➕ plus sign math calculation addition more increase +➖ minus sign math calculation subtract less +➗ division sign divide math calculation +➰ curly loop scribble draw shape squiggle +➿ double curly loop tape cassette +〽️ part alternation mark graph presentation stats business economics bad +✳️ eight spoked asterisk star sparkle green-square +✴️ eight pointed star orange-square shape polygon +❇️ sparkle stars green-square awesome good fireworks +‼️ double exclamation mark exclamation surprise +⁉️ exclamation question mark wat punctuation surprise +❓ question mark doubt confused +❔ white question mark doubts gray huh confused +❕ white exclamation mark surprise punctuation gray wow warning +❗ exclamation mark heavy exclamation mark danger surprise punctuation wow warning +〰️ wavy dash draw line moustache mustache squiggle scribble +©️ copyright ip license circle law legal +®️ registered alphabet circle +™️ trade mark trademark brand law legal +#️⃣ keycap # symbol blue-square twitter +*️⃣ keycap * star keycap +0️⃣ keycap 0 0 numbers blue-square null +1️⃣ keycap 1 blue-square numbers 1 +2️⃣ keycap 2 numbers 2 prime blue-square +3️⃣ keycap 3 3 numbers prime blue-square +4️⃣ keycap 4 4 numbers blue-square +5️⃣ keycap 5 5 numbers blue-square prime +6️⃣ keycap 6 6 numbers blue-square +7️⃣ keycap 7 7 numbers blue-square prime +8️⃣ keycap 8 8 blue-square numbers +9️⃣ keycap 9 blue-square numbers 9 +🔟 keycap 10 numbers 10 blue-square +🔠 input latin uppercase alphabet words blue-square +🔡 input latin lowercase blue-square alphabet +🔢 input numbers numbers blue-square +🔣 input symbols blue-square music note ampersand percent glyphs characters +🔤 input latin letters blue-square alphabet +🅰️ a button red-square alphabet letter +🆎 ab button red-square alphabet +🅱️ b button red-square alphabet letter +🆑 cl button alphabet words red-square +🆒 cool button words blue-square +🆓 free button blue-square words +ℹ️ information blue-square alphabet letter +🆔 id button purple-square words +Ⓜ️ circled m alphabet blue-circle letter +🆕 new button blue-square words start +🆖 ng button blue-square words shape icon +🅾️ o button alphabet red-square letter +🆗 ok button good agree yes blue-square +🅿️ p button cars blue-square alphabet letter +🆘 sos button help red-square words emergency 911 +🆙 up button blue-square above high +🆚 vs button words orange-square +🈁 japanese here button blue-square here katakana japanese destination +🈂️ japanese service charge button japanese blue-square katakana +🈷️ japanese monthly amount button chinese month moon japanese orange-square kanji +🈶 japanese not free of charge button orange-square chinese have kanji +🈯 japanese reserved button chinese point green-square kanji +🉐 japanese bargain button chinese kanji obtain get circle +🈹 japanese discount button cut divide chinese kanji pink-square +🈚 japanese free of charge button nothing chinese kanji japanese orange-square +🈲 japanese prohibited button kanji japanese chinese forbidden limit restricted red-square +🉑 japanese acceptable button ok good chinese kanji agree yes orange-circle +🈸 japanese application button chinese japanese kanji orange-square +🈴 japanese passing grade button japanese chinese join kanji red-square +🈳 japanese vacancy button kanji japanese chinese empty sky blue-square +㊗️ japanese congratulations button chinese kanji japanese red-circle +㊙️ japanese secret button privacy chinese sshh kanji red-circle +🈺 japanese open for business button japanese opening hours orange-square +🈵 japanese no vacancy button full chinese japanese red-square kanji +🔴 red circle shape error danger +🟠 orange circle round +🟡 yellow circle round +🟢 green circle round +🔵 blue circle shape icon button +🟣 purple circle round +🟤 brown circle round +⚫ black circle shape button round +⚪ white circle shape round +🟥 red square +🟧 orange square +🟨 yellow square +🟩 green square +🟦 blue square +🟪 purple square +🟫 brown square +⬛ black large square shape icon button +⬜ white large square shape icon stone button +◼️ black medium square shape button icon +◻️ white medium square shape stone icon +◾ black medium small square icon shape button +◽ white medium small square shape stone icon button +▪️ black small square shape icon +▫️ white small square shape icon +🔶 large orange diamond shape jewel gem +🔷 large blue diamond shape jewel gem +🔸 small orange diamond shape jewel gem +🔹 small blue diamond shape jewel gem +🔺 red triangle pointed up shape direction up top +🔻 red triangle pointed down shape direction bottom +💠 diamond with a dot jewel blue gem crystal fancy +🔘 radio button input old music circle +🔳 white square button shape input +🔲 black square button shape input frame +🏁 chequered flag contest finishline race gokart +🚩 triangular flag mark milestone place +🎌 crossed flags japanese nation country border +🏴 black flag pirate +🏳️ white flag losing loser lost surrender give up fail +🏳️‍🌈 rainbow flag flag rainbow pride gay lgbt glbt queer homosexual lesbian bisexual transgender +🏴‍☠️ pirate flag skull crossbones flag banner +🇦🇨 flag ascension island +🇦🇩 flag andorra ad flag nation country banner andorra +🇦🇪 flag united arab emirates united arab emirates flag nation country banner united arab emirates +🇦🇫 flag afghanistan af flag nation country banner afghanistan +🇦🇬 flag antigua barbuda antigua barbuda flag nation country banner antigua barbuda +🇦🇮 flag anguilla ai flag nation country banner anguilla +🇦🇱 flag albania al flag nation country banner albania +🇦🇲 flag armenia am flag nation country banner armenia +🇦🇴 flag angola ao flag nation country banner angola +🇦🇶 flag antarctica aq flag nation country banner antarctica +🇦🇷 flag argentina ar flag nation country banner argentina +🇦🇸 flag american samoa american ws flag nation country banner american samoa +🇦🇹 flag austria at flag nation country banner austria +🇦🇺 flag australia au flag nation country banner australia +🇦🇼 flag aruba aw flag nation country banner aruba +🇦🇽 flag aland islands Åland islands flag nation country banner aland islands +🇦🇿 flag azerbaijan az flag nation country banner azerbaijan +🇧🇦 flag bosnia herzegovina bosnia herzegovina flag nation country banner bosnia herzegovina +🇧🇧 flag barbados bb flag nation country banner barbados +🇧🇩 flag bangladesh bd flag nation country banner bangladesh +🇧🇪 flag belgium be flag nation country banner belgium +🇧🇫 flag burkina faso burkina faso flag nation country banner burkina faso +🇧🇬 flag bulgaria bg flag nation country banner bulgaria +🇧🇭 flag bahrain bh flag nation country banner bahrain +🇧🇮 flag burundi bi flag nation country banner burundi +🇧🇯 flag benin bj flag nation country banner benin +🇧🇱 flag st barthelemy saint barthélemy flag nation country banner st barthelemy +🇧🇲 flag bermuda bm flag nation country banner bermuda +🇧🇳 flag brunei bn darussalam flag nation country banner brunei +🇧🇴 flag bolivia bo flag nation country banner bolivia +🇧🇶 flag caribbean netherlands bonaire flag nation country banner caribbean netherlands +🇧🇷 flag brazil br flag nation country banner brazil +🇧🇸 flag bahamas bs flag nation country banner bahamas +🇧🇹 flag bhutan bt flag nation country banner bhutan +🇧🇻 flag bouvet island norway +🇧🇼 flag botswana bw flag nation country banner botswana +🇧🇾 flag belarus by flag nation country banner belarus +🇧🇿 flag belize bz flag nation country banner belize +🇨🇦 flag canada ca flag nation country banner canada +🇨🇨 flag cocos islands cocos keeling islands flag nation country banner cocos islands +🇨🇩 flag congo kinshasa congo democratic republic flag nation country banner congo kinshasa +🇨🇫 flag central african republic central african republic flag nation country banner central african republic +🇨🇬 flag congo brazzaville congo flag nation country banner congo brazzaville +🇨🇭 flag switzerland ch flag nation country banner switzerland +🇨🇮 flag cote d ivoire ivory coast flag nation country banner cote d ivoire +🇨🇰 flag cook islands cook islands flag nation country banner cook islands +🇨🇱 flag chile flag nation country banner chile +🇨🇲 flag cameroon cm flag nation country banner cameroon +🇨🇳 flag china china chinese prc flag country nation banner china +🇨🇴 flag colombia co flag nation country banner colombia +🇨🇵 flag clipperton island +🇨🇷 flag costa rica costa rica flag nation country banner costa rica +🇨🇺 flag cuba cu flag nation country banner cuba +🇨🇻 flag cape verde cabo verde flag nation country banner cape verde +🇨🇼 flag curacao curaçao flag nation country banner curacao +🇨🇽 flag christmas island christmas island flag nation country banner christmas island +🇨🇾 flag cyprus cy flag nation country banner cyprus +🇨🇿 flag czechia cz flag nation country banner czechia +🇩🇪 flag germany german nation flag country banner germany +🇩🇬 flag diego garcia +🇩🇯 flag djibouti dj flag nation country banner djibouti +🇩🇰 flag denmark dk flag nation country banner denmark +🇩🇲 flag dominica dm flag nation country banner dominica +🇩🇴 flag dominican republic dominican republic flag nation country banner dominican republic +🇩🇿 flag algeria dz flag nation country banner algeria +🇪🇦 flag ceuta melilla +🇪🇨 flag ecuador ec flag nation country banner ecuador +🇪🇪 flag estonia ee flag nation country banner estonia +🇪🇬 flag egypt eg flag nation country banner egypt +🇪🇭 flag western sahara western sahara flag nation country banner western sahara +🇪🇷 flag eritrea er flag nation country banner eritrea +🇪🇸 flag spain spain flag nation country banner spain +🇪🇹 flag ethiopia et flag nation country banner ethiopia +🇪🇺 flag european union european union flag banner +🇫🇮 flag finland fi flag nation country banner finland +🇫🇯 flag fiji fj flag nation country banner fiji +🇫🇰 flag falkland islands falkland islands malvinas flag nation country banner falkland islands +🇫🇲 flag micronesia micronesia federated states flag nation country banner micronesia +🇫🇴 flag faroe islands faroe islands flag nation country banner faroe islands +🇫🇷 flag france banner flag nation france french country france +🇬🇦 flag gabon ga flag nation country banner gabon +🇬🇧 flag united kingdom united kingdom great britain northern ireland flag nation country banner british UK english england union jack united kingdom +🇬🇩 flag grenada gd flag nation country banner grenada +🇬🇪 flag georgia ge flag nation country banner georgia +🇬🇫 flag french guiana french guiana flag nation country banner french guiana +🇬🇬 flag guernsey gg flag nation country banner guernsey +🇬🇭 flag ghana gh flag nation country banner ghana +🇬🇮 flag gibraltar gi flag nation country banner gibraltar +🇬🇱 flag greenland gl flag nation country banner greenland +🇬🇲 flag gambia gm flag nation country banner gambia +🇬🇳 flag guinea gn flag nation country banner guinea +🇬🇵 flag guadeloupe gp flag nation country banner guadeloupe +🇬🇶 flag equatorial guinea equatorial gn flag nation country banner equatorial guinea +🇬🇷 flag greece gr flag nation country banner greece +🇬🇸 flag south georgia south sandwich islands south georgia sandwich islands flag nation country banner south georgia south sandwich islands +🇬🇹 flag guatemala gt flag nation country banner guatemala +🇬🇺 flag guam gu flag nation country banner guam +🇬🇼 flag guinea bissau gw bissau flag nation country banner guinea bissau +🇬🇾 flag guyana gy flag nation country banner guyana +🇭🇰 flag hong kong sar china hong kong flag nation country banner hong kong sar china +🇭🇲 flag heard mcdonald islands +🇭🇳 flag honduras hn flag nation country banner honduras +🇭🇷 flag croatia hr flag nation country banner croatia +🇭🇹 flag haiti ht flag nation country banner haiti +🇭🇺 flag hungary hu flag nation country banner hungary +🇮🇨 flag canary islands canary islands flag nation country banner canary islands +🇮🇩 flag indonesia flag nation country banner indonesia +🇮🇪 flag ireland ie flag nation country banner ireland +🇮🇱 flag israel il flag nation country banner israel +🇮🇲 flag isle of man isle man flag nation country banner isle of man +🇮🇳 flag india in flag nation country banner india +🇮🇴 flag british indian ocean territory british indian ocean territory flag nation country banner british indian ocean territory +🇮🇶 flag iraq iq flag nation country banner iraq +🇮🇷 flag iran iran islamic republic flag nation country banner iran +🇮🇸 flag iceland is flag nation country banner iceland +🇮🇹 flag italy italy flag nation country banner italy +🇯🇪 flag jersey je flag nation country banner jersey +🇯🇲 flag jamaica jm flag nation country banner jamaica +🇯🇴 flag jordan jo flag nation country banner jordan +🇯🇵 flag japan japanese nation flag country banner japan +🇰🇪 flag kenya ke flag nation country banner kenya +🇰🇬 flag kyrgyzstan kg flag nation country banner kyrgyzstan +🇰🇭 flag cambodia kh flag nation country banner cambodia +🇰🇮 flag kiribati ki flag nation country banner kiribati +🇰🇲 flag comoros km flag nation country banner comoros +🇰🇳 flag st kitts nevis saint kitts nevis flag nation country banner st kitts nevis +🇰🇵 flag north korea north korea nation flag country banner north korea +🇰🇷 flag south korea south korea nation flag country banner south korea +🇰🇼 flag kuwait kw flag nation country banner kuwait +🇰🇾 flag cayman islands cayman islands flag nation country banner cayman islands +🇰🇿 flag kazakhstan kz flag nation country banner kazakhstan +🇱🇦 flag laos lao democratic republic flag nation country banner laos +🇱🇧 flag lebanon lb flag nation country banner lebanon +🇱🇨 flag st lucia saint lucia flag nation country banner st lucia +🇱🇮 flag liechtenstein li flag nation country banner liechtenstein +🇱🇰 flag sri lanka sri lanka flag nation country banner sri lanka +🇱🇷 flag liberia lr flag nation country banner liberia +🇱🇸 flag lesotho ls flag nation country banner lesotho +🇱🇹 flag lithuania lt flag nation country banner lithuania +🇱🇺 flag luxembourg lu flag nation country banner luxembourg +🇱🇻 flag latvia lv flag nation country banner latvia +🇱🇾 flag libya ly flag nation country banner libya +🇲🇦 flag morocco ma flag nation country banner morocco +🇲🇨 flag monaco mc flag nation country banner monaco +🇲🇩 flag moldova moldova republic flag nation country banner moldova +🇲🇪 flag montenegro me flag nation country banner montenegro +🇲🇫 flag st martin +🇲🇬 flag madagascar mg flag nation country banner madagascar +🇲🇭 flag marshall islands marshall islands flag nation country banner marshall islands +🇲🇰 flag north macedonia macedonia flag nation country banner north macedonia +🇲🇱 flag mali ml flag nation country banner mali +🇲🇲 flag myanmar mm flag nation country banner myanmar +🇲🇳 flag mongolia mn flag nation country banner mongolia +🇲🇴 flag macao sar china macao flag nation country banner macao sar china +🇲🇵 flag northern mariana islands northern mariana islands flag nation country banner northern mariana islands +🇲🇶 flag martinique mq flag nation country banner martinique +🇲🇷 flag mauritania mr flag nation country banner mauritania +🇲🇸 flag montserrat ms flag nation country banner montserrat +🇲🇹 flag malta mt flag nation country banner malta +🇲🇺 flag mauritius mu flag nation country banner mauritius +🇲🇻 flag maldives mv flag nation country banner maldives +🇲🇼 flag malawi mw flag nation country banner malawi +🇲🇽 flag mexico mx flag nation country banner mexico +🇲🇾 flag malaysia my flag nation country banner malaysia +🇲🇿 flag mozambique mz flag nation country banner mozambique +🇳🇦 flag namibia na flag nation country banner namibia +🇳🇨 flag new caledonia new caledonia flag nation country banner new caledonia +🇳🇪 flag niger ne flag nation country banner niger +🇳🇫 flag norfolk island norfolk island flag nation country banner norfolk island +🇳🇬 flag nigeria flag nation country banner nigeria +🇳🇮 flag nicaragua ni flag nation country banner nicaragua +🇳🇱 flag netherlands nl flag nation country banner netherlands +🇳🇴 flag norway no flag nation country banner norway +🇳🇵 flag nepal np flag nation country banner nepal +🇳🇷 flag nauru nr flag nation country banner nauru +🇳🇺 flag niue nu flag nation country banner niue +🇳🇿 flag new zealand new zealand flag nation country banner new zealand +🇴🇲 flag oman om symbol flag nation country banner oman +🇵🇦 flag panama pa flag nation country banner panama +🇵🇪 flag peru pe flag nation country banner peru +🇵🇫 flag french polynesia french polynesia flag nation country banner french polynesia +🇵🇬 flag papua new guinea papua new guinea flag nation country banner papua new guinea +🇵🇭 flag philippines ph flag nation country banner philippines +🇵🇰 flag pakistan pk flag nation country banner pakistan +🇵🇱 flag poland pl flag nation country banner poland +🇵🇲 flag st pierre miquelon saint pierre miquelon flag nation country banner st pierre miquelon +🇵🇳 flag pitcairn islands pitcairn flag nation country banner pitcairn islands +🇵🇷 flag puerto rico puerto rico flag nation country banner puerto rico +🇵🇸 flag palestinian territories palestine palestinian territories flag nation country banner palestinian territories +🇵🇹 flag portugal pt flag nation country banner portugal +🇵🇼 flag palau pw flag nation country banner palau +🇵🇾 flag paraguay py flag nation country banner paraguay +🇶🇦 flag qatar qa flag nation country banner qatar +🇷🇪 flag reunion réunion flag nation country banner reunion +🇷🇴 flag romania ro flag nation country banner romania +🇷🇸 flag serbia rs flag nation country banner serbia +🇷🇺 flag russia russian federation flag nation country banner russia +🇷🇼 flag rwanda rw flag nation country banner rwanda +🇸🇦 flag saudi arabia flag nation country banner saudi arabia +🇸🇧 flag solomon islands solomon islands flag nation country banner solomon islands +🇸🇨 flag seychelles sc flag nation country banner seychelles +🇸🇩 flag sudan sd flag nation country banner sudan +🇸🇪 flag sweden se flag nation country banner sweden +🇸🇬 flag singapore sg flag nation country banner singapore +🇸🇭 flag st helena saint helena ascension tristan cunha flag nation country banner st helena +🇸🇮 flag slovenia si flag nation country banner slovenia +🇸🇯 flag svalbard jan mayen +🇸🇰 flag slovakia sk flag nation country banner slovakia +🇸🇱 flag sierra leone sierra leone flag nation country banner sierra leone +🇸🇲 flag san marino san marino flag nation country banner san marino +🇸🇳 flag senegal sn flag nation country banner senegal +🇸🇴 flag somalia so flag nation country banner somalia +🇸🇷 flag suriname sr flag nation country banner suriname +🇸🇸 flag south sudan south sd flag nation country banner south sudan +🇸🇹 flag sao tome principe sao tome principe flag nation country banner sao tome principe +🇸🇻 flag el salvador el salvador flag nation country banner el salvador +🇸🇽 flag sint maarten sint maarten dutch flag nation country banner sint maarten +🇸🇾 flag syria syrian arab republic flag nation country banner syria +🇸🇿 flag eswatini sz flag nation country banner eswatini +🇹🇦 flag tristan da cunha +🇹🇨 flag turks caicos islands turks caicos islands flag nation country banner turks caicos islands +🇹🇩 flag chad td flag nation country banner chad +🇹🇫 flag french southern territories french southern territories flag nation country banner french southern territories +🇹🇬 flag togo tg flag nation country banner togo +🇹🇭 flag thailand th flag nation country banner thailand +🇹🇯 flag tajikistan tj flag nation country banner tajikistan +🇹🇰 flag tokelau tk flag nation country banner tokelau +🇹🇱 flag timor leste timor leste flag nation country banner timor leste +🇹🇲 flag turkmenistan flag nation country banner turkmenistan +🇹🇳 flag tunisia tn flag nation country banner tunisia +🇹🇴 flag tonga to flag nation country banner tonga +🇹🇷 flag turkey turkey flag nation country banner turkey +🇹🇹 flag trinidad tobago trinidad tobago flag nation country banner trinidad tobago +🇹🇻 flag tuvalu flag nation country banner tuvalu +🇹🇼 flag taiwan tw flag nation country banner taiwan +🇹🇿 flag tanzania tanzania united republic flag nation country banner tanzania +🇺🇦 flag ukraine ua flag nation country banner ukraine +🇺🇬 flag uganda ug flag nation country banner uganda +🇺🇲 flag u s outlying islands +🇺🇳 flag united nations un flag banner +🇺🇸 flag united states united states america flag nation country banner united states +🇺🇾 flag uruguay uy flag nation country banner uruguay +🇺🇿 flag uzbekistan uz flag nation country banner uzbekistan +🇻🇦 flag vatican city vatican city flag nation country banner vatican city +🇻🇨 flag st vincent grenadines saint vincent grenadines flag nation country banner st vincent grenadines +🇻🇪 flag venezuela ve bolivarian republic flag nation country banner venezuela +🇻🇬 flag british virgin islands british virgin islands bvi flag nation country banner british virgin islands +🇻🇮 flag u s virgin islands virgin islands us flag nation country banner u s virgin islands +🇻🇳 flag vietnam viet nam flag nation country banner vietnam +🇻🇺 flag vanuatu vu flag nation country banner vanuatu +🇼🇫 flag wallis futuna wallis futuna flag nation country banner wallis futuna +🇼🇸 flag samoa ws flag nation country banner samoa +🇽🇰 flag kosovo xk flag nation country banner kosovo +🇾🇪 flag yemen ye flag nation country banner yemen +🇾🇹 flag mayotte yt flag nation country banner mayotte +🇿🇦 flag south africa south africa flag nation country banner south africa +🇿🇲 flag zambia zm flag nation country banner zambia +🇿🇼 flag zimbabwe zw flag nation country banner zimbabwe +🏴󠁧󠁢󠁥󠁮󠁧󠁿 flag england flag english +🏴󠁧󠁢󠁳󠁣󠁴󠁿 flag scotland flag scottish +🏴󠁧󠁢󠁷󠁬󠁳󠁿 flag wales flag welsh +🥲 smiling face with tear sad cry pretend +🥸 disguised face pretent brows glasses moustache +🤌 pinched fingers size tiny small +🫀 anatomical heart health heartbeat +🫁 lungs breathe +🥷 ninja ninjutsu skills japanese +🤵‍♂️ man in tuxedo formal fashion +🤵‍♀️ woman in tuxedo formal fashion +👰‍♂️ man with veil wedding marriage +👰‍♀️ woman with veil wedding marriage +👩‍🍼 woman feeding baby birth food +👨‍🍼 man feeding baby birth food +🧑‍🍼 person feeding baby birth food +🧑‍🎄 mx claus christmas +🫂 people hugging care +🐈‍⬛ black cat superstition luck +🦬 bison ox +🦣 mammoth elephant tusks +🦫 beaver animal rodent +🐻‍❄️ polar bear animal arctic +🦤 dodo animal bird +🪶 feather bird fly +🦭 seal animal creature sea +🪲 beetle insect +🪳 cockroach insect pests +🪰 fly insect +🪱 worm animal +🪴 potted plant greenery house +🫐 blueberries fruit +🫒 olive fruit +🫑 bell pepper fruit plant +🫓 flatbread flour food +🫔 tamale food masa +🫕 fondue cheese pot food +🫖 teapot drink hot +🧋 bubble tea taiwan boba milk tea straw +🪨 rock stone +🪵 wood nature timber trunk +🛖 hut house structure +🛻 pickup truck car transportation +🛼 roller skate footwear sports +🪄 magic wand supernature power +🪅 pinata mexico candy celebration +🪆 nesting dolls matryoshka toy +🪡 sewing needle stitches +🪢 knot rope scout +🩴 thong sandal footwear summer +🪖 military helmet army protection +🪗 accordion music +🪘 long drum music +🪙 coin money currency +🪃 boomerang weapon +🪚 carpentry saw cut chop +🪛 screwdriver tools +🪝 hook tools +🪜 ladder tools +🛗 elevator lift +🪞 mirror reflection +🪟 window scenery +🪠 plunger toilet +🪤 mouse trap cheese +🪣 bucket water container +🪥 toothbrush hygiene dental +🪦 headstone death rip grave +🪧 placard announcement +⚧️ transgender symbol lgbtq +🏳️‍⚧️ transgender flag lgbtq +😶‍🌫️ face in clouds shower steam dream +😮‍💨 face exhaling relieve relief tired sigh +😵‍💫 face with spiral eyes sick ill confused nauseous nausea +❤️‍🔥 heart on fire passionate enthusiastic +❤️‍🩹 mending heart broken heart bandage wounded +🧔‍♂️ man beard facial hair +🧔‍♀️ woman beard facial hair +🫠 melting face hot heat +🫢 face with open eyes and hand over mouth silence secret shock surprise +🫣 face with peeking eye scared frightening embarrassing +🫡 saluting face respect salute +🫥 dotted line face invisible lonely isolation depression +🫤 face with diagonal mouth skeptic confuse frustrated indifferent +🥹 face holding back tears touched gratitude +🫱 rightwards hand palm offer +🫲 leftwards hand palm offer +🫳 palm down hand palm drop +🫴 palm up hand lift offer demand +🫰 hand with index finger and thumb crossed heart love money expensive +🫵 index pointing at the viewer you recruit +🫶 heart hands love appreciation support +🫦 biting lip flirt sexy pain worry +🫅 person with crown royalty power +🫃 pregnant man baby belly +🫄 pregnant person baby belly +🧌 troll mystical monster +🪸 coral ocean sea reef +🪷 lotus flower calm meditation +🪹 empty nest bird +🪺 nest with eggs bird +🫘 beans food +🫗 pouring liquid cup water +🫙 jar container sauce +🛝 playground slide fun park +🛞 wheel car transport +🛟 ring buoy life saver life preserver +🪬 hamsa religion protection +🪩 mirror ball disco dance party +🪫 low battery drained dead +🩼 crutch accessibility assist +🩻 x-ray skeleton medicine +🫧 bubbles soap fun carbonation sparkling +🪪 identification card document +🟰 heavy equals sign math +— em dash +󰖳 windows super key + nf-cod-add + nf-cod-lightbulb + nf-cod-repo + nf-cod-repo_forked + nf-cod-git_pull_request + nf-cod-record_keys + nf-cod-tag + nf-cod-person + nf-cod-source_control + nf-cod-mirror + nf-cod-star_empty + nf-cod-comment + nf-cod-warning + nf-cod-search + nf-cod-sign_out + nf-cod-sign_in + nf-cod-eye + nf-cod-circle_filled + nf-cod-primitive_square + nf-cod-edit + nf-cod-info + nf-cod-lock + nf-cod-close + nf-cod-sync + nf-cod-desktop_download + nf-cod-beaker + nf-cod-vm + nf-cod-file + nf-cod-ellipsis + nf-cod-reply + nf-cod-organization + nf-cod-new_file + nf-cod-new_folder + nf-cod-trash + nf-cod-history + nf-cod-folder + nf-cod-github + nf-cod-terminal + nf-cod-symbol_event + nf-cod-error + nf-cod-symbol_variable + nf-cod-symbol_array + nf-cod-symbol_namespace + nf-cod-symbol_method + nf-cod-symbol_boolean + nf-cod-symbol_numeric + nf-cod-symbol_structure + nf-cod-symbol_parameter + nf-cod-symbol_key + nf-cod-go_to_file + nf-cod-symbol_enum + nf-cod-symbol_ruler + nf-cod-activate_breakpoints + nf-cod-archive + nf-cod-arrow_both + nf-cod-arrow_down + nf-cod-arrow_left + nf-cod-arrow_right + nf-cod-arrow_small_down + nf-cod-arrow_small_left + nf-cod-arrow_small_right + nf-cod-arrow_small_up + nf-cod-arrow_up + nf-cod-bell + nf-cod-bold + nf-cod-book + nf-cod-bookmark + nf-cod-debug_breakpoint_conditional_unverified + nf-cod-debug_breakpoint_conditional + nf-cod-debug_breakpoint_data_unverified + nf-cod-debug_breakpoint_data + nf-cod-debug_breakpoint_log_unverified + nf-cod-debug_breakpoint_log + nf-cod-briefcase + nf-cod-broadcast + nf-cod-browser + nf-cod-bug + nf-cod-calendar + nf-cod-case_sensitive + nf-cod-check + nf-cod-checklist + nf-cod-chevron_down + nf-cod-chevron_left + nf-cod-chevron_right + nf-cod-chevron_up + nf-cod-chrome_close + nf-cod-chrome_maximize + nf-cod-chrome_minimize + nf-cod-chrome_restore + nf-cod-circle + nf-cod-circle_slash + nf-cod-circuit_board + nf-cod-clear_all + nf-cod-clippy + nf-cod-close_all + nf-cod-cloud_download + nf-cod-cloud_upload + nf-cod-code + nf-cod-collapse_all + nf-cod-color_mode + nf-cod-comment_discussion + nf-cod-credit_card + nf-cod-dash + nf-cod-dashboard + nf-cod-database + nf-cod-debug_continue + nf-cod-debug_disconnect + nf-cod-debug_pause + nf-cod-debug_restart + nf-cod-debug_start + nf-cod-debug_step_into + nf-cod-debug_step_out + nf-cod-debug_step_over + nf-cod-debug_stop + nf-cod-debug + nf-cod-device_camera_video + nf-cod-device_camera + nf-cod-device_mobile + nf-cod-diff_added + nf-cod-diff_ignored + nf-cod-diff_modified + nf-cod-diff_removed + nf-cod-diff_renamed + nf-cod-diff + nf-cod-discard + nf-cod-editor_layout + nf-cod-empty_window + nf-cod-exclude + nf-cod-extensions + nf-cod-eye_closed + nf-cod-file_binary + nf-cod-file_code + nf-cod-file_media + nf-cod-file_pdf + nf-cod-file_submodule + nf-cod-file_symlink_directory + nf-cod-file_symlink_file + nf-cod-file_zip + nf-cod-files + nf-cod-filter + nf-cod-flame + nf-cod-fold_down + nf-cod-fold_up + nf-cod-fold + nf-cod-folder_active + nf-cod-folder_opened + nf-cod-gear + nf-cod-gift + nf-cod-gist_secret + nf-cod-git_commit + nf-cod-git_compare + nf-cod-git_merge + nf-cod-github_action + nf-cod-github_alt + nf-cod-globe + nf-cod-grabber + nf-cod-graph + nf-cod-gripper + nf-cod-heart + nf-cod-home + nf-cod-horizontal_rule + nf-cod-hubot + nf-cod-inbox + nf-cod-issue_reopened + nf-cod-issues + nf-cod-italic + nf-cod-jersey + nf-cod-json + nf-cod-kebab_vertical + nf-cod-key + nf-cod-law + nf-cod-lightbulb_autofix + nf-cod-link_external + nf-cod-link + nf-cod-list_ordered + nf-cod-list_unordered + nf-cod-live_share + nf-cod-loading + nf-cod-location + nf-cod-mail_read + nf-cod-mail + nf-cod-markdown + nf-cod-megaphone + nf-cod-mention + nf-cod-milestone + nf-cod-mortar_board + nf-cod-move + nf-cod-multiple_windows + nf-cod-mute + nf-cod-no_newline + nf-cod-note + nf-cod-octoface + nf-cod-open_preview + nf-cod-package + nf-cod-paintcan + nf-cod-pin + nf-cod-play + nf-cod-plug + nf-cod-preserve_case + nf-cod-preview + nf-cod-project + nf-cod-pulse + nf-cod-question + nf-cod-quote + nf-cod-radio_tower + nf-cod-reactions + nf-cod-references + nf-cod-refresh + nf-cod-regex + nf-cod-remote_explorer + nf-cod-remote + nf-cod-remove + nf-cod-replace_all + nf-cod-replace + nf-cod-repo_clone + nf-cod-repo_force_push + nf-cod-repo_pull + nf-cod-repo_push + nf-cod-report + nf-cod-request_changes + nf-cod-rocket + nf-cod-root_folder_opened + nf-cod-root_folder + nf-cod-rss + nf-cod-ruby + nf-cod-save_all + nf-cod-save_as + nf-cod-save + nf-cod-screen_full + nf-cod-screen_normal + nf-cod-search_stop + nf-cod-server + nf-cod-settings_gear + nf-cod-settings + nf-cod-shield + nf-cod-smiley + nf-cod-sort_precedence + nf-cod-split_horizontal + nf-cod-split_vertical + nf-cod-squirrel + nf-cod-star_full + nf-cod-star_half + nf-cod-symbol_class + nf-cod-symbol_color + nf-cod-symbol_constant + nf-cod-symbol_enum_member + nf-cod-symbol_field + nf-cod-symbol_file + nf-cod-symbol_interface + nf-cod-symbol_keyword + nf-cod-symbol_misc + nf-cod-symbol_operator + nf-cod-symbol_property + nf-cod-symbol_snippet + nf-cod-tasklist + nf-cod-telescope + nf-cod-text_size + nf-cod-three_bars + nf-cod-thumbsdown + nf-cod-thumbsup + nf-cod-tools + nf-cod-triangle_down + nf-cod-triangle_left + nf-cod-triangle_right + nf-cod-triangle_up + nf-cod-twitter + nf-cod-unfold + nf-cod-unlock + nf-cod-unmute + nf-cod-unverified + nf-cod-verified + nf-cod-versions + nf-cod-vm_active + nf-cod-vm_outline + nf-cod-vm_running + nf-cod-watch + nf-cod-whitespace + nf-cod-whole_word + nf-cod-window + nf-cod-word_wrap + nf-cod-zoom_in + nf-cod-zoom_out + nf-cod-list_filter + nf-cod-list_flat + nf-cod-list_selection + nf-cod-list_tree + nf-cod-debug_breakpoint_function_unverified + nf-cod-debug_breakpoint_function + nf-cod-debug_stackframe_active + nf-cod-circle_small_filled + nf-cod-debug_stackframe + nf-cod-debug_breakpoint_unsupported + nf-cod-symbol_string + nf-cod-debug_reverse_continue + nf-cod-debug_step_back + nf-cod-debug_restart_frame + nf-cod-debug_alt + nf-cod-call_incoming + nf-cod-call_outgoing + nf-cod-menu + nf-cod-expand_all + nf-cod-feedback + nf-cod-group_by_ref_type + nf-cod-ungroup_by_ref_type + nf-cod-account + nf-cod-bell_dot + nf-cod-debug_console + nf-cod-library + nf-cod-output + nf-cod-run_all + nf-cod-sync_ignored + nf-cod-pinned + nf-cod-github_inverted + nf-cod-server_process + nf-cod-server_environment + nf-cod-pass + nf-cod-stop_circle + nf-cod-play_circle + nf-cod-record + nf-cod-debug_alt_small + nf-cod-vm_connect + nf-cod-cloud + nf-cod-merge + nf-cod-export + nf-cod-graph_left + nf-cod-magnet + nf-cod-notebook + nf-cod-redo + nf-cod-check_all + nf-cod-pinned_dirty + nf-cod-pass_filled + nf-cod-circle_large_filled + nf-cod-circle_large + nf-cod-combine + nf-cod-table + nf-cod-variable_group + nf-cod-type_hierarchy + nf-cod-type_hierarchy_sub + nf-cod-type_hierarchy_super + nf-cod-git_pull_request_create + nf-cod-run_above + nf-cod-run_below + nf-cod-notebook_template + nf-cod-debug_rerun + nf-cod-workspace_trusted + nf-cod-workspace_untrusted + nf-cod-workspace_unknown + nf-cod-terminal_cmd + nf-cod-terminal_debian + nf-cod-terminal_linux + nf-cod-terminal_powershell + nf-cod-terminal_tmux + nf-cod-terminal_ubuntu + nf-cod-terminal_bash + nf-cod-arrow_swap + nf-cod-copy + nf-cod-person_add + nf-cod-filter_filled + nf-cod-wand + nf-cod-debug_line_by_line + nf-cod-inspect + nf-cod-layers + nf-cod-layers_dot + nf-cod-layers_active + nf-cod-compass + nf-cod-compass_dot + nf-cod-compass_active + nf-cod-azure + nf-cod-issue_draft + nf-cod-git_pull_request_closed + nf-cod-git_pull_request_draft + nf-cod-debug_all + nf-cod-debug_coverage + nf-cod-run_errors + nf-cod-folder_library + nf-cod-debug_continue_small + nf-cod-beaker_stop + nf-cod-graph_line + nf-cod-graph_scatter + nf-cod-pie_chart + nf-cod-bracket_dot + nf-cod-bracket_error + nf-cod-lock_small + nf-cod-azure_devops + nf-cod-verified_filled + nf-cod-newline + nf-cod-layout + nf-cod-layout_activitybar_left + nf-cod-layout_activitybar_right + nf-cod-layout_panel_left + nf-cod-layout_panel_center + nf-cod-layout_panel_justify + nf-cod-layout_panel_right + nf-cod-layout_panel + nf-cod-layout_sidebar_left + nf-cod-layout_sidebar_right + nf-cod-layout_statusbar + nf-cod-layout_menubar + nf-cod-layout_centered + nf-cod-target + nf-cod-indent + nf-cod-record_small + nf-cod-error_small + nf-cod-arrow_circle_down + nf-cod-arrow_circle_left + nf-cod-arrow_circle_right + nf-cod-arrow_circle_up + nf-cod-layout_sidebar_right_off + nf-cod-layout_panel_off + nf-cod-layout_sidebar_left_off + nf-cod-blank + nf-cod-heart_filled + nf-cod-map + nf-cod-map_filled + nf-cod-circle_small + nf-cod-bell_slash + nf-cod-bell_slash_dot + nf-cod-comment_unresolved + nf-cod-git_pull_request_go_to_changes + nf-cod-git_pull_request_new_changes + nf-cod-search_fuzzy + nf-cod-comment_draft + nf-cod-send + nf-cod-sparkle + nf-cod-insert + nf-cod-mic + nf-cod-thumbsdown_filled + nf-cod-thumbsup_filled + nf-cod-coffee + nf-cod-snake + nf-cod-game + nf-cod-vr + nf-cod-chip + nf-cod-piano + nf-cod-music + nf-cod-mic_filled + nf-cod-git_fetch + nf-cod-copilot + nf-dev-aarch64 + nf-dev-adonisjs + nf-dev-git + nf-dev-bitbucket + nf-dev-mysql + nf-dev-aftereffects + nf-dev-database + nf-dev-dropbox + nf-dev-akka + nf-dev-github nf-dev-github_badge + nf-dev-algolia + nf-dev-wordpress + nf-dev-visualstudio + nf-dev-jekyll nf-dev-jekyll_small + nf-dev-android + nf-dev-windows + nf-dev-stackoverflow + nf-dev-apple + nf-dev-linux + nf-dev-alpinejs + nf-dev-ghost_small + nf-dev-anaconda + nf-dev-codepen + nf-dev-github_full + nf-dev-nodejs_small + nf-dev-nodejs + nf-dev-androidstudio + nf-dev-ember + nf-dev-angularjs + nf-dev-django + nf-dev-npm + nf-dev-ghost + nf-dev-angularmaterial + nf-dev-unity nf-dev-unity_small + nf-dev-raspberry_pi + nf-dev-ansible + nf-dev-go + nf-dev-git_branch + nf-dev-git_pull_request + nf-dev-git_merge + nf-dev-git_compare + nf-dev-git_commit + nf-dev-antdesign + nf-dev-apache + nf-dev-apacheairflow + nf-dev-smashing_magazine + nf-dev-apachekafka + nf-dev-apachespark + nf-dev-apl + nf-dev-appwrite + nf-dev-archlinux + nf-dev-arduino + nf-dev-argocd + nf-dev-astro + nf-dev-html5 + nf-dev-scala + nf-dev-java + nf-dev-ruby + nf-dev-ubuntu + nf-dev-rails nf-dev-ruby_on_rails + nf-dev-python + nf-dev-php + nf-dev-markdown + nf-dev-laravel + nf-dev-magento + nf-dev-awk + nf-dev-drupal + nf-dev-chrome + nf-dev-ie + nf-dev-firefox + nf-dev-opera + nf-dev-bootstrap + nf-dev-safari + nf-dev-css3 + nf-dev-css3_full + nf-dev-sass + nf-dev-grunt + nf-dev-bower + nf-dev-javascript_alt + nf-dev-axios + nf-dev-jquery + nf-dev-coffeescript + nf-dev-backbonejs nf-dev-backbone + nf-dev-angular + nf-dev-azure + nf-dev-swift + nf-dev-azuredevops + nf-dev-symfony nf-dev-symfony_badge + nf-dev-less + nf-dev-stylus + nf-dev-trello + nf-dev-azuresqldatabase + nf-dev-jira + nf-dev-babel + nf-dev-ballerina + nf-dev-bamboo + nf-dev-bash + nf-dev-beats + nf-dev-behance + nf-dev-gulp + nf-dev-atom + nf-dev-blazor + nf-dev-blender + nf-dev-jenkins + nf-dev-clojure + nf-dev-perl + nf-dev-clojure_alt + nf-dev-browserstack + nf-dev-bulma + nf-dev-redis + nf-dev-postgresql + nf-dev-bun + nf-dev-requirejs + nf-dev-c_lang nf-dev-c + nf-dev-typo3 + nf-dev-cairo + nf-dev-doctrine + nf-dev-groovy + nf-dev-nginx + nf-dev-haskell + nf-dev-zend + nf-dev-gnu + nf-dev-cakephp + nf-dev-heroku + nf-dev-canva + nf-dev-debian + nf-dev-travis + nf-dev-dotnet + nf-dev-codeigniter + nf-dev-javascript nf-dev-javascript_badge + nf-dev-yii + nf-dev-composer + nf-dev-krakenjs nf-dev-krakenjs_badge + nf-dev-capacitor + nf-dev-mozilla + nf-dev-firebase + nf-dev-carbon + nf-dev-cassandra + nf-dev-centos + nf-dev-ceylon + nf-dev-circleci + nf-dev-clarity + nf-dev-clion + nf-dev-mootools_badge + nf-dev-clojurescript + nf-dev-ruby_rough + nf-dev-cloudflare + nf-dev-cloudflareworkers + nf-dev-cmake + nf-dev-terminal + nf-dev-codeac + nf-dev-codecov + nf-dev-dart + nf-dev-confluence + nf-dev-consul + nf-dev-contao + nf-dev-dreamweaver + nf-dev-corejs + nf-dev-eclipse + nf-dev-cosmosdb + nf-dev-couchbase + nf-dev-prolog + nf-dev-couchdb + nf-dev-cplusplus + nf-dev-mongodb + nf-dev-meteor + nf-dev-meteorfull + nf-dev-fsharp + nf-dev-rust + nf-dev-ionic + nf-dev-sublime + nf-dev-appcelerator + nf-dev-crystal + nf-dev-amazonwebservices nf-dev-aws + nf-dev-digitalocean nf-dev-digital_ocean + nf-dev-dlang + nf-dev-docker + nf-dev-erlang + nf-dev-csharp + nf-dev-grails + nf-dev-illustrator + nf-dev-intellij + nf-dev-materializecss + nf-dev-cucumber + nf-dev-photoshop + nf-dev-cypressio + nf-dev-react + nf-dev-redhat + nf-dev-d3js + nf-dev-datagrip + nf-dev-dataspell + nf-dev-dbeaver + nf-dev-denojs + nf-dev-devicon + nf-dev-discordjs + nf-dev-djangorest + nf-dev-sqlite + nf-dev-vim + nf-dev-dotnetcore + nf-dev-dropwizard + nf-dev-dynamodb + nf-dev-ecto + nf-dev-elasticsearch + nf-dev-electron + nf-dev-eleventy + nf-dev-elixir + nf-dev-elm + nf-dev-emacs + nf-dev-embeddedc + nf-dev-envoy + nf-dev-eslint + nf-dev-express + nf-dev-facebook + nf-dev-fastapi + nf-dev-fastify + nf-dev-faunadb + nf-dev-feathersjs + nf-dev-fedora + nf-dev-figma + nf-dev-filezilla + nf-dev-flask + nf-dev-flutter + nf-dev-fortran + nf-dev-foundation + nf-dev-framermotion + nf-dev-framework7 + nf-dev-gatling + nf-dev-gatsby + nf-dev-gazebo + nf-dev-gcc + nf-dev-gentoo + nf-dev-gimp + nf-dev-gitbook + nf-dev-githubactions + nf-dev-githubcodespaces + nf-dev-gitlab + nf-dev-gitpod + nf-dev-gitter + nf-dev-godot + nf-dev-goland + nf-dev-google + nf-dev-googlecloud + nf-dev-gradle + nf-dev-grafana + nf-dev-graphql + nf-dev-grpc + nf-dev-hadoop + nf-dev-handlebars + nf-dev-hardhat + nf-dev-harvester + nf-dev-haxe + nf-dev-helm + nf-dev-hibernate + nf-dev-homebrew + nf-dev-hugo + nf-dev-ifttt + nf-dev-influxdb + nf-dev-inkscape + nf-dev-insomnia + nf-dev-jaegertracing + nf-dev-jamstack + nf-dev-jasmine + nf-dev-jeet + nf-dev-jest + nf-dev-jetbrains + nf-dev-jetpackcompose + nf-dev-jiraalign + nf-dev-json + nf-dev-jule + nf-dev-julia + nf-dev-junit + nf-dev-jupyter + nf-dev-k3os + nf-dev-k3s + nf-dev-k6 + nf-dev-kaggle + nf-dev-karatelabs + nf-dev-karma + nf-dev-kdeneon + nf-dev-keras + nf-dev-kibana + nf-dev-knexjs + nf-dev-knockout + nf-dev-kotlin + nf-dev-ktor + nf-dev-kubernetes + nf-dev-labview + nf-dev-latex + nf-dev-linkedin + nf-dev-liquibase + nf-dev-livewire + nf-dev-llvm + nf-dev-lodash + nf-dev-logstash + nf-dev-lua + nf-dev-lumen + nf-dev-mariadb + nf-dev-materialui + nf-dev-matlab + nf-dev-matplotlib + nf-dev-maven + nf-dev-maya + nf-dev-microsoftsqlserver + nf-dev-minitab + nf-dev-mithril + nf-dev-mobx + nf-dev-mocha + nf-dev-modx + nf-dev-moleculer + nf-dev-mongoose + nf-dev-moodle + nf-dev-msdos + nf-dev-nano + nf-dev-neo4j + nf-dev-neovim + nf-dev-nestjs + nf-dev-netlify + nf-dev-networkx + nf-dev-nextjs + nf-dev-ngrx + nf-dev-nhibernate + nf-dev-nim + nf-dev-nimble + nf-dev-nixos + nf-dev-nodemon + nf-dev-nodewebkit + nf-dev-nomad + nf-dev-norg + nf-dev-notion + nf-dev-nuget + nf-dev-numpy + nf-dev-nuxtjs + nf-dev-oauth + nf-dev-objectivec + nf-dev-ocaml + nf-dev-ohmyzsh + nf-dev-okta + nf-dev-openal + nf-dev-openapi + nf-dev-opencl + nf-dev-opencv + nf-dev-opengl + nf-dev-openstack + nf-dev-opensuse + nf-dev-opentelemetry + nf-dev-oracle + nf-dev-ory + nf-dev-p5js + nf-dev-packer + nf-dev-pandas + nf-dev-pfsense + nf-dev-phalcon + nf-dev-phoenix + nf-dev-photonengine + nf-dev-phpstorm + nf-dev-playwright + nf-dev-plotly + nf-dev-pnpm + nf-dev-podman + nf-dev-poetry + nf-dev-polygon + nf-dev-portainer + nf-dev-postcss + nf-dev-postman + nf-dev-powershell + nf-dev-premierepro + nf-dev-prisma + nf-dev-processing + nf-dev-prometheus + nf-dev-protractor + nf-dev-pulsar + nf-dev-pulumi + nf-dev-puppeteer + nf-dev-purescript + nf-dev-putty + nf-dev-pycharm + nf-dev-pypi + nf-dev-pyscript + nf-dev-pytest + nf-dev-pytorch + nf-dev-qodana + nf-dev-qt + nf-dev-quarkus + nf-dev-quasar + nf-dev-qwik + nf-dev-r + nf-dev-rabbitmq + nf-dev-railway + nf-dev-rancher + nf-dev-reach + nf-dev-reactbootstrap + nf-dev-reactnavigation + nf-dev-reactrouter + nf-dev-readthedocs + nf-dev-realm + nf-dev-rect + nf-dev-redux + nf-dev-renpy + nf-dev-replit + nf-dev-rider + nf-dev-rocksdb + nf-dev-rockylinux + nf-dev-rollup + nf-dev-ros + nf-dev-rspec + nf-dev-rstudio + nf-dev-rubymine + nf-dev-rxjs + nf-dev-salesforce + nf-dev-sanity + nf-dev-scalingo + nf-dev-scikitlearn + nf-dev-sdl + nf-dev-selenium + nf-dev-sema + nf-dev-sentry + nf-dev-sequelize + nf-dev-shopware + nf-dev-shotgrid + nf-dev-sketch + nf-dev-slack + nf-dev-socketio + nf-dev-solidity + nf-dev-solidjs + nf-dev-sonarqube + nf-dev-sourcetree + nf-dev-spack + nf-dev-splunk + nf-dev-spring + nf-dev-spss + nf-dev-spyder + nf-dev-sqlalchemy + nf-dev-sqldeveloper + nf-dev-ssh + nf-dev-stata + nf-dev-storybook + nf-dev-streamlit + nf-dev-subversion + nf-dev-supabase + nf-dev-svelte + nf-dev-swagger + nf-dev-swiper + nf-dev-tailwindcss + nf-dev-tauri + nf-dev-tensorflow + nf-dev-terraform + nf-dev-tex + nf-dev-thealgorithms + nf-dev-threedsmax + nf-dev-threejs + nf-dev-titaniumsdk + nf-dev-tomcat + nf-dev-tortoisegit + nf-dev-towergit + nf-dev-traefikmesh + nf-dev-traefikproxy + nf-dev-trpc + nf-dev-twitter + nf-dev-typescript + nf-dev-unifiedmodelinglanguage nf-dev-uml + nf-dev-unix + nf-dev-unrealengine + nf-dev-uwsgi + nf-dev-v8 + nf-dev-vagrant + nf-dev-vala + nf-dev-vault + nf-dev-vercel + nf-dev-vertx + nf-dev-visualbasic + nf-dev-vite + nf-dev-vitejs + nf-dev-vitess + nf-dev-vitest + nf-dev-vscode + nf-dev-vsphere + nf-dev-vuejs + nf-dev-vuestorefront + nf-dev-vuetify + nf-dev-vyper + nf-dev-wasm + nf-dev-webflow + nf-dev-weblate + nf-dev-webpack + nf-dev-webstorm + nf-dev-windows11 + nf-dev-woocommerce + nf-dev-xamarin + nf-dev-xcode + nf-dev-xd + nf-dev-xml + nf-dev-yaml + nf-dev-yarn + nf-dev-yugabytedb + nf-dev-yunohost + nf-dev-zig + nf-fa-location_dot + nf-fa-medapps + nf-fa-medrt + nf-fa-microphone_lines + nf-fa-microsoft + nf-fa-mix + nf-fa-mizuni + nf-fa-mobile_button + nf-fa-mobile + nf-fa-mobile_screen + nf-fa-monero + nf-fa-money_bill_1 + nf-fa-napster + nf-fa-node_js + nf-fa-npm + nf-fa-ns8 + nf-fa-nutritionix + nf-fa-page4 + nf-fa-palfed + nf-fa-patreon + nf-fa-periscope + nf-fa-phabricator + nf-fa-phoenix_framework + nf-fa-phone_slash + nf-fa-playstation + nf-fa-image_portrait + nf-fa-pushed + nf-fa-python + nf-fa-red_river + nf-fa-wpressr + nf-fa-replyd + nf-fa-resolving + nf-fa-rocketchat + nf-fa-rockrms + nf-fa-schlix + nf-fa-searchengin + nf-fa-servicestack + nf-fa-shield_halved + nf-fa-sistrix + nf-fa-speakap + nf-fa-staylinked + nf-fa-steam_symbol + nf-fa-sticker_mule + nf-fa-studiovinari + nf-fa-supple + nf-fa-tablet_button + nf-fa-tablet + nf-fa-gauge_high + nf-fa-ticket_simple + nf-fa-uber + nf-fa-uikit + nf-fa-uniregistry + nf-fa-untappd + nf-fa-user_large + nf-fa-ussunnah + nf-fa-vaadin + nf-fa-viber + nf-fa-vimeo + nf-fa-vnv + nf-fa-square_whatsapp + nf-fa-whmcs + nf-fa-wordpress_simple + nf-fa-xbox + nf-fa-yandex + nf-fa-yandex_international + nf-fa-apple_pay + nf-fa-cc_apple_pay + nf-fa-fly + nf-fa-node + nf-fa-osi + nf-fa-react + nf-fa-autoprefixer + nf-fa-less + nf-fa-sass + nf-fa-vuejs + nf-fa-angular + nf-fa-aviato + nf-fa-down_left_and_up_right_to_center + nf-fa-ember + nf-fa-up_right_and_down_left_from_center + nf-fa-gitter + nf-fa-hooli + nf-fa-strava + nf-fa-stripe + nf-fa-stripe_s + nf-fa-typo3 + nf-fa-amazon_pay + nf-fa-cc_amazon_pay + nf-fa-ethereum + nf-fa-korvue + nf-fa-elementor + nf-fa-baseball_bat_ball + nf-fa-baseball + nf-fa-basketball + nf-fa-bowling_ball + nf-fa-chess + nf-fa-chess_bishop + nf-fa-chess_board + nf-fa-chess_king + nf-fa-chess_knight + nf-fa-chess_pawn + nf-fa-chess_queen + nf-fa-chess_rook + nf-fa-dumbbell + nf-fa-flipboard + nf-fa-football + nf-fa-golf_ball_tee + nf-fa-hips + nf-fa-hockey_puck + nf-fa-php + nf-fa-broom_ball + nf-fa-quinscape + nf-fa-square_full + nf-fa-table_tennis_paddle_ball + nf-fa-volleyball + nf-fa-hand_dots + nf-fa-bandage + nf-fa-box + nf-fa-boxes_stacked + nf-fa-briefcase_medical + nf-fa-fire_flame_simple + nf-fa-capsules + nf-fa-clipboard_check + nf-fa-clipboard_list + nf-fa-person_dots_from_line + nf-fa-dna + nf-fa-dolly + nf-fa-cart_flatbed + nf-fa-file_medical + nf-fa-file_waveform + nf-fa-kit_medical + nf-fa-circle_h + nf-fa-id_card_clip + nf-fa-notes_medical + nf-fa-pallet + nf-fa-pills + nf-fa-prescription_bottle + nf-fa-prescription_bottle_medical + nf-fa-bed_pulse + nf-fa-truck_fast + nf-fa-smoking + nf-fa-syringe + nf-fa-tablets + nf-fa-thermometer_alt + nf-fa-vial + nf-fa-vials + nf-fa-warehouse + nf-fa-weight_scale + nf-fa-x_ray + nf-fa-box_open + nf-fa-comment_slash + nf-fa-couch + nf-fa-circle_dollar_to_slot + nf-fa-dove + nf-fa-hand_holding + nf-fa-hand_holding_heart + nf-fa-hand_holding_dollar + nf-fa-hand_holding_droplet + nf-fa-hands_holding + nf-fa-handshake_angle + nf-fa-handshake_simple + nf-fa-parachute_box + nf-fa-people_carry_box + nf-fa-piggy_bank + nf-fa-readme + nf-fa-ribbon + nf-fa-route + nf-fa-seedling + nf-fa-sign_hanging + nf-fa-face_smile_wink + nf-fa-tape + nf-fa-truck_ramp_box + nf-fa-truck_moving + nf-fa-video_slash + nf-fa-wine_glass + nf-fa-java + nf-fa-pied_piper_hat + nf-fa-creative_commons_by + nf-fa-creative_commons_nc + nf-fa-creative_commons_nc_eu + nf-fa-creative_commons_nc_jp + nf-fa-creative_commons_nd + nf-fa-creative_commons_pd + nf-fa-creative_commons_pd_alt + nf-fa-creative_commons_remix + nf-fa-creative_commons_sa + nf-fa-creative_commons_sampling + nf-fa-creative_commons_sampling_plus + nf-fa-creative_commons_share + nf-fa-creative_commons_zero + nf-fa-ebay + nf-fa-keybase + nf-fa-mastodon + nf-fa-r_project + nf-fa-researchgate + nf-fa-teamspeak + nf-fa-user_large_slash + nf-fa-user_astronaut + nf-fa-user_check + nf-fa-user_clock + nf-fa-user_gear + nf-fa-user_pen + nf-fa-user_group + nf-fa-user_graduate + nf-fa-user_lock + nf-fa-user_minus + nf-fa-user_ninja + nf-fa-user_shield + nf-fa-user_slash + nf-fa-user_tag + nf-fa-user_tie + nf-fa-users_gear + nf-fa-first_order_alt + nf-fa-fulcrum + nf-fa-galactic_republic + nf-fa-galactic_senate + nf-fa-jedi_order + nf-fa-mandalorian + nf-fa-old_republic + nf-fa-phoenix_squadron + nf-fa-sith + nf-fa-trade_federation + nf-fa-wolf_pack_battalion + nf-fa-scale_unbalanced + nf-fa-scale_unbalanced_flip + nf-fa-blender + nf-fa-book_open + nf-fa-tower_broadcast + nf-fa-broom + nf-fa-chalkboard + nf-fa-chalkboard_user + nf-fa-church + nf-fa-coins + nf-fa-compact_disc + nf-fa-crow + nf-fa-crown + nf-fa-dice + nf-fa-dice_five + nf-fa-dice_four + nf-fa-dice_one + nf-fa-dice_six + nf-fa-dice_three + nf-fa-dice_two + nf-fa-divide + nf-fa-door_closed + nf-fa-door_open + nf-fa-equals + nf-fa-feather + nf-fa-frog + nf-fa-gas_pump + nf-fa-glasses + nf-fa-greater_than + nf-fa-greater_than_equal + nf-fa-helicopter + nf-fa-infinity + nf-fa-kiwi_bird + nf-fa-receipt + nf-fa-robot + nf-fa-ruler + nf-fa-ruler_combined + nf-fa-ruler_horizontal + nf-fa-ruler_vertical + nf-fa-school + nf-fa-screwdriver + nf-fa-shoe_prints + nf-fa-skull + nf-fa-ban_smoking + nf-fa-store + nf-fa-shop + nf-fa-bars_staggered + nf-fa-stroopwafel + nf-fa-toolbox + nf-fa-shirt + nf-fa-person_walking + nf-fa-wallet + nf-fa-face_angry + nf-fa-archway + nf-fa-book_atlas + nf-fa-award + nf-fa-delete_left + nf-fa-bezier_curve + nf-fa-bong + nf-fa-brush + nf-fa-bus_simple + nf-fa-cannabis + nf-fa-check_double + nf-fa-martini_glass_citrus + nf-fa-bell_concierge + nf-fa-cookie + nf-fa-cookie_bite + nf-fa-crop_simple + nf-fa-tachograph_digital + nf-fa-face_dizzy + nf-fa-compass_drafting + nf-fa-drum + nf-fa-drum_steelpan + nf-fa-feather_pointed + nf-fa-file_contract + nf-fa-file_arrow_down + nf-fa-file_export + nf-fa-file_import + nf-fa-file_invoice + nf-fa-file_invoice_dollar + nf-fa-file_prescription + nf-fa-file_signature + nf-fa-file_arrow_up + nf-fa-fill + nf-fa-fill_drip + nf-fa-fingerprint + nf-fa-fish + nf-fa-face_flushed + nf-fa-face_frown_open + nf-fa-martini_glass + nf-fa-earth_africa + nf-fa-earth_americas + nf-fa-earth_asia + nf-fa-face_grimace + nf-fa-face_grin + nf-fa-face_grin_wide + nf-fa-face_grin_beam + nf-fa-face_grin_beam_sweat + nf-fa-face_grin_hearts + nf-fa-face_grin_squint + nf-fa-face_grin_squint_tears + nf-fa-face_grin_stars + nf-fa-face_grin_tears + nf-fa-face_grin_tongue + nf-fa-face_grin_tongue_squint + nf-fa-face_grin_tongue_wink + nf-fa-face_grin_wink + nf-fa-grip + nf-fa-grip_vertical + nf-fa-headphones_simple + nf-fa-headset + nf-fa-highlighter + nf-fa-hornbill + nf-fa-hot_tub_person + nf-fa-hotel_building + nf-fa-joint + nf-fa-face_kiss + nf-fa-face_kiss_beam + nf-fa-face_kiss_wink_heart + nf-fa-face_laugh + nf-fa-face_laugh_beam + nf-fa-face_laugh_squint + nf-fa-face_laugh_wink + nf-fa-cart_flatbed_suitcase + nf-fa-mailchimp + nf-fa-map_location + nf-fa-map_location_dot + nf-fa-marker + nf-fa-medal + nf-fa-megaport + nf-fa-face_meh_blank + nf-fa-face_rolling_eyes + nf-fa-monument + nf-fa-mortar_pestle + nf-fa-nimblr + nf-fa-paint_roller + nf-fa-passport + nf-fa-pen_fancy + nf-fa-pen_nib + nf-fa-pen_ruler + nf-fa-plane_arrival + nf-fa-plane_departure + nf-fa-prescription + nf-fa-rev + nf-fa-face_sad_cry + nf-fa-face_sad_tear + nf-fa-shopware + nf-fa-van_shuttle + nf-fa-signature + nf-fa-face_smile_beam + nf-fa-solar_panel + nf-fa-spa + nf-fa-splotch + nf-fa-spray_can + nf-fa-squarespace + nf-fa-stamp + nf-fa-star_half_stroke + nf-fa-suitcase_rolling + nf-fa-face_surprise + nf-fa-swatchbook + nf-fa-person_swimming + nf-fa-water_ladder + nf-fa-themeco + nf-fa-droplet_slash + nf-fa-face_tired + nf-fa-tooth + nf-fa-umbrella_beach + nf-fa-vector_square + nf-fa-weebly + nf-fa-weight_hanging + nf-fa-wine_glass_empty + nf-fa-wix + nf-fa-spray_can_sparkles + nf-fa-apple_whole + nf-fa-atom + nf-fa-bone + nf-fa-book_open_reader + nf-fa-brain + nf-fa-car_rear + nf-fa-car_battery + nf-fa-car_burst + nf-fa-car_side + nf-fa-charging_station + nf-fa-diamond_turn_right + nf-fa-draw_polygon + nf-fa-ello + nf-fa-hackerrank + nf-fa-kaggle + nf-fa-laptop_code + nf-fa-layer_group + nf-fa-location_crosshairs + nf-fa-lungs + nf-fa-markdown + nf-fa-microscope + nf-fa-neos + nf-fa-oil_can + nf-fa-poop + nf-fa-shapes + nf-fa-star_of_life + nf-fa-gauge + nf-fa-gauge_simple + nf-fa-teeth + nf-fa-teeth_open + nf-fa-masks_theater + nf-fa-traffic_light + nf-fa-truck_monster + nf-fa-truck_pickup + nf-fa-zhihu + nf-fa-rectangle_ad + nf-fa-alipay + nf-fa-ankh + nf-fa-book_bible + nf-fa-business_time + nf-fa-city + nf-fa-comment_dollar + nf-fa-comments_dollar + nf-fa-cross + nf-fa-dharmachakra + nf-fa-envelope_open_text + nf-fa-folder_minus + nf-fa-folder_plus + nf-fa-filter_circle_dollar + nf-fa-gopuram + nf-fa-hamsa + nf-fa-bahai + nf-fa-jedi + nf-fa-book_journal_whills + nf-fa-kaaba + nf-fa-khanda + nf-fa-landmark + nf-fa-envelopes_bulk + nf-fa-menorah + nf-fa-mosque + nf-fa-om + nf-fa-spaghetti_monster_flying + nf-fa-peace + nf-fa-place_of_worship + nf-fa-square_poll_vertical + nf-fa-square_poll_horizontal + nf-fa-person_praying + nf-fa-hands_praying + nf-fa-book_quran + nf-fa-magnifying_glass_dollar + nf-fa-magnifying_glass_location + nf-fa-socks + nf-fa-square_root_variable + nf-fa-star_and_crescent + nf-fa-star_of_david + nf-fa-synagogue + nf-fa-the_red_yeti + nf-fa-scroll_torah + nf-fa-torii_gate + nf-fa-vihara + nf-fa-volume_xmark + nf-fa-yin_yang + nf-fa-blender_phone + nf-fa-book_skull + nf-fa-campground + nf-fa-cat + nf-fa-chair + nf-fa-cloud_moon + nf-fa-cloud_sun + nf-fa-cow + nf-fa-critical_role + nf-fa-d_and_d_beyond + nf-fa-dev + nf-fa-dice_d20 + nf-fa-dice_d6 + nf-fa-dog + nf-fa-dragon + nf-fa-drumstick_bite + nf-fa-dungeon + nf-fa-fantasy_flight_games + nf-fa-file_csv + nf-fa-hand_fist + nf-fa-ghost + nf-fa-hammer + nf-fa-hanukiah + nf-fa-hat_wizard + nf-fa-person_hiking + nf-fa-hippo + nf-fa-horse + nf-fa-house_chimney_crack + nf-fa-hryvnia_sign + nf-fa-mask + nf-fa-mountain + nf-fa-network_wired + nf-fa-otter + nf-fa-ring + nf-fa-person_running + nf-fa-scroll + nf-fa-skull_crossbones + nf-fa-slash + nf-fa-spider + nf-fa-toilet_paper + nf-fa-tractor + nf-fa-user_injured + nf-fa-vr_cardboard + nf-fa-wand_sparkles + nf-fa-wind + nf-fa-wine_bottle + nf-fa-wizards_of_the_coast + nf-fa-think_peaks + nf-fa-cloud_meatball + nf-fa-cloud_moon_rain + nf-fa-cloud_rain + nf-fa-cloud_showers_heavy + nf-fa-cloud_sun_rain + nf-fa-democrat + nf-fa-flag_usa + nf-fa-hurricane + nf-fa-landmark_dome + nf-fa-meteor + nf-fa-person_booth + nf-fa-poo_storm + nf-fa-rainbow + nf-fa-reacteurope + nf-fa-republican + nf-fa-smog + nf-fa-temperature_high + nf-fa-temperature_low + nf-fa-cloud_bolt + nf-fa-tornado + nf-fa-volcano + nf-fa-check_to_slot + nf-fa-water + nf-fa-artstation + nf-fa-atlassian + nf-fa-baby + nf-fa-baby_carriage + nf-fa-biohazard + nf-fa-blog + nf-fa-calendar_day + nf-fa-calendar_week + nf-fa-canadian_maple_leaf + nf-fa-candy_cane + nf-fa-carrot + nf-fa-cash_register + nf-fa-centos + nf-fa-minimize + nf-fa-confluence + nf-fa-dhl + nf-fa-diaspora + nf-fa-dumpster + nf-fa-dumpster_fire + nf-fa-ethernet + nf-fa-fedex + nf-fa-fedora + nf-fa-figma + nf-fa-gifts + nf-fa-champagne_glasses + nf-fa-whiskey_glass + nf-fa-earth_europe + nf-fa-grip_lines + nf-fa-grip_lines_vertical + nf-fa-guitar + nf-fa-heart_crack + nf-fa-holly_berry + nf-fa-horse_head + nf-fa-icicles + nf-fa-igloo + nf-fa-intercom + nf-fa-invision + nf-fa-jira + nf-fa-mendeley + nf-fa-mitten + nf-fa-mug_hot + nf-fa-radiation + nf-fa-circle_radiation + nf-fa-raspberry_pi + nf-fa-redhat + nf-fa-restroom + nf-fa-satellite + nf-fa-satellite_dish + nf-fa-sd_card + nf-fa-sim_card + nf-fa-person_skating + nf-fa-sketch + nf-fa-person_skiing + nf-fa-person_skiing_nordic + nf-fa-sleigh + nf-fa-comment_sms + nf-fa-person_snowboarding + nf-fa-snowman + nf-fa-snowplow + nf-fa-sourcetree + nf-fa-suse + nf-fa-tenge_sign + nf-fa-toilet + nf-fa-screwdriver_wrench + nf-fa-cable_car + nf-fa-ubuntu + nf-fa-ups + nf-fa-usps + nf-fa-yarn + nf-fa-fire_flame_curved + nf-fa-bacon + nf-fa-book_medical + nf-fa-bread_slice + nf-fa-cheese + nf-fa-house_chimney_medical + nf-fa-clipboard_user + nf-fa-comment_medical + nf-fa-crutch + nf-fa-disease + nf-fa-egg + nf-fa-folder_tree + nf-fa-burger + nf-fa-hand_middle_finger + nf-fa-helmet_safety + nf-fa-house_chimney + nf-fa-hospital_user + nf-fa-hotdog + nf-fa-ice_cream + nf-fa-laptop_medical + nf-fa-pager + nf-fa-pepper_hot + nf-fa-pizza_slice + nf-fa-sack_dollar + nf-fa-book_tanakh + nf-fa-bars_progress + nf-fa-trash_arrow_up + nf-fa-trash_can_arrow_up + nf-fa-user_nurse + nf-fa-airbnb + nf-fa-battle_net + nf-fa-bootstrap + nf-fa-buffer + nf-fa-chromecast + nf-fa-evernote + nf-fa-itch_io + nf-fa-salesforce + nf-fa-speaker_deck + nf-fa-symfony + nf-fa-wave_square + nf-fa-waze + nf-fa-yammer + nf-fa-git_alt + nf-fa-stackpath + nf-fa-person_biking + nf-fa-border_all + nf-fa-border_none + nf-fa-border_top_left + nf-fa-person_digging + nf-fa-fan + nf-fa-icons + nf-fa-phone_flip + nf-fa-square_phone_flip + nf-fa-photo_film + nf-fa-text_slash + nf-fa-arrow_down_z_a + nf-fa-arrow_up_z_a + nf-fa-arrow_down_short_wide + nf-fa-arrow_up_short_wide + nf-fa-arrow_down_9_1 + nf-fa-arrow_up_9_1 + nf-fa-spell_check + nf-fa-voicemail + nf-fa-cotton_bureau + nf-fa-buy_n_large + nf-fa-hat_cowboy + nf-fa-hat_cowboy_side + nf-fa-mdb + nf-fa-computer_mouse + nf-fa-orcid + nf-fa-radio + nf-fa-record_vinyl + nf-fa-swift + nf-fa-umbraco + nf-fa-walkie_talkie + nf-fa-caravan + nf-fa-avianex + nf-fa-less_than + nf-fa-less_than_equal + nf-fa-memory + nf-fa-microphone_lines_slash + nf-fa-money_bill_wave + nf-fa-money_bill_1_wave + nf-fa-money_check + nf-fa-money_check_dollar + nf-fa-not_equal + nf-fa-palette + nf-fa-square_parking + nf-fa-diagram_project + nf-fa-martini_glass_empty nf-fa-glass + nf-fa-music + nf-fa-magnifying_glass nf-fa-search + nf-fa-envelope_o + nf-fa-heart + nf-fa-star + nf-fa-star_o + nf-fa-user + nf-fa-film + nf-fa-table_cells_large nf-fa-th_large + nf-fa-table_cells nf-fa-th + nf-fa-table_list nf-fa-th_list + nf-fa-check + nf-fa-xmark nf-fa-times nf-fa-close nf-fa-remove + nf-fa-magnifying_glass_plus nf-fa-search_plus + nf-fa-images + nf-fa-magnifying_glass_minus nf-fa-search_minus + nf-fa-power_off + nf-fa-signal + nf-fa-gear nf-fa-cog + nf-fa-trash_can nf-fa-trash_o + nf-fa-house nf-fa-home + nf-fa-file_o + nf-fa-clock nf-fa-clock_o + nf-fa-road + nf-fa-download + nf-fa-circle_down nf-fa-arrow_circle_o_down + nf-fa-circle_up nf-fa-arrow_circle_o_up + nf-fa-inbox + nf-fa-play_circle_o + nf-fa-arrow_rotate_right nf-fa-repeat + nf-fa-pen + nf-fa-pen_clip + nf-fa-arrows_rotate nf-fa-refresh + nf-fa-rectangle_list nf-fa-list_alt + nf-fa-lock + nf-fa-flag + nf-fa-headphones + nf-fa-volume_off + nf-fa-volume_low nf-fa-volume_down + nf-fa-volume_high nf-fa-volume_up + nf-fa-qrcode + nf-fa-barcode + nf-fa-tag + nf-fa-tags + nf-fa-book + nf-fa-bookmark + nf-fa-print + nf-fa-camera + nf-fa-font + nf-fa-bold + nf-fa-italic + nf-fa-text_height + nf-fa-text_width + nf-fa-align_left + nf-fa-align_center + nf-fa-align_right + nf-fa-align_justify + nf-fa-list + nf-fa-outdent nf-fa-dedent + nf-fa-indent + nf-fa-video nf-fa-video_camera + nf-fa-image nf-fa-picture_o nf-fa-photo + nf-fa-down_long + nf-fa-pencil + nf-fa-location_pin nf-fa-map_marker + nf-fa-circle_half_stroke nf-fa-adjust + nf-fa-droplet nf-fa-tint + nf-fa-pen_to_square nf-fa-pencil_square_o nf-fa-edit + nf-fa-share_square_o + nf-fa-check_square_o + nf-fa-arrows_up_down_left_right nf-fa-arrows + nf-fa-backward_step nf-fa-step_backward + nf-fa-backward_fast nf-fa-fast_backward + nf-fa-backward + nf-fa-play + nf-fa-pause + nf-fa-stop + nf-fa-forward + nf-fa-left_long + nf-fa-forward_fast nf-fa-fast_forward + nf-fa-forward_step nf-fa-step_forward + nf-fa-eject + nf-fa-chevron_left + nf-fa-chevron_right + nf-fa-circle_plus nf-fa-plus_circle + nf-fa-circle_minus nf-fa-minus_circle + nf-fa-remove_sign nf-fa-times_circle + nf-fa-ok_sign nf-fa-check_circle + nf-fa-circle_question nf-fa-question_circle + nf-fa-circle_info nf-fa-info_circle + nf-fa-crosshairs + nf-fa-circle_xmark nf-fa-times_circle_o + nf-fa-circle_check nf-fa-check_circle_o + nf-fa-ban + nf-fa-file_pen + nf-fa-arrow_left + nf-fa-arrow_right + nf-fa-arrow_up + nf-fa-arrow_down + nf-fa-share nf-fa-mail_forward + nf-fa-expand + nf-fa-compress + nf-fa-plus + nf-fa-minus + nf-fa-asterisk + nf-fa-circle_exclamation nf-fa-exclamation_circle + nf-fa-gift + nf-fa-leaf + nf-fa-fire + nf-fa-eye + nf-fa-maximize + nf-fa-eye_slash + nf-fa-triangle_exclamation nf-fa-exclamation_triangle nf-fa-warning + nf-fa-plane + nf-fa-calendar_days nf-fa-calendar + nf-fa-shuffle nf-fa-random + nf-fa-comment + nf-fa-magnet + nf-fa-chevron_up + nf-fa-chevron_down + nf-fa-retweet + nf-fa-cart_shopping nf-fa-shopping_cart + nf-fa-folder + nf-fa-folder_open + nf-fa-arrows_up_down nf-fa-arrows_v + nf-fa-arrows_left_right nf-fa-arrows_h + nf-fa-clipboard_alt + nf-fa-chart_bar nf-fa-bar_chart nf-fa-bar_chart_o + nf-fa-square_twitter nf-fa-twitter_square + nf-fa-square_facebook nf-fa-facebook_square + nf-fa-camera_retro + nf-fa-key + nf-fa-gears nf-fa-cogs + nf-fa-comments + nf-fa-thumbs_o_up + nf-fa-thumbs_o_down + nf-fa-star_half + nf-fa-heard_o nf-fa-heart_o + nf-fa-arrow_right_from_bracket nf-fa-sign_out + nf-fa-linkedin_square + nf-fa-thumbtack nf-fa-thumb_tack + nf-fa-arrow_up_right_from_square nf-fa-external_link + nf-fa-left_right + nf-fa-arrow_right_to_bracket nf-fa-sign_in + nf-fa-trophy + nf-fa-square_github nf-fa-github_square + nf-fa-upload + nf-fa-lemon nf-fa-lemon_o + nf-fa-phone + nf-fa-square_o + nf-fa-bookmark_o + nf-fa-square_phone nf-fa-phone_square + nf-fa-twitter + nf-fa-facebook + nf-fa-github + nf-fa-unlock + nf-fa-credit_card + nf-fa-rss nf-fa-feed + nf-fa-up_down + nf-fa-hard_drive nf-fa-hdd_o + nf-fa-bullhorn + nf-fa-bell_o + nf-fa-certificate + nf-fa-hand_point_right nf-fa-hand_o_right + nf-fa-hand_point_left nf-fa-hand_o_left + nf-fa-hand_point_up nf-fa-hand_o_up + nf-fa-hand_point_down nf-fa-hand_o_down + nf-fa-circle_arrow_left nf-fa-arrow_circle_left + nf-fa-circle_arrow_right nf-fa-arrow_circle_right + nf-fa-circle_arrow_up nf-fa-arrow_circle_up + nf-fa-circle_arrow_down nf-fa-arrow_circle_down + nf-fa-globe + nf-fa-wrench + nf-fa-list_check nf-fa-tasks + nf-fa-square_font_awesome_stroke + nf-fa-filter + nf-fa-briefcase + nf-fa-up_down_left_right nf-fa-arrows_alt + nf-fa-up_right_from_square + nf-fa-square_up_right + nf-fa-right_left + nf-fa-repeat_alt + nf-fa-accusoft + nf-fa-adversal + nf-fa-affiliatetheme + nf-fa-algolia + nf-fa-amilia + nf-fa-angrycreative + nf-fa-app_store + nf-fa-app_store_ios + nf-fa-apper + nf-fa-users nf-fa-group + nf-fa-link nf-fa-chain + nf-fa-cloud + nf-fa-flask + nf-fa-scissors nf-fa-cut + nf-fa-copy nf-fa-files_o + nf-fa-paperclip + nf-fa-floppy_disk nf-fa-floppy_o nf-fa-save + nf-fa-square + nf-fa-bars nf-fa-reorder nf-fa-navicon + nf-fa-list_ul + nf-fa-list_ol + nf-fa-strikethrough + nf-fa-underline + nf-fa-table + nf-fa-asymmetrik + nf-fa-wand_magic nf-fa-magic + nf-fa-truck + nf-fa-pinterest + nf-fa-square_pinterest nf-fa-pinterest_square + nf-fa-square_google_plus nf-fa-google_plus_square + nf-fa-google_plus + nf-fa-money_bill nf-fa-money + nf-fa-caret_down + nf-fa-caret_up + nf-fa-caret_left + nf-fa-caret_right + nf-fa-table_columns nf-fa-columns + nf-fa-sort nf-fa-unsorted + nf-fa-sort_down nf-fa-sort_desc + nf-fa-sort_up nf-fa-sort_asc + nf-fa-audible + nf-fa-envelope + nf-fa-linkedin_in nf-fa-linkedin + nf-fa-arrow_rotate_left nf-fa-undo + nf-fa-gavel nf-fa-legal + nf-fa-gauge_simple_high nf-fa-dashboard nf-fa-tachometer + nf-fa-comment_o + nf-fa-comments_o + nf-fa-bolt nf-fa-flash + nf-fa-sitemap + nf-fa-umbrella + nf-fa-paste nf-fa-clipboard + nf-fa-lightbulb nf-fa-lightbulb_o + nf-fa-arrow_right_arrow_left nf-fa-exchange + nf-fa-cloud_arrow_down nf-fa-cloud_download + nf-fa-cloud_arrow_up nf-fa-cloud_upload + nf-fa-aws + nf-fa-user_doctor nf-fa-user_md + nf-fa-stethoscope + nf-fa-suitcase + nf-fa-bell + nf-fa-mug_saucer nf-fa-coffee + nf-fa-utensils nf-fa-cutlery + nf-fa-file_text_o + nf-fa-building_o + nf-fa-hospital nf-fa-hospital_o + nf-fa-truck_medical nf-fa-ambulance + nf-fa-suitcase_medical nf-fa-medkit + nf-fa-jet_fighter nf-fa-fighter_jet + nf-fa-beer_mug_empty nf-fa-beer + nf-fa-square_h nf-fa-h_square + nf-fa-square_plus nf-fa-plus_square + nf-fa-bimobject + nf-fa-angles_left nf-fa-angle_double_left + nf-fa-angles_right nf-fa-angle_double_right + nf-fa-angles_up nf-fa-angle_double_up + nf-fa-angles_down nf-fa-angle_double_down + nf-fa-angle_left + nf-fa-angle_right + nf-fa-angle_up + nf-fa-angle_down + nf-fa-desktop + nf-fa-laptop + nf-fa-tablet_screen_button + nf-fa-mobile_screen_button nf-fa-mobile_phone + nf-fa-circle_o + nf-fa-quote_left + nf-fa-quote_right + nf-fa-bitcoin + nf-fa-spinner + nf-fa-circle + nf-fa-reply nf-fa-mail_reply + nf-fa-github_alt + nf-fa-folder_o + nf-fa-folder_open_o + nf-fa-bity + nf-fa-blackberry + nf-fa-face_smile nf-fa-smile_o + nf-fa-face_frown nf-fa-frown_o + nf-fa-face_meh nf-fa-meh_o + nf-fa-gamepad + nf-fa-keyboard nf-fa-keyboard_o + nf-fa-flag_o + nf-fa-flag_checkered + nf-fa-blogger + nf-fa-terminal + nf-fa-code + nf-fa-reply_all nf-fa-mail_reply_all + nf-fa-star_half_o nf-fa-star_half_full nf-fa-star_half_empty + nf-fa-location_arrow + nf-fa-crop + nf-fa-code_branch nf-fa-code_fork + nf-fa-link_slash nf-fa-unlink nf-fa-chain_broken + nf-fa-question + nf-fa-info + nf-fa-exclamation + nf-fa-superscript + nf-fa-subscript + nf-fa-eraser + nf-fa-puzzle_piece + nf-fa-blogger_b + nf-fa-microphone + nf-fa-microphone_slash + nf-fa-shield + nf-fa-calendar_o + nf-fa-fire_extinguisher + nf-fa-rocket + nf-fa-maxcdn + nf-fa-circle_chevron_left nf-fa-chevron_circle_left + nf-fa-circle_chevron_right nf-fa-chevron_circle_right + nf-fa-circle_chevron_up nf-fa-chevron_circle_up + nf-fa-circle_chevron_down nf-fa-chevron_circle_down + nf-fa-html5 + nf-fa-css3 + nf-fa-anchor + nf-fa-unlock_keyhole nf-fa-unlock_alt + nf-fa-buromobelexperte + nf-fa-bullseye + nf-fa-ellipsis nf-fa-ellipsis_h + nf-fa-ellipsis_vertical nf-fa-ellipsis_v + nf-fa-square_rss nf-fa-rss_square + nf-fa-circle_play nf-fa-play_circle + nf-fa-ticket + nf-fa-square_minus nf-fa-minus_square + nf-fa-minus_square_o + nf-fa-arrow_turn_up nf-fa-level_up + nf-fa-arrow_turn_down nf-fa-level_down + nf-fa-square_check nf-fa-check_square + nf-fa-square_pen nf-fa-pencil_square + nf-fa-square_arrow_up_right nf-fa-external_link_square + nf-fa-share_from_square nf-fa-share_square + nf-fa-compass + nf-fa-centercode + nf-fa-square_caret_down nf-fa-caret_square_o_down nf-fa-toggle_down + nf-fa-square_caret_up nf-fa-toggle_up nf-fa-caret_square_o_up + nf-fa-square_caret_right nf-fa-toggle_right nf-fa-caret_square_o_right + nf-fa-euro_sign nf-fa-euro nf-fa-eur + nf-fa-sterling_sign nf-fa-gbp + nf-fa-dollar_sign nf-fa-dollar nf-fa-usd + nf-fa-rupee_sign nf-fa-inr nf-fa-rupee + nf-fa-yen_sign nf-fa-jpy nf-fa-yen nf-fa-cny nf-fa-rmb + nf-fa-ruble_sign nf-fa-rouble nf-fa-ruble nf-fa-rub + nf-fa-won_sign nf-fa-krw nf-fa-won + nf-fa-btc + nf-fa-file + nf-fa-file_lines nf-fa-file_text + nf-fa-arrow_down_a_z nf-fa-sort_alpha_asc + nf-fa-arrow_up_a_z nf-fa-sort_alpha_desc + nf-fa-cloudscale + nf-fa-arrow_down_wide_short nf-fa-sort_amount_asc + nf-fa-arrow_up_wide_short nf-fa-sort_amount_desc + nf-fa-arrow_down_1_9 nf-fa-sort_numeric_asc + nf-fa-arrow_up_1_9 nf-fa-sort_numeric_desc + nf-fa-thumbs_up + nf-fa-thumbs_down + nf-fa-square_youtube nf-fa-youtube_square + nf-fa-cloudsmith + nf-fa-xing + nf-fa-square_xing nf-fa-xing_square + nf-fa-youtube nf-fa-youtube_play + nf-fa-dropbox + nf-fa-stack_overflow + nf-fa-instagram + nf-fa-flickr + nf-fa-cloudversify + nf-fa-adn + nf-fa-bitbucket + nf-fa-code_commit nf-fa-bitbucket_square + nf-fa-tumblr + nf-fa-square_tumblr nf-fa-tumblr_square + nf-fa-arrow_down_long nf-fa-long_arrow_down + nf-fa-arrow_up_long nf-fa-long_arrow_up + nf-fa-arrow_left_long nf-fa-long_arrow_left + nf-fa-arrow_right_long nf-fa-long_arrow_right + nf-fa-apple + nf-fa-windows + nf-fa-android + nf-fa-linux + nf-fa-dribbble + nf-fa-skype + nf-fa-code_merge + nf-fa-foursquare + nf-fa-trello + nf-fa-person_dress nf-fa-female + nf-fa-person nf-fa-male + nf-fa-gratipay nf-fa-gittip + nf-fa-sun nf-fa-sun_o + nf-fa-moon nf-fa-moon_o + nf-fa-box_archive nf-fa-archive + nf-fa-bug + nf-fa-vk + nf-fa-weibo + nf-fa-renren + nf-fa-pagelines + nf-fa-stack_exchange + nf-fa-circle_right nf-fa-arrow_circle_o_right + nf-fa-cpanel + nf-fa-circle_left nf-fa-arrow_circle_o_left + nf-fa-square_caret_left nf-fa-caret_square_o_left nf-fa-toggle_left + nf-fa-circle_dot nf-fa-dot_circle_o + nf-fa-wheelchair + nf-fa-square_vimeo nf-fa-vimeo_square + nf-fa-lira_sign nf-fa-turkish_lira nf-fa-try + nf-fa-plus_square_o + nf-fa-shuttle_space nf-fa-space_shuttle + nf-fa-slack + nf-fa-square_envelope nf-fa-envelope_square + nf-fa-wordpress + nf-fa-openid + nf-fa-building_columns nf-fa-bank nf-fa-institution nf-fa-university + nf-fa-graduation_cap nf-fa-mortar_board + nf-fa-yahoo + nf-fa-css3_alt + nf-fa-google + nf-fa-reddit + nf-fa-square_reddit nf-fa-reddit_square + nf-fa-stumbleupon_circle + nf-fa-stumbleupon + nf-fa-delicious + nf-fa-digg + nf-fa-pied_piper_pp + nf-fa-pied_piper_alt + nf-fa-drupal + nf-fa-joomla + nf-fa-language + nf-fa-fax + nf-fa-building + nf-fa-child + nf-fa-cuttlefish + nf-fa-paw + nf-fa-spoon + nf-fa-cube + nf-fa-cubes + nf-fa-behance + nf-fa-square_behance nf-fa-behance_square + nf-fa-steam + nf-fa-square_steam nf-fa-steam_square + nf-fa-recycle + nf-fa-car nf-fa-automobile + nf-fa-taxi nf-fa-cab + nf-fa-tree + nf-fa-spotify + nf-fa-deviantart + nf-fa-soundcloud + nf-fa-d_and_d + nf-fa-database + nf-fa-file_pdf nf-fa-file_pdf_o + nf-fa-file_word nf-fa-file_word_o + nf-fa-file_excel nf-fa-file_excel_o + nf-fa-file_powerpoint nf-fa-file_powerpoint_o + nf-fa-file_image nf-fa-file_picture_o nf-fa-file_image_o nf-fa-file_photo_o + nf-fa-file_zipper nf-fa-file_zip_o nf-fa-file_archive_o + nf-fa-file_audio nf-fa-file_audio_o nf-fa-file_sound_o + nf-fa-file_video nf-fa-file_movie_o nf-fa-file_video_o + nf-fa-file_code nf-fa-file_code_o + nf-fa-vine + nf-fa-codepen + nf-fa-jsfiddle + nf-fa-life_ring nf-fa-support nf-fa-life_bouy nf-fa-life_saver nf-fa-life_buoy + nf-fa-circle_notch nf-fa-circle_o_notch + nf-fa-deploydog + nf-fa-rebel nf-fa-ra nf-fa-resistance + nf-fa-empire nf-fa-ge + nf-fa-square_git nf-fa-git_square + nf-fa-git + nf-fa-hacker_news nf-fa-y_combinator_square nf-fa-yc_square + nf-fa-tencent_weibo + nf-fa-qq + nf-fa-weixin nf-fa-wechat + nf-fa-paper_plane nf-fa-send + nf-fa-paper_plane_o nf-fa-send_o + nf-fa-clock_rotate_left nf-fa-history + nf-fa-circle_thin + nf-fa-heading nf-fa-header + nf-fa-paragraph + nf-fa-sliders + nf-fa-deskpro + nf-fa-share_nodes nf-fa-share_alt + nf-fa-square_share_nodes nf-fa-share_alt_square + nf-fa-bomb + nf-fa-futbol nf-fa-soccer_ball_o nf-fa-futbol_o + nf-fa-tty + nf-fa-binoculars + nf-fa-plug + nf-fa-slideshare + nf-fa-twitch + nf-fa-yelp + nf-fa-newspaper nf-fa-newspaper_o + nf-fa-wifi + nf-fa-calculator + nf-fa-paypal + nf-fa-google_wallet + nf-fa-digital_ocean + nf-fa-cc_visa + nf-fa-cc_mastercard + nf-fa-cc_discover + nf-fa-cc_amex + nf-fa-cc_paypal + nf-fa-cc_stripe + nf-fa-bell_slash + nf-fa-bell_slash_o + nf-fa-trash + nf-fa-copyright + nf-fa-at + nf-fa-eye_dropper nf-fa-eyedropper + nf-fa-paintbrush nf-fa-paint_brush + nf-fa-cake_candles nf-fa-birthday_cake + nf-fa-chart_area nf-fa-area_chart + nf-fa-discord + nf-fa-chart_pie nf-fa-pie_chart + nf-fa-chart_line nf-fa-line_chart + nf-fa-lastfm + nf-fa-square_lastfm nf-fa-lastfm_square + nf-fa-toggle_off + nf-fa-toggle_on + nf-fa-bicycle + nf-fa-bus + nf-fa-ioxhost + nf-fa-angellist + nf-fa-closed_captioning nf-fa-cc + nf-fa-shekel_sign nf-fa-sheqel nf-fa-shekel nf-fa-ils + nf-fa-discourse nf-fa-meanpath + nf-fa-buysellads + nf-fa-connectdevelop + nf-fa-dochub + nf-fa-dashcube + nf-fa-forumbee + nf-fa-leanpub + nf-fa-sellsy + nf-fa-shirtsinbulk + nf-fa-simplybuilt + nf-fa-skyatlas + nf-fa-cart_plus + nf-fa-cart_arrow_down + nf-fa-gem + nf-fa-ship + nf-fa-user_secret + nf-fa-motorcycle + nf-fa-street_view + nf-fa-heart_pulse nf-fa-heartbeat + nf-fa-docker + nf-fa-draft2digital + nf-fa-venus + nf-fa-mars + nf-fa-mercury + nf-fa-transgender nf-fa-intersex + nf-fa-transgender_alt + nf-fa-venus_double + nf-fa-mars_double + nf-fa-venus_mars + nf-fa-mars_stroke + nf-fa-mars_stroke_up nf-fa-mars_stroke_v + nf-fa-mars_stroke_right nf-fa-mars_stroke_h + nf-fa-neuter + nf-fa-genderless + nf-fa-square_dribbble + nf-fa-dyalog + nf-fa-earlybirds nf-fa-facebook_official + nf-fa-pinterest_p + nf-fa-whatsapp + nf-fa-server + nf-fa-user_plus + nf-fa-user_xmark nf-fa-user_times + nf-fa-bed nf-fa-hotel + nf-fa-viacoin + nf-fa-train + nf-fa-train_subway nf-fa-subway + nf-fa-medium + nf-fa-y_combinator nf-fa-yc + nf-fa-optin_monster + nf-fa-opencart + nf-fa-expeditedssl + nf-fa-erlang + nf-fa-battery_full nf-fa-battery nf-fa-battery_4 + nf-fa-battery_three_quarters nf-fa-battery_3 + nf-fa-battery_half nf-fa-battery_2 + nf-fa-battery_quarter nf-fa-battery_1 + nf-fa-battery_empty nf-fa-battery_0 + nf-fa-arrow_pointer nf-fa-mouse_pointer + nf-fa-i_cursor + nf-fa-object_group + nf-fa-object_ungroup + nf-fa-note_sticky nf-fa-sticky_note + nf-fa-sticky_note_o + nf-fa-cc_jcb + nf-fa-cc_diners_club + nf-fa-clone + nf-fa-scale_balanced nf-fa-balance_scale + nf-fa-facebook_f + nf-fa-hourglass_o + nf-fa-hourglass_start nf-fa-hourglass_1 + nf-fa-hourglass_half nf-fa-hourglass_2 + nf-fa-hourglass_end nf-fa-hourglass_3 + nf-fa-hourglass + nf-fa-hand_back_fist nf-fa-hand_rock_o nf-fa-hand_grab_o + nf-fa-hand nf-fa-hand_paper_o nf-fa-hand_stop_o + nf-fa-hand_scissors nf-fa-hand_scissors_o + nf-fa-hand_lizard nf-fa-hand_lizard_o + nf-fa-hand_spock nf-fa-hand_spock_o + nf-fa-hand_pointer nf-fa-hand_pointer_o + nf-fa-hand_peace nf-fa-hand_peace_o + nf-fa-trademark + nf-fa-registered + nf-fa-creative_commons + nf-fa-facebook_messenger + nf-fa-gg + nf-fa-gg_circle + nf-fa-firstdraft nf-fa-tripadvisor + nf-fa-odnoklassniki + nf-fa-square_odnoklassniki nf-fa-odnoklassniki_square + nf-fa-get_pocket + nf-fa-wikipedia_w + nf-fa-safari + nf-fa-chrome + nf-fa-firefox + nf-fa-opera + nf-fa-internet_explorer + nf-fa-tv nf-fa-television + nf-fa-contao + nf-fa-500px + nf-fa-fonticons_fi + nf-fa-amazon + nf-fa-calendar_plus nf-fa-calendar_plus_o + nf-fa-calendar_minus nf-fa-calendar_minus_o + nf-fa-calendar_xmark nf-fa-calendar_times_o + nf-fa-calendar_check nf-fa-calendar_check_o + nf-fa-industry + nf-fa-map_pin + nf-fa-signs_post nf-fa-map_signs + nf-fa-map_o + nf-fa-map + nf-fa-message nf-fa-commenting + nf-fa-comment_dots nf-fa-commenting_o + nf-fa-houzz + nf-fa-vimeo_v + nf-fa-black_tie + nf-fa-fort_awesome_alt + nf-fa-fonticons + nf-fa-reddit_alien + nf-fa-edge + nf-fa-credit_card_alt + nf-fa-codiepie + nf-fa-modx + nf-fa-fort_awesome + nf-fa-usb + nf-fa-product_hunt + nf-fa-mixcloud + nf-fa-scribd + nf-fa-circle_pause nf-fa-pause_circle + nf-fa-pause_circle_o + nf-fa-circle_stop nf-fa-stop_circle + nf-fa-stop_circle_o + nf-fa-freebsd + nf-fa-bag_shopping nf-fa-shopping_bag + nf-fa-basket_shopping nf-fa-shopping_basket + nf-fa-hashtag + nf-fa-bluetooth + nf-fa-bluetooth_b + nf-fa-percent + nf-fa-gitlab + nf-fa-wpbeginner + nf-fa-wpforms + nf-fa-envira + nf-fa-universal_access + nf-fa-accessible_icon nf-fa-wheelchair_alt + nf-fa-question_circle_o + nf-fa-person_walking_with_cane nf-fa-blind + nf-fa-audio_description + nf-fa-diamond + nf-fa-phone_volume nf-fa-volume_control_phone + nf-fa-braille + nf-fa-ear_listen nf-fa-assistive_listening_systems + nf-fa-hands_asl_interpreting nf-fa-american_sign_language_interpreting nf-fa-asl_interpreting + nf-fa-ear_deaf nf-fa-deaf nf-fa-deafness nf-fa-hard_of_hearing + nf-fa-glide + nf-fa-glide_g + nf-fa-hands nf-fa-signing nf-fa-sign_language + nf-fa-eye_low_vision nf-fa-low_vision + nf-fa-viadeo + nf-fa-square_viadeo nf-fa-viadeo_square + nf-fa-snapchat + nf-fa-gitkraken nf-fa-snapchat_ghost + nf-fa-square_snapchat nf-fa-snapchat_square + nf-fa-pied_piper + nf-fa-gofore + nf-fa-first_order + nf-fa-yoast + nf-fa-themeisle + nf-fa-google_plus_circle nf-fa-google_plus_official + nf-fa-font_awesome nf-fa-fa + nf-fa-handshake nf-fa-handshake_o + nf-fa-envelope_open + nf-fa-envelope_open_o + nf-fa-linode + nf-fa-address_book + nf-fa-address_book_o + nf-fa-address_card nf-fa-vcard + nf-fa-address_card_o nf-fa-vcard_o + nf-fa-circle_user nf-fa-user_circle + nf-fa-user_circle_o + nf-fa-goodreads + nf-fa-user_o + nf-fa-id_badge + nf-fa-id_card nf-fa-drivers_license + nf-fa-id_card_o nf-fa-drivers_license_o + nf-fa-quora + nf-fa-free_code_camp + nf-fa-telegram + nf-fa-temperature_full nf-fa-thermometer_4 nf-fa-thermometer nf-fa-thermometer_full + nf-fa-temperature_three_quarters nf-fa-thermometer_3 nf-fa-thermometer_three_quarters + nf-fa-temperature_half nf-fa-thermometer_2 nf-fa-thermometer_half + nf-fa-temperature_quarter nf-fa-thermometer_1 nf-fa-thermometer_quarter + nf-fa-temperature_empty nf-fa-thermometer_empty nf-fa-thermometer_0 + nf-fa-shower + nf-fa-bath nf-fa-bathtub nf-fa-s15 + nf-fa-podcast + nf-fa-goodreads_g + nf-fa-window_maximize + nf-fa-window_minimize + nf-fa-window_restore + nf-fa-square_xmark nf-fa-times_rectangle nf-fa-window_close + nf-fa-rectangle_xmark nf-fa-window_close_o nf-fa-times_rectangle_o + nf-fa-bandcamp + nf-fa-grav + nf-fa-etsy + nf-fa-imdb + nf-fa-ravelry + nf-fa-sellcast nf-fa-eercast + nf-fa-microchip + nf-fa-snowflake nf-fa-snowflake_o + nf-fa-superpowers + nf-fa-wpexplorer + nf-fa-google_drive + nf-fa-meetup + nf-fa-google_play + nf-fa-gripfire + nf-fa-grunt + nf-fa-gulp + nf-fa-square_hacker_news + nf-fa-hire_a_helper + nf-fa-hotjar + nf-fa-hubspot + nf-fa-itunes + nf-fa-rotate_left + nf-fa-itunes_note + nf-fa-jenkins + nf-fa-joget + nf-fa-js + nf-fa-square_js + nf-fa-keycdn + nf-fa-rotate + nf-fa-stopwatch + nf-fa-kickstarter + nf-fa-kickstarter_k + nf-fa-right_from_bracket + nf-fa-right_to_bracket + nf-fa-laravel + nf-fa-turn_down + nf-fa-rotate_right + nf-fa-turn_up + nf-fa-line + nf-fa-lock_open + nf-fa-lyft + nf-fa-poo + nf-fa-magento + nf-fae-smaller + nf-fae-snowing + nf-fae-soda + nf-fae-sofa + nf-fae-soup + nf-fae-spermatozoon + nf-fae-spin_double + nf-fae-stomach + nf-fae-storm + nf-fae-telescope + nf-fae-thermometer + nf-fae-thermometer_high + nf-fae-thermometer_low + nf-fae-thin_close + nf-fae-toilet + nf-fae-tools + nf-fae-tooth + nf-fae-uterus + nf-fae-w3c + nf-fae-walking + nf-fae-virus + nf-fae-telegram_circle + nf-fae-slash + nf-fae-telegram + nf-fae-shirt + nf-fae-tacos + nf-fae-sushi + nf-fae-triangle_ruler + nf-fae-tree + nf-fae-sun_cloud + nf-fae-ruby_o + nf-fae-ruler + nf-fae-umbrella + nf-fae-medicine + nf-fae-microscope + nf-fae-milk_bottle + nf-fae-minimize + nf-fae-molecule + nf-fae-moon_cloud + nf-fae-mushroom + nf-fae-mustache + nf-fae-mysql + nf-fae-nintendo + nf-fae-palette_color + nf-fae-pi + nf-fae-pizza + nf-fae-planet + nf-fae-plant + nf-fae-playstation + nf-fae-poison + nf-fae-popcorn + nf-fae-popsicle + nf-fae-pulse + nf-fae-python + nf-fae-quora_circle + nf-fae-quora_square + nf-fae-radioactive + nf-fae-raining + nf-fae-real_heart + nf-fae-refrigerator + nf-fae-restore + nf-fae-ring + nf-fae-ruby + nf-fae-fingerprint + nf-fae-floppy + nf-fae-footprint + nf-fae-freecodecamp + nf-fae-galaxy + nf-fae-galery + nf-fae-glass + nf-fae-google_drive + nf-fae-google_play + nf-fae-gps + nf-fae-grav + nf-fae-guitar + nf-fae-gut + nf-fae-halter + nf-fae-hamburger + nf-fae-hat + nf-fae-hexagon + nf-fae-high_heel + nf-fae-hotdog + nf-fae-ice_cream + nf-fae-id_card + nf-fae-imdb + nf-fae-infinity + nf-fae-java + nf-fae-layers + nf-fae-lips + nf-fae-lipstick + nf-fae-liver + nf-fae-lung + nf-fae-makeup_brushes + nf-fae-maximize + nf-fae-wallet + nf-fae-chess_horse + nf-fae-chess_king + nf-fae-chess_pawn + nf-fae-chess_queen + nf-fae-chess_tower + nf-fae-cheese + nf-fae-chilli + nf-fae-chip + nf-fae-cicling + nf-fae-cloud + nf-fae-cockroach + nf-fae-coffe_beans + nf-fae-coins + nf-fae-comb + nf-fae-comet + nf-fae-crown + nf-fae-cup_coffe + nf-fae-dice + nf-fae-disco + nf-fae-dna + nf-fae-donut + nf-fae-dress + nf-fae-drop + nf-fae-ello + nf-fae-envelope_open + nf-fae-envelope_open_o + nf-fae-equal + nf-fae-equal_bigger + nf-fae-feedly + nf-fae-file_export + nf-fae-file_import + nf-fae-wind + nf-fae-atom + nf-fae-bacteria + nf-fae-banana + nf-fae-bath + nf-fae-bed + nf-fae-benzene + nf-fae-bigger + nf-fae-biohazard + nf-fae-blogger_circle + nf-fae-blogger_square + nf-fae-bones + nf-fae-book_open + nf-fae-book_open_o + nf-fae-brain + nf-fae-bread + nf-fae-butterfly + nf-fae-carot + nf-fae-cc_by + nf-fae-cc_cc + nf-fae-cc_nc + nf-fae-cc_nc_eu + nf-fae-cc_nc_jp + nf-fae-cc_nd + nf-fae-cc_remix + nf-fae-cc_sa + nf-fae-cc_share + nf-fae-cc_zero + nf-fae-checklist_o + nf-fae-cherry + nf-fae-chess_bishop + nf-fae-xbox + nf-fae-apple_fruit + nf-fae-chicken_thigh + nf-fae-gift_card + nf-fae-injection + nf-fae-isle + nf-fae-lollipop + nf-fae-loyalty_card + nf-fae-meat + nf-fae-mountains + nf-fae-orange + nf-fae-peach + nf-fae-pear +⏻ nf-iec-power +⏼ nf-iec-toggle_power +⏽ nf-iec-power_on +⏾ nf-iec-sleep_mode +⭘ nf-iec-power_off + nf-linux-alpine + nf-linux-aosc + nf-linux-apple + nf-linux-archlinux + nf-linux-centos + nf-linux-coreos + nf-linux-debian + nf-linux-devuan + nf-linux-docker + nf-linux-elementary + nf-linux-fedora + nf-linux-fedora_inverse + nf-linux-freebsd + nf-linux-gentoo + nf-linux-linuxmint + nf-linux-linuxmint_inverse + nf-linux-mageia + nf-linux-mandriva + nf-linux-manjaro + nf-linux-nixos + nf-linux-opensuse + nf-linux-raspberry_pi + nf-linux-redhat + nf-linux-sabayon + nf-linux-slackware + nf-linux-slackware_inverse + nf-linux-tux + nf-linux-ubuntu + nf-linux-ubuntu_inverse + nf-linux-almalinux + nf-linux-archlabs + nf-linux-artix + nf-linux-budgie + nf-linux-deepin + nf-linux-endeavour + nf-linux-ferris + nf-linux-flathub + nf-linux-gnu_guix + nf-linux-illumos + nf-linux-kali_linux + nf-linux-openbsd + nf-linux-parrot + nf-linux-pop_os + nf-linux-rocky_linux + nf-linux-snappy + nf-linux-solus + nf-linux-void + nf-linux-zorin + nf-linux-codeberg + nf-linux-kde_neon + nf-linux-kde_plasma + nf-linux-kubuntu + nf-linux-kubuntu_inverse + nf-linux-forgejo + nf-linux-freecad + nf-linux-garuda + nf-linux-gimp + nf-linux-gitea + nf-linux-hyperbola + nf-linux-inkscape + nf-linux-kdenlive + nf-linux-krita + nf-linux-lxle + nf-linux-mxlinux + nf-linux-parabola + nf-linux-puppy + nf-linux-qubesos + nf-linux-tails + nf-linux-trisquel + nf-linux-archcraft + nf-linux-arcolinux + nf-linux-biglinux + nf-linux-crystal + nf-linux-locos + nf-linux-xerolinux + nf-linux-arduino + nf-linux-kicad + nf-linux-octoprint + nf-linux-openscad + nf-linux-osh + nf-linux-oshwa + nf-linux-prusaslicer + nf-linux-reprap + nf-linux-riscv + nf-linux-awesome + nf-linux-bspwm + nf-linux-dwm + nf-linux-enlightenment + nf-linux-fluxbox + nf-linux-hyprland + nf-linux-i3 + nf-linux-jwm + nf-linux-qtile + nf-linux-sway + nf-linux-xmonad + nf-linux-cinnamon + nf-linux-freedesktop + nf-linux-gnome + nf-linux-gtk + nf-linux-lxde + nf-linux-lxqt + nf-linux-mate + nf-linux-vanilla + nf-linux-wayland + nf-linux-xfce + nf-linux-xorg + nf-linux-fdroid + nf-linux-fosdem + nf-linux-osi + nf-linux-wikimedia + nf-linux-mpv + nf-linux-neovim + nf-linux-thunderbird + nf-linux-tor + nf-linux-vscodium + nf-linux-kde + nf-linux-postmarketos + nf-linux-qt + nf-linux-libreoffice + nf-linux-libreofficebase + nf-linux-libreofficecalc + nf-linux-libreofficedraw + nf-linux-libreofficeimpress + nf-linux-libreofficemath + nf-linux-libreofficewriter + nf-linux-tumbleweed + nf-linux-leap + nf-linux-typst + nf-linux-nobara + nf-linux-river +󰀁 nf-md-vector_square +󰀂 nf-md-access_point_network +󰀃 nf-md-access_point +󰀄 nf-md-account +󰀅 nf-md-account_alert +󰀆 nf-md-account_box +󰀇 nf-md-account_box_outline +󰀈 nf-md-account_check +󰀉 nf-md-account_circle +󰀊 nf-md-account_convert +󰀋 nf-md-account_key +󰀌 nf-md-tooltip_account +󰀍 nf-md-account_minus +󰀎 nf-md-account_multiple +󰀏 nf-md-account_multiple_outline +󰀐 nf-md-account_multiple_plus +󰀑 nf-md-account_network +󰀒 nf-md-account_off +󰀓 nf-md-account_outline +󰀔 nf-md-account_plus +󰀕 nf-md-account_remove +󰀖 nf-md-account_search +󰀗 nf-md-account_star +󰀘 nf-md-orbit +󰀙 nf-md-account_switch +󰀚 nf-md-adjust +󰀛 nf-md-air_conditioner +󰀜 nf-md-airballoon +󰀝 nf-md-airplane +󰀞 nf-md-airplane_off +󰀟 nf-md-cast_variant +󰀠 nf-md-alarm +󰀡 nf-md-alarm_check +󰀢 nf-md-alarm_multiple +󰀣 nf-md-alarm_off +󰀤 nf-md-alarm_plus +󰀥 nf-md-album +󰀦 nf-md-alert +󰀧 nf-md-alert_box +󰀨 nf-md-alert_circle +󰀩 nf-md-alert_octagon +󰀪 nf-md-alert_outline +󰀫 nf-md-alpha +󰀬 nf-md-alphabetical +󰀭 nf-md-greenhouse +󰀮 nf-md-rollerblade_off +󰀯 nf-md-ambulance +󰀰 nf-md-amplifier +󰀱 nf-md-anchor +󰀲 nf-md-android +󰀳 nf-md-web_plus +󰀴 nf-md-android_studio +󰀵 nf-md-apple +󰀶 nf-md-apple_finder +󰀷 nf-md-apple_ios +󰀸 nf-md-apple_icloud +󰀹 nf-md-apple_safari +󰀺 nf-md-font_awesome +󰀻 nf-md-apps +󰀼 nf-md-archive +󰀽 nf-md-arrange_bring_forward +󰀾 nf-md-arrange_bring_to_front +󰀿 nf-md-arrange_send_backward +󰁀 nf-md-arrange_send_to_back +󰁁 nf-md-arrow_all +󰁂 nf-md-arrow_bottom_left +󰁃 nf-md-arrow_bottom_right +󰁄 nf-md-arrow_collapse_all +󰁅 nf-md-arrow_down +󰁆 nf-md-arrow_down_thick +󰁇 nf-md-arrow_down_bold_circle +󰁈 nf-md-arrow_down_bold_circle_outline +󰁉 nf-md-arrow_down_bold_hexagon_outline +󰁊 nf-md-arrow_down_drop_circle +󰁋 nf-md-arrow_down_drop_circle_outline +󰁌 nf-md-arrow_expand_all +󰁍 nf-md-arrow_left +󰁎 nf-md-arrow_left_thick +󰁏 nf-md-arrow_left_bold_circle +󰁐 nf-md-arrow_left_bold_circle_outline +󰁑 nf-md-arrow_left_bold_hexagon_outline +󰁒 nf-md-arrow_left_drop_circle +󰁓 nf-md-arrow_left_drop_circle_outline +󰁔 nf-md-arrow_right +󰁕 nf-md-arrow_right_thick +󰁖 nf-md-arrow_right_bold_circle +󰁗 nf-md-arrow_right_bold_circle_outline +󰁘 nf-md-arrow_right_bold_hexagon_outline +󰁙 nf-md-arrow_right_drop_circle +󰁚 nf-md-arrow_right_drop_circle_outline +󰁛 nf-md-arrow_top_left +󰁜 nf-md-arrow_top_right +󰁝 nf-md-arrow_up +󰁞 nf-md-arrow_up_thick +󰁟 nf-md-arrow_up_bold_circle +󰁠 nf-md-arrow_up_bold_circle_outline +󰁡 nf-md-arrow_up_bold_hexagon_outline +󰁢 nf-md-arrow_up_drop_circle +󰁣 nf-md-arrow_up_drop_circle_outline +󰁤 nf-md-assistant +󰁥 nf-md-at +󰁦 nf-md-attachment +󰁧 nf-md-book_music +󰁨 nf-md-auto_fix +󰁩 nf-md-auto_upload +󰁪 nf-md-autorenew +󰁫 nf-md-av_timer +󰁬 nf-md-baby +󰁭 nf-md-backburger +󰁮 nf-md-backspace +󰁯 nf-md-backup_restore +󰁰 nf-md-bank +󰁱 nf-md-barcode +󰁲 nf-md-barcode_scan +󰁳 nf-md-barley +󰁴 nf-md-barrel +󰁵 nf-md-incognito_off +󰁶 nf-md-basket +󰁷 nf-md-basket_fill +󰁸 nf-md-basket_unfill +󰁹 nf-md-battery +󰁺 nf-md-battery_10 +󰁻 nf-md-battery_20 +󰁼 nf-md-battery_30 +󰁽 nf-md-battery_40 +󰁾 nf-md-battery_50 +󰁿 nf-md-battery_60 +󰂀 nf-md-battery_70 +󰂁 nf-md-battery_80 +󰂂 nf-md-battery_90 +󰂃 nf-md-battery_alert +󰂄 nf-md-battery_charging +󰂅 nf-md-battery_charging_100 +󰂆 nf-md-battery_charging_20 +󰂇 nf-md-battery_charging_30 +󰂈 nf-md-battery_charging_40 +󰂉 nf-md-battery_charging_60 +󰂊 nf-md-battery_charging_80 +󰂋 nf-md-battery_charging_90 +󰂌 nf-md-battery_minus_variant +󰂍 nf-md-battery_negative +󰂎 nf-md-battery_outline +󰂏 nf-md-battery_plus_variant +󰂐 nf-md-battery_positive +󰂑 nf-md-battery_unknown +󰂒 nf-md-beach +󰂓 nf-md-flask +󰂔 nf-md-flask_empty +󰂕 nf-md-flask_empty_outline +󰂖 nf-md-flask_outline +󰂗 nf-md-bunk_bed_outline +󰂘 nf-md-beer +󰂙 nf-md-bed_outline +󰂚 nf-md-bell +󰂛 nf-md-bell_off +󰂜 nf-md-bell_outline +󰂝 nf-md-bell_plus +󰂞 nf-md-bell_ring +󰂟 nf-md-bell_ring_outline +󰂠 nf-md-bell_sleep +󰂡 nf-md-beta +󰂢 nf-md-book_cross +󰂣 nf-md-bike +󰂤 nf-md-microsoft_bing +󰂥 nf-md-binoculars +󰂦 nf-md-bio +󰂧 nf-md-biohazard +󰂨 nf-md-bitbucket +󰂩 nf-md-black_mesa +󰂪 nf-md-shield_refresh +󰂫 nf-md-blender_software +󰂬 nf-md-blinds +󰂭 nf-md-block_helper +󰂮 nf-md-application_edit +󰂯 nf-md-bluetooth +󰂰 nf-md-bluetooth_audio +󰂱 nf-md-bluetooth_connect +󰂲 nf-md-bluetooth_off +󰂳 nf-md-bluetooth_settings +󰂴 nf-md-bluetooth_transfer +󰂵 nf-md-blur +󰂶 nf-md-blur_linear +󰂷 nf-md-blur_off +󰂸 nf-md-blur_radial +󰂹 nf-md-bone +󰂺 nf-md-book +󰂻 nf-md-book_multiple +󰂼 nf-md-book_variant_multiple +󰂽 nf-md-book_open +󰂾 nf-md-book_open_blank_variant +󰂿 nf-md-book_variant +󰃀 nf-md-bookmark +󰃁 nf-md-bookmark_check +󰃂 nf-md-bookmark_music +󰃃 nf-md-bookmark_outline +󰃄 nf-md-bookmark_plus_outline +󰃅 nf-md-bookmark_plus +󰃆 nf-md-bookmark_remove +󰃇 nf-md-border_all +󰃈 nf-md-border_bottom +󰃉 nf-md-border_color +󰃊 nf-md-border_horizontal +󰃋 nf-md-border_inside +󰃌 nf-md-border_left +󰃍 nf-md-border_none +󰃎 nf-md-border_outside +󰃏 nf-md-border_right +󰃐 nf-md-border_style +󰃑 nf-md-border_top +󰃒 nf-md-border_vertical +󰃓 nf-md-bowling +󰃔 nf-md-box +󰃕 nf-md-box_cutter +󰃖 nf-md-briefcase +󰃗 nf-md-briefcase_check +󰃘 nf-md-briefcase_download +󰃙 nf-md-briefcase_upload +󰃚 nf-md-brightness_1 +󰃛 nf-md-brightness_2 +󰃜 nf-md-brightness_3 +󰃝 nf-md-brightness_4 +󰃞 nf-md-brightness_5 +󰃟 nf-md-brightness_6 +󰃠 nf-md-brightness_7 +󰃡 nf-md-brightness_auto +󰃢 nf-md-broom +󰃣 nf-md-brush +󰃤 nf-md-bug +󰃥 nf-md-bulletin_board +󰃦 nf-md-bullhorn +󰃧 nf-md-bus +󰃨 nf-md-cached +󰃩 nf-md-cake +󰃪 nf-md-cake_layered +󰃫 nf-md-cake_variant +󰃬 nf-md-calculator +󰃭 nf-md-calendar +󰃮 nf-md-calendar_blank +󰃯 nf-md-calendar_check +󰃰 nf-md-calendar_clock +󰃱 nf-md-calendar_multiple +󰃲 nf-md-calendar_multiple_check +󰃳 nf-md-calendar_plus +󰃴 nf-md-calendar_remove +󰃵 nf-md-calendar_text +󰃶 nf-md-calendar_today +󰃷 nf-md-call_made +󰃸 nf-md-call_merge +󰃹 nf-md-call_missed +󰃺 nf-md-call_received +󰃻 nf-md-call_split +󰃼 nf-md-camcorder +󰃽 nf-md-video_box +󰃾 nf-md-video_box_off +󰃿 nf-md-camcorder_off +󰄀 nf-md-camera +󰄁 nf-md-camera_enhance +󰄂 nf-md-camera_front +󰄃 nf-md-camera_front_variant +󰄄 nf-md-camera_iris +󰄅 nf-md-camera_party_mode +󰄆 nf-md-camera_rear +󰄇 nf-md-camera_rear_variant +󰄈 nf-md-camera_switch +󰄉 nf-md-camera_timer +󰄊 nf-md-candycane +󰄋 nf-md-car +󰄌 nf-md-car_battery +󰄍 nf-md-car_connected +󰄎 nf-md-car_wash +󰄏 nf-md-carrot +󰄐 nf-md-cart +󰄑 nf-md-cart_outline +󰄒 nf-md-cart_plus +󰄓 nf-md-case_sensitive_alt +󰄔 nf-md-cash +󰄕 nf-md-cash_100 +󰄖 nf-md-cash_multiple +󰄗 nf-md-checkbox_blank_badge_outline +󰄘 nf-md-cast +󰄙 nf-md-cast_connected +󰄚 nf-md-castle +󰄛 nf-md-cat +󰄜 nf-md-cellphone +󰄝 nf-md-tray_arrow_up +󰄞 nf-md-cellphone_basic +󰄟 nf-md-cellphone_dock +󰄠 nf-md-tray_arrow_down +󰄡 nf-md-cellphone_link +󰄢 nf-md-cellphone_link_off +󰄣 nf-md-cellphone_settings +󰄤 nf-md-certificate +󰄥 nf-md-chair_school +󰄦 nf-md-chart_arc +󰄧 nf-md-chart_areaspline +󰄨 nf-md-chart_bar +󰄩 nf-md-chart_histogram +󰄪 nf-md-chart_line +󰄫 nf-md-chart_pie +󰄬 nf-md-check +󰄭 nf-md-check_all +󰄮 nf-md-checkbox_blank +󰄯 nf-md-checkbox_blank_circle +󰄰 nf-md-checkbox_blank_circle_outline +󰄱 nf-md-checkbox_blank_outline +󰄲 nf-md-checkbox_marked +󰄳 nf-md-checkbox_marked_circle +󰄴 nf-md-checkbox_marked_circle_outline +󰄵 nf-md-checkbox_marked_outline +󰄶 nf-md-checkbox_multiple_blank +󰄷 nf-md-checkbox_multiple_blank_outline +󰄸 nf-md-checkbox_multiple_marked +󰄹 nf-md-checkbox_multiple_marked_outline +󰄺 nf-md-checkerboard +󰄻 nf-md-chemical_weapon +󰄼 nf-md-chevron_double_down +󰄽 nf-md-chevron_double_left +󰄾 nf-md-chevron_double_right +󰄿 nf-md-chevron_double_up +󰅀 nf-md-chevron_down +󰅁 nf-md-chevron_left +󰅂 nf-md-chevron_right +󰅃 nf-md-chevron_up +󰅄 nf-md-church +󰅅 nf-md-roller_skate_off +󰅆 nf-md-city +󰅇 nf-md-clipboard +󰅈 nf-md-clipboard_account +󰅉 nf-md-clipboard_alert +󰅊 nf-md-clipboard_arrow_down +󰅋 nf-md-clipboard_arrow_left +󰅌 nf-md-clipboard_outline +󰅍 nf-md-clipboard_text +󰅎 nf-md-clipboard_check +󰅏 nf-md-clippy +󰅐 nf-md-clock_outline +󰅑 nf-md-clock_end +󰅒 nf-md-clock_fast +󰅓 nf-md-clock_in +󰅔 nf-md-clock_out +󰅕 nf-md-clock_start +󰅖 nf-md-close +󰅗 nf-md-close_box +󰅘 nf-md-close_box_outline +󰅙 nf-md-close_circle +󰅚 nf-md-close_circle_outline +󰅛 nf-md-close_network +󰅜 nf-md-close_octagon +󰅝 nf-md-close_octagon_outline +󰅞 nf-md-closed_caption +󰅟 nf-md-cloud +󰅠 nf-md-cloud_check +󰅡 nf-md-cloud_circle +󰅢 nf-md-cloud_download +󰅣 nf-md-cloud_outline +󰅤 nf-md-cloud_off_outline +󰅥 nf-md-cloud_print +󰅦 nf-md-cloud_print_outline +󰅧 nf-md-cloud_upload +󰅨 nf-md-code_array +󰅩 nf-md-code_braces +󰅪 nf-md-code_brackets +󰅫 nf-md-code_equal +󰅬 nf-md-code_greater_than +󰅭 nf-md-code_greater_than_or_equal +󰅮 nf-md-code_less_than +󰅯 nf-md-code_less_than_or_equal +󰅰 nf-md-code_not_equal +󰅱 nf-md-code_not_equal_variant +󰅲 nf-md-code_parentheses +󰅳 nf-md-code_string +󰅴 nf-md-code_tags +󰅵 nf-md-codepen +󰅶 nf-md-coffee +󰅷 nf-md-coffee_to_go +󰅸 nf-md-bell_badge_outline +󰅹 nf-md-color_helper +󰅺 nf-md-comment +󰅻 nf-md-comment_account +󰅼 nf-md-comment_account_outline +󰅽 nf-md-comment_alert +󰅾 nf-md-comment_alert_outline +󰅿 nf-md-comment_check +󰆀 nf-md-comment_check_outline +󰆁 nf-md-comment_multiple_outline +󰆂 nf-md-comment_outline +󰆃 nf-md-comment_plus_outline +󰆄 nf-md-comment_processing +󰆅 nf-md-comment_processing_outline +󰆆 nf-md-comment_question_outline +󰆇 nf-md-comment_remove_outline +󰆈 nf-md-comment_text +󰆉 nf-md-comment_text_outline +󰆊 nf-md-compare +󰆋 nf-md-compass +󰆌 nf-md-compass_outline +󰆍 nf-md-console +󰆎 nf-md-card_account_mail +󰆏 nf-md-content_copy +󰆐 nf-md-content_cut +󰆑 nf-md-content_duplicate +󰆒 nf-md-content_paste +󰆓 nf-md-content_save +󰆔 nf-md-content_save_all +󰆕 nf-md-contrast +󰆖 nf-md-contrast_box +󰆗 nf-md-contrast_circle +󰆘 nf-md-cookie +󰆙 nf-md-counter +󰆚 nf-md-cow +󰆛 nf-md-credit_card_outline +󰆜 nf-md-credit_card_multiple_outline +󰆝 nf-md-credit_card_scan_outline +󰆞 nf-md-crop +󰆟 nf-md-crop_free +󰆠 nf-md-crop_landscape +󰆡 nf-md-crop_portrait +󰆢 nf-md-crop_square +󰆣 nf-md-crosshairs +󰆤 nf-md-crosshairs_gps +󰆥 nf-md-crown +󰆦 nf-md-cube +󰆧 nf-md-cube_outline +󰆨 nf-md-cube_send +󰆩 nf-md-cube_unfolded +󰆪 nf-md-cup +󰆫 nf-md-cup_water +󰆬 nf-md-currency_btc +󰆭 nf-md-currency_eur +󰆮 nf-md-currency_gbp +󰆯 nf-md-currency_inr +󰆰 nf-md-currency_ngn +󰆱 nf-md-currency_rub +󰆲 nf-md-currency_try +󰆳 nf-md-delete_variant +󰆴 nf-md-delete +󰆵 nf-md-decimal_increase +󰆶 nf-md-decimal_decrease +󰆷 nf-md-debug_step_over +󰆸 nf-md-debug_step_out +󰆹 nf-md-debug_step_into +󰆺 nf-md-database_plus +󰆻 nf-md-database_minus +󰆼 nf-md-database +󰆽 nf-md-cursor_pointer +󰆾 nf-md-cursor_move +󰆿 nf-md-cursor_default_outline +󰇀 nf-md-cursor_default +󰇁 nf-md-currency_usd +󰇂 nf-md-delta +󰇃 nf-md-deskphone +󰇄 nf-md-desktop_mac +󰇅 nf-md-desktop_tower +󰇆 nf-md-details +󰇇 nf-md-deviantart +󰇈 nf-md-diamond_stone +󰇉 nf-md-ab_testing +󰇊 nf-md-dice_1 +󰇋 nf-md-dice_2 +󰇌 nf-md-dice_3 +󰇍 nf-md-dice_4 +󰇎 nf-md-dice_5 +󰇏 nf-md-dice_6 +󰇐 nf-md-directions +󰇑 nf-md-disc_alert +󰇒 nf-md-disqus +󰇓 nf-md-video_plus_outline +󰇔 nf-md-division +󰇕 nf-md-division_box +󰇖 nf-md-dns +󰇗 nf-md-domain +󰇘 nf-md-dots_horizontal +󰇙 nf-md-dots_vertical +󰇚 nf-md-download +󰇛 nf-md-drag +󰇜 nf-md-drag_horizontal +󰇝 nf-md-drag_vertical +󰇞 nf-md-drawing +󰇟 nf-md-drawing_box +󰇠 nf-md-shield_refresh_outline +󰇡 nf-md-calendar_refresh +󰇢 nf-md-drone +󰇣 nf-md-dropbox +󰇤 nf-md-drupal +󰇥 nf-md-duck +󰇦 nf-md-dumbbell +󰇧 nf-md-earth +󰇨 nf-md-earth_off +󰇩 nf-md-microsoft_edge +󰇪 nf-md-eject +󰇫 nf-md-elevation_decline +󰇬 nf-md-elevation_rise +󰇭 nf-md-elevator +󰇮 nf-md-email +󰇯 nf-md-email_open +󰇰 nf-md-email_outline +󰇱 nf-md-email_lock +󰇲 nf-md-emoticon_outline +󰇳 nf-md-emoticon_cool_outline +󰇴 nf-md-emoticon_devil_outline +󰇵 nf-md-emoticon_happy_outline +󰇶 nf-md-emoticon_neutral_outline +󰇷 nf-md-emoticon_poop +󰇸 nf-md-emoticon_sad_outline +󰇹 nf-md-emoticon_tongue +󰇺 nf-md-engine +󰇻 nf-md-engine_outline +󰇼 nf-md-equal +󰇽 nf-md-equal_box +󰇾 nf-md-eraser +󰇿 nf-md-escalator +󰈀 nf-md-ethernet +󰈁 nf-md-ethernet_cable +󰈂 nf-md-ethernet_cable_off +󰈃 nf-md-calendar_refresh_outline +󰈄 nf-md-evernote +󰈅 nf-md-exclamation +󰈆 nf-md-exit_to_app +󰈇 nf-md-export +󰈈 nf-md-eye +󰈉 nf-md-eye_off +󰈊 nf-md-eyedropper +󰈋 nf-md-eyedropper_variant +󰈌 nf-md-facebook +󰈍 nf-md-order_alphabetical_ascending +󰈎 nf-md-facebook_messenger +󰈏 nf-md-factory +󰈐 nf-md-fan +󰈑 nf-md-fast_forward +󰈒 nf-md-fax +󰈓 nf-md-ferry +󰈔 nf-md-file +󰈕 nf-md-file_chart +󰈖 nf-md-file_check +󰈗 nf-md-file_cloud +󰈘 nf-md-file_delimited +󰈙 nf-md-file_document +󰈚 nf-md-text_box +󰈛 nf-md-file_excel +󰈜 nf-md-file_excel_box +󰈝 nf-md-file_export +󰈞 nf-md-file_find +󰈟 nf-md-file_image +󰈠 nf-md-file_import +󰈡 nf-md-file_lock +󰈢 nf-md-file_multiple +󰈣 nf-md-file_music +󰈤 nf-md-file_outline +󰈥 nf-md-file_jpg_box +󰈦 nf-md-file_pdf_box +󰈧 nf-md-file_powerpoint +󰈨 nf-md-file_powerpoint_box +󰈩 nf-md-file_presentation_box +󰈪 nf-md-file_send +󰈫 nf-md-file_video +󰈬 nf-md-file_word +󰈭 nf-md-file_word_box +󰈮 nf-md-file_code +󰈯 nf-md-film +󰈰 nf-md-filmstrip +󰈱 nf-md-filmstrip_off +󰈲 nf-md-filter +󰈳 nf-md-filter_outline +󰈴 nf-md-filter_remove +󰈵 nf-md-filter_remove_outline +󰈶 nf-md-filter_variant +󰈷 nf-md-fingerprint +󰈸 nf-md-fire +󰈹 nf-md-firefox +󰈺 nf-md-fish +󰈻 nf-md-flag +󰈼 nf-md-flag_checkered +󰈽 nf-md-flag_outline +󰈾 nf-md-flag_variant_outline +󰈿 nf-md-flag_triangle +󰉀 nf-md-flag_variant +󰉁 nf-md-flash +󰉂 nf-md-flash_auto +󰉃 nf-md-flash_off +󰉄 nf-md-flashlight +󰉅 nf-md-flashlight_off +󰉆 nf-md-star_half +󰉇 nf-md-flip_to_back +󰉈 nf-md-flip_to_front +󰉉 nf-md-floppy +󰉊 nf-md-flower +󰉋 nf-md-folder +󰉌 nf-md-folder_account +󰉍 nf-md-folder_download +󰉎 nf-md-folder_google_drive +󰉏 nf-md-folder_image +󰉐 nf-md-folder_lock +󰉑 nf-md-folder_lock_open +󰉒 nf-md-folder_move +󰉓 nf-md-folder_multiple +󰉔 nf-md-folder_multiple_image +󰉕 nf-md-folder_multiple_outline +󰉖 nf-md-folder_outline +󰉗 nf-md-folder_plus +󰉘 nf-md-folder_remove +󰉙 nf-md-folder_upload +󰉚 nf-md-food +󰉛 nf-md-food_apple +󰉜 nf-md-food_variant +󰉝 nf-md-football +󰉞 nf-md-football_australian +󰉟 nf-md-football_helmet +󰉠 nf-md-format_align_center +󰉡 nf-md-format_align_justify +󰉢 nf-md-format_align_left +󰉣 nf-md-format_align_right +󰉤 nf-md-format_bold +󰉥 nf-md-format_clear +󰉦 nf-md-format_color_fill +󰉧 nf-md-format_float_center +󰉨 nf-md-format_float_left +󰉩 nf-md-format_float_none +󰉪 nf-md-format_float_right +󰉫 nf-md-format_header_1 +󰉬 nf-md-format_header_2 +󰉭 nf-md-format_header_3 +󰉮 nf-md-format_header_4 +󰉯 nf-md-format_header_5 +󰉰 nf-md-format_header_6 +󰉱 nf-md-format_header_decrease +󰉲 nf-md-format_header_equal +󰉳 nf-md-format_header_increase +󰉴 nf-md-format_header_pound +󰉵 nf-md-format_indent_decrease +󰉶 nf-md-format_indent_increase +󰉷 nf-md-format_italic +󰉸 nf-md-format_line_spacing +󰉹 nf-md-format_list_bulleted +󰉺 nf-md-format_list_bulleted_type +󰉻 nf-md-format_list_numbered +󰉼 nf-md-format_paint +󰉽 nf-md-format_paragraph +󰉾 nf-md-format_quote_close +󰉿 nf-md-format_size +󰊀 nf-md-format_strikethrough +󰊁 nf-md-format_strikethrough_variant +󰊂 nf-md-format_subscript +󰊃 nf-md-format_superscript +󰊄 nf-md-format_text +󰊅 nf-md-format_textdirection_l_to_r +󰊆 nf-md-format_textdirection_r_to_l +󰊇 nf-md-format_underline +󰊈 nf-md-format_wrap_inline +󰊉 nf-md-format_wrap_square +󰊊 nf-md-format_wrap_tight +󰊋 nf-md-format_wrap_top_bottom +󰊌 nf-md-forum +󰊍 nf-md-forward +󰊎 nf-md-bowl +󰊏 nf-md-fridge_outline +󰊐 nf-md-fridge +󰊑 nf-md-fridge_top +󰊒 nf-md-fridge_bottom +󰊓 nf-md-fullscreen +󰊔 nf-md-fullscreen_exit +󰊕 nf-md-function +󰊖 nf-md-gamepad +󰊗 nf-md-gamepad_variant +󰊘 nf-md-gas_station +󰊙 nf-md-gate +󰊚 nf-md-gauge +󰊛 nf-md-gavel +󰊜 nf-md-gender_female +󰊝 nf-md-gender_male +󰊞 nf-md-gender_male_female +󰊟 nf-md-gender_transgender +󰊠 nf-md-ghost +󰊡 nf-md-gift_outline +󰊢 nf-md-git +󰊣 nf-md-card_account_details_star +󰊤 nf-md-github +󰊥 nf-md-glass_flute +󰊦 nf-md-glass_mug +󰊧 nf-md-glass_stange +󰊨 nf-md-glass_tulip +󰊩 nf-md-bowl_outline +󰊪 nf-md-glasses +󰊫 nf-md-gmail +󰊬 nf-md-gnome +󰊭 nf-md-google +󰊮 nf-md-google_cardboard +󰊯 nf-md-google_chrome +󰊰 nf-md-google_circles +󰊱 nf-md-google_circles_communities +󰊲 nf-md-google_circles_extended +󰊳 nf-md-google_circles_group +󰊴 nf-md-google_controller +󰊵 nf-md-google_controller_off +󰊶 nf-md-google_drive +󰊷 nf-md-google_earth +󰊸 nf-md-google_glass +󰊹 nf-md-google_nearby +󰊺 nf-md-video_minus_outline +󰊻 nf-md-microsoft_teams +󰊼 nf-md-google_play +󰊽 nf-md-google_plus +󰊾 nf-md-order_bool_ascending +󰊿 nf-md-google_translate +󰋀 nf-md-google_classroom +󰋁 nf-md-grid +󰋂 nf-md-grid_off +󰋃 nf-md-group +󰋄 nf-md-guitar_electric +󰋅 nf-md-guitar_pick +󰋆 nf-md-guitar_pick_outline +󰋇 nf-md-hand_pointing_right +󰋈 nf-md-hanger +󰋉 nf-md-google_hangouts +󰋊 nf-md-harddisk +󰋋 nf-md-headphones +󰋌 nf-md-headphones_box +󰋍 nf-md-headphones_settings +󰋎 nf-md-headset +󰋏 nf-md-headset_dock +󰋐 nf-md-headset_off +󰋑 nf-md-heart +󰋒 nf-md-heart_box +󰋓 nf-md-heart_box_outline +󰋔 nf-md-heart_broken +󰋕 nf-md-heart_outline +󰋖 nf-md-help +󰋗 nf-md-help_circle +󰋘 nf-md-hexagon +󰋙 nf-md-hexagon_outline +󰋚 nf-md-history +󰋛 nf-md-hololens +󰋜 nf-md-home +󰋝 nf-md-home_modern +󰋞 nf-md-home_variant +󰋟 nf-md-hops +󰋠 nf-md-hospital_box +󰋡 nf-md-hospital_building +󰋢 nf-md-hospital_marker +󰋣 nf-md-bed +󰋤 nf-md-bowl_mix_outline +󰋥 nf-md-pot +󰋦 nf-md-human +󰋧 nf-md-human_child +󰋨 nf-md-human_male_female +󰋩 nf-md-image +󰋪 nf-md-image_album +󰋫 nf-md-image_area +󰋬 nf-md-image_area_close +󰋭 nf-md-image_broken +󰋮 nf-md-image_broken_variant +󰋯 nf-md-image_multiple_outline +󰋰 nf-md-image_filter_black_white +󰋱 nf-md-image_filter_center_focus +󰋲 nf-md-image_filter_center_focus_weak +󰋳 nf-md-image_filter_drama +󰋴 nf-md-image_filter_frames +󰋵 nf-md-image_filter_hdr +󰋶 nf-md-image_filter_none +󰋷 nf-md-image_filter_tilt_shift +󰋸 nf-md-image_filter_vintage +󰋹 nf-md-image_multiple +󰋺 nf-md-import +󰋻 nf-md-inbox_arrow_down +󰋼 nf-md-information +󰋽 nf-md-information_outline +󰋾 nf-md-instagram +󰋿 nf-md-pot_outline +󰌀 nf-md-microsoft_internet_explorer +󰌁 nf-md-invert_colors +󰌂 nf-md-jeepney +󰌃 nf-md-jira +󰌄 nf-md-jsfiddle +󰌅 nf-md-keg +󰌆 nf-md-key +󰌇 nf-md-key_change +󰌈 nf-md-key_minus +󰌉 nf-md-key_plus +󰌊 nf-md-key_remove +󰌋 nf-md-key_variant +󰌌 nf-md-keyboard +󰌍 nf-md-keyboard_backspace +󰌎 nf-md-keyboard_caps +󰌏 nf-md-keyboard_close +󰌐 nf-md-keyboard_off +󰌑 nf-md-keyboard_return +󰌒 nf-md-keyboard_tab +󰌓 nf-md-keyboard_variant +󰌔 nf-md-kodi +󰌕 nf-md-label +󰌖 nf-md-label_outline +󰌗 nf-md-lan +󰌘 nf-md-lan_connect +󰌙 nf-md-lan_disconnect +󰌚 nf-md-lan_pending +󰌛 nf-md-language_csharp +󰌜 nf-md-language_css3 +󰌝 nf-md-language_html5 +󰌞 nf-md-language_javascript +󰌟 nf-md-language_php +󰌠 nf-md-language_python +󰌡 nf-md-contactless_payment_circle +󰌢 nf-md-laptop +󰌣 nf-md-magazine_rifle +󰌤 nf-md-magazine_pistol +󰌥 nf-md-keyboard_tab_reverse +󰌦 nf-md-pot_steam_outline +󰌧 nf-md-launch +󰌨 nf-md-layers +󰌩 nf-md-layers_off +󰌪 nf-md-leaf +󰌫 nf-md-led_off +󰌬 nf-md-led_on +󰌭 nf-md-led_outline +󰌮 nf-md-led_variant_off +󰌯 nf-md-led_variant_on +󰌰 nf-md-led_variant_outline +󰌱 nf-md-library +󰌲 nf-md-filmstrip_box +󰌳 nf-md-music_box_multiple +󰌴 nf-md-plus_box_multiple +󰌵 nf-md-lightbulb +󰌶 nf-md-lightbulb_outline +󰌷 nf-md-link +󰌸 nf-md-link_off +󰌹 nf-md-link_variant +󰌺 nf-md-link_variant_off +󰌻 nf-md-linkedin +󰌼 nf-md-sort_reverse_variant +󰌽 nf-md-linux +󰌾 nf-md-lock +󰌿 nf-md-lock_open +󰍀 nf-md-lock_open_outline +󰍁 nf-md-lock_outline +󰍂 nf-md-login +󰍃 nf-md-logout +󰍄 nf-md-looks +󰍅 nf-md-loupe +󰍆 nf-md-lumx +󰍇 nf-md-magnet +󰍈 nf-md-magnet_on +󰍉 nf-md-magnify +󰍊 nf-md-magnify_minus +󰍋 nf-md-magnify_plus +󰍌 nf-md-plus_circle_multiple +󰍍 nf-md-map +󰍎 nf-md-map_marker +󰍏 nf-md-map_marker_circle +󰍐 nf-md-map_marker_multiple +󰍑 nf-md-map_marker_off +󰍒 nf-md-map_marker_radius +󰍓 nf-md-margin +󰍔 nf-md-language_markdown +󰍕 nf-md-marker_check +󰍖 nf-md-glass_cocktail +󰍗 nf-md-material_ui +󰍘 nf-md-math_compass +󰍙 nf-md-stackpath +󰍚 nf-md-minus_circle_multiple +󰍛 nf-md-memory +󰍜 nf-md-menu +󰍝 nf-md-menu_down +󰍞 nf-md-menu_left +󰍟 nf-md-menu_right +󰍠 nf-md-menu_up +󰍡 nf-md-message +󰍢 nf-md-message_alert +󰍣 nf-md-message_draw +󰍤 nf-md-message_image +󰍥 nf-md-message_outline +󰍦 nf-md-message_processing +󰍧 nf-md-message_reply +󰍨 nf-md-message_reply_text +󰍩 nf-md-message_text +󰍪 nf-md-message_text_outline +󰍫 nf-md-message_video +󰍬 nf-md-microphone +󰍭 nf-md-microphone_off +󰍮 nf-md-microphone_outline +󰍯 nf-md-microphone_settings +󰍰 nf-md-microphone_variant +󰍱 nf-md-microphone_variant_off +󰍲 nf-md-microsoft +󰍳 nf-md-minecraft +󰍴 nf-md-minus +󰍵 nf-md-minus_box +󰍶 nf-md-minus_circle +󰍷 nf-md-minus_circle_outline +󰍸 nf-md-minus_network +󰍹 nf-md-monitor +󰍺 nf-md-monitor_multiple +󰍻 nf-md-more +󰍼 nf-md-motorbike +󰍽 nf-md-mouse +󰍾 nf-md-mouse_off +󰍿 nf-md-mouse_variant +󰎀 nf-md-mouse_variant_off +󰎁 nf-md-movie +󰎂 nf-md-multiplication +󰎃 nf-md-multiplication_box +󰎄 nf-md-music_box +󰎅 nf-md-music_box_outline +󰎆 nf-md-music_circle +󰎇 nf-md-music_note +󰎉 nf-md-music_note_half +󰎊 nf-md-music_note_off +󰎋 nf-md-music_note_quarter +󰎌 nf-md-music_note_sixteenth +󰎍 nf-md-music_note_whole +󰎎 nf-md-nature +󰎏 nf-md-nature_people +󰎐 nf-md-navigation +󰎑 nf-md-needle +󰎒 nf-md-smoke_detector +󰎓 nf-md-thermostat +󰎔 nf-md-new_box +󰎕 nf-md-newspaper +󰎖 nf-md-nfc +󰎗 nf-md-nfc_tap +󰎘 nf-md-nfc_variant +󰎙 nf-md-nodejs +󰎚 nf-md-note +󰎛 nf-md-note_outline +󰎜 nf-md-note_plus +󰎝 nf-md-note_plus_outline +󰎞 nf-md-note_text +󰎟 nf-md-notification_clear_all +󰎠 nf-md-numeric +󰎡 nf-md-numeric_0_box +󰎢 nf-md-numeric_0_box_multiple_outline +󰎣 nf-md-numeric_0_box_outline +󰎤 nf-md-numeric_1_box +󰎥 nf-md-numeric_1_box_multiple_outline +󰎦 nf-md-numeric_1_box_outline +󰎧 nf-md-numeric_2_box +󰎨 nf-md-numeric_2_box_multiple_outline +󰎩 nf-md-numeric_2_box_outline +󰎪 nf-md-numeric_3_box +󰎫 nf-md-numeric_3_box_multiple_outline +󰎬 nf-md-numeric_3_box_outline +󰎭 nf-md-numeric_4_box +󰎮 nf-md-numeric_4_box_outline +󰎯 nf-md-numeric_5_box_multiple_outline +󰎰 nf-md-numeric_5_box_outline +󰎱 nf-md-numeric_5_box +󰎲 nf-md-numeric_4_box_multiple_outline +󰎳 nf-md-numeric_6_box +󰎴 nf-md-numeric_6_box_multiple_outline +󰎵 nf-md-numeric_6_box_outline +󰎶 nf-md-numeric_7_box +󰎷 nf-md-numeric_7_box_multiple_outline +󰎸 nf-md-numeric_7_box_outline +󰎹 nf-md-numeric_8_box +󰎺 nf-md-numeric_8_box_multiple_outline +󰎻 nf-md-numeric_8_box_outline +󰎼 nf-md-numeric_9_box +󰎽 nf-md-numeric_9_box_multiple_outline +󰎾 nf-md-numeric_9_box_outline +󰎿 nf-md-numeric_9_plus_box +󰏀 nf-md-numeric_9_plus_box_multiple_outline +󰏁 nf-md-numeric_9_plus_box_outline +󰏂 nf-md-nutrition +󰏃 nf-md-octagon +󰏄 nf-md-octagon_outline +󰏅 nf-md-odnoklassniki +󰏆 nf-md-microsoft_office +󰏇 nf-md-oil +󰏈 nf-md-coolant_temperature +󰏉 nf-md-omega +󰏊 nf-md-microsoft_onedrive +󰏋 nf-md-open_in_app +󰏌 nf-md-open_in_new +󰏍 nf-md-openid +󰏎 nf-md-opera +󰏏 nf-md-ornament +󰏐 nf-md-ornament_variant +󰏑 nf-md-inbox_arrow_up +󰏒 nf-md-owl +󰏓 nf-md-package +󰏔 nf-md-package_down +󰏕 nf-md-package_up +󰏖 nf-md-package_variant +󰏗 nf-md-package_variant_closed +󰏘 nf-md-palette +󰏙 nf-md-palette_advanced +󰏚 nf-md-panda +󰏛 nf-md-pandora +󰏜 nf-md-panorama +󰏝 nf-md-panorama_fisheye +󰏞 nf-md-panorama_horizontal_outline +󰏟 nf-md-panorama_vertical_outline +󰏠 nf-md-panorama_wide_angle_outline +󰏡 nf-md-paper_cut_vertical +󰏢 nf-md-paperclip +󰏣 nf-md-parking +󰏤 nf-md-pause +󰏥 nf-md-pause_circle +󰏦 nf-md-pause_circle_outline +󰏧 nf-md-pause_octagon +󰏨 nf-md-pause_octagon_outline +󰏩 nf-md-paw +󰏪 nf-md-pen +󰏫 nf-md-pencil +󰏬 nf-md-pencil_box +󰏭 nf-md-pencil_box_outline +󰏮 nf-md-pencil_lock +󰏯 nf-md-pencil_off +󰏰 nf-md-percent +󰏱 nf-md-mortar_pestle_plus +󰏲 nf-md-phone +󰏳 nf-md-phone_bluetooth +󰏴 nf-md-phone_forward +󰏵 nf-md-phone_hangup +󰏶 nf-md-phone_in_talk +󰏷 nf-md-phone_incoming +󰏸 nf-md-phone_lock +󰏹 nf-md-phone_log +󰏺 nf-md-phone_missed +󰏻 nf-md-phone_outgoing +󰏼 nf-md-phone_paused +󰏽 nf-md-phone_settings +󰏾 nf-md-phone_voip +󰏿 nf-md-pi +󰐀 nf-md-pi_box +󰐁 nf-md-pig +󰐂 nf-md-pill +󰐃 nf-md-pin +󰐄 nf-md-pin_off +󰐅 nf-md-pine_tree +󰐆 nf-md-pine_tree_box +󰐇 nf-md-pinterest +󰐈 nf-md-contactless_payment_circle_outline +󰐉 nf-md-pizza +󰐊 nf-md-play +󰐋 nf-md-play_box_outline +󰐌 nf-md-play_circle +󰐍 nf-md-play_circle_outline +󰐎 nf-md-play_pause +󰐏 nf-md-play_protected_content +󰐐 nf-md-playlist_minus +󰐑 nf-md-playlist_play +󰐒 nf-md-playlist_plus +󰐓 nf-md-playlist_remove +󰐔 nf-md-sony_playstation +󰐕 nf-md-plus +󰐖 nf-md-plus_box +󰐗 nf-md-plus_circle +󰐘 nf-md-plus_circle_multiple_outline +󰐙 nf-md-plus_circle_outline +󰐚 nf-md-plus_network +󰐛 nf-md-sledding +󰐜 nf-md-wall_sconce_flat_variant +󰐝 nf-md-pokeball +󰐞 nf-md-polaroid +󰐟 nf-md-poll +󰐠 nf-md-account_eye +󰐡 nf-md-polymer +󰐢 nf-md-popcorn +󰐣 nf-md-pound +󰐤 nf-md-pound_box +󰐥 nf-md-power +󰐦 nf-md-power_settings +󰐧 nf-md-power_socket +󰐨 nf-md-presentation +󰐩 nf-md-presentation_play +󰐪 nf-md-printer +󰐫 nf-md-printer_3d +󰐬 nf-md-printer_alert +󰐭 nf-md-professional_hexagon +󰐮 nf-md-projector +󰐯 nf-md-projector_screen +󰐰 nf-md-pulse +󰐱 nf-md-puzzle +󰐲 nf-md-qrcode +󰐳 nf-md-qrcode_scan +󰐴 nf-md-quadcopter +󰐵 nf-md-quality_high +󰐶 nf-md-book_multiple_outline +󰐷 nf-md-radar +󰐸 nf-md-radiator +󰐹 nf-md-radio +󰐺 nf-md-radio_handheld +󰐻 nf-md-radio_tower +󰐼 nf-md-radioactive +󰐾 nf-md-radiobox_marked +󰐿 nf-md-raspberry_pi +󰑀 nf-md-ray_end +󰑁 nf-md-ray_end_arrow +󰑂 nf-md-ray_start +󰑃 nf-md-ray_start_arrow +󰑄 nf-md-ray_start_end +󰑅 nf-md-ray_vertex +󰑆 nf-md-lastpass +󰑇 nf-md-read +󰑈 nf-md-youtube_tv +󰑉 nf-md-receipt +󰑊 nf-md-record +󰑋 nf-md-record_rec +󰑌 nf-md-recycle +󰑍 nf-md-reddit +󰑎 nf-md-redo +󰑏 nf-md-redo_variant +󰑐 nf-md-refresh +󰑑 nf-md-regex +󰑒 nf-md-relative_scale +󰑓 nf-md-reload +󰑔 nf-md-remote +󰑕 nf-md-rename_box +󰑖 nf-md-repeat +󰑗 nf-md-repeat_off +󰑘 nf-md-repeat_once +󰑙 nf-md-replay +󰑚 nf-md-reply +󰑛 nf-md-reply_all +󰑜 nf-md-reproduction +󰑝 nf-md-resize_bottom_right +󰑞 nf-md-responsive +󰑟 nf-md-rewind +󰑠 nf-md-ribbon +󰑡 nf-md-road +󰑢 nf-md-road_variant +󰑣 nf-md-rocket +󰑤 nf-md-rotate_3d_variant +󰑥 nf-md-rotate_left +󰑦 nf-md-rotate_left_variant +󰑧 nf-md-rotate_right +󰑨 nf-md-rotate_right_variant +󰑩 nf-md-router_wireless +󰑪 nf-md-routes +󰑫 nf-md-rss +󰑬 nf-md-rss_box +󰑭 nf-md-ruler +󰑮 nf-md-run_fast +󰑯 nf-md-sale +󰑰 nf-md-satellite +󰑱 nf-md-satellite_variant +󰑲 nf-md-scale +󰑳 nf-md-scale_bathroom +󰑴 nf-md-school +󰑵 nf-md-screen_rotation +󰑶 nf-md-screwdriver +󰑷 nf-md-script_outline +󰑸 nf-md-screen_rotation_lock +󰑹 nf-md-sd +󰑺 nf-md-seal +󰑻 nf-md-seat_flat +󰑼 nf-md-seat_flat_angled +󰑽 nf-md-seat_individual_suite +󰑾 nf-md-seat_legroom_extra +󰑿 nf-md-seat_legroom_normal +󰒀 nf-md-seat_legroom_reduced +󰒁 nf-md-seat_recline_extra +󰒂 nf-md-seat_recline_normal +󰒃 nf-md-security +󰒄 nf-md-security_network +󰒅 nf-md-select +󰒆 nf-md-select_all +󰒇 nf-md-select_inverse +󰒈 nf-md-select_off +󰒉 nf-md-selection +󰒊 nf-md-send +󰒋 nf-md-server +󰒌 nf-md-server_minus +󰒍 nf-md-server_network +󰒎 nf-md-server_network_off +󰒏 nf-md-server_off +󰒐 nf-md-server_plus +󰒑 nf-md-server_remove +󰒒 nf-md-server_security +󰒓 nf-md-cog +󰒔 nf-md-cog_box +󰒕 nf-md-shape_plus +󰒖 nf-md-share +󰒗 nf-md-share_variant +󰒘 nf-md-shield +󰒙 nf-md-shield_outline +󰒚 nf-md-shopping +󰒛 nf-md-shopping_music +󰒜 nf-md-shredder +󰒝 nf-md-shuffle +󰒞 nf-md-shuffle_disabled +󰒟 nf-md-shuffle_variant +󰒠 nf-md-sigma +󰒡 nf-md-sign_caution +󰒢 nf-md-signal +󰒣 nf-md-silverware +󰒤 nf-md-silverware_fork +󰒥 nf-md-silverware_spoon +󰒦 nf-md-silverware_variant +󰒧 nf-md-sim +󰒨 nf-md-sim_alert +󰒩 nf-md-sim_off +󰒪 nf-md-sitemap +󰒫 nf-md-skip_backward +󰒬 nf-md-skip_forward +󰒭 nf-md-skip_next +󰒮 nf-md-skip_previous +󰒯 nf-md-skype +󰒰 nf-md-skype_business +󰒱 nf-md-slack +󰒲 nf-md-sleep +󰒳 nf-md-sleep_off +󰒴 nf-md-smoking +󰒵 nf-md-smoking_off +󰒶 nf-md-snapchat +󰒷 nf-md-snowman +󰒸 nf-md-soccer +󰒹 nf-md-sofa +󰒺 nf-md-sort +󰒻 nf-md-sort_alphabetical_variant +󰒼 nf-md-sort_ascending +󰒽 nf-md-sort_descending +󰒾 nf-md-sort_numeric_variant +󰒿 nf-md-sort_variant +󰓀 nf-md-soundcloud +󰓁 nf-md-source_fork +󰓂 nf-md-source_pull +󰓃 nf-md-speaker +󰓄 nf-md-speaker_off +󰓅 nf-md-speedometer +󰓆 nf-md-spellcheck +󰓇 nf-md-spotify +󰓈 nf-md-spotlight +󰓉 nf-md-spotlight_beam +󰓊 nf-md-book_remove_multiple_outline +󰓋 nf-md-account_switch_outline +󰓌 nf-md-stack_overflow +󰓍 nf-md-stairs +󰓎 nf-md-star +󰓏 nf-md-star_circle +󰓐 nf-md-star_half_full +󰓑 nf-md-star_off +󰓒 nf-md-star_outline +󰓓 nf-md-steam +󰓔 nf-md-steering +󰓕 nf-md-step_backward +󰓖 nf-md-step_backward_2 +󰓗 nf-md-step_forward +󰓘 nf-md-step_forward_2 +󰓙 nf-md-stethoscope +󰓚 nf-md-stocking +󰓛 nf-md-stop +󰓜 nf-md-store +󰓝 nf-md-store_24_hour +󰓞 nf-md-stove +󰓟 nf-md-subway_variant +󰓠 nf-md-sunglasses +󰓡 nf-md-swap_horizontal +󰓢 nf-md-swap_vertical +󰓣 nf-md-swim +󰓤 nf-md-switch +󰓥 nf-md-sword +󰓦 nf-md-sync +󰓧 nf-md-sync_alert +󰓨 nf-md-sync_off +󰓩 nf-md-tab +󰓪 nf-md-tab_unselected +󰓫 nf-md-table +󰓬 nf-md-table_column_plus_after +󰓭 nf-md-table_column_plus_before +󰓮 nf-md-table_column_remove +󰓯 nf-md-table_column_width +󰓰 nf-md-table_edit +󰓱 nf-md-table_large +󰓲 nf-md-table_row_height +󰓳 nf-md-table_row_plus_after +󰓴 nf-md-table_row_plus_before +󰓵 nf-md-table_row_remove +󰓶 nf-md-tablet +󰓷 nf-md-tablet_android +󰓸 nf-md-tangram +󰓹 nf-md-tag +󰓺 nf-md-tag_faces +󰓻 nf-md-tag_multiple +󰓼 nf-md-tag_outline +󰓽 nf-md-tag_text_outline +󰓾 nf-md-target +󰓿 nf-md-taxi +󰔀 nf-md-teamviewer +󰔁 nf-md-skateboarding +󰔂 nf-md-television +󰔃 nf-md-television_guide +󰔄 nf-md-temperature_celsius +󰔅 nf-md-temperature_fahrenheit +󰔆 nf-md-temperature_kelvin +󰔇 nf-md-tennis_ball +󰔈 nf-md-tent +󰔊 nf-md-text_to_speech +󰔋 nf-md-text_to_speech_off +󰔌 nf-md-texture +󰔍 nf-md-theater +󰔎 nf-md-theme_light_dark +󰔏 nf-md-thermometer +󰔐 nf-md-thermometer_lines +󰔑 nf-md-thumb_down +󰔒 nf-md-thumb_down_outline +󰔓 nf-md-thumb_up +󰔔 nf-md-thumb_up_outline +󰔕 nf-md-thumbs_up_down +󰔖 nf-md-ticket +󰔗 nf-md-ticket_account +󰔘 nf-md-ticket_confirmation +󰔙 nf-md-tie +󰔚 nf-md-timelapse +󰔛 nf-md-timer_outline +󰔜 nf-md-timer_10 +󰔝 nf-md-timer_3 +󰔞 nf-md-timer_off_outline +󰔟 nf-md-timer_sand +󰔠 nf-md-timetable +󰔡 nf-md-toggle_switch +󰔢 nf-md-toggle_switch_off +󰔣 nf-md-tooltip +󰔤 nf-md-tooltip_edit +󰔥 nf-md-tooltip_image +󰔦 nf-md-tooltip_outline +󰔧 nf-md-tooltip_plus_outline +󰔨 nf-md-tooltip_text +󰔩 nf-md-tooth_outline +󰔪 nf-md-cloud_refresh +󰔫 nf-md-traffic_light +󰔬 nf-md-train +󰔭 nf-md-tram +󰔮 nf-md-transcribe +󰔯 nf-md-transcribe_close +󰔰 nf-md-transfer_right +󰔱 nf-md-tree +󰔲 nf-md-trello +󰔳 nf-md-trending_down +󰔴 nf-md-trending_neutral +󰔵 nf-md-trending_up +󰔶 nf-md-triangle +󰔷 nf-md-triangle_outline +󰔸 nf-md-trophy +󰔹 nf-md-trophy_award +󰔺 nf-md-trophy_outline +󰔻 nf-md-trophy_variant +󰔼 nf-md-trophy_variant_outline +󰔽 nf-md-truck +󰔾 nf-md-truck_delivery +󰔿 nf-md-tshirt_crew_outline +󰕀 nf-md-tshirt_v_outline +󰕁 nf-md-file_refresh_outline +󰕂 nf-md-folder_refresh_outline +󰕃 nf-md-twitch +󰕄 nf-md-twitter +󰕅 nf-md-order_numeric_ascending +󰕆 nf-md-order_numeric_descending +󰕇 nf-md-repeat_variant +󰕈 nf-md-ubuntu +󰕉 nf-md-umbraco +󰕊 nf-md-umbrella +󰕋 nf-md-umbrella_outline +󰕌 nf-md-undo +󰕍 nf-md-undo_variant +󰕎 nf-md-unfold_less_horizontal +󰕏 nf-md-unfold_more_horizontal +󰕐 nf-md-ungroup +󰕑 nf-md-web_remove +󰕒 nf-md-upload +󰕓 nf-md-usb +󰕔 nf-md-vector_arrange_above +󰕕 nf-md-vector_arrange_below +󰕖 nf-md-vector_circle +󰕗 nf-md-vector_circle_variant +󰕘 nf-md-vector_combine +󰕙 nf-md-vector_curve +󰕚 nf-md-vector_difference +󰕛 nf-md-vector_difference_ab +󰕜 nf-md-vector_difference_ba +󰕝 nf-md-vector_intersection +󰕞 nf-md-vector_line +󰕟 nf-md-vector_point +󰕠 nf-md-vector_polygon +󰕡 nf-md-vector_polyline +󰕢 nf-md-vector_selection +󰕣 nf-md-vector_triangle +󰕤 nf-md-vector_union +󰕥 nf-md-shield_check +󰕦 nf-md-vibrate +󰕧 nf-md-video +󰕨 nf-md-video_off +󰕩 nf-md-video_switch +󰕪 nf-md-view_agenda +󰕫 nf-md-view_array +󰕬 nf-md-view_carousel +󰕭 nf-md-view_column +󰕮 nf-md-view_dashboard +󰕯 nf-md-view_day +󰕰 nf-md-view_grid +󰕱 nf-md-view_headline +󰕲 nf-md-view_list +󰕳 nf-md-view_module +󰕴 nf-md-view_quilt +󰕵 nf-md-view_stream +󰕶 nf-md-view_week +󰕷 nf-md-vimeo +󰕸 nf-md-buffet +󰕹 nf-md-hands_pray +󰕺 nf-md-credit_card_wireless_off +󰕻 nf-md-credit_card_wireless_off_outline +󰕼 nf-md-vlc +󰕽 nf-md-voicemail +󰕾 nf-md-volume_high +󰕿 nf-md-volume_low +󰖀 nf-md-volume_medium +󰖁 nf-md-volume_off +󰖂 nf-md-vpn +󰖃 nf-md-walk +󰖄 nf-md-wallet +󰖅 nf-md-wallet_giftcard +󰖆 nf-md-wallet_membership +󰖇 nf-md-wallet_travel +󰖈 nf-md-wan +󰖉 nf-md-watch +󰖊 nf-md-watch_export +󰖋 nf-md-watch_import +󰖌 nf-md-water +󰖍 nf-md-water_off +󰖎 nf-md-water_percent +󰖏 nf-md-water_pump +󰖐 nf-md-weather_cloudy +󰖑 nf-md-weather_fog +󰖒 nf-md-weather_hail +󰖓 nf-md-weather_lightning +󰖔 nf-md-weather_night +󰖕 nf-md-weather_partly_cloudy +󰖖 nf-md-weather_pouring +󰖗 nf-md-weather_rainy +󰖘 nf-md-weather_snowy +󰖙 nf-md-weather_sunny +󰖚 nf-md-weather_sunset +󰖛 nf-md-weather_sunset_down +󰖜 nf-md-weather_sunset_up +󰖝 nf-md-weather_windy +󰖞 nf-md-weather_windy_variant +󰖟 nf-md-web +󰖠 nf-md-webcam +󰖡 nf-md-weight +󰖢 nf-md-weight_kilogram +󰖣 nf-md-whatsapp +󰖤 nf-md-wheelchair_accessibility +󰖥 nf-md-white_balance_auto +󰖦 nf-md-white_balance_incandescent +󰖧 nf-md-white_balance_iridescent +󰖨 nf-md-white_balance_sunny +󰖩 nf-md-wifi +󰖪 nf-md-wifi_off +󰖫 nf-md-nintendo_wii +󰖬 nf-md-wikipedia +󰖭 nf-md-window_close +󰖮 nf-md-window_closed +󰖯 nf-md-window_maximize +󰖰 nf-md-window_minimize +󰖱 nf-md-window_open +󰖲 nf-md-window_restore +󰖳 nf-md-microsoft_windows +󰖴 nf-md-wordpress +󰖵 nf-md-account_hard_hat +󰖶 nf-md-wrap +󰖷 nf-md-wrench +󰖸 nf-md-contacts_outline +󰖹 nf-md-microsoft_xbox +󰖺 nf-md-microsoft_xbox_controller +󰖻 nf-md-microsoft_xbox_controller_off +󰖼 nf-md-table_furniture +󰖽 nf-md-sort_alphabetical_ascending +󰖾 nf-md-firewire +󰖿 nf-md-sort_alphabetical_descending +󰗀 nf-md-xml +󰗁 nf-md-yeast +󰗂 nf-md-database_refresh +󰗃 nf-md-youtube +󰗄 nf-md-zip_box +󰗅 nf-md-surround_sound +󰗆 nf-md-vector_rectangle +󰗇 nf-md-playlist_check +󰗈 nf-md-format_line_style +󰗉 nf-md-format_line_weight +󰗊 nf-md-translate +󰗋 nf-md-account_voice +󰗌 nf-md-opacity +󰗍 nf-md-near_me +󰗎 nf-md-clock_alert_outline +󰗏 nf-md-human_pregnant +󰗐 nf-md-sticker_circle_outline +󰗑 nf-md-scale_balance +󰗒 nf-md-card_account_details +󰗓 nf-md-account_multiple_minus +󰗔 nf-md-airplane_landing +󰗕 nf-md-airplane_takeoff +󰗖 nf-md-alert_circle_outline +󰗗 nf-md-altimeter +󰗘 nf-md-animation +󰗙 nf-md-book_minus +󰗚 nf-md-book_open_page_variant +󰗛 nf-md-book_plus +󰗜 nf-md-boombox +󰗝 nf-md-bullseye +󰗞 nf-md-comment_remove +󰗟 nf-md-camera_off +󰗠 nf-md-check_circle +󰗡 nf-md-check_circle_outline +󰗢 nf-md-candle +󰗣 nf-md-chart_bubble +󰗤 nf-md-credit_card_off_outline +󰗥 nf-md-cup_off +󰗦 nf-md-copyright +󰗧 nf-md-cursor_text +󰗨 nf-md-delete_forever +󰗩 nf-md-delete_sweep +󰗪 nf-md-dice_d20_outline +󰗫 nf-md-dice_d4_outline +󰗬 nf-md-dice_d8_outline +󰗭 nf-md-dice_d6_outline +󰗮 nf-md-disc +󰗯 nf-md-email_open_outline +󰗰 nf-md-email_variant +󰗱 nf-md-ev_station +󰗲 nf-md-food_fork_drink +󰗳 nf-md-food_off +󰗴 nf-md-format_title +󰗵 nf-md-google_maps +󰗶 nf-md-heart_pulse +󰗷 nf-md-highway +󰗸 nf-md-home_map_marker +󰗹 nf-md-incognito +󰗺 nf-md-kettle +󰗻 nf-md-lock_plus +󰗽 nf-md-logout_variant +󰗾 nf-md-music_note_bluetooth +󰗿 nf-md-music_note_bluetooth_off +󰘀 nf-md-page_first +󰘁 nf-md-page_last +󰘂 nf-md-phone_classic +󰘃 nf-md-priority_high +󰘄 nf-md-priority_low +󰘅 nf-md-qqchat +󰘆 nf-md-pool +󰘇 nf-md-rounded_corner +󰘈 nf-md-rowing +󰘉 nf-md-saxophone +󰘊 nf-md-signal_variant +󰘋 nf-md-stack_exchange +󰘌 nf-md-subdirectory_arrow_left +󰘍 nf-md-subdirectory_arrow_right +󰘎 nf-md-form_textbox +󰘏 nf-md-violin +󰘐 nf-md-microsoft_visual_studio +󰘑 nf-md-wechat +󰘒 nf-md-watermark +󰘓 nf-md-file_hidden +󰘔 nf-md-application_outline +󰘕 nf-md-arrow_collapse +󰘖 nf-md-arrow_expand +󰘗 nf-md-bowl_mix +󰘘 nf-md-bridge +󰘙 nf-md-application_edit_outline +󰘚 nf-md-chip +󰘛 nf-md-content_save_settings +󰘜 nf-md-dialpad +󰘝 nf-md-book_alphabet +󰘞 nf-md-format_horizontal_align_center +󰘟 nf-md-format_horizontal_align_left +󰘠 nf-md-format_horizontal_align_right +󰘡 nf-md-format_vertical_align_bottom +󰘢 nf-md-format_vertical_align_center +󰘣 nf-md-format_vertical_align_top +󰘤 nf-md-line_scan +󰘥 nf-md-help_circle_outline +󰘦 nf-md-code_json +󰘧 nf-md-lambda +󰘨 nf-md-matrix +󰘩 nf-md-meteor +󰘪 nf-md-close_circle_multiple +󰘫 nf-md-sigma_lower +󰘬 nf-md-source_branch +󰘭 nf-md-source_merge +󰘮 nf-md-tune +󰘯 nf-md-webhook +󰘰 nf-md-account_settings +󰘱 nf-md-account_details +󰘲 nf-md-apple_keyboard_caps +󰘳 nf-md-apple_keyboard_command +󰘴 nf-md-apple_keyboard_control +󰘵 nf-md-apple_keyboard_option +󰘶 nf-md-apple_keyboard_shift +󰘷 nf-md-box_shadow +󰘸 nf-md-cards +󰘹 nf-md-cards_outline +󰘺 nf-md-cards_playing_outline +󰘻 nf-md-checkbox_multiple_blank_circle +󰘼 nf-md-checkbox_multiple_blank_circle_outline +󰘽 nf-md-checkbox_multiple_marked_circle +󰘾 nf-md-checkbox_multiple_marked_circle_outline +󰘿 nf-md-cloud_sync +󰙀 nf-md-collage +󰙁 nf-md-directions_fork +󰙂 nf-md-eraser_variant +󰙃 nf-md-face_man +󰙄 nf-md-face_man_profile +󰙅 nf-md-file_tree +󰙆 nf-md-format_annotation_plus +󰙇 nf-md-gas_cylinder +󰙈 nf-md-grease_pencil +󰙉 nf-md-human_female +󰙊 nf-md-human_greeting_variant +󰙋 nf-md-human_handsdown +󰙌 nf-md-human_handsup +󰙍 nf-md-human_male +󰙎 nf-md-information_variant +󰙏 nf-md-lead_pencil +󰙐 nf-md-map_marker_minus +󰙑 nf-md-map_marker_plus +󰙒 nf-md-marker +󰙓 nf-md-message_plus +󰙔 nf-md-microscope +󰙕 nf-md-move_resize +󰙖 nf-md-move_resize_variant +󰙗 nf-md-paw_off +󰙘 nf-md-phone_minus +󰙙 nf-md-phone_plus +󰙚 nf-md-pot_steam +󰙛 nf-md-pot_mix +󰙜 nf-md-serial_port +󰙝 nf-md-shape_circle_plus +󰙞 nf-md-shape_polygon_plus +󰙟 nf-md-shape_rectangle_plus +󰙠 nf-md-shape_square_plus +󰙡 nf-md-skip_next_circle +󰙢 nf-md-skip_next_circle_outline +󰙣 nf-md-skip_previous_circle +󰙤 nf-md-skip_previous_circle_outline +󰙥 nf-md-spray +󰙦 nf-md-stop_circle +󰙧 nf-md-stop_circle_outline +󰙨 nf-md-test_tube +󰙩 nf-md-text_shadow +󰙪 nf-md-tune_vertical +󰙫 nf-md-cart_off +󰙬 nf-md-chart_gantt +󰙭 nf-md-chart_scatter_plot_hexbin +󰙮 nf-md-chart_timeline +󰙯 nf-md-discord +󰙰 nf-md-file_restore +󰙱 nf-md-language_c +󰙲 nf-md-language_cpp +󰙳 nf-md-language_xaml +󰙴 nf-md-creation +󰙵 nf-md-application_cog +󰙶 nf-md-credit_card_plus_outline +󰙷 nf-md-pot_mix_outline +󰙸 nf-md-bow_tie +󰙹 nf-md-calendar_range +󰙺 nf-md-currency_usd_off +󰙻 nf-md-flash_red_eye +󰙼 nf-md-oar +󰙽 nf-md-piano +󰙾 nf-md-weather_lightning_rainy +󰙿 nf-md-weather_snowy_rainy +󰚀 nf-md-yin_yang +󰚁 nf-md-tower_beach +󰚂 nf-md-tower_fire +󰚃 nf-md-delete_circle +󰚄 nf-md-dna +󰚅 nf-md-hamburger +󰚆 nf-md-gondola +󰚇 nf-md-inbox +󰚈 nf-md-reorder_horizontal +󰚉 nf-md-reorder_vertical +󰚊 nf-md-shield_home +󰚋 nf-md-tag_heart +󰚌 nf-md-skull +󰚍 nf-md-solid +󰚎 nf-md-alarm_snooze +󰚏 nf-md-baby_carriage +󰚐 nf-md-beaker_outline +󰚑 nf-md-bomb +󰚒 nf-md-calendar_question +󰚓 nf-md-camera_burst +󰚔 nf-md-code_tags_check +󰚕 nf-md-circle_multiple_outline +󰚖 nf-md-crop_rotate +󰚗 nf-md-developer_board +󰚘 nf-md-piano_off +󰚙 nf-md-skate_off +󰚚 nf-md-message_star +󰚛 nf-md-emoticon_dead_outline +󰚜 nf-md-emoticon_excited_outline +󰚝 nf-md-folder_star +󰚞 nf-md-format_color_text +󰚟 nf-md-format_section +󰚠 nf-md-gradient_vertical +󰚡 nf-md-home_outline +󰚢 nf-md-message_bulleted +󰚣 nf-md-message_bulleted_off +󰚤 nf-md-nuke +󰚥 nf-md-power_plug +󰚦 nf-md-power_plug_off +󰚧 nf-md-publish +󰚨 nf-md-credit_card_marker +󰚩 nf-md-robot +󰚪 nf-md-format_rotate_90 +󰚫 nf-md-scanner +󰚬 nf-md-subway +󰚭 nf-md-timer_sand_empty +󰚮 nf-md-transit_transfer +󰚯 nf-md-unity +󰚰 nf-md-update +󰚱 nf-md-watch_vibrate +󰚲 nf-md-angular +󰚳 nf-md-dolby +󰚴 nf-md-emby +󰚵 nf-md-lamp +󰚶 nf-md-menu_down_outline +󰚷 nf-md-menu_up_outline +󰚸 nf-md-note_multiple +󰚹 nf-md-note_multiple_outline +󰚺 nf-md-plex +󰚻 nf-md-shield_airplane +󰚼 nf-md-account_edit +󰚽 nf-md-alert_decagram +󰚾 nf-md-all_inclusive +󰚿 nf-md-angularjs +󰛀 nf-md-arrow_down_box +󰛁 nf-md-arrow_left_box +󰛂 nf-md-arrow_right_box +󰛃 nf-md-arrow_up_box +󰛄 nf-md-asterisk +󰛅 nf-md-bomb_off +󰛆 nf-md-bootstrap +󰛇 nf-md-cards_variant +󰛈 nf-md-clipboard_flow +󰛉 nf-md-close_outline +󰛊 nf-md-coffee_outline +󰛋 nf-md-contacts +󰛌 nf-md-delete_empty +󰛍 nf-md-earth_box +󰛎 nf-md-earth_box_off +󰛏 nf-md-email_alert +󰛐 nf-md-eye_outline +󰛑 nf-md-eye_off_outline +󰛒 nf-md-fast_forward_outline +󰛓 nf-md-feather +󰛔 nf-md-find_replace +󰛕 nf-md-flash_outline +󰛖 nf-md-format_font +󰛗 nf-md-format_page_break +󰛘 nf-md-format_pilcrow +󰛙 nf-md-garage +󰛚 nf-md-garage_open +󰛛 nf-md-card_account_details_star_outline +󰛜 nf-md-google_keep +󰛝 nf-md-snowmobile +󰛞 nf-md-heart_half_full +󰛟 nf-md-heart_half +󰛠 nf-md-heart_half_outline +󰛡 nf-md-hexagon_multiple +󰛢 nf-md-hook +󰛣 nf-md-hook_off +󰛤 nf-md-infinity +󰛥 nf-md-language_swift +󰛦 nf-md-language_typescript +󰛧 nf-md-laptop_off +󰛨 nf-md-lightbulb_on +󰛩 nf-md-lightbulb_on_outline +󰛪 nf-md-lock_pattern +󰛫 nf-md-folder_zip +󰛬 nf-md-magnify_minus_outline +󰛭 nf-md-magnify_plus_outline +󰛮 nf-md-mailbox +󰛯 nf-md-medical_bag +󰛰 nf-md-message_settings +󰛱 nf-md-message_cog +󰛲 nf-md-minus_box_outline +󰛳 nf-md-network +󰛴 nf-md-download_network +󰛵 nf-md-help_network +󰛶 nf-md-upload_network +󰛷 nf-md-npm +󰛸 nf-md-nut +󰛹 nf-md-octagram +󰛺 nf-md-page_layout_body +󰛻 nf-md-page_layout_footer +󰛼 nf-md-page_layout_header +󰛽 nf-md-page_layout_sidebar_left +󰛾 nf-md-page_layout_sidebar_right +󰛿 nf-md-pencil_circle +󰜀 nf-md-pentagon_outline +󰜁 nf-md-pentagon +󰜂 nf-md-pillar +󰜃 nf-md-pistol +󰜄 nf-md-plus_box_outline +󰜅 nf-md-plus_outline +󰜆 nf-md-prescription +󰜇 nf-md-printer_settings +󰜈 nf-md-react +󰜉 nf-md-restart +󰜊 nf-md-rewind_outline +󰜋 nf-md-rhombus +󰜌 nf-md-rhombus_outline +󰜍 nf-md-robot_vacuum +󰜎 nf-md-run +󰜏 nf-md-search_web +󰜐 nf-md-shovel +󰜑 nf-md-shovel_off +󰜒 nf-md-signal_2g +󰜓 nf-md-signal_3g +󰜔 nf-md-signal_4g +󰜕 nf-md-signal_hspa +󰜖 nf-md-signal_hspa_plus +󰜗 nf-md-snowflake +󰜘 nf-md-source_commit +󰜙 nf-md-source_commit_end +󰜚 nf-md-source_commit_end_local +󰜛 nf-md-source_commit_local +󰜜 nf-md-source_commit_next_local +󰜝 nf-md-source_commit_start +󰜞 nf-md-source_commit_start_next_local +󰜟 nf-md-speaker_wireless +󰜠 nf-md-stadium_variant +󰜡 nf-md-svg +󰜢 nf-md-tag_plus +󰜣 nf-md-tag_remove +󰜤 nf-md-ticket_percent +󰜥 nf-md-tilde +󰜦 nf-md-treasure_chest +󰜧 nf-md-truck_trailer +󰜨 nf-md-view_parallel +󰜩 nf-md-view_sequential +󰜪 nf-md-washing_machine +󰜫 nf-md-webpack +󰜬 nf-md-widgets +󰜭 nf-md-nintendo_wiiu +󰜮 nf-md-arrow_down_bold +󰜯 nf-md-arrow_down_bold_box +󰜰 nf-md-arrow_down_bold_box_outline +󰜱 nf-md-arrow_left_bold +󰜲 nf-md-arrow_left_bold_box +󰜳 nf-md-arrow_left_bold_box_outline +󰜴 nf-md-arrow_right_bold +󰜵 nf-md-arrow_right_bold_box +󰜶 nf-md-arrow_right_bold_box_outline +󰜷 nf-md-arrow_up_bold +󰜸 nf-md-arrow_up_bold_box +󰜹 nf-md-arrow_up_bold_box_outline +󰜺 nf-md-cancel +󰜻 nf-md-file_account +󰜼 nf-md-gesture_double_tap +󰜽 nf-md-gesture_swipe_down +󰜾 nf-md-gesture_swipe_left +󰜿 nf-md-gesture_swipe_right +󰝀 nf-md-gesture_swipe_up +󰝁 nf-md-gesture_tap +󰝂 nf-md-gesture_two_double_tap +󰝃 nf-md-gesture_two_tap +󰝄 nf-md-humble_bundle +󰝅 nf-md-kickstarter +󰝆 nf-md-netflix +󰝇 nf-md-microsoft_onenote +󰝈 nf-md-wall_sconce_round +󰝉 nf-md-folder_refresh +󰝊 nf-md-vector_radius +󰝋 nf-md-microsoft_xbox_controller_battery_alert +󰝌 nf-md-microsoft_xbox_controller_battery_empty +󰝍 nf-md-microsoft_xbox_controller_battery_full +󰝎 nf-md-microsoft_xbox_controller_battery_low +󰝏 nf-md-microsoft_xbox_controller_battery_medium +󰝐 nf-md-microsoft_xbox_controller_battery_unknown +󰝑 nf-md-clipboard_plus +󰝒 nf-md-file_plus +󰝓 nf-md-format_align_bottom +󰝔 nf-md-format_align_middle +󰝕 nf-md-format_align_top +󰝖 nf-md-format_list_checks +󰝗 nf-md-format_quote_open +󰝘 nf-md-grid_large +󰝙 nf-md-heart_off +󰝚 nf-md-music +󰝛 nf-md-music_off +󰝜 nf-md-tab_plus +󰝝 nf-md-volume_plus +󰝞 nf-md-volume_minus +󰝟 nf-md-volume_mute +󰝠 nf-md-unfold_less_vertical +󰝡 nf-md-unfold_more_vertical +󰝢 nf-md-taco +󰝣 nf-md-square_outline +󰝤 nf-md-square +󰝧 nf-md-alert_octagram +󰝨 nf-md-atom +󰝩 nf-md-ceiling_light +󰝪 nf-md-chart_bar_stacked +󰝫 nf-md-chart_line_stacked +󰝬 nf-md-decagram +󰝭 nf-md-decagram_outline +󰝮 nf-md-dice_multiple +󰝯 nf-md-dice_d10_outline +󰝰 nf-md-folder_open +󰝱 nf-md-guitar_acoustic +󰝲 nf-md-loading +󰝳 nf-md-lock_reset +󰝴 nf-md-ninja +󰝵 nf-md-octagram_outline +󰝶 nf-md-pencil_circle_outline +󰝷 nf-md-selection_off +󰝸 nf-md-set_all +󰝹 nf-md-set_center +󰝺 nf-md-set_center_right +󰝻 nf-md-set_left +󰝼 nf-md-set_left_center +󰝽 nf-md-set_left_right +󰝾 nf-md-set_none +󰝿 nf-md-set_right +󰞀 nf-md-shield_half_full +󰞁 nf-md-sign_direction +󰞂 nf-md-sign_text +󰞃 nf-md-signal_off +󰞄 nf-md-square_root +󰞅 nf-md-sticker_emoji +󰞆 nf-md-summit +󰞇 nf-md-sword_cross +󰞈 nf-md-truck_fast +󰞉 nf-md-web_check +󰞊 nf-md-cast_off +󰞋 nf-md-help_box +󰞌 nf-md-timer_sand_full +󰞍 nf-md-waves +󰞎 nf-md-alarm_bell +󰞏 nf-md-alarm_light +󰞐 nf-md-video_switch_outline +󰞑 nf-md-check_decagram +󰞒 nf-md-arrow_collapse_down +󰞓 nf-md-arrow_collapse_left +󰞔 nf-md-arrow_collapse_right +󰞕 nf-md-arrow_collapse_up +󰞖 nf-md-arrow_expand_down +󰞗 nf-md-arrow_expand_left +󰞘 nf-md-arrow_expand_right +󰞙 nf-md-arrow_expand_up +󰞚 nf-md-book_lock +󰞛 nf-md-book_lock_open +󰞜 nf-md-bus_articulated_end +󰞝 nf-md-bus_articulated_front +󰞞 nf-md-bus_double_decker +󰞟 nf-md-bus_school +󰞠 nf-md-bus_side +󰞡 nf-md-camera_gopro +󰞢 nf-md-camera_metering_center +󰞣 nf-md-camera_metering_matrix +󰞤 nf-md-camera_metering_partial +󰞥 nf-md-camera_metering_spot +󰞦 nf-md-cannabis +󰞧 nf-md-car_convertible +󰞨 nf-md-car_estate +󰞩 nf-md-car_hatchback +󰞪 nf-md-car_pickup +󰞫 nf-md-car_side +󰞬 nf-md-car_sports +󰞭 nf-md-caravan +󰞮 nf-md-cctv +󰞯 nf-md-chart_donut +󰞰 nf-md-chart_donut_variant +󰞱 nf-md-chart_line_variant +󰞲 nf-md-chili_hot +󰞳 nf-md-chili_medium +󰞴 nf-md-chili_mild +󰞵 nf-md-cloud_braces +󰞶 nf-md-cloud_tags +󰞷 nf-md-console_line +󰞸 nf-md-corn +󰞹 nf-md-folder_zip_outline +󰞺 nf-md-currency_cny +󰞻 nf-md-currency_eth +󰞼 nf-md-currency_jpy +󰞽 nf-md-currency_krw +󰞾 nf-md-currency_sign +󰞿 nf-md-currency_twd +󰟀 nf-md-desktop_classic +󰟁 nf-md-dip_switch +󰟂 nf-md-donkey +󰟃 nf-md-dots_horizontal_circle +󰟄 nf-md-dots_vertical_circle +󰟅 nf-md-ear_hearing +󰟆 nf-md-elephant +󰟇 nf-md-storefront +󰟈 nf-md-food_croissant +󰟉 nf-md-forklift +󰟊 nf-md-fuel +󰟋 nf-md-gesture +󰟌 nf-md-google_analytics +󰟍 nf-md-google_assistant +󰟎 nf-md-headphones_off +󰟏 nf-md-high_definition +󰟐 nf-md-home_assistant +󰟑 nf-md-home_automation +󰟒 nf-md-home_circle +󰟓 nf-md-language_go +󰟔 nf-md-language_r +󰟕 nf-md-lava_lamp +󰟖 nf-md-led_strip +󰟗 nf-md-locker +󰟘 nf-md-locker_multiple +󰟙 nf-md-map_marker_outline +󰟚 nf-md-metronome +󰟛 nf-md-metronome_tick +󰟜 nf-md-micro_sd +󰟝 nf-md-facebook_gaming +󰟞 nf-md-movie_roll +󰟟 nf-md-mushroom +󰟠 nf-md-mushroom_outline +󰟡 nf-md-nintendo_switch +󰟢 nf-md-null +󰟣 nf-md-passport +󰟤 nf-md-molecule_co2 +󰟥 nf-md-pipe +󰟦 nf-md-pipe_disconnected +󰟧 nf-md-power_socket_eu +󰟨 nf-md-power_socket_uk +󰟩 nf-md-power_socket_us +󰟪 nf-md-rice +󰟫 nf-md-ring +󰟬 nf-md-sass +󰟭 nf-md-send_lock +󰟮 nf-md-soy_sauce +󰟯 nf-md-standard_definition +󰟰 nf-md-surround_sound_2_0 +󰟱 nf-md-surround_sound_3_1 +󰟲 nf-md-surround_sound_5_1 +󰟳 nf-md-surround_sound_7_1 +󰟴 nf-md-television_classic +󰟵 nf-md-form_textbox_password +󰟶 nf-md-thought_bubble +󰟷 nf-md-thought_bubble_outline +󰟸 nf-md-trackpad +󰟹 nf-md-ultra_high_definition +󰟺 nf-md-van_passenger +󰟻 nf-md-van_utility +󰟼 nf-md-vanish +󰟽 nf-md-video_3d +󰟾 nf-md-wall +󰟿 nf-md-xmpp +󰠀 nf-md-account_multiple_plus_outline +󰠁 nf-md-account_plus_outline +󰠂 nf-md-credit_card_wireless +󰠃 nf-md-account_music +󰠄 nf-md-atlassian +󰠅 nf-md-microsoft_azure +󰠆 nf-md-basketball +󰠇 nf-md-battery_charging_wireless +󰠈 nf-md-battery_charging_wireless_10 +󰠉 nf-md-battery_charging_wireless_20 +󰠊 nf-md-battery_charging_wireless_30 +󰠋 nf-md-battery_charging_wireless_40 +󰠌 nf-md-battery_charging_wireless_50 +󰠍 nf-md-battery_charging_wireless_60 +󰠎 nf-md-battery_charging_wireless_70 +󰠏 nf-md-battery_charging_wireless_80 +󰠐 nf-md-battery_charging_wireless_90 +󰠑 nf-md-battery_charging_wireless_alert +󰠒 nf-md-battery_charging_wireless_outline +󰠓 nf-md-bitcoin +󰠔 nf-md-briefcase_outline +󰠕 nf-md-cellphone_wireless +󰠖 nf-md-clover +󰠗 nf-md-comment_question +󰠘 nf-md-content_save_outline +󰠙 nf-md-delete_restore +󰠚 nf-md-door +󰠛 nf-md-door_closed +󰠜 nf-md-door_open +󰠝 nf-md-fan_off +󰠞 nf-md-file_percent +󰠟 nf-md-finance +󰠠 nf-md-lightning_bolt_circle +󰠡 nf-md-floor_plan +󰠢 nf-md-forum_outline +󰠣 nf-md-golf +󰠤 nf-md-google_home +󰠥 nf-md-guy_fawkes_mask +󰠦 nf-md-home_account +󰠧 nf-md-home_heart +󰠨 nf-md-hot_tub +󰠩 nf-md-hulu +󰠪 nf-md-ice_cream +󰠫 nf-md-image_off +󰠬 nf-md-karate +󰠭 nf-md-ladybug +󰠮 nf-md-notebook +󰠯 nf-md-phone_return +󰠰 nf-md-poker_chip +󰠱 nf-md-shape +󰠲 nf-md-shape_outline +󰠳 nf-md-ship_wheel +󰠴 nf-md-soccer_field +󰠵 nf-md-table_column +󰠶 nf-md-table_of_contents +󰠷 nf-md-table_row +󰠸 nf-md-table_settings +󰠹 nf-md-television_box +󰠺 nf-md-television_classic_off +󰠻 nf-md-television_off +󰠼 nf-md-tow_truck +󰠽 nf-md-upload_multiple +󰠾 nf-md-video_4k_box +󰠿 nf-md-video_input_antenna +󰡀 nf-md-video_input_component +󰡁 nf-md-video_input_hdmi +󰡂 nf-md-video_input_svideo +󰡃 nf-md-view_dashboard_variant +󰡄 nf-md-vuejs +󰡅 nf-md-xamarin +󰡆 nf-md-human_male_board_poll +󰡇 nf-md-youtube_studio +󰡈 nf-md-youtube_gaming +󰡉 nf-md-account_group +󰡊 nf-md-camera_switch_outline +󰡋 nf-md-airport +󰡌 nf-md-arrow_collapse_horizontal +󰡍 nf-md-arrow_collapse_vertical +󰡎 nf-md-arrow_expand_horizontal +󰡏 nf-md-arrow_expand_vertical +󰡐 nf-md-augmented_reality +󰡑 nf-md-badminton +󰡒 nf-md-baseball +󰡓 nf-md-baseball_bat +󰡔 nf-md-bottle_wine +󰡕 nf-md-check_outline +󰡖 nf-md-checkbox_intermediate +󰡗 nf-md-chess_king +󰡘 nf-md-chess_knight +󰡙 nf-md-chess_pawn +󰡚 nf-md-chess_queen +󰡛 nf-md-chess_rook +󰡜 nf-md-chess_bishop +󰡝 nf-md-clipboard_pulse +󰡞 nf-md-clipboard_pulse_outline +󰡟 nf-md-comment_multiple +󰡠 nf-md-comment_text_multiple +󰡡 nf-md-comment_text_multiple_outline +󰡢 nf-md-crane +󰡣 nf-md-curling +󰡤 nf-md-currency_bdt +󰡥 nf-md-currency_kzt +󰡦 nf-md-database_search +󰡧 nf-md-dice_d12_outline +󰡨 nf-md-docker +󰡩 nf-md-doorbell_video +󰡪 nf-md-ethereum +󰡫 nf-md-eye_plus +󰡬 nf-md-eye_plus_outline +󰡭 nf-md-eye_settings +󰡮 nf-md-eye_settings_outline +󰡯 nf-md-file_question +󰡰 nf-md-folder_network +󰡱 nf-md-function_variant +󰡲 nf-md-garage_alert +󰡳 nf-md-gauge_empty +󰡴 nf-md-gauge_full +󰡵 nf-md-gauge_low +󰡶 nf-md-glass_wine +󰡷 nf-md-graphql +󰡸 nf-md-high_definition_box +󰡹 nf-md-hockey_puck +󰡺 nf-md-hockey_sticks +󰡻 nf-md-home_alert +󰡼 nf-md-image_plus +󰡽 nf-md-jquery +󰡾 nf-md-lifebuoy +󰡿 nf-md-mixed_reality +󰢀 nf-md-nativescript +󰢁 nf-md-onepassword +󰢂 nf-md-patreon +󰢃 nf-md-close_circle_multiple_outline +󰢄 nf-md-peace +󰢅 nf-md-phone_rotate_landscape +󰢆 nf-md-phone_rotate_portrait +󰢇 nf-md-pier +󰢈 nf-md-pier_crane +󰢉 nf-md-pipe_leak +󰢊 nf-md-piston +󰢋 nf-md-play_network +󰢌 nf-md-reminder +󰢍 nf-md-room_service +󰢎 nf-md-salesforce +󰢏 nf-md-shield_account +󰢐 nf-md-human_male_board +󰢑 nf-md-thermostat_box +󰢒 nf-md-tractor +󰢓 nf-md-vector_ellipse +󰢔 nf-md-virtual_reality +󰢕 nf-md-watch_export_variant +󰢖 nf-md-watch_import_variant +󰢗 nf-md-watch_variant +󰢘 nf-md-weather_hurricane +󰢙 nf-md-account_heart +󰢚 nf-md-alien +󰢛 nf-md-anvil +󰢜 nf-md-battery_charging_10 +󰢝 nf-md-battery_charging_50 +󰢞 nf-md-battery_charging_70 +󰢟 nf-md-battery_charging_outline +󰢠 nf-md-bed_empty +󰢡 nf-md-border_all_variant +󰢢 nf-md-border_bottom_variant +󰢣 nf-md-border_left_variant +󰢤 nf-md-border_none_variant +󰢥 nf-md-border_right_variant +󰢦 nf-md-border_top_variant +󰢧 nf-md-calendar_edit +󰢨 nf-md-clipboard_check_outline +󰢩 nf-md-console_network +󰢪 nf-md-file_compare +󰢫 nf-md-fire_truck +󰢬 nf-md-folder_key +󰢭 nf-md-folder_key_network +󰢮 nf-md-expansion_card +󰢯 nf-md-kayaking +󰢰 nf-md-inbox_multiple +󰢱 nf-md-language_lua +󰢲 nf-md-lock_smart +󰢳 nf-md-microphone_minus +󰢴 nf-md-microphone_plus +󰢵 nf-md-palette_swatch +󰢶 nf-md-periodic_table +󰢷 nf-md-pickaxe +󰢸 nf-md-qrcode_edit +󰢹 nf-md-remote_desktop +󰢺 nf-md-sausage +󰢻 nf-md-cog_outline +󰢼 nf-md-signal_cellular_1 +󰢽 nf-md-signal_cellular_2 +󰢾 nf-md-signal_cellular_3 +󰢿 nf-md-signal_cellular_outline +󰣀 nf-md-ssh +󰣁 nf-md-swap_horizontal_variant +󰣂 nf-md-swap_vertical_variant +󰣃 nf-md-tooth +󰣄 nf-md-train_variant +󰣅 nf-md-account_multiple_check +󰣆 nf-md-application +󰣇 nf-md-arch +󰣈 nf-md-axe +󰣉 nf-md-bullseye_arrow +󰣊 nf-md-bus_clock +󰣋 nf-md-camera_account +󰣌 nf-md-camera_image +󰣍 nf-md-car_limousine +󰣎 nf-md-cards_club +󰣏 nf-md-cards_diamond +󰣑 nf-md-cards_spade +󰣒 nf-md-cellphone_text +󰣓 nf-md-cellphone_message +󰣔 nf-md-chart_multiline +󰣕 nf-md-circle_edit_outline +󰣖 nf-md-cogs +󰣗 nf-md-credit_card_settings_outline +󰣘 nf-md-death_star +󰣙 nf-md-death_star_variant +󰣚 nf-md-debian +󰣛 nf-md-fedora +󰣜 nf-md-file_undo +󰣝 nf-md-floor_lamp +󰣞 nf-md-folder_edit +󰣟 nf-md-format_columns +󰣠 nf-md-freebsd +󰣡 nf-md-gate_and +󰣢 nf-md-gate_nand +󰣣 nf-md-gate_nor +󰣤 nf-md-gate_not +󰣥 nf-md-gate_or +󰣦 nf-md-gate_xnor +󰣧 nf-md-gate_xor +󰣨 nf-md-gentoo +󰣩 nf-md-globe_model +󰣪 nf-md-hammer +󰣫 nf-md-home_lock +󰣬 nf-md-home_lock_open +󰣭 nf-md-linux_mint +󰣮 nf-md-lock_alert +󰣯 nf-md-lock_question +󰣰 nf-md-map_marker_distance +󰣱 nf-md-midi +󰣲 nf-md-midi_port +󰣳 nf-md-nas +󰣴 nf-md-network_strength_1 +󰣵 nf-md-network_strength_1_alert +󰣶 nf-md-network_strength_2 +󰣷 nf-md-network_strength_2_alert +󰣸 nf-md-network_strength_3 +󰣹 nf-md-network_strength_3_alert +󰣺 nf-md-network_strength_4 +󰣻 nf-md-network_strength_4_alert +󰣼 nf-md-network_strength_off +󰣽 nf-md-network_strength_off_outline +󰣾 nf-md-network_strength_outline +󰣿 nf-md-play_speed +󰤀 nf-md-playlist_edit +󰤁 nf-md-power_cycle +󰤂 nf-md-power_off +󰤃 nf-md-power_on +󰤄 nf-md-power_sleep +󰤅 nf-md-power_socket_au +󰤆 nf-md-power_standby +󰤇 nf-md-rabbit +󰤈 nf-md-robot_vacuum_variant +󰤉 nf-md-satellite_uplink +󰤊 nf-md-scanner_off +󰤋 nf-md-book_minus_multiple_outline +󰤌 nf-md-square_edit_outline +󰤍 nf-md-sort_numeric_ascending_variant +󰤎 nf-md-steering_off +󰤏 nf-md-table_search +󰤐 nf-md-tag_minus +󰤑 nf-md-test_tube_empty +󰤒 nf-md-test_tube_off +󰤓 nf-md-ticket_outline +󰤔 nf-md-track_light +󰤕 nf-md-transition +󰤖 nf-md-transition_masked +󰤗 nf-md-tumble_dryer +󰤘 nf-md-file_refresh +󰤙 nf-md-video_account +󰤚 nf-md-video_image +󰤛 nf-md-video_stabilization +󰤜 nf-md-wall_sconce +󰤝 nf-md-wall_sconce_flat +󰤞 nf-md-wall_sconce_round_variant +󰤟 nf-md-wifi_strength_1 +󰤠 nf-md-wifi_strength_1_alert +󰤡 nf-md-wifi_strength_1_lock +󰤢 nf-md-wifi_strength_2 +󰤣 nf-md-wifi_strength_2_alert +󰤤 nf-md-wifi_strength_2_lock +󰤥 nf-md-wifi_strength_3 +󰤦 nf-md-wifi_strength_3_alert +󰤧 nf-md-wifi_strength_3_lock +󰤨 nf-md-wifi_strength_4 +󰤩 nf-md-wifi_strength_4_alert +󰤪 nf-md-wifi_strength_4_lock +󰤫 nf-md-wifi_strength_alert_outline +󰤬 nf-md-wifi_strength_lock_outline +󰤭 nf-md-wifi_strength_off +󰤮 nf-md-wifi_strength_off_outline +󰤯 nf-md-wifi_strength_outline +󰤰 nf-md-pin_off_outline +󰤱 nf-md-pin_outline +󰤲 nf-md-share_outline +󰤳 nf-md-trackpad_lock +󰤴 nf-md-account_box_multiple +󰤵 nf-md-account_search_outline +󰤶 nf-md-account_filter +󰤷 nf-md-angle_acute +󰤸 nf-md-angle_obtuse +󰤹 nf-md-angle_right +󰤺 nf-md-animation_play +󰤻 nf-md-arrow_split_horizontal +󰤼 nf-md-arrow_split_vertical +󰤽 nf-md-audio_video +󰤾 nf-md-battery_10_bluetooth +󰤿 nf-md-battery_20_bluetooth +󰥀 nf-md-battery_30_bluetooth +󰥁 nf-md-battery_40_bluetooth +󰥂 nf-md-battery_50_bluetooth +󰥃 nf-md-battery_60_bluetooth +󰥄 nf-md-battery_70_bluetooth +󰥅 nf-md-battery_80_bluetooth +󰥆 nf-md-battery_90_bluetooth +󰥇 nf-md-battery_alert_bluetooth +󰥈 nf-md-battery_bluetooth +󰥉 nf-md-battery_bluetooth_variant +󰥊 nf-md-battery_unknown_bluetooth +󰥋 nf-md-dharmachakra +󰥌 nf-md-calendar_search +󰥍 nf-md-cellphone_remove +󰥎 nf-md-cellphone_key +󰥏 nf-md-cellphone_lock +󰥐 nf-md-cellphone_off +󰥑 nf-md-cellphone_cog +󰥒 nf-md-cellphone_sound +󰥓 nf-md-cross +󰥔 nf-md-clock +󰥕 nf-md-clock_alert +󰥖 nf-md-cloud_search +󰥗 nf-md-cloud_search_outline +󰥘 nf-md-cordova +󰥙 nf-md-cryengine +󰥚 nf-md-cupcake +󰥛 nf-md-sine_wave +󰥜 nf-md-current_dc +󰥝 nf-md-database_import +󰥞 nf-md-database_export +󰥟 nf-md-desk_lamp +󰥠 nf-md-disc_player +󰥡 nf-md-email_search +󰥢 nf-md-email_search_outline +󰥣 nf-md-exponent +󰥤 nf-md-exponent_box +󰥥 nf-md-file_download +󰥦 nf-md-file_download_outline +󰥧 nf-md-firebase +󰥨 nf-md-folder_search +󰥩 nf-md-folder_search_outline +󰥪 nf-md-format_list_checkbox +󰥫 nf-md-fountain +󰥬 nf-md-google_fit +󰥭 nf-md-greater_than +󰥮 nf-md-greater_than_or_equal +󰥯 nf-md-hard_hat +󰥰 nf-md-headphones_bluetooth +󰥱 nf-md-heart_circle +󰥲 nf-md-heart_circle_outline +󰥳 nf-md-om +󰥴 nf-md-home_minus +󰥵 nf-md-home_plus +󰥶 nf-md-image_outline +󰥷 nf-md-image_search +󰥸 nf-md-image_search_outline +󰥹 nf-md-star_crescent +󰥺 nf-md-star_david +󰥻 nf-md-keyboard_outline +󰥼 nf-md-less_than +󰥽 nf-md-less_than_or_equal +󰥾 nf-md-light_switch +󰥿 nf-md-lock_clock +󰦀 nf-md-magnify_close +󰦁 nf-md-map_minus +󰦂 nf-md-map_outline +󰦃 nf-md-map_plus +󰦄 nf-md-map_search +󰦅 nf-md-map_search_outline +󰦆 nf-md-material_design +󰦇 nf-md-medal +󰦈 nf-md-microsoft_dynamics_365 +󰦉 nf-md-monitor_cellphone +󰦊 nf-md-monitor_cellphone_star +󰦋 nf-md-mouse_bluetooth +󰦌 nf-md-muffin +󰦍 nf-md-not_equal +󰦎 nf-md-not_equal_variant +󰦏 nf-md-order_bool_ascending_variant +󰦐 nf-md-order_bool_descending_variant +󰦑 nf-md-office_building +󰦒 nf-md-plus_minus +󰦓 nf-md-plus_minus_box +󰦔 nf-md-podcast +󰦕 nf-md-progress_check +󰦖 nf-md-progress_clock +󰦗 nf-md-progress_download +󰦘 nf-md-progress_upload +󰦙 nf-md-qi +󰦚 nf-md-record_player +󰦛 nf-md-restore +󰦜 nf-md-shield_off_outline +󰦝 nf-md-shield_lock +󰦞 nf-md-shield_off +󰦟 nf-md-set_top_box +󰦠 nf-md-shower +󰦡 nf-md-shower_head +󰦢 nf-md-speaker_bluetooth +󰦣 nf-md-square_root_box +󰦤 nf-md-star_circle_outline +󰦥 nf-md-star_face +󰦦 nf-md-table_merge_cells +󰦧 nf-md-tablet_cellphone +󰦨 nf-md-text +󰦩 nf-md-text_short +󰦪 nf-md-text_long +󰦫 nf-md-toilet +󰦬 nf-md-toolbox +󰦭 nf-md-toolbox_outline +󰦮 nf-md-tournament +󰦯 nf-md-two_factor_authentication +󰦰 nf-md-umbrella_closed +󰦱 nf-md-unreal +󰦲 nf-md-video_minus +󰦳 nf-md-video_plus +󰦴 nf-md-volleyball +󰦵 nf-md-weight_pound +󰦶 nf-md-whistle +󰦷 nf-md-arrow_bottom_left_bold_outline +󰦸 nf-md-arrow_bottom_left_thick +󰦹 nf-md-arrow_bottom_right_bold_outline +󰦺 nf-md-arrow_bottom_right_thick +󰦻 nf-md-arrow_decision +󰦼 nf-md-arrow_decision_auto +󰦽 nf-md-arrow_decision_auto_outline +󰦾 nf-md-arrow_decision_outline +󰦿 nf-md-arrow_down_bold_outline +󰧀 nf-md-arrow_left_bold_outline +󰧁 nf-md-arrow_left_right_bold_outline +󰧂 nf-md-arrow_right_bold_outline +󰧃 nf-md-arrow_top_left_bold_outline +󰧄 nf-md-arrow_top_left_thick +󰧅 nf-md-arrow_top_right_bold_outline +󰧆 nf-md-arrow_top_right_thick +󰧇 nf-md-arrow_up_bold_outline +󰧈 nf-md-arrow_up_down_bold_outline +󰧉 nf-md-ballot +󰧊 nf-md-ballot_outline +󰧋 nf-md-betamax +󰧌 nf-md-bookmark_minus +󰧍 nf-md-bookmark_minus_outline +󰧎 nf-md-bookmark_off +󰧏 nf-md-bookmark_off_outline +󰧐 nf-md-braille +󰧑 nf-md-brain +󰧒 nf-md-calendar_heart +󰧓 nf-md-calendar_star +󰧔 nf-md-cassette +󰧕 nf-md-cellphone_arrow_down +󰧖 nf-md-chevron_down_box +󰧗 nf-md-chevron_down_box_outline +󰧘 nf-md-chevron_left_box +󰧙 nf-md-chevron_left_box_outline +󰧚 nf-md-chevron_right_box +󰧛 nf-md-chevron_right_box_outline +󰧜 nf-md-chevron_up_box +󰧝 nf-md-chevron_up_box_outline +󰧞 nf-md-circle_medium +󰧟 nf-md-circle_small +󰧠 nf-md-cloud_alert +󰧡 nf-md-comment_arrow_left +󰧢 nf-md-comment_arrow_left_outline +󰧣 nf-md-comment_arrow_right +󰧤 nf-md-comment_arrow_right_outline +󰧥 nf-md-comment_plus +󰧦 nf-md-currency_php +󰧧 nf-md-delete_outline +󰧨 nf-md-desktop_mac_dashboard +󰧩 nf-md-download_multiple +󰧪 nf-md-eight_track +󰧫 nf-md-email_plus +󰧬 nf-md-email_plus_outline +󰧭 nf-md-text_box_outline +󰧮 nf-md-file_document_outline +󰧯 nf-md-floppy_variant +󰧰 nf-md-flower_outline +󰧱 nf-md-flower_tulip +󰧲 nf-md-flower_tulip_outline +󰧳 nf-md-format_font_size_decrease +󰧴 nf-md-format_font_size_increase +󰧵 nf-md-ghost_off +󰧶 nf-md-google_lens +󰧷 nf-md-google_spreadsheet +󰧸 nf-md-image_move +󰧹 nf-md-keyboard_settings +󰧺 nf-md-keyboard_settings_outline +󰧻 nf-md-knife +󰧼 nf-md-knife_military +󰧽 nf-md-layers_off_outline +󰧾 nf-md-layers_outline +󰧿 nf-md-lighthouse +󰨀 nf-md-lighthouse_on +󰨁 nf-md-map_legend +󰨂 nf-md-menu_left_outline +󰨃 nf-md-menu_right_outline +󰨄 nf-md-message_alert_outline +󰨅 nf-md-mini_sd +󰨆 nf-md-minidisc +󰨇 nf-md-monitor_dashboard +󰨈 nf-md-pirate +󰨉 nf-md-pokemon_go +󰨊 nf-md-powershell +󰨋 nf-md-printer_wireless +󰨌 nf-md-quality_low +󰨍 nf-md-quality_medium +󰨎 nf-md-reflect_horizontal +󰨏 nf-md-reflect_vertical +󰨐 nf-md-rhombus_medium +󰨑 nf-md-rhombus_split +󰨒 nf-md-shield_account_outline +󰨓 nf-md-square_medium +󰨔 nf-md-square_medium_outline +󰨕 nf-md-square_small +󰨖 nf-md-subtitles +󰨗 nf-md-subtitles_outline +󰨘 nf-md-table_border +󰨙 nf-md-toggle_switch_off_outline +󰨚 nf-md-toggle_switch_outline +󰨛 nf-md-vhs +󰨜 nf-md-video_vintage +󰨝 nf-md-view_dashboard_outline +󰨞 nf-md-microsoft_visual_studio_code +󰨟 nf-md-vote +󰨠 nf-md-vote_outline +󰨡 nf-md-microsoft_windows_classic +󰨢 nf-md-microsoft_xbox_controller_battery_charging +󰨣 nf-md-zip_disk +󰨤 nf-md-aspect_ratio +󰨥 nf-md-babel +󰨦 nf-md-balloon +󰨧 nf-md-bank_transfer +󰨨 nf-md-bank_transfer_in +󰨩 nf-md-bank_transfer_out +󰨪 nf-md-briefcase_minus +󰨫 nf-md-briefcase_plus +󰨬 nf-md-briefcase_remove +󰨭 nf-md-briefcase_search +󰨮 nf-md-bug_check +󰨯 nf-md-bug_check_outline +󰨰 nf-md-bug_outline +󰨱 nf-md-calendar_alert +󰨲 nf-md-calendar_multiselect +󰨳 nf-md-calendar_week +󰨴 nf-md-calendar_week_begin +󰨵 nf-md-cellphone_screenshot +󰨶 nf-md-city_variant +󰨷 nf-md-city_variant_outline +󰨸 nf-md-clipboard_text_outline +󰨹 nf-md-cloud_question +󰨺 nf-md-comment_eye +󰨻 nf-md-comment_eye_outline +󰨼 nf-md-comment_search +󰨽 nf-md-comment_search_outline +󰨾 nf-md-contain +󰨿 nf-md-contain_end +󰩀 nf-md-contain_start +󰩁 nf-md-dlna +󰩂 nf-md-doctor +󰩃 nf-md-dog +󰩄 nf-md-dog_side +󰩅 nf-md-ear_hearing_off +󰩆 nf-md-engine_off +󰩇 nf-md-engine_off_outline +󰩈 nf-md-exit_run +󰩉 nf-md-feature_search +󰩊 nf-md-feature_search_outline +󰩋 nf-md-file_alert +󰩌 nf-md-file_alert_outline +󰩍 nf-md-file_upload +󰩎 nf-md-file_upload_outline +󰩏 nf-md-hand_front_right +󰩐 nf-md-hand_okay +󰩑 nf-md-hand_peace +󰩒 nf-md-hand_peace_variant +󰩓 nf-md-hand_pointing_down +󰩔 nf-md-hand_pointing_left +󰩕 nf-md-hand_pointing_up +󰩖 nf-md-heart_multiple +󰩗 nf-md-heart_multiple_outline +󰩘 nf-md-horseshoe +󰩙 nf-md-human_female_boy +󰩚 nf-md-human_female_female +󰩛 nf-md-human_female_girl +󰩜 nf-md-human_male_boy +󰩝 nf-md-human_male_girl +󰩞 nf-md-human_male_male +󰩟 nf-md-ip +󰩠 nf-md-ip_network +󰩡 nf-md-litecoin +󰩢 nf-md-magnify_minus_cursor +󰩣 nf-md-magnify_plus_cursor +󰩤 nf-md-menu_swap +󰩥 nf-md-menu_swap_outline +󰩦 nf-md-puzzle_outline +󰩧 nf-md-registered_trademark +󰩨 nf-md-resize +󰩩 nf-md-router_wireless_settings +󰩪 nf-md-safe +󰩫 nf-md-scissors_cutting +󰩬 nf-md-select_drag +󰩭 nf-md-selection_drag +󰩮 nf-md-settings_helper +󰩯 nf-md-signal_5g +󰩰 nf-md-silverware_fork_knife +󰩱 nf-md-smog +󰩲 nf-md-solar_power +󰩳 nf-md-star_box +󰩴 nf-md-star_box_outline +󰩵 nf-md-table_plus +󰩶 nf-md-table_remove +󰩷 nf-md-target_variant +󰩸 nf-md-trademark +󰩹 nf-md-trash_can +󰩺 nf-md-trash_can_outline +󰩻 nf-md-tshirt_crew +󰩼 nf-md-tshirt_v +󰩽 nf-md-zodiac_aquarius +󰩾 nf-md-zodiac_aries +󰩿 nf-md-zodiac_cancer +󰪀 nf-md-zodiac_capricorn +󰪁 nf-md-zodiac_gemini +󰪂 nf-md-zodiac_leo +󰪃 nf-md-zodiac_libra +󰪄 nf-md-zodiac_pisces +󰪅 nf-md-zodiac_sagittarius +󰪆 nf-md-zodiac_scorpio +󰪇 nf-md-zodiac_taurus +󰪈 nf-md-zodiac_virgo +󰪉 nf-md-account_child +󰪊 nf-md-account_child_circle +󰪋 nf-md-account_supervisor +󰪌 nf-md-account_supervisor_circle +󰪍 nf-md-ampersand +󰪎 nf-md-web_off +󰪏 nf-md-animation_outline +󰪐 nf-md-animation_play_outline +󰪑 nf-md-bell_off_outline +󰪒 nf-md-bell_plus_outline +󰪓 nf-md-bell_sleep_outline +󰪔 nf-md-book_minus_multiple +󰪕 nf-md-book_plus_multiple +󰪖 nf-md-book_remove_multiple +󰪗 nf-md-book_remove +󰪘 nf-md-briefcase_edit +󰪙 nf-md-bus_alert +󰪚 nf-md-calculator_variant +󰪛 nf-md-caps_lock +󰪜 nf-md-cash_refund +󰪝 nf-md-checkbook +󰪞 nf-md-circle_slice_1 +󰪟 nf-md-circle_slice_2 +󰪠 nf-md-circle_slice_3 +󰪡 nf-md-circle_slice_4 +󰪢 nf-md-circle_slice_5 +󰪣 nf-md-circle_slice_6 +󰪤 nf-md-circle_slice_7 +󰪥 nf-md-circle_slice_8 +󰪦 nf-md-collapse_all +󰪧 nf-md-collapse_all_outline +󰪨 nf-md-credit_card_refund_outline +󰪩 nf-md-database_check +󰪪 nf-md-database_lock +󰪫 nf-md-desktop_tower_monitor +󰪬 nf-md-dishwasher +󰪭 nf-md-dog_service +󰪮 nf-md-dot_net +󰪯 nf-md-egg +󰪰 nf-md-egg_easter +󰪱 nf-md-email_check +󰪲 nf-md-email_check_outline +󰪳 nf-md-et +󰪴 nf-md-expand_all +󰪵 nf-md-expand_all_outline +󰪶 nf-md-file_cabinet +󰪷 nf-md-text_box_multiple +󰪸 nf-md-text_box_multiple_outline +󰪹 nf-md-file_move +󰪺 nf-md-folder_clock +󰪻 nf-md-folder_clock_outline +󰪼 nf-md-format_annotation_minus +󰪽 nf-md-gesture_pinch +󰪾 nf-md-gesture_spread +󰪿 nf-md-gesture_swipe_horizontal +󰫀 nf-md-gesture_swipe_vertical +󰫁 nf-md-hail +󰫂 nf-md-helicopter +󰫃 nf-md-hexagon_slice_1 +󰫄 nf-md-hexagon_slice_2 +󰫅 nf-md-hexagon_slice_3 +󰫆 nf-md-hexagon_slice_4 +󰫇 nf-md-hexagon_slice_5 +󰫈 nf-md-hexagon_slice_6 +󰫉 nf-md-hexagram +󰫊 nf-md-hexagram_outline +󰫋 nf-md-label_off +󰫌 nf-md-label_off_outline +󰫍 nf-md-label_variant +󰫎 nf-md-label_variant_outline +󰫏 nf-md-language_ruby_on_rails +󰫐 nf-md-laravel +󰫑 nf-md-mastodon +󰫒 nf-md-sort_numeric_descending_variant +󰫓 nf-md-minus_circle_multiple_outline +󰫔 nf-md-music_circle_outline +󰫕 nf-md-pinwheel +󰫖 nf-md-pinwheel_outline +󰫗 nf-md-radiator_disabled +󰫘 nf-md-radiator_off +󰫙 nf-md-select_compare +󰫚 nf-md-shield_plus +󰫛 nf-md-shield_plus_outline +󰫜 nf-md-shield_remove +󰫝 nf-md-shield_remove_outline +󰫞 nf-md-book_plus_multiple_outline +󰫟 nf-md-sina_weibo +󰫠 nf-md-spray_bottle +󰫡 nf-md-squeegee +󰫢 nf-md-star_four_points +󰫣 nf-md-star_four_points_outline +󰫤 nf-md-star_three_points +󰫥 nf-md-star_three_points_outline +󰫦 nf-md-symfony +󰫧 nf-md-variable +󰫨 nf-md-vector_bezier +󰫩 nf-md-wiper +󰫪 nf-md-z_wave +󰫫 nf-md-zend +󰫬 nf-md-account_minus_outline +󰫭 nf-md-account_remove_outline +󰫮 nf-md-alpha_a +󰫯 nf-md-alpha_b +󰫰 nf-md-alpha_c +󰫱 nf-md-alpha_d +󰫲 nf-md-alpha_e +󰫳 nf-md-alpha_f +󰫴 nf-md-alpha_g +󰫵 nf-md-alpha_h +󰫶 nf-md-alpha_i +󰫷 nf-md-alpha_j +󰫸 nf-md-alpha_k +󰫹 nf-md-alpha_l +󰫺 nf-md-alpha_m +󰫻 nf-md-alpha_n +󰫼 nf-md-alpha_o +󰫽 nf-md-alpha_p +󰫾 nf-md-alpha_q +󰫿 nf-md-alpha_r +󰬀 nf-md-alpha_s +󰬁 nf-md-alpha_t +󰬂 nf-md-alpha_u +󰬃 nf-md-alpha_v +󰬄 nf-md-alpha_w +󰬅 nf-md-alpha_x +󰬆 nf-md-alpha_y +󰬇 nf-md-alpha_z +󰬈 nf-md-alpha_a_box +󰬉 nf-md-alpha_b_box +󰬊 nf-md-alpha_c_box +󰬋 nf-md-alpha_d_box +󰬌 nf-md-alpha_e_box +󰬍 nf-md-alpha_f_box +󰬎 nf-md-alpha_g_box +󰬏 nf-md-alpha_h_box +󰬐 nf-md-alpha_i_box +󰬑 nf-md-alpha_j_box +󰬒 nf-md-alpha_k_box +󰬓 nf-md-alpha_l_box +󰬔 nf-md-alpha_m_box +󰬕 nf-md-alpha_n_box +󰬖 nf-md-alpha_o_box +󰬗 nf-md-alpha_p_box +󰬘 nf-md-alpha_q_box +󰬙 nf-md-alpha_r_box +󰬚 nf-md-alpha_s_box +󰬛 nf-md-alpha_t_box +󰬜 nf-md-alpha_u_box +󰬝 nf-md-alpha_v_box +󰬞 nf-md-alpha_w_box +󰬟 nf-md-alpha_x_box +󰬠 nf-md-alpha_y_box +󰬡 nf-md-alpha_z_box +󰬢 nf-md-bulldozer +󰬣 nf-md-bullhorn_outline +󰬤 nf-md-calendar_export +󰬥 nf-md-calendar_import +󰬦 nf-md-chevron_down_circle +󰬧 nf-md-chevron_down_circle_outline +󰬨 nf-md-chevron_left_circle +󰬩 nf-md-chevron_left_circle_outline +󰬪 nf-md-chevron_right_circle +󰬫 nf-md-chevron_right_circle_outline +󰬬 nf-md-chevron_up_circle +󰬭 nf-md-chevron_up_circle_outline +󰬮 nf-md-content_save_settings_outline +󰬯 nf-md-crystal_ball +󰬰 nf-md-ember +󰬱 nf-md-facebook_workplace +󰬲 nf-md-file_replace +󰬳 nf-md-file_replace_outline +󰬴 nf-md-format_letter_case +󰬵 nf-md-format_letter_case_lower +󰬶 nf-md-format_letter_case_upper +󰬷 nf-md-language_java +󰬸 nf-md-circle_multiple +󰬺 nf-md-numeric_1 +󰬻 nf-md-numeric_2 +󰬼 nf-md-numeric_3 +󰬽 nf-md-numeric_4 +󰬾 nf-md-numeric_5 +󰬿 nf-md-numeric_6 +󰭀 nf-md-numeric_7 +󰭁 nf-md-numeric_8 +󰭂 nf-md-numeric_9 +󰭃 nf-md-origin +󰭄 nf-md-resistor +󰭅 nf-md-resistor_nodes +󰭆 nf-md-robot_industrial +󰭇 nf-md-shoe_formal +󰭈 nf-md-shoe_heel +󰭉 nf-md-silo +󰭊 nf-md-box_cutter_off +󰭋 nf-md-tab_minus +󰭌 nf-md-tab_remove +󰭍 nf-md-tape_measure +󰭎 nf-md-telescope +󰭏 nf-md-yahoo +󰭐 nf-md-account_alert_outline +󰭑 nf-md-account_arrow_left +󰭒 nf-md-account_arrow_left_outline +󰭓 nf-md-account_arrow_right +󰭔 nf-md-account_arrow_right_outline +󰭕 nf-md-account_circle_outline +󰭖 nf-md-account_clock +󰭗 nf-md-account_clock_outline +󰭘 nf-md-account_group_outline +󰭙 nf-md-account_question +󰭚 nf-md-account_question_outline +󰭛 nf-md-artstation +󰭜 nf-md-backspace_outline +󰭝 nf-md-barley_off +󰭞 nf-md-barn +󰭟 nf-md-bat +󰭠 nf-md-application_settings +󰭡 nf-md-billiards +󰭢 nf-md-billiards_rack +󰭣 nf-md-book_open_outline +󰭤 nf-md-book_outline +󰭥 nf-md-boxing_glove +󰭦 nf-md-calendar_blank_outline +󰭧 nf-md-calendar_outline +󰭨 nf-md-calendar_range_outline +󰭩 nf-md-camera_control +󰭪 nf-md-camera_enhance_outline +󰭫 nf-md-car_door +󰭬 nf-md-car_electric +󰭭 nf-md-car_key +󰭮 nf-md-car_multiple +󰭯 nf-md-card +󰭰 nf-md-card_bulleted +󰭱 nf-md-card_bulleted_off +󰭲 nf-md-card_bulleted_off_outline +󰭳 nf-md-card_bulleted_outline +󰭴 nf-md-card_bulleted_settings +󰭵 nf-md-card_bulleted_settings_outline +󰭶 nf-md-card_outline +󰭷 nf-md-card_text +󰭸 nf-md-card_text_outline +󰭹 nf-md-chat +󰭺 nf-md-chat_alert +󰭻 nf-md-chat_processing +󰭼 nf-md-chef_hat +󰭽 nf-md-cloud_download_outline +󰭾 nf-md-cloud_upload_outline +󰭿 nf-md-coffin +󰮀 nf-md-compass_off +󰮁 nf-md-compass_off_outline +󰮂 nf-md-controller_classic +󰮃 nf-md-controller_classic_outline +󰮄 nf-md-cube_scan +󰮅 nf-md-currency_brl +󰮆 nf-md-database_edit +󰮇 nf-md-deathly_hallows +󰮈 nf-md-delete_circle_outline +󰮉 nf-md-delete_forever_outline +󰮊 nf-md-diamond +󰮋 nf-md-diamond_outline +󰮌 nf-md-dns_outline +󰮍 nf-md-dots_horizontal_circle_outline +󰮎 nf-md-dots_vertical_circle_outline +󰮏 nf-md-download_outline +󰮐 nf-md-drag_variant +󰮑 nf-md-eject_outline +󰮒 nf-md-email_mark_as_unread +󰮓 nf-md-export_variant +󰮔 nf-md-eye_circle +󰮕 nf-md-eye_circle_outline +󰮖 nf-md-face_man_outline +󰮗 nf-md-file_find_outline +󰮘 nf-md-file_remove +󰮙 nf-md-flag_minus +󰮚 nf-md-flag_plus +󰮛 nf-md-flag_remove +󰮜 nf-md-folder_account_outline +󰮝 nf-md-folder_plus_outline +󰮞 nf-md-folder_remove_outline +󰮟 nf-md-folder_star_outline +󰮠 nf-md-gitlab +󰮡 nf-md-gog +󰮢 nf-md-grave_stone +󰮣 nf-md-halloween +󰮤 nf-md-hat_fedora +󰮥 nf-md-help_rhombus +󰮦 nf-md-help_rhombus_outline +󰮧 nf-md-home_variant_outline +󰮨 nf-md-inbox_multiple_outline +󰮩 nf-md-library_shelves +󰮪 nf-md-mapbox +󰮫 nf-md-menu_open +󰮬 nf-md-molecule +󰮭 nf-md-one_up +󰮮 nf-md-open_source_initiative +󰮯 nf-md-pac_man +󰮰 nf-md-page_next +󰮱 nf-md-page_next_outline +󰮲 nf-md-page_previous +󰮳 nf-md-page_previous_outline +󰮴 nf-md-pan +󰮵 nf-md-pan_bottom_left +󰮶 nf-md-pan_bottom_right +󰮷 nf-md-pan_down +󰮸 nf-md-pan_horizontal +󰮹 nf-md-pan_left +󰮺 nf-md-pan_right +󰮻 nf-md-pan_top_left +󰮼 nf-md-pan_top_right +󰮽 nf-md-pan_up +󰮾 nf-md-pan_vertical +󰮿 nf-md-pumpkin +󰯀 nf-md-rollupjs +󰯁 nf-md-script +󰯂 nf-md-script_text +󰯃 nf-md-script_text_outline +󰯄 nf-md-shield_key +󰯅 nf-md-shield_key_outline +󰯆 nf-md-skull_crossbones +󰯇 nf-md-skull_crossbones_outline +󰯈 nf-md-skull_outline +󰯉 nf-md-space_invaders +󰯊 nf-md-spider_web +󰯋 nf-md-view_split_horizontal +󰯌 nf-md-view_split_vertical +󰯍 nf-md-swap_horizontal_bold +󰯎 nf-md-swap_vertical_bold +󰯏 nf-md-tag_heart_outline +󰯐 nf-md-target_account +󰯑 nf-md-timeline +󰯒 nf-md-timeline_outline +󰯓 nf-md-timeline_text +󰯔 nf-md-timeline_text_outline +󰯕 nf-md-tooltip_image_outline +󰯖 nf-md-tooltip_plus +󰯗 nf-md-tooltip_text_outline +󰯘 nf-md-train_car +󰯙 nf-md-triforce +󰯚 nf-md-ubisoft +󰯛 nf-md-video_off_outline +󰯜 nf-md-video_outline +󰯝 nf-md-wallet_outline +󰯞 nf-md-waze +󰯟 nf-md-wrap_disabled +󰯠 nf-md-wrench_outline +󰯡 nf-md-access_point_network_off +󰯢 nf-md-account_check_outline +󰯣 nf-md-account_heart_outline +󰯤 nf-md-account_key_outline +󰯥 nf-md-account_multiple_minus_outline +󰯦 nf-md-account_network_outline +󰯧 nf-md-account_off_outline +󰯨 nf-md-account_star_outline +󰯩 nf-md-airbag +󰯪 nf-md-alarm_light_outline +󰯫 nf-md-alpha_a_box_outline +󰯬 nf-md-alpha_a_circle +󰯭 nf-md-alpha_a_circle_outline +󰯮 nf-md-alpha_b_box_outline +󰯯 nf-md-alpha_b_circle +󰯰 nf-md-alpha_b_circle_outline +󰯱 nf-md-alpha_c_box_outline +󰯲 nf-md-alpha_c_circle +󰯳 nf-md-alpha_c_circle_outline +󰯴 nf-md-alpha_d_box_outline +󰯵 nf-md-alpha_d_circle +󰯶 nf-md-alpha_d_circle_outline +󰯷 nf-md-alpha_e_box_outline +󰯸 nf-md-alpha_e_circle +󰯹 nf-md-alpha_e_circle_outline +󰯺 nf-md-alpha_f_box_outline +󰯻 nf-md-alpha_f_circle +󰯼 nf-md-alpha_f_circle_outline +󰯽 nf-md-alpha_g_box_outline +󰯾 nf-md-alpha_g_circle +󰯿 nf-md-alpha_g_circle_outline +󰰀 nf-md-alpha_h_box_outline +󰰁 nf-md-alpha_h_circle +󰰂 nf-md-alpha_h_circle_outline +󰰃 nf-md-alpha_i_box_outline +󰰄 nf-md-alpha_i_circle +󰰅 nf-md-alpha_i_circle_outline +󰰆 nf-md-alpha_j_box_outline +󰰇 nf-md-alpha_j_circle +󰰈 nf-md-alpha_j_circle_outline +󰰉 nf-md-alpha_k_box_outline +󰰊 nf-md-alpha_k_circle +󰰋 nf-md-alpha_k_circle_outline +󰰌 nf-md-alpha_l_box_outline +󰰍 nf-md-alpha_l_circle +󰰎 nf-md-alpha_l_circle_outline +󰰏 nf-md-alpha_m_box_outline +󰰐 nf-md-alpha_m_circle +󰰑 nf-md-alpha_m_circle_outline +󰰒 nf-md-alpha_n_box_outline +󰰓 nf-md-alpha_n_circle +󰰔 nf-md-alpha_n_circle_outline +󰰕 nf-md-alpha_o_box_outline +󰰖 nf-md-alpha_o_circle +󰰗 nf-md-alpha_o_circle_outline +󰰘 nf-md-alpha_p_box_outline +󰰙 nf-md-alpha_p_circle +󰰚 nf-md-alpha_p_circle_outline +󰰛 nf-md-alpha_q_box_outline +󰰜 nf-md-alpha_q_circle +󰰝 nf-md-alpha_q_circle_outline +󰰞 nf-md-alpha_r_box_outline +󰰟 nf-md-alpha_r_circle +󰰠 nf-md-alpha_r_circle_outline +󰰡 nf-md-alpha_s_box_outline +󰰢 nf-md-alpha_s_circle +󰰣 nf-md-alpha_s_circle_outline +󰰤 nf-md-alpha_t_box_outline +󰰥 nf-md-alpha_t_circle +󰰦 nf-md-alpha_t_circle_outline +󰰧 nf-md-alpha_u_box_outline +󰰨 nf-md-alpha_u_circle +󰰩 nf-md-alpha_u_circle_outline +󰰪 nf-md-alpha_v_box_outline +󰰫 nf-md-alpha_v_circle +󰰬 nf-md-alpha_v_circle_outline +󰰭 nf-md-alpha_w_box_outline +󰰮 nf-md-alpha_w_circle +󰰯 nf-md-alpha_w_circle_outline +󰰰 nf-md-alpha_x_box_outline +󰰱 nf-md-alpha_x_circle +󰰲 nf-md-alpha_x_circle_outline +󰰳 nf-md-alpha_y_box_outline +󰰴 nf-md-alpha_y_circle +󰰵 nf-md-alpha_y_circle_outline +󰰶 nf-md-alpha_z_box_outline +󰰷 nf-md-alpha_z_circle +󰰸 nf-md-alpha_z_circle_outline +󰰹 nf-md-ballot_recount +󰰺 nf-md-ballot_recount_outline +󰰻 nf-md-basketball_hoop +󰰼 nf-md-basketball_hoop_outline +󰰽 nf-md-briefcase_download_outline +󰰾 nf-md-briefcase_edit_outline +󰰿 nf-md-briefcase_minus_outline +󰱀 nf-md-briefcase_plus_outline +󰱁 nf-md-briefcase_remove_outline +󰱂 nf-md-briefcase_search_outline +󰱃 nf-md-briefcase_upload_outline +󰱄 nf-md-calendar_check_outline +󰱅 nf-md-calendar_remove_outline +󰱆 nf-md-calendar_text_outline +󰱇 nf-md-car_brake_abs +󰱈 nf-md-car_brake_alert +󰱉 nf-md-car_esp +󰱊 nf-md-car_light_dimmed +󰱋 nf-md-car_light_fog +󰱌 nf-md-car_light_high +󰱍 nf-md-car_tire_alert +󰱎 nf-md-cart_arrow_right +󰱏 nf-md-charity +󰱐 nf-md-chart_bell_curve +󰱑 nf-md-checkbox_multiple_outline +󰱒 nf-md-checkbox_outline +󰱓 nf-md-check_network +󰱔 nf-md-check_network_outline +󰱕 nf-md-clipboard_account_outline +󰱖 nf-md-clipboard_arrow_down_outline +󰱗 nf-md-clipboard_arrow_up +󰱘 nf-md-clipboard_arrow_up_outline +󰱙 nf-md-clipboard_play +󰱚 nf-md-clipboard_play_outline +󰱛 nf-md-clipboard_text_play +󰱜 nf-md-clipboard_text_play_outline +󰱝 nf-md-close_box_multiple +󰱞 nf-md-close_box_multiple_outline +󰱟 nf-md-close_network_outline +󰱠 nf-md-console_network_outline +󰱡 nf-md-currency_ils +󰱢 nf-md-delete_sweep_outline +󰱣 nf-md-diameter +󰱤 nf-md-diameter_outline +󰱥 nf-md-diameter_variant +󰱦 nf-md-download_network_outline +󰱧 nf-md-dump_truck +󰱨 nf-md-emoticon +󰱩 nf-md-emoticon_angry +󰱪 nf-md-emoticon_angry_outline +󰱫 nf-md-emoticon_cool +󰱬 nf-md-emoticon_cry +󰱭 nf-md-emoticon_cry_outline +󰱮 nf-md-emoticon_dead +󰱯 nf-md-emoticon_devil +󰱰 nf-md-emoticon_excited +󰱱 nf-md-emoticon_happy +󰱲 nf-md-emoticon_kiss +󰱳 nf-md-emoticon_kiss_outline +󰱴 nf-md-emoticon_neutral +󰱵 nf-md-emoticon_poop_outline +󰱶 nf-md-emoticon_sad +󰱷 nf-md-emoticon_tongue_outline +󰱸 nf-md-emoticon_wink +󰱹 nf-md-emoticon_wink_outline +󰱺 nf-md-eslint +󰱻 nf-md-face_recognition +󰱼 nf-md-file_search +󰱽 nf-md-file_search_outline +󰱾 nf-md-file_table +󰱿 nf-md-file_table_outline +󰲀 nf-md-folder_key_network_outline +󰲁 nf-md-folder_network_outline +󰲂 nf-md-folder_text +󰲃 nf-md-folder_text_outline +󰲄 nf-md-food_apple_outline +󰲅 nf-md-fuse +󰲆 nf-md-fuse_blade +󰲇 nf-md-google_ads +󰲈 nf-md-google_street_view +󰲉 nf-md-hazard_lights +󰲊 nf-md-help_network_outline +󰲋 nf-md-application_brackets +󰲌 nf-md-application_brackets_outline +󰲍 nf-md-image_size_select_actual +󰲎 nf-md-image_size_select_large +󰲏 nf-md-image_size_select_small +󰲐 nf-md-ip_network_outline +󰲑 nf-md-ipod +󰲒 nf-md-language_haskell +󰲓 nf-md-leaf_maple +󰲔 nf-md-link_plus +󰲕 nf-md-map_marker_check +󰲖 nf-md-math_cos +󰲗 nf-md-math_sin +󰲘 nf-md-math_tan +󰲙 nf-md-microwave +󰲚 nf-md-minus_network_outline +󰲛 nf-md-network_off +󰲜 nf-md-network_off_outline +󰲝 nf-md-network_outline +󰲠 nf-md-numeric_1_circle +󰲡 nf-md-numeric_1_circle_outline +󰲢 nf-md-numeric_2_circle +󰲣 nf-md-numeric_2_circle_outline +󰲤 nf-md-numeric_3_circle +󰲥 nf-md-numeric_3_circle_outline +󰲦 nf-md-numeric_4_circle +󰲧 nf-md-numeric_4_circle_outline +󰲨 nf-md-numeric_5_circle +󰲩 nf-md-numeric_5_circle_outline +󰲪 nf-md-numeric_6_circle +󰲫 nf-md-numeric_6_circle_outline +󰲬 nf-md-numeric_7_circle +󰲭 nf-md-numeric_7_circle_outline +󰲮 nf-md-numeric_8_circle +󰲯 nf-md-numeric_8_circle_outline +󰲰 nf-md-numeric_9_circle +󰲱 nf-md-numeric_9_circle_outline +󰲲 nf-md-numeric_9_plus_circle +󰲳 nf-md-numeric_9_plus_circle_outline +󰲴 nf-md-parachute +󰲵 nf-md-parachute_outline +󰲶 nf-md-pencil_outline +󰲷 nf-md-play_network_outline +󰲸 nf-md-playlist_music +󰲹 nf-md-playlist_music_outline +󰲺 nf-md-plus_network_outline +󰲻 nf-md-postage_stamp +󰲼 nf-md-progress_alert +󰲽 nf-md-progress_wrench +󰲾 nf-md-radio_am +󰲿 nf-md-radio_fm +󰳀 nf-md-radius +󰳁 nf-md-radius_outline +󰳂 nf-md-ruler_square +󰳃 nf-md-seat +󰳄 nf-md-seat_outline +󰳅 nf-md-seatbelt +󰳆 nf-md-sheep +󰳇 nf-md-shield_airplane_outline +󰳈 nf-md-shield_check_outline +󰳉 nf-md-shield_cross +󰳊 nf-md-shield_cross_outline +󰳋 nf-md-shield_home_outline +󰳌 nf-md-shield_lock_outline +󰳍 nf-md-sort_variant_lock +󰳎 nf-md-sort_variant_lock_open +󰳏 nf-md-source_repository +󰳐 nf-md-source_repository_multiple +󰳑 nf-md-spa +󰳒 nf-md-spa_outline +󰳓 nf-md-toaster_oven +󰳔 nf-md-truck_check +󰳕 nf-md-turnstile +󰳖 nf-md-turnstile_outline +󰳗 nf-md-turtle +󰳘 nf-md-upload_network_outline +󰳙 nf-md-vibrate_off +󰳚 nf-md-watch_vibrate_off +󰳛 nf-md-arrow_down_circle +󰳜 nf-md-arrow_down_circle_outline +󰳝 nf-md-arrow_left_circle +󰳞 nf-md-arrow_left_circle_outline +󰳟 nf-md-arrow_right_circle +󰳠 nf-md-arrow_right_circle_outline +󰳡 nf-md-arrow_up_circle +󰳢 nf-md-arrow_up_circle_outline +󰳣 nf-md-account_tie +󰳤 nf-md-alert_box_outline +󰳥 nf-md-alert_decagram_outline +󰳦 nf-md-alert_octagon_outline +󰳧 nf-md-alert_octagram_outline +󰳨 nf-md-ammunition +󰳩 nf-md-account_music_outline +󰳪 nf-md-beaker +󰳫 nf-md-blender +󰳬 nf-md-blood_bag +󰳭 nf-md-cross_bolnisi +󰳮 nf-md-bread_slice +󰳯 nf-md-bread_slice_outline +󰳰 nf-md-briefcase_account +󰳱 nf-md-briefcase_account_outline +󰳲 nf-md-brightness_percent +󰳳 nf-md-bullet +󰳴 nf-md-cash_register +󰳵 nf-md-cross_celtic +󰳶 nf-md-cross_outline +󰳷 nf-md-clipboard_alert_outline +󰳸 nf-md-clipboard_arrow_left_outline +󰳹 nf-md-clipboard_arrow_right +󰳺 nf-md-clipboard_arrow_right_outline +󰳻 nf-md-content_save_edit +󰳼 nf-md-content_save_edit_outline +󰳽 nf-md-cursor_default_click +󰳾 nf-md-cursor_default_click_outline +󰳿 nf-md-database_sync +󰴀 nf-md-database_remove +󰴁 nf-md-database_settings +󰴂 nf-md-drama_masks +󰴃 nf-md-email_box +󰴄 nf-md-eye_check +󰴅 nf-md-eye_check_outline +󰴆 nf-md-fast_forward_30 +󰴇 nf-md-order_alphabetical_descending +󰴈 nf-md-flower_poppy +󰴉 nf-md-folder_pound +󰴊 nf-md-folder_pound_outline +󰴋 nf-md-folder_sync +󰴌 nf-md-folder_sync_outline +󰴍 nf-md-format_list_numbered_rtl +󰴎 nf-md-format_text_wrapping_clip +󰴏 nf-md-format_text_wrapping_overflow +󰴐 nf-md-format_text_wrapping_wrap +󰴑 nf-md-format_textbox +󰴒 nf-md-fountain_pen +󰴓 nf-md-fountain_pen_tip +󰴔 nf-md-heart_broken_outline +󰴕 nf-md-home_city +󰴖 nf-md-home_city_outline +󰴗 nf-md-hubspot +󰴘 nf-md-filmstrip_box_multiple +󰴙 nf-md-play_box_multiple +󰴚 nf-md-link_box +󰴛 nf-md-link_box_outline +󰴜 nf-md-link_box_variant +󰴝 nf-md-link_box_variant_outline +󰴞 nf-md-map_clock +󰴟 nf-md-map_clock_outline +󰴠 nf-md-map_marker_path +󰴡 nf-md-mother_nurse +󰴢 nf-md-microsoft_outlook +󰴣 nf-md-perspective_less +󰴤 nf-md-perspective_more +󰴥 nf-md-podium +󰴦 nf-md-podium_bronze +󰴧 nf-md-podium_gold +󰴨 nf-md-podium_silver +󰴩 nf-md-quora +󰴪 nf-md-rewind_10 +󰴫 nf-md-roller_skate +󰴬 nf-md-rollerblade +󰴭 nf-md-language_ruby +󰴮 nf-md-sack +󰴯 nf-md-sack_percent +󰴰 nf-md-safety_goggles +󰴱 nf-md-select_color +󰴲 nf-md-selection_ellipse +󰴳 nf-md-shield_link_variant +󰴴 nf-md-shield_link_variant_outline +󰴵 nf-md-skate +󰴶 nf-md-skew_less +󰴷 nf-md-skew_more +󰴸 nf-md-speaker_multiple +󰴹 nf-md-stamper +󰴺 nf-md-tank +󰴻 nf-md-tortoise +󰴼 nf-md-transit_connection +󰴽 nf-md-transit_connection_variant +󰴾 nf-md-transmission_tower +󰴿 nf-md-weight_gram +󰵀 nf-md-youtube_subscription +󰵁 nf-md-zigbee +󰵂 nf-md-email_alert_outline +󰵃 nf-md-air_filter +󰵄 nf-md-air_purifier +󰵅 nf-md-android_messages +󰵆 nf-md-apps_box +󰵇 nf-md-atm +󰵈 nf-md-axis +󰵉 nf-md-axis_arrow +󰵊 nf-md-axis_arrow_lock +󰵋 nf-md-axis_lock +󰵌 nf-md-axis_x_arrow +󰵍 nf-md-axis_x_arrow_lock +󰵎 nf-md-axis_x_rotate_clockwise +󰵏 nf-md-axis_x_rotate_counterclockwise +󰵐 nf-md-axis_x_y_arrow_lock +󰵑 nf-md-axis_y_arrow +󰵒 nf-md-axis_y_arrow_lock +󰵓 nf-md-axis_y_rotate_clockwise +󰵔 nf-md-axis_y_rotate_counterclockwise +󰵕 nf-md-axis_z_arrow +󰵖 nf-md-axis_z_arrow_lock +󰵗 nf-md-axis_z_rotate_clockwise +󰵘 nf-md-axis_z_rotate_counterclockwise +󰵙 nf-md-bell_alert +󰵚 nf-md-bell_circle +󰵛 nf-md-bell_circle_outline +󰵜 nf-md-calendar_minus +󰵝 nf-md-camera_outline +󰵞 nf-md-car_brake_hold +󰵟 nf-md-car_brake_parking +󰵠 nf-md-car_cruise_control +󰵡 nf-md-car_defrost_front +󰵢 nf-md-car_defrost_rear +󰵣 nf-md-car_parking_lights +󰵤 nf-md-car_traction_control +󰵥 nf-md-bag_carry_on_check +󰵦 nf-md-cart_arrow_down +󰵧 nf-md-cart_arrow_up +󰵨 nf-md-cart_minus +󰵩 nf-md-cart_remove +󰵪 nf-md-contactless_payment +󰵫 nf-md-creative_commons +󰵬 nf-md-credit_card_wireless_outline +󰵭 nf-md-cricket +󰵮 nf-md-dev_to +󰵯 nf-md-domain_off +󰵰 nf-md-face_agent +󰵱 nf-md-fast_forward_10 +󰵲 nf-md-flare +󰵳 nf-md-format_text_rotation_down +󰵴 nf-md-format_text_rotation_none +󰵵 nf-md-forwardburger +󰵶 nf-md-gesture_swipe +󰵷 nf-md-gesture_tap_hold +󰵸 nf-md-file_gif_box +󰵹 nf-md-go_kart +󰵺 nf-md-go_kart_track +󰵻 nf-md-goodreads +󰵼 nf-md-grain +󰵽 nf-md-hdr +󰵾 nf-md-hdr_off +󰵿 nf-md-hiking +󰶀 nf-md-home_floor_1 +󰶁 nf-md-home_floor_2 +󰶂 nf-md-home_floor_3 +󰶃 nf-md-home_floor_a +󰶄 nf-md-home_floor_b +󰶅 nf-md-home_floor_g +󰶆 nf-md-home_floor_l +󰶇 nf-md-kabaddi +󰶈 nf-md-mailbox_open +󰶉 nf-md-mailbox_open_outline +󰶊 nf-md-mailbox_open_up +󰶋 nf-md-mailbox_open_up_outline +󰶌 nf-md-mailbox_outline +󰶍 nf-md-mailbox_up +󰶎 nf-md-mailbox_up_outline +󰶏 nf-md-mixed_martial_arts +󰶐 nf-md-monitor_off +󰶑 nf-md-motion_sensor +󰶒 nf-md-point_of_sale +󰶓 nf-md-racing_helmet +󰶔 nf-md-racquetball +󰶕 nf-md-restart_off +󰶖 nf-md-rewind_30 +󰶗 nf-md-room_service_outline +󰶘 nf-md-rotate_orbit +󰶙 nf-md-rugby +󰶚 nf-md-shield_search +󰶛 nf-md-solar_panel +󰶜 nf-md-solar_panel_large +󰶝 nf-md-subway_alert_variant +󰶞 nf-md-tea +󰶟 nf-md-tea_outline +󰶠 nf-md-tennis +󰶡 nf-md-transfer_down +󰶢 nf-md-transfer_left +󰶣 nf-md-transfer_up +󰶤 nf-md-trophy_broken +󰶥 nf-md-wind_turbine +󰶦 nf-md-wiper_wash +󰶧 nf-md-badge_account +󰶨 nf-md-badge_account_alert +󰶩 nf-md-badge_account_alert_outline +󰶪 nf-md-badge_account_outline +󰶫 nf-md-card_account_details_outline +󰶬 nf-md-air_horn +󰶭 nf-md-application_export +󰶮 nf-md-application_import +󰶯 nf-md-bandage +󰶰 nf-md-bank_minus +󰶱 nf-md-bank_plus +󰶲 nf-md-bank_remove +󰶳 nf-md-bolt +󰶴 nf-md-bugle +󰶵 nf-md-cactus +󰶶 nf-md-camera_wireless +󰶷 nf-md-camera_wireless_outline +󰶸 nf-md-cash_marker +󰶹 nf-md-chevron_triple_down +󰶺 nf-md-chevron_triple_left +󰶻 nf-md-chevron_triple_right +󰶼 nf-md-chevron_triple_up +󰶽 nf-md-closed_caption_outline +󰶾 nf-md-credit_card_marker_outline +󰶿 nf-md-diving_flippers +󰷀 nf-md-diving_helmet +󰷁 nf-md-diving_scuba +󰷂 nf-md-diving_scuba_flag +󰷃 nf-md-diving_scuba_tank +󰷄 nf-md-diving_scuba_tank_multiple +󰷅 nf-md-diving_snorkel +󰷆 nf-md-file_cancel +󰷇 nf-md-file_cancel_outline +󰷈 nf-md-file_document_edit +󰷉 nf-md-file_document_edit_outline +󰷊 nf-md-file_eye +󰷋 nf-md-file_eye_outline +󰷌 nf-md-folder_alert +󰷍 nf-md-folder_alert_outline +󰷎 nf-md-folder_edit_outline +󰷏 nf-md-folder_open_outline +󰷐 nf-md-format_list_bulleted_square +󰷑 nf-md-gantry_crane +󰷒 nf-md-home_floor_0 +󰷓 nf-md-home_floor_negative_1 +󰷔 nf-md-home_group +󰷕 nf-md-jabber +󰷖 nf-md-key_outline +󰷗 nf-md-leak +󰷘 nf-md-leak_off +󰷙 nf-md-marker_cancel +󰷚 nf-md-mine +󰷛 nf-md-monitor_lock +󰷜 nf-md-monitor_star +󰷝 nf-md-movie_outline +󰷞 nf-md-music_note_plus +󰷟 nf-md-nail +󰷠 nf-md-ocarina +󰷡 nf-md-passport_biometric +󰷢 nf-md-pen_lock +󰷣 nf-md-pen_minus +󰷤 nf-md-pen_off +󰷥 nf-md-pen_plus +󰷦 nf-md-pen_remove +󰷧 nf-md-pencil_lock_outline +󰷨 nf-md-pencil_minus +󰷩 nf-md-pencil_minus_outline +󰷪 nf-md-pencil_off_outline +󰷫 nf-md-pencil_plus +󰷬 nf-md-pencil_plus_outline +󰷭 nf-md-pencil_remove +󰷮 nf-md-pencil_remove_outline +󰷯 nf-md-phone_off +󰷰 nf-md-phone_outline +󰷱 nf-md-pi_hole +󰷲 nf-md-playlist_star +󰷳 nf-md-screw_flat_top +󰷴 nf-md-screw_lag +󰷵 nf-md-screw_machine_flat_top +󰷶 nf-md-screw_machine_round_top +󰷷 nf-md-screw_round_top +󰷸 nf-md-send_circle +󰷹 nf-md-send_circle_outline +󰷺 nf-md-shoe_print +󰷻 nf-md-signature +󰷼 nf-md-signature_freehand +󰷽 nf-md-signature_image +󰷾 nf-md-signature_text +󰷿 nf-md-slope_downhill +󰸀 nf-md-slope_uphill +󰸁 nf-md-thermometer_alert +󰸂 nf-md-thermometer_chevron_down +󰸃 nf-md-thermometer_chevron_up +󰸄 nf-md-thermometer_minus +󰸅 nf-md-thermometer_plus +󰸆 nf-md-translate_off +󰸇 nf-md-upload_outline +󰸈 nf-md-volume_variant_off +󰸉 nf-md-wallpaper +󰸊 nf-md-water_outline +󰸋 nf-md-wifi_star +󰸌 nf-md-palette_outline +󰸍 nf-md-badge_account_horizontal +󰸎 nf-md-badge_account_horizontal_outline +󰸏 nf-md-aws +󰸐 nf-md-bag_personal +󰸑 nf-md-bag_personal_off +󰸒 nf-md-bag_personal_off_outline +󰸓 nf-md-bag_personal_outline +󰸔 nf-md-biathlon +󰸕 nf-md-bookmark_multiple +󰸖 nf-md-bookmark_multiple_outline +󰸗 nf-md-calendar_month +󰸘 nf-md-calendar_month_outline +󰸙 nf-md-camera_retake +󰸚 nf-md-camera_retake_outline +󰸛 nf-md-car_back +󰸜 nf-md-car_off +󰸝 nf-md-cast_education +󰸞 nf-md-check_bold +󰸟 nf-md-check_underline +󰸠 nf-md-check_underline_circle +󰸡 nf-md-check_underline_circle_outline +󰸢 nf-md-circular_saw +󰸣 nf-md-comma +󰸤 nf-md-comma_box_outline +󰸥 nf-md-comma_circle +󰸦 nf-md-comma_circle_outline +󰸧 nf-md-content_save_move +󰸨 nf-md-content_save_move_outline +󰸩 nf-md-file_check_outline +󰸪 nf-md-file_music_outline +󰸫 nf-md-comma_box +󰸬 nf-md-file_video_outline +󰸭 nf-md-file_png_box +󰸮 nf-md-fireplace +󰸯 nf-md-fireplace_off +󰸰 nf-md-firework +󰸱 nf-md-format_color_highlight +󰸲 nf-md-format_text_variant +󰸳 nf-md-gamepad_circle +󰸴 nf-md-gamepad_circle_down +󰸵 nf-md-gamepad_circle_left +󰸶 nf-md-gamepad_circle_outline +󰸷 nf-md-gamepad_circle_right +󰸸 nf-md-gamepad_circle_up +󰸹 nf-md-gamepad_down +󰸺 nf-md-gamepad_left +󰸻 nf-md-gamepad_right +󰸼 nf-md-gamepad_round +󰸽 nf-md-gamepad_round_down +󰸾 nf-md-gamepad_round_left +󰸿 nf-md-gamepad_round_outline +󰹀 nf-md-gamepad_round_right +󰹁 nf-md-gamepad_round_up +󰹂 nf-md-gamepad_up +󰹃 nf-md-gatsby +󰹄 nf-md-gift +󰹅 nf-md-grill +󰹆 nf-md-hand_back_left +󰹇 nf-md-hand_back_right +󰹈 nf-md-hand_saw +󰹉 nf-md-image_frame +󰹊 nf-md-invert_colors_off +󰹋 nf-md-keyboard_off_outline +󰹌 nf-md-layers_minus +󰹍 nf-md-layers_plus +󰹎 nf-md-layers_remove +󰹏 nf-md-lightbulb_off +󰹐 nf-md-lightbulb_off_outline +󰹑 nf-md-monitor_screenshot +󰹒 nf-md-ice_cream_off +󰹓 nf-md-nfc_search_variant +󰹔 nf-md-nfc_variant_off +󰹕 nf-md-notebook_multiple +󰹖 nf-md-hoop_house +󰹗 nf-md-picture_in_picture_bottom_right +󰹘 nf-md-picture_in_picture_bottom_right_outline +󰹙 nf-md-picture_in_picture_top_right +󰹚 nf-md-picture_in_picture_top_right_outline +󰹛 nf-md-printer_3d_nozzle +󰹜 nf-md-printer_3d_nozzle_outline +󰹝 nf-md-printer_off +󰹞 nf-md-rectangle +󰹟 nf-md-rectangle_outline +󰹠 nf-md-rivet +󰹡 nf-md-saw_blade +󰹢 nf-md-seed +󰹣 nf-md-seed_outline +󰹤 nf-md-signal_distance_variant +󰹥 nf-md-spade +󰹦 nf-md-sprout +󰹧 nf-md-sprout_outline +󰹨 nf-md-table_tennis +󰹩 nf-md-tree_outline +󰹪 nf-md-view_comfy +󰹫 nf-md-view_compact +󰹬 nf-md-view_compact_outline +󰹭 nf-md-vuetify +󰹮 nf-md-weather_cloudy_arrow_right +󰹯 nf-md-microsoft_xbox_controller_menu +󰹰 nf-md-microsoft_xbox_controller_view +󰹱 nf-md-alarm_note +󰹲 nf-md-alarm_note_off +󰹳 nf-md-arrow_left_right +󰹴 nf-md-arrow_left_right_bold +󰹵 nf-md-arrow_top_left_bottom_right +󰹶 nf-md-arrow_top_left_bottom_right_bold +󰹷 nf-md-arrow_top_right_bottom_left +󰹸 nf-md-arrow_top_right_bottom_left_bold +󰹹 nf-md-arrow_up_down +󰹺 nf-md-arrow_up_down_bold +󰹻 nf-md-atom_variant +󰹼 nf-md-baby_face +󰹽 nf-md-baby_face_outline +󰹾 nf-md-backspace_reverse +󰹿 nf-md-backspace_reverse_outline +󰺀 nf-md-bank_outline +󰺁 nf-md-bell_alert_outline +󰺂 nf-md-book_play +󰺃 nf-md-book_play_outline +󰺄 nf-md-book_search +󰺅 nf-md-book_search_outline +󰺆 nf-md-boom_gate +󰺇 nf-md-boom_gate_alert +󰺈 nf-md-boom_gate_alert_outline +󰺉 nf-md-boom_gate_arrow_down +󰺊 nf-md-boom_gate_arrow_down_outline +󰺋 nf-md-boom_gate_outline +󰺌 nf-md-boom_gate_arrow_up +󰺍 nf-md-boom_gate_arrow_up_outline +󰺎 nf-md-calendar_sync +󰺏 nf-md-calendar_sync_outline +󰺐 nf-md-cellphone_nfc +󰺑 nf-md-chart_areaspline_variant +󰺒 nf-md-chart_scatter_plot +󰺓 nf-md-chart_timeline_variant +󰺔 nf-md-chart_tree +󰺕 nf-md-circle_double +󰺖 nf-md-circle_expand +󰺗 nf-md-clock_digital +󰺘 nf-md-card_account_mail_outline +󰺙 nf-md-card_account_phone +󰺚 nf-md-card_account_phone_outline +󰺛 nf-md-account_cowboy_hat +󰺜 nf-md-currency_rial +󰺝 nf-md-delete_empty_outline +󰺞 nf-md-dolly +󰺟 nf-md-electric_switch +󰺠 nf-md-ellipse +󰺡 nf-md-ellipse_outline +󰺢 nf-md-equalizer +󰺣 nf-md-equalizer_outline +󰺤 nf-md-ferris_wheel +󰺥 nf-md-file_delimited_outline +󰺦 nf-md-text_box_check +󰺧 nf-md-text_box_check_outline +󰺨 nf-md-text_box_minus +󰺩 nf-md-text_box_minus_outline +󰺪 nf-md-text_box_plus +󰺫 nf-md-text_box_plus_outline +󰺬 nf-md-text_box_remove +󰺭 nf-md-text_box_remove_outline +󰺮 nf-md-text_box_search +󰺯 nf-md-text_box_search_outline +󰺰 nf-md-file_image_outline +󰺱 nf-md-fingerprint_off +󰺲 nf-md-format_list_bulleted_triangle +󰺳 nf-md-format_overline +󰺴 nf-md-frequently_asked_questions +󰺵 nf-md-gamepad_square +󰺶 nf-md-gamepad_square_outline +󰺷 nf-md-gamepad_variant_outline +󰺸 nf-md-gas_station_outline +󰺹 nf-md-google_podcast +󰺺 nf-md-home_analytics +󰺻 nf-md-mail +󰺼 nf-md-map_check +󰺽 nf-md-map_check_outline +󰺾 nf-md-ruler_square_compass +󰺿 nf-md-notebook_outline +󰻀 nf-md-penguin +󰻁 nf-md-radioactive_off +󰻂 nf-md-record_circle +󰻃 nf-md-record_circle_outline +󰻄 nf-md-remote_off +󰻅 nf-md-remote_tv +󰻆 nf-md-remote_tv_off +󰻇 nf-md-rotate_3d +󰻈 nf-md-sail_boat +󰻉 nf-md-scatter_plot +󰻊 nf-md-scatter_plot_outline +󰻋 nf-md-segment +󰻌 nf-md-shield_alert +󰻍 nf-md-shield_alert_outline +󰻎 nf-md-tablet_dashboard +󰻏 nf-md-television_play +󰻐 nf-md-unicode +󰻑 nf-md-video_3d_variant +󰻒 nf-md-video_wireless +󰻓 nf-md-video_wireless_outline +󰻔 nf-md-account_voice_off +󰻕 nf-md-bacteria +󰻖 nf-md-bacteria_outline +󰻗 nf-md-calendar_account +󰻘 nf-md-calendar_account_outline +󰻙 nf-md-calendar_weekend +󰻚 nf-md-calendar_weekend_outline +󰻛 nf-md-camera_plus +󰻜 nf-md-camera_plus_outline +󰻝 nf-md-campfire +󰻞 nf-md-chat_outline +󰻟 nf-md-cpu_32_bit +󰻠 nf-md-cpu_64_bit +󰻡 nf-md-credit_card_clock +󰻢 nf-md-credit_card_clock_outline +󰻣 nf-md-email_edit +󰻤 nf-md-email_edit_outline +󰻥 nf-md-email_minus +󰻦 nf-md-email_minus_outline +󰻧 nf-md-email_multiple +󰻨 nf-md-email_multiple_outline +󰻩 nf-md-email_open_multiple +󰻪 nf-md-email_open_multiple_outline +󰻫 nf-md-file_cad +󰻬 nf-md-file_cad_box +󰻭 nf-md-file_plus_outline +󰻮 nf-md-filter_minus +󰻯 nf-md-filter_minus_outline +󰻰 nf-md-filter_plus +󰻱 nf-md-filter_plus_outline +󰻲 nf-md-fire_extinguisher +󰻳 nf-md-fishbowl +󰻴 nf-md-fishbowl_outline +󰻵 nf-md-fit_to_page +󰻶 nf-md-fit_to_page_outline +󰻷 nf-md-flash_alert +󰻸 nf-md-flash_alert_outline +󰻹 nf-md-heart_flash +󰻺 nf-md-home_flood +󰻻 nf-md-human_male_height +󰻼 nf-md-human_male_height_variant +󰻽 nf-md-ice_pop +󰻾 nf-md-identifier +󰻿 nf-md-image_filter_center_focus_strong +󰼀 nf-md-image_filter_center_focus_strong_outline +󰼁 nf-md-jellyfish +󰼂 nf-md-jellyfish_outline +󰼃 nf-md-lasso +󰼄 nf-md-music_box_multiple_outline +󰼅 nf-md-map_marker_alert +󰼆 nf-md-map_marker_alert_outline +󰼇 nf-md-map_marker_question +󰼈 nf-md-map_marker_question_outline +󰼉 nf-md-map_marker_remove +󰼊 nf-md-map_marker_remove_variant +󰼋 nf-md-necklace +󰼌 nf-md-newspaper_minus +󰼍 nf-md-newspaper_plus +󰼎 nf-md-numeric_0_box_multiple +󰼏 nf-md-numeric_1_box_multiple +󰼐 nf-md-numeric_2_box_multiple +󰼑 nf-md-numeric_3_box_multiple +󰼒 nf-md-numeric_4_box_multiple +󰼓 nf-md-numeric_5_box_multiple +󰼔 nf-md-numeric_6_box_multiple +󰼕 nf-md-numeric_7_box_multiple +󰼖 nf-md-numeric_8_box_multiple +󰼗 nf-md-numeric_9_box_multiple +󰼘 nf-md-numeric_9_plus_box_multiple +󰼙 nf-md-oil_lamp +󰼚 nf-md-phone_alert +󰼛 nf-md-play_outline +󰼜 nf-md-purse +󰼝 nf-md-purse_outline +󰼞 nf-md-railroad_light +󰼟 nf-md-reply_all_outline +󰼠 nf-md-reply_outline +󰼡 nf-md-rss_off +󰼢 nf-md-selection_ellipse_arrow_inside +󰼣 nf-md-share_off +󰼤 nf-md-share_off_outline +󰼥 nf-md-skip_backward_outline +󰼦 nf-md-skip_forward_outline +󰼧 nf-md-skip_next_outline +󰼨 nf-md-skip_previous_outline +󰼩 nf-md-snowflake_alert +󰼪 nf-md-snowflake_variant +󰼫 nf-md-stretch_to_page +󰼬 nf-md-stretch_to_page_outline +󰼭 nf-md-typewriter +󰼮 nf-md-wave +󰼯 nf-md-weather_cloudy_alert +󰼰 nf-md-weather_hazy +󰼱 nf-md-weather_night_partly_cloudy +󰼲 nf-md-weather_partly_lightning +󰼳 nf-md-weather_partly_rainy +󰼴 nf-md-weather_partly_snowy +󰼵 nf-md-weather_partly_snowy_rainy +󰼶 nf-md-weather_snowy_heavy +󰼷 nf-md-weather_sunny_alert +󰼸 nf-md-weather_tornado +󰼹 nf-md-baby_bottle +󰼺 nf-md-baby_bottle_outline +󰼻 nf-md-bag_carry_on +󰼼 nf-md-bag_carry_on_off +󰼽 nf-md-bag_checked +󰼾 nf-md-baguette +󰼿 nf-md-bus_multiple +󰽀 nf-md-car_shift_pattern +󰽁 nf-md-cellphone_information +󰽂 nf-md-content_save_alert +󰽃 nf-md-content_save_alert_outline +󰽄 nf-md-content_save_all_outline +󰽅 nf-md-crosshairs_off +󰽆 nf-md-cupboard +󰽇 nf-md-cupboard_outline +󰽈 nf-md-chair_rolling +󰽉 nf-md-draw +󰽊 nf-md-dresser +󰽋 nf-md-dresser_outline +󰽌 nf-md-emoticon_frown +󰽍 nf-md-emoticon_frown_outline +󰽎 nf-md-focus_auto +󰽏 nf-md-focus_field +󰽐 nf-md-focus_field_horizontal +󰽑 nf-md-focus_field_vertical +󰽒 nf-md-foot_print +󰽓 nf-md-handball +󰽔 nf-md-home_thermometer +󰽕 nf-md-home_thermometer_outline +󰽖 nf-md-kettle_outline +󰽗 nf-md-latitude +󰽘 nf-md-layers_triple +󰽙 nf-md-layers_triple_outline +󰽚 nf-md-longitude +󰽛 nf-md-language_markdown_outline +󰽜 nf-md-merge +󰽝 nf-md-middleware +󰽞 nf-md-middleware_outline +󰽟 nf-md-monitor_speaker +󰽠 nf-md-monitor_speaker_off +󰽡 nf-md-moon_first_quarter +󰽢 nf-md-moon_full +󰽣 nf-md-moon_last_quarter +󰽤 nf-md-moon_new +󰽥 nf-md-moon_waning_crescent +󰽦 nf-md-moon_waning_gibbous +󰽧 nf-md-moon_waxing_crescent +󰽨 nf-md-moon_waxing_gibbous +󰽩 nf-md-music_accidental_double_flat +󰽪 nf-md-music_accidental_double_sharp +󰽫 nf-md-music_accidental_flat +󰽬 nf-md-music_accidental_natural +󰽭 nf-md-music_accidental_sharp +󰽮 nf-md-music_clef_alto +󰽯 nf-md-music_clef_bass +󰽰 nf-md-music_clef_treble +󰽱 nf-md-music_note_eighth_dotted +󰽲 nf-md-music_note_half_dotted +󰽳 nf-md-music_note_off_outline +󰽴 nf-md-music_note_outline +󰽵 nf-md-music_note_quarter_dotted +󰽶 nf-md-music_note_sixteenth_dotted +󰽷 nf-md-music_note_whole_dotted +󰽸 nf-md-music_rest_eighth +󰽹 nf-md-music_rest_half +󰽺 nf-md-music_rest_quarter +󰽻 nf-md-music_rest_sixteenth +󰽼 nf-md-music_rest_whole +󰽽 nf-md-numeric_10_box +󰽾 nf-md-numeric_10_box_outline +󰽿 nf-md-page_layout_header_footer +󰾀 nf-md-patio_heater +󰾁 nf-md-warehouse +󰾂 nf-md-select_group +󰾃 nf-md-shield_car +󰾄 nf-md-shopping_search +󰾅 nf-md-speedometer_medium +󰾆 nf-md-speedometer_slow +󰾇 nf-md-table_large_plus +󰾈 nf-md-table_large_remove +󰾉 nf-md-television_pause +󰾊 nf-md-television_stop +󰾋 nf-md-transit_detour +󰾌 nf-md-video_input_scart +󰾍 nf-md-view_grid_plus +󰾎 nf-md-wallet_plus +󰾏 nf-md-wallet_plus_outline +󰾐 nf-md-wardrobe +󰾑 nf-md-wardrobe_outline +󰾒 nf-md-water_boiler +󰾓 nf-md-water_pump_off +󰾔 nf-md-web_box +󰾕 nf-md-timeline_alert +󰾖 nf-md-timeline_plus +󰾗 nf-md-timeline_plus_outline +󰾘 nf-md-timeline_alert_outline +󰾙 nf-md-timeline_help +󰾚 nf-md-timeline_help_outline +󰾛 nf-md-home_export_outline +󰾜 nf-md-home_import_outline +󰾝 nf-md-account_filter_outline +󰾞 nf-md-approximately_equal +󰾟 nf-md-approximately_equal_box +󰾠 nf-md-baby_carriage_off +󰾡 nf-md-bee +󰾢 nf-md-bee_flower +󰾣 nf-md-car_child_seat +󰾤 nf-md-car_seat +󰾥 nf-md-car_seat_cooler +󰾦 nf-md-car_seat_heater +󰾧 nf-md-chart_bell_curve_cumulative +󰾨 nf-md-clock_check +󰾩 nf-md-clock_check_outline +󰾪 nf-md-coffee_off +󰾫 nf-md-coffee_off_outline +󰾬 nf-md-credit_card_minus +󰾭 nf-md-credit_card_minus_outline +󰾮 nf-md-credit_card_remove +󰾯 nf-md-credit_card_remove_outline +󰾰 nf-md-devices +󰾱 nf-md-email_newsletter +󰾲 nf-md-expansion_card_variant +󰾳 nf-md-power_socket_ch +󰾴 nf-md-file_swap +󰾵 nf-md-file_swap_outline +󰾶 nf-md-folder_swap +󰾷 nf-md-folder_swap_outline +󰾸 nf-md-format_letter_ends_with +󰾹 nf-md-format_letter_matches +󰾺 nf-md-format_letter_starts_with +󰾻 nf-md-format_text_rotation_angle_down +󰾼 nf-md-format_text_rotation_angle_up +󰾽 nf-md-format_text_rotation_down_vertical +󰾾 nf-md-format_text_rotation_up +󰾿 nf-md-format_text_rotation_vertical +󰿀 nf-md-id_card +󰿁 nf-md-image_auto_adjust +󰿂 nf-md-key_wireless +󰿃 nf-md-license +󰿄 nf-md-location_enter +󰿅 nf-md-location_exit +󰿆 nf-md-lock_open_variant +󰿇 nf-md-lock_open_variant_outline +󰿈 nf-md-math_integral +󰿉 nf-md-math_integral_box +󰿊 nf-md-math_norm +󰿋 nf-md-math_norm_box +󰿌 nf-md-message_lock +󰿍 nf-md-message_text_lock +󰿎 nf-md-movie_open +󰿏 nf-md-movie_open_outline +󰿐 nf-md-bed_queen +󰿑 nf-md-bed_king_outline +󰿒 nf-md-bed_king +󰿓 nf-md-bed_double_outline +󰿔 nf-md-bed_double +󰿕 nf-md-microsoft_azure_devops +󰿖 nf-md-arm_flex_outline +󰿗 nf-md-arm_flex +󰿘 nf-md-protocol +󰿙 nf-md-seal_variant +󰿚 nf-md-select_place +󰿛 nf-md-bed_queen_outline +󰿜 nf-md-sign_direction_plus +󰿝 nf-md-sign_direction_remove +󰿞 nf-md-silverware_clean +󰿟 nf-md-slash_forward +󰿠 nf-md-slash_forward_box +󰿡 nf-md-swap_horizontal_circle +󰿢 nf-md-swap_horizontal_circle_outline +󰿣 nf-md-swap_vertical_circle +󰿤 nf-md-swap_vertical_circle_outline +󰿥 nf-md-tanker_truck +󰿦 nf-md-texture_box +󰿧 nf-md-tram_side +󰿨 nf-md-vector_link +󰿩 nf-md-numeric_10 +󰿪 nf-md-numeric_10_box_multiple +󰿫 nf-md-numeric_10_box_multiple_outline +󰿬 nf-md-numeric_10_circle +󰿭 nf-md-numeric_10_circle_outline +󰿮 nf-md-numeric_9_plus +󰿯 nf-md-credit_card +󰿰 nf-md-credit_card_multiple +󰿱 nf-md-credit_card_off +󰿲 nf-md-credit_card_plus +󰿳 nf-md-credit_card_refund +󰿴 nf-md-credit_card_scan +󰿵 nf-md-credit_card_settings +󰿶 nf-md-hospital +󰿷 nf-md-hospital_box_outline +󰿸 nf-md-oil_temperature +󰿹 nf-md-stadium +󰿺 nf-md-zip_box_outline +󰿻 nf-md-account_edit_outline +󰿼 nf-md-peanut +󰿽 nf-md-peanut_off +󰿾 nf-md-peanut_outline +󰿿 nf-md-peanut_off_outline +󱀀 nf-md-sign_direction_minus +󱀁 nf-md-newspaper_variant +󱀂 nf-md-newspaper_variant_multiple +󱀃 nf-md-newspaper_variant_multiple_outline +󱀄 nf-md-newspaper_variant_outline +󱀅 nf-md-overscan +󱀆 nf-md-pig_variant +󱀇 nf-md-piggy_bank +󱀈 nf-md-post +󱀉 nf-md-post_outline +󱀊 nf-md-account_box_multiple_outline +󱀋 nf-md-airballoon_outline +󱀌 nf-md-alphabetical_off +󱀍 nf-md-alphabetical_variant +󱀎 nf-md-alphabetical_variant_off +󱀏 nf-md-apache_kafka +󱀐 nf-md-billboard +󱀑 nf-md-blinds_open +󱀒 nf-md-bus_stop +󱀓 nf-md-bus_stop_covered +󱀔 nf-md-bus_stop_uncovered +󱀕 nf-md-car_2_plus +󱀖 nf-md-car_3_plus +󱀗 nf-md-car_brake_retarder +󱀘 nf-md-car_clutch +󱀙 nf-md-car_coolant_level +󱀚 nf-md-car_turbocharger +󱀛 nf-md-car_windshield +󱀜 nf-md-car_windshield_outline +󱀝 nf-md-cards_diamond_outline +󱀞 nf-md-cast_audio +󱀟 nf-md-cellphone_play +󱀠 nf-md-coach_lamp +󱀡 nf-md-comment_quote +󱀢 nf-md-comment_quote_outline +󱀣 nf-md-domino_mask +󱀤 nf-md-electron_framework +󱀥 nf-md-excavator +󱀦 nf-md-eye_minus +󱀧 nf-md-eye_minus_outline +󱀨 nf-md-file_account_outline +󱀩 nf-md-file_chart_outline +󱀪 nf-md-file_cloud_outline +󱀫 nf-md-file_code_outline +󱀬 nf-md-file_excel_box_outline +󱀭 nf-md-file_excel_outline +󱀮 nf-md-file_export_outline +󱀯 nf-md-file_import_outline +󱀰 nf-md-file_lock_outline +󱀱 nf-md-file_move_outline +󱀲 nf-md-file_multiple_outline +󱀳 nf-md-file_percent_outline +󱀴 nf-md-file_powerpoint_box_outline +󱀵 nf-md-file_powerpoint_outline +󱀶 nf-md-file_question_outline +󱀷 nf-md-file_remove_outline +󱀸 nf-md-file_restore_outline +󱀹 nf-md-file_send_outline +󱀺 nf-md-file_star +󱀻 nf-md-file_star_outline +󱀼 nf-md-file_undo_outline +󱀽 nf-md-file_word_box_outline +󱀾 nf-md-file_word_outline +󱀿 nf-md-filter_variant_remove +󱁀 nf-md-floor_lamp_dual +󱁁 nf-md-floor_lamp_torchiere_variant +󱁂 nf-md-fruit_cherries +󱁃 nf-md-fruit_citrus +󱁄 nf-md-fruit_grapes +󱁅 nf-md-fruit_grapes_outline +󱁆 nf-md-fruit_pineapple +󱁇 nf-md-fruit_watermelon +󱁈 nf-md-google_my_business +󱁉 nf-md-graph +󱁊 nf-md-graph_outline +󱁋 nf-md-harddisk_plus +󱁌 nf-md-harddisk_remove +󱁍 nf-md-home_circle_outline +󱁎 nf-md-instrument_triangle +󱁏 nf-md-island +󱁐 nf-md-keyboard_space +󱁑 nf-md-led_strip_variant +󱁒 nf-md-numeric_negative_1 +󱁓 nf-md-oil_level +󱁔 nf-md-outdoor_lamp +󱁕 nf-md-palm_tree +󱁖 nf-md-party_popper +󱁗 nf-md-printer_pos +󱁘 nf-md-robber +󱁙 nf-md-routes_clock +󱁚 nf-md-scale_off +󱁛 nf-md-cog_transfer +󱁜 nf-md-cog_transfer_outline +󱁝 nf-md-shield_sun +󱁞 nf-md-shield_sun_outline +󱁟 nf-md-sprinkler +󱁠 nf-md-sprinkler_variant +󱁡 nf-md-table_chair +󱁢 nf-md-terraform +󱁣 nf-md-toaster +󱁤 nf-md-tools +󱁥 nf-md-transfer +󱁦 nf-md-valve +󱁧 nf-md-valve_closed +󱁨 nf-md-valve_open +󱁩 nf-md-video_check +󱁪 nf-md-video_check_outline +󱁫 nf-md-water_well +󱁬 nf-md-water_well_outline +󱁭 nf-md-bed_single +󱁮 nf-md-bed_single_outline +󱁯 nf-md-book_information_variant +󱁰 nf-md-bottle_soda +󱁱 nf-md-bottle_soda_classic +󱁲 nf-md-bottle_soda_outline +󱁳 nf-md-calendar_blank_multiple +󱁴 nf-md-card_search +󱁵 nf-md-card_search_outline +󱁶 nf-md-face_woman_profile +󱁷 nf-md-face_woman +󱁸 nf-md-face_woman_outline +󱁹 nf-md-file_settings +󱁺 nf-md-file_settings_outline +󱁻 nf-md-file_cog +󱁼 nf-md-file_cog_outline +󱁽 nf-md-folder_settings +󱁾 nf-md-folder_settings_outline +󱁿 nf-md-folder_cog +󱂀 nf-md-folder_cog_outline +󱂁 nf-md-furigana_horizontal +󱂂 nf-md-furigana_vertical +󱂃 nf-md-golf_tee +󱂄 nf-md-lungs +󱂅 nf-md-math_log +󱂆 nf-md-moped +󱂇 nf-md-router_network +󱂉 nf-md-roman_numeral_2 +󱂊 nf-md-roman_numeral_3 +󱂋 nf-md-roman_numeral_4 +󱂍 nf-md-roman_numeral_6 +󱂎 nf-md-roman_numeral_7 +󱂏 nf-md-roman_numeral_8 +󱂐 nf-md-roman_numeral_9 +󱂒 nf-md-soldering_iron +󱂓 nf-md-stomach +󱂔 nf-md-table_eye +󱂕 nf-md-form_textarea +󱂖 nf-md-trumpet +󱂗 nf-md-account_cash +󱂘 nf-md-account_cash_outline +󱂙 nf-md-air_humidifier +󱂚 nf-md-ansible +󱂛 nf-md-api +󱂜 nf-md-bicycle +󱂝 nf-md-car_door_lock +󱂞 nf-md-coat_rack +󱂟 nf-md-coffee_maker +󱂠 nf-md-web_minus +󱂡 nf-md-decimal +󱂢 nf-md-decimal_comma +󱂣 nf-md-decimal_comma_decrease +󱂤 nf-md-decimal_comma_increase +󱂥 nf-md-delete_alert +󱂦 nf-md-delete_alert_outline +󱂧 nf-md-delete_off +󱂨 nf-md-delete_off_outline +󱂩 nf-md-dock_bottom +󱂪 nf-md-dock_left +󱂫 nf-md-dock_right +󱂬 nf-md-dock_window +󱂭 nf-md-domain_plus +󱂮 nf-md-domain_remove +󱂯 nf-md-door_closed_lock +󱂰 nf-md-download_off +󱂱 nf-md-download_off_outline +󱂲 nf-md-flag_minus_outline +󱂳 nf-md-flag_plus_outline +󱂴 nf-md-flag_remove_outline +󱂵 nf-md-folder_home +󱂶 nf-md-folder_home_outline +󱂷 nf-md-folder_information +󱂸 nf-md-folder_information_outline +󱂹 nf-md-iv_bag +󱂺 nf-md-link_lock +󱂻 nf-md-message_plus_outline +󱂼 nf-md-phone_cancel +󱂽 nf-md-smart_card +󱂾 nf-md-smart_card_outline +󱂿 nf-md-smart_card_reader +󱃀 nf-md-smart_card_reader_outline +󱃁 nf-md-storefront_outline +󱃂 nf-md-thermometer_high +󱃃 nf-md-thermometer_low +󱃄 nf-md-ufo +󱃅 nf-md-ufo_outline +󱃆 nf-md-upload_off +󱃇 nf-md-upload_off_outline +󱃈 nf-md-account_child_outline +󱃉 nf-md-account_settings_outline +󱃊 nf-md-account_tie_outline +󱃋 nf-md-alien_outline +󱃌 nf-md-battery_alert_variant +󱃍 nf-md-battery_alert_variant_outline +󱃎 nf-md-beehive_outline +󱃏 nf-md-boomerang +󱃐 nf-md-briefcase_clock +󱃑 nf-md-briefcase_clock_outline +󱃒 nf-md-cellphone_message_off +󱃓 nf-md-circle_off_outline +󱃔 nf-md-clipboard_list +󱃕 nf-md-clipboard_list_outline +󱃖 nf-md-code_braces_box +󱃗 nf-md-code_parentheses_box +󱃘 nf-md-consolidate +󱃙 nf-md-electric_switch_closed +󱃚 nf-md-email_receive +󱃛 nf-md-email_receive_outline +󱃜 nf-md-email_send +󱃝 nf-md-email_send_outline +󱃞 nf-md-emoticon_confused +󱃟 nf-md-emoticon_confused_outline +󱃠 nf-md-epsilon +󱃡 nf-md-file_table_box +󱃢 nf-md-file_table_box_multiple +󱃣 nf-md-file_table_box_multiple_outline +󱃤 nf-md-file_table_box_outline +󱃥 nf-md-filter_menu +󱃦 nf-md-filter_menu_outline +󱃧 nf-md-flip_horizontal +󱃨 nf-md-flip_vertical +󱃩 nf-md-folder_download_outline +󱃪 nf-md-folder_heart +󱃫 nf-md-folder_heart_outline +󱃬 nf-md-folder_key_outline +󱃭 nf-md-folder_upload_outline +󱃮 nf-md-gamma +󱃯 nf-md-hair_dryer +󱃰 nf-md-hair_dryer_outline +󱃱 nf-md-hand_heart +󱃲 nf-md-hexagon_multiple_outline +󱃳 nf-md-horizontal_rotate_clockwise +󱃴 nf-md-horizontal_rotate_counterclockwise +󱃵 nf-md-application_array +󱃶 nf-md-application_array_outline +󱃷 nf-md-application_braces +󱃸 nf-md-application_braces_outline +󱃹 nf-md-application_parentheses +󱃺 nf-md-application_parentheses_outline +󱃻 nf-md-application_variable +󱃼 nf-md-application_variable_outline +󱃽 nf-md-khanda +󱃾 nf-md-kubernetes +󱃿 nf-md-link_variant_minus +󱄀 nf-md-link_variant_plus +󱄁 nf-md-link_variant_remove +󱄂 nf-md-map_marker_down +󱄃 nf-md-map_marker_up +󱄄 nf-md-monitor_shimmer +󱄅 nf-md-nix +󱄆 nf-md-nuxt +󱄇 nf-md-power_socket_de +󱄈 nf-md-power_socket_fr +󱄉 nf-md-power_socket_jp +󱄊 nf-md-progress_close +󱄋 nf-md-reload_alert +󱄌 nf-md-restart_alert +󱄍 nf-md-restore_alert +󱄎 nf-md-shaker +󱄏 nf-md-shaker_outline +󱄐 nf-md-television_shimmer +󱄑 nf-md-variable_box +󱄒 nf-md-filter_variant_minus +󱄓 nf-md-filter_variant_plus +󱄔 nf-md-slot_machine +󱄕 nf-md-slot_machine_outline +󱄖 nf-md-glass_mug_variant +󱄗 nf-md-clipboard_flow_outline +󱄘 nf-md-sign_real_estate +󱄙 nf-md-antenna +󱄚 nf-md-centos +󱄛 nf-md-redhat +󱄜 nf-md-window_shutter +󱄝 nf-md-window_shutter_alert +󱄞 nf-md-window_shutter_open +󱄟 nf-md-bike_fast +󱄠 nf-md-volume_source +󱄡 nf-md-volume_vibrate +󱄢 nf-md-movie_edit +󱄣 nf-md-movie_edit_outline +󱄤 nf-md-movie_filter +󱄥 nf-md-movie_filter_outline +󱄦 nf-md-diabetes +󱄧 nf-md-cursor_default_gesture +󱄨 nf-md-cursor_default_gesture_outline +󱄩 nf-md-toothbrush +󱄪 nf-md-toothbrush_paste +󱄫 nf-md-home_roof +󱄬 nf-md-toothbrush_electric +󱄭 nf-md-account_supervisor_outline +󱄮 nf-md-bottle_tonic +󱄯 nf-md-bottle_tonic_outline +󱄰 nf-md-bottle_tonic_plus +󱄱 nf-md-bottle_tonic_plus_outline +󱄲 nf-md-bottle_tonic_skull +󱄳 nf-md-bottle_tonic_skull_outline +󱄴 nf-md-calendar_arrow_left +󱄵 nf-md-calendar_arrow_right +󱄶 nf-md-crosshairs_question +󱄷 nf-md-fire_hydrant +󱄸 nf-md-fire_hydrant_alert +󱄹 nf-md-fire_hydrant_off +󱄺 nf-md-ocr +󱄻 nf-md-shield_star +󱄼 nf-md-shield_star_outline +󱄽 nf-md-text_recognition +󱄾 nf-md-handcuffs +󱄿 nf-md-gender_male_female_variant +󱅀 nf-md-gender_non_binary +󱅁 nf-md-minus_box_multiple +󱅂 nf-md-minus_box_multiple_outline +󱅃 nf-md-plus_box_multiple_outline +󱅄 nf-md-pencil_box_multiple +󱅅 nf-md-pencil_box_multiple_outline +󱅆 nf-md-printer_check +󱅇 nf-md-sort_variant_remove +󱅈 nf-md-sort_alphabetical_ascending_variant +󱅉 nf-md-sort_alphabetical_descending_variant +󱅊 nf-md-dice_1_outline +󱅋 nf-md-dice_2_outline +󱅌 nf-md-dice_3_outline +󱅍 nf-md-dice_4_outline +󱅎 nf-md-dice_5_outline +󱅏 nf-md-dice_6_outline +󱅐 nf-md-dice_d4 +󱅑 nf-md-dice_d6 +󱅒 nf-md-dice_d8 +󱅓 nf-md-dice_d10 +󱅔 nf-md-dice_d12 +󱅕 nf-md-dice_d20 +󱅖 nf-md-dice_multiple_outline +󱅗 nf-md-paper_roll +󱅘 nf-md-paper_roll_outline +󱅙 nf-md-home_edit +󱅚 nf-md-home_edit_outline +󱅛 nf-md-arrow_horizontal_lock +󱅜 nf-md-arrow_vertical_lock +󱅝 nf-md-weight_lifter +󱅞 nf-md-account_lock +󱅟 nf-md-account_lock_outline +󱅠 nf-md-pasta +󱅡 nf-md-send_check +󱅢 nf-md-send_check_outline +󱅣 nf-md-send_clock +󱅤 nf-md-send_clock_outline +󱅥 nf-md-send_outline +󱅦 nf-md-send_lock_outline +󱅧 nf-md-police_badge +󱅨 nf-md-police_badge_outline +󱅩 nf-md-gate_arrow_right +󱅪 nf-md-gate_open +󱅫 nf-md-bell_badge +󱅬 nf-md-message_image_outline +󱅭 nf-md-message_lock_outline +󱅮 nf-md-message_minus +󱅯 nf-md-message_minus_outline +󱅰 nf-md-message_processing_outline +󱅱 nf-md-message_settings_outline +󱅲 nf-md-message_cog_outline +󱅳 nf-md-message_text_clock +󱅴 nf-md-message_text_clock_outline +󱅵 nf-md-message_text_lock_outline +󱅶 nf-md-checkbox_blank_badge +󱅷 nf-md-file_link +󱅸 nf-md-file_link_outline +󱅹 nf-md-file_phone +󱅺 nf-md-file_phone_outline +󱅻 nf-md-meditation +󱅼 nf-md-yoga +󱅽 nf-md-leek +󱅾 nf-md-noodles +󱅿 nf-md-pound_box_outline +󱆀 nf-md-school_outline +󱆁 nf-md-basket_outline +󱆂 nf-md-phone_in_talk_outline +󱆃 nf-md-bash +󱆄 nf-md-file_key +󱆅 nf-md-file_key_outline +󱆆 nf-md-file_certificate +󱆇 nf-md-file_certificate_outline +󱆈 nf-md-certificate_outline +󱆉 nf-md-cigar +󱆊 nf-md-grill_outline +󱆋 nf-md-qrcode_plus +󱆌 nf-md-qrcode_minus +󱆍 nf-md-qrcode_remove +󱆎 nf-md-phone_alert_outline +󱆏 nf-md-phone_bluetooth_outline +󱆐 nf-md-phone_cancel_outline +󱆑 nf-md-phone_forward_outline +󱆒 nf-md-phone_hangup_outline +󱆓 nf-md-phone_incoming_outline +󱆔 nf-md-phone_lock_outline +󱆕 nf-md-phone_log_outline +󱆖 nf-md-phone_message +󱆗 nf-md-phone_message_outline +󱆘 nf-md-phone_minus_outline +󱆙 nf-md-phone_outgoing_outline +󱆚 nf-md-phone_paused_outline +󱆛 nf-md-phone_plus_outline +󱆜 nf-md-phone_return_outline +󱆝 nf-md-phone_settings_outline +󱆞 nf-md-key_star +󱆟 nf-md-key_link +󱆠 nf-md-shield_edit +󱆡 nf-md-shield_edit_outline +󱆢 nf-md-shield_sync +󱆣 nf-md-shield_sync_outline +󱆤 nf-md-golf_cart +󱆥 nf-md-phone_missed_outline +󱆦 nf-md-phone_off_outline +󱆧 nf-md-format_quote_open_outline +󱆨 nf-md-format_quote_close_outline +󱆩 nf-md-phone_check +󱆪 nf-md-phone_check_outline +󱆫 nf-md-phone_ring +󱆬 nf-md-phone_ring_outline +󱆭 nf-md-share_circle +󱆮 nf-md-reply_circle +󱆯 nf-md-fridge_off +󱆰 nf-md-fridge_off_outline +󱆱 nf-md-fridge_alert +󱆲 nf-md-fridge_alert_outline +󱆳 nf-md-water_boiler_alert +󱆴 nf-md-water_boiler_off +󱆵 nf-md-amplifier_off +󱆶 nf-md-audio_video_off +󱆷 nf-md-toaster_off +󱆸 nf-md-dishwasher_alert +󱆹 nf-md-dishwasher_off +󱆺 nf-md-tumble_dryer_alert +󱆻 nf-md-tumble_dryer_off +󱆼 nf-md-washing_machine_alert +󱆽 nf-md-washing_machine_off +󱆾 nf-md-car_info +󱆿 nf-md-comment_edit +󱇀 nf-md-printer_3d_nozzle_alert +󱇁 nf-md-printer_3d_nozzle_alert_outline +󱇂 nf-md-align_horizontal_left +󱇃 nf-md-align_horizontal_center +󱇄 nf-md-align_horizontal_right +󱇅 nf-md-align_vertical_bottom +󱇆 nf-md-align_vertical_center +󱇇 nf-md-align_vertical_top +󱇈 nf-md-distribute_horizontal_left +󱇉 nf-md-distribute_horizontal_center +󱇊 nf-md-distribute_horizontal_right +󱇋 nf-md-distribute_vertical_bottom +󱇌 nf-md-distribute_vertical_center +󱇍 nf-md-distribute_vertical_top +󱇎 nf-md-alert_rhombus +󱇏 nf-md-alert_rhombus_outline +󱇐 nf-md-crown_outline +󱇑 nf-md-image_off_outline +󱇒 nf-md-movie_search +󱇓 nf-md-movie_search_outline +󱇔 nf-md-rv_truck +󱇕 nf-md-shopping_outline +󱇖 nf-md-strategy +󱇗 nf-md-note_text_outline +󱇘 nf-md-view_agenda_outline +󱇙 nf-md-view_grid_outline +󱇚 nf-md-view_grid_plus_outline +󱇛 nf-md-window_closed_variant +󱇜 nf-md-window_open_variant +󱇝 nf-md-cog_clockwise +󱇞 nf-md-cog_counterclockwise +󱇟 nf-md-chart_sankey +󱇠 nf-md-chart_sankey_variant +󱇡 nf-md-vanity_light +󱇢 nf-md-router +󱇣 nf-md-image_edit +󱇤 nf-md-image_edit_outline +󱇥 nf-md-bell_check +󱇦 nf-md-bell_check_outline +󱇧 nf-md-file_edit +󱇨 nf-md-file_edit_outline +󱇩 nf-md-human_scooter +󱇪 nf-md-spider +󱇫 nf-md-spider_thread +󱇬 nf-md-plus_thick +󱇭 nf-md-alert_circle_check +󱇮 nf-md-alert_circle_check_outline +󱇯 nf-md-state_machine +󱇰 nf-md-usb_port +󱇱 nf-md-cloud_lock +󱇲 nf-md-cloud_lock_outline +󱇳 nf-md-robot_mower_outline +󱇴 nf-md-share_all +󱇵 nf-md-share_all_outline +󱇶 nf-md-google_cloud +󱇷 nf-md-robot_mower +󱇸 nf-md-fast_forward_5 +󱇹 nf-md-rewind_5 +󱇺 nf-md-shape_oval_plus +󱇻 nf-md-timeline_clock +󱇼 nf-md-timeline_clock_outline +󱇽 nf-md-mirror +󱇾 nf-md-account_multiple_check_outline +󱇿 nf-md-card_plus +󱈀 nf-md-card_plus_outline +󱈁 nf-md-checkerboard_plus +󱈂 nf-md-checkerboard_minus +󱈃 nf-md-checkerboard_remove +󱈄 nf-md-select_search +󱈅 nf-md-selection_search +󱈆 nf-md-layers_search +󱈇 nf-md-layers_search_outline +󱈈 nf-md-lightbulb_cfl +󱈉 nf-md-lightbulb_cfl_off +󱈊 nf-md-account_multiple_remove +󱈋 nf-md-account_multiple_remove_outline +󱈌 nf-md-magnify_remove_cursor +󱈍 nf-md-magnify_remove_outline +󱈎 nf-md-archive_outline +󱈏 nf-md-battery_heart +󱈐 nf-md-battery_heart_outline +󱈑 nf-md-battery_heart_variant +󱈒 nf-md-bus_marker +󱈓 nf-md-chart_multiple +󱈔 nf-md-emoticon_lol +󱈕 nf-md-emoticon_lol_outline +󱈖 nf-md-file_sync +󱈗 nf-md-file_sync_outline +󱈘 nf-md-handshake +󱈙 nf-md-language_kotlin +󱈚 nf-md-language_fortran +󱈛 nf-md-offer +󱈜 nf-md-radio_off +󱈝 nf-md-table_headers_eye +󱈞 nf-md-table_headers_eye_off +󱈟 nf-md-tag_minus_outline +󱈠 nf-md-tag_off +󱈡 nf-md-tag_off_outline +󱈢 nf-md-tag_plus_outline +󱈣 nf-md-tag_remove_outline +󱈤 nf-md-tag_text +󱈥 nf-md-vector_polyline_edit +󱈦 nf-md-vector_polyline_minus +󱈧 nf-md-vector_polyline_plus +󱈨 nf-md-vector_polyline_remove +󱈩 nf-md-beaker_alert +󱈪 nf-md-beaker_alert_outline +󱈫 nf-md-beaker_check +󱈬 nf-md-beaker_check_outline +󱈭 nf-md-beaker_minus +󱈮 nf-md-beaker_minus_outline +󱈯 nf-md-beaker_plus +󱈰 nf-md-beaker_plus_outline +󱈱 nf-md-beaker_question +󱈲 nf-md-beaker_question_outline +󱈳 nf-md-beaker_remove +󱈴 nf-md-beaker_remove_outline +󱈵 nf-md-bicycle_basket +󱈶 nf-md-barcode_off +󱈷 nf-md-digital_ocean +󱈸 nf-md-exclamation_thick +󱈹 nf-md-desk +󱈺 nf-md-flask_empty_minus +󱈻 nf-md-flask_empty_minus_outline +󱈼 nf-md-flask_empty_plus +󱈽 nf-md-flask_empty_plus_outline +󱈾 nf-md-flask_empty_remove +󱈿 nf-md-flask_empty_remove_outline +󱉀 nf-md-flask_minus +󱉁 nf-md-flask_minus_outline +󱉂 nf-md-flask_plus +󱉃 nf-md-flask_plus_outline +󱉄 nf-md-flask_remove +󱉅 nf-md-flask_remove_outline +󱉆 nf-md-folder_move_outline +󱉇 nf-md-home_remove +󱉈 nf-md-webrtc +󱉉 nf-md-seat_passenger +󱉊 nf-md-web_clock +󱉋 nf-md-flask_round_bottom +󱉌 nf-md-flask_round_bottom_empty +󱉍 nf-md-flask_round_bottom_empty_outline +󱉎 nf-md-flask_round_bottom_outline +󱉏 nf-md-gold +󱉐 nf-md-message_star_outline +󱉑 nf-md-home_lightbulb +󱉒 nf-md-home_lightbulb_outline +󱉓 nf-md-lightbulb_group +󱉔 nf-md-lightbulb_group_outline +󱉕 nf-md-lightbulb_multiple +󱉖 nf-md-lightbulb_multiple_outline +󱉗 nf-md-api_off +󱉘 nf-md-allergy +󱉙 nf-md-archive_arrow_down +󱉚 nf-md-archive_arrow_down_outline +󱉛 nf-md-archive_arrow_up +󱉜 nf-md-archive_arrow_up_outline +󱉝 nf-md-battery_off +󱉞 nf-md-battery_off_outline +󱉟 nf-md-bookshelf +󱉠 nf-md-cash_minus +󱉡 nf-md-cash_plus +󱉢 nf-md-cash_remove +󱉣 nf-md-clipboard_check_multiple +󱉤 nf-md-clipboard_check_multiple_outline +󱉥 nf-md-clipboard_file +󱉦 nf-md-clipboard_file_outline +󱉧 nf-md-clipboard_multiple +󱉨 nf-md-clipboard_multiple_outline +󱉩 nf-md-clipboard_play_multiple +󱉪 nf-md-clipboard_play_multiple_outline +󱉫 nf-md-clipboard_text_multiple +󱉬 nf-md-clipboard_text_multiple_outline +󱉭 nf-md-folder_marker +󱉮 nf-md-folder_marker_outline +󱉯 nf-md-format_list_text +󱉰 nf-md-inbox_arrow_down_outline +󱉱 nf-md-inbox_arrow_up_outline +󱉲 nf-md-inbox_full +󱉳 nf-md-inbox_full_outline +󱉴 nf-md-inbox_outline +󱉵 nf-md-lightbulb_cfl_spiral +󱉶 nf-md-magnify_scan +󱉷 nf-md-map_marker_multiple_outline +󱉸 nf-md-percent_outline +󱉹 nf-md-phone_classic_off +󱉺 nf-md-play_box +󱉻 nf-md-account_eye_outline +󱉼 nf-md-safe_square +󱉽 nf-md-safe_square_outline +󱉾 nf-md-scoreboard +󱉿 nf-md-scoreboard_outline +󱊀 nf-md-select_marker +󱊁 nf-md-select_multiple +󱊂 nf-md-select_multiple_marker +󱊃 nf-md-selection_marker +󱊄 nf-md-selection_multiple_marker +󱊅 nf-md-selection_multiple +󱊆 nf-md-star_box_multiple +󱊇 nf-md-star_box_multiple_outline +󱊈 nf-md-toy_brick +󱊉 nf-md-toy_brick_marker +󱊊 nf-md-toy_brick_marker_outline +󱊋 nf-md-toy_brick_minus +󱊌 nf-md-toy_brick_minus_outline +󱊍 nf-md-toy_brick_outline +󱊎 nf-md-toy_brick_plus +󱊏 nf-md-toy_brick_plus_outline +󱊐 nf-md-toy_brick_remove +󱊑 nf-md-toy_brick_remove_outline +󱊒 nf-md-toy_brick_search +󱊓 nf-md-toy_brick_search_outline +󱊔 nf-md-tray +󱊕 nf-md-tray_alert +󱊖 nf-md-tray_full +󱊗 nf-md-tray_minus +󱊘 nf-md-tray_plus +󱊙 nf-md-tray_remove +󱊚 nf-md-truck_check_outline +󱊛 nf-md-truck_delivery_outline +󱊜 nf-md-truck_fast_outline +󱊝 nf-md-truck_outline +󱊞 nf-md-usb_flash_drive +󱊟 nf-md-usb_flash_drive_outline +󱊠 nf-md-water_polo +󱊡 nf-md-battery_low +󱊢 nf-md-battery_medium +󱊣 nf-md-battery_high +󱊤 nf-md-battery_charging_low +󱊥 nf-md-battery_charging_medium +󱊦 nf-md-battery_charging_high +󱊧 nf-md-hexadecimal +󱊨 nf-md-gesture_tap_button +󱊩 nf-md-gesture_tap_box +󱊪 nf-md-lan_check +󱊫 nf-md-keyboard_f1 +󱊬 nf-md-keyboard_f2 +󱊭 nf-md-keyboard_f3 +󱊮 nf-md-keyboard_f4 +󱊯 nf-md-keyboard_f5 +󱊰 nf-md-keyboard_f6 +󱊱 nf-md-keyboard_f7 +󱊲 nf-md-keyboard_f8 +󱊳 nf-md-keyboard_f9 +󱊴 nf-md-keyboard_f10 +󱊵 nf-md-keyboard_f11 +󱊶 nf-md-keyboard_f12 +󱊷 nf-md-keyboard_esc +󱊸 nf-md-toslink +󱊹 nf-md-cheese +󱊺 nf-md-string_lights +󱊻 nf-md-string_lights_off +󱊼 nf-md-whistle_outline +󱊽 nf-md-stairs_up +󱊾 nf-md-stairs_down +󱊿 nf-md-escalator_up +󱋀 nf-md-escalator_down +󱋁 nf-md-elevator_up +󱋂 nf-md-elevator_down +󱋃 nf-md-lightbulb_cfl_spiral_off +󱋄 nf-md-comment_edit_outline +󱋅 nf-md-tooltip_edit_outline +󱋆 nf-md-monitor_edit +󱋇 nf-md-email_sync +󱋈 nf-md-email_sync_outline +󱋉 nf-md-chat_alert_outline +󱋊 nf-md-chat_processing_outline +󱋋 nf-md-snowflake_melt +󱋌 nf-md-cloud_check_outline +󱋍 nf-md-lightbulb_group_off +󱋎 nf-md-lightbulb_group_off_outline +󱋏 nf-md-lightbulb_multiple_off +󱋐 nf-md-lightbulb_multiple_off_outline +󱋑 nf-md-chat_sleep +󱋒 nf-md-chat_sleep_outline +󱋓 nf-md-garage_variant +󱋔 nf-md-garage_open_variant +󱋕 nf-md-garage_alert_variant +󱋖 nf-md-cloud_sync_outline +󱋗 nf-md-globe_light +󱋘 nf-md-cellphone_nfc_off +󱋙 nf-md-leaf_off +󱋚 nf-md-leaf_maple_off +󱋛 nf-md-map_marker_left +󱋜 nf-md-map_marker_right +󱋝 nf-md-map_marker_left_outline +󱋞 nf-md-map_marker_right_outline +󱋟 nf-md-account_cancel +󱋠 nf-md-account_cancel_outline +󱋡 nf-md-file_clock +󱋢 nf-md-file_clock_outline +󱋣 nf-md-folder_table +󱋤 nf-md-folder_table_outline +󱋥 nf-md-hydro_power +󱋦 nf-md-doorbell +󱋧 nf-md-bulma +󱋨 nf-md-iobroker +󱋩 nf-md-oci +󱋪 nf-md-label_percent +󱋫 nf-md-label_percent_outline +󱋬 nf-md-checkbox_blank_off +󱋭 nf-md-checkbox_blank_off_outline +󱋮 nf-md-square_off +󱋯 nf-md-square_off_outline +󱋰 nf-md-drag_horizontal_variant +󱋱 nf-md-drag_vertical_variant +󱋲 nf-md-message_arrow_left +󱋳 nf-md-message_arrow_left_outline +󱋴 nf-md-message_arrow_right +󱋵 nf-md-message_arrow_right_outline +󱋶 nf-md-database_marker +󱋷 nf-md-tag_multiple_outline +󱋸 nf-md-map_marker_plus_outline +󱋹 nf-md-map_marker_minus_outline +󱋺 nf-md-map_marker_remove_outline +󱋻 nf-md-map_marker_check_outline +󱋼 nf-md-map_marker_radius_outline +󱋽 nf-md-map_marker_off_outline +󱋾 nf-md-molecule_co +󱋿 nf-md-jump_rope +󱌀 nf-md-kettlebell +󱌁 nf-md-account_convert_outline +󱌂 nf-md-bunk_bed +󱌃 nf-md-fleur_de_lis +󱌄 nf-md-ski +󱌅 nf-md-ski_cross_country +󱌆 nf-md-ski_water +󱌇 nf-md-snowboard +󱌈 nf-md-account_tie_voice +󱌉 nf-md-account_tie_voice_outline +󱌊 nf-md-account_tie_voice_off +󱌋 nf-md-account_tie_voice_off_outline +󱌌 nf-md-beer_outline +󱌍 nf-md-glass_pint_outline +󱌎 nf-md-coffee_to_go_outline +󱌏 nf-md-cup_outline +󱌐 nf-md-bottle_wine_outline +󱌑 nf-md-earth_arrow_right +󱌒 nf-md-key_arrow_right +󱌓 nf-md-format_color_marker_cancel +󱌔 nf-md-mother_heart +󱌕 nf-md-currency_eur_off +󱌖 nf-md-semantic_web +󱌗 nf-md-kettle_alert +󱌘 nf-md-kettle_alert_outline +󱌙 nf-md-kettle_steam +󱌚 nf-md-kettle_steam_outline +󱌛 nf-md-kettle_off +󱌜 nf-md-kettle_off_outline +󱌝 nf-md-simple_icons +󱌞 nf-md-briefcase_check_outline +󱌟 nf-md-clipboard_plus_outline +󱌠 nf-md-download_lock +󱌡 nf-md-download_lock_outline +󱌢 nf-md-hammer_screwdriver +󱌣 nf-md-hammer_wrench +󱌤 nf-md-hydraulic_oil_level +󱌥 nf-md-hydraulic_oil_temperature +󱌦 nf-md-medal_outline +󱌧 nf-md-rodent +󱌨 nf-md-abjad_arabic +󱌩 nf-md-abjad_hebrew +󱌪 nf-md-abugida_devanagari +󱌫 nf-md-abugida_thai +󱌬 nf-md-alphabet_aurebesh +󱌭 nf-md-alphabet_cyrillic +󱌮 nf-md-alphabet_greek +󱌯 nf-md-alphabet_latin +󱌰 nf-md-alphabet_piqad +󱌱 nf-md-ideogram_cjk +󱌲 nf-md-ideogram_cjk_variant +󱌳 nf-md-syllabary_hangul +󱌴 nf-md-syllabary_hiragana +󱌵 nf-md-syllabary_katakana +󱌶 nf-md-syllabary_katakana_halfwidth +󱌷 nf-md-alphabet_tengwar +󱌸 nf-md-head_alert +󱌹 nf-md-head_alert_outline +󱌺 nf-md-head_check +󱌻 nf-md-head_check_outline +󱌼 nf-md-head_cog +󱌽 nf-md-head_cog_outline +󱌾 nf-md-head_dots_horizontal +󱌿 nf-md-head_dots_horizontal_outline +󱍀 nf-md-head_flash +󱍁 nf-md-head_flash_outline +󱍂 nf-md-head_heart +󱍃 nf-md-head_heart_outline +󱍄 nf-md-head_lightbulb +󱍅 nf-md-head_lightbulb_outline +󱍆 nf-md-head_minus +󱍇 nf-md-head_minus_outline +󱍈 nf-md-head_plus +󱍉 nf-md-head_plus_outline +󱍊 nf-md-head_question +󱍋 nf-md-head_question_outline +󱍌 nf-md-head_remove +󱍍 nf-md-head_remove_outline +󱍎 nf-md-head_snowflake +󱍏 nf-md-head_snowflake_outline +󱍐 nf-md-head_sync +󱍑 nf-md-head_sync_outline +󱍒 nf-md-hvac +󱍓 nf-md-pencil_ruler +󱍔 nf-md-pipe_wrench +󱍕 nf-md-widgets_outline +󱍖 nf-md-television_ambient_light +󱍗 nf-md-propane_tank +󱍘 nf-md-propane_tank_outline +󱍙 nf-md-folder_music +󱍚 nf-md-folder_music_outline +󱍛 nf-md-klingon +󱍜 nf-md-palette_swatch_outline +󱍝 nf-md-form_textbox_lock +󱍞 nf-md-head +󱍟 nf-md-head_outline +󱍠 nf-md-shield_half +󱍡 nf-md-store_outline +󱍢 nf-md-google_downasaur +󱍣 nf-md-bottle_soda_classic_outline +󱍤 nf-md-sticker +󱍥 nf-md-sticker_alert +󱍦 nf-md-sticker_alert_outline +󱍧 nf-md-sticker_check +󱍨 nf-md-sticker_check_outline +󱍩 nf-md-sticker_minus +󱍪 nf-md-sticker_minus_outline +󱍫 nf-md-sticker_outline +󱍬 nf-md-sticker_plus +󱍭 nf-md-sticker_plus_outline +󱍮 nf-md-sticker_remove +󱍯 nf-md-sticker_remove_outline +󱍰 nf-md-account_cog +󱍱 nf-md-account_cog_outline +󱍲 nf-md-account_details_outline +󱍳 nf-md-upload_lock +󱍴 nf-md-upload_lock_outline +󱍵 nf-md-label_multiple +󱍶 nf-md-label_multiple_outline +󱍷 nf-md-refresh_circle +󱍸 nf-md-sync_circle +󱍹 nf-md-bookmark_music_outline +󱍺 nf-md-bookmark_remove_outline +󱍻 nf-md-bookmark_check_outline +󱍼 nf-md-traffic_cone +󱍽 nf-md-cup_off_outline +󱍾 nf-md-auto_download +󱍿 nf-md-shuriken +󱎀 nf-md-chart_ppf +󱎁 nf-md-elevator_passenger +󱎂 nf-md-compass_rose +󱎃 nf-md-space_station +󱎄 nf-md-order_bool_descending +󱎅 nf-md-sort_bool_ascending +󱎆 nf-md-sort_bool_ascending_variant +󱎇 nf-md-sort_bool_descending +󱎈 nf-md-sort_bool_descending_variant +󱎉 nf-md-sort_numeric_ascending +󱎊 nf-md-sort_numeric_descending +󱎋 nf-md-human_baby_changing_table +󱎌 nf-md-human_male_child +󱎍 nf-md-human_wheelchair +󱎎 nf-md-microsoft_access +󱎏 nf-md-microsoft_excel +󱎐 nf-md-microsoft_powerpoint +󱎑 nf-md-microsoft_sharepoint +󱎒 nf-md-microsoft_word +󱎓 nf-md-nintendo_game_boy +󱎔 nf-md-cable_data +󱎕 nf-md-circle_half +󱎖 nf-md-circle_half_full +󱎗 nf-md-cellphone_charging +󱎘 nf-md-close_thick +󱎙 nf-md-escalator_box +󱎚 nf-md-lock_check +󱎛 nf-md-lock_open_alert +󱎜 nf-md-lock_open_check +󱎝 nf-md-recycle_variant +󱎞 nf-md-stairs_box +󱎟 nf-md-hand_water +󱎠 nf-md-table_refresh +󱎡 nf-md-table_sync +󱎢 nf-md-size_xxs +󱎣 nf-md-size_xs +󱎤 nf-md-size_s +󱎥 nf-md-size_m +󱎧 nf-md-size_xl +󱎨 nf-md-size_xxl +󱎩 nf-md-size_xxxl +󱎪 nf-md-ticket_confirmation_outline +󱎫 nf-md-timer +󱎬 nf-md-timer_off +󱎭 nf-md-book_account +󱎮 nf-md-book_account_outline +󱎯 nf-md-rocket_outline +󱎰 nf-md-home_search +󱎱 nf-md-home_search_outline +󱎲 nf-md-car_arrow_left +󱎳 nf-md-car_arrow_right +󱎴 nf-md-monitor_eye +󱎵 nf-md-lipstick +󱎶 nf-md-virus +󱎷 nf-md-virus_outline +󱎸 nf-md-text_search +󱎹 nf-md-table_account +󱎺 nf-md-table_alert +󱎻 nf-md-table_arrow_down +󱎼 nf-md-table_arrow_left +󱎽 nf-md-table_arrow_right +󱎾 nf-md-table_arrow_up +󱎿 nf-md-table_cancel +󱏀 nf-md-table_check +󱏁 nf-md-table_clock +󱏂 nf-md-table_cog +󱏃 nf-md-table_eye_off +󱏄 nf-md-table_heart +󱏅 nf-md-table_key +󱏆 nf-md-table_lock +󱏇 nf-md-table_minus +󱏈 nf-md-table_multiple +󱏉 nf-md-table_network +󱏊 nf-md-table_off +󱏋 nf-md-table_star +󱏌 nf-md-car_cog +󱏍 nf-md-car_settings +󱏎 nf-md-cog_off +󱏏 nf-md-cog_off_outline +󱏐 nf-md-credit_card_check +󱏑 nf-md-credit_card_check_outline +󱏒 nf-md-file_tree_outline +󱏓 nf-md-folder_star_multiple +󱏔 nf-md-folder_star_multiple_outline +󱏕 nf-md-home_minus_outline +󱏖 nf-md-home_plus_outline +󱏗 nf-md-home_remove_outline +󱏘 nf-md-scan_helper +󱏙 nf-md-video_3d_off +󱏚 nf-md-shield_bug +󱏛 nf-md-shield_bug_outline +󱏜 nf-md-eyedropper_plus +󱏝 nf-md-eyedropper_minus +󱏞 nf-md-eyedropper_remove +󱏟 nf-md-eyedropper_off +󱏠 nf-md-baby_buggy +󱏡 nf-md-umbrella_closed_variant +󱏢 nf-md-umbrella_closed_outline +󱏣 nf-md-email_off +󱏤 nf-md-email_off_outline +󱏥 nf-md-food_variant_off +󱏦 nf-md-play_box_multiple_outline +󱏧 nf-md-bell_cancel +󱏨 nf-md-bell_cancel_outline +󱏩 nf-md-bell_minus +󱏪 nf-md-bell_minus_outline +󱏫 nf-md-bell_remove +󱏬 nf-md-bell_remove_outline +󱏭 nf-md-beehive_off_outline +󱏮 nf-md-cheese_off +󱏯 nf-md-corn_off +󱏰 nf-md-egg_off +󱏱 nf-md-egg_off_outline +󱏲 nf-md-egg_outline +󱏳 nf-md-fish_off +󱏴 nf-md-flask_empty_off +󱏵 nf-md-flask_empty_off_outline +󱏶 nf-md-flask_off +󱏷 nf-md-flask_off_outline +󱏸 nf-md-fruit_cherries_off +󱏹 nf-md-fruit_citrus_off +󱏺 nf-md-mushroom_off +󱏻 nf-md-mushroom_off_outline +󱏼 nf-md-soy_sauce_off +󱏽 nf-md-seed_off +󱏾 nf-md-seed_off_outline +󱏿 nf-md-tailwind +󱐀 nf-md-form_dropdown +󱐁 nf-md-form_select +󱐂 nf-md-pump +󱐃 nf-md-earth_plus +󱐄 nf-md-earth_minus +󱐅 nf-md-earth_remove +󱐆 nf-md-earth_box_plus +󱐇 nf-md-earth_box_minus +󱐈 nf-md-earth_box_remove +󱐉 nf-md-gas_station_off +󱐊 nf-md-gas_station_off_outline +󱐋 nf-md-lightning_bolt +󱐌 nf-md-lightning_bolt_outline +󱐍 nf-md-smoking_pipe +󱐎 nf-md-axis_arrow_info +󱐏 nf-md-chat_plus +󱐐 nf-md-chat_minus +󱐑 nf-md-chat_remove +󱐒 nf-md-chat_plus_outline +󱐓 nf-md-chat_minus_outline +󱐔 nf-md-chat_remove_outline +󱐕 nf-md-bucket +󱐖 nf-md-bucket_outline +󱐗 nf-md-pail +󱐘 nf-md-image_remove +󱐙 nf-md-image_minus +󱐚 nf-md-pine_tree_fire +󱐛 nf-md-cigar_off +󱐜 nf-md-cube_off +󱐝 nf-md-cube_off_outline +󱐞 nf-md-dome_light +󱐟 nf-md-food_drumstick +󱐠 nf-md-food_drumstick_outline +󱐡 nf-md-incognito_circle +󱐢 nf-md-incognito_circle_off +󱐣 nf-md-microwave_off +󱐤 nf-md-power_plug_off_outline +󱐥 nf-md-power_plug_outline +󱐦 nf-md-puzzle_check +󱐧 nf-md-puzzle_check_outline +󱐨 nf-md-smoking_pipe_off +󱐩 nf-md-spoon_sugar +󱐪 nf-md-table_split_cell +󱐫 nf-md-ticket_percent_outline +󱐬 nf-md-fuse_off +󱐭 nf-md-fuse_alert +󱐮 nf-md-heart_plus +󱐯 nf-md-heart_minus +󱐰 nf-md-heart_remove +󱐱 nf-md-heart_plus_outline +󱐲 nf-md-heart_minus_outline +󱐳 nf-md-heart_remove_outline +󱐴 nf-md-heart_off_outline +󱐵 nf-md-motion_sensor_off +󱐶 nf-md-pail_plus +󱐷 nf-md-pail_minus +󱐸 nf-md-pail_remove +󱐹 nf-md-pail_off +󱐺 nf-md-pail_outline +󱐻 nf-md-pail_plus_outline +󱐼 nf-md-pail_minus_outline +󱐽 nf-md-pail_remove_outline +󱐾 nf-md-pail_off_outline +󱐿 nf-md-clock_time_one +󱑀 nf-md-clock_time_two +󱑁 nf-md-clock_time_three +󱑂 nf-md-clock_time_four +󱑃 nf-md-clock_time_five +󱑄 nf-md-clock_time_six +󱑅 nf-md-clock_time_seven +󱑆 nf-md-clock_time_eight +󱑇 nf-md-clock_time_nine +󱑈 nf-md-clock_time_ten +󱑉 nf-md-clock_time_eleven +󱑊 nf-md-clock_time_twelve +󱑋 nf-md-clock_time_one_outline +󱑌 nf-md-clock_time_two_outline +󱑍 nf-md-clock_time_three_outline +󱑎 nf-md-clock_time_four_outline +󱑏 nf-md-clock_time_five_outline +󱑐 nf-md-clock_time_six_outline +󱑑 nf-md-clock_time_seven_outline +󱑒 nf-md-clock_time_eight_outline +󱑓 nf-md-clock_time_nine_outline +󱑔 nf-md-clock_time_ten_outline +󱑕 nf-md-clock_time_eleven_outline +󱑖 nf-md-clock_time_twelve_outline +󱑗 nf-md-printer_search +󱑘 nf-md-printer_eye +󱑙 nf-md-minus_circle_off +󱑚 nf-md-minus_circle_off_outline +󱑛 nf-md-content_save_cog +󱑜 nf-md-content_save_cog_outline +󱑝 nf-md-set_square +󱑞 nf-md-cog_refresh +󱑟 nf-md-cog_refresh_outline +󱑠 nf-md-cog_sync +󱑡 nf-md-cog_sync_outline +󱑢 nf-md-download_box +󱑣 nf-md-download_box_outline +󱑤 nf-md-download_circle +󱑥 nf-md-download_circle_outline +󱑦 nf-md-air_humidifier_off +󱑧 nf-md-chili_off +󱑨 nf-md-food_drumstick_off +󱑩 nf-md-food_drumstick_off_outline +󱑪 nf-md-food_steak +󱑫 nf-md-food_steak_off +󱑬 nf-md-fan_alert +󱑭 nf-md-fan_chevron_down +󱑮 nf-md-fan_chevron_up +󱑯 nf-md-fan_plus +󱑰 nf-md-fan_minus +󱑱 nf-md-fan_remove +󱑲 nf-md-fan_speed_1 +󱑳 nf-md-fan_speed_2 +󱑴 nf-md-fan_speed_3 +󱑵 nf-md-rug +󱑶 nf-md-lingerie +󱑷 nf-md-wizard_hat +󱑸 nf-md-hours_24 +󱑹 nf-md-cosine_wave +󱑺 nf-md-sawtooth_wave +󱑻 nf-md-square_wave +󱑼 nf-md-triangle_wave +󱑽 nf-md-waveform +󱑾 nf-md-folder_multiple_plus +󱑿 nf-md-folder_multiple_plus_outline +󱒀 nf-md-current_ac +󱒁 nf-md-watering_can +󱒂 nf-md-watering_can_outline +󱒃 nf-md-monitor_share +󱒄 nf-md-laser_pointer +󱒅 nf-md-view_array_outline +󱒆 nf-md-view_carousel_outline +󱒇 nf-md-view_column_outline +󱒈 nf-md-view_comfy_outline +󱒉 nf-md-view_dashboard_variant_outline +󱒊 nf-md-view_day_outline +󱒋 nf-md-view_list_outline +󱒌 nf-md-view_module_outline +󱒍 nf-md-view_parallel_outline +󱒎 nf-md-view_quilt_outline +󱒏 nf-md-view_sequential_outline +󱒐 nf-md-view_stream_outline +󱒑 nf-md-view_week_outline +󱒒 nf-md-compare_horizontal +󱒓 nf-md-compare_vertical +󱒔 nf-md-briefcase_variant +󱒕 nf-md-briefcase_variant_outline +󱒖 nf-md-relation_many_to_many +󱒗 nf-md-relation_many_to_one +󱒘 nf-md-relation_many_to_one_or_many +󱒙 nf-md-relation_many_to_only_one +󱒚 nf-md-relation_many_to_zero_or_many +󱒛 nf-md-relation_many_to_zero_or_one +󱒜 nf-md-relation_one_or_many_to_many +󱒝 nf-md-relation_one_or_many_to_one +󱒞 nf-md-relation_one_or_many_to_one_or_many +󱒟 nf-md-relation_one_or_many_to_only_one +󱒠 nf-md-relation_one_or_many_to_zero_or_many +󱒡 nf-md-relation_one_or_many_to_zero_or_one +󱒢 nf-md-relation_one_to_many +󱒣 nf-md-relation_one_to_one +󱒤 nf-md-relation_one_to_one_or_many +󱒥 nf-md-relation_one_to_only_one +󱒦 nf-md-relation_one_to_zero_or_many +󱒧 nf-md-relation_one_to_zero_or_one +󱒨 nf-md-relation_only_one_to_many +󱒩 nf-md-relation_only_one_to_one +󱒪 nf-md-relation_only_one_to_one_or_many +󱒫 nf-md-relation_only_one_to_only_one +󱒬 nf-md-relation_only_one_to_zero_or_many +󱒭 nf-md-relation_only_one_to_zero_or_one +󱒮 nf-md-relation_zero_or_many_to_many +󱒯 nf-md-relation_zero_or_many_to_one +󱒰 nf-md-relation_zero_or_many_to_one_or_many +󱒱 nf-md-relation_zero_or_many_to_only_one +󱒲 nf-md-relation_zero_or_many_to_zero_or_many +󱒳 nf-md-relation_zero_or_many_to_zero_or_one +󱒴 nf-md-relation_zero_or_one_to_many +󱒵 nf-md-relation_zero_or_one_to_one +󱒶 nf-md-relation_zero_or_one_to_one_or_many +󱒷 nf-md-relation_zero_or_one_to_only_one +󱒸 nf-md-relation_zero_or_one_to_zero_or_many +󱒹 nf-md-relation_zero_or_one_to_zero_or_one +󱒺 nf-md-alert_plus +󱒻 nf-md-alert_minus +󱒼 nf-md-alert_remove +󱒽 nf-md-alert_plus_outline +󱒾 nf-md-alert_minus_outline +󱒿 nf-md-alert_remove_outline +󱓀 nf-md-carabiner +󱓁 nf-md-fencing +󱓂 nf-md-skateboard +󱓃 nf-md-polo +󱓄 nf-md-tractor_variant +󱓅 nf-md-radiology_box +󱓆 nf-md-radiology_box_outline +󱓇 nf-md-skull_scan +󱓈 nf-md-skull_scan_outline +󱓉 nf-md-plus_minus_variant +󱓊 nf-md-source_branch_plus +󱓋 nf-md-source_branch_minus +󱓌 nf-md-source_branch_remove +󱓍 nf-md-source_branch_refresh +󱓎 nf-md-source_branch_sync +󱓏 nf-md-source_branch_check +󱓐 nf-md-puzzle_plus +󱓑 nf-md-puzzle_minus +󱓒 nf-md-puzzle_remove +󱓓 nf-md-puzzle_edit +󱓔 nf-md-puzzle_heart +󱓕 nf-md-puzzle_star +󱓖 nf-md-puzzle_plus_outline +󱓗 nf-md-puzzle_minus_outline +󱓘 nf-md-puzzle_remove_outline +󱓙 nf-md-puzzle_edit_outline +󱓚 nf-md-puzzle_heart_outline +󱓛 nf-md-puzzle_star_outline +󱓜 nf-md-rhombus_medium_outline +󱓝 nf-md-rhombus_split_outline +󱓞 nf-md-rocket_launch +󱓟 nf-md-rocket_launch_outline +󱓠 nf-md-set_merge +󱓡 nf-md-set_split +󱓢 nf-md-beekeeper +󱓣 nf-md-snowflake_off +󱓤 nf-md-weather_sunny_off +󱓥 nf-md-clipboard_edit +󱓦 nf-md-clipboard_edit_outline +󱓧 nf-md-notebook_edit +󱓨 nf-md-human_edit +󱓩 nf-md-notebook_edit_outline +󱓪 nf-md-cash_lock +󱓫 nf-md-cash_lock_open +󱓬 nf-md-account_supervisor_circle_outline +󱓭 nf-md-car_outline +󱓮 nf-md-cash_check +󱓯 nf-md-filter_off +󱓰 nf-md-filter_off_outline +󱓱 nf-md-spirit_level +󱓲 nf-md-wheel_barrow +󱓳 nf-md-book_check +󱓴 nf-md-book_check_outline +󱓵 nf-md-notebook_check +󱓶 nf-md-notebook_check_outline +󱓷 nf-md-book_open_variant +󱓸 nf-md-sign_pole +󱓹 nf-md-shore +󱓺 nf-md-shape_square_rounded_plus +󱓻 nf-md-square_rounded +󱓼 nf-md-square_rounded_outline +󱓽 nf-md-archive_alert +󱓾 nf-md-archive_alert_outline +󱓿 nf-md-power_socket_it +󱔀 nf-md-square_circle +󱔁 nf-md-symbol +󱔂 nf-md-water_alert +󱔃 nf-md-water_alert_outline +󱔄 nf-md-water_check +󱔅 nf-md-water_check_outline +󱔆 nf-md-water_minus +󱔇 nf-md-water_minus_outline +󱔈 nf-md-water_off_outline +󱔉 nf-md-water_percent_alert +󱔊 nf-md-water_plus +󱔋 nf-md-water_plus_outline +󱔌 nf-md-water_remove +󱔍 nf-md-water_remove_outline +󱔎 nf-md-snake +󱔏 nf-md-format_text_variant_outline +󱔐 nf-md-grass +󱔑 nf-md-access_point_off +󱔒 nf-md-currency_mnt +󱔓 nf-md-dock_top +󱔔 nf-md-share_variant_outline +󱔕 nf-md-transit_skip +󱔖 nf-md-yurt +󱔗 nf-md-file_document_multiple +󱔘 nf-md-file_document_multiple_outline +󱔙 nf-md-ev_plug_ccs1 +󱔚 nf-md-ev_plug_ccs2 +󱔛 nf-md-ev_plug_chademo +󱔜 nf-md-ev_plug_tesla +󱔝 nf-md-ev_plug_type1 +󱔞 nf-md-ev_plug_type2 +󱔟 nf-md-office_building_outline +󱔠 nf-md-office_building_marker +󱔡 nf-md-office_building_marker_outline +󱔢 nf-md-progress_question +󱔣 nf-md-basket_minus +󱔤 nf-md-basket_minus_outline +󱔥 nf-md-basket_off +󱔦 nf-md-basket_off_outline +󱔧 nf-md-basket_plus +󱔨 nf-md-basket_plus_outline +󱔩 nf-md-basket_remove +󱔪 nf-md-basket_remove_outline +󱔫 nf-md-account_reactivate +󱔬 nf-md-account_reactivate_outline +󱔭 nf-md-car_lifted_pickup +󱔮 nf-md-video_high_definition +󱔯 nf-md-phone_remove +󱔰 nf-md-phone_remove_outline +󱔱 nf-md-thermometer_off +󱔲 nf-md-timeline_check +󱔳 nf-md-timeline_check_outline +󱔴 nf-md-timeline_minus +󱔵 nf-md-timeline_minus_outline +󱔶 nf-md-timeline_remove +󱔷 nf-md-timeline_remove_outline +󱔸 nf-md-access_point_check +󱔹 nf-md-access_point_minus +󱔺 nf-md-access_point_plus +󱔻 nf-md-access_point_remove +󱔼 nf-md-data_matrix +󱔽 nf-md-data_matrix_edit +󱔾 nf-md-data_matrix_minus +󱔿 nf-md-data_matrix_plus +󱕀 nf-md-data_matrix_remove +󱕁 nf-md-data_matrix_scan +󱕂 nf-md-tune_variant +󱕃 nf-md-tune_vertical_variant +󱕄 nf-md-rake +󱕅 nf-md-shimmer +󱕆 nf-md-transit_connection_horizontal +󱕇 nf-md-sort_calendar_ascending +󱕈 nf-md-sort_calendar_descending +󱕉 nf-md-sort_clock_ascending +󱕊 nf-md-sort_clock_ascending_outline +󱕋 nf-md-sort_clock_descending +󱕌 nf-md-sort_clock_descending_outline +󱕍 nf-md-chart_box +󱕎 nf-md-chart_box_outline +󱕏 nf-md-chart_box_plus_outline +󱕐 nf-md-mouse_move_down +󱕑 nf-md-mouse_move_up +󱕒 nf-md-mouse_move_vertical +󱕓 nf-md-pitchfork +󱕔 nf-md-vanish_quarter +󱕕 nf-md-application_settings_outline +󱕖 nf-md-delete_clock +󱕗 nf-md-delete_clock_outline +󱕘 nf-md-kangaroo +󱕙 nf-md-phone_dial +󱕚 nf-md-phone_dial_outline +󱕛 nf-md-star_off_outline +󱕜 nf-md-tooltip_check +󱕝 nf-md-tooltip_check_outline +󱕞 nf-md-tooltip_minus +󱕟 nf-md-tooltip_minus_outline +󱕠 nf-md-tooltip_remove +󱕡 nf-md-tooltip_remove_outline +󱕢 nf-md-pretzel +󱕣 nf-md-star_plus +󱕤 nf-md-star_minus +󱕥 nf-md-star_remove +󱕦 nf-md-star_check +󱕧 nf-md-star_plus_outline +󱕨 nf-md-star_minus_outline +󱕩 nf-md-star_remove_outline +󱕪 nf-md-star_check_outline +󱕫 nf-md-eiffel_tower +󱕬 nf-md-submarine +󱕭 nf-md-sofa_outline +󱕮 nf-md-sofa_single +󱕯 nf-md-sofa_single_outline +󱕰 nf-md-text_account +󱕱 nf-md-human_queue +󱕲 nf-md-food_halal +󱕳 nf-md-food_kosher +󱕴 nf-md-key_chain +󱕵 nf-md-key_chain_variant +󱕶 nf-md-lamps +󱕷 nf-md-application_cog_outline +󱕸 nf-md-dance_pole +󱕹 nf-md-social_distance_2_meters +󱕺 nf-md-social_distance_6_feet +󱕻 nf-md-calendar_cursor +󱕼 nf-md-emoticon_sick +󱕽 nf-md-emoticon_sick_outline +󱕾 nf-md-hand_heart_outline +󱕿 nf-md-hand_wash +󱖀 nf-md-hand_wash_outline +󱖁 nf-md-human_cane +󱖂 nf-md-lotion +󱖃 nf-md-lotion_outline +󱖄 nf-md-lotion_plus +󱖅 nf-md-lotion_plus_outline +󱖆 nf-md-face_mask +󱖇 nf-md-face_mask_outline +󱖈 nf-md-reiterate +󱖉 nf-md-butterfly +󱖊 nf-md-butterfly_outline +󱖋 nf-md-bag_suitcase +󱖌 nf-md-bag_suitcase_outline +󱖍 nf-md-bag_suitcase_off +󱖎 nf-md-bag_suitcase_off_outline +󱖏 nf-md-motion_play +󱖐 nf-md-motion_pause +󱖑 nf-md-motion_play_outline +󱖒 nf-md-motion_pause_outline +󱖓 nf-md-arrow_top_left_thin_circle_outline +󱖔 nf-md-arrow_top_right_thin_circle_outline +󱖕 nf-md-arrow_bottom_right_thin_circle_outline +󱖖 nf-md-arrow_bottom_left_thin_circle_outline +󱖗 nf-md-arrow_up_thin_circle_outline +󱖘 nf-md-arrow_right_thin_circle_outline +󱖙 nf-md-arrow_down_thin_circle_outline +󱖚 nf-md-arrow_left_thin_circle_outline +󱖛 nf-md-human_capacity_decrease +󱖜 nf-md-human_capacity_increase +󱖝 nf-md-human_greeting_proximity +󱖞 nf-md-hvac_off +󱖟 nf-md-inbox_remove +󱖠 nf-md-inbox_remove_outline +󱖡 nf-md-handshake_outline +󱖢 nf-md-ladder +󱖣 nf-md-router_wireless_off +󱖤 nf-md-seesaw +󱖥 nf-md-slide +󱖦 nf-md-calculator_variant_outline +󱖧 nf-md-shield_account_variant +󱖨 nf-md-shield_account_variant_outline +󱖩 nf-md-message_flash +󱖪 nf-md-message_flash_outline +󱖫 nf-md-list_status +󱖬 nf-md-message_bookmark +󱖭 nf-md-message_bookmark_outline +󱖮 nf-md-comment_bookmark +󱖯 nf-md-comment_bookmark_outline +󱖰 nf-md-comment_flash +󱖱 nf-md-comment_flash_outline +󱖲 nf-md-motion +󱖳 nf-md-motion_outline +󱖴 nf-md-bicycle_electric +󱖵 nf-md-car_electric_outline +󱖶 nf-md-chart_timeline_variant_shimmer +󱖷 nf-md-moped_electric +󱖸 nf-md-moped_electric_outline +󱖹 nf-md-moped_outline +󱖺 nf-md-motorbike_electric +󱖻 nf-md-rickshaw +󱖼 nf-md-rickshaw_electric +󱖽 nf-md-scooter +󱖾 nf-md-scooter_electric +󱖿 nf-md-horse +󱗀 nf-md-horse_human +󱗁 nf-md-horse_variant +󱗂 nf-md-unicorn +󱗃 nf-md-unicorn_variant +󱗄 nf-md-alarm_panel +󱗅 nf-md-alarm_panel_outline +󱗆 nf-md-bird +󱗇 nf-md-shoe_cleat +󱗈 nf-md-shoe_sneaker +󱗉 nf-md-human_female_dance +󱗊 nf-md-shoe_ballet +󱗋 nf-md-numeric_positive_1 +󱗌 nf-md-face_man_shimmer +󱗍 nf-md-face_man_shimmer_outline +󱗎 nf-md-face_woman_shimmer +󱗏 nf-md-face_woman_shimmer_outline +󱗐 nf-md-home_alert_outline +󱗑 nf-md-lock_alert_outline +󱗒 nf-md-lock_open_alert_outline +󱗓 nf-md-sim_alert_outline +󱗔 nf-md-sim_off_outline +󱗕 nf-md-sim_outline +󱗖 nf-md-book_open_page_variant_outline +󱗗 nf-md-fire_alert +󱗘 nf-md-ray_start_vertex_end +󱗙 nf-md-camera_flip +󱗚 nf-md-camera_flip_outline +󱗛 nf-md-orbit_variant +󱗜 nf-md-circle_box +󱗝 nf-md-circle_box_outline +󱗞 nf-md-mustache +󱗟 nf-md-comment_minus +󱗠 nf-md-comment_minus_outline +󱗡 nf-md-comment_off +󱗢 nf-md-comment_off_outline +󱗣 nf-md-eye_remove +󱗤 nf-md-eye_remove_outline +󱗥 nf-md-unicycle +󱗦 nf-md-glass_cocktail_off +󱗧 nf-md-glass_mug_off +󱗨 nf-md-glass_mug_variant_off +󱗩 nf-md-bicycle_penny_farthing +󱗪 nf-md-cart_check +󱗫 nf-md-cart_variant +󱗬 nf-md-baseball_diamond +󱗭 nf-md-baseball_diamond_outline +󱗮 nf-md-fridge_industrial +󱗯 nf-md-fridge_industrial_alert +󱗰 nf-md-fridge_industrial_alert_outline +󱗱 nf-md-fridge_industrial_off +󱗲 nf-md-fridge_industrial_off_outline +󱗳 nf-md-fridge_industrial_outline +󱗴 nf-md-fridge_variant +󱗵 nf-md-fridge_variant_alert +󱗶 nf-md-fridge_variant_alert_outline +󱗷 nf-md-fridge_variant_off +󱗸 nf-md-fridge_variant_off_outline +󱗹 nf-md-fridge_variant_outline +󱗺 nf-md-windsock +󱗻 nf-md-dance_ballroom +󱗼 nf-md-dots_grid +󱗽 nf-md-dots_square +󱗾 nf-md-dots_triangle +󱗿 nf-md-dots_hexagon +󱘀 nf-md-card_minus +󱘁 nf-md-card_minus_outline +󱘂 nf-md-card_off +󱘃 nf-md-card_off_outline +󱘄 nf-md-card_remove +󱘅 nf-md-card_remove_outline +󱘆 nf-md-torch +󱘇 nf-md-navigation_outline +󱘈 nf-md-map_marker_star +󱘉 nf-md-map_marker_star_outline +󱘊 nf-md-manjaro +󱘋 nf-md-fast_forward_60 +󱘌 nf-md-rewind_60 +󱘍 nf-md-image_text +󱘎 nf-md-family_tree +󱘏 nf-md-car_emergency +󱘐 nf-md-notebook_minus +󱘑 nf-md-notebook_minus_outline +󱘒 nf-md-notebook_plus +󱘓 nf-md-notebook_plus_outline +󱘔 nf-md-notebook_remove +󱘕 nf-md-notebook_remove_outline +󱘖 nf-md-connection +󱘗 nf-md-language_rust +󱘘 nf-md-clipboard_minus +󱘙 nf-md-clipboard_minus_outline +󱘚 nf-md-clipboard_off +󱘛 nf-md-clipboard_off_outline +󱘜 nf-md-clipboard_remove +󱘝 nf-md-clipboard_remove_outline +󱘞 nf-md-clipboard_search +󱘟 nf-md-clipboard_search_outline +󱘠 nf-md-clipboard_text_off +󱘡 nf-md-clipboard_text_off_outline +󱘢 nf-md-clipboard_text_search +󱘣 nf-md-clipboard_text_search_outline +󱘤 nf-md-database_alert_outline +󱘥 nf-md-database_arrow_down_outline +󱘦 nf-md-database_arrow_left_outline +󱘧 nf-md-database_arrow_right_outline +󱘨 nf-md-database_arrow_up_outline +󱘩 nf-md-database_check_outline +󱘪 nf-md-database_clock_outline +󱘫 nf-md-database_edit_outline +󱘬 nf-md-database_export_outline +󱘭 nf-md-database_import_outline +󱘮 nf-md-database_lock_outline +󱘯 nf-md-database_marker_outline +󱘰 nf-md-database_minus_outline +󱘱 nf-md-database_off_outline +󱘲 nf-md-database_outline +󱘳 nf-md-database_plus_outline +󱘴 nf-md-database_refresh_outline +󱘵 nf-md-database_remove_outline +󱘶 nf-md-database_search_outline +󱘷 nf-md-database_settings_outline +󱘸 nf-md-database_sync_outline +󱘹 nf-md-minus_thick +󱘺 nf-md-database_alert +󱘻 nf-md-database_arrow_down +󱘼 nf-md-database_arrow_left +󱘽 nf-md-database_arrow_right +󱘾 nf-md-database_arrow_up +󱘿 nf-md-database_clock +󱙀 nf-md-database_off +󱙁 nf-md-calendar_lock +󱙂 nf-md-calendar_lock_outline +󱙃 nf-md-content_save_off +󱙄 nf-md-content_save_off_outline +󱙅 nf-md-credit_card_refresh +󱙆 nf-md-credit_card_refresh_outline +󱙇 nf-md-credit_card_search +󱙈 nf-md-credit_card_search_outline +󱙉 nf-md-credit_card_sync +󱙊 nf-md-credit_card_sync_outline +󱙋 nf-md-database_cog +󱙌 nf-md-database_cog_outline +󱙍 nf-md-message_off +󱙎 nf-md-message_off_outline +󱙏 nf-md-note_minus +󱙐 nf-md-note_minus_outline +󱙑 nf-md-note_remove +󱙒 nf-md-note_remove_outline +󱙓 nf-md-note_search +󱙔 nf-md-note_search_outline +󱙕 nf-md-bank_check +󱙖 nf-md-bank_off +󱙗 nf-md-bank_off_outline +󱙘 nf-md-briefcase_off +󱙙 nf-md-briefcase_off_outline +󱙚 nf-md-briefcase_variant_off +󱙛 nf-md-briefcase_variant_off_outline +󱙜 nf-md-ghost_off_outline +󱙝 nf-md-ghost_outline +󱙞 nf-md-store_minus +󱙟 nf-md-store_plus +󱙠 nf-md-store_remove +󱙡 nf-md-email_remove +󱙢 nf-md-email_remove_outline +󱙣 nf-md-heart_cog +󱙤 nf-md-heart_cog_outline +󱙥 nf-md-heart_settings +󱙦 nf-md-heart_settings_outline +󱙧 nf-md-pentagram +󱙨 nf-md-star_cog +󱙩 nf-md-star_cog_outline +󱙪 nf-md-star_settings +󱙫 nf-md-star_settings_outline +󱙬 nf-md-calendar_end +󱙭 nf-md-calendar_start +󱙮 nf-md-cannabis_off +󱙯 nf-md-mower +󱙰 nf-md-mower_bag +󱙱 nf-md-lock_off +󱙲 nf-md-lock_off_outline +󱙳 nf-md-shark_fin +󱙴 nf-md-shark_fin_outline +󱙵 nf-md-paw_outline +󱙶 nf-md-paw_off_outline +󱙷 nf-md-snail +󱙸 nf-md-pig_variant_outline +󱙹 nf-md-piggy_bank_outline +󱙺 nf-md-robot_outline +󱙻 nf-md-robot_off_outline +󱙼 nf-md-book_alert +󱙽 nf-md-book_alert_outline +󱙾 nf-md-book_arrow_down +󱙿 nf-md-book_arrow_down_outline +󱚀 nf-md-book_arrow_left +󱚁 nf-md-book_arrow_left_outline +󱚂 nf-md-book_arrow_right +󱚃 nf-md-book_arrow_right_outline +󱚄 nf-md-book_arrow_up +󱚅 nf-md-book_arrow_up_outline +󱚆 nf-md-book_cancel +󱚇 nf-md-book_cancel_outline +󱚈 nf-md-book_clock +󱚉 nf-md-book_clock_outline +󱚊 nf-md-book_cog +󱚋 nf-md-book_cog_outline +󱚌 nf-md-book_edit +󱚍 nf-md-book_edit_outline +󱚎 nf-md-book_lock_open_outline +󱚏 nf-md-book_lock_outline +󱚐 nf-md-book_marker +󱚑 nf-md-book_marker_outline +󱚒 nf-md-book_minus_outline +󱚓 nf-md-book_music_outline +󱚔 nf-md-book_off +󱚕 nf-md-book_off_outline +󱚖 nf-md-book_plus_outline +󱚗 nf-md-book_refresh +󱚘 nf-md-book_refresh_outline +󱚙 nf-md-book_remove_outline +󱚚 nf-md-book_settings +󱚛 nf-md-book_settings_outline +󱚜 nf-md-book_sync +󱚝 nf-md-robot_angry +󱚞 nf-md-robot_angry_outline +󱚟 nf-md-robot_confused +󱚠 nf-md-robot_confused_outline +󱚡 nf-md-robot_dead +󱚢 nf-md-robot_dead_outline +󱚣 nf-md-robot_excited +󱚤 nf-md-robot_excited_outline +󱚥 nf-md-robot_love +󱚦 nf-md-robot_love_outline +󱚧 nf-md-robot_off +󱚨 nf-md-lock_check_outline +󱚩 nf-md-lock_minus +󱚪 nf-md-lock_minus_outline +󱚫 nf-md-lock_open_check_outline +󱚬 nf-md-lock_open_minus +󱚭 nf-md-lock_open_minus_outline +󱚮 nf-md-lock_open_plus +󱚯 nf-md-lock_open_plus_outline +󱚰 nf-md-lock_open_remove +󱚱 nf-md-lock_open_remove_outline +󱚲 nf-md-lock_plus_outline +󱚳 nf-md-lock_remove +󱚴 nf-md-lock_remove_outline +󱚵 nf-md-wifi_alert +󱚶 nf-md-wifi_arrow_down +󱚷 nf-md-wifi_arrow_left +󱚸 nf-md-wifi_arrow_left_right +󱚹 nf-md-wifi_arrow_right +󱚺 nf-md-wifi_arrow_up +󱚻 nf-md-wifi_arrow_up_down +󱚼 nf-md-wifi_cancel +󱚽 nf-md-wifi_check +󱚾 nf-md-wifi_cog +󱚿 nf-md-wifi_lock +󱛀 nf-md-wifi_lock_open +󱛁 nf-md-wifi_marker +󱛂 nf-md-wifi_minus +󱛃 nf-md-wifi_plus +󱛄 nf-md-wifi_refresh +󱛅 nf-md-wifi_remove +󱛆 nf-md-wifi_settings +󱛇 nf-md-wifi_sync +󱛈 nf-md-book_sync_outline +󱛉 nf-md-book_education +󱛊 nf-md-book_education_outline +󱛋 nf-md-wifi_strength_1_lock_open +󱛌 nf-md-wifi_strength_2_lock_open +󱛍 nf-md-wifi_strength_3_lock_open +󱛎 nf-md-wifi_strength_4_lock_open +󱛏 nf-md-wifi_strength_lock_open_outline +󱛐 nf-md-cookie_alert +󱛑 nf-md-cookie_alert_outline +󱛒 nf-md-cookie_check +󱛓 nf-md-cookie_check_outline +󱛔 nf-md-cookie_cog +󱛕 nf-md-cookie_cog_outline +󱛖 nf-md-cookie_plus +󱛗 nf-md-cookie_plus_outline +󱛘 nf-md-cookie_remove +󱛙 nf-md-cookie_remove_outline +󱛚 nf-md-cookie_minus +󱛛 nf-md-cookie_minus_outline +󱛜 nf-md-cookie_settings +󱛝 nf-md-cookie_settings_outline +󱛞 nf-md-cookie_outline +󱛟 nf-md-tape_drive +󱛠 nf-md-abacus +󱛡 nf-md-calendar_clock_outline +󱛢 nf-md-clipboard_clock +󱛣 nf-md-clipboard_clock_outline +󱛤 nf-md-cookie_clock +󱛥 nf-md-cookie_clock_outline +󱛦 nf-md-cookie_edit +󱛧 nf-md-cookie_edit_outline +󱛨 nf-md-cookie_lock +󱛩 nf-md-cookie_lock_outline +󱛪 nf-md-cookie_off +󱛫 nf-md-cookie_off_outline +󱛬 nf-md-cookie_refresh +󱛭 nf-md-cookie_refresh_outline +󱛮 nf-md-dog_side_off +󱛯 nf-md-gift_off +󱛰 nf-md-gift_off_outline +󱛱 nf-md-gift_open +󱛲 nf-md-gift_open_outline +󱛳 nf-md-movie_check +󱛴 nf-md-movie_check_outline +󱛵 nf-md-movie_cog +󱛶 nf-md-movie_cog_outline +󱛷 nf-md-movie_minus +󱛸 nf-md-movie_minus_outline +󱛹 nf-md-movie_off +󱛺 nf-md-movie_off_outline +󱛻 nf-md-movie_open_check +󱛼 nf-md-movie_open_check_outline +󱛽 nf-md-movie_open_cog +󱛾 nf-md-movie_open_cog_outline +󱛿 nf-md-movie_open_edit +󱜀 nf-md-movie_open_edit_outline +󱜁 nf-md-movie_open_minus +󱜂 nf-md-movie_open_minus_outline +󱜃 nf-md-movie_open_off +󱜄 nf-md-movie_open_off_outline +󱜅 nf-md-movie_open_play +󱜆 nf-md-movie_open_play_outline +󱜇 nf-md-movie_open_plus +󱜈 nf-md-movie_open_plus_outline +󱜉 nf-md-movie_open_remove +󱜊 nf-md-movie_open_remove_outline +󱜋 nf-md-movie_open_settings +󱜌 nf-md-movie_open_settings_outline +󱜍 nf-md-movie_open_star +󱜎 nf-md-movie_open_star_outline +󱜏 nf-md-movie_play +󱜐 nf-md-movie_play_outline +󱜑 nf-md-movie_plus +󱜒 nf-md-movie_plus_outline +󱜓 nf-md-movie_remove +󱜔 nf-md-movie_remove_outline +󱜕 nf-md-movie_settings +󱜖 nf-md-movie_settings_outline +󱜗 nf-md-movie_star +󱜘 nf-md-movie_star_outline +󱜙 nf-md-robot_happy +󱜚 nf-md-robot_happy_outline +󱜛 nf-md-turkey +󱜜 nf-md-food_turkey +󱜝 nf-md-fan_auto +󱜞 nf-md-alarm_light_off +󱜟 nf-md-alarm_light_off_outline +󱜠 nf-md-broadcast +󱜡 nf-md-broadcast_off +󱜢 nf-md-fire_off +󱜣 nf-md-firework_off +󱜤 nf-md-projector_screen_outline +󱜥 nf-md-script_text_key +󱜦 nf-md-script_text_key_outline +󱜧 nf-md-script_text_play +󱜨 nf-md-script_text_play_outline +󱜩 nf-md-surround_sound_2_1 +󱜪 nf-md-surround_sound_5_1_2 +󱜫 nf-md-tag_arrow_down +󱜬 nf-md-tag_arrow_down_outline +󱜭 nf-md-tag_arrow_left +󱜮 nf-md-tag_arrow_left_outline +󱜯 nf-md-tag_arrow_right +󱜰 nf-md-tag_arrow_right_outline +󱜱 nf-md-tag_arrow_up +󱜲 nf-md-tag_arrow_up_outline +󱜳 nf-md-train_car_passenger +󱜴 nf-md-train_car_passenger_door +󱜵 nf-md-train_car_passenger_door_open +󱜶 nf-md-train_car_passenger_variant +󱜷 nf-md-webcam_off +󱜸 nf-md-chat_question +󱜹 nf-md-chat_question_outline +󱜺 nf-md-message_question +󱜻 nf-md-message_question_outline +󱜼 nf-md-kettle_pour_over +󱜽 nf-md-message_reply_outline +󱜾 nf-md-message_reply_text_outline +󱜿 nf-md-koala +󱝀 nf-md-check_decagram_outline +󱝁 nf-md-star_shooting +󱝂 nf-md-star_shooting_outline +󱝃 nf-md-table_picnic +󱝄 nf-md-kitesurfing +󱝅 nf-md-paragliding +󱝆 nf-md-surfing +󱝇 nf-md-floor_lamp_torchiere +󱝈 nf-md-mortar_pestle +󱝉 nf-md-cast_audio_variant +󱝊 nf-md-gradient_horizontal +󱝋 nf-md-archive_cancel +󱝌 nf-md-archive_cancel_outline +󱝍 nf-md-archive_check +󱝎 nf-md-archive_check_outline +󱝏 nf-md-archive_clock +󱝐 nf-md-archive_clock_outline +󱝑 nf-md-archive_cog +󱝒 nf-md-archive_cog_outline +󱝓 nf-md-archive_edit +󱝔 nf-md-archive_edit_outline +󱝕 nf-md-archive_eye +󱝖 nf-md-archive_eye_outline +󱝗 nf-md-archive_lock +󱝘 nf-md-archive_lock_open +󱝙 nf-md-archive_lock_open_outline +󱝚 nf-md-archive_lock_outline +󱝛 nf-md-archive_marker +󱝜 nf-md-archive_marker_outline +󱝝 nf-md-archive_minus +󱝞 nf-md-archive_minus_outline +󱝟 nf-md-archive_music +󱝠 nf-md-archive_music_outline +󱝡 nf-md-archive_off +󱝢 nf-md-archive_off_outline +󱝣 nf-md-archive_plus +󱝤 nf-md-archive_plus_outline +󱝥 nf-md-archive_refresh +󱝦 nf-md-archive_refresh_outline +󱝧 nf-md-archive_remove +󱝨 nf-md-archive_remove_outline +󱝩 nf-md-archive_search +󱝪 nf-md-archive_search_outline +󱝫 nf-md-archive_settings +󱝬 nf-md-archive_settings_outline +󱝭 nf-md-archive_star +󱝮 nf-md-archive_star_outline +󱝯 nf-md-archive_sync +󱝰 nf-md-archive_sync_outline +󱝱 nf-md-brush_off +󱝲 nf-md-file_image_marker +󱝳 nf-md-file_image_marker_outline +󱝴 nf-md-file_marker +󱝵 nf-md-file_marker_outline +󱝶 nf-md-hamburger_check +󱝷 nf-md-hamburger_minus +󱝸 nf-md-hamburger_off +󱝹 nf-md-hamburger_plus +󱝺 nf-md-hamburger_remove +󱝻 nf-md-image_marker +󱝼 nf-md-image_marker_outline +󱝽 nf-md-note_alert +󱝾 nf-md-note_alert_outline +󱝿 nf-md-note_check +󱞀 nf-md-note_check_outline +󱞁 nf-md-note_edit +󱞂 nf-md-note_edit_outline +󱞃 nf-md-note_off +󱞄 nf-md-note_off_outline +󱞅 nf-md-printer_off_outline +󱞆 nf-md-printer_outline +󱞇 nf-md-progress_pencil +󱞈 nf-md-progress_star +󱞉 nf-md-sausage_off +󱞊 nf-md-folder_eye +󱞋 nf-md-folder_eye_outline +󱞌 nf-md-information_off +󱞍 nf-md-information_off_outline +󱞎 nf-md-sticker_text +󱞏 nf-md-sticker_text_outline +󱞐 nf-md-web_cancel +󱞑 nf-md-web_refresh +󱞒 nf-md-web_sync +󱞓 nf-md-chandelier +󱞔 nf-md-home_switch +󱞕 nf-md-home_switch_outline +󱞖 nf-md-sun_snowflake +󱞗 nf-md-ceiling_fan +󱞘 nf-md-ceiling_fan_light +󱞙 nf-md-smoke +󱞚 nf-md-fence +󱞛 nf-md-light_recessed +󱞜 nf-md-battery_lock +󱞝 nf-md-battery_lock_open +󱞞 nf-md-folder_hidden +󱞟 nf-md-mirror_rectangle +󱞠 nf-md-mirror_variant +󱞡 nf-md-arrow_down_left +󱞢 nf-md-arrow_down_left_bold +󱞣 nf-md-arrow_down_right +󱞤 nf-md-arrow_down_right_bold +󱞥 nf-md-arrow_left_bottom +󱞦 nf-md-arrow_left_bottom_bold +󱞧 nf-md-arrow_left_top +󱞨 nf-md-arrow_left_top_bold +󱞩 nf-md-arrow_right_bottom +󱞪 nf-md-arrow_right_bottom_bold +󱞫 nf-md-arrow_right_top +󱞬 nf-md-arrow_right_top_bold +󱞭 nf-md-arrow_u_down_left +󱞮 nf-md-arrow_u_down_left_bold +󱞯 nf-md-arrow_u_down_right +󱞰 nf-md-arrow_u_down_right_bold +󱞱 nf-md-arrow_u_left_bottom +󱞲 nf-md-arrow_u_left_bottom_bold +󱞳 nf-md-arrow_u_left_top +󱞴 nf-md-arrow_u_left_top_bold +󱞵 nf-md-arrow_u_right_bottom +󱞶 nf-md-arrow_u_right_bottom_bold +󱞷 nf-md-arrow_u_right_top +󱞸 nf-md-arrow_u_right_top_bold +󱞹 nf-md-arrow_u_up_left +󱞺 nf-md-arrow_u_up_left_bold +󱞻 nf-md-arrow_u_up_right +󱞼 nf-md-arrow_u_up_right_bold +󱞽 nf-md-arrow_up_left +󱞾 nf-md-arrow_up_left_bold +󱞿 nf-md-arrow_up_right +󱟀 nf-md-arrow_up_right_bold +󱟁 nf-md-select_remove +󱟂 nf-md-selection_ellipse_remove +󱟃 nf-md-selection_remove +󱟄 nf-md-human_greeting +󱟅 nf-md-ph +󱟆 nf-md-water_sync +󱟇 nf-md-ceiling_light_outline +󱟈 nf-md-floor_lamp_outline +󱟉 nf-md-wall_sconce_flat_outline +󱟊 nf-md-wall_sconce_flat_variant_outline +󱟋 nf-md-wall_sconce_outline +󱟌 nf-md-wall_sconce_round_outline +󱟍 nf-md-wall_sconce_round_variant_outline +󱟎 nf-md-floor_lamp_dual_outline +󱟏 nf-md-floor_lamp_torchiere_variant_outline +󱟐 nf-md-lamp_outline +󱟑 nf-md-lamps_outline +󱟒 nf-md-candelabra +󱟓 nf-md-candelabra_fire +󱟔 nf-md-menorah +󱟕 nf-md-menorah_fire +󱟖 nf-md-floor_lamp_torchiere_outline +󱟗 nf-md-credit_card_edit +󱟘 nf-md-credit_card_edit_outline +󱟙 nf-md-briefcase_eye +󱟚 nf-md-briefcase_eye_outline +󱟛 nf-md-soundbar +󱟜 nf-md-crown_circle +󱟝 nf-md-crown_circle_outline +󱟞 nf-md-battery_arrow_down +󱟟 nf-md-battery_arrow_down_outline +󱟠 nf-md-battery_arrow_up +󱟡 nf-md-battery_arrow_up_outline +󱟢 nf-md-battery_check +󱟣 nf-md-battery_check_outline +󱟤 nf-md-battery_minus +󱟥 nf-md-battery_minus_outline +󱟦 nf-md-battery_plus +󱟧 nf-md-battery_plus_outline +󱟨 nf-md-battery_remove +󱟩 nf-md-battery_remove_outline +󱟪 nf-md-chili_alert +󱟫 nf-md-chili_alert_outline +󱟬 nf-md-chili_hot_outline +󱟭 nf-md-chili_medium_outline +󱟮 nf-md-chili_mild_outline +󱟯 nf-md-chili_off_outline +󱟰 nf-md-cake_variant_outline +󱟱 nf-md-card_multiple +󱟲 nf-md-card_multiple_outline +󱟳 nf-md-account_cowboy_hat_outline +󱟴 nf-md-lightbulb_spot +󱟵 nf-md-lightbulb_spot_off +󱟶 nf-md-fence_electric +󱟷 nf-md-gate_arrow_left +󱟸 nf-md-gate_alert +󱟹 nf-md-boom_gate_up +󱟺 nf-md-boom_gate_up_outline +󱟻 nf-md-garage_lock +󱟼 nf-md-garage_variant_lock +󱟽 nf-md-cellphone_check +󱟾 nf-md-sun_wireless +󱟿 nf-md-sun_wireless_outline +󱠀 nf-md-lightbulb_auto +󱠁 nf-md-lightbulb_auto_outline +󱠂 nf-md-lightbulb_variant +󱠃 nf-md-lightbulb_variant_outline +󱠄 nf-md-lightbulb_fluorescent_tube +󱠅 nf-md-lightbulb_fluorescent_tube_outline +󱠆 nf-md-water_circle +󱠇 nf-md-fire_circle +󱠈 nf-md-smoke_detector_outline +󱠉 nf-md-smoke_detector_off +󱠊 nf-md-smoke_detector_off_outline +󱠋 nf-md-smoke_detector_variant +󱠌 nf-md-smoke_detector_variant_off +󱠍 nf-md-projector_screen_off +󱠎 nf-md-projector_screen_off_outline +󱠏 nf-md-projector_screen_variant +󱠐 nf-md-projector_screen_variant_off +󱠑 nf-md-projector_screen_variant_off_outline +󱠒 nf-md-projector_screen_variant_outline +󱠓 nf-md-brush_variant +󱠔 nf-md-car_wrench +󱠕 nf-md-account_injury +󱠖 nf-md-account_injury_outline +󱠗 nf-md-balcony +󱠘 nf-md-bathtub +󱠙 nf-md-bathtub_outline +󱠚 nf-md-blender_outline +󱠛 nf-md-coffee_maker_outline +󱠜 nf-md-countertop +󱠝 nf-md-countertop_outline +󱠞 nf-md-door_sliding +󱠟 nf-md-door_sliding_lock +󱠠 nf-md-door_sliding_open +󱠡 nf-md-hand_wave +󱠢 nf-md-hand_wave_outline +󱠣 nf-md-human_male_female_child +󱠤 nf-md-iron +󱠥 nf-md-iron_outline +󱠦 nf-md-liquid_spot +󱠧 nf-md-mosque +󱠨 nf-md-shield_moon +󱠩 nf-md-shield_moon_outline +󱠪 nf-md-traffic_light_outline +󱠫 nf-md-hand_front_left +󱠬 nf-md-hand_back_left_outline +󱠭 nf-md-hand_back_right_outline +󱠮 nf-md-hand_front_left_outline +󱠯 nf-md-hand_front_right_outline +󱠰 nf-md-hand_back_left_off +󱠱 nf-md-hand_back_right_off +󱠲 nf-md-hand_back_left_off_outline +󱠳 nf-md-hand_back_right_off_outline +󱠴 nf-md-battery_sync +󱠵 nf-md-battery_sync_outline +󱠶 nf-md-food_takeout_box +󱠷 nf-md-food_takeout_box_outline +󱠸 nf-md-iron_board +󱠹 nf-md-police_station +󱠺 nf-md-cellphone_marker +󱠻 nf-md-tooltip_cellphone +󱠼 nf-md-table_pivot +󱠽 nf-md-tunnel +󱠾 nf-md-tunnel_outline +󱠿 nf-md-arrow_projectile_multiple +󱡀 nf-md-arrow_projectile +󱡁 nf-md-bow_arrow +󱡂 nf-md-axe_battle +󱡃 nf-md-mace +󱡄 nf-md-magic_staff +󱡅 nf-md-spear +󱡆 nf-md-curtains +󱡇 nf-md-curtains_closed +󱡈 nf-md-human_non_binary +󱡉 nf-md-waterfall +󱡊 nf-md-egg_fried +󱡋 nf-md-food_hot_dog +󱡌 nf-md-induction +󱡍 nf-md-pipe_valve +󱡎 nf-md-shipping_pallet +󱡏 nf-md-earbuds +󱡐 nf-md-earbuds_off +󱡑 nf-md-earbuds_off_outline +󱡒 nf-md-earbuds_outline +󱡓 nf-md-circle_opacity +󱡔 nf-md-square_opacity +󱡕 nf-md-water_opacity +󱡖 nf-md-vector_polygon_variant +󱡗 nf-md-vector_square_close +󱡘 nf-md-vector_square_open +󱡙 nf-md-waves_arrow_left +󱡚 nf-md-waves_arrow_right +󱡛 nf-md-waves_arrow_up +󱡜 nf-md-cash_fast +󱡝 nf-md-radioactive_circle +󱡞 nf-md-radioactive_circle_outline +󱡟 nf-md-cctv_off +󱡠 nf-md-format_list_group +󱡡 nf-md-clock_plus +󱡢 nf-md-clock_plus_outline +󱡣 nf-md-clock_minus +󱡤 nf-md-clock_minus_outline +󱡥 nf-md-clock_remove +󱡦 nf-md-clock_remove_outline +󱡧 nf-md-account_arrow_up +󱡨 nf-md-account_arrow_down +󱡩 nf-md-account_arrow_down_outline +󱡪 nf-md-account_arrow_up_outline +󱡫 nf-md-audio_input_rca +󱡬 nf-md-audio_input_stereo_minijack +󱡭 nf-md-audio_input_xlr +󱡮 nf-md-horse_variant_fast +󱡯 nf-md-email_fast +󱡰 nf-md-email_fast_outline +󱡱 nf-md-camera_document +󱡲 nf-md-camera_document_off +󱡳 nf-md-glass_fragile +󱡴 nf-md-magnify_expand +󱡵 nf-md-town_hall +󱡶 nf-md-monitor_small +󱡷 nf-md-diversify +󱡸 nf-md-car_wireless +󱡹 nf-md-car_select +󱡺 nf-md-airplane_alert +󱡻 nf-md-airplane_check +󱡼 nf-md-airplane_clock +󱡽 nf-md-airplane_cog +󱡾 nf-md-airplane_edit +󱡿 nf-md-airplane_marker +󱢀 nf-md-airplane_minus +󱢁 nf-md-airplane_plus +󱢂 nf-md-airplane_remove +󱢃 nf-md-airplane_search +󱢄 nf-md-airplane_settings +󱢅 nf-md-flower_pollen +󱢆 nf-md-flower_pollen_outline +󱢇 nf-md-hammer_sickle +󱢈 nf-md-view_gallery +󱢉 nf-md-view_gallery_outline +󱢊 nf-md-umbrella_beach +󱢋 nf-md-umbrella_beach_outline +󱢌 nf-md-cabin_a_frame +󱢍 nf-md-all_inclusive_box +󱢎 nf-md-all_inclusive_box_outline +󱢏 nf-md-hand_coin +󱢐 nf-md-hand_coin_outline +󱢑 nf-md-truck_flatbed +󱢒 nf-md-layers_edit +󱢓 nf-md-multicast +󱢔 nf-md-hydrogen_station +󱢕 nf-md-thermometer_bluetooth +󱢖 nf-md-tire +󱢗 nf-md-forest +󱢘 nf-md-account_tie_hat +󱢙 nf-md-account_tie_hat_outline +󱢚 nf-md-account_wrench +󱢛 nf-md-account_wrench_outline +󱢜 nf-md-bicycle_cargo +󱢝 nf-md-calendar_collapse_horizontal +󱢞 nf-md-calendar_expand_horizontal +󱢟 nf-md-cards_club_outline +󱢡 nf-md-cards_playing +󱢢 nf-md-cards_playing_club +󱢣 nf-md-cards_playing_club_multiple +󱢤 nf-md-cards_playing_club_multiple_outline +󱢥 nf-md-cards_playing_club_outline +󱢦 nf-md-cards_playing_diamond +󱢧 nf-md-cards_playing_diamond_multiple +󱢨 nf-md-cards_playing_diamond_multiple_outline +󱢩 nf-md-cards_playing_diamond_outline +󱢪 nf-md-cards_playing_heart +󱢫 nf-md-cards_playing_heart_multiple +󱢬 nf-md-cards_playing_heart_multiple_outline +󱢭 nf-md-cards_playing_heart_outline +󱢮 nf-md-cards_playing_spade +󱢯 nf-md-cards_playing_spade_multiple +󱢰 nf-md-cards_playing_spade_multiple_outline +󱢱 nf-md-cards_playing_spade_outline +󱢲 nf-md-cards_spade_outline +󱢳 nf-md-compare_remove +󱢴 nf-md-dolphin +󱢵 nf-md-fuel_cell +󱢶 nf-md-hand_extended +󱢷 nf-md-hand_extended_outline +󱢸 nf-md-printer_3d_nozzle_heat +󱢹 nf-md-printer_3d_nozzle_heat_outline +󱢺 nf-md-shark +󱢻 nf-md-shark_off +󱢼 nf-md-shield_crown +󱢽 nf-md-shield_crown_outline +󱢾 nf-md-shield_sword +󱢿 nf-md-shield_sword_outline +󱣀 nf-md-sickle +󱣁 nf-md-store_alert +󱣂 nf-md-store_alert_outline +󱣃 nf-md-store_check +󱣄 nf-md-store_check_outline +󱣅 nf-md-store_clock +󱣆 nf-md-store_clock_outline +󱣇 nf-md-store_cog +󱣈 nf-md-store_cog_outline +󱣉 nf-md-store_edit +󱣊 nf-md-store_edit_outline +󱣋 nf-md-store_marker +󱣌 nf-md-store_marker_outline +󱣍 nf-md-store_minus_outline +󱣎 nf-md-store_off +󱣏 nf-md-store_off_outline +󱣐 nf-md-store_plus_outline +󱣑 nf-md-store_remove_outline +󱣒 nf-md-store_search +󱣓 nf-md-store_search_outline +󱣔 nf-md-store_settings +󱣕 nf-md-store_settings_outline +󱣖 nf-md-sun_thermometer +󱣗 nf-md-sun_thermometer_outline +󱣘 nf-md-truck_cargo_container +󱣙 nf-md-vector_square_edit +󱣚 nf-md-vector_square_minus +󱣛 nf-md-vector_square_plus +󱣜 nf-md-vector_square_remove +󱣝 nf-md-ceiling_light_multiple +󱣞 nf-md-ceiling_light_multiple_outline +󱣟 nf-md-wiper_wash_alert +󱣠 nf-md-cart_heart +󱣡 nf-md-virus_off +󱣢 nf-md-virus_off_outline +󱣣 nf-md-map_marker_account +󱣤 nf-md-map_marker_account_outline +󱣥 nf-md-basket_check +󱣦 nf-md-basket_check_outline +󱣧 nf-md-credit_card_lock +󱣨 nf-md-credit_card_lock_outline +󱣩 nf-md-format_underline_wavy +󱣪 nf-md-content_save_check +󱣫 nf-md-content_save_check_outline +󱣬 nf-md-filter_check +󱣭 nf-md-filter_check_outline +󱣮 nf-md-flag_off +󱣯 nf-md-flag_off_outline +󱣱 nf-md-navigation_variant_outline +󱣲 nf-md-refresh_auto +󱣳 nf-md-tilde_off +󱣴 nf-md-fit_to_screen +󱣵 nf-md-fit_to_screen_outline +󱣶 nf-md-weather_cloudy_clock +󱣷 nf-md-smart_card_off +󱣸 nf-md-smart_card_off_outline +󱣹 nf-md-clipboard_text_clock +󱣺 nf-md-clipboard_text_clock_outline +󱣻 nf-md-teddy_bear +󱣼 nf-md-cow_off +󱣽 nf-md-eye_arrow_left +󱣾 nf-md-eye_arrow_left_outline +󱣿 nf-md-eye_arrow_right +󱤀 nf-md-eye_arrow_right_outline +󱤁 nf-md-home_battery +󱤂 nf-md-home_battery_outline +󱤃 nf-md-home_lightning_bolt +󱤄 nf-md-home_lightning_bolt_outline +󱤅 nf-md-leaf_circle +󱤆 nf-md-leaf_circle_outline +󱤇 nf-md-tag_search +󱤈 nf-md-tag_search_outline +󱤉 nf-md-car_brake_fluid_level +󱤊 nf-md-car_brake_low_pressure +󱤋 nf-md-car_brake_temperature +󱤌 nf-md-car_brake_worn_linings +󱤍 nf-md-car_light_alert +󱤎 nf-md-car_speed_limiter +󱤏 nf-md-credit_card_chip +󱤐 nf-md-credit_card_chip_outline +󱤑 nf-md-credit_card_fast +󱤒 nf-md-credit_card_fast_outline +󱤓 nf-md-integrated_circuit_chip +󱤔 nf-md-thumbs_up_down_outline +󱤕 nf-md-food_off_outline +󱤖 nf-md-food_outline +󱤗 nf-md-format_page_split +󱤘 nf-md-chart_waterfall +󱤙 nf-md-gamepad_outline +󱤚 nf-md-network_strength_4_cog +󱤛 nf-md-account_sync +󱤜 nf-md-account_sync_outline +󱤝 nf-md-bus_electric +󱤞 nf-md-liquor +󱤟 nf-md-database_eye +󱤠 nf-md-database_eye_off +󱤡 nf-md-database_eye_off_outline +󱤢 nf-md-database_eye_outline +󱤣 nf-md-timer_settings +󱤤 nf-md-timer_settings_outline +󱤥 nf-md-timer_cog +󱤦 nf-md-timer_cog_outline +󱤧 nf-md-checkbox_marked_circle_plus_outline +󱤨 nf-md-panorama_horizontal +󱤩 nf-md-panorama_vertical +󱤪 nf-md-advertisements +󱤫 nf-md-advertisements_off +󱤬 nf-md-transmission_tower_export +󱤭 nf-md-transmission_tower_import +󱤮 nf-md-smoke_detector_alert +󱤯 nf-md-smoke_detector_alert_outline +󱤰 nf-md-smoke_detector_variant_alert +󱤱 nf-md-coffee_maker_check +󱤲 nf-md-coffee_maker_check_outline +󱤳 nf-md-cog_pause +󱤴 nf-md-cog_pause_outline +󱤵 nf-md-cog_play +󱤶 nf-md-cog_play_outline +󱤷 nf-md-cog_stop +󱤸 nf-md-cog_stop_outline +󱤹 nf-md-copyleft +󱤺 nf-md-fast_forward_15 +󱤻 nf-md-file_image_minus +󱤼 nf-md-file_image_minus_outline +󱤽 nf-md-file_image_plus +󱤾 nf-md-file_image_plus_outline +󱤿 nf-md-file_image_remove +󱥀 nf-md-file_image_remove_outline +󱥁 nf-md-message_badge +󱥂 nf-md-message_badge_outline +󱥃 nf-md-newspaper_check +󱥄 nf-md-newspaper_remove +󱥅 nf-md-publish_off +󱥆 nf-md-rewind_15 +󱥇 nf-md-view_dashboard_edit +󱥈 nf-md-view_dashboard_edit_outline +󱥉 nf-md-office_building_cog +󱥊 nf-md-office_building_cog_outline +󱥋 nf-md-hand_clap +󱥌 nf-md-cone +󱥍 nf-md-cone_off +󱥎 nf-md-cylinder +󱥏 nf-md-cylinder_off +󱥐 nf-md-octahedron +󱥑 nf-md-octahedron_off +󱥒 nf-md-pyramid +󱥓 nf-md-pyramid_off +󱥔 nf-md-sphere +󱥕 nf-md-sphere_off +󱥖 nf-md-format_letter_spacing +󱥗 nf-md-french_fries +󱥘 nf-md-scent +󱥙 nf-md-scent_off +󱥚 nf-md-palette_swatch_variant +󱥛 nf-md-email_seal +󱥜 nf-md-email_seal_outline +󱥝 nf-md-stool +󱥞 nf-md-stool_outline +󱥟 nf-md-panorama_wide_angle +󱥠 nf-md-account_lock_open +󱥡 nf-md-account_lock_open_outline +󱥢 nf-md-align_horizontal_distribute +󱥣 nf-md-align_vertical_distribute +󱥤 nf-md-arrow_bottom_left_bold_box +󱥥 nf-md-arrow_bottom_left_bold_box_outline +󱥦 nf-md-arrow_bottom_right_bold_box +󱥧 nf-md-arrow_bottom_right_bold_box_outline +󱥨 nf-md-arrow_top_left_bold_box +󱥩 nf-md-arrow_top_left_bold_box_outline +󱥪 nf-md-arrow_top_right_bold_box +󱥫 nf-md-arrow_top_right_bold_box_outline +󱥬 nf-md-bookmark_box_multiple +󱥭 nf-md-bookmark_box_multiple_outline +󱥮 nf-md-bullhorn_variant +󱥯 nf-md-bullhorn_variant_outline +󱥰 nf-md-candy +󱥱 nf-md-candy_off +󱥲 nf-md-candy_off_outline +󱥳 nf-md-candy_outline +󱥴 nf-md-car_clock +󱥵 nf-md-crowd +󱥶 nf-md-currency_rupee +󱥷 nf-md-diving +󱥸 nf-md-dots_circle +󱥹 nf-md-elevator_passenger_off +󱥺 nf-md-elevator_passenger_off_outline +󱥻 nf-md-elevator_passenger_outline +󱥼 nf-md-eye_refresh +󱥽 nf-md-eye_refresh_outline +󱥾 nf-md-folder_check +󱥿 nf-md-folder_check_outline +󱦀 nf-md-human_dolly +󱦁 nf-md-human_white_cane +󱦂 nf-md-ip_outline +󱦃 nf-md-key_alert +󱦄 nf-md-key_alert_outline +󱦅 nf-md-kite +󱦆 nf-md-kite_outline +󱦇 nf-md-light_flood_down +󱦈 nf-md-light_flood_up +󱦉 nf-md-microphone_question +󱦊 nf-md-microphone_question_outline +󱦋 nf-md-cradle +󱦌 nf-md-panorama_outline +󱦍 nf-md-panorama_sphere +󱦎 nf-md-panorama_sphere_outline +󱦏 nf-md-panorama_variant +󱦐 nf-md-panorama_variant_outline +󱦑 nf-md-cradle_outline +󱦒 nf-md-fraction_one_half +󱦓 nf-md-phone_refresh +󱦔 nf-md-phone_refresh_outline +󱦕 nf-md-phone_sync +󱦖 nf-md-phone_sync_outline +󱦗 nf-md-razor_double_edge +󱦘 nf-md-razor_single_edge +󱦙 nf-md-rotate_360 +󱦚 nf-md-shield_lock_open +󱦛 nf-md-shield_lock_open_outline +󱦜 nf-md-sitemap_outline +󱦝 nf-md-sprinkler_fire +󱦞 nf-md-tab_search +󱦟 nf-md-timer_sand_complete +󱦠 nf-md-timer_sand_paused +󱦡 nf-md-vacuum +󱦢 nf-md-vacuum_outline +󱦣 nf-md-wrench_clock +󱦤 nf-md-pliers +󱦥 nf-md-sun_compass +󱦦 nf-md-truck_snowflake +󱦧 nf-md-camera_marker +󱦨 nf-md-camera_marker_outline +󱦩 nf-md-video_marker +󱦪 nf-md-video_marker_outline +󱦫 nf-md-wind_turbine_alert +󱦬 nf-md-wind_turbine_check +󱦭 nf-md-truck_plus +󱦮 nf-md-truck_minus +󱦯 nf-md-truck_remove +󱦰 nf-md-arrow_right_thin +󱦱 nf-md-arrow_left_thin +󱦲 nf-md-arrow_up_thin +󱦳 nf-md-arrow_down_thin +󱦴 nf-md-arrow_top_right_thin +󱦵 nf-md-arrow_top_left_thin +󱦶 nf-md-arrow_bottom_left_thin +󱦷 nf-md-arrow_bottom_right_thin +󱦸 nf-md-scale_unbalanced +󱦹 nf-md-draw_pen +󱦺 nf-md-clock_edit +󱦻 nf-md-clock_edit_outline +󱦼 nf-md-truck_plus_outline +󱦽 nf-md-truck_minus_outline +󱦾 nf-md-truck_remove_outline +󱦿 nf-md-camera_off_outline +󱧀 nf-md-home_group_plus +󱧁 nf-md-home_group_minus +󱧂 nf-md-home_group_remove +󱧃 nf-md-file_sign +󱧄 nf-md-attachment_lock +󱧅 nf-md-cellphone_arrow_down_variant +󱧆 nf-md-file_chart_check +󱧇 nf-md-file_chart_check_outline +󱧈 nf-md-file_lock_open +󱧉 nf-md-file_lock_open_outline +󱧊 nf-md-folder_question +󱧋 nf-md-folder_question_outline +󱧌 nf-md-message_fast +󱧍 nf-md-message_fast_outline +󱧎 nf-md-message_text_fast +󱧏 nf-md-message_text_fast_outline +󱧐 nf-md-monitor_arrow_down +󱧑 nf-md-monitor_arrow_down_variant +󱧒 nf-md-needle_off +󱧓 nf-md-numeric_off +󱧔 nf-md-package_variant_closed_minus +󱧕 nf-md-package_variant_closed_plus +󱧖 nf-md-package_variant_closed_remove +󱧗 nf-md-package_variant_minus +󱧘 nf-md-package_variant_plus +󱧙 nf-md-package_variant_remove +󱧚 nf-md-paperclip_lock +󱧛 nf-md-phone_clock +󱧜 nf-md-receipt_outline +󱧝 nf-md-transmission_tower_off +󱧞 nf-md-truck_alert +󱧟 nf-md-truck_alert_outline +󱧠 nf-md-bone_off +󱧡 nf-md-lightbulb_alert +󱧢 nf-md-lightbulb_alert_outline +󱧣 nf-md-lightbulb_question +󱧤 nf-md-lightbulb_question_outline +󱧥 nf-md-battery_clock +󱧦 nf-md-battery_clock_outline +󱧧 nf-md-autorenew_off +󱧨 nf-md-folder_arrow_down +󱧩 nf-md-folder_arrow_down_outline +󱧪 nf-md-folder_arrow_left +󱧫 nf-md-folder_arrow_left_outline +󱧬 nf-md-folder_arrow_left_right +󱧭 nf-md-folder_arrow_left_right_outline +󱧮 nf-md-folder_arrow_right +󱧯 nf-md-folder_arrow_right_outline +󱧰 nf-md-folder_arrow_up +󱧱 nf-md-folder_arrow_up_down +󱧲 nf-md-folder_arrow_up_down_outline +󱧳 nf-md-folder_arrow_up_outline +󱧴 nf-md-folder_cancel +󱧵 nf-md-folder_cancel_outline +󱧶 nf-md-folder_file +󱧷 nf-md-folder_file_outline +󱧸 nf-md-folder_off +󱧹 nf-md-folder_off_outline +󱧺 nf-md-folder_play +󱧻 nf-md-folder_play_outline +󱧼 nf-md-folder_wrench +󱧽 nf-md-folder_wrench_outline +󱧾 nf-md-image_refresh +󱧿 nf-md-image_refresh_outline +󱨀 nf-md-image_sync +󱨁 nf-md-image_sync_outline +󱨂 nf-md-percent_box +󱨃 nf-md-percent_box_outline +󱨄 nf-md-percent_circle +󱨅 nf-md-percent_circle_outline +󱨆 nf-md-sale_outline +󱨇 nf-md-square_rounded_badge +󱨈 nf-md-square_rounded_badge_outline +󱨉 nf-md-triangle_small_down +󱨊 nf-md-triangle_small_up +󱨋 nf-md-notebook_heart +󱨌 nf-md-notebook_heart_outline +󱨍 nf-md-brush_outline +󱨎 nf-md-fruit_pear +󱨏 nf-md-raw +󱨐 nf-md-raw_off +󱨑 nf-md-wall_fire +󱨒 nf-md-home_clock +󱨓 nf-md-home_clock_outline +󱨔 nf-md-camera_lock +󱨕 nf-md-camera_lock_outline +󱨖 nf-md-play_box_lock +󱨗 nf-md-play_box_lock_open +󱨘 nf-md-play_box_lock_open_outline +󱨙 nf-md-play_box_lock_outline +󱨚 nf-md-robot_industrial_outline +󱨛 nf-md-gas_burner +󱨜 nf-md-video_2d +󱨝 nf-md-book_heart +󱨞 nf-md-book_heart_outline +󱨟 nf-md-account_hard_hat_outline +󱨠 nf-md-account_school +󱨡 nf-md-account_school_outline +󱨢 nf-md-library_outline +󱨣 nf-md-projector_off +󱨤 nf-md-light_switch_off +󱨥 nf-md-toggle_switch_variant +󱨦 nf-md-toggle_switch_variant_off +󱨧 nf-md-asterisk_circle_outline +󱨨 nf-md-barrel_outline +󱨩 nf-md-bell_cog +󱨪 nf-md-bell_cog_outline +󱨫 nf-md-blinds_horizontal +󱨬 nf-md-blinds_horizontal_closed +󱨭 nf-md-blinds_vertical +󱨮 nf-md-blinds_vertical_closed +󱨯 nf-md-bulkhead_light +󱨰 nf-md-calendar_today_outline +󱨱 nf-md-calendar_week_begin_outline +󱨲 nf-md-calendar_week_end +󱨳 nf-md-calendar_week_end_outline +󱨴 nf-md-calendar_week_outline +󱨵 nf-md-cloud_percent +󱨶 nf-md-cloud_percent_outline +󱨷 nf-md-coach_lamp_variant +󱨸 nf-md-compost +󱨹 nf-md-currency_fra +󱨺 nf-md-fan_clock +󱨻 nf-md-file_rotate_left +󱨼 nf-md-file_rotate_left_outline +󱨽 nf-md-file_rotate_right +󱨾 nf-md-file_rotate_right_outline +󱨿 nf-md-filter_multiple +󱩀 nf-md-filter_multiple_outline +󱩁 nf-md-gymnastics +󱩂 nf-md-hand_clap_off +󱩃 nf-md-heat_pump +󱩄 nf-md-heat_pump_outline +󱩅 nf-md-heat_wave +󱩆 nf-md-home_off +󱩇 nf-md-home_off_outline +󱩈 nf-md-landslide +󱩉 nf-md-landslide_outline +󱩊 nf-md-laptop_account +󱩋 nf-md-led_strip_variant_off +󱩌 nf-md-lightbulb_night +󱩍 nf-md-lightbulb_night_outline +󱩎 nf-md-lightbulb_on_10 +󱩏 nf-md-lightbulb_on_20 +󱩐 nf-md-lightbulb_on_30 +󱩑 nf-md-lightbulb_on_40 +󱩒 nf-md-lightbulb_on_50 +󱩓 nf-md-lightbulb_on_60 +󱩔 nf-md-lightbulb_on_70 +󱩕 nf-md-lightbulb_on_80 +󱩖 nf-md-lightbulb_on_90 +󱩗 nf-md-meter_electric +󱩘 nf-md-meter_electric_outline +󱩙 nf-md-meter_gas +󱩚 nf-md-meter_gas_outline +󱩛 nf-md-monitor_account +󱩜 nf-md-pill_off +󱩝 nf-md-plus_lock +󱩞 nf-md-plus_lock_open +󱩟 nf-md-pool_thermometer +󱩠 nf-md-post_lamp +󱩡 nf-md-rabbit_variant +󱩢 nf-md-rabbit_variant_outline +󱩣 nf-md-receipt_text_check +󱩤 nf-md-receipt_text_check_outline +󱩥 nf-md-receipt_text_minus +󱩦 nf-md-receipt_text_minus_outline +󱩧 nf-md-receipt_text_plus +󱩨 nf-md-receipt_text_plus_outline +󱩩 nf-md-receipt_text_remove +󱩪 nf-md-receipt_text_remove_outline +󱩫 nf-md-roller_shade +󱩬 nf-md-roller_shade_closed +󱩭 nf-md-seed_plus +󱩮 nf-md-seed_plus_outline +󱩯 nf-md-shopping_search_outline +󱩰 nf-md-snowflake_check +󱩱 nf-md-snowflake_thermometer +󱩲 nf-md-snowshoeing +󱩳 nf-md-solar_power_variant +󱩴 nf-md-solar_power_variant_outline +󱩵 nf-md-storage_tank +󱩶 nf-md-storage_tank_outline +󱩷 nf-md-sun_clock +󱩸 nf-md-sun_clock_outline +󱩹 nf-md-sun_snowflake_variant +󱩺 nf-md-tag_check +󱩻 nf-md-tag_check_outline +󱩼 nf-md-text_box_edit +󱩽 nf-md-text_box_edit_outline +󱩾 nf-md-text_search_variant +󱩿 nf-md-thermometer_check +󱪀 nf-md-thermometer_water +󱪁 nf-md-tsunami +󱪂 nf-md-turbine +󱪃 nf-md-volcano +󱪄 nf-md-volcano_outline +󱪅 nf-md-water_thermometer +󱪆 nf-md-water_thermometer_outline +󱪇 nf-md-wheelchair +󱪈 nf-md-wind_power +󱪉 nf-md-wind_power_outline +󱪊 nf-md-window_shutter_cog +󱪋 nf-md-window_shutter_settings +󱪌 nf-md-account_tie_woman +󱪍 nf-md-briefcase_arrow_left_right +󱪎 nf-md-briefcase_arrow_left_right_outline +󱪏 nf-md-briefcase_arrow_up_down +󱪐 nf-md-briefcase_arrow_up_down_outline +󱪑 nf-md-cash_clock +󱪒 nf-md-cash_sync +󱪓 nf-md-file_arrow_left_right +󱪔 nf-md-file_arrow_left_right_outline +󱪕 nf-md-file_arrow_up_down +󱪖 nf-md-file_arrow_up_down_outline +󱪗 nf-md-file_document_alert +󱪘 nf-md-file_document_alert_outline +󱪙 nf-md-file_document_check +󱪚 nf-md-file_document_check_outline +󱪛 nf-md-file_document_minus +󱪜 nf-md-file_document_minus_outline +󱪝 nf-md-file_document_plus +󱪞 nf-md-file_document_plus_outline +󱪟 nf-md-file_document_remove +󱪠 nf-md-file_document_remove_outline +󱪡 nf-md-file_minus +󱪢 nf-md-file_minus_outline +󱪣 nf-md-filter_cog +󱪤 nf-md-filter_cog_outline +󱪥 nf-md-filter_settings +󱪦 nf-md-filter_settings_outline +󱪧 nf-md-folder_lock_open_outline +󱪨 nf-md-folder_lock_outline +󱪩 nf-md-forum_minus +󱪪 nf-md-forum_minus_outline +󱪫 nf-md-forum_plus +󱪬 nf-md-forum_plus_outline +󱪭 nf-md-forum_remove +󱪮 nf-md-forum_remove_outline +󱪯 nf-md-heating_coil +󱪰 nf-md-image_lock +󱪱 nf-md-image_lock_outline +󱪲 nf-md-land_fields +󱪳 nf-md-land_plots +󱪴 nf-md-land_plots_circle +󱪵 nf-md-land_plots_circle_variant +󱪶 nf-md-land_rows_horizontal +󱪷 nf-md-land_rows_vertical +󱪸 nf-md-medical_cotton_swab +󱪹 nf-md-rolodex +󱪺 nf-md-rolodex_outline +󱪻 nf-md-sort_variant_off +󱪼 nf-md-tally_mark_1 +󱪽 nf-md-tally_mark_2 +󱪾 nf-md-tally_mark_3 +󱪿 nf-md-tally_mark_4 +󱫀 nf-md-tally_mark_5 +󱫁 nf-md-attachment_check +󱫂 nf-md-attachment_minus +󱫃 nf-md-attachment_off +󱫄 nf-md-attachment_plus +󱫅 nf-md-attachment_remove +󱫆 nf-md-paperclip_check +󱫇 nf-md-paperclip_minus +󱫈 nf-md-paperclip_off +󱫉 nf-md-paperclip_plus +󱫊 nf-md-paperclip_remove +󱫋 nf-md-network_pos +󱫌 nf-md-timer_alert +󱫍 nf-md-timer_alert_outline +󱫎 nf-md-timer_cancel +󱫏 nf-md-timer_cancel_outline +󱫐 nf-md-timer_check +󱫑 nf-md-timer_check_outline +󱫒 nf-md-timer_edit +󱫓 nf-md-timer_edit_outline +󱫔 nf-md-timer_lock +󱫕 nf-md-timer_lock_open +󱫖 nf-md-timer_lock_open_outline +󱫗 nf-md-timer_lock_outline +󱫘 nf-md-timer_marker +󱫙 nf-md-timer_marker_outline +󱫚 nf-md-timer_minus +󱫛 nf-md-timer_minus_outline +󱫜 nf-md-timer_music +󱫝 nf-md-timer_music_outline +󱫞 nf-md-timer_pause +󱫟 nf-md-timer_pause_outline +󱫠 nf-md-timer_play +󱫡 nf-md-timer_play_outline +󱫢 nf-md-timer_plus +󱫣 nf-md-timer_plus_outline +󱫤 nf-md-timer_refresh +󱫥 nf-md-timer_refresh_outline +󱫦 nf-md-timer_remove +󱫧 nf-md-timer_remove_outline +󱫨 nf-md-timer_star +󱫩 nf-md-timer_star_outline +󱫪 nf-md-timer_stop +󱫫 nf-md-timer_stop_outline +󱫬 nf-md-timer_sync +󱫭 nf-md-timer_sync_outline +󱫮 nf-md-ear_hearing_loop +󱫯 nf-md-sail_boat_sink +󱫰 nf-md-lecturn +♥ nf-oct-heart +⚡ nf-oct-zap + nf-oct-light_bulb + nf-oct-repo + nf-oct-repo_forked + nf-oct-repo_push + nf-oct-repo_pull + nf-oct-book + nf-oct-accessibility + nf-oct-git_pull_request + nf-oct-mark_github + nf-oct-download + nf-oct-upload + nf-oct-accessibility_inset + nf-oct-alert_fill + nf-oct-file_code + nf-oct-apps + nf-oct-file_media + nf-oct-file_zip + nf-oct-archive + nf-oct-tag + nf-oct-file_directory + nf-oct-file_submodule + nf-oct-person + nf-oct-arrow_both + nf-oct-git_commit + nf-oct-git_branch + nf-oct-git_merge + nf-oct-mirror + nf-oct-issue_opened + nf-oct-issue_reopened + nf-oct-issue_closed + nf-oct-star + nf-oct-comment + nf-oct-question + nf-oct-alert + nf-oct-search + nf-oct-gear + nf-oct-arrow_down_left + nf-oct-tools + nf-oct-sign_out + nf-oct-rocket + nf-oct-rss + nf-oct-paste + nf-oct-sign_in + nf-oct-organization + nf-oct-device_mobile + nf-oct-unfold + nf-oct-check + nf-oct-mail + nf-oct-read + nf-oct-arrow_up + nf-oct-arrow_right + nf-oct-arrow_down + nf-oct-arrow_left + nf-oct-pin + nf-oct-gift + nf-oct-graph + nf-oct-triangle_left + nf-oct-credit_card + nf-oct-clock + nf-oct-ruby + nf-oct-broadcast + nf-oct-key + nf-oct-arrow_down_right + nf-oct-repo_clone + nf-oct-diff + nf-oct-eye + nf-oct-comment_discussion + nf-oct-arrow_switch + nf-oct-dot_fill + nf-oct-square_fill + nf-oct-device_camera + nf-oct-device_camera_video + nf-oct-pencil + nf-oct-info + nf-oct-triangle_right + nf-oct-triangle_down + nf-oct-link + nf-oct-plus + nf-oct-three_bars + nf-oct-code + nf-oct-location + nf-oct-list_unordered + nf-oct-list_ordered + nf-oct-quote + nf-oct-versions + nf-oct-calendar + nf-oct-lock + nf-oct-diff_added + nf-oct-diff_removed + nf-oct-diff_modified + nf-oct-diff_renamed + nf-oct-horizontal_rule + nf-oct-arrow_up_left + nf-oct-milestone + nf-oct-checklist + nf-oct-megaphone + nf-oct-chevron_right + nf-oct-bookmark + nf-oct-sliders + nf-oct-meter + nf-oct-history + nf-oct-link_external + nf-oct-mute + nf-oct-x + nf-oct-circle_slash + nf-oct-pulse + nf-oct-sync + nf-oct-telescope + nf-oct-arrow_up_right + nf-oct-home + nf-oct-stop + nf-oct-bug + nf-oct-logo_github + nf-oct-file_binary + nf-oct-database + nf-oct-server + nf-oct-diff_ignored + nf-oct-ellipsis + nf-oct-bell_fill + nf-oct-hubot + nf-oct-bell_slash + nf-oct-blocked + nf-oct-bookmark_fill + nf-oct-chevron_up + nf-oct-chevron_down + nf-oct-chevron_left + nf-oct-triangle_up + nf-oct-git_compare + nf-oct-logo_gist + nf-oct-file_symlink_file + nf-oct-file_symlink_directory + nf-oct-squirrel + nf-oct-globe + nf-oct-unmute + nf-oct-mention + nf-oct-package + nf-oct-browser + nf-oct-terminal + nf-oct-markdown + nf-oct-dash + nf-oct-fold + nf-oct-inbox + nf-oct-trash + nf-oct-paintbrush + nf-oct-flame + nf-oct-briefcase + nf-oct-plug + nf-oct-bookmark_slash_fill + nf-oct-mortar_board + nf-oct-law + nf-oct-thumbsup + nf-oct-thumbsdown + nf-oct-desktop_download + nf-oct-beaker + nf-oct-bell + nf-oct-cache + nf-oct-shield + nf-oct-bold + nf-oct-check_circle + nf-oct-italic + nf-oct-tasklist + nf-oct-verified + nf-oct-smiley + nf-oct-unverified + nf-oct-check_circle_fill + nf-oct-file + nf-oct-grabber + nf-oct-checkbox + nf-oct-reply + nf-oct-device_desktop + nf-oct-circle + nf-oct-clock_fill + nf-oct-cloud + nf-oct-cloud_offline + nf-oct-code_of_conduct + nf-oct-code_review + nf-oct-code_square + nf-oct-codescan + nf-oct-codescan_checkmark + nf-oct-codespaces + nf-oct-columns + nf-oct-command_palette + nf-oct-commit + nf-oct-container + nf-oct-copilot + nf-oct-copilot_error + nf-oct-copilot_warning + nf-oct-copy + nf-oct-cpu + nf-oct-cross_reference + nf-oct-dependabot + nf-oct-diamond + nf-oct-discussion_closed + nf-oct-discussion_duplicate + nf-oct-discussion_outdated + nf-oct-dot + nf-oct-duplicate + nf-oct-eye_closed + nf-oct-feed_discussion + nf-oct-feed_forked + nf-oct-feed_heart + nf-oct-feed_merged + nf-oct-feed_person + nf-oct-feed_repo + nf-oct-feed_rocket + nf-oct-feed_star + nf-oct-feed_tag + nf-oct-feed_trophy + nf-oct-file_added + nf-oct-file_badge + nf-oct-file_diff + nf-oct-file_directory_fill + nf-oct-file_directory_open_fill + nf-oct-file_moved + nf-oct-file_removed + nf-oct-filter + nf-oct-fiscal_host + nf-oct-fold_down + nf-oct-fold_up + nf-oct-git_merge_queue + nf-oct-git_pull_request_closed + nf-oct-git_pull_request_draft + nf-oct-goal + nf-oct-hash + nf-oct-heading + nf-oct-heart_fill + nf-oct-home_fill + nf-oct-hourglass + nf-oct-id_badge + nf-oct-image + nf-oct-infinity + nf-oct-issue_draft + nf-oct-issue_tracked_by + nf-oct-issue_tracks + nf-oct-iterations + nf-oct-kebab_horizontal + nf-oct-key_asterisk + nf-oct-log + nf-oct-moon + nf-oct-move_to_bottom + nf-oct-move_to_end + nf-oct-move_to_start + nf-oct-move_to_top + nf-oct-multi_select + nf-oct-no_entry + nf-oct-north_star + nf-oct-note + nf-oct-number + nf-oct-package_dependencies + nf-oct-package_dependents + nf-oct-paper_airplane + nf-oct-paperclip + nf-oct-passkey_fill + nf-oct-people + nf-oct-person_add + nf-oct-person_fill + nf-oct-play + nf-oct-plus_circle + nf-oct-project + nf-oct-project_roadmap + nf-oct-project_symlink + nf-oct-project_template + nf-oct-rel_file_path + nf-oct-repo_deleted + nf-oct-repo_locked + nf-oct-repo_template + nf-oct-report + nf-oct-rows + nf-oct-screen_full + nf-oct-screen_normal + nf-oct-share + nf-oct-share_android + nf-oct-shield_check + nf-oct-shield_lock + nf-oct-shield_slash + nf-oct-shield_x + nf-oct-sidebar_collapse + nf-oct-sidebar_expand + nf-oct-single_select + nf-oct-skip + nf-oct-skip_fill + nf-oct-sort_asc + nf-oct-sort_desc + nf-oct-sparkle_fill + nf-oct-sponsor_tiers + nf-oct-square + nf-oct-stack + nf-oct-star_fill + nf-oct-stopwatch + nf-oct-strikethrough + nf-oct-sun + nf-oct-tab + nf-oct-tab_external + nf-oct-table + nf-oct-telescope_fill + nf-oct-trophy + nf-oct-typography + nf-oct-unlink + nf-oct-unlock + nf-oct-unread + nf-oct-video + nf-oct-webhook + nf-oct-workflow + nf-oct-x_circle + nf-oct-x_circle_fill + nf-oct-zoom_in + nf-oct-zoom_out + nf-oct-bookmark_slash + nf-pl-branch + nf-pl-line_number nf-pl-current_line_pl_line_number + nf-pl-hostname nf-pl-readonly_pl_hostname + nf-ple-column_number nf-ple-current_column_ple_column_number + nf-pl-left_hard_divider + nf-pl-left_soft_divider + nf-pl-right_hard_divider + nf-pl-right_soft_divider + nf-ple-right_half_circle_thick + nf-ple-right_half_circle_thin + nf-ple-left_half_circle_thick + nf-ple-left_half_circle_thin + nf-ple-lower_left_triangle + nf-ple-backslash_separator + nf-ple-lower_right_triangle + nf-ple-forwardslash_separator + nf-ple-upper_left_triangle + nf-ple-forwardslash_separator_redundant + nf-ple-upper_right_triangle + nf-ple-backslash_separator_redundant + nf-ple-flame_thick + nf-ple-flame_thin + nf-ple-flame_thick_mirrored + nf-ple-flame_thin_mirrored + nf-ple-pixelated_squares_small + nf-ple-pixelated_squares_small_mirrored + nf-ple-pixelated_squares_big + nf-ple-pixelated_squares_big_mirrored + nf-ple-ice_waveform + nf-ple-ice_waveform_mirrored + nf-ple-honeycomb + nf-ple-honeycomb_outline + nf-ple-lego_separator + nf-ple-lego_separator_thin + nf-ple-lego_block_facing + nf-ple-lego_block_sideways + nf-ple-trapezoid_top_bottom + nf-ple-trapezoid_top_bottom_mirrored + nf-ple-right_hard_divider_inverse + nf-ple-left_hard_divider_inverse + nf-pom-clean_code + nf-pom-pomodoro_done + nf-pom-pomodoro_estimated + nf-pom-pomodoro_ticking + nf-pom-pomodoro_squashed + nf-pom-short_pause + nf-pom-long_pause + nf-pom-away + nf-pom-pair_programming + nf-pom-internal_interruption + nf-pom-external_interruption + nf-custom-folder_npm + nf-custom-folder_git nf-custom-folder_git_branch_custom_folder_git + nf-custom-folder_config + nf-custom-folder_github + nf-custom-folder_open + nf-custom-folder + nf-seti-stylus + nf-seti-project + nf-custom-play_arrow nf-seti-play_arrow_custom_play_arrow + nf-seti-sass + nf-seti-rails + nf-custom-ruby nf-seti-ruby_custom_ruby + nf-seti-python + nf-seti-heroku + nf-seti-php + nf-seti-markdown + nf-seti-license + nf-seti-json nf-seti-less_seti_json + nf-seti-javascript + nf-seti-image + nf-seti-html + nf-seti-mustache + nf-seti-gulp + nf-seti-grunt + nf-custom-default + nf-seti-folder + nf-seti-css + nf-seti-config + nf-seti-npm nf-seti-npm_ignored_seti_npm + nf-custom-home nf-seti-home_custom_home + nf-seti-ejs + nf-seti-xml + nf-seti-bower + nf-seti-coffee nf-seti-cjsx_seti_coffee + nf-seti-twig + nf-custom-cpp + nf-custom-c + nf-seti-haskell + nf-seti-lua + nf-indent-line nf-indentation-line_indent_line nf-indent-dotted_guide_indent_line + nf-seti-karma + nf-seti-favicon + nf-seti-julia + nf-seti-react + nf-custom-go + nf-seti-go + nf-seti-typescript + nf-custom-msdos + nf-custom-windows + nf-custom-vim + nf-custom-elm nf-seti-elm_custom_elm + nf-custom-elixir nf-seti-elixir_custom_elixir + nf-custom-electron + nf-custom-crystal nf-seti-crystal_custom_crystal + nf-custom-purescript nf-seti-purescript_custom_purescript + nf-seti-puppet nf-custom-puppet_seti_puppet + nf-custom-emacs + nf-custom-orgmode + nf-custom-kotlin nf-seti-kotlin_custom_kotlin + nf-seti-apple + nf-seti-argdown + nf-seti-asm + nf-seti-audio + nf-seti-babel + nf-custom-bazel nf-seti-bazel_custom_bazel + nf-seti-bicep + nf-seti-bsl + nf-seti-cake_php + nf-seti-cake + nf-seti-checkbox + nf-seti-checkbox_unchecked + nf-seti-clock nf-seti-time_cop_seti_clock + nf-seti-clojure + nf-seti-code_climate + nf-seti-code_search + nf-seti-coldfusion + nf-seti-cpp + nf-seti-crystal_embedded + nf-seti-c_sharp + nf-seti-c + nf-seti-csv + nf-seti-cu + nf-seti-dart + nf-seti-db + nf-seti-default nf-seti-text_seti_default + nf-seti-deprecation_cop + nf-seti-docker + nf-seti-d + nf-seti-editorconfig + nf-seti-elixir_script + nf-seti-error + nf-seti-eslint + nf-seti-ethereum + nf-custom-firebase nf-seti-firebase_custom_firebase + nf-seti-firefox + nf-seti-font + nf-seti-f_sharp + nf-seti-github + nf-seti-gitlab + nf-seti-git nf-seti-git_folder_seti_git nf-seti-git_ignore_seti_git + nf-seti-go2 + nf-seti-godot + nf-seti-gradle + nf-seti-grails + nf-seti-graphql + nf-seti-hacklang + nf-seti-haml + nf-seti-happenings + nf-seti-haxe + nf-seti-hex + nf-seti-ignored + nf-seti-illustrator + nf-seti-info + nf-seti-ionic + nf-seti-jade + nf-seti-java + nf-seti-jenkins + nf-seti-jinja + nf-seti-liquid + nf-seti-livescript + nf-seti-lock + nf-seti-makefile + nf-seti-maven + nf-seti-mdo + nf-seti-new_file + nf-seti-nim + nf-seti-notebook + nf-seti-nunjucks + nf-seti-ocaml + nf-seti-odata + nf-seti-pddl + nf-seti-pdf + nf-seti-perl + nf-seti-photoshop + nf-seti-pipeline + nf-seti-plan + nf-seti-platformio + nf-seti-powershell + nf-seti-prisma + nf-seti-prolog + nf-seti-pug + nf-seti-reasonml + nf-seti-rescript + nf-seti-rollup + nf-seti-r + nf-seti-rust + nf-seti-salesforce + nf-seti-sbt + nf-seti-scala + nf-seti-search + nf-seti-settings + nf-seti-shell + nf-seti-slim + nf-seti-smarty + nf-seti-spring + nf-seti-stylelint + nf-seti-sublime + nf-seti-svelte + nf-seti-svg + nf-seti-swift + nf-seti-terraform + nf-seti-tex + nf-seti-todo + nf-seti-tsconfig + nf-seti-vala + nf-seti-video + nf-seti-vue + nf-seti-wasm + nf-seti-wat + nf-seti-webpack + nf-seti-wgt + nf-seti-word + nf-seti-xls + nf-seti-yarn + nf-seti-yml + nf-seti-zig + nf-seti-zip + nf-custom-asm + nf-custom-v_lang + nf-custom-folder_oct + nf-custom-neovim + nf-custom-fennel + nf-custom-common_lisp + nf-custom-scheme + nf-custom-toml + nf-custom-astro + nf-custom-prettier + nf-custom-ada + nf-custom-chuck + nf-custom-vitruvian + nf-custom-css + nf-weather-day_cloudy_gusts + nf-weather-day_cloudy_windy + nf-weather-day_cloudy + nf-weather-day_fog + nf-weather-day_hail + nf-weather-day_lightning + nf-weather-day_rain_mix + nf-weather-day_rain_wind + nf-weather-day_rain + nf-weather-day_showers + nf-weather-day_snow + nf-weather-day_sprinkle + nf-weather-day_sunny_overcast + nf-weather-day_sunny + nf-weather-day_storm_showers + nf-weather-day_thunderstorm + nf-weather-cloudy_gusts + nf-weather-cloudy_windy + nf-weather-cloudy + nf-weather-fog + nf-weather-hail + nf-weather-lightning + nf-weather-rain_mix + nf-weather-rain_wind + nf-weather-rain + nf-weather-showers + nf-weather-snow + nf-weather-sprinkle + nf-weather-storm_showers + nf-weather-thunderstorm + nf-weather-windy + nf-weather-night_alt_cloudy_gusts + nf-weather-night_alt_cloudy_windy + nf-weather-night_alt_hail + nf-weather-night_alt_lightning + nf-weather-night_alt_rain_mix + nf-weather-night_alt_rain_wind + nf-weather-night_alt_rain + nf-weather-night_alt_showers + nf-weather-night_alt_snow + nf-weather-night_alt_sprinkle + nf-weather-night_alt_storm_showers + nf-weather-night_alt_thunderstorm + nf-weather-night_clear + nf-weather-night_cloudy_gusts + nf-weather-night_cloudy_windy + nf-weather-night_cloudy + nf-weather-night_hail + nf-weather-night_lightning + nf-weather-night_rain_mix + nf-weather-night_rain_wind + nf-weather-night_rain + nf-weather-night_showers + nf-weather-night_snow + nf-weather-night_sprinkle + nf-weather-night_storm_showers + nf-weather-night_thunderstorm + nf-weather-celsius + nf-weather-cloud_down + nf-weather-cloud_refresh + nf-weather-cloud_up + nf-weather-cloud + nf-weather-degrees + nf-weather-direction_down_left + nf-weather-direction_down + nf-weather-fahrenheit + nf-weather-horizon_alt + nf-weather-horizon + nf-weather-direction_left + nf-weather-aliens + nf-weather-night_fog + nf-weather-refresh_alt + nf-weather-refresh + nf-weather-direction_right + nf-weather-raindrops + nf-weather-strong_wind + nf-weather-sunrise + nf-weather-sunset + nf-weather-thermometer_exterior + nf-weather-thermometer_internal + nf-weather-thermometer + nf-weather-tornado + nf-weather-direction_up_right + nf-weather-direction_up + nf-weather-wind_west + nf-weather-wind_south_west + nf-weather-wind_south_east + nf-weather-wind_south + nf-weather-wind_north_west + nf-weather-wind_north_east + nf-weather-wind_north + nf-weather-wind_east + nf-weather-smoke + nf-weather-dust + nf-weather-snow_wind + nf-weather-day_snow_wind + nf-weather-night_snow_wind + nf-weather-night_alt_snow_wind + nf-weather-day_sleet_storm + nf-weather-night_sleet_storm + nf-weather-night_alt_sleet_storm + nf-weather-day_snow_thunderstorm + nf-weather-night_snow_thunderstorm + nf-weather-night_alt_snow_thunderstorm + nf-weather-solar_eclipse + nf-weather-lunar_eclipse + nf-weather-meteor + nf-weather-hot + nf-weather-hurricane + nf-weather-smog + nf-weather-alien + nf-weather-snowflake_cold + nf-weather-stars + nf-weather-raindrop + nf-weather-barometer + nf-weather-humidity + nf-weather-na + nf-weather-flood + nf-weather-day_cloudy_high + nf-weather-night_alt_cloudy_high + nf-weather-night_cloudy_high + nf-weather-night_alt_partly_cloudy + nf-weather-sandstorm + nf-weather-night_partly_cloudy + nf-weather-umbrella + nf-weather-day_windy + nf-weather-night_alt_cloudy + nf-weather-direction_up_left + nf-weather-direction_down_right + nf-weather-time_12 + nf-weather-time_1 + nf-weather-time_2 + nf-weather-time_3 + nf-weather-time_4 + nf-weather-time_5 + nf-weather-time_6 + nf-weather-time_7 + nf-weather-time_8 + nf-weather-time_9 + nf-weather-time_10 + nf-weather-time_11 + nf-weather-moon_new + nf-weather-moon_waxing_crescent_1 + nf-weather-moon_waxing_crescent_2 + nf-weather-moon_waxing_crescent_3 + nf-weather-moon_waxing_crescent_4 + nf-weather-moon_waxing_crescent_5 + nf-weather-moon_waxing_crescent_6 + nf-weather-moon_first_quarter + nf-weather-moon_waxing_gibbous_1 + nf-weather-moon_waxing_gibbous_2 + nf-weather-moon_waxing_gibbous_3 + nf-weather-moon_waxing_gibbous_4 + nf-weather-moon_waxing_gibbous_5 + nf-weather-moon_waxing_gibbous_6 + nf-weather-moon_full + nf-weather-moon_waning_gibbous_1 + nf-weather-moon_waning_gibbous_2 + nf-weather-moon_waning_gibbous_3 + nf-weather-moon_waning_gibbous_4 + nf-weather-moon_waning_gibbous_5 + nf-weather-moon_waning_gibbous_6 + nf-weather-moon_third_quarter + nf-weather-moon_waning_crescent_1 + nf-weather-moon_waning_crescent_2 + nf-weather-moon_waning_crescent_3 + nf-weather-moon_waning_crescent_4 + nf-weather-moon_waning_crescent_5 + nf-weather-moon_waning_crescent_6 + nf-weather-wind_direction + nf-weather-day_sleet + nf-weather-night_sleet + nf-weather-night_alt_sleet + nf-weather-sleet + nf-weather-day_haze + nf-weather-wind_beaufort_0 + nf-weather-wind_beaufort_1 + nf-weather-wind_beaufort_2 + nf-weather-wind_beaufort_3 + nf-weather-wind_beaufort_4 + nf-weather-wind_beaufort_5 + nf-weather-wind_beaufort_6 + nf-weather-wind_beaufort_7 + nf-weather-wind_beaufort_8 + nf-weather-wind_beaufort_9 + nf-weather-wind_beaufort_10 + nf-weather-wind_beaufort_11 + nf-weather-wind_beaufort_12 + nf-weather-day_light_wind + nf-weather-tsunami + nf-weather-earthquake + nf-weather-fire + nf-weather-volcano + nf-weather-moonrise + nf-weather-moonset + nf-weather-train + nf-weather-small_craft_advisory + nf-weather-gale_warning + nf-weather-storm_warning + nf-weather-hurricane_warning + nf-weather-moon_alt_waxing_crescent_1 + nf-weather-moon_alt_waxing_crescent_2 + nf-weather-moon_alt_waxing_crescent_3 + nf-weather-moon_alt_waxing_crescent_4 + nf-weather-moon_alt_waxing_crescent_5 + nf-weather-moon_alt_waxing_crescent_6 + nf-weather-moon_alt_first_quarter + nf-weather-moon_alt_waxing_gibbous_1 + nf-weather-moon_alt_waxing_gibbous_2 + nf-weather-moon_alt_waxing_gibbous_3 + nf-weather-moon_alt_waxing_gibbous_4 + nf-weather-moon_alt_waxing_gibbous_5 + nf-weather-moon_alt_waxing_gibbous_6 + nf-weather-moon_alt_full + nf-weather-moon_alt_waning_gibbous_1 + nf-weather-moon_alt_waning_gibbous_2 + nf-weather-moon_alt_waning_gibbous_3 + nf-weather-moon_alt_waning_gibbous_4 + nf-weather-moon_alt_waning_gibbous_5 + nf-weather-moon_alt_waning_gibbous_6 + nf-weather-moon_alt_third_quarter + nf-weather-moon_alt_waning_crescent_1 + nf-weather-moon_alt_waning_crescent_2 + nf-weather-moon_alt_waning_crescent_3 + nf-weather-moon_alt_waning_crescent_4 + nf-weather-moon_alt_waning_crescent_5 + nf-weather-moon_alt_waning_crescent_6 + nf-weather-moon_alt_new diff --git a/src/caelestia/data/schemes/catppuccin/frappe/dark.txt b/src/caelestia/data/schemes/catppuccin/frappe/dark.txt new file mode 100644 index 0000000..1502230 --- /dev/null +++ b/src/caelestia/data/schemes/catppuccin/frappe/dark.txt @@ -0,0 +1,81 @@ +rosewater f2d5cf +flamingo eebebe +pink f4b8e4 +mauve ca9ee6 +red e78284 +maroon ea999c +peach ef9f76 +yellow e5c890 +green a6d189 +teal 81c8be +sky 99d1db +sapphire 85c1dc +blue 8caaee +lavender babbf1 +text c6d0f5 +subtext1 b5bfe2 +subtext0 a5adce +overlay2 949cbb +overlay1 838ba7 +overlay0 737994 +surface2 626880 +surface1 51576d +surface0 414559 +base 303446 +mantle 292c3c +crust 232634 +success a6d189 +primary_paletteKeyColor 6674AC +secondary_paletteKeyColor 72768B +tertiary_paletteKeyColor 8F6C88 +neutral_paletteKeyColor 76767D +neutral_variant_paletteKeyColor 767680 +background 121318 +onBackground E3E1E9 +surface 121318 +surfaceDim 121318 +surfaceBright 38393F +surfaceContainerLowest 0D0E13 +surfaceContainerLow 1A1B21 +surfaceContainer 1E1F25 +surfaceContainerHigh 292A2F +surfaceContainerHighest 34343A +onSurface E3E1E9 +surfaceVariant 45464F +onSurfaceVariant C6C5D0 +inverseSurface E3E1E9 +inverseOnSurface 2F3036 +outline 90909A +outlineVariant 45464F +shadow 000000 +scrim 000000 +surfaceTint B7C4FF +primary B7C4FF +onPrimary 1E2D61 +primaryContainer 364479 +onPrimaryContainer DCE1FF +inversePrimary 4E5C92 +secondary C2C5DD +onSecondary 2B3042 +secondaryContainer 44485B +onSecondaryContainer DEE1F9 +tertiary E3BADA +onTertiary 43273F +tertiaryContainer AB85A3 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed DCE1FF +primaryFixedDim B7C4FF +onPrimaryFixed 05164B +onPrimaryFixedVariant 364479 +secondaryFixed DEE1F9 +secondaryFixedDim C2C5DD +onSecondaryFixed 161B2C +onSecondaryFixedVariant 424659 +tertiaryFixed FFD7F5 +tertiaryFixedDim E3BADA +onTertiaryFixed 2C1229 +onTertiaryFixedVariant 5C3D57 \ No newline at end of file diff --git a/src/caelestia/data/schemes/catppuccin/latte/light.txt b/src/caelestia/data/schemes/catppuccin/latte/light.txt new file mode 100644 index 0000000..6cc0fce --- /dev/null +++ b/src/caelestia/data/schemes/catppuccin/latte/light.txt @@ -0,0 +1,81 @@ +rosewater dc8a78 +flamingo dd7878 +pink ea76cb +mauve 8839ef +red d20f39 +maroon e64553 +peach fe640b +yellow df8e1d +green 40a02b +teal 179299 +sky 04a5e5 +sapphire 209fb5 +blue 1e66f5 +lavender 7287fd +text 4c4f69 +subtext1 5c5f77 +subtext0 6c6f85 +overlay2 7c7f93 +overlay1 8c8fa1 +overlay0 9ca0b0 +surface2 acb0be +surface1 bcc0cc +surface0 ccd0da +base eff1f5 +mantle e6e9ef +crust dce0e8 +success 40a02b +primary_paletteKeyColor 417DA2 +secondary_paletteKeyColor 687987 +tertiary_paletteKeyColor 7C7195 +neutral_paletteKeyColor 73777B +neutral_variant_paletteKeyColor 71787E +background F6FAFE +onBackground 181C20 +surface F6FAFE +surfaceDim D7DADF +surfaceBright F6FAFE +surfaceContainerLowest FFFFFF +surfaceContainerLow F1F4F9 +surfaceContainer EBEEF3 +surfaceContainerHigh E5E8ED +surfaceContainerHighest DFE3E7 +onSurface 181C20 +surfaceVariant DDE3EA +onSurfaceVariant 41484D +inverseSurface 2D3135 +inverseOnSurface EEF1F6 +outline 6F757B +outlineVariant C1C7CE +shadow 000000 +scrim 000000 +surfaceTint 246488 +primary 246488 +onPrimary FFFFFF +primaryContainer C8E6FF +onPrimaryContainer 004C6D +inversePrimary 94CDF6 +secondary 4F606E +onSecondary FFFFFF +secondaryContainer D2E5F5 +onSecondaryContainer 384956 +tertiary 7A6F93 +onTertiary FFFFFF +tertiaryContainer 7A6F93 +onTertiaryContainer FFFFFF +error BA1A1A +onError FFFFFF +errorContainer FFDAD6 +onErrorContainer 93000A +primaryFixed C8E6FF +primaryFixedDim 94CDF6 +onPrimaryFixed 001E2E +onPrimaryFixedVariant 004C6D +secondaryFixed D2E5F5 +secondaryFixedDim B7C9D8 +onSecondaryFixed 0B1D29 +onSecondaryFixedVariant 384956 +tertiaryFixed E9DDFF +tertiaryFixedDim CDC0E9 +onTertiaryFixed 1F1635 +onTertiaryFixedVariant 4B4163 \ No newline at end of file diff --git a/src/caelestia/data/schemes/catppuccin/macchiato/dark.txt b/src/caelestia/data/schemes/catppuccin/macchiato/dark.txt new file mode 100644 index 0000000..6ffb12f --- /dev/null +++ b/src/caelestia/data/schemes/catppuccin/macchiato/dark.txt @@ -0,0 +1,81 @@ +rosewater f4dbd6 +flamingo f0c6c6 +pink f5bde6 +mauve c6a0f6 +red ed8796 +maroon ee99a0 +peach f5a97f +yellow eed49f +green a6da95 +teal 8bd5ca +sky 91d7e3 +sapphire 7dc4e4 +blue 8aadf4 +lavender b7bdf8 +text cad3f5 +subtext1 b8c0e0 +subtext0 a5adcb +overlay2 939ab7 +overlay1 8087a2 +overlay0 6e738d +surface2 5b6078 +surface1 494d64 +surface0 363a4f +base 24273a +mantle 1e2030 +crust 181926 +success a6da95 +primary_paletteKeyColor 6A73AC +secondary_paletteKeyColor 74768B +tertiary_paletteKeyColor 916C87 +neutral_paletteKeyColor 77767D +neutral_variant_paletteKeyColor 767680 +background 121318 +onBackground E4E1E9 +surface 121318 +surfaceDim 121318 +surfaceBright 39393F +surfaceContainerLowest 0D0E13 +surfaceContainerLow 1B1B21 +surfaceContainer 1F1F25 +surfaceContainerHigh 29292F +surfaceContainerHighest 34343A +onSurface E4E1E9 +surfaceVariant 46464F +onSurfaceVariant C6C5D0 +inverseSurface E4E1E9 +inverseOnSurface 303036 +outline 90909A +outlineVariant 46464F +shadow 000000 +scrim 000000 +surfaceTint BAC3FF +primary BAC3FF +onPrimary 222C61 +primaryContainer 394379 +onPrimaryContainer DEE0FF +inversePrimary 515B92 +secondary C3C5DD +onSecondary 2C2F42 +secondaryContainer 45485C +onSecondaryContainer DFE1F9 +tertiary E5BAD8 +onTertiary 44263E +tertiaryContainer AC85A1 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed DEE0FF +primaryFixedDim BAC3FF +onPrimaryFixed 0A154B +onPrimaryFixedVariant 394379 +secondaryFixed DFE1F9 +secondaryFixedDim C3C5DD +onSecondaryFixed 181A2C +onSecondaryFixedVariant 434659 +tertiaryFixed FFD7F1 +tertiaryFixedDim E5BAD8 +onTertiaryFixed 2D1228 +onTertiaryFixedVariant 5D3C55 \ No newline at end of file diff --git a/src/caelestia/data/schemes/catppuccin/mocha/dark.txt b/src/caelestia/data/schemes/catppuccin/mocha/dark.txt new file mode 100644 index 0000000..66497d0 --- /dev/null +++ b/src/caelestia/data/schemes/catppuccin/mocha/dark.txt @@ -0,0 +1,81 @@ +rosewater f5e0dc +flamingo f2cdcd +pink f5c2e7 +mauve cba6f7 +red f38ba8 +maroon eba0ac +peach fab387 +yellow f9e2af +green a6e3a1 +teal 94e2d5 +sky 89dceb +sapphire 74c7ec +blue 89b4fa +lavender b4befe +text cdd6f4 +subtext1 bac2de +subtext0 a6adc8 +overlay2 9399b2 +overlay1 7f849c +overlay0 6c7086 +surface2 585b70 +surface1 45475a +surface0 313244 +base 1e1e2e +mantle 181825 +crust 11111b +success a6e3a1 +primary_paletteKeyColor 7171AC +secondary_paletteKeyColor 76758B +tertiary_paletteKeyColor 946B82 +neutral_paletteKeyColor 78767D +neutral_variant_paletteKeyColor 777680 +background 131318 +onBackground E4E1E9 +surface 131318 +surfaceDim 131318 +surfaceBright 39383F +surfaceContainerLowest 0E0E13 +surfaceContainerLow 1B1B21 +surfaceContainer 1F1F25 +surfaceContainerHigh 2A292F +surfaceContainerHighest 35343A +onSurface E4E1E9 +surfaceVariant 47464F +onSurfaceVariant C8C5D0 +inverseSurface E4E1E9 +inverseOnSurface 303036 +outline 918F9A +outlineVariant 47464F +shadow 000000 +scrim 000000 +surfaceTint C1C1FF +primary C1C1FF +onPrimary 2A2A60 +primaryContainer 404178 +onPrimaryContainer E2DFFF +inversePrimary 585992 +secondary C6C4DD +onSecondary 2F2F42 +secondaryContainer 48475B +onSecondaryContainer E2E0F9 +tertiary E9B9D3 +onTertiary 46263A +tertiaryContainer B0849C +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed E2DFFF +primaryFixedDim C1C1FF +onPrimaryFixed 14134A +onPrimaryFixedVariant 404178 +secondaryFixed E2E0F9 +secondaryFixedDim C6C4DD +onSecondaryFixed 1A1A2C +onSecondaryFixedVariant 454559 +tertiaryFixed FFD8EB +tertiaryFixedDim E9B9D3 +onTertiaryFixed 2F1124 +onTertiaryFixedVariant 5F3C51 \ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/alt1/dark.txt b/src/caelestia/data/schemes/dynamic/alt1/dark.txt new file mode 100644 index 0000000..f3c70ea --- /dev/null +++ b/src/caelestia/data/schemes/dynamic/alt1/dark.txt @@ -0,0 +1,81 @@ +primary_paletteKeyColor 5E8046 +secondary_paletteKeyColor 6E7B62 +tertiary_paletteKeyColor 517F7E +neutral_paletteKeyColor 75786F +neutral_variant_paletteKeyColor 74796D +background 11140E +onBackground E1E4D9 +surface 11140E +surfaceDim 11140E +surfaceBright 373A33 +surfaceContainerLowest 0C0F09 +surfaceContainerLow 191D16 +surfaceContainer 1D211A +surfaceContainerHigh 282B24 +surfaceContainerHighest 33362F +onSurface E1E4D9 +surfaceVariant 44483E +onSurfaceVariant C4C8BB +inverseSurface E1E4D9 +inverseOnSurface 2E312A +outline 8E9286 +outlineVariant 44483E +shadow 000000 +scrim 000000 +surfaceTint ACD28F +primary ACD28F +onPrimary 1A3705 +primaryContainer 304F1A +onPrimaryContainer C7EEA9 +inversePrimary 476730 +secondary BDCBAF +onSecondary 283420 +secondaryContainer 414D37 +onSecondaryContainer D9E7CA +tertiary A0CFCE +onTertiary 003737 +tertiaryContainer 6B9998 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed C7EEA9 +primaryFixedDim ACD28F +onPrimaryFixed 0A2000 +onPrimaryFixedVariant 304F1A +secondaryFixed D9E7CA +secondaryFixedDim BDCBAF +onSecondaryFixed 141E0C +onSecondaryFixedVariant 3F4A35 +tertiaryFixed BBECEA +tertiaryFixedDim A0CFCE +onTertiaryFixed 002020 +onTertiaryFixedVariant 1E4E4D +text E1E4D9 +subtext1 C4C8BB +subtext0 8E9286 +overlay2 7D8075 +overlay1 6A6D63 +overlay0 585C52 +surface2 474A42 +surface1 353931 +surface0 22261F +base 11140E +mantle 090B08 +crust 040503 +success ADE29A +rosewater ACD28F +flamingo 9BD4A0 +pink 8AD0EF +mauve 91CEF5 +red 86D6BE +maroon 81D4DA +peach 90D6AE +yellow A7D293 +green A3D398 +teal 82D5C7 +sky 80D5D3 +sapphire 86D2E8 +blue 9CCBFA +lavender 81D3E2 \ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/alt1/light.txt b/src/caelestia/data/schemes/dynamic/alt1/light.txt new file mode 100644 index 0000000..84b0e64 --- /dev/null +++ b/src/caelestia/data/schemes/dynamic/alt1/light.txt @@ -0,0 +1,81 @@ +primary_paletteKeyColor 5E8046 +secondary_paletteKeyColor 6E7B62 +tertiary_paletteKeyColor 517F7E +neutral_paletteKeyColor 75786F +neutral_variant_paletteKeyColor 74796D +background F9FAF0 +onBackground 191D16 +surface F9FAF0 +surfaceDim D9DBD1 +surfaceBright F9FAF0 +surfaceContainerLowest FFFFFF +surfaceContainerLow F3F5EA +surfaceContainer EDEFE4 +surfaceContainerHigh E7E9DF +surfaceContainerHighest E1E4D9 +onSurface 191D16 +surfaceVariant E0E4D6 +onSurfaceVariant 44483E +inverseSurface 2E312A +inverseOnSurface F0F2E7 +outline 71766B +outlineVariant C4C8BB +shadow 000000 +scrim 000000 +surfaceTint 476730 +primary 476730 +onPrimary FFFFFF +primaryContainer C7EEA9 +onPrimaryContainer 304F1A +inversePrimary ACD28F +secondary 56624B +onSecondary FFFFFF +secondaryContainer D7E4C7 +onSecondaryContainer 3F4A35 +tertiary 4F7C7C +onTertiary FFFFFF +tertiaryContainer 4F7C7C +onTertiaryContainer FFFFFF +error BA1A1A +onError FFFFFF +errorContainer FFDAD6 +onErrorContainer 93000A +primaryFixed C7EEA9 +primaryFixedDim ACD28F +onPrimaryFixed 0A2000 +onPrimaryFixedVariant 304F1A +secondaryFixed D9E7CA +secondaryFixedDim BDCBAF +onSecondaryFixed 141E0C +onSecondaryFixedVariant 3F4A35 +tertiaryFixed BBECEA +tertiaryFixedDim A0CFCE +onTertiaryFixed 002020 +onTertiaryFixedVariant 1E4E4D +text 191D16 +subtext1 44483E +subtext0 71766B +overlay2 84887E +overlay1 989C92 +overlay0 ABAFA4 +surface2 BFC1B7 +surface1 D2D4C9 +surface0 E6E8DD +base F9FAF0 +mantle F4F6E5 +crust F1F4DD +success 4A9F23 +rosewater 3D6837 +flamingo 34693F +pink 006968 +mauve 00696F +red 156A59 +maroon 006876 +peach 256B4A +yellow 426733 +green 476730 +teal 00677B +sky 2E628B +sapphire 206486 +blue 0F6681 +lavender 0D6A5F \ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/alt2/dark.txt b/src/caelestia/data/schemes/dynamic/alt2/dark.txt new file mode 100644 index 0000000..9b36dee --- /dev/null +++ b/src/caelestia/data/schemes/dynamic/alt2/dark.txt @@ -0,0 +1,81 @@ +primary_paletteKeyColor 5E76AB +secondary_paletteKeyColor 70778B +tertiary_paletteKeyColor 8B6D8C +neutral_paletteKeyColor 76777D +neutral_variant_paletteKeyColor 757780 +background 121318 +onBackground E2E2E9 +surface 121318 +surfaceDim 121318 +surfaceBright 37393E +surfaceContainerLowest 0C0E13 +surfaceContainerLow 1A1B20 +surfaceContainer 1E1F25 +surfaceContainerHigh 282A2F +surfaceContainerHighest 33353A +onSurface E2E2E9 +surfaceVariant 44474F +onSurfaceVariant C5C6D0 +inverseSurface E2E2E9 +inverseOnSurface 2F3036 +outline 8E9099 +outlineVariant 44474F +shadow 000000 +scrim 000000 +surfaceTint AEC6FF +primary AEC6FF +onPrimary 122F60 +primaryContainer 2C4678 +onPrimaryContainer D8E2FF +inversePrimary 455E91 +secondary BFC6DC +onSecondary 293041 +secondaryContainer 3F4759 +onSecondaryContainer DBE2F9 +tertiary DFBBDE +onTertiary 402843 +tertiaryContainer A786A7 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed D8E2FF +primaryFixedDim AEC6FF +onPrimaryFixed 001A43 +onPrimaryFixedVariant 2C4678 +secondaryFixed DBE2F9 +secondaryFixedDim BFC6DC +onSecondaryFixed 141B2C +onSecondaryFixedVariant 3F4759 +tertiaryFixed FCD7FB +tertiaryFixedDim DFBBDE +onTertiaryFixed 2A132D +onTertiaryFixedVariant 583E5A +text E2E2E9 +subtext1 C5C6D0 +subtext0 8E9099 +overlay2 7D7E87 +overlay1 6A6C74 +overlay0 595A62 +surface2 47494F +surface1 36373D +surface0 23242A +base 121318 +mantle 0B0C0F +crust 070709 +success 93E5B6 +rosewater 9BD4A1 +flamingo 84D5C3 +pink A1CAFE +mauve A5C8FF +red 80D3DE +maroon 8ECFF2 +peach 80D5D0 +yellow 93D5A9 +green 8DD5B3 +teal 84D2E5 +sky 89D0ED +sapphire 9CCBFB +blue ACC6FF +lavender 94CDF7 \ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/alt2/light.txt b/src/caelestia/data/schemes/dynamic/alt2/light.txt new file mode 100644 index 0000000..00483f0 --- /dev/null +++ b/src/caelestia/data/schemes/dynamic/alt2/light.txt @@ -0,0 +1,81 @@ +primary_paletteKeyColor 5E76AB +secondary_paletteKeyColor 70778B +tertiary_paletteKeyColor 8B6D8C +neutral_paletteKeyColor 76777D +neutral_variant_paletteKeyColor 757780 +background FAF9FF +onBackground 1A1B20 +surface FAF9FF +surfaceDim DAD9E0 +surfaceBright FAF9FF +surfaceContainerLowest FFFFFF +surfaceContainerLow F3F3FA +surfaceContainer EEEDF4 +surfaceContainerHigh E8E7EF +surfaceContainerHighest E2E2E9 +onSurface 1A1B20 +surfaceVariant E1E2EC +onSurfaceVariant 44474F +inverseSurface 2F3036 +inverseOnSurface F1F0F7 +outline 72747D +outlineVariant C5C6D0 +shadow 000000 +scrim 000000 +surfaceTint 455E91 +primary 455E91 +onPrimary FFFFFF +primaryContainer D8E2FF +onPrimaryContainer 2C4678 +inversePrimary AEC6FF +secondary 575E71 +onSecondary FFFFFF +secondaryContainer DBE2F9 +onSecondaryContainer 3F4759 +tertiary 896B8A +onTertiary FFFFFF +tertiaryContainer 896B8A +onTertiaryContainer FFFFFF +error BA1A1A +onError FFFFFF +errorContainer FFDAD6 +onErrorContainer 93000A +primaryFixed D8E2FF +primaryFixedDim AEC6FF +onPrimaryFixed 001A43 +onPrimaryFixedVariant 2C4678 +secondaryFixed DBE2F9 +secondaryFixedDim BFC6DC +onSecondaryFixed 141B2C +onSecondaryFixedVariant 3F4759 +tertiaryFixed FCD7FB +tertiaryFixedDim DFBBDE +onTertiaryFixed 2A132D +onTertiaryFixedVariant 583E5A +text 1A1B20 +subtext1 44474F +subtext0 72747D +overlay2 85878F +overlay1 999BA3 +overlay0 ACADB5 +surface2 C0C0C7 +surface1 D3D2D9 +surface0 E7E6ED +base FAF9FF +mantle EDEAFF +crust E5E0FF +success 00A25A +rosewater 1F6A4E +flamingo 056A5C +pink 15667E +mauve 1B6685 +red 006972 +maroon 266389 +peach 006A67 +yellow 2B6A46 +green 35693F +teal 30628C +sky 435E91 +sapphire 3D5F8F +blue 37608E +lavender 0A6777 \ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/default/dark.txt b/src/caelestia/data/schemes/dynamic/default/dark.txt new file mode 100644 index 0000000..001e000 --- /dev/null +++ b/src/caelestia/data/schemes/dynamic/default/dark.txt @@ -0,0 +1,81 @@ +primary_paletteKeyColor 2E8195 +secondary_paletteKeyColor 647B82 +tertiary_paletteKeyColor 707598 +neutral_paletteKeyColor 72787A +neutral_variant_paletteKeyColor 70797C +background 0F1416 +onBackground DEE3E6 +surface 0F1416 +surfaceDim 0F1416 +surfaceBright 343A3C +surfaceContainerLowest 090F11 +surfaceContainerLow 171C1E +surfaceContainer 1B2022 +surfaceContainerHigh 252B2D +surfaceContainerHighest 303638 +onSurface DEE3E6 +surfaceVariant 3F484B +onSurfaceVariant BFC8CB +inverseSurface DEE3E6 +inverseOnSurface 2C3133 +outline 899295 +outlineVariant 3F484B +shadow 000000 +scrim 000000 +surfaceTint 85D2E7 +primary 85D2E7 +onPrimary 003641 +primaryContainer 004E5D +onPrimaryContainer AEECFF +inversePrimary 00687B +secondary B2CBD3 +onSecondary 1D343A +secondaryContainer 364D53 +onSecondaryContainer CEE7EF +tertiary BFC4EB +onTertiary 292E4D +tertiaryContainer 898FB3 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed AEECFF +primaryFixedDim 85D2E7 +onPrimaryFixed 001F26 +onPrimaryFixedVariant 004E5D +secondaryFixed CEE7EF +secondaryFixedDim B2CBD3 +onSecondaryFixed 061F25 +onSecondaryFixedVariant 344A51 +tertiaryFixed DEE1FF +tertiaryFixedDim BFC4EB +onTertiaryFixed 141937 +onTertiaryFixedVariant 3F4565 +text DEE3E6 +subtext1 BFC8CB +subtext0 899295 +overlay2 788083 +overlay1 666D70 +overlay0 555C5E +surface2 434A4D +surface1 32393B +surface0 202628 +base 0F1416 +mantle 090C0D +crust 050607 +success 93E5B6 +rosewater 9BD4A1 +flamingo 84D5C3 +pink 8CD0F1 +mauve 91CEF5 +red 80D4DC +maroon 85D2E7 +peach 80D5D0 +yellow 93D5A9 +green 8DD5B3 +teal 81D3E0 +sky 83D2E4 +sapphire 8AD1EE +blue 9CCBFA +lavender 86D1EB \ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/default/light.txt b/src/caelestia/data/schemes/dynamic/default/light.txt new file mode 100644 index 0000000..09648cf --- /dev/null +++ b/src/caelestia/data/schemes/dynamic/default/light.txt @@ -0,0 +1,81 @@ +primary_paletteKeyColor 2E8195 +secondary_paletteKeyColor 647B82 +tertiary_paletteKeyColor 707598 +neutral_paletteKeyColor 72787A +neutral_variant_paletteKeyColor 70797C +background F5FAFC +onBackground 171C1E +surface F5FAFC +surfaceDim D5DBDD +surfaceBright F5FAFC +surfaceContainerLowest FFFFFF +surfaceContainerLow EFF4F7 +surfaceContainer E9EFF1 +surfaceContainerHigh E4E9EB +surfaceContainerHighest DEE3E6 +onSurface 171C1E +surfaceVariant DBE4E7 +onSurfaceVariant 3F484B +inverseSurface 2C3133 +inverseOnSurface ECF2F4 +outline 6D7679 +outlineVariant BFC8CB +shadow 000000 +scrim 000000 +surfaceTint 00687B +primary 00687B +onPrimary FFFFFF +primaryContainer AEECFF +onPrimaryContainer 004E5D +inversePrimary 85D2E7 +secondary 4B6269 +onSecondary FFFFFF +secondaryContainer CEE7EF +onSecondaryContainer 344A51 +tertiary 6D7395 +onTertiary FFFFFF +tertiaryContainer 6D7395 +onTertiaryContainer FFFFFF +error BA1A1A +onError FFFFFF +errorContainer FFDAD6 +onErrorContainer 93000A +primaryFixed AEECFF +primaryFixedDim 85D2E7 +onPrimaryFixed 001F26 +onPrimaryFixedVariant 004E5D +secondaryFixed CEE7EF +secondaryFixedDim B2CBD3 +onSecondaryFixed 061F25 +onSecondaryFixedVariant 344A51 +tertiaryFixed DEE1FF +tertiaryFixedDim BFC4EB +onTertiaryFixed 141937 +onTertiaryFixedVariant 3F4565 +text 171C1E +subtext1 3F484B +subtext0 6D7679 +overlay2 80888B +overlay1 949C9F +overlay0 A7AFB1 +surface2 BBC1C4 +surface1 CED4D6 +surface0 E2E8EA +base F5FAFC +mantle E9F4F8 +crust E1F0F6 +success 00A25A +rosewater 1F6A4E +flamingo 056A5C +pink 046877 +mauve 00687B +red 006970 +maroon 02677E +peach 006A67 +yellow 2B6A46 +green 35693F +teal 0D6680 +sky 2E628B +sapphire 206486 +blue 156583 +lavender 036873 \ No newline at end of file diff --git a/src/caelestia/data/schemes/gruvbox/hard/dark.txt b/src/caelestia/data/schemes/gruvbox/hard/dark.txt new file mode 100644 index 0000000..06bd012 --- /dev/null +++ b/src/caelestia/data/schemes/gruvbox/hard/dark.txt @@ -0,0 +1,81 @@ +rosewater e8bcb6 +flamingo c59e9d +pink d24cce +mauve b16286 +red cc241d +maroon fb4934 +peach fe8019 +yellow fabd2f +green b8bb26 +teal 8ec07c +sky 9bcccb +sapphire 4191b1 +blue 83a598 +lavender a378cb +text fbf1c7 +subtext1 d5c4a1 +subtext0 bdae93 +overlay2 a89984 +overlay1 928374 +overlay0 7c6f64 +surface2 665c54 +surface1 504945 +surface0 3c3836 +base 1d2021 +mantle 171919 +crust 111213 +success b8bb26 +primary_paletteKeyColor 2D8194 +secondary_paletteKeyColor 637B82 +tertiary_paletteKeyColor 6F7598 +neutral_paletteKeyColor 72787A +neutral_variant_paletteKeyColor 70797C +background 0F1416 +onBackground DEE3E5 +surface 0F1416 +surfaceDim 0F1416 +surfaceBright 343A3C +surfaceContainerLowest 090F11 +surfaceContainerLow 171C1E +surfaceContainer 1B2022 +surfaceContainerHigh 252B2D +surfaceContainerHighest 303638 +onSurface DEE3E5 +surfaceVariant 3F484B +onSurfaceVariant BFC8CB +inverseSurface DEE3E5 +inverseOnSurface 2C3133 +outline 899295 +outlineVariant 3F484B +shadow 000000 +scrim 000000 +surfaceTint 84D2E7 +primary 84D2E7 +onPrimary 003640 +primaryContainer 004E5C +onPrimaryContainer ACEDFF +inversePrimary 00687A +secondary B2CBD2 +onSecondary 1D343A +secondaryContainer 334A51 +onSecondaryContainer CEE7EF +tertiary BFC4EB +onTertiary 282F4D +tertiaryContainer 898FB3 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed ACEDFF +primaryFixedDim 84D2E7 +onPrimaryFixed 001F26 +onPrimaryFixedVariant 004E5C +secondaryFixed CEE7EF +secondaryFixedDim B2CBD2 +onSecondaryFixed 061F24 +onSecondaryFixedVariant 334A51 +tertiaryFixed DDE1FF +tertiaryFixedDim BFC4EB +onTertiaryFixed 131937 +onTertiaryFixedVariant 3F4565 \ No newline at end of file diff --git a/src/caelestia/data/schemes/gruvbox/hard/light.txt b/src/caelestia/data/schemes/gruvbox/hard/light.txt new file mode 100644 index 0000000..89c65a8 --- /dev/null +++ b/src/caelestia/data/schemes/gruvbox/hard/light.txt @@ -0,0 +1,81 @@ +rosewater b16286 +flamingo 8f3f71 +pink 8f3f71 +mauve 8f3f71 +red 9d0006 +maroon cc241d +peach af3a03 +yellow b57614 +green 79740e +teal 427b58 +sky 076678 +sapphire 076678 +blue 076678 +lavender 8f3f71 +text 282828 +subtext1 3c3836 +subtext0 504945 +overlay2 7c6f64 +overlay1 928374 +overlay0 a89984 +surface2 bdae93 +surface1 d5c4a1 +surface0 ebdbb2 +base f9f5d7 +mantle eae6c7 +crust e0ddc7 +success 79740e +primary_paletteKeyColor 7D7A2E +secondary_paletteKeyColor 7A7859 +tertiary_paletteKeyColor 567F6D +neutral_paletteKeyColor 79776C +neutral_variant_paletteKeyColor 797768 +background FDF9EC +onBackground 1D1C14 +surface FDF9EC +surfaceDim DEDACD +surfaceBright FDF9EC +surfaceContainerLowest FFFFFF +surfaceContainerLow F8F4E6 +surfaceContainer F2EEE0 +surfaceContainerHigh ECE8DB +surfaceContainerHighest E6E2D5 +onSurface 1D1C14 +surfaceVariant E7E3D1 +onSurfaceVariant 49473A +inverseSurface 323128 +inverseOnSurface F5F1E3 +outline 777566 +outlineVariant CAC7B6 +shadow 000000 +scrim 000000 +surfaceTint 636116 +primary 636116 +onPrimary FFFFFF +primaryContainer EAE68E +onPrimaryContainer 4B4900 +inversePrimary CECA75 +secondary 616042 +onSecondary FFFFFF +secondaryContainer E5E1BC +onSecondaryContainer 49482C +tertiary 547D6B +onTertiary FFFFFF +tertiaryContainer 547D6B +onTertiaryContainer FFFFFF +error BA1A1A +onError FFFFFF +errorContainer FFDAD6 +onErrorContainer 93000A +primaryFixed EAE68E +primaryFixedDim CECA75 +onPrimaryFixed 1E1D00 +onPrimaryFixedVariant 4B4900 +secondaryFixed E8E4BF +secondaryFixedDim CBC8A4 +onSecondaryFixed 1D1C06 +onSecondaryFixedVariant 49482C +tertiaryFixed C0ECD7 +tertiaryFixedDim A5D0BB +onTertiaryFixed 002116 +onTertiaryFixedVariant 264E3E \ No newline at end of file diff --git a/src/caelestia/data/schemes/gruvbox/medium/dark.txt b/src/caelestia/data/schemes/gruvbox/medium/dark.txt new file mode 100644 index 0000000..1ed9168 --- /dev/null +++ b/src/caelestia/data/schemes/gruvbox/medium/dark.txt @@ -0,0 +1,81 @@ +rosewater e8bcb6 +flamingo c59e9d +pink d24cce +mauve b16286 +red cc241d +maroon fb4934 +peach fe8019 +yellow fabd2f +green b8bb26 +teal 8ec07c +sky 9bcccb +sapphire 4191b1 +blue 83a598 +lavender a378cb +text fbf1c7 +subtext1 d5c4a1 +subtext0 bdae93 +overlay2 a89984 +overlay1 928374 +overlay0 7c6f64 +surface2 665c54 +surface1 504945 +surface0 3c3836 +base 282828 +mantle 1f2122 +crust 181a1b +success b8bb26 +primary_paletteKeyColor 28828E +secondary_paletteKeyColor 627B80 +tertiary_paletteKeyColor 6B7697 +neutral_paletteKeyColor 727879 +neutral_variant_paletteKeyColor 6F797B +background 0E1415 +onBackground DEE3E5 +surface 0E1415 +surfaceDim 0E1415 +surfaceBright 343A3B +surfaceContainerLowest 090F10 +surfaceContainerLow 171D1E +surfaceContainer 1B2122 +surfaceContainerHigh 252B2C +surfaceContainerHighest 303637 +onSurface DEE3E5 +surfaceVariant 3F484A +onSurfaceVariant BFC8CA +inverseSurface DEE3E5 +inverseOnSurface 2B3133 +outline 899294 +outlineVariant 3F484A +shadow 000000 +scrim 000000 +surfaceTint 82D3E0 +primary 82D3E0 +onPrimary 00363D +primaryContainer 004F58 +onPrimaryContainer 9EEFFD +inversePrimary 006874 +secondary B1CBD0 +onSecondary 1C3438 +secondaryContainer 354D51 +onSecondaryContainer CDE7EC +tertiary BAC6EA +onTertiary 24304D +tertiaryContainer 8490B2 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed 9EEFFD +primaryFixedDim 82D3E0 +onPrimaryFixed 001F24 +onPrimaryFixedVariant 004F58 +secondaryFixed CDE7EC +secondaryFixedDim B1CBD0 +onSecondaryFixed 051F23 +onSecondaryFixedVariant 334B4F +tertiaryFixed DAE2FF +tertiaryFixedDim BAC6EA +onTertiaryFixed 0E1B37 +onTertiaryFixedVariant 3B4664 \ No newline at end of file diff --git a/src/caelestia/data/schemes/gruvbox/medium/light.txt b/src/caelestia/data/schemes/gruvbox/medium/light.txt new file mode 100644 index 0000000..0c484cf --- /dev/null +++ b/src/caelestia/data/schemes/gruvbox/medium/light.txt @@ -0,0 +1,81 @@ +rosewater b16286 +flamingo 8f3f71 +pink 8f3f71 +mauve 8f3f71 +red 9d0006 +maroon cc241d +peach af3a03 +yellow b57614 +green 79740e +teal 427b58 +sky 076678 +sapphire 076678 +blue 076678 +lavender 8f3f71 +text 282828 +subtext1 3c3836 +subtext0 504945 +overlay2 7c6f64 +overlay1 928374 +overlay0 a89984 +surface2 bdae93 +surface1 d5c4a1 +surface0 ebdbb2 +base fbf1c7 +mantle f2e8c0 +crust eae0bd +success 79740e +primary_paletteKeyColor 857829 +secondary_paletteKeyColor 7E7757 +tertiary_paletteKeyColor 5A7F68 +neutral_paletteKeyColor 7B776C +neutral_variant_paletteKeyColor 7B7768 +background FFF9EB +onBackground 1D1C13 +surface FFF9EB +surfaceDim DFDACC +surfaceBright FFF9EB +surfaceContainerLowest FFFFFF +surfaceContainerLow F9F3E5 +surfaceContainer F3EDE0 +surfaceContainerHigh EEE8DA +surfaceContainerHighest E8E2D4 +onSurface 1D1C13 +surfaceVariant E9E2D0 +onSurfaceVariant 4A4739 +inverseSurface 333027 +inverseOnSurface F6F0E2 +outline 797465 +outlineVariant CCC6B5 +shadow 000000 +scrim 000000 +surfaceTint 6A5F11 +primary 6A5F11 +onPrimary FFFFFF +primaryContainer F4E489 +onPrimaryContainer 514700 +inversePrimary D7C770 +secondary 655F41 +onSecondary FFFFFF +secondaryContainer E9E0BA +onSecondaryContainer 4C472B +tertiary 577D66 +onTertiary FFFFFF +tertiaryContainer 577D66 +onTertiaryContainer FFFFFF +error BA1A1A +onError FFFFFF +errorContainer FFDAD6 +onErrorContainer 93000A +primaryFixed F4E489 +primaryFixedDim D7C770 +onPrimaryFixed 201C00 +onPrimaryFixedVariant 514700 +secondaryFixed ECE3BD +secondaryFixedDim CFC7A2 +onSecondaryFixed 201C05 +onSecondaryFixedVariant 4C472B +tertiaryFixed C3ECD1 +tertiaryFixedDim A8D0B5 +onTertiaryFixed 002112 +onTertiaryFixedVariant 2A4E3A \ No newline at end of file diff --git a/src/caelestia/data/schemes/gruvbox/soft/dark.txt b/src/caelestia/data/schemes/gruvbox/soft/dark.txt new file mode 100644 index 0000000..5a952e7 --- /dev/null +++ b/src/caelestia/data/schemes/gruvbox/soft/dark.txt @@ -0,0 +1,81 @@ +rosewater e8bcb6 +flamingo c59e9d +pink d24cce +mauve b16286 +red cc241d +maroon fb4934 +peach fe8019 +yellow fabd2f +green b8bb26 +teal 8ec07c +sky 9bcccb +sapphire 4191b1 +blue 83a598 +lavender a378cb +text fbf1c7 +subtext1 d5c4a1 +subtext0 bdae93 +overlay2 a89984 +overlay1 928374 +overlay0 7c6f64 +surface2 665c54 +surface1 504945 +surface0 3c3836 +base 32302f +mantle 282828 +crust 1f2122 +success b8bb26 +primary_paletteKeyColor A46A32 +secondary_paletteKeyColor 8E725A +tertiary_paletteKeyColor 737B4E +neutral_paletteKeyColor 81756D +neutral_variant_paletteKeyColor 837469 +background 19120C +onBackground EFE0D5 +surface 19120C +surfaceDim 19120C +surfaceBright 413730 +surfaceContainerLowest 130D07 +surfaceContainerLow 221A14 +surfaceContainer 261E18 +surfaceContainerHigh 312822 +surfaceContainerHighest 3C332C +onSurface EFE0D5 +surfaceVariant 51443A +onSurfaceVariant D6C3B6 +inverseSurface EFE0D5 +inverseOnSurface 372F28 +outline 9E8E82 +outlineVariant 51443A +shadow 000000 +scrim 000000 +surfaceTint FFB878 +primary FFB878 +onPrimary 4C2700 +primaryContainer 6B3B03 +onPrimaryContainer FFDCC1 +inversePrimary 87521B +secondary E2C0A5 +onSecondary 412C19 +secondaryContainer 5A422D +onSecondaryContainer FFDCC1 +tertiary C2CB98 +onTertiary 2C340E +tertiaryContainer 8D9566 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed FFDCC1 +primaryFixedDim FFB878 +onPrimaryFixed 2E1600 +onPrimaryFixedVariant 6B3B03 +secondaryFixed FFDCC1 +secondaryFixedDim E2C0A5 +onSecondaryFixed 2A1706 +onSecondaryFixedVariant 5A422D +tertiaryFixed DFE8B2 +tertiaryFixedDim C2CB98 +onTertiaryFixed 181E00 +onTertiaryFixedVariant 434A23 \ No newline at end of file diff --git a/src/caelestia/data/schemes/gruvbox/soft/light.txt b/src/caelestia/data/schemes/gruvbox/soft/light.txt new file mode 100644 index 0000000..eae8b04 --- /dev/null +++ b/src/caelestia/data/schemes/gruvbox/soft/light.txt @@ -0,0 +1,81 @@ +rosewater b16286 +flamingo 8f3f71 +pink 8f3f71 +mauve 8f3f71 +red 9d0006 +maroon cc241d +peach af3a03 +yellow b57614 +green 79740e +teal 427b58 +sky 076678 +sapphire 076678 +blue 076678 +lavender 8f3f71 +text 282828 +subtext1 3c3836 +subtext0 504945 +overlay2 7c6f64 +overlay1 928374 +overlay0 a89984 +surface2 bdae93 +surface1 d5c4a1 +surface0 ebdbb2 +base f2e5bc +mantle ebdfb6 +crust e1d5ae +success 79740e +primary_paletteKeyColor 887627 +secondary_paletteKeyColor 807757 +tertiary_paletteKeyColor 5C7F66 +neutral_paletteKeyColor 7B776C +neutral_variant_paletteKeyColor 7C7768 +background FFF9EE +onBackground 1E1B13 +surface FFF9EE +surfaceDim E0D9CC +surfaceBright FFF9EE +surfaceContainerLowest FFFFFF +surfaceContainerLow FAF3E5 +surfaceContainer F4EDDF +surfaceContainerHigh EEE7DA +surfaceContainerHighest E9E2D4 +onSurface 1E1B13 +surfaceVariant EAE2CF +onSurfaceVariant 4B4739 +inverseSurface 333027 +inverseOnSurface F7F0E2 +outline 7A7465 +outlineVariant CDC6B4 +shadow 000000 +scrim 000000 +surfaceTint 6E5D0E +primary 6E5D0E +onPrimary FFFFFF +primaryContainer FAE287 +onPrimaryContainer 544600 +inversePrimary DCC66E +secondary 665E40 +onSecondary FFFFFF +secondaryContainer ECDFB9 +onSecondaryContainer 4E472A +tertiary 597D63 +onTertiary FFFFFF +tertiaryContainer 597D63 +onTertiaryContainer FFFFFF +error BA1A1A +onError FFFFFF +errorContainer FFDAD6 +onErrorContainer 93000A +primaryFixed FAE287 +primaryFixedDim DCC66E +onPrimaryFixed 221B00 +onPrimaryFixedVariant 544600 +secondaryFixed EEE2BC +secondaryFixedDim D2C6A1 +onSecondaryFixed 211B04 +onSecondaryFixedVariant 4E472A +tertiaryFixed C5ECCD +tertiaryFixedDim AAD0B2 +onTertiaryFixed 00210F +onTertiaryFixedVariant 2C4E37 \ No newline at end of file diff --git a/src/caelestia/data/schemes/oldworld/dark.txt b/src/caelestia/data/schemes/oldworld/dark.txt new file mode 100644 index 0000000..846dc18 --- /dev/null +++ b/src/caelestia/data/schemes/oldworld/dark.txt @@ -0,0 +1,81 @@ +rosewater f4d3d3 +flamingo edbab5 +pink e29eca +mauve c99ee2 +red ea83a5 +maroon f49eba +peach f5a191 +yellow e6b99d +green 90b99f +teal 85b5ba +sky 69b6e0 +sapphire 5b9fba +blue 92a2d5 +lavender aca1cf +text c9c7cd +subtext1 9998a8 +subtext0 757581 +overlay2 57575f +overlay1 3e3e43 +overlay0 353539 +surface2 2a2a2d +surface1 27272a +surface0 1b1b1d +base 161617 +mantle 131314 +crust 101011 +success 90b99f +primary_paletteKeyColor 5A77AB +secondary_paletteKeyColor 6E778A +tertiary_paletteKeyColor 8A6E8E +neutral_paletteKeyColor 76777D +neutral_variant_paletteKeyColor 74777F +background 111318 +onBackground E2E2E9 +surface 111318 +surfaceDim 111318 +surfaceBright 37393E +surfaceContainerLowest 0C0E13 +surfaceContainerLow 191C20 +surfaceContainer 1E2025 +surfaceContainerHigh 282A2F +surfaceContainerHighest 33353A +onSurface E2E2E9 +surfaceVariant 44474E +onSurfaceVariant C4C6D0 +inverseSurface E2E2E9 +inverseOnSurface 2E3036 +outline 8E9099 +outlineVariant 44474E +shadow 000000 +scrim 000000 +surfaceTint ABC7FF +primary ABC7FF +onPrimary 0B305F +primaryContainer 284777 +onPrimaryContainer D7E3FF +inversePrimary 415E91 +secondary BEC6DC +onSecondary 283141 +secondaryContainer 3E4759 +onSecondaryContainer DAE2F9 +tertiary DDBCE0 +onTertiary 3F2844 +tertiaryContainer A587A9 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed D7E3FF +primaryFixedDim ABC7FF +onPrimaryFixed 001B3F +onPrimaryFixedVariant 284777 +secondaryFixed DAE2F9 +secondaryFixedDim BEC6DC +onSecondaryFixed 131C2B +onSecondaryFixedVariant 3E4759 +tertiaryFixed FAD8FD +tertiaryFixedDim DDBCE0 +onTertiaryFixed 28132E +onTertiaryFixedVariant 573E5C \ No newline at end of file diff --git a/src/caelestia/data/schemes/onedark/dark.txt b/src/caelestia/data/schemes/onedark/dark.txt new file mode 100644 index 0000000..269096e --- /dev/null +++ b/src/caelestia/data/schemes/onedark/dark.txt @@ -0,0 +1,81 @@ +rosewater edcbc5 +flamingo d3a4a4 +pink d792c6 +mauve c678dd +red be5046 +maroon e06c75 +peach d19a66 +yellow e5c07b +green 98c379 +teal 56b6c2 +sky 90ccd7 +sapphire 389dcc +blue 61afef +lavender 8e98d9 +text abb2bf +subtext1 95a0b5 +subtext0 838b9c +overlay2 767f8f +overlay1 666e7c +overlay0 5c6370 +surface2 4b5263 +surface1 3c414f +surface0 30343e +base 282c34 +mantle 21242b +crust 1e2126 +success 98c379 +primary_paletteKeyColor 5878AB +secondary_paletteKeyColor 6E778A +tertiary_paletteKeyColor 896E8F +neutral_paletteKeyColor 75777D +neutral_variant_paletteKeyColor 74777F +background 111318 +onBackground E1E2E9 +surface 111318 +surfaceDim 111318 +surfaceBright 37393E +surfaceContainerLowest 0C0E13 +surfaceContainerLow 191C20 +surfaceContainer 1D2024 +surfaceContainerHigh 282A2F +surfaceContainerHighest 33353A +onSurface E1E2E9 +surfaceVariant 43474E +onSurfaceVariant C4C6CF +inverseSurface E1E2E9 +inverseOnSurface 2E3035 +outline 8E9099 +outlineVariant 43474E +shadow 000000 +scrim 000000 +surfaceTint A8C8FF +primary A8C8FF +onPrimary 06305F +primaryContainer 254777 +onPrimaryContainer D5E3FF +inversePrimary 3F5F90 +secondary BDC7DC +onSecondary 273141 +secondaryContainer 40495B +onSecondaryContainer D9E3F8 +tertiary DBBCE1 +onTertiary 3E2845 +tertiaryContainer A387AA +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed D5E3FF +primaryFixedDim A8C8FF +onPrimaryFixed 001B3C +onPrimaryFixedVariant 254777 +secondaryFixed D9E3F8 +secondaryFixedDim BDC7DC +onSecondaryFixed 121C2B +onSecondaryFixedVariant 3E4758 +tertiaryFixed F8D8FE +tertiaryFixedDim DBBCE1 +onTertiaryFixed 28132F +onTertiaryFixedVariant 563E5D \ No newline at end of file diff --git a/src/caelestia/data/schemes/rosepine/dawn/light.txt b/src/caelestia/data/schemes/rosepine/dawn/light.txt new file mode 100644 index 0000000..90f4f73 --- /dev/null +++ b/src/caelestia/data/schemes/rosepine/dawn/light.txt @@ -0,0 +1,81 @@ +rosewater d4aeac +flamingo d7827e +pink bd6dbd +mauve 907aa9 +red b4637a +maroon d3889d +peach d7a37e +yellow ea9d34 +green 569f60 +teal 56949f +sky 5ba4b0 +sapphire 286983 +blue 284983 +lavender 6e6fa7 +text 575279 +subtext1 797593 +subtext0 9893a5 +overlay2 a39eb1 +overlay1 a8a2b6 +overlay0 b9b3ca +surface2 f3eae4 +surface1 f4ede8 +surface0 fffaf3 +base faf4ed +mantle f2ebe4 +crust e4e2de +success 569f60 +primary_paletteKeyColor 8B7526 +secondary_paletteKeyColor 817656 +tertiary_paletteKeyColor 5D7F64 +neutral_paletteKeyColor 7C776C +neutral_variant_paletteKeyColor 7D7768 +background FFF8F0 +onBackground 1E1B13 +surface FFF8F0 +surfaceDim E1D9CC +surfaceBright FFF8F0 +surfaceContainerLowest FFFFFF +surfaceContainerLow FBF3E5 +surfaceContainer F5EDDF +surfaceContainerHigh EFE7DA +surfaceContainerHighest E9E2D4 +onSurface 1E1B13 +surfaceVariant EBE2CF +onSurfaceVariant 4B4639 +inverseSurface 343027 +inverseOnSurface F8F0E2 +outline 7A7465 +outlineVariant CEC6B4 +shadow 000000 +scrim 000000 +surfaceTint 715C0D +primary 715C0D +onPrimary FFFFFF +primaryContainer FDE186 +onPrimaryContainer 564500 +inversePrimary E0C56D +secondary 685E40 +onSecondary FFFFFF +secondaryContainer F0E2BB +onSecondaryContainer 4F462A +tertiary 5B7C61 +onTertiary FFFFFF +tertiaryContainer 5B7C61 +onTertiaryContainer FFFFFF +error BA1A1A +onError FFFFFF +errorContainer FFDAD6 +onErrorContainer 93000A +primaryFixed FDE186 +primaryFixedDim E0C56D +onPrimaryFixed 231B00 +onPrimaryFixedVariant 564500 +secondaryFixed F0E2BB +secondaryFixedDim D3C6A1 +onSecondaryFixed 221B04 +onSecondaryFixedVariant 4F462A +tertiaryFixed C7ECCB +tertiaryFixedDim ABCFB0 +onTertiaryFixed 01210D +onTertiaryFixedVariant 2E4E36 \ No newline at end of file diff --git a/src/caelestia/data/schemes/rosepine/main/dark.txt b/src/caelestia/data/schemes/rosepine/main/dark.txt new file mode 100644 index 0000000..061454b --- /dev/null +++ b/src/caelestia/data/schemes/rosepine/main/dark.txt @@ -0,0 +1,81 @@ +rosewater f0d4d3 +flamingo ebbcba +pink d97cbf +mauve c4a7e7 +red eb6f92 +maroon e891aa +peach e8a992 +yellow f6c177 +green 8fdbab +teal 90d5c2 +sky 9ccfd8 +sapphire 31748f +blue 6f81d5 +lavender a9a7e7 +text e0def4 +subtext1 908caa +subtext0 6e6a86 +overlay2 605d76 +overlay1 534f65 +overlay0 454253 +surface2 232130 +surface1 21202e +surface0 1f1d2e +base 191724 +mantle 16141e +crust 121116 +success 8fdbab +primary_paletteKeyColor 786FAB +secondary_paletteKeyColor 79748B +tertiary_paletteKeyColor 976A7D +neutral_paletteKeyColor 79767D +neutral_variant_paletteKeyColor 78757F +background 141318 +onBackground E5E1E9 +surface 141318 +surfaceDim 141318 +surfaceBright 3A383E +surfaceContainerLowest 0E0D13 +surfaceContainerLow 1C1B20 +surfaceContainer 201F25 +surfaceContainerHigh 2B292F +surfaceContainerHighest 35343A +onSurface E5E1E9 +surfaceVariant 48454E +onSurfaceVariant C9C5D0 +inverseSurface E5E1E9 +inverseOnSurface 312F36 +outline 938F99 +outlineVariant 48454E +shadow 000000 +scrim 000000 +surfaceTint C9BFFF +primary C9BFFF +onPrimary 31285F +primaryContainer 473F77 +onPrimaryContainer E5DEFF +inversePrimary 5F5790 +secondary C9C3DC +onSecondary 312E41 +secondaryContainer 484459 +onSecondaryContainer E5DFF9 +tertiary EDB8CD +onTertiary 482536 +tertiaryContainer B38397 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed E5DEFF +primaryFixedDim C9BFFF +onPrimaryFixed 1B1149 +onPrimaryFixedVariant 473F77 +secondaryFixed E5DFF9 +secondaryFixedDim C9C3DC +onSecondaryFixed 1C192B +onSecondaryFixedVariant 484459 +tertiaryFixed FFD8E6 +tertiaryFixedDim EDB8CD +onTertiaryFixed 301120 +onTertiaryFixedVariant 623B4C \ No newline at end of file diff --git a/src/caelestia/data/schemes/rosepine/moon/dark.txt b/src/caelestia/data/schemes/rosepine/moon/dark.txt new file mode 100644 index 0000000..37183ae --- /dev/null +++ b/src/caelestia/data/schemes/rosepine/moon/dark.txt @@ -0,0 +1,81 @@ +rosewater f0d4d3 +flamingo ea9a97 +pink d97cbf +mauve c4a7e7 +red eb6f92 +maroon e891aa +peach e8a992 +yellow f6c177 +green 8fdbab +teal 90d5c2 +sky 9ccfd8 +sapphire 3e8fb0 +blue 6f81d5 +lavender a9a7e7 +text e0def4 +subtext1 908caa +subtext0 6e6a86 +overlay2 635f7a +overlay1 555268 +overlay0 49475a +surface2 312f47 +surface1 2b283b +surface0 2a273f +base 232136 +mantle 201e30 +crust 1d1b2c +success 8fdbab +primary_paletteKeyColor 7670AC +secondary_paletteKeyColor 77748B +tertiary_paletteKeyColor 966B7F +neutral_paletteKeyColor 78767D +neutral_variant_paletteKeyColor 787680 +background 131318 +onBackground E5E1E9 +surface 131318 +surfaceDim 131318 +surfaceBright 3A383E +surfaceContainerLowest 0E0E13 +surfaceContainerLow 1C1B20 +surfaceContainer 201F25 +surfaceContainerHigh 2A292F +surfaceContainerHighest 35343A +onSurface E5E1E9 +surfaceVariant 47464F +onSurfaceVariant C9C5D0 +inverseSurface E5E1E9 +inverseOnSurface 313036 +outline 928F99 +outlineVariant 47464F +shadow 000000 +scrim 000000 +surfaceTint C6BFFF +primary C6BFFF +onPrimary 2E295F +primaryContainer 454077 +onPrimaryContainer E4DFFF +inversePrimary 5D5791 +secondary C8C3DC +onSecondary 302E41 +secondaryContainer 474459 +onSecondaryContainer E4DFF9 +tertiary EBB8CF +onTertiary 482537 +tertiaryContainer B28499 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed E4DFFF +primaryFixedDim C6BFFF +onPrimaryFixed 19124A +onPrimaryFixedVariant 454077 +secondaryFixed E4DFF9 +secondaryFixedDim C8C3DC +onSecondaryFixed 1B192C +onSecondaryFixedVariant 474459 +tertiaryFixed FFD8E8 +tertiaryFixedDim EBB8CF +onTertiaryFixed 301122 +onTertiaryFixedVariant 613B4E \ No newline at end of file diff --git a/src/caelestia/data/schemes/shadotheme/dark.txt b/src/caelestia/data/schemes/shadotheme/dark.txt new file mode 100644 index 0000000..e178804 --- /dev/null +++ b/src/caelestia/data/schemes/shadotheme/dark.txt @@ -0,0 +1,81 @@ +rosewater f1c4e0 +flamingo F18FB0 +pink a8899c +mauve E9729D +red B52A5B +maroon FF4971 +peach ff79c6 +yellow 8897F4 +green 6a5acd +teal F18FB0 +sky 4484d1 +sapphire 2f77a1 +blue bd93f9 +lavender 849BE0 +text e3c7fc +subtext1 CBB2E1 +subtext0 B39DC7 +overlay2 9A88AC +overlay1 827392 +overlay0 6A5D77 +surface2 52485D +surface1 393342 +surface0 211E28 +base 09090d +mantle 060608 +crust 030304 +success 37d4a7 +primary_paletteKeyColor 6F72AC +secondary_paletteKeyColor 75758B +tertiary_paletteKeyColor 936B83 +neutral_paletteKeyColor 78767D +neutral_variant_paletteKeyColor 777680 +background 131318 +onBackground E4E1E9 +surface 131318 +surfaceDim 131318 +surfaceBright 39383F +surfaceContainerLowest 0E0E13 +surfaceContainerLow 1B1B21 +surfaceContainer 1F1F25 +surfaceContainerHigh 2A292F +surfaceContainerHighest 35343A +onSurface E4E1E9 +surfaceVariant 46464F +onSurfaceVariant C7C5D0 +inverseSurface E4E1E9 +inverseOnSurface 303036 +outline 918F9A +outlineVariant 46464F +shadow 000000 +scrim 000000 +surfaceTint BFC1FF +primary BFC1FF +onPrimary 282B60 +primaryContainer 3F4178 +onPrimaryContainer E1E0FF +inversePrimary 565992 +secondary C5C4DD +onSecondary 2E2F42 +secondaryContainer 47475B +onSecondaryContainer E2E0F9 +tertiary E8B9D4 +onTertiary 46263B +tertiaryContainer AF849D +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed E1E0FF +primaryFixedDim BFC1FF +onPrimaryFixed 12144B +onPrimaryFixedVariant 3F4178 +secondaryFixed E2E0F9 +secondaryFixedDim C5C4DD +onSecondaryFixed 191A2C +onSecondaryFixedVariant 454559 +tertiaryFixed FFD8ED +tertiaryFixedDim E8B9D4 +onTertiaryFixed 2E1125 +onTertiaryFixedVariant 5F3C52 \ No newline at end of file diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py new file mode 100644 index 0000000..db45645 --- /dev/null +++ b/src/caelestia/parser.py @@ -0,0 +1,125 @@ +import argparse + +from caelestia.data import get_scheme_names, scheme_variants +from caelestia.subcommands import ( + clipboard, + emoji, + pip, + record, + scheme, + screenshot, + shell, + toggle, + variant, + wallpaper, + wsaction, +) + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(prog="caelestia", description="Main control script for the Caelestia dotfiles") + + # Add subcommand parsers + command_parser = parser.add_subparsers( + title="subcommands", description="valid subcommands", metavar="COMMAND", help="the subcommand to run" + ) + + # Create parser for shell opts + shell_parser = command_parser.add_parser("shell", help="start or message the shell") + shell_parser.set_defaults(cls=shell.Command) + shell_parser.add_argument("message", nargs="*", help="a message to send to the shell") + shell_parser.add_argument("-s", "--show", action="store_true", help="print all shell IPC commands") + shell_parser.add_argument( + "-l", + "--log", + nargs="?", + const="quickshell.dbus.properties.warning=false;quickshell.dbus.dbusmenu.warning=false;quickshell.service.notifications.warning=false;quickshell.service.sni.host.warning=false", + metavar="RULES", + help="print the shell log", + ) + + # Create parser for toggle opts + toggle_parser = command_parser.add_parser("toggle", help="toggle a special workspace") + toggle_parser.set_defaults(cls=toggle.Command) + toggle_parser.add_argument( + "workspace", choices=["communication", "music", "sysmon", "specialws", "todo"], help="the workspace to toggle" + ) + + # Create parser for workspace-action opts + ws_action_parser = command_parser.add_parser( + "workspace-action", help="execute a Hyprland workspace dispatcher in the current group" + ) + ws_action_parser.set_defaults(cls=wsaction.Command) + ws_action_parser.add_argument( + "-g", "--group", action="store_true", help="whether to execute the dispatcher on a group" + ) + ws_action_parser.add_argument( + "dispatcher", choices=["workspace", "movetoworkspace"], help="the dispatcher to execute" + ) + ws_action_parser.add_argument("workspace", type=int, help="the workspace to pass to the dispatcher") + + # Create parser for scheme opts + scheme_parser = command_parser.add_parser("scheme", help="manage the colour scheme") + scheme_parser.set_defaults(cls=scheme.Command) + scheme_parser.add_argument("-g", "--get", action="store_true", help="print the current scheme") + scheme_parser.add_argument("-r", "--random", action="store_true", help="switch to a random scheme") + scheme_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to") + scheme_parser.add_argument("-f", "--flavour", help="the flavour to switch to") + scheme_parser.add_argument("-m", "--mode", choices=["dark", "light"], help="the mode to switch to") + + # Create parser for variant opts + variant_parser = command_parser.add_parser("variant", help="manage the dynamic scheme variant") + variant_parser.set_defaults(cls=variant.Command) + variant_parser.add_argument("-g", "--get", action="store_true", help="print the current dynamic scheme variant") + variant_parser.add_argument("-s", "--set", choices=scheme_variants, help="set the current dynamic scheme variant") + variant_parser.add_argument("-r", "--random", action="store_true", help="switch to a random variant") + + # Create parser for screenshot opts + screenshot_parser = command_parser.add_parser("screenshot", help="take a screenshot") + screenshot_parser.set_defaults(cls=screenshot.Command) + screenshot_parser.add_argument("-r", "--region", help="take a screenshot of a region") + screenshot_parser.add_argument( + "-f", "--freeze", action="store_true", help="freeze the screen while selecting a region" + ) + + # Create parser for record opts + record_parser = command_parser.add_parser("record", help="start a screen recording") + record_parser.set_defaults(cls=record.Command) + record_parser.add_argument("-r", "--region", action="store_true", help="record a region") + record_parser.add_argument("-s", "--sound", action="store_true", help="record audio") + + # Create parser for clipboard opts + clipboard_parser = command_parser.add_parser("clipboard", help="open clipboard history") + clipboard_parser.set_defaults(cls=clipboard.Command) + clipboard_parser.add_argument("-d", "--delete", action="store_true", help="delete from clipboard history") + + # Create parser for emoji-picker opts + emoji_parser = command_parser.add_parser("emoji-picker", help="toggle the emoji picker") + emoji_parser.set_defaults(cls=emoji.Command) + + # Create parser for wallpaper opts + wallpaper_parser = command_parser.add_parser("wallpaper", help="manage the wallpaper") + wallpaper_parser.set_defaults(cls=wallpaper.Command) + wallpaper_parser.add_argument("-g", "--get", action="store_true", help="print the current wallpaper") + wallpaper_parser.add_argument("-r", "--random", action="store_true", help="switch to a random wallpaper") + wallpaper_parser.add_argument("-f", "--file", help="the path to the wallpaper to switch to") + wallpaper_parser.add_argument("-n", "--no-filter", action="store_true", help="do not filter by size") + wallpaper_parser.add_argument( + "-t", + "--threshold", + default=80, + help="the minimum percentage of the largest monitor size the image must be greater than to be selected", + ) + wallpaper_parser.add_argument( + "-N", + "--no-smart", + action="store_true", + help="do not automatically change the scheme mode based on wallpaper colour", + ) + + # Create parser for pip opts + pip_parser = command_parser.add_parser("pip", help="picture in picture utilities") + pip_parser.set_defaults(cls=pip.Command) + pip_parser.add_argument("-d", "--daemon", action="store_true", help="start the daemon") + + return parser.parse_args() diff --git a/src/caelestia/subcommands/clipboard.py b/src/caelestia/subcommands/clipboard.py new file mode 100644 index 0000000..37f9a2b --- /dev/null +++ b/src/caelestia/subcommands/clipboard.py @@ -0,0 +1,11 @@ +from argparse import Namespace + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/caelestia/subcommands/emoji.py b/src/caelestia/subcommands/emoji.py new file mode 100644 index 0000000..37f9a2b --- /dev/null +++ b/src/caelestia/subcommands/emoji.py @@ -0,0 +1,11 @@ +from argparse import Namespace + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/caelestia/subcommands/pip.py b/src/caelestia/subcommands/pip.py new file mode 100644 index 0000000..37f9a2b --- /dev/null +++ b/src/caelestia/subcommands/pip.py @@ -0,0 +1,11 @@ +from argparse import Namespace + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/caelestia/subcommands/record.py b/src/caelestia/subcommands/record.py new file mode 100644 index 0000000..37f9a2b --- /dev/null +++ b/src/caelestia/subcommands/record.py @@ -0,0 +1,11 @@ +from argparse import Namespace + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py new file mode 100644 index 0000000..37f9a2b --- /dev/null +++ b/src/caelestia/subcommands/scheme.py @@ -0,0 +1,11 @@ +from argparse import Namespace + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/caelestia/subcommands/screenshot.py b/src/caelestia/subcommands/screenshot.py new file mode 100644 index 0000000..37f9a2b --- /dev/null +++ b/src/caelestia/subcommands/screenshot.py @@ -0,0 +1,11 @@ +from argparse import Namespace + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/caelestia/subcommands/shell.py b/src/caelestia/subcommands/shell.py new file mode 100644 index 0000000..2d8d14e --- /dev/null +++ b/src/caelestia/subcommands/shell.py @@ -0,0 +1,41 @@ +import subprocess +from argparse import Namespace + +from caelestia import data + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + if self.args.show: + # Print the ipc + self.print_ipc() + elif self.args.log: + # Print the log + self.print_log() + elif self.args.message: + # Send a message + self.message(*self.args.message) + else: + # Start the shell + self.shell() + + def shell(self, *args: list[str]) -> str: + return subprocess.check_output(["qs", "-p", data.c_data_dir / "shell", *args], text=True) + + def print_ipc(self) -> None: + print(self.shell("ipc", "show"), end="") + + def print_log(self) -> None: + log = self.shell("log") + # FIXME: remove when logging rules are added/warning is removed + for line in log.splitlines(): + if "QProcess: Destroyed while process" not in line: + print(line) + + def message(self, *args: list[str]) -> None: + print(self.shell("ipc", "call", *args), end="") diff --git a/src/caelestia/subcommands/toggle.py b/src/caelestia/subcommands/toggle.py new file mode 100644 index 0000000..2122910 --- /dev/null +++ b/src/caelestia/subcommands/toggle.py @@ -0,0 +1,82 @@ +from argparse import Namespace + +from caelestia.utils import hypr + + +class Command: + args: Namespace + clients: list[dict[str, any]] = None + app2unit: str = None + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + getattr(self, self.args.workspace)() + + def get_clients(self) -> list[dict[str, any]]: + if self.clients is None: + self.clients = hypr.message("clients") + + return self.clients + + def get_app2unit(self) -> str: + if self.app2unit is None: + import shutil + + self.app2unit = shutil.which("app2unit") + + return self.app2unit + + def move_client(self, selector: callable, workspace: str) -> None: + for client in self.get_clients(): + if selector(client): + hypr.dispatch("movetoworkspacesilent", f"special:{workspace},address:{client['address']}") + + def spawn_client(self, selector: callable, spawn: list[str]) -> bool: + exists = any(selector(client) for client in self.get_clients()) + + if not exists: + import subprocess + + subprocess.Popen([self.get_app2unit(), "--", *spawn], start_new_session=True) + + return not exists + + def spawn_or_move(self, selector: callable, spawn: list[str], workspace: str) -> None: + if not self.spawn_client(selector, spawn): + self.move_client(selector, workspace) + + def communication(self) -> None: + self.spawn_or_move(lambda c: c["class"] == "discord", ["discord"], "communication") + self.move_client(lambda c: c["class"] == "whatsapp", "communication") + + def music(self) -> None: + self.spawn_or_move( + lambda c: c["class"] == "Spotify" or c["initialTitle"] == "Spotify" or c["initialTitle"] == "Spotify Free", + ["spicetify", "watch", "-s"], + "music", + ) + self.move_client(lambda c: c["class"] == "feishin", "music") + + def sysmon(self) -> None: + self.spawn_client( + lambda c: c["class"] == "btop" and c["title"] == "btop" and c["workspace"]["name"] == "special:sysmon", + ["foot", "-a", "btop", "-T", "btop", "--", "btop"], + "sysmon", + ) + + def todo(self) -> None: + self.spawn_or_move(lambda c: c["class"] == "Todoist", ["todoist"], "todo") + + def specialws(self) -> None: + workspaces = hypr.message("workspaces") + on_special_ws = any(ws["name"] == "special:special" for ws in workspaces) + toggle_ws = "special" + + if not on_special_ws: + active_ws = hypr.message("activewindow")["workspace"]["name"] + if active_ws.startswith("special:"): + toggle_ws = active_ws[8:] + + hypr.dispatch("togglespecialworkspace", toggle_ws) diff --git a/src/caelestia/subcommands/variant.py b/src/caelestia/subcommands/variant.py new file mode 100644 index 0000000..37f9a2b --- /dev/null +++ b/src/caelestia/subcommands/variant.py @@ -0,0 +1,11 @@ +from argparse import Namespace + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/caelestia/subcommands/wallpaper.py b/src/caelestia/subcommands/wallpaper.py new file mode 100644 index 0000000..37f9a2b --- /dev/null +++ b/src/caelestia/subcommands/wallpaper.py @@ -0,0 +1,11 @@ +from argparse import Namespace + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + pass diff --git a/src/caelestia/subcommands/wsaction.py b/src/caelestia/subcommands/wsaction.py new file mode 100644 index 0000000..d496381 --- /dev/null +++ b/src/caelestia/subcommands/wsaction.py @@ -0,0 +1,18 @@ +from argparse import Namespace + +from caelestia.utils import hypr + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + active_ws = hypr.message("activeworkspace")["id"] + + if self.args.group: + hypr.dispatch(self.args.dispatcher, (self.args.workspace - 1) * 10 + active_ws % 10) + else: + hypr.dispatch(self.args.dispatcher, int((active_ws - 1) / 10) * 10 + self.args.workspace) diff --git a/src/caelestia/utils/hypr.py b/src/caelestia/utils/hypr.py new file mode 100644 index 0000000..d829f22 --- /dev/null +++ b/src/caelestia/utils/hypr.py @@ -0,0 +1,27 @@ +import json as j +import os +import socket + +socket_path = f"{os.getenv('XDG_RUNTIME_DIR')}/hypr/{os.getenv('HYPRLAND_INSTANCE_SIGNATURE')}/.socket.sock" + + +def message(msg: str, json: bool = True) -> str or dict[str, any]: + with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock: + sock.connect(socket_path) + + if json: + msg = f"j/{msg}" + sock.send(msg.encode()) + + resp = sock.recv(8192).decode() + while True: + new_resp = sock.recv(8192) + if not new_resp: + break + resp += new_resp.decode() + + return j.loads(resp) if json else resp + + +def dispatch(dispatcher: str, *args: list[any]) -> bool: + return message(f"dispatch {dispatcher} {' '.join(str(a) for a in args)}".rstrip(), json=False) == "ok" diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py new file mode 100644 index 0000000..e69de29 diff --git a/src/data.py b/src/data.py deleted file mode 100644 index caa78f1..0000000 --- a/src/data.py +++ /dev/null @@ -1,120 +0,0 @@ -import os -from pathlib import Path - -config_dir = Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config")) -data_dir = Path(os.getenv("XDG_DATA_HOME", Path.home() / ".local/share")) -state_dir = Path(os.getenv("XDG_STATE_HOME", Path.home() / ".local/state")) - -c_config_dir = config_dir / "caelestia" -c_data_dir = data_dir / "caelestia" -c_state_dir = state_dir / "caelestia" - -scheme_name_path = c_state_dir / "scheme/name.txt" -scheme_flavour_path = c_state_dir / "scheme/flavour.txt" -scheme_colours_path = c_state_dir / "scheme/colours.txt" -scheme_mode_path = c_state_dir / "scheme/mode.txt" -scheme_variant_path = c_state_dir / "scheme/variant.txt" - -scheme_data_path = Path(__file__).parent.parent / "data/schemes" - -scheme_variants = [ - "tonalspot", - "vibrant", - "expressive", - "fidelity", - "fruitsalad", - "monochrome", - "neutral", - "rainbow", - "content", -] - -scheme_names: list[str] = None -scheme_flavours: list[str] = None -scheme_modes: list[str] = None - -scheme_name: str = None -scheme_flavour: str = None -scheme_colours: dict[str, str] = None -scheme_mode: str = None -scheme_variant: str = None - - -def get_scheme_path() -> Path: - return (scheme_data_path / get_scheme_name() / get_scheme_flavour() / get_scheme_mode()).with_suffix(".txt") - - -def get_scheme_names() -> list[str]: - global scheme_names - - if scheme_names is None: - scheme_names = [f.name for f in scheme_data_path.iterdir() if f.is_dir()] - - return scheme_names - - -def get_scheme_flavours() -> list[str]: - global scheme_flavours - - if scheme_flavours is None: - scheme_flavours = [f.name for f in (scheme_data_path / get_scheme_name()).iterdir() if f.is_dir()] - - return scheme_flavours - - -def get_scheme_modes() -> list[str]: - global scheme_modes - - if scheme_modes is None: - scheme_modes = [ - f.stem for f in (scheme_data_path / get_scheme_name() / get_scheme_flavour()).iterdir() if f.is_file() - ] - - return scheme_modes - - -def get_scheme_name() -> str: - global scheme_name - - if scheme_name is None: - scheme_name = scheme_name_path.read_text().strip() if scheme_name_path.exists() else "catppuccin" - - return scheme_name - - -def get_scheme_flavour() -> str: - global scheme_flavour - - if scheme_flavour is None: - scheme_flavour = scheme_flavour_path.read_text().strip() if scheme_flavour_path.exists() else "mocha" - - return scheme_flavour - - -def get_scheme_colours() -> dict[str, str]: - global scheme_colours - - if scheme_colours is None: - scheme_colours = { - k.strip(): v.strip() for k, v in (line.split(" ") for line in get_scheme_path().read_text().splitlines()) - } - - return scheme_colours - - -def get_scheme_mode() -> str: - global scheme_mode - - if scheme_mode is None: - scheme_mode = scheme_mode_path.read_text().strip() if scheme_mode_path.exists() else "dark" - - return scheme_mode - - -def get_scheme_variant() -> str: - global scheme_variant - - if scheme_variant is None: - scheme_variant = scheme_variant_path.read_text().strip() if scheme_variant_path.exists() else "tonalspot" - - return scheme_variant diff --git a/src/main.py b/src/main.py deleted file mode 100644 index e1f543f..0000000 --- a/src/main.py +++ /dev/null @@ -1,5 +0,0 @@ -from parser import parse_args - -if __name__ == "__main__": - args = parse_args() - args.cls(args).run() diff --git a/src/parser.py b/src/parser.py deleted file mode 100644 index 49695ee..0000000 --- a/src/parser.py +++ /dev/null @@ -1,113 +0,0 @@ -import argparse - -from data import get_scheme_names, scheme_variants -from subcommands import clipboard, emoji, pip, record, scheme, screenshot, shell, toggle, variant, wallpaper, wsaction - - -def parse_args() -> argparse.Namespace: - parser = argparse.ArgumentParser(prog="caelestia", description="Main control script for the Caelestia dotfiles") - - # Add subcommand parsers - command_parser = parser.add_subparsers( - title="subcommands", description="valid subcommands", metavar="COMMAND", help="the subcommand to run" - ) - - # Create parser for shell opts - shell_parser = command_parser.add_parser("shell", help="start or message the shell") - shell_parser.set_defaults(cls=shell.Command) - shell_parser.add_argument("message", nargs="*", help="a message to send to the shell") - shell_parser.add_argument("-s", "--show", action="store_true", help="print all shell IPC commands") - shell_parser.add_argument( - "-l", - "--log", - nargs="?", - const="quickshell.dbus.properties.warning=false;quickshell.dbus.dbusmenu.warning=false;quickshell.service.notifications.warning=false;quickshell.service.sni.host.warning=false", - metavar="RULES", - help="print the shell log", - ) - - # Create parser for toggle opts - toggle_parser = command_parser.add_parser("toggle", help="toggle a special workspace") - toggle_parser.set_defaults(cls=toggle.Command) - toggle_parser.add_argument( - "workspace", choices=["communication", "music", "sysmon", "specialws", "todo"], help="the workspace to toggle" - ) - - # Create parser for workspace-action opts - ws_action_parser = command_parser.add_parser( - "workspace-action", help="execute a Hyprland workspace dispatcher in the current group" - ) - ws_action_parser.set_defaults(cls=wsaction.Command) - ws_action_parser.add_argument( - "-g", "--group", action="store_true", help="whether to execute the dispatcher on a group" - ) - ws_action_parser.add_argument( - "dispatcher", choices=["workspace", "movetoworkspace"], help="the dispatcher to execute" - ) - ws_action_parser.add_argument("workspace", type=int, help="the workspace to pass to the dispatcher") - - # Create parser for scheme opts - scheme_parser = command_parser.add_parser("scheme", help="manage the colour scheme") - scheme_parser.set_defaults(cls=scheme.Command) - scheme_parser.add_argument("-g", "--get", action="store_true", help="print the current scheme") - scheme_parser.add_argument("-r", "--random", action="store_true", help="switch to a random scheme") - scheme_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to") - scheme_parser.add_argument("-f", "--flavour", help="the flavour to switch to") - scheme_parser.add_argument("-m", "--mode", choices=["dark", "light"], help="the mode to switch to") - - # Create parser for variant opts - variant_parser = command_parser.add_parser("variant", help="manage the dynamic scheme variant") - variant_parser.set_defaults(cls=variant.Command) - variant_parser.add_argument("-g", "--get", action="store_true", help="print the current dynamic scheme variant") - variant_parser.add_argument("-s", "--set", choices=scheme_variants, help="set the current dynamic scheme variant") - variant_parser.add_argument("-r", "--random", action="store_true", help="switch to a random variant") - - # Create parser for screenshot opts - screenshot_parser = command_parser.add_parser("screenshot", help="take a screenshot") - screenshot_parser.set_defaults(cls=screenshot.Command) - screenshot_parser.add_argument("-r", "--region", help="take a screenshot of a region") - screenshot_parser.add_argument( - "-f", "--freeze", action="store_true", help="freeze the screen while selecting a region" - ) - - # Create parser for record opts - record_parser = command_parser.add_parser("record", help="start a screen recording") - record_parser.set_defaults(cls=record.Command) - record_parser.add_argument("-r", "--region", action="store_true", help="record a region") - record_parser.add_argument("-s", "--sound", action="store_true", help="record audio") - - # Create parser for clipboard opts - clipboard_parser = command_parser.add_parser("clipboard", help="open clipboard history") - clipboard_parser.set_defaults(cls=clipboard.Command) - clipboard_parser.add_argument("-d", "--delete", action="store_true", help="delete from clipboard history") - - # Create parser for emoji-picker opts - emoji_parser = command_parser.add_parser("emoji-picker", help="toggle the emoji picker") - emoji_parser.set_defaults(cls=emoji.Command) - - # Create parser for wallpaper opts - wallpaper_parser = command_parser.add_parser("wallpaper", help="manage the wallpaper") - wallpaper_parser.set_defaults(cls=wallpaper.Command) - wallpaper_parser.add_argument("-g", "--get", action="store_true", help="print the current wallpaper") - wallpaper_parser.add_argument("-r", "--random", action="store_true", help="switch to a random wallpaper") - wallpaper_parser.add_argument("-f", "--file", help="the path to the wallpaper to switch to") - wallpaper_parser.add_argument("-n", "--no-filter", action="store_true", help="do not filter by size") - wallpaper_parser.add_argument( - "-t", - "--threshold", - default=80, - help="the minimum percentage of the largest monitor size the image must be greater than to be selected", - ) - wallpaper_parser.add_argument( - "-N", - "--no-smart", - action="store_true", - help="do not automatically change the scheme mode based on wallpaper colour", - ) - - # Create parser for pip opts - pip_parser = command_parser.add_parser("pip", help="picture in picture utilities") - pip_parser.set_defaults(cls=pip.Command) - pip_parser.add_argument("-d", "--daemon", action="store_true", help="start the daemon") - - return parser.parse_args() diff --git a/src/subcommands/clipboard.py b/src/subcommands/clipboard.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/subcommands/clipboard.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/subcommands/emoji.py b/src/subcommands/emoji.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/subcommands/emoji.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/subcommands/pip.py b/src/subcommands/pip.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/subcommands/pip.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/subcommands/record.py b/src/subcommands/record.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/subcommands/record.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/subcommands/scheme.py b/src/subcommands/scheme.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/subcommands/scheme.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/subcommands/screenshot.py b/src/subcommands/screenshot.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/subcommands/screenshot.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/subcommands/shell.py b/src/subcommands/shell.py deleted file mode 100644 index 6802dc8..0000000 --- a/src/subcommands/shell.py +++ /dev/null @@ -1,41 +0,0 @@ -import subprocess -from argparse import Namespace - -import data - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - if self.args.show: - # Print the ipc - self.print_ipc() - elif self.args.log: - # Print the log - self.print_log() - elif self.args.message: - # Send a message - self.message(*self.args.message) - else: - # Start the shell - self.shell() - - def shell(self, *args: list[str]) -> str: - return subprocess.check_output(["qs", "-p", data.c_data_dir / "shell", *args], text=True) - - def print_ipc(self) -> None: - print(self.shell("ipc", "show"), end="") - - def print_log(self) -> None: - log = self.shell("log") - # FIXME: remove when logging rules are added/warning is removed - for line in log.splitlines(): - if "QProcess: Destroyed while process" not in line: - print(line) - - def message(self, *args: list[str]) -> None: - print(self.shell("ipc", "call", *args), end="") diff --git a/src/subcommands/toggle.py b/src/subcommands/toggle.py deleted file mode 100644 index e293669..0000000 --- a/src/subcommands/toggle.py +++ /dev/null @@ -1,82 +0,0 @@ -from argparse import Namespace - -from utils import hypr - - -class Command: - args: Namespace - clients: list[dict[str, any]] = None - app2unit: str = None - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - getattr(self, self.args.workspace)() - - def get_clients(self) -> list[dict[str, any]]: - if self.clients is None: - self.clients = hypr.message("clients") - - return self.clients - - def get_app2unit(self) -> str: - if self.app2unit is None: - import shutil - - self.app2unit = shutil.which("app2unit") - - return self.app2unit - - def move_client(self, selector: callable, workspace: str) -> None: - for client in self.get_clients(): - if selector(client): - hypr.dispatch("movetoworkspacesilent", f"special:{workspace},address:{client['address']}") - - def spawn_client(self, selector: callable, spawn: list[str]) -> bool: - exists = any(selector(client) for client in self.get_clients()) - - if not exists: - import subprocess - - subprocess.Popen([self.get_app2unit(), "--", *spawn], start_new_session=True) - - return not exists - - def spawn_or_move(self, selector: callable, spawn: list[str], workspace: str) -> None: - if not self.spawn_client(selector, spawn): - self.move_client(selector, workspace) - - def communication(self) -> None: - self.spawn_or_move(lambda c: c["class"] == "discord", ["discord"], "communication") - self.move_client(lambda c: c["class"] == "whatsapp", "communication") - - def music(self) -> None: - self.spawn_or_move( - lambda c: c["class"] == "Spotify" or c["initialTitle"] == "Spotify" or c["initialTitle"] == "Spotify Free", - ["spicetify", "watch", "-s"], - "music", - ) - self.move_client(lambda c: c["class"] == "feishin", "music") - - def sysmon(self) -> None: - self.spawn_client( - lambda c: c["class"] == "btop" and c["title"] == "btop" and c["workspace"]["name"] == "special:sysmon", - ["foot", "-a", "btop", "-T", "btop", "--", "btop"], - "sysmon", - ) - - def todo(self) -> None: - self.spawn_or_move(lambda c: c["class"] == "Todoist", ["todoist"], "todo") - - def specialws(self) -> None: - workspaces = hypr.message("workspaces") - on_special_ws = any(ws["name"] == "special:special" for ws in workspaces) - toggle_ws = "special" - - if not on_special_ws: - active_ws = hypr.message("activewindow")["workspace"]["name"] - if active_ws.startswith("special:"): - toggle_ws = active_ws[8:] - - hypr.dispatch("togglespecialworkspace", toggle_ws) diff --git a/src/subcommands/variant.py b/src/subcommands/variant.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/subcommands/variant.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/subcommands/wallpaper.py b/src/subcommands/wallpaper.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/subcommands/wallpaper.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/subcommands/wsaction.py b/src/subcommands/wsaction.py deleted file mode 100644 index 1e93cae..0000000 --- a/src/subcommands/wsaction.py +++ /dev/null @@ -1,18 +0,0 @@ -from argparse import Namespace - -from utils import hypr - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - active_ws = hypr.message("activeworkspace")["id"] - - if self.args.group: - hypr.dispatch(self.args.dispatcher, (self.args.workspace - 1) * 10 + active_ws % 10) - else: - hypr.dispatch(self.args.dispatcher, int((active_ws - 1) / 10) * 10 + self.args.workspace) diff --git a/src/utils/hypr.py b/src/utils/hypr.py deleted file mode 100644 index d829f22..0000000 --- a/src/utils/hypr.py +++ /dev/null @@ -1,27 +0,0 @@ -import json as j -import os -import socket - -socket_path = f"{os.getenv('XDG_RUNTIME_DIR')}/hypr/{os.getenv('HYPRLAND_INSTANCE_SIGNATURE')}/.socket.sock" - - -def message(msg: str, json: bool = True) -> str or dict[str, any]: - with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock: - sock.connect(socket_path) - - if json: - msg = f"j/{msg}" - sock.send(msg.encode()) - - resp = sock.recv(8192).decode() - while True: - new_resp = sock.recv(8192) - if not new_resp: - break - resp += new_resp.decode() - - return j.loads(resp) if json else resp - - -def dispatch(dispatcher: str, *args: list[any]) -> bool: - return message(f"dispatch {dispatcher} {' '.join(str(a) for a in args)}".rstrip(), json=False) == "ok" -- cgit v1.2.3-freya From 6543c9505befc2129fe6bec66b2e7829a5be6b9e Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 00:48:49 +1000 Subject: parser: fix error when no args --- src/caelestia/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/caelestia/__init__.py b/src/caelestia/__init__.py index 1d56fcc..074c1b9 100644 --- a/src/caelestia/__init__.py +++ b/src/caelestia/__init__.py @@ -3,7 +3,11 @@ from caelestia.parser import parse_args def main() -> None: args = parse_args() - args.cls(args).run() + if "cls" in args: + args.cls(args).run() + else: + import sys + print("No arguments given", file=sys.stderr) if __name__ == "__main__": main() -- cgit v1.2.3-freya From a4f5138d41bee1562743e645cf937c24fcec36ea Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 15:43:32 +1000 Subject: parser: print help when no args Also create utility script for testing --- run.sh | 11 +++++++++++ src/caelestia/__init__.py | 6 +++--- src/caelestia/parser.py | 4 ++-- 3 files changed, 16 insertions(+), 5 deletions(-) create mode 100755 run.sh diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..9734996 --- /dev/null +++ b/run.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env sh + +# Utility script for rebuilding and running caelestia + +cd $(dirname $0) || exit + +sudo rm -r dist /usr/bin/caelestia /usr/lib/python3.*/site-packages/caelestia* 2> /dev/null +python -m build --wheel --no-isolation > /dev/null +sudo python -m installer --destdir=/ dist/*.whl > /dev/null + +/usr/bin/caelestia "$@" diff --git a/src/caelestia/__init__.py b/src/caelestia/__init__.py index 074c1b9..71c9b62 100644 --- a/src/caelestia/__init__.py +++ b/src/caelestia/__init__.py @@ -2,12 +2,12 @@ from caelestia.parser import parse_args def main() -> None: - args = parse_args() + parser, args = parse_args() if "cls" in args: args.cls(args).run() else: - import sys - print("No arguments given", file=sys.stderr) + parser.print_help() + if __name__ == "__main__": main() diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index db45645..00556b0 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -16,7 +16,7 @@ from caelestia.subcommands import ( ) -def parse_args() -> argparse.Namespace: +def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): parser = argparse.ArgumentParser(prog="caelestia", description="Main control script for the Caelestia dotfiles") # Add subcommand parsers @@ -122,4 +122,4 @@ def parse_args() -> argparse.Namespace: pip_parser.set_defaults(cls=pip.Command) pip_parser.add_argument("-d", "--daemon", action="store_true", help="start the daemon") - return parser.parse_args() + return parser, parser.parse_args() -- cgit v1.2.3-freya From dc855e1b01e9b4526927b8bd69daca733afd97c2 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 17:37:04 +1000 Subject: internal: refactor scheme Also use a single file to store scheme data --- src/caelestia/data.py | 120 ----------------------- src/caelestia/parser.py | 2 +- src/caelestia/subcommands/shell.py | 4 +- src/caelestia/utils/hypr.py | 2 +- src/caelestia/utils/paths.py | 13 +++ src/caelestia/utils/scheme.py | 194 +++++++++++++++++++++++++++++++++++++ 6 files changed, 211 insertions(+), 124 deletions(-) delete mode 100644 src/caelestia/data.py create mode 100644 src/caelestia/utils/paths.py diff --git a/src/caelestia/data.py b/src/caelestia/data.py deleted file mode 100644 index fa97a03..0000000 --- a/src/caelestia/data.py +++ /dev/null @@ -1,120 +0,0 @@ -import os -from pathlib import Path - -config_dir = Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config")) -data_dir = Path(os.getenv("XDG_DATA_HOME", Path.home() / ".local/share")) -state_dir = Path(os.getenv("XDG_STATE_HOME", Path.home() / ".local/state")) - -c_config_dir = config_dir / "caelestia" -c_data_dir = data_dir / "caelestia" -c_state_dir = state_dir / "caelestia" - -scheme_name_path = c_state_dir / "scheme/name.txt" -scheme_flavour_path = c_state_dir / "scheme/flavour.txt" -scheme_colours_path = c_state_dir / "scheme/colours.txt" -scheme_mode_path = c_state_dir / "scheme/mode.txt" -scheme_variant_path = c_state_dir / "scheme/variant.txt" - -scheme_data_path = Path(__file__).parent / "data/schemes" - -scheme_variants = [ - "tonalspot", - "vibrant", - "expressive", - "fidelity", - "fruitsalad", - "monochrome", - "neutral", - "rainbow", - "content", -] - -scheme_names: list[str] = None -scheme_flavours: list[str] = None -scheme_modes: list[str] = None - -scheme_name: str = None -scheme_flavour: str = None -scheme_colours: dict[str, str] = None -scheme_mode: str = None -scheme_variant: str = None - - -def get_scheme_path() -> Path: - return (scheme_data_path / get_scheme_name() / get_scheme_flavour() / get_scheme_mode()).with_suffix(".txt") - - -def get_scheme_names() -> list[str]: - global scheme_names - - if scheme_names is None: - scheme_names = [f.name for f in scheme_data_path.iterdir() if f.is_dir()] - - return scheme_names - - -def get_scheme_flavours() -> list[str]: - global scheme_flavours - - if scheme_flavours is None: - scheme_flavours = [f.name for f in (scheme_data_path / get_scheme_name()).iterdir() if f.is_dir()] - - return scheme_flavours - - -def get_scheme_modes() -> list[str]: - global scheme_modes - - if scheme_modes is None: - scheme_modes = [ - f.stem for f in (scheme_data_path / get_scheme_name() / get_scheme_flavour()).iterdir() if f.is_file() - ] - - return scheme_modes - - -def get_scheme_name() -> str: - global scheme_name - - if scheme_name is None: - scheme_name = scheme_name_path.read_text().strip() if scheme_name_path.exists() else "catppuccin" - - return scheme_name - - -def get_scheme_flavour() -> str: - global scheme_flavour - - if scheme_flavour is None: - scheme_flavour = scheme_flavour_path.read_text().strip() if scheme_flavour_path.exists() else "mocha" - - return scheme_flavour - - -def get_scheme_colours() -> dict[str, str]: - global scheme_colours - - if scheme_colours is None: - scheme_colours = { - k.strip(): v.strip() for k, v in (line.split(" ") for line in get_scheme_path().read_text().splitlines()) - } - - return scheme_colours - - -def get_scheme_mode() -> str: - global scheme_mode - - if scheme_mode is None: - scheme_mode = scheme_mode_path.read_text().strip() if scheme_mode_path.exists() else "dark" - - return scheme_mode - - -def get_scheme_variant() -> str: - global scheme_variant - - if scheme_variant is None: - scheme_variant = scheme_variant_path.read_text().strip() if scheme_variant_path.exists() else "tonalspot" - - return scheme_variant diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index 00556b0..eb8734e 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -1,6 +1,5 @@ import argparse -from caelestia.data import get_scheme_names, scheme_variants from caelestia.subcommands import ( clipboard, emoji, @@ -14,6 +13,7 @@ from caelestia.subcommands import ( wallpaper, wsaction, ) +from caelestia.utils.scheme import get_scheme_names, scheme_variants def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): diff --git a/src/caelestia/subcommands/shell.py b/src/caelestia/subcommands/shell.py index 2d8d14e..25a39d8 100644 --- a/src/caelestia/subcommands/shell.py +++ b/src/caelestia/subcommands/shell.py @@ -1,7 +1,7 @@ import subprocess from argparse import Namespace -from caelestia import data +from caelestia.utils import paths class Command: @@ -25,7 +25,7 @@ class Command: self.shell() def shell(self, *args: list[str]) -> str: - return subprocess.check_output(["qs", "-p", data.c_data_dir / "shell", *args], text=True) + return subprocess.check_output(["qs", "-p", paths.c_data_dir / "shell", *args], text=True) def print_ipc(self) -> None: print(self.shell("ipc", "show"), end="") diff --git a/src/caelestia/utils/hypr.py b/src/caelestia/utils/hypr.py index d829f22..621e28e 100644 --- a/src/caelestia/utils/hypr.py +++ b/src/caelestia/utils/hypr.py @@ -5,7 +5,7 @@ import socket socket_path = f"{os.getenv('XDG_RUNTIME_DIR')}/hypr/{os.getenv('HYPRLAND_INSTANCE_SIGNATURE')}/.socket.sock" -def message(msg: str, json: bool = True) -> str or dict[str, any]: +def message(msg: str, json: bool = True) -> str | dict[str, any]: with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock: sock.connect(socket_path) diff --git a/src/caelestia/utils/paths.py b/src/caelestia/utils/paths.py new file mode 100644 index 0000000..aff6ea0 --- /dev/null +++ b/src/caelestia/utils/paths.py @@ -0,0 +1,13 @@ +import os +from pathlib import Path + +config_dir = Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config")) +data_dir = Path(os.getenv("XDG_DATA_HOME", Path.home() / ".local/share")) +state_dir = Path(os.getenv("XDG_STATE_HOME", Path.home() / ".local/state")) + +c_config_dir = config_dir / "caelestia" +c_data_dir = data_dir / "caelestia" +c_state_dir = state_dir / "caelestia" + +scheme_path = c_state_dir / "scheme.json" +scheme_data_path = Path(__file__).parent.parent / "data/schemes" diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index e69de29..79a0c21 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -0,0 +1,194 @@ +import json +from pathlib import Path + +from caelestia.utils.paths import scheme_data_path, scheme_path + + +class Scheme: + _name: str + _flavour: str + _mode: str + _variant: str + _colours: dict[str, str] + + def __init__(self, json: dict[str, any] | None) -> None: + if json is None: + self._name = "catppuccin" + self._flavour = "mocha" + self._mode = "dark" + self._variant = "tonalspot" + self._colours = read_colours_from_file(self.get_colours_path()) + else: + self._name = json["name"] + self._flavour = json["flavour"] + self._mode = json["mode"] + self._variant = json["variant"] + self._colours = json["colours"] + + @property + def name(self) -> str: + return self._name + + @name.setter + def name(self, name: str) -> None: + if name == self._name: + return + + if name not in get_scheme_names(): + raise ValueError(f"Invalid scheme name: {name}") + + self._name = name + self._check_flavour() + self._check_mode() + self._update_colours() + self.save() + + @property + def flavour(self) -> str: + return self._flavour + + @flavour.setter + def flavour(self, flavour: str) -> None: + if flavour == self._flavour: + return + + if flavour not in get_scheme_flavours(): + raise ValueError(f"Invalid scheme flavour: {flavour}") + + self._flavour = flavour + self._check_mode() + self._update_colours() + self.save() + + @property + def mode(self) -> str: + return self._mode + + @mode.setter + def mode(self, mode: str) -> None: + if mode == self._mode: + return + + if mode not in get_scheme_modes(): + raise ValueError(f"Invalid scheme mode: {mode}") + + self._mode = mode + self._update_colours() + self.save() + + @property + def variant(self) -> str: + return self._variant + + @variant.setter + def variant(self, variant: str) -> None: + self._variant = variant + + @property + def colours(self) -> dict[str, str]: + return self._colours + + def get_colours_path(self) -> Path: + return (scheme_data_path / self.name / self.flavour / self.mode).with_suffix(".txt") + + def save(self) -> None: + scheme_path.parent.mkdir(parents=True, exist_ok=True) + with scheme_path.open("w") as f: + json.dump( + { + "name": self.name, + "flavour": self.flavour, + "mode": self.mode, + "variant": self.variant, + "colours": self.colours, + }, + f, + ) + + def _check_flavour(self) -> None: + global scheme_flavours + scheme_flavours = None + if self._flavour not in get_scheme_flavours(): + self._flavour = get_scheme_flavours()[0] + + def _check_mode(self) -> None: + global scheme_modes + scheme_modes = None + if self._mode not in get_scheme_modes(): + self._mode = get_scheme_modes()[0] + + def _update_colours(self) -> None: + self._colours = read_colours_from_file(self.get_colours_path()) + + +scheme_variants = [ + "tonalspot", + "vibrant", + "expressive", + "fidelity", + "fruitsalad", + "monochrome", + "neutral", + "rainbow", + "content", +] + +scheme_names: list[str] = None +scheme_flavours: list[str] = None +scheme_modes: list[str] = None + +scheme: Scheme = None + + +def read_colours_from_file(path: Path) -> dict[str, str]: + return {k.strip(): v.strip() for k, v in (line.split(" ") for line in path.read_text().splitlines())} + + +def get_scheme_path() -> Path: + return get_scheme().get_colours_path() + + +def get_scheme() -> Scheme: + global scheme + + if scheme is None: + try: + scheme_json = json.loads(scheme_path.read_text()) + scheme = Scheme(scheme_json) + except (IOError, json.JSONDecodeError): + scheme = Scheme(None) + + return scheme + + +def get_scheme_names() -> list[str]: + global scheme_names + + if scheme_names is None: + scheme_names = [f.name for f in scheme_data_path.iterdir() if f.is_dir()] + scheme_names.append("dynamic") + + return scheme_names + + +def get_scheme_flavours() -> list[str]: + global scheme_flavours + + if scheme_flavours is None: + name = get_scheme().name + if name == "dynamic": + scheme_flavours = ["default", "alt1", "alt2"] + else: + scheme_flavours = [f.name for f in (scheme_data_path / name).iterdir() if f.is_dir()] + + return scheme_flavours + + +def get_scheme_modes() -> list[str]: + global scheme_modes + + if scheme_modes is None: + scheme = get_scheme() + scheme_modes = [f.stem for f in (scheme_data_path / scheme.name / scheme.flavour).iterdir() if f.is_file()] + + return scheme_modes -- cgit v1.2.3-freya From f43987ef2f55ede746c5cc37567f5e74ba515fb3 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 18:07:34 +1000 Subject: feat: impl scheme command (partial) --- src/caelestia/parser.py | 1 - src/caelestia/subcommands/scheme.py | 16 +++++++++++++++- src/caelestia/utils/scheme.py | 3 +++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index eb8734e..9718938 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -61,7 +61,6 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): # Create parser for scheme opts scheme_parser = command_parser.add_parser("scheme", help="manage the colour scheme") scheme_parser.set_defaults(cls=scheme.Command) - scheme_parser.add_argument("-g", "--get", action="store_true", help="print the current scheme") scheme_parser.add_argument("-r", "--random", action="store_true", help="switch to a random scheme") scheme_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to") scheme_parser.add_argument("-f", "--flavour", help="the flavour to switch to") diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py index 37f9a2b..19e62db 100644 --- a/src/caelestia/subcommands/scheme.py +++ b/src/caelestia/subcommands/scheme.py @@ -1,5 +1,7 @@ from argparse import Namespace +from caelestia.utils.scheme import get_scheme + class Command: args: Namespace @@ -8,4 +10,16 @@ class Command: self.args = args def run(self) -> None: - pass + scheme = get_scheme() + + if self.args.random: + scheme.set_random() + elif self.args.name or self.args.flavour or self.args.mode: + if self.args.name: + scheme.name = self.args.name + if self.args.flavour: + scheme.flavour = self.args.flavour + if self.args.mode: + scheme.mode = self.args.mode + else: + print(scheme) diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index 79a0c21..4b05100 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -120,6 +120,9 @@ class Scheme: def _update_colours(self) -> None: self._colours = read_colours_from_file(self.get_colours_path()) + def __str__(self) -> str: + return f"Scheme(name={self.name}, flavour={self.flavour}, mode={self.mode}, variant={self.variant})" + scheme_variants = [ "tonalspot", -- cgit v1.2.3-freya From d44bde166782928db85242e86df6190e9bcfa92a Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 20:37:37 +1000 Subject: feat: theme hypr and terminals --- src/caelestia/subcommands/scheme.py | 2 + src/caelestia/utils/hypr.py | 2 +- src/caelestia/utils/theme.py | 86 +++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 src/caelestia/utils/theme.py diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py index 19e62db..fa1f49a 100644 --- a/src/caelestia/subcommands/scheme.py +++ b/src/caelestia/subcommands/scheme.py @@ -1,6 +1,7 @@ from argparse import Namespace from caelestia.utils.scheme import get_scheme +from caelestia.utils.theme import apply_colours class Command: @@ -21,5 +22,6 @@ class Command: scheme.flavour = self.args.flavour if self.args.mode: scheme.mode = self.args.mode + apply_colours(scheme.colours) else: print(scheme) diff --git a/src/caelestia/utils/hypr.py b/src/caelestia/utils/hypr.py index 621e28e..3ba89cf 100644 --- a/src/caelestia/utils/hypr.py +++ b/src/caelestia/utils/hypr.py @@ -24,4 +24,4 @@ def message(msg: str, json: bool = True) -> str | dict[str, any]: def dispatch(dispatcher: str, *args: list[any]) -> bool: - return message(f"dispatch {dispatcher} {' '.join(str(a) for a in args)}".rstrip(), json=False) == "ok" + return message(f"dispatch {dispatcher} {' '.join(map(str, args))}".rstrip(), json=False) == "ok" diff --git a/src/caelestia/utils/theme.py b/src/caelestia/utils/theme.py new file mode 100644 index 0000000..7774472 --- /dev/null +++ b/src/caelestia/utils/theme.py @@ -0,0 +1,86 @@ +import json +import subprocess +from pathlib import Path + +from caelestia.utils.paths import config_dir + + +def gen_conf(colours: dict[str, str]) -> str: + conf = "" + for name, colour in colours.items(): + conf += f"${name} = {colour}\n" + return conf + + +def gen_scss(colours: dict[str, str]) -> str: + scss = "" + for name, colour in colours.items(): + scss += f"${name}: {colour};\n" + return scss + + +def c2s(c: str, *i: list[int]) -> str: + """Hex to ANSI sequence (e.g. ffffff, 11 -> \x1b]11;rgb:ff/ff/ff\x1b\\)""" + return f"\x1b]{';'.join(map(str, i))};rgb:{c[0:2]}/{c[2:4]}/{c[4:6]}\x1b\\" + + +def gen_sequences(colours: dict[str, str]) -> str: + """ + 10: foreground + 11: background + 12: cursor + 17: selection + 4: + 0 - 7: normal colours + 8 - 15: bright colours + 16+: 256 colours + """ + return ( + c2s(colours["onSurface"], 10) + + c2s(colours["surface"], 11) + + c2s(colours["secondary"], 12) + + c2s(colours["secondary"], 17) + + c2s(colours["surfaceContainer"], 4, 0) + + c2s(colours["red"], 4, 1) + + c2s(colours["green"], 4, 2) + + c2s(colours["yellow"], 4, 3) + + c2s(colours["blue"], 4, 4) + + c2s(colours["pink"], 4, 5) + + c2s(colours["teal"], 4, 6) + + c2s(colours["onSurfaceVariant"], 4, 7) + + c2s(colours["surfaceContainer"], 4, 8) + + c2s(colours["red"], 4, 9) + + c2s(colours["green"], 4, 10) + + c2s(colours["yellow"], 4, 11) + + c2s(colours["blue"], 4, 12) + + c2s(colours["pink"], 4, 13) + + c2s(colours["teal"], 4, 14) + + c2s(colours["onSurfaceVariant"], 4, 15) + + c2s(colours["primary"], 4, 16) + + c2s(colours["secondary"], 4, 17) + + c2s(colours["tertiary"], 4, 18) + ) + + +def try_write(path: Path, content: str) -> None: + try: + path.write_text(content) + except FileNotFoundError: + pass + + +def apply_terms(sequences: str) -> None: + pts_path = Path("/dev/pts") + for pt in pts_path.iterdir(): + if pt.name.isdigit(): + with pt.open("a") as f: + f.write(sequences) + + +def apply_hypr(conf: str) -> None: + try_write(config_dir / "hypr/scheme/current.conf", conf) + + +def apply_colours(colours: dict[str, str]) -> None: + apply_terms(gen_sequences(colours)) + apply_hypr(gen_conf(colours)) -- cgit v1.2.3-freya From 3fa4a5f7b74a8e05a5cc0fdfaa2fc85f071a4dbe Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 20:42:33 +1000 Subject: toggles: fix sysmon + not toggling ws --- src/caelestia/subcommands/toggle.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/caelestia/subcommands/toggle.py b/src/caelestia/subcommands/toggle.py index 2122910..fd49c30 100644 --- a/src/caelestia/subcommands/toggle.py +++ b/src/caelestia/subcommands/toggle.py @@ -50,6 +50,7 @@ class Command: def communication(self) -> None: self.spawn_or_move(lambda c: c["class"] == "discord", ["discord"], "communication") self.move_client(lambda c: c["class"] == "whatsapp", "communication") + hypr.dispatch("togglespecialworkspace", "communication") def music(self) -> None: self.spawn_or_move( @@ -58,16 +59,18 @@ class Command: "music", ) self.move_client(lambda c: c["class"] == "feishin", "music") + hypr.dispatch("togglespecialworkspace", "music") def sysmon(self) -> None: self.spawn_client( lambda c: c["class"] == "btop" and c["title"] == "btop" and c["workspace"]["name"] == "special:sysmon", ["foot", "-a", "btop", "-T", "btop", "--", "btop"], - "sysmon", ) + hypr.dispatch("togglespecialworkspace", "sysmon") def todo(self) -> None: self.spawn_or_move(lambda c: c["class"] == "Todoist", ["todoist"], "todo") + hypr.dispatch("togglespecialworkspace", "todo") def specialws(self) -> None: workspaces = hypr.message("workspaces") -- cgit v1.2.3-freya From 6f7beecdc6de14cf1fd6be9038a86528d2ba52f0 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 21:42:13 +1000 Subject: feat: theme discord --- src/caelestia/data/config.json | 51 --------- src/caelestia/data/templates/discord.scss | 174 ++++++++++++++++++++++++++++++ src/caelestia/utils/paths.py | 5 +- src/caelestia/utils/theme.py | 15 ++- 4 files changed, 191 insertions(+), 54 deletions(-) delete mode 100644 src/caelestia/data/config.json create mode 100644 src/caelestia/data/templates/discord.scss diff --git a/src/caelestia/data/config.json b/src/caelestia/data/config.json deleted file mode 100644 index 47f61e5..0000000 --- a/src/caelestia/data/config.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "toggles": { - "communication": { - "apps": [ - { - "selector": ".class == \"discord\"", - "spawn": "discord", - "action": "spawn move" - }, - { - "selector": ".class == \"whatsapp\"", - "spawn": "firefox --name whatsapp -P whatsapp 'https://web.whatsapp.com'", - "action": "move", - "extraCond": "grep -q 'Name=whatsapp' ~/.mozilla/firefox/profiles.ini" - } - ] - }, - "music": { - "apps": [ - { - "selector": ".class == \"Spotify\" or .initialTitle == \"Spotify\" or .initialTitle == \"Spotify Free\"", - "spawn": "spicetify watch -s", - "action": "spawn move" - }, - { - "selector": ".class == \"feishin\"", - "spawn": "feishin", - "action": "move" - } - ] - }, - "sysmon": { - "apps": [ - { - "selector": ".class == \"btop\" and .title == \"btop\" and .workspace.name == \"special:sysmon\"", - "spawn": "foot -a 'btop' -T 'btop' -- btop", - "action": "spawn" - } - ] - }, - "todo": { - "apps": [ - { - "selector": ".class == \"Todoist\"", - "spawn": "todoist", - "action": "spawn move" - } - ] - } - } -} diff --git a/src/caelestia/data/templates/discord.scss b/src/caelestia/data/templates/discord.scss new file mode 100644 index 0000000..34220d5 --- /dev/null +++ b/src/caelestia/data/templates/discord.scss @@ -0,0 +1,174 @@ +/** + * @name Midnight (Caelestia) + * @description A dark, rounded discord theme. Caelestia scheme colours. + * @author refact0r, esme, anubis + * @version 1.6.2 + * @invite nz87hXyvcy + * @website https://github.com/refact0r/midnight-discord + * @authorId 508863359777505290 + * @authorLink https://www.refact0r.dev +*/ + +@use "sass:color"; +@use "colours" as c; + +@import url("https://refact0r.github.io/midnight-discord/build/midnight.css"); + +body { + /* font, change to '' for default discord font */ + --font: "figtree"; + + /* sizes */ + --gap: 12px; /* spacing between panels */ + --divider-thickness: 4px; /* thickness of unread messages divider and highlighted message borders */ + --border-thickness: 1px; /* thickness of borders around main panels. DOES NOT AFFECT OTHER BORDERS */ + + /* animation/transition options */ + --animations: on; /* turn off to disable all midnight animations/transitions */ + --list-item-transition: 0.2s ease; /* transition for list items */ + --dms-icon-svg-transition: 0.4s ease; /* transition for the dms icon */ + + /* top bar options */ + --top-bar-height: var( + --gap + ); /* height of the titlebar/top bar (discord default is 36px, 24px recommended if moving/hiding top bar buttons) */ + --top-bar-button-position: hide; /* off: default position, hide: hide inbox/support buttons completely, serverlist: move inbox button to server list, titlebar: move inbox button to titlebar (will hide title) */ + --top-bar-title-position: hide; /* off: default centered position, hide: hide title completely, left: left align title (like old discord) */ + --subtle-top-bar-title: off; /* off: default, on: hide the icon and use subtle text color (like old discord) */ + + /* window controls */ + --custom-window-controls: on; /* turn off to use discord default window controls */ + --window-control-size: 14px; /* size of custom window controls */ + + /* dms button icon options */ + --custom-dms-icon: custom; /* off: use default discord icon, hide: remove icon entirely, custom: use custom icon */ + --dms-icon-svg-url: url("https://upload.wikimedia.org/wikipedia/commons/c/c4/Font_Awesome_5_solid_moon.svg"); /* icon svg url. MUST BE A SVG. */ + --dms-icon-svg-size: 90%; /* size of the svg (css mask-size) */ + --dms-icon-color-before: var(--icon-secondary); /* normal icon color */ + --dms-icon-color-after: var(--white); /* icon color when button is hovered/selected */ + + /* dms button background options */ + --custom-dms-background: off; /* off to disable, image to use a background image (must set url variable below), color to use a custom color/gradient */ + --dms-background-image-url: url(""); /* url of the background image */ + --dms-background-image-size: cover; /* size of the background image (css background-size) */ + --dms-background-color: linear-gradient( + 70deg, + var(--blue-2), + var(--purple-2), + var(--red-2) + ); /* fixed color/gradient (css background) */ + + /* background image options */ + --background-image: off; /* turn on to use a background image */ + --background-image-url: url(""); /* url of the background image */ + + /* transparency/blur options */ + /* NOTE: TO USE TRANSPARENCY/BLUR, YOU MUST HAVE TRANSPARENT BG COLORS. FOR EXAMPLE: --bg-4: hsla(220, 15%, 10%, 0.7); */ + --transparency-tweaks: off; /* turn on to remove some elements for better transparency */ + --remove-bg-layer: off; /* turn on to remove the base --bg-3 layer for use with window transparency (WILL OVERRIDE BACKGROUND IMAGE) */ + --panel-blur: off; /* turn on to blur the background of panels */ + --blur-amount: 12px; /* amount of blur */ + --bg-floating: #{c.$surface}; /* you can set this to a more opaque color if floating panels look too transparent */ + + /* chatbar options */ + --custom-chatbar: aligned; /* off: default chatbar, aligned: chatbar aligned with the user panel, separated: chatbar separated from chat */ + --chatbar-height: 47px; /* height of the chatbar (52px by default, 47px recommended for aligned, 56px recommended for separated) */ + --chatbar-padding: 8px; /* padding of the chatbar. only applies in aligned mode. */ + + /* other options */ + --small-user-panel: off; /* turn on to make the user panel smaller like in old discord */ +} + +/* color options */ +:root { + --colors: on; /* turn off to use discord default colors */ + + /* text colors */ + --text-0: #{c.$onPrimary}; /* text on colored elements */ + --text-1: #{color.scale(c.$onSurface, $lightness: 10%)}; /* bright text on colored elements */ + --text-2: #{color.scale(c.$onSurface, $lightness: 5%)}; /* headings and important text */ + --text-3: #{c.$onSurface}; /* normal text */ + --text-4: #{c.$outline}; /* icon buttons and channels */ + --text-5: #{c.$outline}; /* muted channels/chats and timestamps */ + + /* background and dark colors */ + --bg-1: #{c.$surfaceContainerHighest}; /* dark buttons when clicked */ + --bg-2: #{c.$surfaceContainerHigh}; /* dark buttons */ + --bg-3: #{c.$surface}; /* spacing, secondary elements */ + --bg-4: #{c.$surfaceContainer}; /* main background color */ + --hover: #{color.change(c.$onSurface, $alpha: 0.08)}; /* channels and buttons when hovered */ + --active: #{color.change(c.$onSurface, $alpha: 0.1)}; /* channels and buttons when clicked or selected */ + --active-2: #{color.change(c.$onSurface, $alpha: 0.2)}; /* extra state for transparent buttons */ + --message-hover: #{color.change(c.$onSurface, $alpha: 0.08)}; /* messages when hovered */ + + /* accent colors */ + --accent-1: var(--blue-1); /* links and other accent text */ + --accent-2: var(--blue-2); /* small accent elements */ + --accent-3: var(--blue-3); /* accent buttons */ + --accent-4: var(--blue-4); /* accent buttons when hovered */ + --accent-5: var(--blue-5); /* accent buttons when clicked */ + --accent-new: #{c.$error}; /* stuff that's normally red like mute/deafen buttons */ + --mention: linear-gradient( + to right, + color-mix(in hsl, var(--blue-2), transparent 90%) 40%, + transparent + ); /* background of messages that mention you */ + --mention-hover: linear-gradient( + to right, + color-mix(in hsl, var(--blue-2), transparent 95%) 40%, + transparent + ); /* background of messages that mention you when hovered */ + --reply: linear-gradient( + to right, + color-mix(in hsl, var(--text-3), transparent 90%) 40%, + transparent + ); /* background of messages that reply to you */ + --reply-hover: linear-gradient( + to right, + color-mix(in hsl, var(--text-3), transparent 95%) 40%, + transparent + ); /* background of messages that reply to you when hovered */ + + /* status indicator colors */ + --online: var(--green-2); /* change to #43a25a for default */ + --dnd: var(--red-2); /* change to #d83a42 for default */ + --idle: var(--yellow-2); /* change to #ca9654 for default */ + --streaming: var(--purple-2); /* change to #593695 for default */ + --offline: var(--text-4); /* change to #83838b for default offline color */ + + /* border colors */ + --border-light: #{color.change(c.$outline, $alpha: 0)}; /* light border color */ + --border: #{color.change(c.$outline, $alpha: 0)}; /* normal border color */ + --button-border: #{color.change(c.$outline, $alpha: 0)}; /* neutral border color of buttons */ + + /* base colors */ + --red-1: #{c.$error}; + --red-2: #{color.scale(c.$error, $lightness: -5%)}; + --red-3: #{color.scale(c.$error, $lightness: -10%)}; + --red-4: #{color.scale(c.$error, $lightness: -15%)}; + --red-5: #{color.scale(c.$error, $lightness: -20%)}; + + --green-1: #{c.$green}; + --green-2: #{color.scale(c.$green, $lightness: -5%)}; + --green-3: #{color.scale(c.$green, $lightness: -10%)}; + --green-4: #{color.scale(c.$green, $lightness: -15%)}; + --green-5: #{color.scale(c.$green, $lightness: -20%)}; + + --blue-1: #{c.$primary}; + --blue-2: #{color.scale(c.$primary, $lightness: -5%)}; + --blue-3: #{color.scale(c.$primary, $lightness: -10%)}; + --blue-4: #{color.scale(c.$primary, $lightness: -15%)}; + --blue-5: #{color.scale(c.$primary, $lightness: -20%)}; + + --yellow-1: #{c.$yellow}; + --yellow-2: #{color.scale(c.$yellow, $lightness: -5%)}; + --yellow-3: #{color.scale(c.$yellow, $lightness: -10%)}; + --yellow-4: #{color.scale(c.$yellow, $lightness: -15%)}; + --yellow-5: #{color.scale(c.$yellow, $lightness: -20%)}; + + --purple-1: #{c.$mauve}; + --purple-2: #{color.scale(c.$mauve, $lightness: -5%)}; + --purple-3: #{color.scale(c.$mauve, $lightness: -10%)}; + --purple-4: #{color.scale(c.$mauve, $lightness: -15%)}; + --purple-5: #{color.scale(c.$mauve, $lightness: -20%)}; +} diff --git a/src/caelestia/utils/paths.py b/src/caelestia/utils/paths.py index aff6ea0..dfb57d9 100644 --- a/src/caelestia/utils/paths.py +++ b/src/caelestia/utils/paths.py @@ -9,5 +9,8 @@ c_config_dir = config_dir / "caelestia" c_data_dir = data_dir / "caelestia" c_state_dir = state_dir / "caelestia" +cli_data_dir = Path(__file__).parent.parent / "data" +templates_dir = cli_data_dir / "templates" + scheme_path = c_state_dir / "scheme.json" -scheme_data_path = Path(__file__).parent.parent / "data/schemes" +scheme_data_path = cli_data_dir / "schemes" diff --git a/src/caelestia/utils/theme.py b/src/caelestia/utils/theme.py index 7774472..7940547 100644 --- a/src/caelestia/utils/theme.py +++ b/src/caelestia/utils/theme.py @@ -1,8 +1,9 @@ import json import subprocess +import tempfile from pathlib import Path -from caelestia.utils.paths import config_dir +from caelestia.utils.paths import config_dir, templates_dir def gen_conf(colours: dict[str, str]) -> str: @@ -15,7 +16,7 @@ def gen_conf(colours: dict[str, str]) -> str: def gen_scss(colours: dict[str, str]) -> str: scss = "" for name, colour in colours.items(): - scss += f"${name}: {colour};\n" + scss += f"${name}: #{colour};\n" return scss @@ -81,6 +82,16 @@ def apply_hypr(conf: str) -> None: try_write(config_dir / "hypr/scheme/current.conf", conf) +def apply_discord(scss: str) -> None: + with tempfile.TemporaryDirectory("w") as tmp_dir: + (Path(tmp_dir) / "_colours.scss").write_text(scss) + conf = subprocess.check_output(["sass", "-I", tmp_dir, templates_dir / "discord.scss"], text=True) + + for client in "Equicord", "Vencord", "BetterDiscord", "equicord", "vesktop", "legcord": + try_write(config_dir / client / "themes/caelestia.theme.css", conf) + + def apply_colours(colours: dict[str, str]) -> None: apply_terms(gen_sequences(colours)) apply_hypr(gen_conf(colours)) + apply_discord(gen_scss(colours)) -- cgit v1.2.3-freya From 464334136c468fe4ed1b4b96d62cacc71be913b4 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 21:45:18 +1000 Subject: scheme: better error messages Print valid flavours/modes when invalid flavour/mode is given --- src/caelestia/utils/scheme.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index 4b05100..c26d2f8 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -53,7 +53,7 @@ class Scheme: return if flavour not in get_scheme_flavours(): - raise ValueError(f"Invalid scheme flavour: {flavour}") + raise ValueError(f'Invalid scheme flavour: "{flavour}". Valid flavours: {get_scheme_flavours()}') self._flavour = flavour self._check_mode() @@ -70,7 +70,7 @@ class Scheme: return if mode not in get_scheme_modes(): - raise ValueError(f"Invalid scheme mode: {mode}") + raise ValueError(f'Invalid scheme mode: "{mode}". Valid modes: {get_scheme_modes()}') self._mode = mode self._update_colours() -- cgit v1.2.3-freya From 09f01bfd1dfebea92c2931e617fbc634e03d2b2c Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 21:59:23 +1000 Subject: feat: theme spicetify --- src/caelestia/data/templates/spicetify.ini | 17 +++++++++++++++++ src/caelestia/utils/theme.py | 11 ++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/caelestia/data/templates/spicetify.ini diff --git a/src/caelestia/data/templates/spicetify.ini b/src/caelestia/data/templates/spicetify.ini new file mode 100644 index 0000000..839f30d --- /dev/null +++ b/src/caelestia/data/templates/spicetify.ini @@ -0,0 +1,17 @@ +[caelestia] +text = $text ; Main text colour +subtext = $subtext0 ; Subtext colour +main = $base ; Panel backgrounds +highlight = $primary ; Doesn't seem to do anything +misc = $primary ; Doesn't seem to do anything +notification = $overlay0 ; Notifications probably +notification-error = $error ; Error notifications probably +shadow = $mantle ; Shadow for covers, context menu, also affects playlist/artist banners +card = $surface0 ; Context menu and tooltips +player = $base ; Doesn't seem to do anything +sidebar = $mantle ; Background +main-elevated = $surface0 ; Higher layers than main, e.g. search bar +selected-row = $text ; Selections, hover, other coloured text and slider background +button = $primary ; Slider and text buttons +button-active = $primary ; Background buttons +button-disabled = $overlay0 ; Disabled buttons diff --git a/src/caelestia/utils/theme.py b/src/caelestia/utils/theme.py index 7940547..acca868 100644 --- a/src/caelestia/utils/theme.py +++ b/src/caelestia/utils/theme.py @@ -1,4 +1,3 @@ -import json import subprocess import tempfile from pathlib import Path @@ -91,7 +90,17 @@ def apply_discord(scss: str) -> None: try_write(config_dir / client / "themes/caelestia.theme.css", conf) +def apply_spicetify(colours: dict[str, str]) -> None: + template = (templates_dir / "spicetify.ini").read_text() + + for name, colour in colours.items(): + template = template.replace(f"${name}", colour) + + try_write(config_dir / "spicetify/Themes/caelestia/color.ini", template) + + def apply_colours(colours: dict[str, str]) -> None: apply_terms(gen_sequences(colours)) apply_hypr(gen_conf(colours)) apply_discord(gen_scss(colours)) + apply_spicetify(colours) -- cgit v1.2.3-freya From 63040f68b7098ba2cf7b83ab878420debe75cfb1 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 22:09:44 +1000 Subject: feat: theme fuzzel --- src/caelestia/data/templates/fuzzel.ini | 41 +++++++++++++++++++++++++++++++++ src/caelestia/utils/theme.py | 17 ++++++++++---- 2 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 src/caelestia/data/templates/fuzzel.ini diff --git a/src/caelestia/data/templates/fuzzel.ini b/src/caelestia/data/templates/fuzzel.ini new file mode 100644 index 0000000..d4eaafe --- /dev/null +++ b/src/caelestia/data/templates/fuzzel.ini @@ -0,0 +1,41 @@ +font=JetBrains Mono NF:size=17 +terminal=foot -e +prompt="> " +layer=overlay +lines=15 +width=60 +dpi-aware=no +inner-pad=10 +horizontal-pad=40 +vertical-pad=15 +match-counter=yes + +[colors] +background=282c34dd +text=abb2bfdd +prompt=d19a66ff +placeholder=666e7cff +input=abb2bfff +match=be5046ff +selection=d19a6687 +selection-text=abb2bfff +selection-match=be5046ff +counter=666e7cff +border=d19a6677 + +[border] +radius=10 +width=2 + +[colors] +background=$surfacedd +text=$onSurfacedd +prompt=$primaryff +placeholder=$outlineff +input=$onSurfaceff +match=$tertiaryff +selection=$primary87 +selection-text=$onSurfaceff +selection-match=$tertiaryff +counter=$outlineff +border=$primary77 diff --git a/src/caelestia/utils/theme.py b/src/caelestia/utils/theme.py index acca868..c4e9899 100644 --- a/src/caelestia/utils/theme.py +++ b/src/caelestia/utils/theme.py @@ -19,6 +19,13 @@ def gen_scss(colours: dict[str, str]) -> str: return scss +def gen_replace(colours: dict[str, str], template: Path) -> str: + template = template.read_text() + for name, colour in colours.items(): + template = template.replace(f"${name}", colour) + return template + + def c2s(c: str, *i: list[int]) -> str: """Hex to ANSI sequence (e.g. ffffff, 11 -> \x1b]11;rgb:ff/ff/ff\x1b\\)""" return f"\x1b]{';'.join(map(str, i))};rgb:{c[0:2]}/{c[2:4]}/{c[4:6]}\x1b\\" @@ -91,12 +98,13 @@ def apply_discord(scss: str) -> None: def apply_spicetify(colours: dict[str, str]) -> None: - template = (templates_dir / "spicetify.ini").read_text() + template = gen_replace(colours, templates_dir / "spicetify.ini") + try_write(config_dir / "spicetify/Themes/caelestia/color.ini", template) - for name, colour in colours.items(): - template = template.replace(f"${name}", colour) - try_write(config_dir / "spicetify/Themes/caelestia/color.ini", template) +def apply_fuzzel(colours: dict[str, str]) -> None: + template = gen_replace(colours, templates_dir / "fuzzel.ini") + try_write(config_dir / "fuzzel/fuzzel.ini", template) def apply_colours(colours: dict[str, str]) -> None: @@ -104,3 +112,4 @@ def apply_colours(colours: dict[str, str]) -> None: apply_hypr(gen_conf(colours)) apply_discord(gen_scss(colours)) apply_spicetify(colours) + apply_fuzzel(colours) -- cgit v1.2.3-freya From b08858191cf6e3acda33afbd532b743ad6d0f808 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 22:25:03 +1000 Subject: feat: theme btop Also change template replacement format --- src/caelestia/data/templates/btop.theme | 83 ++++++++++++++++++++++++++++++ src/caelestia/data/templates/fuzzel.ini | 22 ++++---- src/caelestia/data/templates/spicetify.ini | 32 ++++++------ src/caelestia/utils/theme.py | 11 +++- 4 files changed, 119 insertions(+), 29 deletions(-) create mode 100644 src/caelestia/data/templates/btop.theme diff --git a/src/caelestia/data/templates/btop.theme b/src/caelestia/data/templates/btop.theme new file mode 100644 index 0000000..9e63bce --- /dev/null +++ b/src/caelestia/data/templates/btop.theme @@ -0,0 +1,83 @@ +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]={{ $surface }} + +# Main text color +theme[main_fg]={{ $onSurface }} + +# Title color for boxes +theme[title]={{ $onSurface }} + +# Highlight color for keyboard shortcuts +theme[hi_fg]={{ $primary }} + +# Background color of selected item in processes box +theme[selected_bg]={{ $surfaceContainer }} + +# Foreground color of selected item in processes box +theme[selected_fg]={{ $primary }} + +# Color of inactive/disabled text +theme[inactive_fg]={{ $outline }} + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]={{ $tertiary }} + +# Background color of the percentage meters +theme[meter_bg]={{ $outline }} + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]={{ $tertiary }} + +# CPU, Memory, Network, Proc box outline colors +theme[cpu_box]={{ $mauve }} +theme[mem_box]={{ $green }} +theme[net_box]={{ $maroon }} +theme[proc_box]={{ $blue }} + +# Box divider line and small boxes line color +theme[div_line]={{ $outlineVariant }} + +# Temperature graph color (Green -> Yellow -> Red) +theme[temp_start]={{ $green }} +theme[temp_mid]={{ $yellow }} +theme[temp_end]={{ $red }} + +# CPU graph colors (Teal -> Sapphire -> Lavender) +theme[cpu_start]={{ $teal }} +theme[cpu_mid]={{ $sapphire }} +theme[cpu_end]={{ $lavender }} + +# Mem/Disk free meter (Mauve -> Lavender -> Blue) +theme[free_start]={{ $mauve }} +theme[free_mid]={{ $lavender }} +theme[free_end]={{ $blue }} + +# Mem/Disk cached meter (Sapphire -> Blue -> Lavender) +theme[cached_start]={{ $sapphire }} +theme[cached_mid]={{ $blue }} +theme[cached_end]={{ $lavender }} + +# Mem/Disk available meter (Peach -> Maroon -> Red) +theme[available_start]={{ $peach }} +theme[available_mid]={{ $maroon }} +theme[available_end]={{ $red }} + +# Mem/Disk used meter (Green -> Teal -> Sky) +theme[used_start]={{ $green }} +theme[used_mid]={{ $teal }} +theme[used_end]={{ $sky }} + +# Download graph colors (Peach -> Maroon -> Red) +theme[download_start]={{ $peach }} +theme[download_mid]={{ $maroon }} +theme[download_end]={{ $red }} + +# Upload graph colors (Green -> Teal -> Sky) +theme[upload_start]={{ $green }} +theme[upload_mid]={{ $teal }} +theme[upload_end]={{ $sky }} + +# Process box color gradient for threads, mem and cpu usage (Sapphire -> Lavender -> Mauve) +theme[process_start]={{ $sapphire }} +theme[process_mid]={{ $lavender }} +theme[process_end]={{ $mauve }} diff --git a/src/caelestia/data/templates/fuzzel.ini b/src/caelestia/data/templates/fuzzel.ini index d4eaafe..d61f208 100644 --- a/src/caelestia/data/templates/fuzzel.ini +++ b/src/caelestia/data/templates/fuzzel.ini @@ -28,14 +28,14 @@ radius=10 width=2 [colors] -background=$surfacedd -text=$onSurfacedd -prompt=$primaryff -placeholder=$outlineff -input=$onSurfaceff -match=$tertiaryff -selection=$primary87 -selection-text=$onSurfaceff -selection-match=$tertiaryff -counter=$outlineff -border=$primary77 +background={{ $surface }}dd +text={{ $onSurface }}dd +prompt={{ $primary }}ff +placeholder={{ $outline }}ff +input={{ $onSurface }}ff +match={{ $tertiary }}ff +selection={{ $primary }}87 +selection-text={{ $onSurface }}ff +selection-match={{ $tertiary }}ff +counter={{ $outline }}ff +border={{ $primary }}77 diff --git a/src/caelestia/data/templates/spicetify.ini b/src/caelestia/data/templates/spicetify.ini index 839f30d..976a0c9 100644 --- a/src/caelestia/data/templates/spicetify.ini +++ b/src/caelestia/data/templates/spicetify.ini @@ -1,17 +1,17 @@ [caelestia] -text = $text ; Main text colour -subtext = $subtext0 ; Subtext colour -main = $base ; Panel backgrounds -highlight = $primary ; Doesn't seem to do anything -misc = $primary ; Doesn't seem to do anything -notification = $overlay0 ; Notifications probably -notification-error = $error ; Error notifications probably -shadow = $mantle ; Shadow for covers, context menu, also affects playlist/artist banners -card = $surface0 ; Context menu and tooltips -player = $base ; Doesn't seem to do anything -sidebar = $mantle ; Background -main-elevated = $surface0 ; Higher layers than main, e.g. search bar -selected-row = $text ; Selections, hover, other coloured text and slider background -button = $primary ; Slider and text buttons -button-active = $primary ; Background buttons -button-disabled = $overlay0 ; Disabled buttons +text = {{ $text }} ; Main text colour +subtext = {{ $subtext0 }} ; Subtext colour +main = {{ $base }} ; Panel backgrounds +highlight = {{ $primary }} ; Doesn't seem to do anything +misc = {{ $primary }} ; Doesn't seem to do anything +notification = {{ $overlay0 }} ; Notifications probably +notification-error = {{ $error }} ; Error notifications probably +shadow = {{ $mantle }} ; Shadow for covers, context menu, also affects playlist/artist banners +card = {{ $surface0 }} ; Context menu and tooltips +player = {{ $base }} ; Doesn't seem to do anything +sidebar = {{ $mantle }} ; Background +main-elevated = {{ $surface0 }} ; Higher layers than main, e.g. search bar +selected-row = {{ $text }} ; Selections, hover, other coloured text and slider background +button = {{ $primary }} ; Slider and text buttons +button-active = {{ $primary }} ; Background buttons +button-disabled = {{ $overlay0 }} ; Disabled buttons diff --git a/src/caelestia/utils/theme.py b/src/caelestia/utils/theme.py index c4e9899..7f29637 100644 --- a/src/caelestia/utils/theme.py +++ b/src/caelestia/utils/theme.py @@ -19,10 +19,10 @@ def gen_scss(colours: dict[str, str]) -> str: return scss -def gen_replace(colours: dict[str, str], template: Path) -> str: +def gen_replace(colours: dict[str, str], template: Path, hash: bool = False) -> str: template = template.read_text() for name, colour in colours.items(): - template = template.replace(f"${name}", colour) + template = template.replace(f"{{{{ ${name} }}}}", f"#{colour}" if hash else colour) return template @@ -107,9 +107,16 @@ def apply_fuzzel(colours: dict[str, str]) -> None: try_write(config_dir / "fuzzel/fuzzel.ini", template) +def apply_btop(colours: dict[str, str]) -> None: + template = gen_replace(colours, templates_dir / "btop.theme", hash=True) + try_write(config_dir / "btop/themes/caelestia.theme", template) + subprocess.run(["killall", "-USR2", "btop"]) + + def apply_colours(colours: dict[str, str]) -> None: apply_terms(gen_sequences(colours)) apply_hypr(gen_conf(colours)) apply_discord(gen_scss(colours)) apply_spicetify(colours) apply_fuzzel(colours) + apply_btop(colours) -- cgit v1.2.3-freya From 2161e3ee6b61c0ebd56142ccd9502404d3ee1314 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 11 Jun 2025 22:48:09 +1000 Subject: theme: better spicetify colours --- src/caelestia/data/templates/spicetify-dark.ini | 19 +++++++++++++++++++ src/caelestia/data/templates/spicetify-light.ini | 19 +++++++++++++++++++ src/caelestia/data/templates/spicetify.ini | 17 ----------------- src/caelestia/subcommands/scheme.py | 2 +- src/caelestia/utils/theme.py | 8 ++++---- 5 files changed, 43 insertions(+), 22 deletions(-) create mode 100644 src/caelestia/data/templates/spicetify-dark.ini create mode 100644 src/caelestia/data/templates/spicetify-light.ini delete mode 100644 src/caelestia/data/templates/spicetify.ini diff --git a/src/caelestia/data/templates/spicetify-dark.ini b/src/caelestia/data/templates/spicetify-dark.ini new file mode 100644 index 0000000..4bf85eb --- /dev/null +++ b/src/caelestia/data/templates/spicetify-dark.ini @@ -0,0 +1,19 @@ +[caelestia] +text = {{ $onSurface }} ; Main text colour +subtext = {{ $onSurfaceVariant }} ; Subtext colour +main = {{ $surfaceContainer }} ; Panel backgrounds +highlight = {{ $primary }} ; Doesn't seem to do anything +misc = {{ $primary }} ; Doesn't seem to do anything +notification = {{ $outline }} ; Notifications probably +notification-error = {{ $error }} ; Error notifications probably +shadow = {{ $shadow }} ; Shadow for covers, context menu, also affects playlist/artist banners +card = {{ $surfaceContainerHigh }} ; Context menu and tooltips +player = {{ $secondaryContainer }} ; Background for top result in search +sidebar = {{ $surface }} ; Background +main-elevated = {{ $surfaceContainerHigh }} ; Higher layers than main, e.g. search bar +highlight-elevated = {{ $surfaceContainerHighest }} ; Home button and search bar accelerator +selected-row = {{ $onSurface }} ; Selections, hover, other coloured text and slider background +button = {{ $primary }} ; Slider and text buttons +button-active = {{ $primary }} ; Background buttons +button-disabled = {{ $outline }} ; Disabled buttons +tab-active = {{ $surfaceContainerHigh }} ; Profile fallbacks in search diff --git a/src/caelestia/data/templates/spicetify-light.ini b/src/caelestia/data/templates/spicetify-light.ini new file mode 100644 index 0000000..a8b361b --- /dev/null +++ b/src/caelestia/data/templates/spicetify-light.ini @@ -0,0 +1,19 @@ +[caelestia] +text = {{ $onSurface }} ; Main text colour +subtext = {{ $onSurfaceVariant }} ; Subtext colour +main = {{ $surface }} ; Panel backgrounds +highlight = {{ $primary }} ; Doesn't seem to do anything +misc = {{ $primary }} ; Doesn't seem to do anything +notification = {{ $outline }} ; Notifications probably +notification-error = {{ $error }} ; Error notifications probably +shadow = {{ $shadow }} ; Shadow for covers, context menu, also affects playlist/artist banners +card = {{ $surfaceContainer }} ; Context menu and tooltips +player = {{ $secondaryContainer }} ; Background for top result in search +sidebar = {{ $surfaceContainer }} ; Background +main-elevated = {{ $surfaceContainerHigh }} ; Higher layers than main, e.g. search bar +highlight-elevated = {{ $surfaceContainerHighest }} ; Home button and search bar accelerator +selected-row = {{ $onSurface }} ; Selections, hover, other coloured text and slider background +button = {{ $primary }} ; Slider and text buttons +button-active = {{ $primary }} ; Background buttons +button-disabled = {{ $outline }} ; Disabled buttons +tab-active = {{ $surfaceContainer }} ; Profile fallbacks in search diff --git a/src/caelestia/data/templates/spicetify.ini b/src/caelestia/data/templates/spicetify.ini deleted file mode 100644 index 976a0c9..0000000 --- a/src/caelestia/data/templates/spicetify.ini +++ /dev/null @@ -1,17 +0,0 @@ -[caelestia] -text = {{ $text }} ; Main text colour -subtext = {{ $subtext0 }} ; Subtext colour -main = {{ $base }} ; Panel backgrounds -highlight = {{ $primary }} ; Doesn't seem to do anything -misc = {{ $primary }} ; Doesn't seem to do anything -notification = {{ $overlay0 }} ; Notifications probably -notification-error = {{ $error }} ; Error notifications probably -shadow = {{ $mantle }} ; Shadow for covers, context menu, also affects playlist/artist banners -card = {{ $surface0 }} ; Context menu and tooltips -player = {{ $base }} ; Doesn't seem to do anything -sidebar = {{ $mantle }} ; Background -main-elevated = {{ $surface0 }} ; Higher layers than main, e.g. search bar -selected-row = {{ $text }} ; Selections, hover, other coloured text and slider background -button = {{ $primary }} ; Slider and text buttons -button-active = {{ $primary }} ; Background buttons -button-disabled = {{ $overlay0 }} ; Disabled buttons diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py index fa1f49a..e149d13 100644 --- a/src/caelestia/subcommands/scheme.py +++ b/src/caelestia/subcommands/scheme.py @@ -22,6 +22,6 @@ class Command: scheme.flavour = self.args.flavour if self.args.mode: scheme.mode = self.args.mode - apply_colours(scheme.colours) + apply_colours(scheme.colours, scheme.mode) else: print(scheme) diff --git a/src/caelestia/utils/theme.py b/src/caelestia/utils/theme.py index 7f29637..3250ea3 100644 --- a/src/caelestia/utils/theme.py +++ b/src/caelestia/utils/theme.py @@ -97,8 +97,8 @@ def apply_discord(scss: str) -> None: try_write(config_dir / client / "themes/caelestia.theme.css", conf) -def apply_spicetify(colours: dict[str, str]) -> None: - template = gen_replace(colours, templates_dir / "spicetify.ini") +def apply_spicetify(colours: dict[str, str], mode: str) -> None: + template = gen_replace(colours, templates_dir / f"spicetify-{mode}.ini") try_write(config_dir / "spicetify/Themes/caelestia/color.ini", template) @@ -113,10 +113,10 @@ def apply_btop(colours: dict[str, str]) -> None: subprocess.run(["killall", "-USR2", "btop"]) -def apply_colours(colours: dict[str, str]) -> None: +def apply_colours(colours: dict[str, str], mode: str) -> None: apply_terms(gen_sequences(colours)) apply_hypr(gen_conf(colours)) apply_discord(gen_scss(colours)) - apply_spicetify(colours) + apply_spicetify(colours, mode) apply_fuzzel(colours) apply_btop(colours) -- cgit v1.2.3-freya From 194826efaa95480bfe1799f889ca5c02571b3e36 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 15:48:02 +1000 Subject: feat: generate dynamic schemes --- src/caelestia/utils/material/__init__.py | 52 ++++++++ src/caelestia/utils/material/generator.py | 192 ++++++++++++++++++++++++++++++ src/caelestia/utils/material/score.py | 129 ++++++++++++++++++++ src/caelestia/utils/paths.py | 19 ++- src/caelestia/utils/scheme.py | 19 ++- src/caelestia/utils/theme.py | 2 +- 6 files changed, 405 insertions(+), 8 deletions(-) create mode 100644 src/caelestia/utils/material/__init__.py create mode 100755 src/caelestia/utils/material/generator.py create mode 100755 src/caelestia/utils/material/score.py diff --git a/src/caelestia/utils/material/__init__.py b/src/caelestia/utils/material/__init__.py new file mode 100644 index 0000000..8adab1f --- /dev/null +++ b/src/caelestia/utils/material/__init__.py @@ -0,0 +1,52 @@ +import json +from pathlib import Path + +from materialyoucolor.hct import Hct + +from caelestia.utils.material.generator import gen_scheme +from caelestia.utils.material.score import score +from caelestia.utils.paths import compute_hash, scheme_cache_dir, wallpaper_thumbnail_path + + +def get_score_for_image(image: str, cache_base: Path) -> tuple[list[Hct], list[Hct]]: + cache = cache_base / "score.json" + + try: + with cache.open("r") as f: + return [[Hct.from_int(c) for c in li] for li in json.load(f)] + except (IOError, json.JSONDecodeError): + pass + + s = score(image) + + cache.parent.mkdir(parents=True, exist_ok=True) + with cache.open("w") as f: + json.dump([[c.to_int() for c in li] for li in s], f) + + return s + + +def get_colours_for_image(image: str = str(wallpaper_thumbnail_path), scheme=None) -> dict[str, str]: + if scheme is None: + from caelestia.utils.scheme import get_scheme + + scheme = get_scheme() + + cache_base = scheme_cache_dir / compute_hash(image) + cache = (cache_base / scheme.variant / scheme.flavour / scheme.mode).with_suffix(".json") + + try: + with cache.open("r") as f: + return json.load(f) + except (IOError, json.JSONDecodeError): + pass + + primaries, colours = get_score_for_image(image, cache_base) + i = ["default", "alt1", "alt2"].index(scheme.flavour) + scheme = gen_scheme(scheme, primaries[i], colours) + + cache.parent.mkdir(parents=True, exist_ok=True) + with cache.open("w") as f: + json.dump(scheme, f) + + return scheme diff --git a/src/caelestia/utils/material/generator.py b/src/caelestia/utils/material/generator.py new file mode 100755 index 0000000..33ff0e8 --- /dev/null +++ b/src/caelestia/utils/material/generator.py @@ -0,0 +1,192 @@ +from materialyoucolor.blend import Blend +from materialyoucolor.dynamiccolor.material_dynamic_colors import ( + DynamicScheme, + MaterialDynamicColors, +) +from materialyoucolor.hct import Hct +from materialyoucolor.hct.cam16 import Cam16 +from materialyoucolor.scheme.scheme_content import SchemeContent +from materialyoucolor.scheme.scheme_expressive import SchemeExpressive +from materialyoucolor.scheme.scheme_fidelity import SchemeFidelity +from materialyoucolor.scheme.scheme_fruit_salad import SchemeFruitSalad +from materialyoucolor.scheme.scheme_monochrome import SchemeMonochrome +from materialyoucolor.scheme.scheme_neutral import SchemeNeutral +from materialyoucolor.scheme.scheme_rainbow import SchemeRainbow +from materialyoucolor.scheme.scheme_tonal_spot import SchemeTonalSpot +from materialyoucolor.scheme.scheme_vibrant import SchemeVibrant + + +def hex_to_hct(hex: str) -> Hct: + return Hct.from_int(int(f"0xFF{hex}", 16)) + + +light_colours = [ + hex_to_hct("dc8a78"), + hex_to_hct("dd7878"), + hex_to_hct("ea76cb"), + hex_to_hct("8839ef"), + hex_to_hct("d20f39"), + hex_to_hct("e64553"), + hex_to_hct("fe640b"), + hex_to_hct("df8e1d"), + hex_to_hct("40a02b"), + hex_to_hct("179299"), + hex_to_hct("04a5e5"), + hex_to_hct("209fb5"), + hex_to_hct("1e66f5"), + hex_to_hct("7287fd"), +] + +dark_colours = [ + hex_to_hct("f5e0dc"), + hex_to_hct("f2cdcd"), + hex_to_hct("f5c2e7"), + hex_to_hct("cba6f7"), + hex_to_hct("f38ba8"), + hex_to_hct("eba0ac"), + hex_to_hct("fab387"), + hex_to_hct("f9e2af"), + hex_to_hct("a6e3a1"), + hex_to_hct("94e2d5"), + hex_to_hct("89dceb"), + hex_to_hct("74c7ec"), + hex_to_hct("89b4fa"), + hex_to_hct("b4befe"), +] + +colour_names = [ + "rosewater", + "flamingo", + "pink", + "mauve", + "red", + "maroon", + "peach", + "yellow", + "green", + "teal", + "sky", + "sapphire", + "blue", + "lavender", + "success", + "error", +] + + +def grayscale(colour: Hct, light: bool) -> None: + colour.chroma = 0 + + +def mix(a: Hct, b: Hct, w: float) -> Hct: + return Hct.from_int(Blend.cam16_ucs(a.to_int(), b.to_int(), w)) + + +def harmonize(a: Hct, b: Hct) -> Hct: + return Hct.from_int(Blend.harmonize(a.to_int(), b.to_int())) + + +def lighten(colour: Hct, amount: float) -> Hct: + diff = (100 - colour.tone) * amount + return Hct.from_hct(colour.hue, colour.chroma + diff / 2, colour.tone + diff) + + +def darken(colour: Hct, amount: float) -> Hct: + diff = colour.tone * amount + return Hct.from_hct(colour.hue, colour.chroma + diff / 2, colour.tone - diff) + + +def distance(colour: Cam16, base: Cam16) -> float: + return colour.distance(base) + + +def smart_sort(colours: list[Hct], base: list[Hct]) -> dict[str, Hct]: + sorted_colours = [None] * len(colours) + distances = {} + + cams = [(c, Cam16.from_int(c.to_int())) for c in colours] + base_cams = [Cam16.from_int(c.to_int()) for c in base] + + for colour, cam in cams: + dist = [(i, distance(cam, b)) for i, b in enumerate(base_cams)] + dist.sort(key=lambda x: x[1]) + distances[colour] = dist + + for colour in colours: + while len(distances[colour]) > 0: + i, dist = distances[colour][0] + + if sorted_colours[i] is None: + sorted_colours[i] = colour, dist + break + elif sorted_colours[i][1] > dist: + old = sorted_colours[i][0] + sorted_colours[i] = colour, dist + colour = old + + distances[colour].pop(0) + + return {colour_names[i]: c[0] for i, c in enumerate(sorted_colours)} + + +def get_scheme(scheme: str) -> DynamicScheme: + if scheme == "content": + return SchemeContent + if scheme == "expressive": + return SchemeExpressive + if scheme == "fidelity": + return SchemeFidelity + if scheme == "fruitsalad": + return SchemeFruitSalad + if scheme == "monochrome": + return SchemeMonochrome + if scheme == "neutral": + return SchemeNeutral + if scheme == "rainbow": + return SchemeRainbow + if scheme == "tonalspot": + return SchemeTonalSpot + return SchemeVibrant + + +def gen_scheme(scheme, primary: Hct, colours: list[Hct]) -> dict[str, str]: + light = scheme.mode == "light" + base = light_colours if light else dark_colours + + # Sort colours and turn into dict + colours = smart_sort(colours, base) + + # Harmonize colours + for name, hct in colours.items(): + if scheme.variant == "monochrome": + grayscale(hct, light) + else: + harmonized = harmonize(hct, primary) + colours[name] = darken(harmonized, 0.35) if light else lighten(harmonized, 0.65) + + # Material colours + primary_scheme = get_scheme(scheme.variant)(primary, not light, 0) + for colour in vars(MaterialDynamicColors).keys(): + colour_name = getattr(MaterialDynamicColors, colour) + if hasattr(colour_name, "get_hct"): + colours[colour] = colour_name.get_hct(primary_scheme) + + # FIXME: deprecated stuff + colours["text"] = colours["onBackground"] + colours["subtext1"] = colours["onSurfaceVariant"] + colours["subtext0"] = colours["outline"] + colours["overlay2"] = mix(colours["surface"], colours["outline"], 0.86) + colours["overlay1"] = mix(colours["surface"], colours["outline"], 0.71) + colours["overlay0"] = mix(colours["surface"], colours["outline"], 0.57) + colours["surface2"] = mix(colours["surface"], colours["outline"], 0.43) + colours["surface1"] = mix(colours["surface"], colours["outline"], 0.29) + colours["surface0"] = mix(colours["surface"], colours["outline"], 0.14) + colours["base"] = colours["surface"] + colours["mantle"] = darken(colours["surface"], 0.03) + colours["crust"] = darken(colours["surface"], 0.05) + colours["success"] = harmonize(base[8], primary) + + # For debugging + print("\n".join(["{}: \x1b[48;2;{};{};{}m \x1b[0m".format(n, *c.to_rgba()[:3]) for n, c in colours.items()])) + + return {k: hex(v.to_int())[4:] for k, v in colours.items()} diff --git a/src/caelestia/utils/material/score.py b/src/caelestia/utils/material/score.py new file mode 100755 index 0000000..da8b062 --- /dev/null +++ b/src/caelestia/utils/material/score.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python + +import sys + +from materialyoucolor.dislike.dislike_analyzer import DislikeAnalyzer +from materialyoucolor.hct import Hct +from materialyoucolor.quantize import ImageQuantizeCelebi +from materialyoucolor.utils.math_utils import difference_degrees, sanitize_degrees_int + + +class Score: + TARGET_CHROMA = 48.0 + WEIGHT_PROPORTION = 0.7 + WEIGHT_CHROMA_ABOVE = 0.3 + WEIGHT_CHROMA_BELOW = 0.1 + CUTOFF_CHROMA = 5.0 + CUTOFF_EXCITED_PROPORTION = 0.01 + + def __init__(self): + pass + + @staticmethod + def score(colors_to_population: dict) -> tuple[list[Hct], list[Hct]]: + desired = 14 + filter_enabled = True + dislike_filter = True + + colors_hct = [] + hue_population = [0] * 360 + population_sum = 0 + + for rgb, population in colors_to_population.items(): + hct = Hct.from_int(rgb) + colors_hct.append(hct) + hue = int(hct.hue) + hue_population[hue] += population + population_sum += population + + hue_excited_proportions = [0.0] * 360 + + for hue in range(360): + proportion = hue_population[hue] / population_sum + for i in range(hue - 14, hue + 16): + neighbor_hue = int(sanitize_degrees_int(i)) + hue_excited_proportions[neighbor_hue] += proportion + + # Score colours + scored_hct = [] + for hct in colors_hct: + hue = int(sanitize_degrees_int(round(hct.hue))) + proportion = hue_excited_proportions[hue] + + if filter_enabled and (hct.chroma < Score.CUTOFF_CHROMA or proportion <= Score.CUTOFF_EXCITED_PROPORTION): + continue + + proportion_score = proportion * 100.0 * Score.WEIGHT_PROPORTION + chroma_weight = Score.WEIGHT_CHROMA_BELOW if hct.chroma < Score.TARGET_CHROMA else Score.WEIGHT_CHROMA_ABOVE + chroma_score = (hct.chroma - Score.TARGET_CHROMA) * chroma_weight + score = proportion_score + chroma_score + scored_hct.append({"hct": hct, "score": score}) + + scored_hct.sort(key=lambda x: x["score"], reverse=True) + + # Choose distinct colours + chosen_colors = [] + for difference_degrees_ in range(90, 0, -1): + chosen_colors.clear() + for item in scored_hct: + hct = item["hct"] + duplicate_hue = any( + difference_degrees(hct.hue, chosen_hct.hue) < difference_degrees_ for chosen_hct in chosen_colors + ) + if not duplicate_hue: + chosen_colors.append(hct) + if len(chosen_colors) >= desired: + break + if len(chosen_colors) >= desired: + break + + # Get primary colour + primary = None + for cutoff in range(20, 0, -1): + for item in scored_hct: + if item["hct"].chroma > cutoff and item["hct"].tone > cutoff * 3: + primary = item["hct"] + break + if primary: + break + + # Choose distinct primaries + chosen_primaries = [primary] + for difference_degrees_ in range(90, 14, -1): + chosen_primaries = [primary] + for item in scored_hct: + hct = item["hct"] + duplicate_hue = any( + difference_degrees(hct.hue, chosen_hct.hue) < difference_degrees_ for chosen_hct in chosen_primaries + ) + if not duplicate_hue: + chosen_primaries.append(hct) + if len(chosen_primaries) >= 3: + break + if len(chosen_primaries) >= 3: + break + + # Fix disliked colours + if dislike_filter: + for i, chosen_hct in enumerate(chosen_primaries): + chosen_primaries[i] = DislikeAnalyzer.fix_if_disliked(chosen_hct) + for i, chosen_hct in enumerate(chosen_colors): + chosen_colors[i] = DislikeAnalyzer.fix_if_disliked(chosen_hct) + + return chosen_primaries, chosen_colors + + +def score(image: str) -> tuple[list[Hct], list[Hct]]: + return Score.score(ImageQuantizeCelebi(image, 1, 128)) + + +if __name__ == "__main__": + img = sys.argv[1] + mode = sys.argv[2] if len(sys.argv) > 2 else "hex" + + colours = Score.score(ImageQuantizeCelebi(img, 1, 128)) + for t in colours: + if mode != "hex": + print("".join(["\x1b[48;2;{};{};{}m \x1b[0m".format(*c.to_rgba()[:3]) for c in t])) + if mode != "swatch": + print(" ".join(["{:02X}{:02X}{:02X}".format(*c.to_rgba()[:3]) for c in t])) diff --git a/src/caelestia/utils/paths.py b/src/caelestia/utils/paths.py index dfb57d9..6a6e0a8 100644 --- a/src/caelestia/utils/paths.py +++ b/src/caelestia/utils/paths.py @@ -1,16 +1,33 @@ +import hashlib import os from pathlib import Path config_dir = Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config")) data_dir = Path(os.getenv("XDG_DATA_HOME", Path.home() / ".local/share")) state_dir = Path(os.getenv("XDG_STATE_HOME", Path.home() / ".local/state")) +cache_dir = Path(os.getenv("XDG_CACHE_HOME", Path.home() / ".cache")) c_config_dir = config_dir / "caelestia" c_data_dir = data_dir / "caelestia" c_state_dir = state_dir / "caelestia" +c_cache_dir = cache_dir / "caelestia" cli_data_dir = Path(__file__).parent.parent / "data" templates_dir = cli_data_dir / "templates" scheme_path = c_state_dir / "scheme.json" -scheme_data_path = cli_data_dir / "schemes" +scheme_data_dir = cli_data_dir / "schemes" +scheme_cache_dir = c_cache_dir / "schemes" + +last_wallpaper_path = c_state_dir / "wallpaper/last.txt" +wallpaper_thumbnail_path = c_state_dir / "wallpaper/thumbnail.jpg" + + +def compute_hash(path: str) -> str: + sha = hashlib.sha256() + + with open(path, "rb") as f: + while chunk := f.read(8192): + sha.update(chunk) + + return sha.hexdigest() diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index c26d2f8..66cd697 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -1,7 +1,8 @@ import json from pathlib import Path -from caelestia.utils.paths import scheme_data_path, scheme_path +from caelestia.utils.material import get_colours_for_image +from caelestia.utils.paths import scheme_data_dir, scheme_path class Scheme: @@ -89,7 +90,7 @@ class Scheme: return self._colours def get_colours_path(self) -> Path: - return (scheme_data_path / self.name / self.flavour / self.mode).with_suffix(".txt") + return (scheme_data_dir / self.name / self.flavour / self.mode).with_suffix(".txt") def save(self) -> None: scheme_path.parent.mkdir(parents=True, exist_ok=True) @@ -118,7 +119,10 @@ class Scheme: self._mode = get_scheme_modes()[0] def _update_colours(self) -> None: - self._colours = read_colours_from_file(self.get_colours_path()) + if self.name == "dynamic": + self._colours = get_colours_for_image() + else: + self._colours = read_colours_from_file(self.get_colours_path()) def __str__(self) -> str: return f"Scheme(name={self.name}, flavour={self.flavour}, mode={self.mode}, variant={self.variant})" @@ -168,7 +172,7 @@ def get_scheme_names() -> list[str]: global scheme_names if scheme_names is None: - scheme_names = [f.name for f in scheme_data_path.iterdir() if f.is_dir()] + scheme_names = [f.name for f in scheme_data_dir.iterdir() if f.is_dir()] scheme_names.append("dynamic") return scheme_names @@ -182,7 +186,7 @@ def get_scheme_flavours() -> list[str]: if name == "dynamic": scheme_flavours = ["default", "alt1", "alt2"] else: - scheme_flavours = [f.name for f in (scheme_data_path / name).iterdir() if f.is_dir()] + scheme_flavours = [f.name for f in (scheme_data_dir / name).iterdir() if f.is_dir()] return scheme_flavours @@ -192,6 +196,9 @@ def get_scheme_modes() -> list[str]: if scheme_modes is None: scheme = get_scheme() - scheme_modes = [f.stem for f in (scheme_data_path / scheme.name / scheme.flavour).iterdir() if f.is_file()] + if scheme.name == "dynamic": + scheme_modes = ["light", "dark"] + else: + scheme_modes = [f.stem for f in (scheme_data_dir / scheme.name / scheme.flavour).iterdir() if f.is_file()] return scheme_modes diff --git a/src/caelestia/utils/theme.py b/src/caelestia/utils/theme.py index 3250ea3..d205fb1 100644 --- a/src/caelestia/utils/theme.py +++ b/src/caelestia/utils/theme.py @@ -115,7 +115,7 @@ def apply_btop(colours: dict[str, str]) -> None: def apply_colours(colours: dict[str, str], mode: str) -> None: apply_terms(gen_sequences(colours)) - apply_hypr(gen_conf(colours)) + apply_hypr(gen_conf(colours)) # FIXME: LAGGY apply_discord(gen_scss(colours)) apply_spicetify(colours, mode) apply_fuzzel(colours) -- cgit v1.2.3-freya From 672ef4a2d9291fb4333e6d6aa807826d6860259a Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:00:43 +1000 Subject: scheme: impl random + fix single schemes --- src/caelestia/data/schemes/oldworld/dark.txt | 81 ---------------------- .../data/schemes/oldworld/default/dark.txt | 81 ++++++++++++++++++++++ src/caelestia/data/schemes/onedark/dark.txt | 81 ---------------------- .../data/schemes/onedark/default/dark.txt | 81 ++++++++++++++++++++++ src/caelestia/data/schemes/shadotheme/dark.txt | 81 ---------------------- .../data/schemes/shadotheme/default/dark.txt | 81 ++++++++++++++++++++++ src/caelestia/subcommands/scheme.py | 1 + src/caelestia/utils/material/generator.py | 2 +- src/caelestia/utils/scheme.py | 8 +++ 9 files changed, 253 insertions(+), 244 deletions(-) delete mode 100644 src/caelestia/data/schemes/oldworld/dark.txt create mode 100644 src/caelestia/data/schemes/oldworld/default/dark.txt delete mode 100644 src/caelestia/data/schemes/onedark/dark.txt create mode 100644 src/caelestia/data/schemes/onedark/default/dark.txt delete mode 100644 src/caelestia/data/schemes/shadotheme/dark.txt create mode 100644 src/caelestia/data/schemes/shadotheme/default/dark.txt diff --git a/src/caelestia/data/schemes/oldworld/dark.txt b/src/caelestia/data/schemes/oldworld/dark.txt deleted file mode 100644 index 846dc18..0000000 --- a/src/caelestia/data/schemes/oldworld/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f4d3d3 -flamingo edbab5 -pink e29eca -mauve c99ee2 -red ea83a5 -maroon f49eba -peach f5a191 -yellow e6b99d -green 90b99f -teal 85b5ba -sky 69b6e0 -sapphire 5b9fba -blue 92a2d5 -lavender aca1cf -text c9c7cd -subtext1 9998a8 -subtext0 757581 -overlay2 57575f -overlay1 3e3e43 -overlay0 353539 -surface2 2a2a2d -surface1 27272a -surface0 1b1b1d -base 161617 -mantle 131314 -crust 101011 -success 90b99f -primary_paletteKeyColor 5A77AB -secondary_paletteKeyColor 6E778A -tertiary_paletteKeyColor 8A6E8E -neutral_paletteKeyColor 76777D -neutral_variant_paletteKeyColor 74777F -background 111318 -onBackground E2E2E9 -surface 111318 -surfaceDim 111318 -surfaceBright 37393E -surfaceContainerLowest 0C0E13 -surfaceContainerLow 191C20 -surfaceContainer 1E2025 -surfaceContainerHigh 282A2F -surfaceContainerHighest 33353A -onSurface E2E2E9 -surfaceVariant 44474E -onSurfaceVariant C4C6D0 -inverseSurface E2E2E9 -inverseOnSurface 2E3036 -outline 8E9099 -outlineVariant 44474E -shadow 000000 -scrim 000000 -surfaceTint ABC7FF -primary ABC7FF -onPrimary 0B305F -primaryContainer 284777 -onPrimaryContainer D7E3FF -inversePrimary 415E91 -secondary BEC6DC -onSecondary 283141 -secondaryContainer 3E4759 -onSecondaryContainer DAE2F9 -tertiary DDBCE0 -onTertiary 3F2844 -tertiaryContainer A587A9 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed D7E3FF -primaryFixedDim ABC7FF -onPrimaryFixed 001B3F -onPrimaryFixedVariant 284777 -secondaryFixed DAE2F9 -secondaryFixedDim BEC6DC -onSecondaryFixed 131C2B -onSecondaryFixedVariant 3E4759 -tertiaryFixed FAD8FD -tertiaryFixedDim DDBCE0 -onTertiaryFixed 28132E -onTertiaryFixedVariant 573E5C \ No newline at end of file diff --git a/src/caelestia/data/schemes/oldworld/default/dark.txt b/src/caelestia/data/schemes/oldworld/default/dark.txt new file mode 100644 index 0000000..846dc18 --- /dev/null +++ b/src/caelestia/data/schemes/oldworld/default/dark.txt @@ -0,0 +1,81 @@ +rosewater f4d3d3 +flamingo edbab5 +pink e29eca +mauve c99ee2 +red ea83a5 +maroon f49eba +peach f5a191 +yellow e6b99d +green 90b99f +teal 85b5ba +sky 69b6e0 +sapphire 5b9fba +blue 92a2d5 +lavender aca1cf +text c9c7cd +subtext1 9998a8 +subtext0 757581 +overlay2 57575f +overlay1 3e3e43 +overlay0 353539 +surface2 2a2a2d +surface1 27272a +surface0 1b1b1d +base 161617 +mantle 131314 +crust 101011 +success 90b99f +primary_paletteKeyColor 5A77AB +secondary_paletteKeyColor 6E778A +tertiary_paletteKeyColor 8A6E8E +neutral_paletteKeyColor 76777D +neutral_variant_paletteKeyColor 74777F +background 111318 +onBackground E2E2E9 +surface 111318 +surfaceDim 111318 +surfaceBright 37393E +surfaceContainerLowest 0C0E13 +surfaceContainerLow 191C20 +surfaceContainer 1E2025 +surfaceContainerHigh 282A2F +surfaceContainerHighest 33353A +onSurface E2E2E9 +surfaceVariant 44474E +onSurfaceVariant C4C6D0 +inverseSurface E2E2E9 +inverseOnSurface 2E3036 +outline 8E9099 +outlineVariant 44474E +shadow 000000 +scrim 000000 +surfaceTint ABC7FF +primary ABC7FF +onPrimary 0B305F +primaryContainer 284777 +onPrimaryContainer D7E3FF +inversePrimary 415E91 +secondary BEC6DC +onSecondary 283141 +secondaryContainer 3E4759 +onSecondaryContainer DAE2F9 +tertiary DDBCE0 +onTertiary 3F2844 +tertiaryContainer A587A9 +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed D7E3FF +primaryFixedDim ABC7FF +onPrimaryFixed 001B3F +onPrimaryFixedVariant 284777 +secondaryFixed DAE2F9 +secondaryFixedDim BEC6DC +onSecondaryFixed 131C2B +onSecondaryFixedVariant 3E4759 +tertiaryFixed FAD8FD +tertiaryFixedDim DDBCE0 +onTertiaryFixed 28132E +onTertiaryFixedVariant 573E5C \ No newline at end of file diff --git a/src/caelestia/data/schemes/onedark/dark.txt b/src/caelestia/data/schemes/onedark/dark.txt deleted file mode 100644 index 269096e..0000000 --- a/src/caelestia/data/schemes/onedark/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater edcbc5 -flamingo d3a4a4 -pink d792c6 -mauve c678dd -red be5046 -maroon e06c75 -peach d19a66 -yellow e5c07b -green 98c379 -teal 56b6c2 -sky 90ccd7 -sapphire 389dcc -blue 61afef -lavender 8e98d9 -text abb2bf -subtext1 95a0b5 -subtext0 838b9c -overlay2 767f8f -overlay1 666e7c -overlay0 5c6370 -surface2 4b5263 -surface1 3c414f -surface0 30343e -base 282c34 -mantle 21242b -crust 1e2126 -success 98c379 -primary_paletteKeyColor 5878AB -secondary_paletteKeyColor 6E778A -tertiary_paletteKeyColor 896E8F -neutral_paletteKeyColor 75777D -neutral_variant_paletteKeyColor 74777F -background 111318 -onBackground E1E2E9 -surface 111318 -surfaceDim 111318 -surfaceBright 37393E -surfaceContainerLowest 0C0E13 -surfaceContainerLow 191C20 -surfaceContainer 1D2024 -surfaceContainerHigh 282A2F -surfaceContainerHighest 33353A -onSurface E1E2E9 -surfaceVariant 43474E -onSurfaceVariant C4C6CF -inverseSurface E1E2E9 -inverseOnSurface 2E3035 -outline 8E9099 -outlineVariant 43474E -shadow 000000 -scrim 000000 -surfaceTint A8C8FF -primary A8C8FF -onPrimary 06305F -primaryContainer 254777 -onPrimaryContainer D5E3FF -inversePrimary 3F5F90 -secondary BDC7DC -onSecondary 273141 -secondaryContainer 40495B -onSecondaryContainer D9E3F8 -tertiary DBBCE1 -onTertiary 3E2845 -tertiaryContainer A387AA -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed D5E3FF -primaryFixedDim A8C8FF -onPrimaryFixed 001B3C -onPrimaryFixedVariant 254777 -secondaryFixed D9E3F8 -secondaryFixedDim BDC7DC -onSecondaryFixed 121C2B -onSecondaryFixedVariant 3E4758 -tertiaryFixed F8D8FE -tertiaryFixedDim DBBCE1 -onTertiaryFixed 28132F -onTertiaryFixedVariant 563E5D \ No newline at end of file diff --git a/src/caelestia/data/schemes/onedark/default/dark.txt b/src/caelestia/data/schemes/onedark/default/dark.txt new file mode 100644 index 0000000..269096e --- /dev/null +++ b/src/caelestia/data/schemes/onedark/default/dark.txt @@ -0,0 +1,81 @@ +rosewater edcbc5 +flamingo d3a4a4 +pink d792c6 +mauve c678dd +red be5046 +maroon e06c75 +peach d19a66 +yellow e5c07b +green 98c379 +teal 56b6c2 +sky 90ccd7 +sapphire 389dcc +blue 61afef +lavender 8e98d9 +text abb2bf +subtext1 95a0b5 +subtext0 838b9c +overlay2 767f8f +overlay1 666e7c +overlay0 5c6370 +surface2 4b5263 +surface1 3c414f +surface0 30343e +base 282c34 +mantle 21242b +crust 1e2126 +success 98c379 +primary_paletteKeyColor 5878AB +secondary_paletteKeyColor 6E778A +tertiary_paletteKeyColor 896E8F +neutral_paletteKeyColor 75777D +neutral_variant_paletteKeyColor 74777F +background 111318 +onBackground E1E2E9 +surface 111318 +surfaceDim 111318 +surfaceBright 37393E +surfaceContainerLowest 0C0E13 +surfaceContainerLow 191C20 +surfaceContainer 1D2024 +surfaceContainerHigh 282A2F +surfaceContainerHighest 33353A +onSurface E1E2E9 +surfaceVariant 43474E +onSurfaceVariant C4C6CF +inverseSurface E1E2E9 +inverseOnSurface 2E3035 +outline 8E9099 +outlineVariant 43474E +shadow 000000 +scrim 000000 +surfaceTint A8C8FF +primary A8C8FF +onPrimary 06305F +primaryContainer 254777 +onPrimaryContainer D5E3FF +inversePrimary 3F5F90 +secondary BDC7DC +onSecondary 273141 +secondaryContainer 40495B +onSecondaryContainer D9E3F8 +tertiary DBBCE1 +onTertiary 3E2845 +tertiaryContainer A387AA +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed D5E3FF +primaryFixedDim A8C8FF +onPrimaryFixed 001B3C +onPrimaryFixedVariant 254777 +secondaryFixed D9E3F8 +secondaryFixedDim BDC7DC +onSecondaryFixed 121C2B +onSecondaryFixedVariant 3E4758 +tertiaryFixed F8D8FE +tertiaryFixedDim DBBCE1 +onTertiaryFixed 28132F +onTertiaryFixedVariant 563E5D \ No newline at end of file diff --git a/src/caelestia/data/schemes/shadotheme/dark.txt b/src/caelestia/data/schemes/shadotheme/dark.txt deleted file mode 100644 index e178804..0000000 --- a/src/caelestia/data/schemes/shadotheme/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -rosewater f1c4e0 -flamingo F18FB0 -pink a8899c -mauve E9729D -red B52A5B -maroon FF4971 -peach ff79c6 -yellow 8897F4 -green 6a5acd -teal F18FB0 -sky 4484d1 -sapphire 2f77a1 -blue bd93f9 -lavender 849BE0 -text e3c7fc -subtext1 CBB2E1 -subtext0 B39DC7 -overlay2 9A88AC -overlay1 827392 -overlay0 6A5D77 -surface2 52485D -surface1 393342 -surface0 211E28 -base 09090d -mantle 060608 -crust 030304 -success 37d4a7 -primary_paletteKeyColor 6F72AC -secondary_paletteKeyColor 75758B -tertiary_paletteKeyColor 936B83 -neutral_paletteKeyColor 78767D -neutral_variant_paletteKeyColor 777680 -background 131318 -onBackground E4E1E9 -surface 131318 -surfaceDim 131318 -surfaceBright 39383F -surfaceContainerLowest 0E0E13 -surfaceContainerLow 1B1B21 -surfaceContainer 1F1F25 -surfaceContainerHigh 2A292F -surfaceContainerHighest 35343A -onSurface E4E1E9 -surfaceVariant 46464F -onSurfaceVariant C7C5D0 -inverseSurface E4E1E9 -inverseOnSurface 303036 -outline 918F9A -outlineVariant 46464F -shadow 000000 -scrim 000000 -surfaceTint BFC1FF -primary BFC1FF -onPrimary 282B60 -primaryContainer 3F4178 -onPrimaryContainer E1E0FF -inversePrimary 565992 -secondary C5C4DD -onSecondary 2E2F42 -secondaryContainer 47475B -onSecondaryContainer E2E0F9 -tertiary E8B9D4 -onTertiary 46263B -tertiaryContainer AF849D -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed E1E0FF -primaryFixedDim BFC1FF -onPrimaryFixed 12144B -onPrimaryFixedVariant 3F4178 -secondaryFixed E2E0F9 -secondaryFixedDim C5C4DD -onSecondaryFixed 191A2C -onSecondaryFixedVariant 454559 -tertiaryFixed FFD8ED -tertiaryFixedDim E8B9D4 -onTertiaryFixed 2E1125 -onTertiaryFixedVariant 5F3C52 \ No newline at end of file diff --git a/src/caelestia/data/schemes/shadotheme/default/dark.txt b/src/caelestia/data/schemes/shadotheme/default/dark.txt new file mode 100644 index 0000000..e178804 --- /dev/null +++ b/src/caelestia/data/schemes/shadotheme/default/dark.txt @@ -0,0 +1,81 @@ +rosewater f1c4e0 +flamingo F18FB0 +pink a8899c +mauve E9729D +red B52A5B +maroon FF4971 +peach ff79c6 +yellow 8897F4 +green 6a5acd +teal F18FB0 +sky 4484d1 +sapphire 2f77a1 +blue bd93f9 +lavender 849BE0 +text e3c7fc +subtext1 CBB2E1 +subtext0 B39DC7 +overlay2 9A88AC +overlay1 827392 +overlay0 6A5D77 +surface2 52485D +surface1 393342 +surface0 211E28 +base 09090d +mantle 060608 +crust 030304 +success 37d4a7 +primary_paletteKeyColor 6F72AC +secondary_paletteKeyColor 75758B +tertiary_paletteKeyColor 936B83 +neutral_paletteKeyColor 78767D +neutral_variant_paletteKeyColor 777680 +background 131318 +onBackground E4E1E9 +surface 131318 +surfaceDim 131318 +surfaceBright 39383F +surfaceContainerLowest 0E0E13 +surfaceContainerLow 1B1B21 +surfaceContainer 1F1F25 +surfaceContainerHigh 2A292F +surfaceContainerHighest 35343A +onSurface E4E1E9 +surfaceVariant 46464F +onSurfaceVariant C7C5D0 +inverseSurface E4E1E9 +inverseOnSurface 303036 +outline 918F9A +outlineVariant 46464F +shadow 000000 +scrim 000000 +surfaceTint BFC1FF +primary BFC1FF +onPrimary 282B60 +primaryContainer 3F4178 +onPrimaryContainer E1E0FF +inversePrimary 565992 +secondary C5C4DD +onSecondary 2E2F42 +secondaryContainer 47475B +onSecondaryContainer E2E0F9 +tertiary E8B9D4 +onTertiary 46263B +tertiaryContainer AF849D +onTertiaryContainer 000000 +error FFB4AB +onError 690005 +errorContainer 93000A +onErrorContainer FFDAD6 +primaryFixed E1E0FF +primaryFixedDim BFC1FF +onPrimaryFixed 12144B +onPrimaryFixedVariant 3F4178 +secondaryFixed E2E0F9 +secondaryFixedDim C5C4DD +onSecondaryFixed 191A2C +onSecondaryFixedVariant 454559 +tertiaryFixed FFD8ED +tertiaryFixedDim E8B9D4 +onTertiaryFixed 2E1125 +onTertiaryFixedVariant 5F3C52 \ No newline at end of file diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py index e149d13..973cfce 100644 --- a/src/caelestia/subcommands/scheme.py +++ b/src/caelestia/subcommands/scheme.py @@ -15,6 +15,7 @@ class Command: if self.args.random: scheme.set_random() + apply_colours(scheme.colours, scheme.mode) elif self.args.name or self.args.flavour or self.args.mode: if self.args.name: scheme.name = self.args.name diff --git a/src/caelestia/utils/material/generator.py b/src/caelestia/utils/material/generator.py index 33ff0e8..235b2ce 100755 --- a/src/caelestia/utils/material/generator.py +++ b/src/caelestia/utils/material/generator.py @@ -187,6 +187,6 @@ def gen_scheme(scheme, primary: Hct, colours: list[Hct]) -> dict[str, str]: colours["success"] = harmonize(base[8], primary) # For debugging - print("\n".join(["{}: \x1b[48;2;{};{};{}m \x1b[0m".format(n, *c.to_rgba()[:3]) for n, c in colours.items()])) + # print("\n".join(["{}: \x1b[48;2;{};{};{}m \x1b[0m".format(n, *c.to_rgba()[:3]) for n, c in colours.items()])) return {k: hex(v.to_int())[4:] for k, v in colours.items()} diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index 66cd697..ce8d6fe 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -1,4 +1,5 @@ import json +import random from pathlib import Path from caelestia.utils.material import get_colours_for_image @@ -106,6 +107,13 @@ class Scheme: f, ) + def set_random(self) -> None: + self._name = random.choice(get_scheme_names()) + self._flavour = random.choice(get_scheme_flavours()) + self._mode = random.choice(get_scheme_modes()) + self._update_colours() + self.save() + def _check_flavour(self) -> None: global scheme_flavours scheme_flavours = None -- cgit v1.2.3-freya From bb2eec1d67beba47587e5d36170231bad2487bee Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:02:08 +1000 Subject: material: tone down chroma boost --- src/caelestia/utils/material/generator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caelestia/utils/material/generator.py b/src/caelestia/utils/material/generator.py index 235b2ce..656a5af 100755 --- a/src/caelestia/utils/material/generator.py +++ b/src/caelestia/utils/material/generator.py @@ -88,12 +88,12 @@ def harmonize(a: Hct, b: Hct) -> Hct: def lighten(colour: Hct, amount: float) -> Hct: diff = (100 - colour.tone) * amount - return Hct.from_hct(colour.hue, colour.chroma + diff / 2, colour.tone + diff) + return Hct.from_hct(colour.hue, colour.chroma + diff / 5, colour.tone + diff) def darken(colour: Hct, amount: float) -> Hct: diff = colour.tone * amount - return Hct.from_hct(colour.hue, colour.chroma + diff / 2, colour.tone - diff) + return Hct.from_hct(colour.hue, colour.chroma + diff / 5, colour.tone - diff) def distance(colour: Cam16, base: Cam16) -> float: -- cgit v1.2.3-freya From e701e85af0f354a0d52a7d84ff22459f3760e6ae Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:18:01 +1000 Subject: scheme: better print --- src/caelestia/utils/scheme.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index ce8d6fe..f25cf62 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -133,7 +133,15 @@ class Scheme: self._colours = read_colours_from_file(self.get_colours_path()) def __str__(self) -> str: - return f"Scheme(name={self.name}, flavour={self.flavour}, mode={self.mode}, variant={self.variant})" + return ( + f"Current scheme:\n" + f" Name: {self.name}\n" + f" Flavour: {self.flavour}\n" + f" Mode: {self.mode}\n" + f" Variant: {self.variant}\n" + f" Colours:\n" + f" {'\n '.join(f'{n}: \x1b[38;2;{int(c[0:2], 16)};{int(c[2:4], 16)};{int(c[4:6], 16)}m{c}\x1b[0m' for n, c in self.colours.items())}" + ) scheme_variants = [ -- cgit v1.2.3-freya From e75e727262573de25ee1e1e75bd93e3647dc3609 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:23:14 +1000 Subject: scheme: add variant option Remove variant subcommand --- src/caelestia/parser.py | 22 ++-------------------- src/caelestia/subcommands/scheme.py | 4 +++- src/caelestia/subcommands/variant.py | 11 ----------- src/caelestia/utils/scheme.py | 5 +++++ 4 files changed, 10 insertions(+), 32 deletions(-) delete mode 100644 src/caelestia/subcommands/variant.py diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index 9718938..3f6f506 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -1,18 +1,6 @@ import argparse -from caelestia.subcommands import ( - clipboard, - emoji, - pip, - record, - scheme, - screenshot, - shell, - toggle, - variant, - wallpaper, - wsaction, -) +from caelestia.subcommands import clipboard, emoji, pip, record, scheme, screenshot, shell, toggle, wallpaper, wsaction from caelestia.utils.scheme import get_scheme_names, scheme_variants @@ -65,13 +53,7 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): scheme_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to") scheme_parser.add_argument("-f", "--flavour", help="the flavour to switch to") scheme_parser.add_argument("-m", "--mode", choices=["dark", "light"], help="the mode to switch to") - - # Create parser for variant opts - variant_parser = command_parser.add_parser("variant", help="manage the dynamic scheme variant") - variant_parser.set_defaults(cls=variant.Command) - variant_parser.add_argument("-g", "--get", action="store_true", help="print the current dynamic scheme variant") - variant_parser.add_argument("-s", "--set", choices=scheme_variants, help="set the current dynamic scheme variant") - variant_parser.add_argument("-r", "--random", action="store_true", help="switch to a random variant") + scheme_parser.add_argument("-v", "--variant", choices=scheme_variants, help="the variant to switch to") # Create parser for screenshot opts screenshot_parser = command_parser.add_parser("screenshot", help="take a screenshot") diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py index 973cfce..c95df96 100644 --- a/src/caelestia/subcommands/scheme.py +++ b/src/caelestia/subcommands/scheme.py @@ -16,13 +16,15 @@ class Command: if self.args.random: scheme.set_random() apply_colours(scheme.colours, scheme.mode) - elif self.args.name or self.args.flavour or self.args.mode: + elif self.args.name or self.args.flavour or self.args.mode or self.args.variant: if self.args.name: scheme.name = self.args.name if self.args.flavour: scheme.flavour = self.args.flavour if self.args.mode: scheme.mode = self.args.mode + if self.args.variant: + scheme.variant = self.args.variant apply_colours(scheme.colours, scheme.mode) else: print(scheme) diff --git a/src/caelestia/subcommands/variant.py b/src/caelestia/subcommands/variant.py deleted file mode 100644 index 37f9a2b..0000000 --- a/src/caelestia/subcommands/variant.py +++ /dev/null @@ -1,11 +0,0 @@ -from argparse import Namespace - - -class Command: - args: Namespace - - def __init__(self, args: Namespace) -> None: - self.args = args - - def run(self) -> None: - pass diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index f25cf62..c978231 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -84,7 +84,12 @@ class Scheme: @variant.setter def variant(self, variant: str) -> None: + if variant == self._variant: + return + self._variant = variant + self._update_colours() + self.save() @property def colours(self) -> dict[str, str]: -- cgit v1.2.3-freya From dc4b6733bfbab1fc9e9f5001d800b549d3f6f98f Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:28:12 +1000 Subject: material: better mono scheme --- src/caelestia/utils/material/generator.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/caelestia/utils/material/generator.py b/src/caelestia/utils/material/generator.py index 656a5af..584d375 100755 --- a/src/caelestia/utils/material/generator.py +++ b/src/caelestia/utils/material/generator.py @@ -74,8 +74,10 @@ colour_names = [ ] -def grayscale(colour: Hct, light: bool) -> None: +def grayscale(colour: Hct, light: bool) -> Hct: + colour = darken(colour, 0.35) if light else lighten(colour, 0.65) colour.chroma = 0 + return colour def mix(a: Hct, b: Hct, w: float) -> Hct: @@ -159,7 +161,7 @@ def gen_scheme(scheme, primary: Hct, colours: list[Hct]) -> dict[str, str]: # Harmonize colours for name, hct in colours.items(): if scheme.variant == "monochrome": - grayscale(hct, light) + colours[name] = grayscale(hct, light) else: harmonized = harmonize(hct, primary) colours[name] = darken(harmonized, 0.35) if light else lighten(harmonized, 0.65) -- cgit v1.2.3-freya From a53a2568ec6e4e53d32a48443f50eee9d9fb8fcd Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:49:01 +1000 Subject: scheme: fix not saving atomically Causes programs which rely on the save file (e.g. the shell) to fail occasionally as they try to read while the cli is writing --- src/caelestia/utils/paths.py | 10 ++++++++++ src/caelestia/utils/scheme.py | 23 +++++++++++------------ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/caelestia/utils/paths.py b/src/caelestia/utils/paths.py index 6a6e0a8..3b5a7a6 100644 --- a/src/caelestia/utils/paths.py +++ b/src/caelestia/utils/paths.py @@ -1,5 +1,8 @@ import hashlib +import json import os +import shutil +import tempfile from pathlib import Path config_dir = Path(os.getenv("XDG_CONFIG_HOME", Path.home() / ".config")) @@ -31,3 +34,10 @@ def compute_hash(path: str) -> str: sha.update(chunk) return sha.hexdigest() + + +def atomic_dump(path: Path, content: dict[str, any]) -> None: + with tempfile.NamedTemporaryFile("w") as f: + json.dump(content, f) + f.flush() + shutil.move(f.name, path) diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index c978231..9027589 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -3,7 +3,7 @@ import random from pathlib import Path from caelestia.utils.material import get_colours_for_image -from caelestia.utils.paths import scheme_data_dir, scheme_path +from caelestia.utils.paths import atomic_dump, scheme_data_dir, scheme_path class Scheme: @@ -100,17 +100,16 @@ class Scheme: def save(self) -> None: scheme_path.parent.mkdir(parents=True, exist_ok=True) - with scheme_path.open("w") as f: - json.dump( - { - "name": self.name, - "flavour": self.flavour, - "mode": self.mode, - "variant": self.variant, - "colours": self.colours, - }, - f, - ) + atomic_dump( + scheme_path, + { + "name": self.name, + "flavour": self.flavour, + "mode": self.mode, + "variant": self.variant, + "colours": self.colours, + }, + ) def set_random(self) -> None: self._name = random.choice(get_scheme_names()) -- cgit v1.2.3-freya From c043a14ca24f70e81b69133350a1174d2e6572fc Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 21:35:05 +1000 Subject: feat: impl wallpaper --- src/caelestia/parser.py | 12 +++- src/caelestia/subcommands/wallpaper.py | 12 +++- src/caelestia/utils/paths.py | 7 +- src/caelestia/utils/scheme.py | 12 ++-- src/caelestia/utils/wallpaper.py | 123 +++++++++++++++++++++++++++++++++ 5 files changed, 154 insertions(+), 12 deletions(-) create mode 100644 src/caelestia/utils/wallpaper.py diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index 3f6f506..f8c7bac 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -1,7 +1,9 @@ import argparse from caelestia.subcommands import clipboard, emoji, pip, record, scheme, screenshot, shell, toggle, wallpaper, wsaction +from caelestia.utils.paths import wallpapers_dir from caelestia.utils.scheme import get_scheme_names, scheme_variants +from caelestia.utils.wallpaper import get_wallpaper def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): @@ -81,14 +83,18 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): # Create parser for wallpaper opts wallpaper_parser = command_parser.add_parser("wallpaper", help="manage the wallpaper") wallpaper_parser.set_defaults(cls=wallpaper.Command) - wallpaper_parser.add_argument("-g", "--get", action="store_true", help="print the current wallpaper") - wallpaper_parser.add_argument("-r", "--random", action="store_true", help="switch to a random wallpaper") + wallpaper_parser.add_argument( + "-p", "--print", nargs="?", const=get_wallpaper(), metavar="PATH", help="print the scheme for a wallpaper" + ) + wallpaper_parser.add_argument( + "-r", "--random", nargs="?", const=wallpapers_dir, metavar="DIR", help="switch to a random wallpaper" + ) wallpaper_parser.add_argument("-f", "--file", help="the path to the wallpaper to switch to") wallpaper_parser.add_argument("-n", "--no-filter", action="store_true", help="do not filter by size") wallpaper_parser.add_argument( "-t", "--threshold", - default=80, + default=0.8, help="the minimum percentage of the largest monitor size the image must be greater than to be selected", ) wallpaper_parser.add_argument( diff --git a/src/caelestia/subcommands/wallpaper.py b/src/caelestia/subcommands/wallpaper.py index 37f9a2b..1440484 100644 --- a/src/caelestia/subcommands/wallpaper.py +++ b/src/caelestia/subcommands/wallpaper.py @@ -1,5 +1,8 @@ +import json from argparse import Namespace +from caelestia.utils.wallpaper import get_colours_for_wall, get_wallpaper, set_random, set_wallpaper + class Command: args: Namespace @@ -8,4 +11,11 @@ class Command: self.args = args def run(self) -> None: - pass + if self.args.print: + print(json.dumps(get_colours_for_wall(self.args.print, self.args.no_smart))) + elif self.args.file: + set_wallpaper(self.args.file, self.args.no_smart) + elif self.args.random: + set_random(self.args) + else: + print(get_wallpaper()) diff --git a/src/caelestia/utils/paths.py b/src/caelestia/utils/paths.py index 3b5a7a6..f81b996 100644 --- a/src/caelestia/utils/paths.py +++ b/src/caelestia/utils/paths.py @@ -22,11 +22,14 @@ scheme_path = c_state_dir / "scheme.json" scheme_data_dir = cli_data_dir / "schemes" scheme_cache_dir = c_cache_dir / "schemes" -last_wallpaper_path = c_state_dir / "wallpaper/last.txt" +wallpapers_dir = Path.home() / "Pictures/Wallpapers" +wallpaper_path_path = c_state_dir / "wallpaper/path.txt" +wallpaper_link_path = c_state_dir / "wallpaper/current" wallpaper_thumbnail_path = c_state_dir / "wallpaper/thumbnail.jpg" +thumbnail_cache_dir = c_cache_dir / "thumbnails" -def compute_hash(path: str) -> str: +def compute_hash(path: Path | str) -> str: sha = hashlib.sha256() with open(path, "rb") as f: diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index 9027589..0d6cfb5 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -59,8 +59,7 @@ class Scheme: self._flavour = flavour self._check_mode() - self._update_colours() - self.save() + self.update_colours() @property def mode(self) -> str: @@ -75,8 +74,7 @@ class Scheme: raise ValueError(f'Invalid scheme mode: "{mode}". Valid modes: {get_scheme_modes()}') self._mode = mode - self._update_colours() - self.save() + self.update_colours() @property def variant(self) -> str: @@ -88,8 +86,7 @@ class Scheme: return self._variant = variant - self._update_colours() - self.save() + self.update_colours() @property def colours(self) -> dict[str, str]: @@ -115,6 +112,9 @@ class Scheme: self._name = random.choice(get_scheme_names()) self._flavour = random.choice(get_scheme_flavours()) self._mode = random.choice(get_scheme_modes()) + self.update_colours() + + def update_colours(self) -> None: self._update_colours() self.save() diff --git a/src/caelestia/utils/wallpaper.py b/src/caelestia/utils/wallpaper.py new file mode 100644 index 0000000..c8b3a72 --- /dev/null +++ b/src/caelestia/utils/wallpaper.py @@ -0,0 +1,123 @@ +import random +from argparse import Namespace +from pathlib import Path + +from materialyoucolor.hct import Hct +from materialyoucolor.utils.color_utils import argb_from_rgb +from PIL import Image + +from caelestia.utils.hypr import message +from caelestia.utils.material import get_colours_for_image +from caelestia.utils.paths import ( + compute_hash, + thumbnail_cache_dir, + wallpaper_link_path, + wallpaper_path_path, + wallpaper_thumbnail_path, +) +from caelestia.utils.scheme import Scheme, get_scheme +from caelestia.utils.theme import apply_colours + + +def is_valid_image(path: Path | str) -> bool: + path = Path(path) + return path.is_file() and path.suffix in [".jpg", ".jpeg", ".png", ".webp", ".tif", ".tiff"] + + +def check_wall(wall: Path, filter_size: tuple[int, int], threshold: float) -> bool: + with Image.open(wall) as img: + width, height = img.size + return width >= filter_size[0] * threshold and height >= filter_size[1] * threshold + + +def get_wallpaper() -> str: + return wallpaper_path_path.read_text() + + +def get_wallpapers(args: Namespace) -> list[Path]: + dir = Path(args.random) + if not dir.is_dir(): + return [] + + walls = [f for f in dir.rglob("*") if is_valid_image(f)] + + if args.no_filter: + return walls + + monitors = message("monitors") + filter_size = monitors[0]["width"], monitors[0]["height"] + for monitor in monitors[1:]: + if filter_size[0] > monitor["width"]: + filter_size[0] = monitor["width"] + if filter_size[1] > monitor["height"]: + filter_size[1] = monitor["height"] + + return [f for f in walls if check_wall(f, filter_size, args.threshold)] + + +def get_thumb(wall: Path) -> Path: + thumb = (thumbnail_cache_dir / compute_hash(wall)).with_suffix(".jpg") + + if not thumb.exists(): + with Image.open(wall) as img: + img = img.convert("RGB") + img.thumbnail((128, 128), Image.NEAREST) + thumb.parent.mkdir(parents=True, exist_ok=True) + img.save(thumb, "JPEG") + + return thumb + + +def get_smart_mode(wall: Path) -> str: + with Image.open(get_thumb(wall)) as img: + img.thumbnail((1, 1), Image.LANCZOS) + tone = Hct.from_int(argb_from_rgb(*img.getpixel((0, 0)))).tone + return "light" if tone > 60 else "dark" + + +def get_colours_for_wall(wall: Path | str, no_smart: bool) -> None: + scheme = get_scheme() + + if not no_smart: + scheme = Scheme( + { + "name": scheme.name, + "flavour": scheme.flavour, + "mode": get_smart_mode(wall), + "variant": scheme.variant, + "colours": scheme.colours, + } + ) + + return get_colours_for_image(get_thumb(wall), scheme) + + +def set_wallpaper(wall: Path | str, no_smart: bool) -> None: + if not is_valid_image(wall): + raise ValueError(f'"{wall}" is not a valid image') + + # Update files + wallpaper_path_path.parent.mkdir(parents=True, exist_ok=True) + wallpaper_path_path.write_text(str(wall)) + wallpaper_link_path.parent.mkdir(parents=True, exist_ok=True) + wallpaper_link_path.unlink(missing_ok=True) + wallpaper_link_path.symlink_to(wall) + + # Generate thumbnail or get from cache + thumb = get_thumb(wall) + wallpaper_thumbnail_path.parent.mkdir(parents=True, exist_ok=True) + wallpaper_thumbnail_path.unlink(missing_ok=True) + wallpaper_thumbnail_path.symlink_to(thumb) + + scheme = get_scheme() + + # Change mode based on wallpaper colour + scheme.mode = get_smart_mode(wall) + + # Update colours + scheme.update_colours() + apply_colours(scheme.colours, scheme.mode) + + +def set_random(args: Namespace) -> None: + set_wallpaper(random.choice(get_wallpapers(args)), args.no_smart) -- cgit v1.2.3-freya From a97de9d430b8a0f900928f5cad33385deec3f659 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 21:51:59 +1000 Subject: wallpaper: cache smart mode --- src/caelestia/utils/paths.py | 2 +- src/caelestia/utils/wallpaper.py | 35 ++++++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/caelestia/utils/paths.py b/src/caelestia/utils/paths.py index f81b996..37aeeef 100644 --- a/src/caelestia/utils/paths.py +++ b/src/caelestia/utils/paths.py @@ -26,7 +26,7 @@ wallpapers_dir = Path.home() / "Pictures/Wallpapers" wallpaper_path_path = c_state_dir / "wallpaper/path.txt" wallpaper_link_path = c_state_dir / "wallpaper/current" wallpaper_thumbnail_path = c_state_dir / "wallpaper/thumbnail.jpg" -thumbnail_cache_dir = c_cache_dir / "thumbnails" +wallpapers_cache_dir = c_cache_dir / "wallpapers" def compute_hash(path: Path | str) -> str: diff --git a/src/caelestia/utils/wallpaper.py b/src/caelestia/utils/wallpaper.py index c8b3a72..1146c73 100644 --- a/src/caelestia/utils/wallpaper.py +++ b/src/caelestia/utils/wallpaper.py @@ -10,10 +10,10 @@ from caelestia.utils.hypr import message from caelestia.utils.material import get_colours_for_image from caelestia.utils.paths import ( compute_hash, - thumbnail_cache_dir, wallpaper_link_path, wallpaper_path_path, wallpaper_thumbnail_path, + wallpapers_cache_dir, ) from caelestia.utils.scheme import Scheme, get_scheme from caelestia.utils.theme import apply_colours @@ -55,8 +55,8 @@ def get_wallpapers(args: Namespace) -> list[Path]: return [f for f in walls if check_wall(f, filter_size, args.threshold)] -def get_thumb(wall: Path) -> Path: - thumb = (thumbnail_cache_dir / compute_hash(wall)).with_suffix(".jpg") +def get_thumb(wall: Path, cache: Path) -> Path: + thumb = cache / "thumbnail.jpg" if not thumb.exists(): with Image.open(wall) as img: @@ -68,28 +68,38 @@ def get_thumb(wall: Path) -> Path: return thumb -def get_smart_mode(wall: Path) -> str: - with Image.open(get_thumb(wall)) as img: +def get_smart_mode(wall: Path, cache: Path) -> str: + mode_cache = cache / "mode.txt" + + if mode_cache.exists(): + return mode_cache.read_text() + + with Image.open(get_thumb(wall, cache)) as img: img.thumbnail((1, 1), Image.LANCZOS) - tone = Hct.from_int(argb_from_rgb(*img.getpixel((0, 0)))).tone - return "light" if tone > 60 else "dark" + mode = "light" if Hct.from_int(argb_from_rgb(*img.getpixel((0, 0)))).tone > 60 else "dark" + + mode_cache.parent.mkdir(parents=True, exist_ok=True) + mode_cache.write_text(mode) + + return mode def get_colours_for_wall(wall: Path | str, no_smart: bool) -> None: scheme = get_scheme() + cache = wallpapers_cache_dir / compute_hash(wall) if not no_smart: scheme = Scheme( { "name": scheme.name, "flavour": scheme.flavour, - "mode": get_smart_mode(wall), + "mode": get_smart_mode(wall, cache), "variant": scheme.variant, "colours": scheme.colours, } ) - return get_colours_for_image(get_thumb(wall), scheme) + return get_colours_for_image(get_thumb(wall, cache), scheme) def set_wallpaper(wall: Path | str, no_smart: bool) -> None: @@ -103,8 +113,10 @@ def set_wallpaper(wall: Path | str, no_smart: bool) -> None: wallpaper_link_path.unlink(missing_ok=True) wallpaper_link_path.symlink_to(wall) + cache = wallpapers_cache_dir / compute_hash(wall) + # Generate thumbnail or get from cache - thumb = get_thumb(wall) + thumb = get_thumb(wall, cache) wallpaper_thumbnail_path.parent.mkdir(parents=True, exist_ok=True) wallpaper_thumbnail_path.unlink(missing_ok=True) wallpaper_thumbnail_path.symlink_to(thumb) @@ -112,7 +124,8 @@ def set_wallpaper(wall: Path | str, no_smart: bool) -> None: scheme = get_scheme() # Change mode based on wallpaper colour - scheme.mode = get_smart_mode(wall) + if not no_smart: + scheme.mode = get_smart_mode(wall, cache) # Update colours scheme.update_colours() -- cgit v1.2.3-freya From 558a086bcd5a17ea92139bcafeceaf5da5d5be30 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Jun 2025 21:57:09 +1000 Subject: scheme: ensure enough colours --- src/caelestia/utils/material/score.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/caelestia/utils/material/score.py b/src/caelestia/utils/material/score.py index da8b062..7765050 100755 --- a/src/caelestia/utils/material/score.py +++ b/src/caelestia/utils/material/score.py @@ -20,9 +20,8 @@ class Score: pass @staticmethod - def score(colors_to_population: dict) -> tuple[list[Hct], list[Hct]]: + def score(colors_to_population: dict, filter_enabled: bool = True) -> tuple[list[Hct], list[Hct]]: desired = 14 - filter_enabled = True dislike_filter = True colors_hct = [] @@ -110,6 +109,10 @@ class Score: for i, chosen_hct in enumerate(chosen_colors): chosen_colors[i] = DislikeAnalyzer.fix_if_disliked(chosen_hct) + # Ensure enough colours + if len(chosen_colors) < desired: + return Score.score(colors_to_population, False) + return chosen_primaries, chosen_colors -- cgit v1.2.3-freya From 796d538b168855ebd2afd62278800151816adcab Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Fri, 13 Jun 2025 00:42:46 +1000 Subject: feat: impl screenshot command --- src/caelestia/parser.py | 2 +- src/caelestia/subcommands/screenshot.py | 69 ++++++++++++++++++++++++++++++++- src/caelestia/subcommands/toggle.py | 14 +------ src/caelestia/utils/paths.py | 3 ++ 4 files changed, 74 insertions(+), 14 deletions(-) diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index f8c7bac..02ac3b9 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -60,7 +60,7 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): # Create parser for screenshot opts screenshot_parser = command_parser.add_parser("screenshot", help="take a screenshot") screenshot_parser.set_defaults(cls=screenshot.Command) - screenshot_parser.add_argument("-r", "--region", help="take a screenshot of a region") + screenshot_parser.add_argument("-r", "--region", nargs="?", const="slurp", help="take a screenshot of a region") screenshot_parser.add_argument( "-f", "--freeze", action="store_true", help="freeze the screen while selecting a region" ) diff --git a/src/caelestia/subcommands/screenshot.py b/src/caelestia/subcommands/screenshot.py index 37f9a2b..73d65f7 100644 --- a/src/caelestia/subcommands/screenshot.py +++ b/src/caelestia/subcommands/screenshot.py @@ -1,4 +1,9 @@ +import subprocess from argparse import Namespace +from datetime import datetime + +from caelestia.utils import hypr +from caelestia.utils.paths import screenshots_cache_dir, screenshots_dir class Command: @@ -8,4 +13,66 @@ class Command: self.args = args def run(self) -> None: - pass + if self.args.region: + self.region() + else: + self.fullscreen() + + def region(self) -> None: + freeze_proc = None + + if self.args.freeze: + freeze_proc = subprocess.Popen(["wayfreeze", "--hide-cursor"]) + + if self.args.region == "slurp": + ws = hypr.message("activeworkspace")["id"] + geoms = [ + f"{','.join(map(str, c['at']))} {'x'.join(map(str, c['size']))}" + for c in hypr.message("clients") + if c["workspace"]["id"] == ws + ] + region = subprocess.check_output(["slurp"], input="\n".join(geoms), text=True) + else: + region = self.args.region + + sc_data = subprocess.check_output(["grim", "-l", "0", "-g", region.strip(), "-"]) + swappy = subprocess.Popen(["swappy", "-f", "-"], stdin=subprocess.PIPE, start_new_session=True) + swappy.stdin.write(sc_data) + swappy.stdin.close() + + if freeze_proc: + freeze_proc.kill() + + def fullscreen(self) -> None: + sc_data = subprocess.check_output(["grim", "-"]) + + subprocess.run(["wl-copy"], input=sc_data) + + dest = screenshots_cache_dir / datetime.now().strftime("%Y%m%d%H%M%S") + screenshots_cache_dir.mkdir(exist_ok=True, parents=True) + dest.write_bytes(sc_data) + + action = subprocess.check_output( + [ + "notify-send", + "-i", + "image-x-generic-symbolic", + "-h", + f"STRING:image-path:{dest}", + "-a", + "caelestia-cli", + "--action=open=Open", + "--action=save=Save", + "Screenshot taken", + f"Screenshot stored in {dest} and copied to clipboard", + ], + text=True, + ).strip() + + if action == "open": + subprocess.Popen(["swappy", "-f", dest], start_new_session=True) + elif action == "save": + new_dest = (screenshots_dir / dest.name).with_suffix(".png") + new_dest.parent.mkdir(exist_ok=True, parents=True) + dest.rename(new_dest) + subprocess.run(["notify-send", "Screenshot saved", f"Saved to {new_dest}"]) diff --git a/src/caelestia/subcommands/toggle.py b/src/caelestia/subcommands/toggle.py index fd49c30..b8ad11b 100644 --- a/src/caelestia/subcommands/toggle.py +++ b/src/caelestia/subcommands/toggle.py @@ -1,3 +1,4 @@ +import subprocess from argparse import Namespace from caelestia.utils import hypr @@ -6,7 +7,6 @@ from caelestia.utils import hypr class Command: args: Namespace clients: list[dict[str, any]] = None - app2unit: str = None def __init__(self, args: Namespace) -> None: self.args = args @@ -20,14 +20,6 @@ class Command: return self.clients - def get_app2unit(self) -> str: - if self.app2unit is None: - import shutil - - self.app2unit = shutil.which("app2unit") - - return self.app2unit - def move_client(self, selector: callable, workspace: str) -> None: for client in self.get_clients(): if selector(client): @@ -37,9 +29,7 @@ class Command: exists = any(selector(client) for client in self.get_clients()) if not exists: - import subprocess - - subprocess.Popen([self.get_app2unit(), "--", *spawn], start_new_session=True) + subprocess.Popen(["app2unit", "--", *spawn], start_new_session=True) return not exists diff --git a/src/caelestia/utils/paths.py b/src/caelestia/utils/paths.py index 37aeeef..6a98dae 100644 --- a/src/caelestia/utils/paths.py +++ b/src/caelestia/utils/paths.py @@ -28,6 +28,9 @@ wallpaper_link_path = c_state_dir / "wallpaper/current" wallpaper_thumbnail_path = c_state_dir / "wallpaper/thumbnail.jpg" wallpapers_cache_dir = c_cache_dir / "wallpapers" +screenshots_dir = Path.home() / "Pictures/Screenshots" +screenshots_cache_dir = c_cache_dir / "screenshots" + def compute_hash(path: Path | str) -> str: sha = hashlib.sha256() -- cgit v1.2.3-freya From ec4bd7826a8cfef14f231fdca87bf6cd5f0fd4cf Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Fri, 13 Jun 2025 14:39:33 +1000 Subject: internal: fix file perms --- src/caelestia/utils/material/generator.py | 0 src/caelestia/utils/material/score.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 src/caelestia/utils/material/generator.py mode change 100755 => 100644 src/caelestia/utils/material/score.py diff --git a/src/caelestia/utils/material/generator.py b/src/caelestia/utils/material/generator.py old mode 100755 new mode 100644 diff --git a/src/caelestia/utils/material/score.py b/src/caelestia/utils/material/score.py old mode 100755 new mode 100644 -- cgit v1.2.3-freya From 9da9d7bb1b254d5d94265bda5e052ca4feee1b9a Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Fri, 13 Jun 2025 14:50:25 +1000 Subject: wallpaper: fix when no wall --- src/caelestia/subcommands/wallpaper.py | 2 +- src/caelestia/utils/wallpaper.py | 21 ++++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/caelestia/subcommands/wallpaper.py b/src/caelestia/subcommands/wallpaper.py index 1440484..940dcb5 100644 --- a/src/caelestia/subcommands/wallpaper.py +++ b/src/caelestia/subcommands/wallpaper.py @@ -18,4 +18,4 @@ class Command: elif self.args.random: set_random(self.args) else: - print(get_wallpaper()) + print(get_wallpaper() or "No wallpaper set") diff --git a/src/caelestia/utils/wallpaper.py b/src/caelestia/utils/wallpaper.py index 1146c73..0a666be 100644 --- a/src/caelestia/utils/wallpaper.py +++ b/src/caelestia/utils/wallpaper.py @@ -31,7 +31,10 @@ def check_wall(wall: Path, filter_size: tuple[int, int], threshold: float) -> bo def get_wallpaper() -> str: - return wallpaper_path_path.read_text() + try: + return wallpaper_path_path.read_text() + except IOError: + return None def get_wallpapers(args: Namespace) -> list[Path]: @@ -71,17 +74,17 @@ def get_thumb(wall: Path, cache: Path) -> Path: def get_smart_mode(wall: Path, cache: Path) -> str: mode_cache = cache / "mode.txt" - if mode_cache.exists(): + try: return mode_cache.read_text() + except IOError: + with Image.open(get_thumb(wall, cache)) as img: + img.thumbnail((1, 1), Image.LANCZOS) + mode = "light" if Hct.from_int(argb_from_rgb(*img.getpixel((0, 0)))).tone > 60 else "dark" - with Image.open(get_thumb(wall, cache)) as img: - img.thumbnail((1, 1), Image.LANCZOS) - mode = "light" if Hct.from_int(argb_from_rgb(*img.getpixel((0, 0)))).tone > 60 else "dark" + mode_cache.parent.mkdir(parents=True, exist_ok=True) + mode_cache.write_text(mode) - mode_cache.parent.mkdir(parents=True, exist_ok=True) - mode_cache.write_text(mode) - - return mode + return mode def get_colours_for_wall(wall: Path | str, no_smart: bool) -> None: -- cgit v1.2.3-freya From b805f8d67725352817d248562683cb90bf314401 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 14 Jun 2025 02:11:10 +1000 Subject: feat: impl recording subcommand --- src/caelestia/parser.py | 2 +- src/caelestia/subcommands/record.py | 113 +++++++++++++++++++++++++++++++++++- src/caelestia/utils/paths.py | 4 ++ 3 files changed, 117 insertions(+), 2 deletions(-) diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index 02ac3b9..6d0b552 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -68,7 +68,7 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): # Create parser for record opts record_parser = command_parser.add_parser("record", help="start a screen recording") record_parser.set_defaults(cls=record.Command) - record_parser.add_argument("-r", "--region", action="store_true", help="record a region") + record_parser.add_argument("-r", "--region", nargs="?", const="slurp", help="record a region") record_parser.add_argument("-s", "--sound", action="store_true", help="record audio") # Create parser for clipboard opts diff --git a/src/caelestia/subcommands/record.py b/src/caelestia/subcommands/record.py index 37f9a2b..a4fa51d 100644 --- a/src/caelestia/subcommands/record.py +++ b/src/caelestia/subcommands/record.py @@ -1,4 +1,9 @@ +import subprocess +import time from argparse import Namespace +from datetime import datetime + +from caelestia.utils.paths import recording_notif_path, recording_path, recordings_dir class Command: @@ -8,4 +13,110 @@ class Command: self.args = args def run(self) -> None: - pass + proc = subprocess.run(["pidof", "wl-screenrec"]) + if proc.returncode == 0: + self.stop() + else: + self.start() + + def start(self) -> None: + args = [] + + if self.args.region: + if self.args.region == "slurp": + region = subprocess.check_output(["slurp"], text=True) + else: + region = self.args.region + args += ["-g", region.strip()] + + if self.args.sound: + sources = subprocess.check_output(["pactl", "list", "short", "sources"], text=True).splitlines() + for source in sources: + if "RUNNING" in source: + args += ["--audio", "--audio-device", source.split()[1]] + break + else: + raise ValueError("No audio source found") + + proc = subprocess.Popen( + ["wl-screenrec", *args, "--codec", "hevc", "-f", recording_path], + stderr=subprocess.PIPE, + text=True, + start_new_session=True, + ) + + # Send notif if proc hasn't ended after a small delay + time.sleep(0.1) + if proc.poll() is None: + notif = subprocess.check_output( + ["notify-send", "-p", "-a", "caelestia-cli", "Recording started", "Recording..."], text=True + ).strip() + recording_notif_path.write_text(notif) + else: + subprocess.run( + [ + "notify-send", + "-a", + "caelestia-cli", + "Recording failed", + f"Recording failed to start: {proc.communicate()[1]}", + ] + ) + + def stop(self) -> None: + subprocess.run(["pkill", "wl-screenrec"]) + + # Move to recordings folder + new_path = recordings_dir / f"recording_{datetime.now().strftime('%Y%m%d_%H-%M-%S')}.mp4" + recording_path.rename(new_path) + + # Close start notification + try: + notif = recording_notif_path.read_text() + subprocess.run( + [ + "gdbus", + "call", + "--session", + "--dest=org.freedesktop.Notifications", + "--object-path=/org/freedesktop/Notifications", + "--method=org.freedesktop.Notifications.CloseNotification", + notif, + ] + ) + except IOError: + pass + + action = subprocess.check_output( + [ + "notify-send", + "-a", + "caelestia-cli", + "--action=watch=Watch", + "--action=open=Open", + "--action=delete=Delete", + "Recording stopped", + f"Recording saved in {new_path}", + ], + text=True, + ).strip() + + if action == "watch": + subprocess.Popen(["app2unit", "-O", new_path], start_new_session=True) + elif action == "open": + p = subprocess.run( + [ + "dbus-send", + "--session", + "--dest=org.freedesktop.FileManager1", + "--type=method_call", + "/org/freedesktop/FileManager1", + "org.freedesktop.FileManager1.ShowItems", + f"array:string:file://{new_path}", + "string:", + ] + ) + if p.returncode != 0: + subprocess.Popen(["app2unit", "-O", new_path.parent], start_new_session=True) + elif action == "delete": + new_path.unlink() diff --git a/src/caelestia/utils/paths.py b/src/caelestia/utils/paths.py index 6a98dae..a4ef36f 100644 --- a/src/caelestia/utils/paths.py +++ b/src/caelestia/utils/paths.py @@ -31,6 +31,10 @@ wallpapers_cache_dir = c_cache_dir / "wallpapers" screenshots_dir = Path.home() / "Pictures/Screenshots" screenshots_cache_dir = c_cache_dir / "screenshots" +recordings_dir = Path.home() / "Videos/Recordings" +recording_path = c_state_dir / "record/recording.mp4" +recording_notif_path = c_state_dir / "record/notifid.txt" + def compute_hash(path: Path | str) -> str: sha = hashlib.sha256() -- cgit v1.2.3-freya From 15c47a622dfce8c860fffd92f2336a9e2917f697 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 14 Jun 2025 15:03:58 +1000 Subject: feat: impl clipboard subcommand --- src/caelestia/subcommands/clipboard.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/caelestia/subcommands/clipboard.py b/src/caelestia/subcommands/clipboard.py index 37f9a2b..c0eddb5 100644 --- a/src/caelestia/subcommands/clipboard.py +++ b/src/caelestia/subcommands/clipboard.py @@ -1,3 +1,4 @@ +import subprocess from argparse import Namespace @@ -8,4 +9,17 @@ class Command: self.args = args def run(self) -> None: - pass + clip = subprocess.check_output(["cliphist", "list"]) + + if self.args.delete: + args = ["--prompt=del > ", "--placeholder=Delete from clipboard"] + else: + args = ["--placeholder=Type to search clipboard"] + + chosen = subprocess.check_output(["fuzzel", "--dmenu", *args], input=clip) + + if self.args.delete: + subprocess.run(["cliphist", "delete"], input=chosen) + else: + decoded = subprocess.check_output(["cliphist", "decode"], input=chosen) + subprocess.run(["wl-copy"], input=decoded) -- cgit v1.2.3-freya From 427b9185a8eb9ee413899bb8891e91acc2557fb8 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 14 Jun 2025 15:08:03 +1000 Subject: feat: impl emoji picker subcommand --- src/caelestia/subcommands/emoji.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/caelestia/subcommands/emoji.py b/src/caelestia/subcommands/emoji.py index 37f9a2b..f04b502 100644 --- a/src/caelestia/subcommands/emoji.py +++ b/src/caelestia/subcommands/emoji.py @@ -1,5 +1,8 @@ +import subprocess from argparse import Namespace +from caelestia.utils.paths import cli_data_dir + class Command: args: Namespace @@ -8,4 +11,8 @@ class Command: self.args = args def run(self) -> None: - pass + emojis = (cli_data_dir / "emojis.txt").read_text() + chosen = subprocess.check_output( + ["fuzzel", "--dmenu", "--placeholder=Type to search emojis"], input=emojis, text=True + ) + subprocess.run(["wl-copy"], input=chosen.split()[0], text=True) -- cgit v1.2.3-freya From 4409620ac7a6965259fc6407127799c468f5421c Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 14 Jun 2025 15:34:47 +1000 Subject: feat: impl pip subcommand --- src/caelestia/subcommands/pip.py | 35 ++++++++++++++++++++++++++++++++++- src/caelestia/utils/hypr.py | 4 +++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/caelestia/subcommands/pip.py b/src/caelestia/subcommands/pip.py index 37f9a2b..5f1b5fa 100644 --- a/src/caelestia/subcommands/pip.py +++ b/src/caelestia/subcommands/pip.py @@ -1,5 +1,9 @@ +import re +import socket from argparse import Namespace +from caelestia.utils import hypr + class Command: args: Namespace @@ -8,4 +12,33 @@ class Command: self.args = args def run(self) -> None: - pass + if self.args.daemon: + self.daemon() + else: + win = hypr.message("activewindow") + if win["floating"]: + self.handle_window(win["address"], win["workspace"]["name"]) + + def handle_window(self, address: str, ws: str) -> None: + mon_id = next(w for w in hypr.message("workspaces") if w["name"] == ws)["monitorID"] + mon = next(m for m in hypr.message("monitors") if m["id"] == mon_id) + width, height = next(c for c in hypr.message("clients") if c["address"] == address)["size"] + + scale_factor = mon["height"] / 4 / height + scaled_win_size = f"{int(width * scale_factor)} {int(height * scale_factor)}" + off = min(mon["width"], mon["height"]) * 0.03 + move_to = f"{int(mon['width'] - off - width * scale_factor)} {int(mon['height'] - off - height * scale_factor)}" + + hypr.dispatch("resizewindowpixel", "exact", f"{scaled_win_size},address:{address}") + hypr.dispatch("movewindowpixel", "exact", f"{move_to},address:{address}") + + def daemon(self) -> None: + with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock: + sock.connect(hypr.socket2_path) + + while True: + data = sock.recv(4096).decode() + if data.startswith("openwindow>>"): + address, ws, cls, title = data[12:].split(",") + if re.match(r"^[Pp]icture(-| )in(-| )[Pp]icture$", title): + self.handle_window(f"0x{address}", ws) diff --git a/src/caelestia/utils/hypr.py b/src/caelestia/utils/hypr.py index 3ba89cf..f89cd98 100644 --- a/src/caelestia/utils/hypr.py +++ b/src/caelestia/utils/hypr.py @@ -2,7 +2,9 @@ import json as j import os import socket -socket_path = f"{os.getenv('XDG_RUNTIME_DIR')}/hypr/{os.getenv('HYPRLAND_INSTANCE_SIGNATURE')}/.socket.sock" +socket_base = f"{os.getenv('XDG_RUNTIME_DIR')}/hypr/{os.getenv('HYPRLAND_INSTANCE_SIGNATURE')}" +socket_path = f"{socket_base}/.socket.sock" +socket2_path = f"{socket_base}/.socket2.sock" def message(msg: str, json: bool = True) -> str | dict[str, any]: -- cgit v1.2.3-freya From b5a91d3ca57d1369d0b7b502112c4b4c9849d26c Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 14 Jun 2025 15:42:20 +1000 Subject: internal: remove all legacy fish scripts --- .gitignore | 1 - README.md | 35 ++---- clipboard-delete.fish | 4 - clipboard.fish | 4 - emoji-picker.fish | 4 - install/btop.fish | 16 --- install/discord.fish | 26 ----- install/firefox.fish | 36 ------ install/fish.fish | 24 ---- install/foot.fish | 14 --- install/fuzzel.fish | 15 --- install/gtk.fish | 23 ---- install/hypr.fish | 32 ------ install/qt.fish | 20 ---- install/safeeyes.fish | 34 ------ install/scripts.fish | 21 ---- install/shell.fish | 42 ------- install/slurp.fish | 18 --- install/spicetify.fish | 24 ---- install/util.fish | 148 ------------------------- install/vscode.fish | 33 ------ main.fish | 115 ------------------- pip.fish | 61 ----------- record.fish | 99 ----------------- scheme/autoadjust.py | 256 ------------------------------------------- scheme/gen-print-scheme.fish | 36 ------ scheme/gen-scheme.fish | 33 ------ scheme/main.fish | 81 -------------- scheme/score.py | 134 ---------------------- screenshot.fish | 41 ------- toggles/specialws.fish | 10 -- toggles/util.fish | 42 ------- util.fish | 51 --------- wallpaper.fish | 122 --------------------- workspace-action.sh | 11 -- 35 files changed, 9 insertions(+), 1657 deletions(-) delete mode 100755 clipboard-delete.fish delete mode 100755 clipboard.fish delete mode 100755 emoji-picker.fish delete mode 100755 install/btop.fish delete mode 100755 install/discord.fish delete mode 100755 install/firefox.fish delete mode 100755 install/fish.fish delete mode 100755 install/foot.fish delete mode 100755 install/fuzzel.fish delete mode 100755 install/gtk.fish delete mode 100755 install/hypr.fish delete mode 100755 install/qt.fish delete mode 100755 install/safeeyes.fish delete mode 100755 install/scripts.fish delete mode 100755 install/shell.fish delete mode 100755 install/slurp.fish delete mode 100755 install/spicetify.fish delete mode 100644 install/util.fish delete mode 100755 install/vscode.fish delete mode 100755 main.fish delete mode 100755 pip.fish delete mode 100755 record.fish delete mode 100755 scheme/autoadjust.py delete mode 100755 scheme/gen-print-scheme.fish delete mode 100755 scheme/gen-scheme.fish delete mode 100755 scheme/main.fish delete mode 100755 scheme/score.py delete mode 100755 screenshot.fish delete mode 100755 toggles/specialws.fish delete mode 100644 toggles/util.fish delete mode 100644 util.fish delete mode 100755 wallpaper.fish delete mode 100755 workspace-action.sh diff --git a/.gitignore b/.gitignore index 19faf38..9d018c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -/data/schemes/dynamic/ __pycache__/ /dist/ diff --git a/README.md b/README.md index 3dfd494..607331d 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,17 @@ -# caelestia-scripts +# caelestia-cli -A collection of scripts for my caelestia dotfiles. +The main control script for the Caelestia dotfiles. ## Installation -Clone this repo. +### Package manager -Run `install/scripts.fish`. -`~/.local/bin` must be in your path. +TODO + +### Manual installation + +TODO ## Usage -``` -> caelestia help -Usage: caelestia COMMAND [ ...args ] - -COMMAND := help | install | shell | toggle | workspace-action | scheme | screenshot | record | clipboard | clipboard-delete | emoji-picker | wallpaper | pip - - help: show this help message - install: install a module - shell: start the shell or message it - toggle: toggle a special workspace - workspace-action: execute a Hyprland workspace dispatcher in the current group - scheme: change the current colour scheme - variant: change the current scheme variant - screenshot: take a screenshot - record: take a screen recording - clipboard: open clipboard history - clipboard-delete: delete an item from clipboard history - emoji-picker: open the emoji picker - wallpaper: change the wallpaper - pip: move the focused window into picture in picture mode or start the pip daemon -``` +TODO diff --git a/clipboard-delete.fish b/clipboard-delete.fish deleted file mode 100755 index b0212bb..0000000 --- a/clipboard-delete.fish +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env fish - -set -l chosen_item (cliphist list | fuzzel --dmenu --prompt='del > ' --placeholder='Delete from clipboard') -test -n "$chosen_item" && echo "$chosen_item" | cliphist delete diff --git a/clipboard.fish b/clipboard.fish deleted file mode 100755 index 579071d..0000000 --- a/clipboard.fish +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env fish - -set -l chosen_item (cliphist list | fuzzel --dmenu --placeholder='Type to search clipboard') -test -n "$chosen_item" && echo "$chosen_item" | cliphist decode | wl-copy diff --git a/emoji-picker.fish b/emoji-picker.fish deleted file mode 100755 index 4f2283c..0000000 --- a/emoji-picker.fish +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env fish - -set -l chosen_item (cat (dirname (status filename))/data/emojis.txt | fuzzel --dmenu --placeholder='Type to search emojis') -test -n "$chosen_item" && echo "$chosen_item" | cut -d ' ' -f 1 | tr -d '\n' | wl-copy diff --git a/install/btop.fish b/install/btop.fish deleted file mode 100755 index 3b3bcb4..0000000 --- a/install/btop.fish +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git btop - -set -l dist $CONFIG/btop - -# Update/Clone repo -update-repo btop $dist -sed -i 's|$SRC|'$dist'|g' $dist/btop.conf - -# Install systemd service -setup-systemd-monitor btop $dist - -log 'Done.' diff --git a/install/discord.fish b/install/discord.fish deleted file mode 100755 index a01538f..0000000 --- a/install/discord.fish +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git discord equicord-installer-bin -sudo Equilotl -install -location /opt/discord -sudo Equilotl -install-openasar -location /opt/discord - -set -l dist $C_DATA/discord - -# Update/Clone repo -update-repo discord $dist - -# Install systemd service -setup-systemd-monitor discord $dist - -# Link themes to client configs -set -l clients Vencord Equicord discord vesktop equibop legcord $argv -for client in $clients - if test -d $CONFIG/$client - log "Linking themes for $client" - install-link $dist/themes $CONFIG/$client/themes - end -end - -log 'Done.' diff --git a/install/firefox.fish b/install/firefox.fish deleted file mode 100755 index 5458fdd..0000000 --- a/install/firefox.fish +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git inotify-tools - -set -l dist $C_DATA/firefox - -# Update/Clone repo -update-repo firefox $dist - -# Install native app manifest -for dev in mozilla zen - if test -d $HOME/.$dev - mkdir -p $HOME/.$dev/native-messaging-hosts - cp $dist/native_app/manifest.json $HOME/.$dev/native-messaging-hosts/caelestiafox.json - sed -i "s|\$SRC|$dist|g" $HOME/.$dev/native-messaging-hosts/caelestiafox.json - end -end - -# Install zen css -if test -d $HOME/.zen - for profile in $HOME/.zen/*/chrome - for file in userChrome userContent - if test -f $profile/$file.css - set -l imp "@import url('$dist/zen/$file.css');" - grep -qFx $imp $profile/$file.css || printf '%s\n%s' $imp "$(cat $profile/$file.css)" > $profile/$file.css - else - echo "@import url('$dist/zen/$file.css');" > $profile/$file.css - end - end - end -end - -log 'Done.' -log 'Please install the extension manually from https://addons.mozilla.org/en-US/firefox/addon/caelestiafox' diff --git a/install/fish.fish b/install/fish.fish deleted file mode 100755 index 2bcc292..0000000 --- a/install/fish.fish +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git starship fastfetch - -set -l dist $C_DATA/fish - -# Update/Clone repo -update-repo fish $dist - -# Install fish config -install-link $dist/config.fish $CONFIG/fish/config.fish - -# Install fish greeting -install-link $dist/fish_greeting.fish $CONFIG/fish/functions/fish_greeting.fish - -# Install starship config -install-link $dist/starship.toml $CONFIG/starship.toml - -# Install fastfetch config -install-link $dist/fastfetch.jsonc $CONFIG/fastfetch/config.jsonc - -log 'Done.' diff --git a/install/foot.fish b/install/foot.fish deleted file mode 100755 index 67e682b..0000000 --- a/install/foot.fish +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git foot inotify-tools - -set -l dist $CONFIG/foot - -update-repo foot $dist -sed -i 's|$SRC|'$dist'|g' $dist/foot.ini - -install-link $dist/foot.fish ~/.local/bin/foot - -log 'Done.' diff --git a/install/fuzzel.fish b/install/fuzzel.fish deleted file mode 100755 index 915e46b..0000000 --- a/install/fuzzel.fish +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git fuzzel-git - -set -l dist $CONFIG/fuzzel - -# Clone repo -update-repo fuzzel $dist - -# Install systemd service -setup-systemd-monitor fuzzel $dist - -log 'Done.' diff --git a/install/gtk.fish b/install/gtk.fish deleted file mode 100755 index d1c999f..0000000 --- a/install/gtk.fish +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git adw-gtk-theme -install-optional-deps 'papirus-icon-theme (icon theme)' - -set -l dist $C_DATA/gtk - -# Update/Clone repo -update-repo gtk $dist - -# Install systemd service -setup-systemd-monitor gtk $dist - -# Set theme -gsettings set org.gnome.desktop.interface gtk-theme \'adw-gtk3-dark\' -if pacman -Q papirus-icon-theme &> /dev/null && test "$(gsettings get org.gnome.desktop.interface icon-theme | cut -d - -f 1 | string sub -s 2)" != Papirus - read -l -p "input 'Set icon theme to Papirus? [Y/n] ' -n" confirm - test "$confirm" = 'n' -o "$confirm" = 'N' || gsettings set org.gnome.desktop.interface icon-theme \'Papirus-Dark\' -end - -log 'Done.' diff --git a/install/hypr.fish b/install/hypr.fish deleted file mode 100755 index 44d2f5a..0000000 --- a/install/hypr.fish +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git uwsm hyprland-git hyprpaper-git hyprlock-git hypridle-git polkit-gnome gnome-keyring wl-clipboard wireplumber app2unit-git -install-optional-deps 'gammastep (night light)' 'wlogout (secondary session menu)' 'grimblast-git (screenshot freeze)' 'hyprpicker-git (colour picker)' 'foot (terminal emulator)' 'firefox (web browser)' 'vscodium-bin (IDE)' 'thunar (file manager)' 'nemo (secondary file manager)' 'fuzzel (secondary app launcher)' 'ydotool (alternate paste)' 'trash-cli (auto trash)' - -set -l hypr $CONFIG/hypr - -# Cause hyprland autogenerates a config file when it is removed -set -l remote https://github.com/caelestia-dots/hypr.git -if test -d $hypr - cd $hypr || exit - if test "$(git config --get remote.origin.url)" != $remote - cd .. || exit - confirm-overwrite $hypr dummy - git clone $remote /tmp/caelestia-hypr - rm -rf $hypr && mv /tmp/caelestia-hypr $hypr - else - git pull - end -else - git clone $remote $dir -end - -# Install uwsm envs -install-link $hypr/uwsm $CONFIG/uwsm - -# Enable ydotool if installed -pacman -Q ydotool &> /dev/null && systemctl --user enable --now ydotool.service - -log 'Done.' diff --git a/install/qt.fish b/install/qt.fish deleted file mode 100755 index 08ed1a0..0000000 --- a/install/qt.fish +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git darkly-bin -install-optional-deps 'papirus-icon-theme (icon theme)' - -set -l dist $C_DATA/qt - -# Update/Clone repo -update-repo qt $dist - -# Install systemd service -setup-systemd-monitor qt $dist - -# Change settings -confirm-copy $dist/qtct.conf $CONFIG/qt5ct/qt5ct.conf -confirm-copy $dist/qtct.conf $CONFIG/qt6ct/qt6ct.conf - -log 'Done.' diff --git a/install/safeeyes.fish b/install/safeeyes.fish deleted file mode 100755 index bbea62b..0000000 --- a/install/safeeyes.fish +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git dart-sass aylurs-gtk-shell-git alsa-utils libappindicator-gtk3 - -# Update/Clone repo -update-repo safeeyes $C_DATA/safeeyes - -if which systemctl &> /dev/null - log 'Installing systemd service...' - - set -l systemd $CONFIG/systemd/user - mkdir -p $systemd - echo -n " -[Unit] -Description=Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder. -After=graphical-session.target - -[Service] -Type=exec -ExecStart=/usr/bin/ags run -d $C_DATA/safeeyes -Restart=on-failure -Slice=app-graphical.slice - -[Install] -WantedBy=graphical-session.target -" > $systemd/caelestia-safeeyes.service - - systemctl --user daemon-reload - systemctl --user enable --now caelestia-safeeyes.service -end - -log 'Done.' diff --git a/install/scripts.fish b/install/scripts.fish deleted file mode 100755 index 4afa66b..0000000 --- a/install/scripts.fish +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git hyprland-git hyprpaper-git imagemagick wl-clipboard fuzzel-git socat foot jq python xdg-user-dirs python-materialyoucolor-git app2unit-git grim wayfreeze-git wl-screenrec -install-optional-deps 'discord (messaging app)' 'btop (system monitor)' 'zen-browser (web browser)' - -set -l dist $C_DATA/scripts - -# Update/Clone repo -update-repo scripts $dist - -# Install to path -install-link $dist/main.fish ~/.local/bin/caelestia - -# Install completions -test -e $CONFIG/fish/completions/caelestia.fish && rm $CONFIG/fish/completions/caelestia.fish -mkdir -p $CONFIG/fish/completions -cp $dist/completions/caelestia.fish $CONFIG/fish/completions/caelestia.fish - -log 'Done.' diff --git a/install/shell.fish b/install/shell.fish deleted file mode 100755 index e857c18..0000000 --- a/install/shell.fish +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -if ! pacman -Q lm_sensors > /dev/null - sudo pacman -S --noconfirm lm_sensors - sudo sensors-detect --auto -end - -install-deps git quickshell curl jq ttf-material-symbols-variable-git ttf-jetbrains-mono-nerd ttf-ibm-plex app2unit-git fd fish python-aubio python-pyaudio python-numpy cava networkmanager bluez-utils ddcutil brightnessctl imagemagick -install-optional-deps 'uwsm (for systems using uwsm)' - -set -l shell $C_DATA/shell - -# Update/Clone repo -update-repo shell $shell - -if which systemctl &> /dev/null - log 'Installing systemd service...' - - set -l systemd $CONFIG/systemd/user - mkdir -p $systemd - echo -n " -[Unit] -Description=A very segsy desktop shell. -After=graphical-session.target - -[Service] -Type=exec -ExecStart=$shell/run.fish -Restart=on-failure -Slice=app-graphical.slice - -[Install] -WantedBy=graphical-session.target -" > $systemd/caelestia-shell.service - - systemctl --user daemon-reload - systemctl --user enable --now caelestia-shell.service -end - -log 'Done.' diff --git a/install/slurp.fish b/install/slurp.fish deleted file mode 100755 index 56be19e..0000000 --- a/install/slurp.fish +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git slurp - -set -l dist $C_DATA/slurp - -# Clone repo -update-repo slurp $dist - -# Install systemd service -setup-systemd-monitor slurp $dist - -# Install to path -install-link $dist/slurp ~/.local/bin/slurp - -log 'Done.' diff --git a/install/spicetify.fish b/install/spicetify.fish deleted file mode 100755 index 912371b..0000000 --- a/install/spicetify.fish +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git spicetify-cli spicetify-marketplace-bin - -set -l dist $C_DATA/spicetify - -# Clone repo -update-repo spicetify $dist - -# Install systemd service -setup-systemd-monitor spicetify $dist - -# Install theme files -mkdir -p $CONFIG/spicetify/Themes/caelestia -cp $dist/color.ini $CONFIG/spicetify/Themes/caelestia/color.ini -cp $dist/user.css $CONFIG/spicetify/Themes/caelestia/user.css - -# Set spicetify theme -spicetify config current_theme caelestia color_scheme caelestia - -# Setup marketplace -spicetify config custom_apps marketplace diff --git a/install/util.fish b/install/util.fish deleted file mode 100644 index 9b258e0..0000000 --- a/install/util.fish +++ /dev/null @@ -1,148 +0,0 @@ -. (dirname (status filename))/../util.fish - -function confirm-overwrite -a path - if test -e $path -o -L $path - read -l -p "input '$(realpath $path 2> /dev/null || echo $path) already exists. Overwrite? [y/N] ' -n" confirm - if test "$confirm" = 'y' -o "$confirm" = 'Y' - log 'Continuing.' - test -z "$argv[2]" && rm -rf $path # If a second arg is provided, don't delete - else - log 'Exiting.' - exit - end - end -end - -function install-deps - # All dependencies already installed - pacman -Q $argv &> /dev/null && return - - for dep in $argv - # Skip if already installed - if ! pacman -Q $dep &> /dev/null - # If pacman can install it, use it, otherwise use an AUR helper - if pacman -Si $dep &> /dev/null - log "Installing dependency '$dep'" - sudo pacman -S --noconfirm $dep - else - # Get AUR helper or install if none - which yay &> /dev/null && set -l helper yay || set -l helper paru - if ! which $helper &> /dev/null - warn 'No AUR helper found' - read -l -p "input 'Install yay? [Y/n] ' -n" confirm - if test "$confirm" = 'n' -o "$confirm" = 'N' - warn "Manually install yay or paru and try again." - warn "Alternatively, install the dependencies '$argv' manually and try again." - exit - else - sudo pacman -S --needed git base-devel - git clone https://aur.archlinux.org/yay.git - cd yay - makepkg -si - cd .. - rm -rf yay - - # First use, see https://github.com/Jguer/yay?tab=readme-ov-file#first-use - yay -Y --gendb - yay -Y --devel --save - end - end - - log "Installing dependency '$dep'" - $helper -S --noconfirm $dep - end - end - end -end - -function install-optional-deps - for dep in $argv - set -l dep_name (string split -f 1 ' ' $dep) - if ! pacman -Q $dep_name &> /dev/null - read -l -p "input 'Install $dep? [Y/n] ' -n" confirm - test "$confirm" != 'n' -a "$confirm" != 'N' && install-deps $dep_name - end - end -end - -function update-repo -a module dir - set -l remote https://github.com/caelestia-dots/$module.git - if test -d $dir - cd $dir || exit - - # Delete and clone if it's a different git repo - if test "$(git config --get remote.origin.url)" != $remote - cd .. || exit - confirm-overwrite $dir - git clone $remote $dir - else - # Check for uncommitted changes - if test -n "$(git status --porcelain)" - read -l -p "input 'You have uncommitted changes in $dir. Stash, reset or exit? [S/r/e] ' -n" confirm - - if test "$confirm" = 'e' -o "$confirm" = 'E' - log 'Exiting...' - exit - end - - if test "$confirm" = 'r' -o "$confirm" = 'R' - log 'Resetting to HEAD...' - git reset --hard - else - log 'Stashing changes...' - git stash - end - end - - git pull - end - else - git clone $remote $dir - end -end - -function setup-systemd-monitor -a module dir - set -l systemd $CONFIG/systemd/user - if which systemctl &> /dev/null - log 'Installing systemd service...' - - mkdir -p $systemd - echo "[Unit] -Description=Sync $module and caelestia schemes - -[Service] -Type=oneshot -ExecStart=$dir/monitor/update.fish" > $systemd/$module-monitor-scheme.service - echo "[Unit] -Description=Sync $module and caelestia schemes (monitor) - -[Path] -PathModified=%S/caelestia/scheme/current.txt -Unit=$module-monitor-scheme.service - -[Install] -WantedBy=default.target" > $systemd/$module-monitor-scheme.path - - systemctl --user daemon-reload - systemctl --user enable --now $module-monitor-scheme.path - systemctl --user start $module-monitor-scheme.service - end -end - -function install-link -a from to - if ! test -L $to -a "$(realpath $to 2> /dev/null)" = $from - mkdir -p (dirname $to) - confirm-overwrite $to - ln -s $from $to - end -end - -function confirm-copy -a from to - test -L $to -a "$(realpath $to 2> /dev/null)" = (realpath $from) && return # Return if symlink - cmp $from $to &> /dev/null && return # Return if files are the same - if test -e $to - read -l -p "input '$(realpath $to) already exists. Overwrite? [y/N] ' -n" confirm - test "$confirm" = 'y' -o "$confirm" = 'Y' && log 'Continuing.' || return - end - cp $from $to -end diff --git a/install/vscode.fish b/install/vscode.fish deleted file mode 100755 index 32b9fcb..0000000 --- a/install/vscode.fish +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -install-deps git - -set -l dist $C_DATA/vscode - -# Update/Clone repo -update-repo vscode $dist - -# Install settings -for prog in 'Code' 'Code - OSS' 'VSCodium' - set -l conf $CONFIG/$prog - if test -d $conf - confirm-copy $dist/settings.json $conf/User/settings.json - confirm-copy $dist/keybindings.json $conf/User/keybindings.json - end -end - -# Install extension -for prog in code code-insiders codium - if which $prog &> /dev/null - log "Installing extensions for '$prog'" - if ! contains 'catppuccin.catppuccin-vsc-icons' ($prog --list-extensions) - read -l -p "input 'Install catppuccin icons (for light/dark integration)? [Y/n] ' -n" confirm - test "$confirm" = 'n' -o "$confirm" = 'N' || $prog --install-extension catppuccin.catppuccin-vsc-icons - end - $prog --install-extension $dist/caelestia-vscode-integration/caelestia-vscode-integration-*.vsix - end -end - -log 'Done.' diff --git a/main.fish b/main.fish deleted file mode 100755 index 7522540..0000000 --- a/main.fish +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env fish - -set -l src (dirname (realpath (status filename))) - -. $src/util.fish - -if test "$argv[1]" = shell - # Start shell if no args - if test -z "$argv[2..]" - if qs list --all | grep "Config path: $C_DATA/shell/shell.qml" &> /dev/null - warn 'Shell already running' - else - $C_DATA/shell/run.fish - end - else - if test "$argv[2]" = help - qs -p $C_DATA/shell ipc show - exit - end - - if qs list --all | grep "Config path: $C_DATA/shell/shell.qml" &> /dev/null - qs -p $C_DATA/shell ipc call $argv[2..] - else - warn 'Shell unavailable' - end - end - exit -end - -if test "$argv[1]" = toggle - set -l valid_toggles communication music sysmon specialws todo - if contains -- "$argv[2]" $valid_toggles - if test $argv[2] = specialws - $src/toggles/specialws.fish - else - . $src/toggles/util.fish - toggle-workspace $argv[2] - end - else - error "Invalid toggle: $argv[2]" - end - - exit -end - -if test "$argv[1]" = workspace-action - $src/workspace-action.sh $argv[2..] - exit -end - -if test "$argv[1]" = scheme - if test "$argv[2]" = print - $src/scheme/gen-print-scheme.fish $argv[3..] - else - $src/scheme/main.fish $argv[2..] - end - exit -end - -if test "$argv[1]" = variant - set -l variants vibrant tonalspot expressive fidelity fruitsalad rainbow neutral content monochrome - if contains -- "$argv[2]" $variants - echo -n $argv[2] > $C_STATE/scheme/current-variant.txt - $src/scheme/gen-scheme.fish - else - error "Invalid variant: $argv[2]" - end - - exit -end - -if test "$argv[1]" = install - set -l valid_modules scripts btop discord firefox fish foot fuzzel hypr safeeyes shell slurp spicetify gtk qt vscode - if test "$argv[2]" = all - for module in $valid_modules - $src/install/$module.fish $argv[3..] - end - else - contains -- "$argv[2]" $valid_modules && $src/install/$argv[2].fish $argv[3..] || error "Invalid module: $argv[2]" - end - test -f $C_STATE/scheme/current.txt || $src/scheme/main.fish onedark # Init scheme after install or update - exit -end - -set -l valid_subcommands screenshot record clipboard clipboard-delete emoji-picker wallpaper pip - -if contains -- "$argv[1]" $valid_subcommands - $src/$argv[1].fish $argv[2..] - exit -end - -test "$argv[1]" != help && error "Unknown command: $argv[1]" - -echo 'Usage: caelestia COMMAND [ ...args ]' -echo -echo 'COMMAND := help | install | shell | toggle | workspace-action | scheme | screenshot | record | clipboard | clipboard-delete | emoji-picker | wallpaper | pip' -echo -echo ' help: show this help message' -echo ' install: install a module' -echo ' shell: start the shell or message it' -echo ' toggle: toggle a special workspace' -echo ' workspace-action: execute a Hyprland workspace dispatcher in the current group' -echo ' scheme: change the current colour scheme' -echo ' variant: change the current scheme variant' -echo ' screenshot: take a screenshot' -echo ' record: take a screen recording' -echo ' clipboard: open clipboard history' -echo ' clipboard-delete: delete an item from clipboard history' -echo ' emoji-picker: open the emoji picker' -echo ' wallpaper: change the wallpaper' -echo ' pip: move the focused window into picture in picture mode or start the pip daemon' - -# Set exit status -test "$argv[1]" = help -exit diff --git a/pip.fish b/pip.fish deleted file mode 100755 index 08fda6d..0000000 --- a/pip.fish +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env fish - -argparse -n 'caelestia-pip' -X 0 \ - 'h/help' \ - 'd/daemon' \ - -- $argv -or exit - -if set -q _flag_h - echo 'Usage:' - echo ' caelestia pip ( -h | --help )' - echo ' caelestia pip [ -d | --daemon ]' - echo - echo 'Options:' - echo ' -h, --help Print this help message and exit' - echo ' -d, --daemon Run this script in daemon mode' - echo - echo 'Normal mode (no args):' - echo ' Move and resize the active window to picture in picture default geometry.' - echo - echo 'Daemon mode:' - echo ' Set all picture in picture window initial geometry to default.' - - exit -end - -. (dirname (status filename))/util.fish - -function handle-window -a address workspace - set -l monitor_id (hyprctl workspaces -j | jq '.[] | select(.name == "'$workspace'").monitorID') - set -l monitor_size (hyprctl monitors -j | jq -r '.[] | select(.id == '$monitor_id') | "\(.width)\n\(.height)"') - set -l window_size (hyprctl clients -j | jq '.[] | select(.address == "'$address'").size[]') - set -l scale_factor (math $monitor_size[2] / 4 / $window_size[2]) - set -l scaled_window_size (math -s 0 $window_size[1] x $scale_factor) (math -s 0 $window_size[2] x $scale_factor) - - hyprctl dispatch "resizewindowpixel exact $scaled_window_size,address:$address" > /dev/null - hyprctl dispatch "movewindowpixel exact $(math -s 0 $monitor_size[1] x 0.98 - $scaled_window_size[1]) $(math -s 0 $monitor_size[2] x 0.97 - $scaled_window_size[2]),address:$address" > /dev/null - log "Handled window at address $address" -end - -if set -q _flag_d - log 'Daemon started' - socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock | while read line - switch $line - case 'openwindow*' - set -l window (string sub -s 13 $line | string split ',') - if string match -qr '^(Picture(-| )in(-| )[Pp]icture)$' $window[4] - handle-window 0x$window[1] $window[2] - end - end - end - - exit -end - -set -l active_window (hyprctl activewindow -j | jq -r '"\(.address)\n\(.workspace.name)\n\(.floating)"') -if test $active_window[3] = true - handle-window $active_window -else - warn 'Focused window is not floating, ignoring' -end diff --git a/record.fish b/record.fish deleted file mode 100755 index d7c292d..0000000 --- a/record.fish +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env fish - -function get-audio-source - pactl list short sources | grep '\.monitor.*RUNNING' | cut -f 2 | head -1 -end - -function get-region - slurp || exit 0 -end - -function get-active-monitor - hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name' -end - -argparse -n 'caelestia-record' -X 0 \ - 'h/help' \ - 's/sound' \ - 'r/region=?' \ - 'n/no-hwaccel' \ - -- $argv -or exit - -if set -q _flag_h - echo 'Usage:' - echo ' caelestia record ( -h | --help )' - echo ' caelestia record [ -s | --sound ] [ -r | --region ] [ -c | --compression ] [ -H | --hwaccel ]' - echo - echo 'Options:' - echo ' -h, --help Print this help message and exit' - echo ' -s, --sound Enable audio capturing' - echo ' -r, --region [ ] The region to capture, current monitor if option not given, default region slurp' - echo ' -N, --no-hwaccel Do not use the GPU encoder' - - exit -end - -. (dirname (status filename))/util.fish - -set -l storage_dir (xdg-user-dir VIDEOS)/Recordings -set -l state_dir $C_STATE/record - -mkdir -p $storage_dir -mkdir -p $state_dir - -set -l file_ext 'mp4' -set -l recording_path "$state_dir/recording.$file_ext" -set -l notif_id_path "$state_dir/notifid.txt" - -if pgrep wl-screenrec > /dev/null - pkill wl-screenrec - - # Move to recordings folder - set -l new_recording_path "$storage_dir/recording_$(date '+%Y%m%d_%H-%M-%S').$file_ext" - mv $recording_path $new_recording_path - - # Close start notification - if test -f $notif_id_path - gdbus call --session \ - --dest org.freedesktop.Notifications \ - --object-path /org/freedesktop/Notifications \ - --method org.freedesktop.Notifications.CloseNotification \ - (cat $notif_id_path) - end - - # Notification with actions - set -l action (notify-send 'Recording stopped' "Stopped recording $new_recording_path" -i 'video-x-generic' -a 'caelestia-record' \ - --action='watch=Watch' --action='open=Open' --action='save=Save As' --action='delete=Delete') - - switch $action - case 'watch' - app2unit -O $new_recording_path - case 'open' - dbus-send --session --dest=org.freedesktop.FileManager1 --type=method_call /org/freedesktop/FileManager1 org.freedesktop.FileManager1.ShowItems array:string:"file://$new_recording_path" string:'' \ - || app2unit -O (dirname $new_recording_path) - case 'save' - set -l save_file (app2unit -- zenity --file-selection --save --title='Save As') - test -n "$save_file" && mv $new_recording_path $save_file || warn 'No file selected' - case 'delete' - rm $new_recording_path - end -else - # Set region if flag given otherwise active monitor - if set -q _flag_r - # Use given region if value otherwise slurp - set region -g (test -n "$_flag_r" && echo $_flag_r || get-region) - else - set region -o (get-active-monitor) - end - - # Sound if enabled - set -q _flag_s && set -l audio --audio --audio-device (get-audio-source) - - # No hardware accel - set -q _flag_n && set -l hwaccel --no-hw - - wl-screenrec $region $audio $hwaccel --codec hevc -f $recording_path & disown - - notify-send 'Recording started' 'Recording...' -i 'video-x-generic' -a 'caelestia-record' -p > $notif_id_path -end diff --git a/scheme/autoadjust.py b/scheme/autoadjust.py deleted file mode 100755 index 1c6dc2c..0000000 --- a/scheme/autoadjust.py +++ /dev/null @@ -1,256 +0,0 @@ -#!/usr/bin/env python3 - -import sys -from colorsys import hls_to_rgb, rgb_to_hls -from pathlib import Path - -from materialyoucolor.blend import Blend -from materialyoucolor.dynamiccolor.material_dynamic_colors import ( - DynamicScheme, - MaterialDynamicColors, -) -from materialyoucolor.hct import Hct -from materialyoucolor.scheme.scheme_content import SchemeContent -from materialyoucolor.scheme.scheme_expressive import SchemeExpressive -from materialyoucolor.scheme.scheme_fidelity import SchemeFidelity -from materialyoucolor.scheme.scheme_fruit_salad import SchemeFruitSalad -from materialyoucolor.scheme.scheme_monochrome import SchemeMonochrome -from materialyoucolor.scheme.scheme_neutral import SchemeNeutral -from materialyoucolor.scheme.scheme_rainbow import SchemeRainbow -from materialyoucolor.scheme.scheme_tonal_spot import SchemeTonalSpot -from materialyoucolor.scheme.scheme_vibrant import SchemeVibrant - -light_colours = [ - "dc8a78", - "dd7878", - "ea76cb", - "8839ef", - "d20f39", - "e64553", - "fe640b", - "df8e1d", - "40a02b", - "179299", - "04a5e5", - "209fb5", - "1e66f5", - "7287fd", -] - -dark_colours = [ - "f5e0dc", - "f2cdcd", - "f5c2e7", - "cba6f7", - "f38ba8", - "eba0ac", - "fab387", - "f9e2af", - "a6e3a1", - "94e2d5", - "89dceb", - "74c7ec", - "89b4fa", - "b4befe", -] - -colour_names = [ - "rosewater", - "flamingo", - "pink", - "mauve", - "red", - "maroon", - "peach", - "yellow", - "green", - "teal", - "sky", - "sapphire", - "blue", - "lavender", - "success", - "error", -] - -HLS = tuple[float, float, float] - - -def hex_to_rgb(hex: str) -> tuple[float, float, float]: - """Convert a hex string to an RGB tuple in the range [0, 1].""" - return tuple(int(hex[i : i + 2], 16) / 255 for i in (0, 2, 4)) - - -def rgb_to_hex(rgb: tuple[float, float, float]) -> str: - """Convert an RGB tuple in the range [0, 1] to a hex string.""" - return "".join(f"{round(i * 255):02X}" for i in rgb) - - -def hex_to_hls(hex: str) -> tuple[float, float, float]: - return rgb_to_hls(*hex_to_rgb(hex)) - - -def hls_to_hex(h: str, l: str, s: str) -> str: - return rgb_to_hex(hls_to_rgb(h, l, s)) - - -def hex_to_argb(hex: str) -> int: - return int(f"0xFF{hex}", 16) - - -def argb_to_hls(argb: int) -> HLS: - return hex_to_hls(f"{argb:08X}"[2:]) - - -def grayscale(hls: HLS, light: bool) -> HLS: - h, l, s = hls - return h, 0.5 - l / 2 if light else l / 2 + 0.5, 0 - - -def mix(a: HLS, b: HLS, w: float) -> HLS: - r1, g1, b1 = hls_to_rgb(*a) - r2, g2, b2 = hls_to_rgb(*b) - return rgb_to_hls( - r1 * (1 - w) + r2 * w, g1 * (1 - w) + g2 * w, b1 * (1 - w) + b2 * w - ) - - -def harmonize(a: str, b: int) -> HLS: - return argb_to_hls(Blend.harmonize(hex_to_argb(a), b)) - - -def darken(colour: HLS, amount: float) -> HLS: - h, l, s = colour - return h, max(0, l - amount), s - - -def distance(colour: HLS, base: str) -> float: - h1, l1, s1 = colour - h2, l2, s2 = hex_to_hls(base) - return abs(h1 - h2) * 0.4 + abs(l1 - l2) * 0.3 + abs(s1 - s2) * 0.3 - - -def smart_sort(colours: list[HLS], base: list[str]) -> dict[str, HLS]: - sorted_colours = [None] * len(colours) - distances = {} - - for colour in colours: - dist = [(i, distance(colour, b)) for i, b in enumerate(base)] - dist.sort(key=lambda x: x[1]) - distances[colour] = dist - - for colour in colours: - while len(distances[colour]) > 0: - i, dist = distances[colour][0] - - if sorted_colours[i] is None: - sorted_colours[i] = colour, dist - break - elif sorted_colours[i][1] > dist: - old = sorted_colours[i][0] - sorted_colours[i] = colour, dist - colour = old - - distances[colour].pop(0) - - return {colour_names[i]: c[0] for i, c in enumerate(sorted_colours)} - - -def get_scheme(scheme: str) -> DynamicScheme: - if scheme == "content": - return SchemeContent - if scheme == "expressive": - return SchemeExpressive - if scheme == "fidelity": - return SchemeFidelity - if scheme == "fruitsalad": - return SchemeFruitSalad - if scheme == "monochrome": - return SchemeMonochrome - if scheme == "neutral": - return SchemeNeutral - if scheme == "rainbow": - return SchemeRainbow - if scheme == "tonalspot": - return SchemeTonalSpot - return SchemeVibrant - - -def get_alt(i: int) -> str: - names = ["default", "alt1", "alt2"] - return names[i] - - -if __name__ == "__main__": - light = sys.argv[1] == "light" - scheme = sys.argv[2] - primaries = sys.argv[3].split(" ") - colours_in = sys.argv[4].split(" ") - out_path = sys.argv[5] - - base = light_colours if light else dark_colours - - # Convert to HLS - base_colours = [hex_to_hls(c) for c in colours_in] - - # Sort colours and turn into dict - base_colours = smart_sort(base_colours, base) - - # Adjust colours - MatScheme = get_scheme(scheme) - for name, hls in base_colours.items(): - if scheme == "monochrome": - base_colours[name] = grayscale(hls, light) - else: - argb = hex_to_argb(hls_to_hex(*hls)) - mat_scheme = MatScheme(Hct.from_int(argb), not light, 0) - - colour = MaterialDynamicColors.primary.get_hct(mat_scheme) - - # Boost neutral scheme colours - if scheme == "neutral": - colour.chroma += 10 - - base_colours[name] = hex_to_hls( - "{:02X}{:02X}{:02X}".format(*colour.to_rgba()[:3]) - ) - - # Layers and accents - for i, primary in enumerate(primaries): - material = {} - - primary_argb = hex_to_argb(primary) - primary_scheme = MatScheme(Hct.from_int(primary_argb), not light, 0) - for colour in vars(MaterialDynamicColors).keys(): - colour_name = getattr(MaterialDynamicColors, colour) - if hasattr(colour_name, "get_hct"): - rgb = colour_name.get_hct(primary_scheme).to_rgba()[:3] - material[colour] = hex_to_hls("{:02X}{:02X}{:02X}".format(*rgb)) - - # TODO: eventually migrate to material for layers - colours = { - **material, - "text": material["onBackground"], - "subtext1": material["onSurfaceVariant"], - "subtext0": material["outline"], - "overlay2": mix(material["surface"], material["outline"], 0.86), - "overlay1": mix(material["surface"], material["outline"], 0.71), - "overlay0": mix(material["surface"], material["outline"], 0.57), - "surface2": mix(material["surface"], material["outline"], 0.43), - "surface1": mix(material["surface"], material["outline"], 0.29), - "surface0": mix(material["surface"], material["outline"], 0.14), - "base": material["surface"], - "mantle": darken(material["surface"], 0.03), - "crust": darken(material["surface"], 0.05), - "success": harmonize(base[8], primary_argb), - } - - for name, hls in base_colours.items(): - colours[name] = harmonize(hls_to_hex(*hls), primary_argb) - - out_file = Path(f"{out_path}/{scheme}/{get_alt(i)}/{sys.argv[1]}.txt") - out_file.parent.mkdir(parents=True, exist_ok=True) - colour_arr = [ - f"{name} {hls_to_hex(*colour)}" for name, colour in colours.items() - ] - out_file.write_text("\n".join(colour_arr)) diff --git a/scheme/gen-print-scheme.fish b/scheme/gen-print-scheme.fish deleted file mode 100755 index 6dfa482..0000000 --- a/scheme/gen-print-scheme.fish +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env fish - -set -l src (dirname (status filename)) - -. $src/../util.fish - -test -f "$argv[1]" && set -l img (realpath "$argv[1]") || set -l img $C_STATE/wallpaper/thumbnail.jpg - -# Thumbnail image if not already thumbnail -if test $img != $C_STATE/wallpaper/thumbnail.jpg - set -l thumb_path $C_CACHE/thumbnails/(sha1sum $img | cut -d ' ' -f 1).jpg - if ! test -f $thumb_path - magick -define jpeg:size=256x256 $img -thumbnail 128x128\> $thumb_path - end - set img $thumb_path -end - -set -l variants vibrant tonalspot expressive fidelity fruitsalad rainbow neutral content monochrome -contains -- "$argv[2]" $variants && set -l variant $argv[2] || set -l variant (cat $C_STATE/scheme/current-variant.txt 2> /dev/null) -contains -- "$variant" $variants || set -l variant tonalspot - -set -l hash (sha1sum $img | cut -d ' ' -f 1) - -# Cache scheme -if ! test -d $C_CACHE/schemes/$hash/$variant - set -l colours ($src/score.py $img) - $src/autoadjust.py dark $variant $colours $C_CACHE/schemes/$hash - $src/autoadjust.py light $variant $colours $C_CACHE/schemes/$hash -end - -# Get mode from image -set -l lightness (magick $img -format '%[fx:int(mean*100)]' info:) -test $lightness -ge 60 && set -l mode light || set -l mode dark - -# Print scheme -cat $C_CACHE/schemes/$hash/$variant/default/$mode.txt diff --git a/scheme/gen-scheme.fish b/scheme/gen-scheme.fish deleted file mode 100755 index 35e0bc5..0000000 --- a/scheme/gen-scheme.fish +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env fish - -set -l src (dirname (status filename)) - -. $src/../util.fish - -test -f "$argv[1]" && set -l img (realpath "$argv[1]") || set -l img $C_STATE/wallpaper/thumbnail.jpg - -set -l variants vibrant tonalspot expressive fidelity fruitsalad rainbow neutral content monochrome -contains -- "$argv[2]" $variants && set -l variant $argv[2] || set -l variant (cat $C_STATE/scheme/current-variant.txt 2> /dev/null) -contains -- "$variant" $variants || set -l variant tonalspot - -set -l hash (sha1sum $img | cut -d ' ' -f 1) - -# Cache scheme -if ! test -d $C_CACHE/schemes/$hash/$variant - set -l colours ($src/score.py $img) - $src/autoadjust.py dark $variant $colours $C_CACHE/schemes/$hash - $src/autoadjust.py light $variant $colours $C_CACHE/schemes/$hash -end - -# Copy scheme from cache -rm -rf $src/../data/schemes/dynamic -cp -r $C_CACHE/schemes/$hash/$variant $src/../data/schemes/dynamic - -# Update if current -set -l variant (string match -gr 'dynamic-(.*)' (cat $C_STATE/scheme/current-name.txt 2> /dev/null)) -if test -n "$variant" - # If variant doesn't exist, use default - test -d $src/../data/schemes/dynamic/$variant || set -l variant default - # Apply scheme - $src/main.fish dynamic $variant $MODE > /dev/null -end diff --git a/scheme/main.fish b/scheme/main.fish deleted file mode 100755 index 5e6ad03..0000000 --- a/scheme/main.fish +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env fish - -# Usage: -# caelestia scheme [mode] -# caelestia scheme [flavour] -# caelestia scheme [scheme] - -function set-scheme -a path name mode - mkdir -p $C_STATE/scheme - - # Update scheme colours - cp $path $C_STATE/scheme/current.txt - - # Update scheme name - echo -n $name > $C_STATE/scheme/current-name.txt - - # Update scheme mode - echo -n $mode > $C_STATE/scheme/current-mode.txt - - log "Changed scheme to $name ($mode)" -end - -set -l src (dirname (status filename))/.. -set -l schemes $src/data/schemes - -. $src/util.fish - -set -l scheme $argv[1] -set -l flavour $argv[2] -set -l mode $argv[3] - -set -l valid_schemes (basename -a $schemes/*) - -test -z "$scheme" && set -l scheme (random choice $valid_schemes) - -if contains -- "$scheme" $valid_schemes - set -l flavours (basename -a (find $schemes/$scheme/ -mindepth 1 -maxdepth 1 -type d) 2> /dev/null) - set -l modes (basename -s .txt (find $schemes/$scheme/ -mindepth 1 -maxdepth 1 -type f) 2> /dev/null) - - if test -n "$modes" - # Scheme only has one flavour, so second arg is mode - set -l mode $flavour - if test -z "$mode" - # Try to use current mode if not provided and current mode exists for flavour, otherwise random mode - set mode (cat $C_STATE/scheme/current-mode.txt 2> /dev/null) - contains -- "$mode" $modes || set mode (random choice $modes) - end - - if contains -- "$mode" $modes - # Provided valid mode - set-scheme $schemes/$scheme/$mode.txt $scheme $mode - else - error "Invalid mode for $scheme: $mode" - end - else - # Scheme has multiple flavours, so second arg is flavour - test -z "$flavour" && set -l flavour (random choice $flavours) - - if contains -- "$flavour" $flavours - # Provided valid flavour - set -l modes (basename -s .txt $schemes/$scheme/$flavour/*.txt) - if test -z "$mode" - # Try to use current mode if not provided and current mode exists for flavour, otherwise random mode - set mode (cat $C_STATE/scheme/current-mode.txt 2> /dev/null) - contains -- "$mode" $modes || set mode (random choice $modes) - end - - if contains -- "$mode" $modes - # Provided valid mode - set-scheme $schemes/$scheme/$flavour/$mode.txt $scheme-$flavour $mode - else - error "Invalid mode for $scheme $flavour: $mode" - end - else - # Invalid flavour - error "Invalid flavour for $scheme: $flavour" - end - end -else - error "Invalid scheme: $scheme" -end diff --git a/scheme/score.py b/scheme/score.py deleted file mode 100755 index 18ddc21..0000000 --- a/scheme/score.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python - -import sys - -from materialyoucolor.dislike.dislike_analyzer import DislikeAnalyzer -from materialyoucolor.hct import Hct -from materialyoucolor.quantize import ImageQuantizeCelebi -from materialyoucolor.utils.math_utils import difference_degrees, sanitize_degrees_int - - -class Score: - TARGET_CHROMA = 48.0 - WEIGHT_PROPORTION = 0.7 - WEIGHT_CHROMA_ABOVE = 0.3 - WEIGHT_CHROMA_BELOW = 0.1 - CUTOFF_CHROMA = 5.0 - CUTOFF_EXCITED_PROPORTION = 0.01 - - def __init__(self): - pass - - @staticmethod - def score(colors_to_population: dict) -> tuple[list[Hct], list[Hct]]: - desired = 14 - filter_enabled = False - dislike_filter = True - - colors_hct = [] - hue_population = [0] * 360 - population_sum = 0 - - for rgb, population in colors_to_population.items(): - hct = Hct.from_int(rgb) - colors_hct.append(hct) - hue = int(hct.hue) - hue_population[hue] += population - population_sum += population - - hue_excited_proportions = [0.0] * 360 - - for hue in range(360): - proportion = hue_population[hue] / population_sum - for i in range(hue - 14, hue + 16): - neighbor_hue = int(sanitize_degrees_int(i)) - hue_excited_proportions[neighbor_hue] += proportion - - # Score colours - scored_hct = [] - for hct in colors_hct: - hue = int(sanitize_degrees_int(round(hct.hue))) - proportion = hue_excited_proportions[hue] - - if filter_enabled and ( - hct.chroma < Score.CUTOFF_CHROMA - or proportion <= Score.CUTOFF_EXCITED_PROPORTION - ): - continue - - proportion_score = proportion * 100.0 * Score.WEIGHT_PROPORTION - chroma_weight = ( - Score.WEIGHT_CHROMA_BELOW - if hct.chroma < Score.TARGET_CHROMA - else Score.WEIGHT_CHROMA_ABOVE - ) - chroma_score = (hct.chroma - Score.TARGET_CHROMA) * chroma_weight - score = proportion_score + chroma_score - scored_hct.append({"hct": hct, "score": score}) - - scored_hct.sort(key=lambda x: x["score"], reverse=True) - - # Choose distinct colours - chosen_colors = [] - for difference_degrees_ in range(90, 0, -1): - chosen_colors.clear() - for item in scored_hct: - hct = item["hct"] - duplicate_hue = any( - difference_degrees(hct.hue, chosen_hct.hue) < difference_degrees_ - for chosen_hct in chosen_colors - ) - if not duplicate_hue: - chosen_colors.append(hct) - if len(chosen_colors) >= desired: - break - if len(chosen_colors) >= desired: - break - - # Get primary colour - primary = None - for cutoff in range(20, 0, -1): - for item in scored_hct: - if item["hct"].chroma > cutoff and item["hct"].tone > cutoff * 3: - primary = item["hct"] - break - if primary: - break - - # Choose distinct primaries - chosen_primaries = [primary] - for difference_degrees_ in range(90, 14, -1): - chosen_primaries = [primary] - for item in scored_hct: - hct = item["hct"] - duplicate_hue = any( - difference_degrees(hct.hue, chosen_hct.hue) < difference_degrees_ - for chosen_hct in chosen_primaries - ) - if not duplicate_hue: - chosen_primaries.append(hct) - if len(chosen_primaries) >= 3: - break - if len(chosen_primaries) >= 3: - break - - # Fix disliked colours - if dislike_filter: - for i, chosen_hct in enumerate(chosen_primaries): - chosen_primaries[i] = DislikeAnalyzer.fix_if_disliked(chosen_hct) - for i, chosen_hct in enumerate(chosen_colors): - chosen_colors[i] = DislikeAnalyzer.fix_if_disliked(chosen_hct) - - return chosen_primaries, chosen_colors - - -if __name__ == "__main__": - img = sys.argv[1] - mode = sys.argv[2] if len(sys.argv) > 2 else "hex" - - colours = Score.score(ImageQuantizeCelebi(img, 1, 128)) - for l in colours: - if mode != "hex": - print("".join(["\x1b[48;2;{};{};{}m \x1b[0m".format(*c.to_rgba()[:3]) for c in l])) - if mode != "swatch": - print(" ".join(["{:02X}{:02X}{:02X}".format(*c.to_rgba()[:3]) for c in l])) diff --git a/screenshot.fish b/screenshot.fish deleted file mode 100755 index 122ad3e..0000000 --- a/screenshot.fish +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env fish - -. (dirname (status filename))/util.fish - -mkdir -p "$C_CACHE/screenshots" -set -l tmp_file "$C_CACHE/screenshots/$(date +'%Y%m%d%H%M%S')" - -if test "$argv[1]" = 'region' - if test "$argv[2]" = 'freeze' - wayfreeze --hide-cursor & set PID $last_pid - sleep .1 - end - - set -l ws (hyprctl -j activeworkspace | jq -r '.id') - set -l region (hyprctl -j clients | jq -r --argjson activeWsId $ws '.[] | select(.workspace.id == $activeWsId) | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | slurp) - if test -n "$region" - grim -l 0 -g $region - | swappy -f - & - end - - set -q PID && kill $PID - - exit -end - -grim $argv $tmp_file; and wl-copy < $tmp_file; or exit 1 - -set -l action (notify-send -i 'image-x-generic-symbolic' -h "STRING:image-path:$tmp_file" \ - -a 'caelestia-screenshot' --action='open=Open' --action='save=Save' \ - 'Screenshot taken' "Screenshot stored in $tmp_file and copied to clipboard") -switch $action - case 'open' - app2unit -- swappy -f $tmp_file & disown - case 'save' - set -l save_file (app2unit -- zenity --file-selection --save --title='Save As') - test -z $save_file && exit 0 - if test -f $save_file - app2unit -- yad --image='abrt' --title='Warning!' --text-align='center' --buttons-layout='center' --borders=20 \ - --text='Are you sure you want to overwrite this file?' || exit 0 - end - cp $tmp_file $save_file -end diff --git a/toggles/specialws.fish b/toggles/specialws.fish deleted file mode 100755 index 01fcfd7..0000000 --- a/toggles/specialws.fish +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env fish - -if ! hyprctl workspaces -j | jq -e 'first(.[] | select(.name == "special:special"))' - set activews (hyprctl activewindow -j | jq -r '.workspace.name') - string match -r -- '^special:' $activews && set togglews (string sub -s 9 $activews) || set togglews special -else - set togglews special -end - -hyprctl dispatch togglespecialworkspace $togglews diff --git a/toggles/util.fish b/toggles/util.fish deleted file mode 100644 index 3cffc15..0000000 --- a/toggles/util.fish +++ /dev/null @@ -1,42 +0,0 @@ -. (dirname (status filename))/../util.fish - -function move-client -a selector workspace - if hyprctl -j clients | jq -e 'first(.[] | select('$selector')).workspace.name != "special:'$workspace'"' > /dev/null - # Window not in correct workspace - set -l window_addr (hyprctl -j clients | jq -r 'first(.[] | select('$selector')).address') - hyprctl dispatch movetoworkspacesilent "special:$workspace,address:$window_addr" - end -end - -function spawn-client -a selector spawn - # Spawn if doesn't exist - hyprctl -j clients | jq -e "first(.[] | select($selector))" > /dev/null - set -l stat $status - if test $stat != 0 - eval "app2unit -- $spawn & disown" - end - test $stat != 0 # Exit 1 if already exists -end - -function jq-var -a op json - jq -rn --argjson json "$json" "\$json | $op" -end - -function toggle-workspace -a workspace - set -l apps (get-config "toggles.$workspace.apps") - - for i in (seq 0 (math (jq-var 'length' "$apps") - 1)) - set -l app (jq-var ".[$i]" "$apps") - set -l action (jq-var '.action' "$app") - set -l selector (jq-var '.selector' "$app") - set -l extra_cond (jq-var '.extraCond' "$app") - - test $extra_cond = null && set -l extra_cond true - if eval $extra_cond - string match -qe -- 'spawn' $action && spawn-client $selector (jq-var '.spawn' "$app") - string match -qe -- 'move' $action && move-client $selector $workspace - end - end - - hyprctl dispatch togglespecialworkspace $workspace -end diff --git a/util.fish b/util.fish deleted file mode 100644 index 5718628..0000000 --- a/util.fish +++ /dev/null @@ -1,51 +0,0 @@ -function _out -a colour level text - set_color $colour - # Pass arguments other than text to echo - echo $argv[4..] -- ":: [$level] $text" - set_color normal -end - -function log -a text - _out cyan LOG $text $argv[2..] -end - -function warn -a text - _out yellow WARN $text $argv[2..] -end - -function error -a text - _out red ERROR $text $argv[2..] - return 1 -end - -function input -a text - _out blue INPUT $text $argv[2..] -end - -function get-config -a key - test -f $C_CONFIG_FILE && set -l value (jq -r ".$key" $C_CONFIG_FILE) - test -n "$value" -a "$value" != null && echo $value || jq -r ".$key" (dirname (status filename))/data/config.json -end - -function set-config -a key value - if test -f $C_CONFIG_FILE - set -l tmp (mktemp) - cp $C_CONFIG_FILE $tmp - jq -e ".$key = $value" $tmp > $C_CONFIG_FILE || cp $tmp $C_CONFIG_FILE - rm $tmp - else - jq -en ".$key = $value" > $C_CONFIG_FILE || rm $C_CONFIG_FILE - end -end - -set -q XDG_DATA_HOME && set C_DATA $XDG_DATA_HOME/caelestia || set C_DATA $HOME/.local/share/caelestia -set -q XDG_STATE_HOME && set C_STATE $XDG_STATE_HOME/caelestia || set C_STATE $HOME/.local/state/caelestia -set -q XDG_CACHE_HOME && set C_CACHE $XDG_CACHE_HOME/caelestia || set C_CACHE $HOME/.cache/caelestia -set -q XDG_CONFIG_HOME && set CONFIG $XDG_CONFIG_HOME || set CONFIG $HOME/.config -set C_CONFIG $CONFIG/caelestia -set C_CONFIG_FILE $C_CONFIG/scripts.json - -mkdir -p $C_DATA -mkdir -p $C_STATE -mkdir -p $C_CACHE -mkdir -p $C_CONFIG diff --git a/wallpaper.fish b/wallpaper.fish deleted file mode 100755 index e8cfdd8..0000000 --- a/wallpaper.fish +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env fish - -function get-valid-wallpapers - identify -ping -format '%i\n' $wallpapers_dir/** 2> /dev/null -end - -set script_name (basename (status filename)) -set wallpapers_dir (xdg-user-dir PICTURES)/Wallpapers -set threshold 80 - -# Max 0 non-option args | h, f and d are exclusive | F and t are also exclusive -argparse -n 'caelestia-wallpaper' -X 0 -x 'h,f,d' -x 'F,t' \ - 'h/help' \ - 'f/file=' \ - 'd/directory=' \ - 'F/no-filter' \ - 't/threshold=!_validate_int --min 0' \ - 'T/theme=!test $_flag_value = light -o $_flag_value = dark' \ - -- $argv -or exit - -. (dirname (status filename))/util.fish - -if set -q _flag_h - echo 'Usage:' - echo ' caelestia wallpaper' - echo ' caelestia wallpaper [ -h | --help ]' - echo ' caelestia wallpaper [ -f | --file ] [ -T | --theme ]' - echo ' caelestia wallpaper [ -d | --directory ] [ -F | --no-filter ] [ -T | --theme ]' - echo ' caelestia wallpaper [ -d | --directory ] [ -t | --threshold ] [ -T | --theme ]' - echo - echo 'Options:' - echo ' -h, --help Print this help message and exit' - echo ' -f, --file The file to change wallpaper to' - echo ' -d, --directory The folder to select a random wallpaper from (default '$wallpapers_dir')' - echo ' -F, --no-filter Do not filter by size' - echo ' -t, --threshold The minimum percentage of the size the image must be greater than to be selected (default '$threshold')' - echo ' -T, --theme <"light" | "dark"> Set light/dark theme for dynamic scheme' -else - set state_dir $C_STATE/wallpaper - - # The path to the last chosen wallpaper - set last_wallpaper_path "$state_dir/last.txt" - - # Use wallpaper given as argument else choose random - if set -q _flag_f - set chosen_wallpaper (realpath $_flag_f) - - if ! identify -ping $chosen_wallpaper &> /dev/null - error "$chosen_wallpaper is not a valid image" - exit 1 - end - else - # The path to the directory containing the selection of wallpapers - set -q _flag_d && set wallpapers_dir (realpath $_flag_d) - - if ! test -d $wallpapers_dir - error "$wallpapers_dir does not exist" - exit 1 - end - - # Get all files in $wallpapers_dir and exclude the last wallpaper (if it exists) - if test -f "$last_wallpaper_path" - set last_wallpaper (cat $last_wallpaper_path) - test -n "$last_wallpaper" && set unfiltered_wallpapers (get-valid-wallpapers | grep -v $last_wallpaper) - end - set -q unfiltered_wallpapers || set unfiltered_wallpapers (get-valid-wallpapers) - - # Filter by resolution if no filter option is not given - if set -q _flag_F - set wallpapers $unfiltered_wallpapers - else - set -l screen_size (hyprctl monitors -j | jq -r 'max_by(.width * .height) | "\(.width)\n\(.height)"') - set -l wall_sizes (identify -ping -format '%w %h\n' $unfiltered_wallpapers) - - # Apply threshold - set -q _flag_t && set threshold $_flag_t - set screen_size[1] (math $screen_size[1] x $threshold / 100) - set screen_size[2] (math $screen_size[2] x $threshold / 100) - - # Add wallpapers that are larger than the screen size * threshold to list to choose from ($wallpapers) - for i in (seq 1 (count $wall_sizes)) - set -l wall_size (string split ' ' $wall_sizes[$i]) - if test $wall_size[1] -ge $screen_size[1] -a $wall_size[2] -ge $screen_size[2] - set -a wallpapers $unfiltered_wallpapers[$i] - end - end - end - - # Check if the $wallpapers list is unset or empty - if ! set -q wallpapers || test -z "$wallpapers" - error "No valid images found in $wallpapers_dir" - exit 1 - end - - # Choose a random wallpaper from the $wallpapers list - set chosen_wallpaper (random choice $wallpapers) - end - - # Thumbnail wallpaper for colour gen - mkdir -p $C_CACHE/thumbnails - set -l thumb_path $C_CACHE/thumbnails/(sha1sum $chosen_wallpaper | cut -d ' ' -f 1).jpg - if ! test -f $thumb_path - magick -define jpeg:size=256x256 $chosen_wallpaper -thumbnail 128x128 $thumb_path - end - cp $thumb_path $state_dir/thumbnail.jpg - - # Light/dark mode detection if not specified - if ! set -q _flag_T - set -l lightness (magick $state_dir/thumbnail.jpg -format '%[fx:int(mean*100)]' info:) - test $lightness -ge 60 && set _flag_T light || set _flag_T dark - end - - # Generate colour scheme for wallpaper - set -l src (dirname (status filename)) - MODE=$_flag_T $src/scheme/gen-scheme.fish & - - # Store the wallpaper chosen - mkdir -p $state_dir - echo $chosen_wallpaper > $last_wallpaper_path - ln -sf $chosen_wallpaper "$state_dir/current" -end diff --git a/workspace-action.sh b/workspace-action.sh deleted file mode 100755 index 76d0950..0000000 --- a/workspace-action.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -active_ws=$(hyprctl activeworkspace -j | jq -r '.id') - -if [[ "$1" == *"group" ]]; then - # Move to group - hyprctl dispatch "${1::-5}" $((($2 - 1) * 10 + ${active_ws:0-1})) -else - # Move to ws in group - hyprctl dispatch "$1" $((((active_ws - 1) / 10) * 10 + $2)) -fi -- cgit v1.2.3-freya From 86d83de8f6ad2c64411501e2191651b2f45360df Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 14 Jun 2025 22:40:32 +1000 Subject: completions: update for rework --- completions/caelestia.fish | 90 ++++++++++++++++------------------------------ 1 file changed, 30 insertions(+), 60 deletions(-) diff --git a/completions/caelestia.fish b/completions/caelestia.fish index 448d05f..2be94d2 100644 --- a/completions/caelestia.fish +++ b/completions/caelestia.fish @@ -1,38 +1,35 @@ set -l seen '__fish_seen_subcommand_from' set -l has_opt '__fish_contains_opt' -set -l commands help install shell toggle workspace-action scheme variant screenshot record clipboard clipboard-delete emoji-picker wallpaper pip + +set -l commands shell toggle workspace-action scheme screenshot record clipboard emoji-picker wallpaper pip set -l not_seen "not $seen $commands" # Disable file completions complete -c caelestia -f +# Add help for any command +complete -c caelestia -s 'h' -l 'help' -d 'Show help' + # Subcommands -complete -c caelestia -n $not_seen -a 'help' -d 'Show help' -complete -c caelestia -n $not_seen -a 'install' -d 'Install a module' complete -c caelestia -n $not_seen -a 'shell' -d 'Start the shell or message it' complete -c caelestia -n $not_seen -a 'toggle' -d 'Toggle a special workspace' complete -c caelestia -n $not_seen -a 'workspace-action' -d 'Exec a dispatcher in the current group' -complete -c caelestia -n $not_seen -a 'scheme' -d 'Switch the current colour scheme' -complete -c caelestia -n $not_seen -a 'variant' -d 'Switch the current scheme variant' +complete -c caelestia -n $not_seen -a 'scheme' -d 'Manage the colour scheme' complete -c caelestia -n $not_seen -a 'screenshot' -d 'Take a screenshot' -complete -c caelestia -n $not_seen -a 'record' -d 'Take a screen recording' +complete -c caelestia -n $not_seen -a 'record' -d 'Start a screen recording' complete -c caelestia -n $not_seen -a 'clipboard' -d 'Open clipboard history' -complete -c caelestia -n $not_seen -a 'clipboard-delete' -d 'Delete from clipboard history' -complete -c caelestia -n $not_seen -a 'emoji-picker' -d 'Open the emoji picker' -complete -c caelestia -n $not_seen -a 'wallpaper' -d 'Change the wallpaper' +complete -c caelestia -n $not_seen -a 'emoji-picker' -d 'Toggle the emoji picker' +complete -c caelestia -n $not_seen -a 'wallpaper' -d 'Manage the wallpaper' complete -c caelestia -n $not_seen -a 'pip' -d 'Picture in picture utilities' -# Install -set -l commands all btop discord firefox fish foot fuzzel hypr safeeyes scripts shell slurp spicetify gtk qt vscode -complete -c caelestia -n "$seen install && not $seen $commands" -a "$commands" - # Shell -set -l commands help mpris drawers wallpaper notifs +set -l commands mpris drawers wallpaper notifs set -l not_seen "$seen shell && not $seen $commands" -complete -c caelestia -n $not_seen -a 'help' -d 'Show IPC commands' +complete -c caelestia -n $not_seen -s 's' -l 'show' -d 'Print all IPC commands' +complete -c caelestia -n $not_seen -s 'l' -l 'log' -d 'Print the shell log' complete -c caelestia -n $not_seen -a 'mpris' -d 'Mpris control' complete -c caelestia -n $not_seen -a 'drawers' -d 'Toggle drawers' -complete -c caelestia -n $not_seen -a 'wallpaper' -d 'Wallpaper control' +complete -c caelestia -n $not_seen -a 'wallpaper' -d 'Wallpaper control (for internal use)' complete -c caelestia -n $not_seen -a 'notifs' -d 'Notification control' set -l commands getActive play pause playPause stop next previous list @@ -81,53 +78,26 @@ set -l commands workspace workspacegroup movetoworkspace movetoworkspacegroup complete -c caelestia -n "$seen workspace-action && not $seen $commands" -a "$commands" -d 'action' # Scheme -set -q XDG_DATA_HOME && set -l data_dir $XDG_DATA_HOME || set -l data_dir $HOME/.local/share -set -l scheme_dir $data_dir/caelestia/scripts/data/schemes -set -l schemes (basename -a (find $scheme_dir/ -mindepth 1 -maxdepth 1 -type d)) -set -l commands 'print' $schemes -complete -c caelestia -n "$seen scheme && not $seen $commands" -a 'print' -d 'Generate and print a colour scheme for an image' -complete -c caelestia -n "$seen scheme && not $seen $commands" -a "$schemes" -d 'scheme' -for scheme in $schemes - set -l flavours (basename -a (find $scheme_dir/$scheme/ -mindepth 1 -maxdepth 1 -type d) 2> /dev/null) - set -l modes (basename -s .txt (find $scheme_dir/$scheme/ -mindepth 1 -maxdepth 1 -type f) 2> /dev/null) - if test -n "$modes" - complete -c caelestia -n "$seen scheme && $seen $scheme && not $seen $modes" -a "$modes" -d 'mode' - else - complete -c caelestia -n "$seen scheme && $seen $scheme && not $seen $flavours" -a "$flavours" -d 'flavour' - for flavour in $flavours - set -l modes (basename -s .txt (find $scheme_dir/$scheme/$flavour/ -mindepth 1 -maxdepth 1 -type f)) - complete -c caelestia -n "$seen scheme && $seen $scheme && $seen $flavour && not $seen $modes" -a "$modes" -d 'mode' - end - end -end - -# Variant -set -l commands vibrant tonalspot expressive fidelity fruitsalad rainbow neutral content monochrome -complete -c caelestia -n "$seen variant && not $seen $commands" -a "$commands" -d 'variant' +complete -c caelestia -n "$seen scheme" -s 'r' -l 'random' -d 'Switch to a random scheme' +complete -c caelestia -n "$seen scheme" -s 'n' -l 'name' -d 'Set scheme name' +complete -c caelestia -n "$seen scheme" -s 'f' -l 'flavour' -d 'Set scheme flavour' +complete -c caelestia -n "$seen scheme" -s 'm' -l 'mode' -d 'Set scheme mode' -a 'light dark' +complete -c caelestia -n "$seen scheme" -s 'v' -l 'variant' -d 'Set scheme variant' -a 'vibrant tonalspot expressive fidelity fruitsalad rainbow neutral content monochrome' # Record -set -l not_seen "$seen record && not $has_opt -s h help" -complete -c caelestia -n "$not_seen && not $has_opt -s s sound && not $has_opt -s r region && not $has_opt -s c compression && not $has_opt -s H hwaccel" \ - -s 'h' -l 'help' -d 'Show help' -complete -c caelestia -n "$not_seen && not $has_opt -s s sound" -s 's' -l 'sound' -d 'Capture sound' -complete -c caelestia -n "$not_seen && not $has_opt -s r region" -s 'r' -l 'region' -d 'Capture region' -complete -c caelestia -n "$not_seen && not $has_opt -s c compression" -s 'c' -l 'compression' -d 'Compression level of file' -r -complete -c caelestia -n "$not_seen && not $has_opt -s H hwaccel" -s 'H' -l 'hwaccel' -d 'Use hardware acceleration' +complete -c caelestia -n "$seen record" -s 'r' -l 'region' -d 'Capture region' +complete -c caelestia -n "$seen record" -s 's' -l 'sound' -d 'Capture sound' -# Wallpaper -set -l not_seen "$seen wallpaper && not $has_opt -s h help && not $has_opt -s f file && not $has_opt -s d directory" -complete -c caelestia -n $not_seen -s 'h' -l 'help' -d 'Show help' -complete -c caelestia -n $not_seen -s 'f' -l 'file' -d 'The file to switch to' -r -complete -c caelestia -n $not_seen -s 'd' -l 'directory' -d 'The directory to select from' -r - -complete -c caelestia -n "$seen wallpaper && $has_opt -s f file" -F -complete -c caelestia -n "$seen wallpaper && $has_opt -s d directory" -F +# Clipboard +complete -c caelestia -n "$seen clipboard" -s 'd' -l 'delete' -d 'Delete from cliboard history' -set -l not_seen "$seen wallpaper && $has_opt -s d directory && not $has_opt -s F no-filter && not $has_opt -s t threshold" -complete -c caelestia -n $not_seen -s 'F' -l 'no-filter' -d 'Do not filter by size' -complete -c caelestia -n $not_seen -s 't' -l 'threshold' -d 'The threshold to filter by' -r +# Wallpaper +complete -c caelestia -n "$seen wallpaper" -s 'p' -l 'print' -d 'Print the scheme for a wallpaper' -rF +complete -c caelestia -n "$seen wallpaper" -s 'r' -l 'random' -d 'Switch to a random wallpaper' -rF +complete -c caelestia -n "$seen wallpaper" -s 'f' -l 'file' -d 'The file to switch to' -rF +complete -c caelestia -n "$seen wallpaper" -s 'n' -l 'no-filter' -d 'Do not filter by size' +complete -c caelestia -n "$seen wallpaper" -s 't' -l 'threshold' -d 'The threshold to filter by' -r +complete -c caelestia -n "$seen wallpaper" -s 'N' -l 'no-smart' -d 'Disable smart mode switching' # Pip -set -l not_seen "$seen pip && not $has_opt -s h help && not $has_opt -s d daemon" -complete -c caelestia -n $not_seen -s 'h' -l 'help' -d 'Show help' -complete -c caelestia -n $not_seen -s 'd' -l 'daemon' -d 'Start in daemon mode' +complete -c caelestia -n "$seen pip" -s 'd' -l 'daemon' -d 'Start in daemon mode' -- cgit v1.2.3-freya