Contest
This is my little script that displays a digital clock in the terminal:
bashclock
#!/usr/bin/env bash
# A rather nice looking digital clock in the terminal.
function cleanup_() {
printf '\033[?25h' # unhide cursor
stty echo 2>/dev/null
}
trap cleanup_ EXIT
REFRESH_INTERVAL=0.2 # display the clock every 0.2 seconds, adjust if necessary
TIME_FORMAT="%H:%M:%S" # change to "%I:%M:%S" for 12-hour format
# Feel free to modify the FONT, the only restriction is that all characters are
# of equal height. There should be 11 characters, in this order: "0123456789:"
FONT=(
"ββββ "
"β β "
"β β "
"ββββ "
" β "
" β "
" β "
" β "
"ββββ "
"ββββ "
"β "
"ββββ "
"ββββ "
"ββββ "
" β "
"ββββ "
"β β "
"ββββ "
" β "
" β "
"ββββ "
"ββββ "
" β "
"ββββ "
"ββββ "
"ββββ "
"β β "
"ββββ "
"ββββ "
" β "
" β "
" β "
"ββββ "
"ββββ "
"β β "
"ββββ "
"ββββ "
"ββββ "
" β "
"ββββ "
" "
" β "
" "
" β "
)
FONT_HEIGHT=$(( ${#FONT[@]} / 11 )) # FONT height in characters
function figletise() {
read str;
for (( line = 0; line < FONT_HEIGHT; line++ )); do
printf " "
for (( c=0; c<${#str}; c++ )); do
local ch=$(LC_CTYPE=C printf '%d' "'${str:$c:1}") # get ascii value
ch=$((ch-48))
if (( ch >= 0 && ch <= 10 )); then
local i=$(( ch * FONT_HEIGHT + line )) # 2D -> 1D array conversion
printf "${FONT[$i]}"
fi
done
printf "\n"
done
}
stty -echo 2>/dev/null
printf '\033[?25l\n' # hide cursor
unset EXIT_
while true; do
date +"$TIME_FORMAT" | figletise
[[ -z $EXIT_ ]] || exit 0
read -t $REFRESH_INTERVAL -n 1 && EXIT_=1;
printf "\033[${FONT_HEIGHT}A\r" # move cursor to beginning
done
It looks like this:
Its font is nice but rather bland.
Design a better font for it. Whoever comes up with the best looking font wins. If there is interest in this, Iβll pick a few good ones, and there will be a vote to determine the winner. You can post as many entries as you want. There is no prize, at the moment
Adding the font to the script is fairly simple, no advanced bash
scripting is needed. All characters are listed one after the other, in the variable FONT
. They have to be of the same height, and there has to be exactly 11 of them, in this order:
0
1
2
3
4
5
6
7
8
9
:
They can be of variable width (though that may look a bit funny). Try not to make them too wide (the entire clock display should not be much wider than 80 characters).
Here is an example of what I came up with (far from perfect, but it gives you the idea of the possibilities):
Nixie tube clock
#!/usr/bin/env bash
# Nixie tube Clock
function cleanup_() {
printf '\033[?25h' # unhide cursor
stty echo 2>/dev/null
}
trap cleanup_ EXIT
REFRESH_INTERVAL=0.2 # display the clock every 0.2 seconds, adjust if necessary
TIME_FORMAT="%H:%M:%S" # change to "%I:%M:%S" for 12-hour format
# Feel free to modify the FONT, the only restriction is that all characters are
# of equal height. There should be 11 characters, in this order: "0123456789:"
FONT=(
"\033[48;2;13;17;57m\033[38;2;4;8;18mβ\033[48;2;27;41;116m\033[38;2;7;14;51mβ\033[48;2;33;56;154m\033[38;2;47;80;152mβ\033[48;2;48;55;155m\033[38;2;49;81;182mβ\033[48;2;25;20;103m\033[38;2;21;51;144mβ\033[48;2;25;31;118m\033[38;2;33;60;154mβ\033[48;2;25;34;134m\033[38;2;53;81;173mβ\033[48;2;34;44;159m\033[38;2;41;61;120mβ\033[48;2;29;27;105m\033[38;2;5;6;38mβ\033[48;2;6;3;22m\033[38;2;6;1;12mβ\033[0m"
"\033[48;2;42;14;87m\033[38;2;34;27;102mβ\033[48;2;59;10;64m\033[38;2;48;29;113mβ\033[48;2;70;18;22m\033[38;2;41;15;47mβ\033[48;2;133;87;49m\033[38;2;58;13;34mβ\033[48;2;204;148;81m\033[38;2;66;3;45mβ\033[48;2;178;112;62m\033[38;2;57;6;24mβ\033[48;2;112;43;23m\033[38;2;62;15;30mβ\033[48;2;83;26;38m\033[38;2;52;9;67mβ\033[48;2;45;5;59m\033[38;2;37;8;91mβ\033[48;2;21;5;46m\033[38;2;15;3;54mβ\033[0m"
"\033[48;2;66;10;104m\033[38;2;79;38;109mβ\033[48;2;74;4;64m\033[38;2;67;7;55mβ\033[48;2;157;99;58m\033[38;2;96;36;19mβ\033[48;2;156;88;46m\033[38;2;197;139;86mβ\033[48;2;111;22;28m\033[38;2;123;48;19mβ\033[48;2;106;23;20m\033[38;2;137;65;33mβ\033[48;2;198;126;63m\033[38;2;177;106;62mβ\033[48;2;125;66;41m\033[38;2;99;37;40mβ\033[48;2;50;3;41m\033[38;2;45;3;43mβ\033[48;2;21;3;35m\033[38;2;20;4;35mβ\033[0m"
"\033[48;2;84;25;155m\033[38;2;75;15;137mβ\033[48;2;110;43;110m\033[38;2;86;15;90mβ\033[48;2;201;143;116m\033[38;2;180;124;84mβ\033[48;2;110;33;27m\033[38;2;115;43;28mβ\033[48;2;101;13;31m\033[38;2;101;14;19mβ\033[48;2;104;14;34m\033[38;2;99;13;22mβ\033[48;2;162;91;63m\033[38;2;169;109;60mβ\033[48;2;166;103;68m\033[38;2;164;106;64mβ\033[48;2;54;3;48m\033[38;2;54;3;50mβ\033[48;2;22;1;35m\033[38;2;23;3;37mβ\033[0m"
"\033[48;2;58;16;105m\033[38;2;80;25;138mβ\033[48;2;66;3;75m\033[38;2;88;22;84mβ\033[48;2;129;68;42m\033[38;2;162;92;63mβ\033[48;2;181;116;66m\033[38;2;129;59;46mβ\033[48;2;118;32;23m\033[38;2;108;21;28mβ\033[48;2;117;36;17m\033[38;2;113;22;32mβ\033[48;2;204;146;90m\033[38;2;182;104;60mβ\033[48;2;112;46;46m\033[38;2;130;63;40mβ\033[48;2;50;3;36m\033[38;2;54;4;38mβ\033[48;2;18;2;24m\033[38;2;20;2;30mβ\033[0m"
"\033[48;2;37;13;110m\033[38;2;58;23;106mβ\033[48;2;51;19;107m\033[38;2;56;4;84mβ\033[48;2;58;7;39m\033[38;2;85;20;24mβ\033[48;2;93;35;23m\033[38;2;201;138;79mβ\033[48;2;147;86;59m\033[38;2;176;98;48mβ\033[48;2;143;91;68m\033[38;2;177;110;68mβ\033[48;2;76;15;31m\033[38;2;166;118;79mβ\033[48;2;66;22;73m\033[38;2;95;27;44mβ\033[48;2;50;26;106m\033[38;2;53;5;58mβ\033[48;2;24;19;66m\033[38;2;15;3;41mβ\033[0m"
"\033[48;2;6;10;46m\033[38;2;34;33;107mβ\033[48;2;52;67;152m\033[38;2;46;37;138mβ\033[48;2;66;105;199m\033[38;2;38;21;91mβ\033[48;2;52;86;191m\033[38;2;52;9;61mβ\033[48;2;31;53;173m\033[38;2;52;7;64mβ\033[48;2;39;79;178m\033[38;2;47;5;59mβ\033[48;2;76;154;212m\033[38;2;53;15;88mβ\033[48;2;83;154;208m\033[38;2;32;34;126mβ\033[48;2;28;50;105m\033[38;2;44;52;153mβ\033[48;2;5;1;20m\033[38;2;8;8;54mβ\033[0m"
"\033[38;2;2;8;15mβ\033[38;2;2;5;42mβ\033[38;2;20;41;88mβ\033[38;2;48;74;144mβ\033[38;2;51;80;167mβ\033[38;2;47;87;158mβ\033[38;2;43;86;137mβ\033[38;2;5;32;72mβ\033[38;2;2;8;42mβ\033[38;2;5;4;13mβ\033[0m"
"\033[48;2;3;4;18m\033[38;2;3;3;5mβ\033[48;2;15;25;73m\033[38;2;5;5;7mβ\033[48;2;38;63;144m\033[38;2;15;27;56mβ\033[48;2;50;85;194m\033[38;2;45;66;131mβ\033[48;2;16;47;157m\033[38;2;34;55;131mβ\033[48;2;8;32;149m\033[38;2;36;55;124mβ\033[48;2;22;60;179m\033[38;2;36;62;123mβ\033[48;2;39;80;185m\033[38;2;22;44;88mβ\033[48;2;21;38;106m\033[38;2;1;5;16mβ\033[48;2;3;3;31m\033[38;2;3;3;2mβ\033[0m"
"\033[48;2;16;13;71m\033[38;2;9;17;58mβ\033[48;2;27;23;102m\033[38;2;27;39;120mβ\033[48;2;33;4;46m\033[38;2;27;31;111mβ\033[48;2;49;3;24m\033[38;2;31;24;90mβ\033[48;2;63;9;17m\033[38;2;29;22;67mβ\033[48;2;65;8;6m\033[38;2;22;8;46mβ\033[48;2;59;5;21m\033[38;2;28;13;53mβ\033[48;2;39;3;27m\033[38;2;21;13;75mβ\033[48;2;27;6;69m\033[38;2;18;19;108mβ\033[48;2;16;7;56m\033[38;2;16;16;71mβ\033[0m"
"\033[48;2;52;22;78m\033[38;2;51;22;75mβ\033[48;2;53;10;74m\033[38;2;52;16;73mβ\033[48;2;42;2;26m\033[38;2;41;2;24mβ\033[48;2;81;9;12m\033[38;2;68;7;18mβ\033[48;2;165;102;40m\033[38;2;169;102;55mβ\033[48;2;199;137;60m\033[38;2;172;100;45mβ\033[48;2;91;11;10m\033[38;2;90;8;7mβ\033[48;2;58;5;30m\033[38;2;49;3;17mβ\033[48;2;37;3;48m\033[38;2;30;2;51mβ\033[48;2;21;3;43m\033[38;2;15;4;46mβ\033[0m"
"\033[48;2;65;24;129m\033[38;2;47;9;99mβ\033[48;2;63;5;128m\033[38;2;59;5;109mβ\033[48;2;66;11;70m\033[38;2;50;1;41mβ\033[48;2;84;8;38m\033[38;2;75;5;15mβ\033[48;2;158;87;34m\033[38;2;168;112;48mβ\033[48;2;190;114;52m\033[38;2;197;141;64mβ\033[48;2;85;3;30m\033[38;2;82;9;9mβ\033[48;2;62;7;46m\033[38;2;59;7;30mβ\033[48;2;41;4;59m\033[38;2;40;6;46mβ\033[48;2;19;3;46m\033[38;2;21;3;40mβ\033[0m"
"\033[48;2;51;8;100m\033[38;2;67;23;125mβ\033[48;2;58;4;106m\033[38;2;65;6;121mβ\033[48;2;55;3;40m\033[38;2;72;23;73mβ\033[48;2;86;9;22m\033[38;2;90;10;37mβ\033[48;2;175;105;53m\033[38;2;173;98;37mβ\033[48;2;180;108;54m\033[38;2;198;121;49mβ\033[48;2;81;4;23m\033[38;2;85;7;22mβ\033[48;2;62;6;34m\033[38;2;61;8;32mβ\033[48;2;46;7;44m\033[38;2;41;6;45mβ\033[48;2;16;3;36m\033[38;2;18;3;41mβ\033[0m"
"\033[48;2;34;9;93m\033[38;2;50;17;96mβ\033[48;2;43;11;106m\033[38;2;46;4;94mβ\033[48;2;42;1;42m\033[38;2;50;1;35mβ\033[48;2;61;1;23m\033[38;2;78;9;24mβ\033[48;2;102;29;25m\033[38;2;171;97;59mβ\033[48;2;119;40;40m\033[38;2;160;79;47mβ\033[48;2;69;1;36m\033[38;2;83;5;36mβ\033[48;2;44;5;35m\033[38;2;63;6;36mβ\033[48;2;44;21;81m\033[38;2;48;8;39mβ\033[48;2;22;17;73m\033[38;2;12;2;31mβ\033[0m"
"\033[48;2;7;12;47m\033[38;2;15;18;83mβ\033[48;2;50;60;142m\033[38;2;31;31;137mβ\033[48;2;39;67;156m\033[38;2;30;13;70mβ\033[48;2;20;51;132m\033[38;2;54;6;39mβ\033[48;2;19;31;122m\033[38;2;48;4;44mβ\033[48;2;12;34;120m\033[38;2;44;1;44mβ\033[48;2;28;74;147m\033[38;2;48;4;63mβ\033[48;2;61;119;181m\033[38;2;26;11;77mβ\033[48;2;56;93;161m\033[38;2;27;34;118mβ\033[48;2;5;18;66m\033[38;2;37;43;104mβ\033[0m"
"\033[38;2;3;2;21mβ\033[38;2;3;11;44mβ\033[38;2;41;78;135mβ\033[38;2;70;115;196mβ\033[38;2;61;93;194mβ\033[38;2;54;98;192mβ\033[38;2;73;140;207mβ\033[38;2;82;137;173mβ\033[38;2;8;29;63mβ\033[38;2;1;2;27mβ\033[0m"
"\033[48;2;3;7;25m\033[38;2;3;5;2mβ\033[48;2;19;28;87m\033[38;2;1;6;15mβ\033[48;2;46;73;173m\033[38;2;26;41;78mβ\033[48;2;43;74;194m\033[38;2;44;69;127mβ\033[48;2;14;30;166m\033[38;2;33;48;124mβ\033[48;2;17;35;164m\033[38;2;39;52;127mβ\033[48;2;33;60;175m\033[38;2;39;62;123mβ\033[48;2;56;74;179m\033[38;2;18;31;66mβ\033[48;2;21;26;100m\033[38;2;2;11;19mβ\033[48;2;2;2;24m\033[38;2;2;5;6mβ\033[0m"
"\033[48;2;23;15;83m\033[38;2;22;28;77mβ\033[48;2;33;18;93m\033[38;2;30;36;120mβ\033[48;2;49;8;37m\033[38;2;35;30;104mβ\033[48;2;68;17;27m\033[38;2;36;25;84mβ\033[48;2;73;17;18m\033[38;2;36;16;63mβ\033[48;2;72;14;16m\033[38;2;35;10;52mβ\033[48;2;74;13;17m\033[38;2;44;18;54mβ\033[48;2;67;14;31m\033[38;2;34;15;82mβ\033[48;2;39;6;66m\033[38;2;27;17;101mβ\033[48;2;19;5;58m\033[38;2;13;7;56mβ\033[0m"
"\033[48;2;59;24;99m\033[38;2;61;33;95mβ\033[48;2;50;1;61m\033[38;2;53;5;60mβ\033[48;2;62;6;15m\033[38;2;70;14;22mβ\033[48;2;91;21;20m\033[38;2;144;71;57mβ\033[48;2;103;21;18m\033[38;2;150;68;40mβ\033[48;2;111;24;19m\033[38;2;138;57;36mβ\033[48;2;137;61;39m\033[38;2;139;62;52mβ\033[48;2;167;102;63m\033[38;2;104;47;25mβ\033[48;2;50;7;34m\033[38;2;47;8;48mβ\033[48;2;22;4;31m\033[38;2;19;3;49mβ\033[0m"
"\033[48;2;72;25;134m\033[38;2;56;11;106mβ\033[48;2;60;10;115m\033[38;2;52;6;89mβ\033[48;2;60;11;62m\033[38;2;49;3;32mβ\033[48;2;69;7;42m\033[38;2;61;1;18mβ\033[48;2;87;15;21m\033[38;2;85;15;23mβ\033[48;2;99;22;13m\033[38;2;96;21;21mβ\033[48;2;143;67;69m\033[38;2;110;39;22mβ\033[48;2;124;61;67m\033[38;2;163;101;73mβ\033[48;2;45;4;59m\033[38;2;49;7;46mβ\033[48;2;20;3;40m\033[38;2;22;4;36mβ\033[0m"
"\033[48;2;58;11;116m\033[38;2;75;29;138mβ\033[48;2;58;3;92m\033[38;2;68;15;115mβ\033[48;2;78;8;33m\033[38;2;72;13;67mβ\033[48;2;183;111;76m\033[38;2;103;40;42mβ\033[48;2;176;100;56m\033[38;2;178;108;65mβ\033[48;2;117;25;23m\033[38;2;177;96;63mβ\033[48;2;86;7;28m\033[38;2;141;66;55mβ\033[48;2;74;7;32m\033[38;2;79;11;40mβ\033[48;2;36;4;30m\033[38;2;40;4;46mβ\033[48;2;16;5;24m\033[38;2;17;3;31mβ\033[0m"
"\033[48;2;42;11;103m\033[38;2;56;17;108mβ\033[48;2;48;10;96m\033[38;2;50;4;77mβ\033[48;2;91;29;32m\033[38;2;95;25;24mβ\033[48;2;162;87;56m\033[38;2;183;101;66mβ\033[48;2;155;82;39m\033[38;2;140;47;11mβ\033[48;2;168;105;72m\033[38;2;126;38;33mβ\033[48;2;160;91;70m\033[38;2;101;28;35mβ\033[48;2;122;65;73m\033[38;2;76;12;29mβ\033[48;2;54;16;85m\033[38;2;41;8;45mβ\033[48;2;24;12;61m\033[38;2;9;1;30mβ\033[0m"
"\033[48;2;12;22;65m\033[38;2;31;18;94mβ\033[48;2;59;72;158m\033[38;2;41;29;126mβ\033[48;2;37;62;161m\033[38;2;56;14;53mβ\033[48;2;28;48;139m\033[38;2;79;18;54mβ\033[48;2;30;24;114m\033[38;2;62;7;50mβ\033[48;2;25;42;116m\033[38;2;52;1;43mβ\033[48;2;29;87;143m\033[38;2;79;9;57mβ\033[48;2;71;125;183m\033[38;2;58;11;81mβ\033[48;2;54;78;145m\033[38;2;41;43;123mβ\033[48;2;4;7;46m\033[38;2;27;27;79mβ\033[0m"
"\033[38;2;1;9;20mβ\033[38;2;7;18;60mβ\033[38;2;44;89;153mβ\033[38;2;58;113;194mβ\033[38;2;57;93;196mβ\033[38;2;59;100;194mβ\033[38;2;73;154;202mβ\033[38;2;68;124;150mβ\033[38;2;5;17;63mβ\033[38;2;4;3;24mβ\033[0m"
"\033[48;2;11;6;33m\033[38;2;9;2;14mβ\033[48;2;24;35;88m\033[38;2;2;7;23mβ\033[48;2;46;86;171m\033[38;2;27;48;82mβ\033[48;2;37;78;182m\033[38;2;36;65;127mβ\033[48;2;21;30;150m\033[38;2;27;48;127mβ\033[48;2;35;34;153m\033[38;2;38;56;129mβ\033[48;2;41;58;179m\033[38;2;41;58;125mβ\033[48;2;54;65;186m\033[38;2;14;21;71mβ\033[48;2;21;22;95m\033[38;2;3;6;23mβ\033[48;2;2;3;14m\033[38;2;3;4;4mβ\033[0m"
"\033[48;2;30;18;88m\033[38;2;23;26;79mβ\033[48;2;43;20;90m\033[38;2;31;31;115mβ\033[48;2;108;61;45m\033[38;2;38;28;107mβ\033[48;2;207;145;76m\033[38;2;66;31;80mβ\033[48;2;212;151;60m\033[38;2;78;28;52mβ\033[48;2;221;163;65m\033[38;2;84;26;43mβ\033[48;2;225;174;69m\033[38;2;79;30;46mβ\033[48;2;159;113;63m\033[38;2;62;23;82mβ\033[48;2;63;21;72m\033[38;2;43;13;101mβ\033[48;2;20;4;50m\033[38;2;16;3;44mβ\033[0m"
"\033[48;2;55;26;93m\033[38;2;61;33;94mβ\033[48;2;42;4;59m\033[38;2;48;7;63mβ\033[48;2;43;2;9m\033[38;2;76;14;13mβ\033[48;2;63;2;11m\033[38;2;116;39;22mβ\033[48;2;96;19;26m\033[38;2;111;28;18mβ\033[48;2;156;96;54m\033[38;2;130;56;10mβ\033[48;2;191;135;77m\033[38;2;225;168;67mβ\033[48;2;97;28;26m\033[38;2;128;63;31mβ\033[48;2;54;6;43m\033[38;2;68;17;52mβ\033[48;2;22;2;40m\033[38;2;24;2;43mβ\033[0m"
"\033[48;2;73;31;145m\033[38;2;47;12;110mβ\033[48;2;59;8;109m\033[38;2;47;6;85mβ\033[48;2;51;3;63m\033[38;2;39;1;30mβ\033[48;2;68;4;38m\033[38;2;60;4;22mβ\033[48;2;93;23;26m\033[38;2;95;25;17mβ\033[48;2;175;113;53m\033[38;2;216;158;76mβ\033[48;2;223;161;79m\033[38;2;143;82;24mβ\033[48;2;128;63;58m\033[38;2;95;26;45mβ\033[48;2;54;4;53m\033[38;2;50;3;56mβ\033[48;2;21;3;37m\033[38;2;20;3;35mβ\033[0m"
"\033[48;2;63;15;121m\033[38;2;77;28;153mβ\033[48;2;55;4;77m\033[38;2;65;14;113mβ\033[48;2;62;5;29m\033[38;2;51;10;58mβ\033[48;2;85;6;24m\033[38;2;62;2;40mβ\033[48;2;91;12;26m\033[38;2;75;5;39mβ\033[48;2;113;21;33m\033[38;2;110;24;26mβ\033[48;2;141;71;33m\033[38;2;170;112;61mβ\033[48;2;211;146;80m\033[38;2;189;130;84mβ\033[48;2;72;9;30m\033[38;2;64;8;31mβ\033[48;2;25;4;25m\033[38;2;23;4;27mβ\033[0m"
"\033[48;2;42;9;100m\033[38;2;59;17;108mβ\033[48;2;46;6;95m\033[38;2;51;2;77mβ\033[48;2;121;80;57m\033[38;2;109;59;48mβ\033[48;2;223;167;95m\033[38;2;135;64;40mβ\033[48;2;200;151;56m\033[38;2;114;29;23mβ\033[48;2;201;149;54m\033[38;2;130;29;29mβ\033[48;2;208;165;69m\033[38;2;183;120;47mβ\033[48;2;101;45;53m\033[38;2;185;132;56mβ\033[48;2;63;17;89m\033[38;2;68;16;44mβ\033[48;2;22;8;56m\033[38;2;18;2;29mβ\033[0m"
"\033[48;2;21;27;66m\033[38;2;37;26;107mβ\033[48;2;62;75;163m\033[38;2;45;26;132mβ\033[48;2;43;53;157m\033[38;2;50;13;65mβ\033[48;2;50;39;126m\033[38;2;113;62;39mβ\033[48;2;64;30;123m\033[38;2;191;138;77mβ\033[48;2;46;43;125m\033[38;2;177;123;65mβ\033[48;2;49;82;165m\033[38;2;89;38;53mβ\033[48;2;75;121;198m\033[38;2;63;13;100mβ\033[48;2;48;72;139m\033[38;2;60;48;137mβ\033[48;2;1;3;33m\033[38;2;21;20;69mβ\033[0m"
"\033[38;2;4;4;20mβ\033[38;2;7;21;58mβ\033[38;2;68;90;162mβ\033[38;2;81;107;189mβ\033[38;2;62;83;198mβ\033[38;2;69;105;205mβ\033[38;2;81;152;204mβ\033[38;2;56;106;141mβ\033[38;2;3;12;48mβ\033[38;2;2;1;15mβ\033[0m"
"\033[48;2;3;7;29m\033[38;2;4;5;7mβ\033[48;2;27;35;102m\033[38;2;3;8;23mβ\033[48;2;45;81;189m\033[38;2;28;49;93mβ\033[48;2;32;66;182m\033[38;2;40;68;126mβ\033[48;2;15;25;147m\033[38;2;25;44;116mβ\033[48;2;32;35;161m\033[38;2;42;55;126mβ\033[48;2;43;66;190m\033[38;2;46;62;127mβ\033[48;2;55;66;175m\033[38;2;12;20;60mβ\033[48;2;23;23;84m\033[38;2;2;5;14mβ\033[48;2;3;2;15m\033[38;2;2;3;5mβ\033[0m"
"\033[48;2;31;21;93m\033[38;2;25;30;86mβ\033[48;2;41;14;77m\033[38;2;36;36;115mβ\033[48;2;38;5;27m\033[38;2;29;32;103mβ\033[48;2;57;3;7m\033[38;2;37;27;78mβ\033[48;2;120;64;34m\033[38;2;47;6;52mβ\033[48;2;196;138;64m\033[38;2;80;35;57mβ\033[48;2;114;51;15m\033[38;2;65;21;57mβ\033[48;2;86;27;54m\033[38;2;48;17;93mβ\033[48;2;42;7;73m\033[38;2;35;18;100mβ\033[48;2;11;3;47m\033[38;2;8;3;48mβ\033[0m"
"\033[48;2;63;21;92m\033[38;2;64;29;95mβ\033[48;2;60;1;53m\033[38;2;54;2;51mβ\033[48;2;73;10;15m\033[38;2;55;3;19mβ\033[48;2;108;41;22m\033[38;2;88;18;22mβ\033[48;2;216;145;78m\033[38;2;184;125;55mβ\033[48;2;180;106;55m\033[38;2;218;162;68mβ\033[48;2;133;64;31m\033[38;2;138;77;31mβ\033[48;2;97;30;41m\033[38;2;94;30;45mβ\033[48;2;42;2;39m\033[38;2;47;6;55mβ\033[48;2;15;2;32m\033[38;2;15;4;40mβ\033[0m"
"\033[48;2;83;26;150m\033[38;2;63;12;116mβ\033[48;2;84;18;111m\033[38;2;65;2;81mβ\033[48;2;126;51;66m\033[38;2;73;9;18mβ\033[48;2;190;111;77m\033[38;2;175;111;57mβ\033[48;2;132;28;24m\033[38;2;170;94;48mβ\033[48;2;172;80;48m\033[38;2;169;96;57mβ\033[48;2;125;41;34m\033[38;2;127;58;33mβ\033[48;2;102;29;68m\033[38;2;99;28;53mβ\033[48;2;43;3;50m\033[38;2;45;4;45mβ\033[48;2;15;1;29m\033[38;2;15;3;30mβ\033[0m"
"\033[48;2;73;13;115m\033[38;2;88;27;145mβ\033[48;2;73;6;78m\033[38;2;92;27;108mβ\033[48;2;194;131;84m\033[38;2;184;116;91mβ\033[48;2;207;139;72m\033[38;2;146;62;34mβ\033[48;2;213;140;63m\033[38;2;138;38;29mβ\033[48;2;233;166;53m\033[38;2;199;118;61mβ\033[48;2;183;120;52m\033[38;2;129;53;27mβ\033[48;2;115;41;47m\033[38;2;107;33;58mβ\033[48;2;50;1;35m\033[38;2;45;1;44mβ\033[48;2;19;1;24m\033[38;2;17;1;26mβ\033[0m"
"\033[48;2;46;10;109m\033[38;2;67;16;110mβ\033[48;2;42;7;80m\033[38;2;54;2;68mβ\033[48;2;63;5;25m\033[38;2;89;26;22mβ\033[48;2;80;4;24m\033[38;2;122;44;25mβ\033[48;2;118;33;27m\033[38;2;138;46;35mβ\033[48;2;202;123;66m\033[38;2;208;133;74mβ\033[48;2;122;51;27m\033[38;2;140;71;32mβ\033[48;2;80;20;65m\033[38;2;94;22;36mβ\033[48;2;50;24;83m\033[38;2;48;1;47mβ\033[48;2;15;7;49m\033[38;2;16;1;32mβ\033[0m"
"\033[48;2;29;34;85m\033[38;2;37;22;113mβ\033[48;2;63;73;168m\033[38;2;38;28;122mβ\033[48;2;33;54;147m\033[38;2;37;5;55mβ\033[48;2;26;41;129m\033[38;2;47;1;41mβ\033[48;2;26;22;112m\033[38;2;66;5;30mβ\033[48;2;39;48;132m\033[38;2;157;93;88mβ\033[48;2;46;89;165m\033[38;2;104;38;62mβ\033[48;2;77;121;191m\033[38;2;57;16;99mβ\033[48;2;49;64;130m\033[38;2;50;51;122mβ\033[48;2;2;3;38m\033[38;2;14;14;53mβ\033[0m"
"\033[38;2;2;11;20mβ\033[38;2;15;23;82mβ\033[38;2;63;104;172mβ\033[38;2;67;106;195mβ\033[38;2;61;90;201mβ\033[38;2;60;106;198mβ\033[38;2;73;155;204mβ\033[38;2;52;99;138mβ\033[38;2;1;10;53mβ\033[38;2;2;4;19mβ\033[0m"
"\033[48;2;3;7;29m\033[38;2;4;5;7mβ\033[48;2;27;35;102m\033[38;2;3;8;23mβ\033[48;2;45;81;189m\033[38;2;28;49;93mβ\033[48;2;32;66;182m\033[38;2;40;68;126mβ\033[48;2;15;25;147m\033[38;2;25;44;116mβ\033[48;2;32;35;161m\033[38;2;42;55;126mβ\033[48;2;43;66;190m\033[38;2;46;62;127mβ\033[48;2;55;66;175m\033[38;2;12;20;60mβ\033[48;2;23;23;84m\033[38;2;2;5;14mβ\033[48;2;3;2;15m\033[38;2;2;3;5mβ\033[0m"
"\033[48;2;26;14;75m\033[38;2;27;22;77mβ\033[48;2;52;20;88m\033[38;2;36;32;122mβ\033[48;2;99;50;41m\033[38;2;45;27;97mβ\033[48;2;155;101;55m\033[38;2;56;21;74mβ\033[48;2;162;104;65m\033[38;2;57;21;67mβ\033[48;2;138;91;55m\033[38;2;44;12;41mβ\033[48;2;168;117;87m\033[38;2;56;24;48mβ\033[48;2;93;43;34m\033[38;2;46;19;75mβ\033[48;2;56;17;66m\033[38;2;31;13;107mβ\033[48;2;23;6;51m\033[38;2;16;7;69mβ\033[0m"
"\033[48;2;54;25;90m\033[38;2;63;37;81mβ\033[48;2;62;7;77m\033[38;2;66;15;58mβ\033[48;2;96;43;33m\033[38;2;145;93;62mβ\033[48;2;166;98;68m\033[38;2;165;99;58mβ\033[48;2;113;34;14m\033[38;2;161;81;43mβ\033[48;2;98;22;22m\033[38;2;140;61;32mβ\033[48;2;78;13;22m\033[38;2;100;28;16mβ\033[48;2;67;13;26m\033[38;2;78;21;32mβ\033[48;2;39;5;47m\033[38;2;54;17;55mβ\033[48;2;22;5;42m\033[38;2;23;4;42mβ\033[0m"
"\033[48;2;72;26;133m\033[38;2;58;15;118mβ\033[48;2;66;7;115m\033[38;2;65;4;110mβ\033[48;2;78;15;82m\033[38;2;76;5;42mβ\033[48;2;86;17;44m\033[38;2;153;88;51mβ\033[48;2;119;43;36m\033[38;2;203;126;68mβ\033[48;2;137;51;41m\033[38;2;154;77;45mβ\033[48;2;143;57;56m\033[38;2;101;25;27mβ\033[48;2;114;32;63m\033[38;2;89;17;45mβ\033[48;2;50;1;54m\033[38;2;48;2;48mβ\033[48;2;23;3;40m\033[38;2;23;3;36mβ\033[0m"
"\033[48;2;57;11;107m\033[38;2;73;26;131mβ\033[48;2;51;2;92m\033[38;2;64;7;112mβ\033[48;2;60;5;39m\033[38;2;66;13;67mβ\033[48;2;78;17;15m\033[38;2;68;6;39mβ\033[48;2;91;15;22m\033[38;2;86;11;41mβ\033[48;2;104;15;33m\033[38;2;106;19;38mβ\033[48;2;151;67;53m\033[38;2;152;61;46mβ\033[48;2;157;85;57m\033[38;2;134;55;52mβ\033[48;2;57;11;27m\033[38;2;50;2;39mβ\033[48;2;22;3;29m\033[38;2;24;3;35mβ\033[0m"
"\033[48;2;39;10;98m\033[38;2;57;12;99mβ\033[48;2;46;9;100m\033[38;2;49;2;83mβ\033[48;2;62;7;35m\033[38;2;76;21;31mβ\033[48;2;134;69;48m\033[38;2;154;88;65mβ\033[48;2;174;95;59m\033[38;2;131;47;31mβ\033[48;2;169;98;68m\033[38;2;126;38;31mβ\033[48;2;122;62;37m\033[38;2;191;120;83mβ\033[48;2;92;19;55m\033[38;2;125;52;39mβ\033[48;2;60;26;88m\033[38;2;68;19;51mβ\033[48;2;29;19;71m\033[38;2;23;2;44mβ\033[0m"
"\033[48;2;29;34;85m\033[38;2;23;25;95mβ\033[48;2;63;73;168m\033[38;2;36;36;136mβ\033[48;2;33;54;147m\033[38;2;37;11;71mβ\033[48;2;26;41;129m\033[38;2;50;16;55mβ\033[48;2;26;22;112m\033[38;2;58;16;49mβ\033[48;2;39;48;132m\033[38;2;57;4;48mβ\033[48;2;46;89;165m\033[38;2;69;18;66mβ\033[48;2;77;121;191m\033[38;2;51;16;96mβ\033[48;2;49;64;130m\033[38;2;44;45;127mβ\033[48;2;2;3;38m\033[38;2;35;35;88mβ\033[0m"
"\033[38;2;2;11;20mβ\033[38;2;15;23;82mβ\033[38;2;63;104;172mβ\033[38;2;67;106;195mβ\033[38;2;61;90;201mβ\033[38;2;60;106;198mβ\033[38;2;73;155;204mβ\033[38;2;52;99;138mβ\033[38;2;1;10;53mβ\033[38;2;2;4;19mβ\033[0m"
"\033[48;2;24;23;66m\033[38;2;9;3;5mβ\033[48;2;22;41;127m\033[38;2;7;29;64mβ\033[48;2;33;66;165m\033[38;2;50;87;158mβ\033[48;2;42;54;146m\033[38;2;45;77;171mβ\033[48;2;19;16;98m\033[38;2;21;50;154mβ\033[48;2;22;32;122m\033[38;2;37;63;161mβ\033[48;2;19;41;147m\033[38;2;47;79;167mβ\033[48;2;33;44;155m\033[38;2;31;49;116mβ\033[48;2;21;23;95m\033[38;2;3;6;34mβ\033[48;2;2;5;15m\033[38;2;6;2;7mβ\033[0m"
"\033[48;2;38;15;84m\033[38;2;29;34;106mβ\033[48;2;39;6;51m\033[38;2;34;28;103mβ\033[48;2;48;4;18m\033[38;2;29;10;45mβ\033[48;2;66;11;20m\033[38;2;39;8;42mβ\033[48;2;116;59;29m\033[38;2;44;4;37mβ\033[48;2;86;29;13m\033[38;2;41;4;27mβ\033[48;2;47;1;10m\033[38;2;36;9;29mβ\033[48;2;37;5;41m\033[38;2;27;6;62mβ\033[48;2;26;4;70m\033[38;2;27;11;89mβ\033[48;2;9;2;41m\033[38;2;7;4;37mβ\033[0m"
"\033[48;2;57;9;110m\033[38;2;74;38;100mβ\033[48;2;60;3;61m\033[38;2;50;2;38mβ\033[48;2;79;5;23m\033[38;2;65;4;18mβ\033[48;2;141;60;26m\033[38;2;108;35;18mβ\033[48;2;202;115;65m\033[38;2;206;128;67mβ\033[48;2;104;18;9m\033[38;2;119;47;24mβ\033[48;2;71;2;22m\033[38;2;65;3;20mβ\033[48;2;59;10;39m\033[38;2;49;6;44mβ\033[48;2;36;3;52m\033[38;2;34;4;54mβ\033[48;2;15;1;31m\033[38;2;14;1;28mβ\033[0m"
"\033[48;2;84;26;153m\033[38;2;66;18;139mβ\033[48;2;108;35;118m\033[38;2;74;11;80mβ\033[48;2;115;39;58m\033[38;2;87;15;27mβ\033[48;2;202;123;83m\033[38;2;177;101;56mβ\033[48;2;197;111;55m\033[38;2;167;80;32mβ\033[48;2;165;92;70m\033[38;2;110;30;13mβ\033[48;2;124;65;67m\033[38;2;78;7;34mβ\033[48;2;70;17;55m\033[38;2;66;11;59mβ\033[48;2;36;4;53m\033[38;2;35;4;53mβ\033[48;2;9;2;21m\033[38;2;11;3;21mβ\033[0m"
"\033[48;2;69;11;113m\033[38;2;83;24;138mβ\033[48;2;82;10;67m\033[38;2;88;16;83mβ\033[48;2;161;74;60m\033[38;2;160;79;68mβ\033[48;2;134;35;14m\033[38;2;165;73;53mβ\033[48;2;127;20;16m\033[38;2;134;27;24mβ\033[48;2;131;36;29m\033[38;2;130;34;27mβ\033[48;2;183;103;78m\033[38;2;181;111;80mβ\033[48;2;83;15;27m\033[38;2;74;10;32mβ\033[48;2;36;3;33m\033[38;2;38;5;35mβ\033[48;2;6;3;16m\033[38;2;9;3;10mβ\033[0m"
"\033[48;2;43;22;120m\033[38;2;67;20;113mβ\033[48;2;51;14;97m\033[38;2;72;7;70mβ\033[48;2;75;18;32m\033[38;2;120;40;28mβ\033[48;2;91;23;34m\033[38;2;173;84;66mβ\033[48;2;88;25;28m\033[38;2;151;59;44mβ\033[48;2;86;28;29m\033[38;2;180;88;69mβ\033[48;2;82;11;43m\033[38;2;151;81;71mβ\033[48;2;70;19;87m\033[38;2;81;25;45mβ\033[48;2;41;33;112m\033[38;2;35;4;56mβ\033[48;2;3;6;29m\033[38;2;14;3;26mβ\033[0m"
"\033[48;2;16;25;63m\033[38;2;29;40;123mβ\033[48;2;53;77;155m\033[38;2;38;37;132mβ\033[48;2;61;108;195m\033[38;2;36;19;82mβ\033[48;2;38;76;175m\033[38;2;50;14;67mβ\033[48;2;24;52;162m\033[38;2;39;3;55mβ\033[48;2;36;94;175m\033[38;2;38;9;65mβ\033[48;2;87;162;217m\033[38;2;42;30;100mβ\033[48;2;78;134;201m\033[38;2;28;34;135mβ\033[48;2;22;33;84m\033[38;2;50;50;155mβ\033[48;2;5;2;16m\033[38;2;4;4;29mβ\033[0m"
"\033[38;2;5;7;22mβ\033[38;2;4;5;39mβ\033[38;2;25;52;91mβ\033[38;2;52;81;142mβ\033[38;2;55;82;165mβ\033[38;2;49;95;161mβ\033[38;2;34;76;122mβ\033[38;2;5;26;60mβ\033[38;2;10;7;35mβ\033[38;2;2;2;11mβ\033[0m"
"\033[48;2;18;24;64m\033[38;2;1;3;20mβ\033[48;2;26;37;115m\033[38;2;14;23;64mβ\033[48;2;42;60;167m\033[38;2;50;83;171mβ\033[48;2;43;47;149m\033[38;2;47;78;178mβ\033[48;2;18;11;105m\033[38;2;21;46;156mβ\033[48;2;33;24;123m\033[38;2;39;65;165mβ\033[48;2;32;36;140m\033[38;2;52;80;170mβ\033[48;2;38;46;157m\033[38;2;37;46;116mβ\033[48;2;24;25;98m\033[38;2;2;3;32mβ\033[48;2;4;1;21m\033[38;2;6;3;1mβ\033[0m"
"\033[48;2;52;12;86m\033[38;2;36;29;106mβ\033[48;2;68;16;57m\033[38;2;42;24;100mβ\033[48;2;168;103;74m\033[38;2;64;21;51mβ\033[48;2;157;91;48m\033[38;2;67;19;41mβ\033[48;2;199;139;61m\033[38;2;60;6;27mβ\033[48;2;169;94;49m\033[38;2;77;15;33mβ\033[48;2;179;101;62m\033[38;2;94;27;42mβ\033[48;2;101;40;33m\033[38;2;60;19;59mβ\033[48;2;46;5;60m\033[38;2;34;13;84mβ\033[48;2;19;2;38m\033[38;2;10;2;39mβ\033[0m"
"\033[48;2;58;12;100m\033[38;2;81;39;101mβ\033[48;2;57;2;61m\033[38;2;65;9;43mβ\033[48;2;64;4;14m\033[38;2;116;57;35mβ\033[48;2;92;14;15m\033[38;2;132;61;30mβ\033[48;2;130;29;34m\033[38;2;169;90;34mβ\033[48;2;165;84;61m\033[38;2;154;66;27mβ\033[48;2;158;90;61m\033[38;2;172;96;49mβ\033[48;2;92;30;39m\033[38;2;107;44;38mβ\033[48;2;43;4;45m\033[38;2;45;3;45mβ\033[48;2;15;1;26m\033[38;2;17;1;27mβ\033[0m"
"\033[48;2;74;30;153m\033[38;2;65;20;135mβ\033[48;2;73;21;115m\033[38;2;57;2;93mβ\033[48;2;63;4;55m\033[38;2;57;2;37mβ\033[48;2;80;5;39m\033[38;2;80;8;23mβ\033[48;2;118;31;18m\033[38;2;114;22;29mβ\033[48;2;185;103;70m\033[38;2;153;68;48mβ\033[48;2;97;14;34m\033[38;2;127;52;44mβ\033[48;2;72;8;62m\033[38;2;79;18;52mβ\033[48;2;34;3;51m\033[38;2;38;5;51mβ\033[48;2;12;2;26m\033[38;2;14;2;28mβ\033[0m"
"\033[48;2;59;11;117m\033[38;2;71;25;139mβ\033[48;2;49;1;68m\033[38;2;55;4;81mβ\033[48;2;56;5;24m\033[38;2;56;3;26mβ\033[48;2;84;18;18m\033[38;2;82;13;27mβ\033[48;2;191;124;74m\033[38;2;161;95;53mβ\033[48;2;129;65;40m\033[38;2;189;129;80mβ\033[48;2;73;4;27m\033[38;2;81;15;19mβ\033[48;2;70;15;38m\033[38;2;70;14;39mβ\033[48;2;30;2;37m\033[38;2;32;2;40mβ\033[48;2;9;1;16m\033[38;2;9;1;17mβ\033[0m"
"\033[48;2;34;24;118m\033[38;2;52;20;113mβ\033[48;2;27;14;91m\033[38;2;38;3;67mβ\033[48;2;43;5;39m\033[38;2;48;2;20mβ\033[48;2;61;12;30m\033[38;2;92;32;21mβ\033[48;2;103;51;36m\033[38;2;199;134;85mβ\033[48;2;68;10;36m\033[38;2;106;30;39mβ\033[48;2;48;2;44m\033[38;2;68;4;35mβ\033[48;2;37;18;85m\033[38;2;60;15;50mβ\033[48;2;37;36;106m\033[38;2;25;4;59mβ\033[48;2;14;11;41m\033[38;2;9;1;25mβ\033[0m"
"\033[48;2;14;22;63m\033[38;2;32;38;123mβ\033[48;2;51;75;157m\033[38;2;33;40;131mβ\033[48;2;66;105;193m\033[38;2;32;15;78mβ\033[48;2;44;79;176m\033[38;2;38;8;72mβ\033[48;2;22;54;161m\033[38;2;34;8;62mβ\033[48;2;41;89;181m\033[38;2;28;6;58mβ\033[48;2;92;159;216m\033[38;2;29;25;84mβ\033[48;2;79;140;200m\033[38;2;13;41;131mβ\033[48;2;15;40;78m\033[38;2;39;57;133mβ\033[48;2;5;1;19m\033[38;2;4;4;34mβ\033[0m"
"\033[38;2;3;2;19mβ\033[38;2;2;6;47mβ\033[38;2;26;51;108mβ\033[38;2;44;78;142mβ\033[38;2;44;82;151mβ\033[38;2;49;90;157mβ\033[38;2;39;80;132mβ\033[38;2;6;24;62mβ\033[38;2;3;7;21mβ\033[38;2;7;2;12mβ\033[0m"
"\033[48;2;3;7;28m\033[38;2;1;3;7mβ\033[48;2;25;32;88m\033[38;2;1;3;20mβ\033[48;2;46;67;162m\033[38;2;31;49;91mβ\033[48;2;52;66;182m\033[38;2;50;73;147mβ\033[48;2;25;30;155m\033[38;2;27;46;144mβ\033[48;2;26;30;149m\033[38;2;35;59;148mβ\033[48;2;35;50;165m\033[38;2;38;70;148mβ\033[48;2;49;70;182m\033[38;2;25;43;86mβ\033[48;2;21;31;104m\033[38;2;1;9;22mβ\033[48;2;2;3;29m\033[38;2;2;4;3mβ\033[0m"
"\033[48;2;33;11;80m\033[38;2;31;26;82mβ\033[48;2;50;17;94m\033[38;2;41;35;122mβ\033[48;2;55;8;33m\033[38;2;38;24;86mβ\033[48;2;138;102;45m\033[38;2;44;16;65mβ\033[48;2;203;153;62m\033[38;2;64;21;60mβ\033[48;2;204;151;64m\033[38;2;66;9;39mβ\033[48;2;151;99;45m\033[38;2;62;6;50mβ\033[48;2;76;17;30m\033[38;2;40;13;75mβ\033[48;2;58;11;69m\033[38;2;38;16;101mβ\033[48;2;23;3;52m\033[38;2;19;7;69mβ\033[0m"
"\033[48;2;59;23;90m\033[38;2;67;34;85mβ\033[48;2;68;1;71m\033[38;2;67;4;60mβ\033[48;2;117;57;27m\033[38;2;94;38;10mβ\033[48;2;199;132;64m\033[38;2;216;158;76mβ\033[48;2;128;34;28m\033[38;2;137;60;21mβ\033[48;2;118;31;14m\033[38;2;138;66;21mβ\033[48;2;204;136;70m\033[38;2;206;147;70mβ\033[48;2;120;46;31m\033[38;2;101;35;38mβ\033[48;2;68;11;49m\033[38;2;64;17;62mβ\033[48;2;25;2;36m\033[38;2;21;5;38mβ\033[0m"
"\033[48;2;81;29;146m\033[38;2;60;9;120mβ\033[48;2;82;13;113m\033[38;2;73;3;104mβ\033[48;2;110;35;61m\033[38;2;97;33;35mβ\033[48;2;207;150;74m\033[38;2;210;151;73mβ\033[48;2;219;172;61m\033[38;2;171;109;28mβ\033[48;2;214;160;62m\033[38;2;158;97;23mβ\033[48;2;204;141;75m\033[38;2;196;147;68mβ\033[48;2;124;46;63m\033[38;2;115;34;50mβ\033[48;2;65;7;55m\033[38;2;65;5;50mβ\033[48;2;25;1;37m\033[38;2;26;2;32mβ\033[0m"
"\033[48;2;63;12;107m\033[38;2;80;29;142mβ\033[48;2;62;4;82m\033[38;2;80;16;108mβ\033[48;2;170;129;73m\033[38;2;158;105;73mβ\033[48;2;162;98;44m\033[38;2;191;133;79mβ\033[48;2;126;22;28m\033[38;2;126;41;27mβ\033[48;2;132;24;32m\033[38;2;140;48;30mβ\033[48;2;169;81;56m\033[38;2;192;118;68mβ\033[48;2;174;113;72m\033[38;2;156;93;64mβ\033[48;2;70;25;34m\033[38;2;66;16;39mβ\033[48;2;18;2;26m\033[38;2;25;2;32mβ\033[0m"
"\033[48;2;41;12;98m\033[38;2;62;13;98mβ\033[48;2;48;9;95m\033[38;2;58;2;71mβ\033[48;2;68;13;31m\033[38;2;130;89;51mβ\033[48;2;168;115;66m\033[38;2;200;141;82mβ\033[48;2;216;156;72m\033[38;2;135;46;18mβ\033[48;2;209;152;73m\033[38;2;132;38;18mβ\033[48;2;155;96;56m\033[38;2;206;121;81mβ\033[48;2;76;25;55m\033[38;2;133;69;49mβ\033[48;2;62;24;86m\033[38;2;66;19;44mβ\033[48;2;31;17;62m\033[38;2;18;3;30mβ\033[0m"
"\033[48;2;13;17;59m\033[38;2;28;20;97mβ\033[48;2;56;69;149m\033[38;2;41;29;132mβ\033[48;2;53;71;165m\033[38;2;47;9;72mβ\033[48;2;41;52;154m\033[38;2;60;7;46mβ\033[48;2;33;29;130m\033[38;2;93;31;40mβ\033[48;2;31;48;129m\033[38;2;99;36;37mβ\033[48;2;55;95;168m\033[38;2;76;20;63mβ\033[48;2;83;132;194m\033[38;2;53;15;98mβ\033[48;2;53;76;139m\033[38;2;58;42;125mβ\033[48;2;2;9;44m\033[38;2;33;26;76mβ\033[0m"
"\033[38;2;1;3;17mβ\033[38;2;1;10;45mβ\033[38;2;54;82;141mβ\033[38;2;69;103;183mβ\033[38;2;58;94;194mβ\033[38;2;56;103;195mβ\033[38;2;76;138;194mβ\033[38;2;58;98;132mβ\033[38;2;5;8;43mβ\033[38;2;10;2;15mβ\033[0m"
"\033[48;2;18;21;53m\033[38;2;11;3;8mβ\033[48;2;27;50;118m\033[38;2;3;18;28mβ\033[48;2;51;78;192m\033[38;2;41;74;119mβ\033[48;2;38;48;174m\033[38;2;35;71;148mβ\033[48;2;14;21;123m\033[38;2;15;46;135mβ\033[48;2;28;40;158m\033[38;2;36;63;153mβ\033[48;2;48;65;184m\033[38;2;39;67;133mβ\033[48;2;45;55;153m\033[38;2;7;21;43mβ\033[48;2;12;11;74m\033[38;2;2;9;16mβ\033[48;2;2;4;17m\033[38;2;1;4;7mβ\033[0m"
"\033[48;2;40;21;100m\033[38;2;35;36;118mβ\033[48;2;61;17;68m\033[38;2;38;32;117mβ\033[48;2;102;39;25m\033[38;2;37;25;77mβ\033[48;2;186;115;69m\033[38;2;56;25;72mβ\033[48;2;189;114;60m\033[38;2;58;11;37mβ\033[48;2;192;119;57m\033[38;2;61;18;51mβ\033[48;2;128;60;29m\033[38;2;54;13;55mβ\033[48;2;77;27;59m\033[38;2;41;15;97mβ\033[48;2;40;5;67m\033[38;2;33;14;97mβ\033[48;2;8;4;14m\033[38;2;3;1;29mβ\033[0m"
"\033[48;2;80;16;104m\033[38;2;86;33;102mβ\033[48;2;86;27;40m\033[38;2;79;17;29mβ\033[48;2;211;155;94m\033[38;2;197;140;81mβ\033[48;2;110;25;4m\033[38;2;155;79;30mβ\033[48;2;120;24;12m\033[38;2;139;50;29mβ\033[48;2;114;35;5m\033[38;2;154;79;30mβ\033[48;2;205;152;76m\033[38;2;201;127;69mβ\033[48;2;121;68;35m\033[38;2;107;46;38mβ\033[48;2;46;4;51m\033[38;2;45;3;57mβ\033[48;2;9;3;19m\033[38;2;10;3;23mβ\033[0m"
"\033[48;2;89;27;147m\033[38;2;76;12;128mβ\033[48;2;97;25;99m\033[38;2;87;21;56mβ\033[48;2;180;116;78m\033[38;2;212;152;85mβ\033[48;2;208;128;79m\033[38;2;129;43;16mβ\033[48;2;180;114;35m\033[38;2;117;24;18mβ\033[48;2;212;146;65m\033[38;2;133;47;17mβ\033[48;2;176;105;66m\033[38;2;211;150;79mβ\033[48;2;124;56;78m\033[38;2;118;55;45mβ\033[48;2;47;6;43m\033[38;2;45;4;50mβ\033[48;2;12;1;15m\033[38;2;10;2;24mβ\033[0m"
"\033[48;2;66;12;119m\033[38;2;88;25;146mβ\033[48;2;51;1;64m\033[38;2;84;16;93mβ\033[48;2;63;6;25m\033[38;2;95;21;27mβ\033[48;2;102;16;21m\033[38;2;158;86;49mβ\033[48;2;167;100;42m\033[38;2;197;135;60mβ\033[48;2;194;136;67m\033[38;2;226;169;72mβ\033[48;2;107;16;33m\033[38;2;134;56;30mβ\033[48;2;91;18;33m\033[38;2;105;33;52mβ\033[48;2;44;4;35m\033[38;2;48;5;45mβ\033[48;2;9;1;16m\033[38;2;10;1;21mβ\033[0m"
"\033[48;2;41;17;112m\033[38;2;59;21;97mβ\033[48;2;38;7;77m\033[38;2;40;2;58mβ\033[48;2;44;6;11m\033[38;2;53;9;13mβ\033[48;2;97;40;33m\033[38;2;91;16;19mβ\033[48;2;192;128;81m\033[38;2;206;137;75mβ\033[48;2;104;26;27m\033[38;2;142;68;38mβ\033[48;2;62;2;23m\033[38;2;83;3;33mβ\033[48;2;59;20;85m\033[38;2;70;9;42mβ\033[48;2;34;25;99m\033[38;2;35;4;42mβ\033[48;2;3;4;22m\033[38;2;4;2;15mβ\033[0m"
"\033[48;2;43;44;109m\033[38;2;26;32;130mβ\033[48;2;58;75;171m\033[38;2;34;27;124mβ\033[48;2;37;66;153m\033[38;2;31;6;52mβ\033[48;2;28;44;136m\033[38;2;60;12;49mβ\033[48;2;28;26;127m\033[38;2;76;23;42mβ\033[48;2;37;62;151m\033[38;2;48;6;46mβ\033[48;2;65;116;191m\033[38;2;43;11;82mβ\033[48;2;76;116;194m\033[38;2;30;20;119mβ\033[48;2;27;42;103m\033[38;2;46;51;137mβ\033[48;2;7;4;17m\033[38;2;2;3;23mβ\033[0m"
"\033[38;2;1;7;28mβ\033[38;2;14;32;80mβ\033[38;2;64;99;173mβ\033[38;2;61;99;192mβ\033[38;2;52;95;200mβ\033[38;2;59;116;199mβ\033[38;2;78;139;183mβ\033[38;2;25;57;93mβ\033[38;2;3;6;31mβ\033[38;2;7;2;8mβ\033[0m"
"\033[48;2;4;6;27m\033[38;2;4;3;5mβ\033[48;2;23;35;97m\033[38;2;6;4;18mβ\033[48;2;36;71;168m\033[38;2;27;50;90mβ\033[48;2;39;64;166m\033[38;2;46;77;148mβ\033[48;2;22;24;108m\033[38;2;24;54;137mβ\033[48;2;18;27;131m\033[38;2;33;51;128mβ\033[48;2;28;46;165m\033[38;2;44;66;139mβ\033[48;2;49;70;179m\033[38;2;24;37;84mβ\033[48;2;22;30;103m\033[38;2;5;6;26mβ\033[48;2;3;4;24m\033[38;2;4;1;5mβ\033[0m"
"\033[48;2;25;12;76m\033[38;2;21;24;71mβ\033[48;2;33;19;91m\033[38;2;26;36;115mβ\033[48;2;39;6;28m\033[38;2;22;28;94mβ\033[48;2;55;4;14m\033[38;2;32;20;71mβ\033[48;2;74;15;17m\033[38;2;32;13;52mβ\033[48;2;69;11;15m\033[38;2;26;6;41mβ\033[48;2;51;4;13m\033[38;2;25;9;52mβ\033[48;2;39;4;31m\033[38;2;17;9;72mβ\033[48;2;26;5;80m\033[38;2;25;20;102mβ\033[48;2;12;5;54m\033[38;2;10;9;56mβ\033[0m"
"\033[48;2;51;26;83m\033[38;2;64;31;79mβ\033[48;2;53;3;65m\033[38;2;55;4;53mβ\033[48;2;44;3;21m\033[38;2;44;3;23mβ\033[48;2;91;14;8m\033[38;2;84;13;14mβ\033[48;2;191;121;47m\033[38;2;192;121;66mβ\033[48;2;174;111;40m\033[38;2;155;87;33mβ\033[48;2;77;9;12m\033[38;2;76;7;15mβ\033[48;2;55;6;23m\033[38;2;52;4;23mβ\033[48;2;33;3;45m\033[38;2;31;2;48mβ\033[48;2;16;4;40m\033[38;2;14;3;41mβ\033[0m"
"\033[48;2;75;27;152m\033[38;2;55;12;117mβ\033[48;2;55;7;110m\033[38;2;47;4;87mβ\033[48;2;48;6;49m\033[38;2;45;3;41mβ\033[48;2;39;4;46m\033[38;2;52;10;45mβ\033[48;2;45;8;43m\033[38;2;137;59;37mβ\033[48;2;48;9;45m\033[38;2;130;57;36mβ\033[48;2;45;4;43m\033[38;2;55;5;41mβ\033[48;2;42;4;44m\033[38;2;53;6;42mβ\033[48;2;34;2;46m\033[38;2;34;3;50mβ\033[48;2;17;2;36m\033[38;2;16;3;35mβ\033[0m"
"\033[48;2;56;10;106m\033[38;2;75;26;148mβ\033[48;2;48;2;82m\033[38;2;52;6;99mβ\033[48;2;56;3;36m\033[38;2;42;5;52mβ\033[48;2;80;21;36m\033[38;2;49;9;45mβ\033[48;2;146;76;45m\033[38;2;69;23;46mβ\033[48;2;142;63;30m\033[38;2;55;15;48mβ\033[48;2;101;31;31m\033[38;2;39;3;44mβ\033[48;2;61;13;39m\033[38;2;42;3;45mβ\033[48;2;31;1;42m\033[38;2;36;3;45mβ\033[48;2;16;1;29m\033[38;2;18;2;31mβ\033[0m"
"\033[48;2;37;10;106m\033[38;2;59;15;100mβ\033[48;2;39;16;106m\033[38;2;48;3;74mβ\033[48;2;47;6;32m\033[38;2;51;2;24mβ\033[48;2;66;5;24m\033[38;2;85;16;18mβ\033[48;2;95;27;32m\033[38;2;189;105;64mβ\033[48;2;102;30;37m\033[38;2;141;55;34mβ\033[48;2;58;2;23m\033[38;2;83;12;31mβ\033[48;2;41;12;53m\033[38;2;54;13;32mβ\033[48;2;39;24;92m\033[38;2;26;7;42mβ\033[48;2;18;14;57m\033[38;2;13;2;29mβ\033[0m"
"\033[48;2;12;19;60m\033[38;2;21;25;95mβ\033[48;2;50;74;169m\033[38;2;35;35;134mβ\033[48;2;45;74;177m\033[38;2;37;6;65mβ\033[48;2;32;54;136m\033[38;2;45;7;43mβ\033[48;2;17;33;128m\033[38;2;32;8;54mβ\033[48;2;14;48;136m\033[38;2;28;3;46mβ\033[48;2;35;80;149m\033[38;2;34;10;61mβ\033[48;2;75;129;195m\033[38;2;21;17;89mβ\033[48;2;49;73;147m\033[38;2;35;48;136mβ\033[48;2;1;5;40m\033[38;2;19;30;79mβ\033[0m"
"\033[38;2;2;4;12mβ\033[38;2;2;11;50mβ\033[38;2;49;80;143mβ\033[38;2;66;107;177mβ\033[38;2;55;92;187mβ\033[38;2;54;91;181mβ\033[38;2;65;123;174mβ\033[38;2;54;103;137mβ\033[38;2;1;14;53mβ\033[38;2;2;4;14mβ\033[0m"
)
FONT_HEIGHT=$(( ${#FONT[@]} / 11 )) # FONT height in characters
function figletise() {
read str;
for (( line = 0; line < FONT_HEIGHT; line++ )); do
printf " "
for (( c=0; c<${#str}; c++ )); do
local ch=$(LC_CTYPE=C printf '%d' "'${str:$c:1}") # get ascii value
ch=$((ch-48))
if (( ch >= 0 && ch <= 10 )); then
local i=$(( ch * FONT_HEIGHT + line )) # 2D -> 1D array conversion
printf "${FONT[$i]}"
fi
done
printf "\n"
done
}
stty -echo 2>/dev/null
printf '\033[?25l\n' # hide cursor
unset EXIT_
while true; do
date +"$TIME_FORMAT" | figletise
[[ -z $EXIT_ ]] || exit 0
read -t $REFRESH_INTERVAL -n 1 && EXIT_=1;
printf "\033[${FONT_HEIGHT}A\r" # move cursor to beginning
done
It looks like this:
The escape sequences were generated using fay, my little experimental terminal image rasteriser. You can use whatever tool you want. It can be a simple ascii art, or a complicated rasterised image. While you donβt have to, you are allowed to modify the script in any way you want (as long as the clock still works). Figure it out, be creative, and make the best looking digital clock in the terminal.