#!/bin/bash
set +o history

# color codes
RESTORE='\033[0m'
BLACK='\033[00;30m'
RED='\033[00;31m'
GREEN='\033[00;32m'
YELLOW='\033[00;33m'
BLUE='\033[00;34m'
PURPLE='\033[00;35m'
CYAN='\033[00;36m'
LIGHTGRAY='\033[00;37m'
LBLACK='\033[01;30m'
LRED='\033[01;31m'
LGREEN='\033[01;32m'
LYELLOW='\033[01;33m'
LBLUE='\033[01;34m'
LPURPLE='\033[01;35m'
LCYAN='\033[01;36m'
WHITE='\033[01;37m'
OVERWRITE='\e[1A\e[K'
PIN="${RED}\xF0\x9F\x93\x8C${RESTORE}"
CLOCK="${GREEN}\xE2\x8C\x9B${RESTORE}"
name="fluxcore-linux-amd64"
HOSTS_FILE="/etc/hosts"

Banner='[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;17m.[0m[38;5;23m:[0m[38;5;60m:[0m[38;5;61m-[0m[38;5;61m=[0m[38;5;68m=[0m[38;5;68m=[0m[38;5;68m=[0m[38;5;68m+[0m[38;5;68m+[0m[38;5;68m+[0m[38;5;68m+[0m[38;5;68m=[0m[38;5;61m=[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;59m:[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;23m:[0m[38;5;60m-[0m[38;5;68m=[0m[38;5;69m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;111m*[0m[38;5;111m*[0m[38;5;105m*[0m[38;5;104m+[0m[38;5;104m+[0m[38;5;60m-[0m[38;5;59m:[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;17m.[0m[38;5;60m-[0m[38;5;68m+[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;111m*[0m[38;5;105m*[0m[38;5;104m+[0m[38;5;60m-[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;67m=[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;105m*[0m[38;5;147m*[0m[38;5;104m*[0m[38;5;60m=[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m-[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;75m*[0m[38;5;147m#[0m[38;5;189m%[0m[38;5;189m@[0m[38;5;153m%[0m[38;5;111m*[0m[38;5;105m*[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;141m*[0m[38;5;104m+[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;67m=[0m[38;5;81m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;111m*[0m[38;5;153m#[0m[38;5;189m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;147m#[0m[38;5;111m*[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;60m=[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;67m=[0m[38;5;81m#[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m*[0m[38;5;111m#[0m[38;5;153m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;195m@[0m[38;5;189m%[0m[38;5;147m*[0m[38;5;105m*[0m[38;5;104m+[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;146m*[0m[38;5;60m=[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;60m-[0m[38;5;81m#[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;117m#[0m[38;5;189m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;147m#[0m[38;5;111m*[0m[38;5;147m#[0m[38;5;189m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;146m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;59m-[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;75m*[0m[38;5;81m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;195m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;195m@[0m[38;5;153m%[0m[38;5;111m*[0m[38;5;105m+[0m[38;5;69m+[0m[38;5;105m+[0m[38;5;111m*[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;147m#[0m[38;5;189m%[0m[38;5;15m@[0m[38;5;147m#[0m[38;5;104m+[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;104m+[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m-[0m[38;5;117m#[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;195m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;189m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;153m#[0m[38;5;111m*[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;147m#[0m[38;5;189m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;147m#[0m[38;5;105m*[0m[38;5;104m+[0m[38;5;104m+[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;67m=[0m[38;5;117m#[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;153m#[0m[38;5;117m#[0m[38;5;75m*[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;111m*[0m[38;5;153m%[0m[38;5;69m+[0m[38;5;69m=[0m[38;5;69m+[0m[38;5;147m#[0m[38;5;189m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m@[0m[38;5;189m#[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;60m-[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;67m=[0m[38;5;117m#[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;111m*[0m[38;5;153m%[0m[38;5;153m%[0m[38;5;111m*[0m[38;5;69m+[0m[38;5;69m=[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;111m*[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;147m#[0m[38;5;104m+[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;60m-[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;60m-[0m[38;5;117m#[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;153m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;153m%[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;111m*[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;147m*[0m[38;5;104m+[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;59m-[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;17m.[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;195m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;111m*[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;147m#[0m[38;5;104m+[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;140m*[0m[38;5;104m+[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;60m-[0m[38;5;81m#[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;153m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;189m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;146m*[0m[38;5;104m+[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m+[0m[38;5;140m*[0m[38;5;59m-[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;67m+[0m[38;5;81m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m*[0m[38;5;111m#[0m[38;5;153m%[0m[38;5;153m%[0m[38;5;111m#[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;111m*[0m[38;5;147m#[0m[38;5;189m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;147m#[0m[38;5;147m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m+[0m[38;5;140m*[0m[38;5;97m=[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;67m=[0m[38;5;81m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;111m*[0m[38;5;189m@[0m[38;5;15m@[0m[38;5;195m@[0m[38;5;153m#[0m[38;5;111m*[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;105m*[0m[38;5;147m#[0m[38;5;189m%[0m[38;5;147m#[0m[38;5;111m*[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;104m+[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;96m=[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;60m-[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;75m*[0m[38;5;111m#[0m[38;5;189m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;189m%[0m[38;5;111m*[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;140m*[0m[38;5;104m*[0m[38;5;60m-[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;23m:[0m[38;5;67m=[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;111m*[0m[38;5;69m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;104m*[0m[38;5;141m*[0m[38;5;104m*[0m[38;5;61m=[0m[38;5;53m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;23m:[0m[38;5;67m=[0m[38;5;75m+[0m[38;5;75m*[0m[38;5;75m*[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;104m+[0m[38;5;60m=[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;59m:[0m[38;5;67m=[0m[38;5;68m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;75m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;105m+[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;105m*[0m[38;5;111m*[0m[38;5;111m*[0m[38;5;105m*[0m[38;5;104m+[0m[38;5;61m=[0m[38;5;59m:[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;23m.[0m[38;5;59m:[0m[38;5;60m-[0m[38;5;61m=[0m[38;5;68m=[0m[38;5;68m=[0m[38;5;68m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;69m+[0m[38;5;68m+[0m[38;5;68m+[0m[38;5;68m+[0m[38;5;68m=[0m[38;5;61m=[0m[38;5;60m-[0m[38;5;59m:[0m[38;5;59m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;17m.[0m[38;5;17m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;59m-[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;0m.[0m[38;5;59m:[0m[38;5;59m=[0m[38;5;59m=[0m[38;5;59m-[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;0m.[0m[38;5;102m+[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m%[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;23m:[0m[38;5;61m=[0m[38;5;67m=[0m[38;5;61m-[0m[38;5;60m-[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;67m=[0m[38;5;60m=[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;188m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;102m=[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;102m+[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m#[0m[38;5;0m [0m[38;5;0m [0m[38;5;145m#[0m[38;5;188m@[0m[38;5;188m@[0m[38;5;102m=[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;145m*[0m[38;5;188m@[0m[38;5;188m@[0m[38;5;102m+[0m[38;5;0m [0m[38;5;145m*[0m[38;5;15m@[0m[38;5;188m@[0m[38;5;145m#[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m.[0m[38;5;145m*[0m[38;5;188m@[0m[38;5;15m@[0m[38;5;145m*[0m[38;5;0m.[0m[38;5;0m [0m[38;5;60m-[0m[38;5;69m+[0m[38;5;60m-[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;17m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;59m:[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;59m-[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m:[0m[38;5;60m-[0m[38;5;0m.[0m[38;5;59m:[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;59m-[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;60m-[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;102m+[0m[38;5;59m.[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;0m.[0m[38;5;0m [0m[38;5;102m+[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m#[0m[38;5;0m [0m[38;5;0m [0m[38;5;188m#[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;102m+[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;145m#[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;145m*[0m[38;5;0m [0m[38;5;0m.[0m[38;5;102m=[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;102m+[0m[38;5;188m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;102m=[0m[38;5;0m [0m[38;5;0m [0m[38;5;23m.[0m[38;5;105m*[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;59m:[0m[38;5;104m+[0m[38;5;61m=[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;60m-[0m[38;5;104m+[0m[38;5;60m-[0m[38;5;0m [0m[38;5;0m [0m[38;5;59m:[0m[38;5;147m*[0m[38;5;103m=[0m[38;5;60m-[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;0m [0m[38;5;59m-[0m[38;5;103m+[0m[38;5;59m-[0m[38;5;59m:[0m[38;5;17m.[0m[38;5;17m.[0m[38;5;59m:[0m[38;5;60m=[0m[38;5;103m=[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;59m:[0m[38;5;0m [0m[38;5;102m+[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m#[0m[38;5;0m [0m[38;5;0m [0m[38;5;188m#[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;102m+[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;145m*[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;145m*[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;145m#[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m#[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m:[0m[38;5;111m*[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;17m.[0m[38;5;105m*[0m[38;5;60m-[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;17m.[0m[38;5;105m*[0m[38;5;59m-[0m[38;5;0m [0m[38;5;59m:[0m[38;5;147m*[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;59m:[0m[38;5;140m*[0m[38;5;60m-[0m[38;5;17m.[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m.[0m[38;5;17m.[0m[38;5;103m+[0m[38;5;103m+[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;102m+[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;0m.[0m[38;5;0m [0m[38;5;102m+[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m#[0m[38;5;0m [0m[38;5;0m [0m[38;5;188m#[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;145m*[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;188m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;145m*[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m-[0m[38;5;188m%[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m%[0m[38;5;59m-[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;68m+[0m[38;5;67m=[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;59m:[0m[38;5;111m*[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;104m*[0m[38;5;60m-[0m[38;5;0m [0m[38;5;59m:[0m[38;5;104m*[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m:[0m[38;5;147m*[0m[38;5;59m-[0m[38;5;59m:[0m[38;5;59m-[0m[38;5;59m-[0m[38;5;59m-[0m[38;5;59m-[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;59m:[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;102m=[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;102m+[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m%[0m[38;5;0m [0m[38;5;0m [0m[38;5;59m=[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;188m%[0m[38;5;145m*[0m[38;5;145m#[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;145m*[0m[38;5;0m [0m[38;5;59m:[0m[38;5;145m*[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;145m#[0m[38;5;59m:[0m[38;5;145m#[0m[38;5;15m@[0m[38;5;15m@[0m[38;5;145m#[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m [0m[38;5;17m.[0m[38;5;68m=[0m[38;5;68m=[0m[38;5;59m:[0m[38;5;17m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;17m.[0m[38;5;59m:[0m[38;5;60m-[0m[38;5;0m [0m[38;5;60m-[0m[38;5;104m+[0m[38;5;59m:[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;23m.[0m[38;5;103m=[0m[38;5;104m+[0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m:[0m[38;5;147m*[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;97m=[0m[38;5;103m+[0m[38;5;59m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;145m#[0m[38;5;188m#[0m[38;5;188m#[0m[38;5;59m-[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m=[0m[38;5;188m#[0m[38;5;188m#[0m[38;5;145m*[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m:[0m[38;5;102m*[0m[38;5;188m#[0m[38;5;188m%[0m[38;5;188m%[0m[38;5;188m%[0m[38;5;102m+[0m[38;5;102m+[0m[38;5;188m#[0m[38;5;188m#[0m[38;5;102m=[0m[38;5;0m.[0m[38;5;145m*[0m[38;5;188m%[0m[38;5;188m#[0m[38;5;102m=[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;102m=[0m[38;5;188m#[0m[38;5;188m%[0m[38;5;145m*[0m[38;5;59m:[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m:[0m[38;5;60m-[0m[38;5;61m=[0m[38;5;61m=[0m[38;5;61m=[0m[38;5;61m=[0m[38;5;61m=[0m[38;5;61m=[0m[38;5;60m=[0m[38;5;59m:[0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m:[0m[38;5;61m=[0m[38;5;61m=[0m[38;5;60m=[0m[38;5;60m=[0m[38;5;61m=[0m[38;5;61m=[0m[38;5;60m-[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;59m:[0m[38;5;104m+[0m[38;5;17m.[0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;59m:[0m[38;5;60m=[0m[38;5;60m=[0m[38;5;60m=[0m[38;5;60m=[0m[38;5;60m=[0m[38;5;60m=[0m[38;5;59m-[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m [0m[38;5;0m [0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m[38;5;0m.[0m
'
export NEWT_COLORS='
title=black,
'

