Source code for click_extra.spinner_presets

# Copyright Kevin Deldycke <kevin@deldycke.com> and contributors.
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
"""The bundled catalog of terminal spinner presets.

Ported from `cli-spinners <https://github.com/sindresorhus/cli-spinners>`_,
with frame intervals converted from milliseconds to seconds.
"""

from __future__ import annotations

from typing import NamedTuple

TYPE_CHECKING = False
if TYPE_CHECKING:
    from typing import Final


ASCII_SPINNER_FRAMES: Final = ("-", "\\", "|", "/")
"""Plain ASCII animation frames, for terminals or fonts lacking Unicode glyphs."""

SPINNER_FRAMES: Final = ("โ ‹", "โ ™", "โ น", "โ ธ", "โ ผ", "โ ด", "โ ฆ", "โ ง", "โ ‡", "โ ")
"""Default animation frames: the ubiquitous Braille-dots spinner.

Ten frames give a smooth rotation in any UTF-8 terminal. Fall back to
:data:`ASCII_SPINNER_FRAMES` where Braille glyphs are unavailable.
"""


[docs] class SpinnerPreset(NamedTuple): """A named spinner animation: its frames and the interval they look best at. The :data:`~click_extra.spinner_presets.SPINNERS` catalog is ported from `cli-spinners <https://github.com/sindresorhus/cli-spinners>`_, with intervals converted from milliseconds to seconds. Pass one to :class:`~click_extra.spinner.Spinner` via its ``spinner`` argument. """ frames: tuple[str, ...] """The animation frames, cycled in order.""" interval: float """Seconds between two frames, tuned per spinner upstream."""
# Single-code-point animations are packed as ``tuple("frames")`` to stay # one-liners; animations with multi-character frames keep an explicit tuple. SPINNERS: Final = { "dots": SpinnerPreset(SPINNER_FRAMES, 0.08), "dots2": SpinnerPreset(tuple("โฃพโฃฝโฃปโขฟโกฟโฃŸโฃฏโฃท"), 0.08), "dots3": SpinnerPreset(tuple("โ ‹โ ™โ šโ žโ –โ ฆโ ดโ ฒโ ณโ “"), 0.08), "dots4": SpinnerPreset(tuple("โ „โ †โ ‡โ ‹โ ™โ ธโ ฐโ  โ ฐโ ธโ ™โ ‹โ ‡โ †"), 0.08), "dots5": SpinnerPreset(tuple("โ ‹โ ™โ šโ ’โ ‚โ ‚โ ’โ ฒโ ดโ ฆโ –โ ’โ โ โ ’โ “โ ‹"), 0.08), "dots6": SpinnerPreset(tuple("โ โ ‰โ ™โ šโ ’โ ‚โ ‚โ ’โ ฒโ ดโ คโ „โ „โ คโ ดโ ฒโ ’โ ‚โ ‚โ ’โ šโ ™โ ‰โ "), 0.08), "dots7": SpinnerPreset(tuple("โ ˆโ ‰โ ‹โ “โ ’โ โ โ ’โ –โ ฆโ คโ  โ  โ คโ ฆโ –โ ’โ โ โ ’โ “โ ‹โ ‰โ ˆ"), 0.08), "dots8": SpinnerPreset(tuple("โ โ โ ‰โ ™โ šโ ’โ ‚โ ‚โ ’โ ฒโ ดโ คโ „โ „โ คโ  โ  โ คโ ฆโ –โ ’โ โ โ ’โ “โ ‹โ ‰โ ˆโ ˆ"), 0.08), "dots9": SpinnerPreset(tuple("โขนโขบโขผโฃธโฃ‡โกงโก—โก"), 0.08), "dots10": SpinnerPreset(tuple("โข„โข‚โขโกโกˆโกโก "), 0.08), "dots11": SpinnerPreset(tuple("โ โ ‚โ „โก€โข€โ  โ โ ˆ"), 0.1), "dots12": SpinnerPreset( ( "โข€โ €", "โก€โ €", "โ „โ €", "โข‚โ €", "โก‚โ €", "โ …โ €", "โขƒโ €", "โกƒโ €", "โ โ €", "โข‹โ €", "โก‹โ €", "โ โ ", "โข‹โ ", "โก‹โ ", "โ โ ‰", "โ ‹โ ‰", "โ ‹โ ‰", "โ ‰โ ™", "โ ‰โ ™", "โ ‰โ ฉ", "โ ˆโข™", "โ ˆโก™", "โขˆโ ฉ", "โก€โข™", "โ „โก™", "โข‚โ ฉ", "โก‚โข˜", "โ …โก˜", "โขƒโ จ", "โกƒโข", "โ โก", "โข‹โ  ", "โก‹โข€", "โ โก", "โข‹โ ", "โก‹โ ", "โ โ ‰", "โ ‹โ ‰", "โ ‹โ ‰", "โ ‰โ ™", "โ ‰โ ™", "โ ‰โ ฉ", "โ ˆโข™", "โ ˆโก™", "โ ˆโ ฉ", "โ €โข™", "โ €โก™", "โ €โ ฉ", "โ €โข˜", "โ €โก˜", "โ €โ จ", "โ €โข", "โ €โก", "โ €โ  ", "โ €โข€", "โ €โก€", ), 0.08, ), "dots13": SpinnerPreset(tuple("โฃผโฃนโขปโ ฟโกŸโฃโฃงโฃถ"), 0.08), "dots14": SpinnerPreset( ("โ ‰โ ‰", "โ ˆโ ™", "โ €โ น", "โ €โขธ", "โ €โฃฐ", "โข€โฃ ", "โฃ€โฃ€", "โฃ„โก€", "โฃ†โ €", "โก‡โ €", "โ โ €", "โ ‹โ "), 0.08 ), "dots8Bit": SpinnerPreset( tuple( "โ €โ โ ‚โ ƒโ „โ …โ †โ ‡โก€โกโก‚โกƒโก„โก…โก†โก‡โ ˆโ ‰โ Šโ ‹โ Œโ โ Žโ โกˆโก‰โกŠโก‹โกŒโกโกŽโกโ โ ‘โ ’โ “โ ”โ •โ –โ —โกโก‘โก’โก“โก”โก•โก–โก—โ ˜โ ™โ šโ ›โ œโ โ žโ Ÿโก˜โก™โกšโก›โกœโกโกžโกŸโ  โ กโ ขโ ฃโ คโ ฅโ ฆโ งโก โกกโกขโกฃโกคโกฅโกฆโกงโ จโ ฉโ ชโ ซโ ฌโ ญโ ฎโ ฏโกจโกฉโกชโกซโกฌโกญโกฎโกฏโ ฐโ ฑโ ฒโ ณโ ดโ ตโ ถโ ทโกฐโกฑโกฒโกณโกดโกตโกถโกทโ ธโ นโ บโ ปโ ผโ ฝโ พโ ฟโกธโกนโกบโกปโกผโกฝโกพโกฟโข€โขโข‚โขƒโข„โข…โข†โข‡โฃ€โฃโฃ‚โฃƒโฃ„โฃ…โฃ†โฃ‡โขˆโข‰โขŠโข‹โขŒโขโขŽโขโฃˆโฃ‰โฃŠโฃ‹โฃŒโฃโฃŽโฃโขโข‘โข’โข“โข”โข•โข–โข—โฃโฃ‘โฃ’โฃ“โฃ”โฃ•โฃ–โฃ—โข˜โข™โขšโข›โขœโขโขžโขŸโฃ˜โฃ™โฃšโฃ›โฃœโฃโฃžโฃŸโข โขกโขขโขฃโขคโขฅโขฆโขงโฃ โฃกโฃขโฃฃโฃคโฃฅโฃฆโฃงโขจโขฉโขชโขซโขฌโขญโขฎโขฏโฃจโฃฉโฃชโฃซโฃฌโฃญโฃฎโฃฏโขฐโขฑโขฒโขณโขดโขตโขถโขทโฃฐโฃฑโฃฒโฃณโฃดโฃตโฃถโฃทโขธโขนโขบโขปโขผโขฝโขพโขฟโฃธโฃนโฃบโฃปโฃผโฃฝโฃพโฃฟ" ), 0.08, ), "dotsCircle": SpinnerPreset(("โขŽ ", "โ Žโ ", "โ Šโ ‘", "โ ˆโ ฑ", " โกฑ", "โข€โกฐ", "โข„โก ", "โข†โก€"), 0.08), "sand": SpinnerPreset(tuple("โ โ ‚โ „โก€โกˆโกโก โฃ€โฃโฃ‚โฃ„โฃŒโฃ”โฃคโฃฅโฃฆโฃฎโฃถโฃทโฃฟโกฟโ ฟโขŸโ Ÿโก›โ ›โ ซโข‹โ ‹โ โก‰โ ‰โ ‘โ กโข"), 0.08), "line": SpinnerPreset(ASCII_SPINNER_FRAMES, 0.13), "line2": SpinnerPreset(tuple("โ ‚-โ€“โ€”โ€“-"), 0.1), "rollingLine": SpinnerPreset( ("/ ", " - ", " \\ ", " |", " |", " \\ ", " - ", "/ "), 0.08 ), "pipe": SpinnerPreset(tuple("โ”คโ”˜โ”ดโ””โ”œโ”Œโ”ฌโ”"), 0.1), "simpleDots": SpinnerPreset((". ", ".. ", "...", " "), 0.4), "simpleDotsScrolling": SpinnerPreset( (". ", ".. ", "...", " ..", " .", " "), 0.2 ), "star": SpinnerPreset(tuple("โœถโœธโœนโœบโœนโœท"), 0.07), "star2": SpinnerPreset(tuple("+x*"), 0.08), "flip": SpinnerPreset(tuple("___-``'ยด-___"), 0.07), "hamburger": SpinnerPreset(tuple("โ˜ฑโ˜ฒโ˜ด"), 0.1), "growVertical": SpinnerPreset(tuple("โ–โ–ƒโ–„โ–…โ–†โ–‡โ–†โ–…โ–„โ–ƒ"), 0.12), "growHorizontal": SpinnerPreset(tuple("โ–โ–Žโ–โ–Œโ–‹โ–Šโ–‰โ–Šโ–‹โ–Œโ–โ–Ž"), 0.12), "balloon": SpinnerPreset(tuple(" .oO@* "), 0.14), "balloon2": SpinnerPreset(tuple(".oOยฐOo."), 0.12), "noise": SpinnerPreset(tuple("โ–“โ–’โ–‘"), 0.1), "bounce": SpinnerPreset(tuple("โ โ ‚โ „โ ‚"), 0.12), "boxBounce": SpinnerPreset(tuple("โ––โ–˜โ–โ–—"), 0.12), "boxBounce2": SpinnerPreset(tuple("โ–Œโ–€โ–โ–„"), 0.1), "triangle": SpinnerPreset(tuple("โ—ขโ—ฃโ—คโ—ฅ"), 0.05), "binary": SpinnerPreset( ( "010010", "001100", "100101", "111010", "111101", "010111", "101011", "111000", "110011", "110101", ), 0.08, ), "arc": SpinnerPreset(tuple("โ—œโ— โ—โ—žโ—กโ—Ÿ"), 0.1), "circle": SpinnerPreset(tuple("โ—กโŠ™โ— "), 0.12), "squareCorners": SpinnerPreset(tuple("โ—ฐโ—ณโ—ฒโ—ฑ"), 0.18), "circleQuarters": SpinnerPreset(tuple("โ—ดโ—ทโ—ถโ—ต"), 0.12), "circleHalves": SpinnerPreset(tuple("โ—โ—“โ—‘โ—’"), 0.05), "squish": SpinnerPreset(tuple("โ•ซโ•ช"), 0.1), "toggle": SpinnerPreset(tuple("โŠถโŠท"), 0.25), "toggle2": SpinnerPreset(tuple("โ–ซโ–ช"), 0.08), "toggle3": SpinnerPreset(tuple("โ–กโ– "), 0.12), "toggle4": SpinnerPreset(tuple("โ– โ–กโ–ชโ–ซ"), 0.1), "toggle5": SpinnerPreset(tuple("โ–ฎโ–ฏ"), 0.1), "toggle6": SpinnerPreset(tuple("แ€แ€"), 0.3), "toggle7": SpinnerPreset(tuple("โฆพโฆฟ"), 0.08), "toggle8": SpinnerPreset(tuple("โ—โ—Œ"), 0.1), "toggle9": SpinnerPreset(tuple("โ—‰โ—Ž"), 0.1), "toggle10": SpinnerPreset(tuple("ใŠ‚ใŠ€ใЁ"), 0.1), "toggle11": SpinnerPreset(tuple("โง‡โง†"), 0.05), "toggle12": SpinnerPreset(tuple("โ˜—โ˜–"), 0.12), "toggle13": SpinnerPreset(tuple("=*-"), 0.08), "arrow": SpinnerPreset(tuple("โ†โ†–โ†‘โ†—โ†’โ†˜โ†“โ†™"), 0.1), "arrow2": SpinnerPreset(("โฌ†๏ธ ", "โ†—๏ธ ", "โžก๏ธ ", "โ†˜๏ธ ", "โฌ‡๏ธ ", "โ†™๏ธ ", "โฌ…๏ธ ", "โ†–๏ธ "), 0.08), "arrow3": SpinnerPreset( ("โ–นโ–นโ–นโ–นโ–น", "โ–ธโ–นโ–นโ–นโ–น", "โ–นโ–ธโ–นโ–นโ–น", "โ–นโ–นโ–ธโ–นโ–น", "โ–นโ–นโ–นโ–ธโ–น", "โ–นโ–นโ–นโ–นโ–ธ"), 0.12 ), "bouncingBar": SpinnerPreset( ( "[ ]", "[= ]", "[== ]", "[=== ]", "[====]", "[ ===]", "[ ==]", "[ =]", "[ ]", "[ =]", "[ ==]", "[ ===]", "[====]", "[=== ]", "[== ]", "[= ]", ), 0.08, ), "bouncingBall": SpinnerPreset( ( "( โ— )", "( โ— )", "( โ— )", "( โ— )", "( โ—)", "( โ— )", "( โ— )", "( โ— )", "( โ— )", "(โ— )", ), 0.08, ), "smiley": SpinnerPreset(("๐Ÿ˜„ ", "๐Ÿ˜ "), 0.2), "monkey": SpinnerPreset(("๐Ÿ™ˆ ", "๐Ÿ™ˆ ", "๐Ÿ™‰ ", "๐Ÿ™Š "), 0.3), "hearts": SpinnerPreset(("๐Ÿ’› ", "๐Ÿ’™ ", "๐Ÿ’œ ", "๐Ÿ’š ", "๐Ÿ’— "), 0.1), "clock": SpinnerPreset( ( "๐Ÿ•› ", "๐Ÿ• ", "๐Ÿ•‘ ", "๐Ÿ•’ ", "๐Ÿ•“ ", "๐Ÿ•” ", "๐Ÿ•• ", "๐Ÿ•– ", "๐Ÿ•— ", "๐Ÿ•˜ ", "๐Ÿ•™ ", "๐Ÿ•š ", ), 0.1, ), "earth": SpinnerPreset(("๐ŸŒ ", "๐ŸŒŽ ", "๐ŸŒ "), 0.18), "material": SpinnerPreset( ( "โ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–", "โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–", "โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–", "โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–", "โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–", "โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–", "โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–", "โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–", "โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–", "โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–", "โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–", "โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–", "โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆ", "โ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ", "โ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ", "โ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ", "โ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆ", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–", "โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–", "โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–", "โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–", "โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–", "โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–", "โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–", "โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", "โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–", ), 0.017, ), "moon": SpinnerPreset( ("๐ŸŒ‘ ", "๐ŸŒ’ ", "๐ŸŒ“ ", "๐ŸŒ” ", "๐ŸŒ• ", "๐ŸŒ– ", "๐ŸŒ— ", "๐ŸŒ˜ "), 0.08 ), "runner": SpinnerPreset(("๐Ÿšถ ", "๐Ÿƒ "), 0.14), "pong": SpinnerPreset( ( "โ–โ ‚ โ–Œ", "โ–โ ˆ โ–Œ", "โ– โ ‚ โ–Œ", "โ– โ   โ–Œ", "โ– โก€ โ–Œ", "โ– โ   โ–Œ", "โ– โ ‚ โ–Œ", "โ– โ ˆ โ–Œ", "โ– โ ‚ โ–Œ", "โ– โ   โ–Œ", "โ– โก€ โ–Œ", "โ– โ   โ–Œ", "โ– โ ‚ โ–Œ", "โ– โ ˆ โ–Œ", "โ– โ ‚โ–Œ", "โ– โ  โ–Œ", "โ– โก€โ–Œ", "โ– โ   โ–Œ", "โ– โ ‚ โ–Œ", "โ– โ ˆ โ–Œ", "โ– โ ‚ โ–Œ", "โ– โ   โ–Œ", "โ– โก€ โ–Œ", "โ– โ   โ–Œ", "โ– โ ‚ โ–Œ", "โ– โ ˆ โ–Œ", "โ– โ ‚ โ–Œ", "โ– โ   โ–Œ", "โ– โก€ โ–Œ", "โ–โ   โ–Œ", ), 0.08, ), "shark": SpinnerPreset( ( "โ–|\\____________โ–Œ", "โ–_|\\___________โ–Œ", "โ–__|\\__________โ–Œ", "โ–___|\\_________โ–Œ", "โ–____|\\________โ–Œ", "โ–_____|\\_______โ–Œ", "โ–______|\\______โ–Œ", "โ–_______|\\_____โ–Œ", "โ–________|\\____โ–Œ", "โ–_________|\\___โ–Œ", "โ–__________|\\__โ–Œ", "โ–___________|\\_โ–Œ", "โ–____________|\\โ–Œ", "โ–____________/|โ–Œ", "โ–___________/|_โ–Œ", "โ–__________/|__โ–Œ", "โ–_________/|___โ–Œ", "โ–________/|____โ–Œ", "โ–_______/|_____โ–Œ", "โ–______/|______โ–Œ", "โ–_____/|_______โ–Œ", "โ–____/|________โ–Œ", "โ–___/|_________โ–Œ", "โ–__/|__________โ–Œ", "โ–_/|___________โ–Œ", "โ–/|____________โ–Œ", ), 0.12, ), "dqpb": SpinnerPreset(tuple("dqpb"), 0.1), "weather": SpinnerPreset( ( "โ˜€๏ธ ", "โ˜€๏ธ ", "โ˜€๏ธ ", "๐ŸŒค ", "โ›…๏ธ ", "๐ŸŒฅ ", "โ˜๏ธ ", "๐ŸŒง ", "๐ŸŒจ ", "๐ŸŒง ", "๐ŸŒจ ", "๐ŸŒง ", "๐ŸŒจ ", "โ›ˆ ", "๐ŸŒจ ", "๐ŸŒง ", "๐ŸŒจ ", "โ˜๏ธ ", "๐ŸŒฅ ", "โ›…๏ธ ", "๐ŸŒค ", "โ˜€๏ธ ", "โ˜€๏ธ ", ), 0.1, ), "christmas": SpinnerPreset(tuple("๐ŸŒฒ๐ŸŽ„"), 0.4), "grenade": SpinnerPreset( ( "ุŒ ", "โ€ฒ ", " ยด ", " โ€พ ", " โธŒ", " โธŠ", " |", " โŽ", " โ•", " เทด ", " โ“", " ", " ", " ", ), 0.08, ), "point": SpinnerPreset(("โˆ™โˆ™โˆ™", "โ—โˆ™โˆ™", "โˆ™โ—โˆ™", "โˆ™โˆ™โ—", "โˆ™โˆ™โˆ™"), 0.125), "layer": SpinnerPreset(tuple("-=โ‰ก"), 0.15), "betaWave": SpinnerPreset( ("ฯฮฒฮฒฮฒฮฒฮฒฮฒ", "ฮฒฯฮฒฮฒฮฒฮฒฮฒ", "ฮฒฮฒฯฮฒฮฒฮฒฮฒ", "ฮฒฮฒฮฒฯฮฒฮฒฮฒ", "ฮฒฮฒฮฒฮฒฯฮฒฮฒ", "ฮฒฮฒฮฒฮฒฮฒฯฮฒ", "ฮฒฮฒฮฒฮฒฮฒฮฒฯ"), 0.08, ), "fingerDance": SpinnerPreset(("๐Ÿค˜ ", "๐ŸคŸ ", "๐Ÿ–– ", "โœ‹ ", "๐Ÿคš ", "๐Ÿ‘† "), 0.16), "fistBump": SpinnerPreset( ( "๐Ÿคœ\u3000\u3000\u3000\u3000๐Ÿค› ", "๐Ÿคœ\u3000\u3000\u3000\u3000๐Ÿค› ", "๐Ÿคœ\u3000\u3000\u3000\u3000๐Ÿค› ", "\u3000๐Ÿคœ\u3000\u3000๐Ÿค›\u3000 ", "\u3000\u3000๐Ÿคœ๐Ÿค›\u3000\u3000 ", "\u3000๐Ÿคœโœจ๐Ÿค›\u3000\u3000 ", "๐Ÿคœ\u3000โœจ\u3000๐Ÿค›\u3000 ", ), 0.08, ), "soccerHeader": SpinnerPreset( ( " ๐Ÿง‘โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", "๐Ÿง‘ โšฝ๏ธ ๐Ÿง‘ ", ), 0.08, ), "mindblown": SpinnerPreset( ( "๐Ÿ˜ ", "๐Ÿ˜ ", "๐Ÿ˜ฎ ", "๐Ÿ˜ฎ ", "๐Ÿ˜ฆ ", "๐Ÿ˜ฆ ", "๐Ÿ˜ง ", "๐Ÿ˜ง ", "๐Ÿคฏ ", "๐Ÿ’ฅ ", "โœจ ", "\u3000 ", "\u3000 ", "\u3000 ", ), 0.16, ), "speaker": SpinnerPreset(("๐Ÿ”ˆ ", "๐Ÿ”‰ ", "๐Ÿ”Š ", "๐Ÿ”‰ "), 0.16), "orangePulse": SpinnerPreset(("๐Ÿ”ธ ", "๐Ÿ”ถ ", "๐ŸŸ  ", "๐ŸŸ  ", "๐Ÿ”ถ "), 0.1), "bluePulse": SpinnerPreset(("๐Ÿ”น ", "๐Ÿ”ท ", "๐Ÿ”ต ", "๐Ÿ”ต ", "๐Ÿ”ท "), 0.1), "orangeBluePulse": SpinnerPreset( ("๐Ÿ”ธ ", "๐Ÿ”ถ ", "๐ŸŸ  ", "๐ŸŸ  ", "๐Ÿ”ถ ", "๐Ÿ”น ", "๐Ÿ”ท ", "๐Ÿ”ต ", "๐Ÿ”ต ", "๐Ÿ”ท "), 0.1 ), "timeTravel": SpinnerPreset( ( "๐Ÿ•› ", "๐Ÿ•š ", "๐Ÿ•™ ", "๐Ÿ•˜ ", "๐Ÿ•— ", "๐Ÿ•– ", "๐Ÿ•• ", "๐Ÿ•” ", "๐Ÿ•“ ", "๐Ÿ•’ ", "๐Ÿ•‘ ", "๐Ÿ• ", ), 0.1, ), "aesthetic": SpinnerPreset( ( "โ–ฐโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑ", "โ–ฐโ–ฐโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑ", "โ–ฐโ–ฐโ–ฐโ–ฑโ–ฑโ–ฑโ–ฑ", "โ–ฐโ–ฐโ–ฐโ–ฐโ–ฑโ–ฑโ–ฑ", "โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฑโ–ฑ", "โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฑ", "โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐ", "โ–ฐโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑ", ), 0.08, ), "dwarfFortress": SpinnerPreset( ( " โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บโ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บโ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บโ–’โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บโ–’โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บโ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บโ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", "โ˜บ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–“โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–“โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–’โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–’โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–‘โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–‘โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บ โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–“โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–“โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–’โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–’โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–‘โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–‘โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บ โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–“โ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–“โ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–’โ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–’โ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–‘โ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–‘โ–ˆโ–ˆยฃยฃยฃ ", " โ˜บ โ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆโ–ˆยฃยฃยฃ ", " โ˜บโ–“โ–ˆยฃยฃยฃ ", " โ˜บโ–“โ–ˆยฃยฃยฃ ", " โ˜บโ–’โ–ˆยฃยฃยฃ ", " โ˜บโ–’โ–ˆยฃยฃยฃ ", " โ˜บโ–‘โ–ˆยฃยฃยฃ ", " โ˜บโ–‘โ–ˆยฃยฃยฃ ", " โ˜บ โ–ˆยฃยฃยฃ ", " โ˜บโ–ˆยฃยฃยฃ ", " โ˜บโ–ˆยฃยฃยฃ ", " โ˜บโ–“ยฃยฃยฃ ", " โ˜บโ–“ยฃยฃยฃ ", " โ˜บโ–’ยฃยฃยฃ ", " โ˜บโ–’ยฃยฃยฃ ", " โ˜บโ–‘ยฃยฃยฃ ", " โ˜บโ–‘ยฃยฃยฃ ", " โ˜บ ยฃยฃยฃ ", " โ˜บยฃยฃยฃ ", " โ˜บยฃยฃยฃ ", " โ˜บโ–“ยฃยฃ ", " โ˜บโ–“ยฃยฃ ", " โ˜บโ–’ยฃยฃ ", " โ˜บโ–’ยฃยฃ ", " โ˜บโ–‘ยฃยฃ ", " โ˜บโ–‘ยฃยฃ ", " โ˜บ ยฃยฃ ", " โ˜บยฃยฃ ", " โ˜บยฃยฃ ", " โ˜บโ–“ยฃ ", " โ˜บโ–“ยฃ ", " โ˜บโ–’ยฃ ", " โ˜บโ–’ยฃ ", " โ˜บโ–‘ยฃ ", " โ˜บโ–‘ยฃ ", " โ˜บ ยฃ ", " โ˜บยฃ ", " โ˜บยฃ ", " โ˜บโ–“ ", " โ˜บโ–“ ", " โ˜บโ–’ ", " โ˜บโ–’ ", " โ˜บโ–‘ ", " โ˜บโ–‘ ", " โ˜บ ", " โ˜บ &", " โ˜บ โ˜ผ&", " โ˜บ โ˜ผ &", " โ˜บโ˜ผ &", " โ˜บโ˜ผ & ", " โ€ผ & ", " โ˜บ & ", " โ€ผ & ", " โ˜บ & ", " โ€ผ & ", " โ˜บ & ", "โ€ผ & ", " & ", " & ", " & โ–‘ ", " & โ–’ ", " & โ–“ ", " & ยฃ ", " & โ–‘ยฃ ", " & โ–’ยฃ ", " & โ–“ยฃ ", " & ยฃยฃ ", " & โ–‘ยฃยฃ ", " & โ–’ยฃยฃ ", "& โ–“ยฃยฃ ", "& ยฃยฃยฃ ", " โ–‘ยฃยฃยฃ ", " โ–’ยฃยฃยฃ ", " โ–“ยฃยฃยฃ ", " โ–ˆยฃยฃยฃ ", " โ–‘โ–ˆยฃยฃยฃ ", " โ–’โ–ˆยฃยฃยฃ ", " โ–“โ–ˆยฃยฃยฃ ", " โ–ˆโ–ˆยฃยฃยฃ ", " โ–‘โ–ˆโ–ˆยฃยฃยฃ ", " โ–’โ–ˆโ–ˆยฃยฃยฃ ", " โ–“โ–ˆโ–ˆยฃยฃยฃ ", " โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–‘โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–’โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–“โ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–‘โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–’โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–“โ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–’โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", " โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆยฃยฃยฃ ", ), 0.08, ), "fish": SpinnerPreset( ( "~~~~~~~~~~~~~~~~~~~~", "> ~~~~~~~~~~~~~~~~~~", "ยบ> ~~~~~~~~~~~~~~~~~", "(ยบ> ~~~~~~~~~~~~~~~~", "((ยบ> ~~~~~~~~~~~~~~~", "<((ยบ> ~~~~~~~~~~~~~~", "><((ยบ> ~~~~~~~~~~~~~", " ><((ยบ> ~~~~~~~~~~~~", "~ ><((ยบ> ~~~~~~~~~~~", "~~ <>((ยบ> ~~~~~~~~~~", "~~~ ><((ยบ> ~~~~~~~~~", "~~~~ <>((ยบ> ~~~~~~~~", "~~~~~ ><((ยบ> ~~~~~~~", "~~~~~~ <>((ยบ> ~~~~~~", "~~~~~~~ ><((ยบ> ~~~~~", "~~~~~~~~ <>((ยบ> ~~~~", "~~~~~~~~~ ><((ยบ> ~~~", "~~~~~~~~~~ <>((ยบ> ~~", "~~~~~~~~~~~ ><((ยบ> ~", "~~~~~~~~~~~~ <>((ยบ> ", "~~~~~~~~~~~~~ ><((ยบ>", "~~~~~~~~~~~~~~ <>((ยบ", "~~~~~~~~~~~~~~~ ><((", "~~~~~~~~~~~~~~~~ <>(", "~~~~~~~~~~~~~~~~~ ><", "~~~~~~~~~~~~~~~~~~ <", "~~~~~~~~~~~~~~~~~~~~", ), 0.08, ), } """Named spinner animations ported from cli-spinners, keyed by name. Each value is a :class:`SpinnerPreset` bundling frames and a tuned interval. Select one with :class:`~click_extra.spinner.Spinner`'s ``spinner`` argument:: from click_extra import Spinner, SPINNERS with Spinner("Brewing tea", spinner=SPINNERS["moon"]): ... Unlike the upstream ``\\b``-based renderers, :class:`~click_extra.spinner.Spinner` redraws the whole line, so the multi-character animations (``bouncingBar``, ``pong``, ``shark``, โ€ฆ) render correctly here. """