function system_type(){
 TYPE_CHECK=$(dpkg -l | grep -o 'ubuntu-server ')
 if [[ $TYPE_CHECK == "" ]]; then
  SYSTEM_TYPE="Desktop"
 else
  SYSTEM_TYPE="Server"
 fi
}

function _task {
    if [[ $TASK != "" ]]; then
        printf "${OVERWRITE}${LGREEN} [✓]  ${LGREEN}${TASK}\n"
    fi
    TASK=$1
    printf "${LBLACK} [ ]  ${TASK} \n${LRED}"
}

# _cmd performs commands with error checking
function _cmd {
    > debug.log
    if eval "$1" 1> /dev/null 2> debug.log; then
        return 0 # success
    fi
    printf "${OVERWRITE}${LRED} [X]  ${TASK}${LRED}\n"
    while read line; do 
        printf "      ${line}\n"
    done < debug.log
    printf "${RESTORE}\n"
    rm debug.log
    set -o history
    exit 1
} 

sudo_check() {
 echo "Checking if sudo requires a password..."
 if sudo -n true 2>/dev/null; then
    echo "Sudo does not require a password."
 else
    echo "Sudo requires a password. Please enter your password:"
    sudo -v
    if [ $? -ne 0 ]; then
        echo "Incorrect password or sudo authentication failed."
	echo -e ""
        exit 1
    fi
 fi
 echo -e ""
}

clear_screen() {
  clear
}

check_command() {
  local command=$1
  local package=$2
  if ! command -v $command >/dev/null 2>&1; then
    echo "$command is not installed. Installing $package..."
    sudo apt-get -qq update
    sudo apt-get install -y $package
    echo "$package has been installed."
  else
    echo "$command is already installed."
  fi
}

service_exists() {
  local service_name="$1"
  local retries=3
  local delay=3
  local attempt=1
  while (( attempt <= retries )); do
      if systemctl status &>/dev/null; then
          break
      else
          echo -e "${LRED} [X] Failed to connect to systemd bus. Attempt $attempt/$retries. ${RESTORE}"
          ((attempt++))
          sleep "$delay"
      fi
  done

  if (( attempt > retries )); then
      echo -e "${LRED} [X] Failed to connect to systemd bus after $retries attempts. Operation aborted... ${RESTORE}"
      echo -e "${LRED} [i] Consider rebooting your PC if the issue persists.${RESTORE}"
      echo 
      exit 1
  fi

  if systemctl status "$service_name" &>/dev/null; then
      return 0
  else
      return 1
  fi
}

get_local_ip() {
 ip_list=($(ip addr show | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1) $(hostname -I))
 ip_list=($(echo "${ip_list[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' '))
 elements=${#ip_list[@]}
 choices=()
 for (( i=0; i<$elements; i++ )); do
  if [[ "$i" == "0" ]]; then
    choices+=("${ip_list[i]}" "" "ON")
  else
    choices+=("${ip_list[i]}" "" "OFF")
  fi
 done
IP=$(whiptail --title "Which IP to bind for pouwfrontend web server?" \
           --radiolist "\n\
Any IP other than 127.0.0.1 is a security risk and should be selected only by advanced users.\n\
\n\
Use the UP/DOWN arrows to highlight the IP you want.\n\
Press Spacebar on the IP you want to select, THEN press ENTER." 35 60 20 \
           "${choices[@]}" 3>&2 2>&1 1>&3)
}

daemon_setup() {
  clear_screen
  echo -e "Fluxcore for Linux AMD64 - ${GREEN}Production${RESTORE}"
  echo "Please allow privileges to access hardware info to the program."
  sudo_check
  if ! id "fluxuser" &>/dev/null; then
    _task "Create user fluxuser"
    _cmd "sudo useradd -p '' -r -s /bin/bash -m fluxuser"
    if [[ ! -f /etc/sudoers.d/dont-prompt-fluxuser-for-sudo-password ]]; then
      _cmd "echo \"fluxuser ALL=(ALL:ALL) NOPASSWD: ALL\" | sudo tee \"/etc/sudoers.d/dont-prompt-fluxuser-for-sudo-password\" > /dev/null"
    fi
  fi
  _task "Download the Fluxcore executable"
  if service_exists "fluxcore"; then
    _cmd "sudo systemctl stop fluxcore.service"
    _cmd "sudo systemctl disable fluxcore.service"
  else
    _cmd "ps aux | grep '[f]luxcore-linux-amd64' | awk '{print $2}' | sudo xargs -r kill -9"
  fi
  _cmd "sudo curl -o /home/fluxuser/$name https://download.fluxcore.ai/$name"
  _task "Set permissions for Fluxcore executable"
  _cmd "sudo chown fluxuser:fluxuser /home/fluxuser/$name && sudo chmod +x /home/fluxuser/$name"
  _cmd "sudo setcap 'CAP_DAC_READ_SEARCH+eip cap_net_bind_service=+ep' /home/fluxuser/$name"
  _cmd "sudo chmod u+s,+x /home/fluxuser/$name"
  _task "Configure and start Fluxcore service"
  if [[ -z "$IP" ]]; then
    get_local_ip
  fi
  IP=${IP:-127.0.0.1}
  _cmd "sudo curl -o /lib/systemd/system/fluxcore.service https://download.fluxcore.ai/fluxcore.service"
  if [[ -z "$EMAIL" ]]; then
    _cmd "sudo sed -i "s/127.0.0.1/$IP/g" /lib/systemd/system/fluxcore.service"
  else
    _cmd "sudo sed -i 's|ExecStart=/bin/bash -c \"/home/fluxuser/$name -daemon -ip [0-9.]*\"|ExecStart=/bin/bash -c \"/home/fluxuser/$name -daemon -ip $IP -email $EMAIL\"|' /lib/systemd/system/fluxcore.service"
  fi
  _cmd "sudo systemctl daemon-reload"
  _cmd "sudo systemctl enable fluxcore.service"
  _cmd "sudo systemctl start fluxcore.service"
  printf "${OVERWRITE}${LGREEN} [✓]  ${LGREEN}${TASK}\n ${RESTORE}"
  echo -e ""
  systemctl status --no-pager fluxcore.service
  echo
  echo -e "${PIN} ${CYAN}You can access it here: ${YELLOW}http://$IP:18180${RESTORE}"
  echo -e "${PIN} ${CYAN}Be aware to sign in, third parties like Github, Google, etc. require you to have a domain name.${RESTORE}"
  echo -e "${PIN} ${CYAN}You can add the IP of your remote to the host file under the name 'machine1.remote.fluxcore', 'machine2.remote.fluxcore', ... ${RESTORE}"
  echo
}


uninstall() {
 clear_screen
 echo "Please allow privileges to remove program"
 sudo_check
 if service_exists "fluxcore"; then
  _task "Removing fluxcore service" 
  _cmd "sudo systemctl stop fluxcore.service"
  _cmd "sudo systemctl disable fluxcore.service"
  _cmd "sudo rm /lib/systemd/system/fluxcore.service"
 else
  _cmd "ps aux | grep '[f]luxcore-linux-amd64' | awk '{print $2}' | sudo xargs -r kill -9"
 fi

 if [[ -f  /home/fluxuser/$name ]]; then
  _task "Removing fluxcore binary" 
  _cmd "sudo rm /home/fluxuser/$name"
 fi
 _task "Reloading systemctl daemon" 
 _cmd "sudo systemctl daemon-reload"
 if [[ -d  /home/fluxuser ]]; then
   _task "Removing user fluxuser" 
   _cmd "sudo deluser --remove-home fluxuser"
 fi

  _task "Removing Kubernetes and related files..." 
 if [[ -f /usr/local/bin/rke2-uninstall.sh ]]; then
   sudo /usr/local/bin/rke2-uninstall.sh
 fi
 sudo rm -rf /etc/ceph \
 /etc/cni \
 /etc/kubernetes \
 /etc/rancher \
 /opt/cni \
 /opt/rke \
 /run/secret/kubernetes.io \
 /run/calico \
 /run/flannel \
 /var/lib/calico \
 /var/lib/etcd \
 /var/lib/cni \
 /var/lib/kubelet \
 /var/lib/rancher \
 /var/log/containers \
 /var/log/kube-audit \
 /var/log/pods \
 /var/run/calico >/dev/null 2>&1
 printf "${OVERWRITE}${LGREEN} [✓]  ${LGREEN}${TASK}\n ${RESTORE}"
 echo -e ""
}

fix_frankenstein() {
  curl -o fix-frankenstein.sh https://pouwdev.runonflux.io/update/fix-frankenstein.sh
  bash fix-frankenstein.sh
}

show_entries_only() {
    entries=$(grep -E "^[ \t]*[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" "$HOSTS_FILE" | sed 's/^[ \t]*//')
    if [ -z "$entries" ]; then
        whiptail --msgbox "No IPv4 entries found." 8 39 --title "Hosts File"
    else
        whiptail --title "Hosts File Entries" --msgbox "$entries" 20 60
    fi
}

delete_entry() {
    while true; do
        entries=$(grep -E "^[ \t]*[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" "$HOSTS_FILE" | sed 's/^[ \t]*//')
        if [ -z "$entries" ]; then
            whiptail --msgbox "No IPv4 entries found." 8 39 --title "Hosts File"
            return
        fi

        menu_items=()
        while IFS= read -r line; do
            ip=$(echo "$line" | awk '{print $1}')
            hostname=$(echo "$line" | awk '{print $2}')
            menu_items+=("$ip $hostname" "")
        done <<< "$entries"

        choice=$(whiptail --title "Hosts File" --menu "Choose an entry to delete" 20 60 10 "${menu_items[@]}" 3>&1 1>&2 2>&3)
        exitstatus=$?
        if [ $exitstatus = 0 ]; then
            ip=$(echo "$choice" | awk '{print $1}')
            hostname=$(echo "$choice" | awk '{print $2}')
            if whiptail --title "Confirm Deletion" --yesno "Are you sure you want to delete the entry for $hostname ($ip)?" 8 39; then
                sudo sed -i "/^$ip[ \t]*$hostname/d" "$HOSTS_FILE"
                whiptail --msgbox "Entry deleted successfully!" 8 39 --title "Success"
            else
                whiptail --msgbox "Entry deletion cancelled." 8 39 --title "Cancelled"
            fi
        elif [ $exitstatus = 1 ]; then
            whiptail --msgbox "Entry deletion cancelled." 8 39 --title "Cancelled"
        fi
        break
    done
}

add_entry() {
    while true; do
        hostname=$(whiptail --inputbox "Enter hostname" 8 39 --title "Add Entry" 3>&1 1>&2 2>&3)
        exitstatus=$?
        if [ $exitstatus = 0 ]; then
            ip=$(whiptail --inputbox "Enter IP address" 8 39 --title "Add Entry" 3>&1 1>&2 2>&3)
            exitstatus=$?
            if [ $exitstatus = 0 ]; then
                # Validate IP address format (simple validation)
                if [[ ! "$ip" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
                    whiptail --msgbox "Invalid IP address format." 8 39 --title "Error"
                    continue
                fi
                # Validate hostname (basic check)
                if [[ -z "$hostname" ]]; then
                    whiptail --msgbox "Hostname cannot be empty." 8 39 --title "Error"
                    continue
                fi
                # Add the new entry at the top of the /etc/hosts file
                sudo sh -c "echo '$ip $hostname' >> $HOSTS_FILE"
                whiptail --msgbox "Entry added successfully!" 8 39 --title "Success"
            else
                whiptail --msgbox "Entry addition cancelled." 8 39 --title "Cancelled"
            fi
        else
            whiptail --msgbox "Entry addition cancelled." 8 39 --title "Cancelled"
        fi
        break
    done
}

main_menu() {
    while true; do
        CHOICE=$(
            whiptail --title "Hosts file management" --menu "Make your choice" 15 40 8 \
            "1)" "Show hosts file"   \
            "2)" "Add entry" \
            "3)" "Delete entry" \
            "4)" "Exit" 3>&2 2>&1 1>&3
        )

        case $CHOICE in
            "1)")
                show_entries_only
                ;;
            "2)")
                add_entry
                ;;
            "3)")
                delete_entry
                ;;
            "4)")
                exit 0
                ;;
        esac
    done
}

host_file_manage() {
  if [[ "$SYSTEM_TYPE" == "Desktop" ]]; then
    main_menu
  fi
}

usage() {
  echo
  echo "Usage: [-i <ip_address> [<email>]] [-r] [-u] [-e <email>]"
  echo
  echo "Options:"
  echo "  -i <ip_address> [<email>]  Install with the specified IP address. Optionally, assign the machine to the specified email address. The email must exist in the system."
  echo "  -r                         Remove the application."
  echo "  -e <email>                 Assign a machine to the specified email address. The email must exist in the system."
  echo "  -u                         Update FluxCore daemon."
  echo "  -h                         Show this help message."
  echo
}

validate_email() {
  local email="$1"
  local regex="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
  if [[ $email =~ $regex ]]; then
    return 0
  else
    return 1
  fi
}

parse_args() {
  while getopts ":i:hrue:" opt; do
    case $opt in
      i)
        IP=$OPTARG
        if [[ ! "$IP" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]] && [[ -n "$IP" ]]; then
          echo "Error: Invalid ip format. (ex. 127.0.0.1)" >&2
	        echo
	        exit
        fi
        EMAIL="${!OPTIND}"
        if [[ -n "$EMAIL" ]] && ! validate_email "$EMAIL"; then
          echo "Error: Invalid email format. (ex. -e user@example.com)" >&2
	        echo
	        exit 
      	fi
        daemon_setup
      	exit
        ;;
      e)
        EMAIL=$OPTARG
	      if ! validate_email "$EMAIL"; then
          echo "Error: Invalid email format. (ex. -e user@example.com)" >&2
	        echo
	        exit 
	      fi
	      sudo /home/fluxuser/$name -setOwner $EMAIL
	      exit
        ;;
      r)
        uninstall
	      exit
        ;;
      u)
        if sudo test -f "/home/fluxuser/$name"; then
	        echo -e "${CLOCK} Update in progress..."
          sudo /home/fluxuser/$name -update
	        echo
	      else
          echo "Error: FluxCore daemon not installed" >&2
          echo
        fi
        exit
        ;;        
      h)
        usage
	      exit
        ;;
      \?)
        echo "Invalid option: -$OPTARG" >&2
	      usage
        exit 
        ;;
      :)
        case $OPTARG in
          i)
            echo "Error: Option -i requires an argument. (ex. -i 127.0.0.1)" >&2
            ;;
          e)
            echo "Error: Option -e requires an argument. (ex. -e user@example.com)" >&2
            ;;
        esac
        usage
        exit 
        ;;
    esac
  done
}

check_command "lsb_release" "lsb-release"
check_command "wg-quick" "wireguard wireguard-tools udhcpc"

if ! command -v whiptail &> /dev/null; then
  sudo apt-get update -y 
  sudo apt-get install -y whiptail >/dev/null 2>&1
fi

clear_screen
parse_args "$@"
echo -e "$Banner"
UBUNTU_VERSION=$(lsb_release -rs)
system_type
echo -e "${YELLOW}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~${RESTORE}"
echo -e " Branch: ${GREEN}Production${RESTORE}"
echo -e " Ubuntu version: ${CYAN}${UBUNTU_VERSION}${RESTORE} Type: ${CYAN}${SYSTEM_TYPE}${RESTORE}"
echo -e "${YELLOW}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~${RESTORE}"
echo -e "${CYAN} 1) Install FluxCore${RESTORE}"
echo -e "${CYAN} 2) Uninstall FluxCore${RESTORE}"
echo -e "${CYAN} 3) Fix Frankenstein Script${RESTORE}"
if [[ "$SYSTEM_TYPE" == "Desktop" ]]; then
  echo -e "${CYAN} 4) Hosts file management${RESTORE}"
fi
echo -e "${YELLOW}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~${RESTORE}"
read -rp " Pick an option and hit ENTER: "
case "$REPLY" in
 1)  
 		clear
		sleep 1
		daemon_setup

 ;;
 2) 
		clear
		sleep 1
		uninstall
 ;;
 3)     
		clear
		sleep 1
		fix_frankenstein

 ;;
 4)
 
 		clear
                sleep 1
		host_file_manage
		
 ;;
 esac
 set -o history
