commit 23870a12dcd0faaec820de6b7308c4e1192b0b77 Author: Tony Miller Date: Thu Aug 21 22:37:11 2025 +1000 initial commit diff --git a/.agignore b/.agignore new file mode 100644 index 0000000..d46c810 --- /dev/null +++ b/.agignore @@ -0,0 +1,46 @@ +node_modules +.oh-my-zsh/plugins +.config/zsh/custom/plugins +.keep +.asdf +.git +.yarn +.gem +Library +Applications +Movies/TV +Music/Music +zsh/custom/plugins +.config/broot +.localized +.DS_Store +.docker +.vim +.local/state +.local/lib +.local/share +.cache +.vpn +.sdkman +.cisco +.atlas-packages-cli +.Trash +.cups +.npm +.node-gyp +.doppler +.jssc +.zplug +.virtualenvs +.m2 +.mvn +.pyenv +.build +.vscode/extensions +dist +Pictures +Music +Memory Alpha +Documents/Memory Alpha +__pycache__ + diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..f56dd44 --- /dev/null +++ b/.bashrc @@ -0,0 +1,193 @@ +#!/usr/bin/env bash + +### DEFAULTS + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +[ -f ~/.config/bash/git-prompt.sh ] && . ~/.config/bash/git-prompt.sh +[ -f ~/.config/bash/private.sh ] && . ~/.config/bash/private.sh + +### NVM +[ -d "$HOME/.config/nvm" ] \ + && export NVM_DIR="$HOME/.config/nvm" \ + || export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" --no-use +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" + +### FZF +export FZF_DEFAULT_COMMAND='ag --skip-vcs-ignores --ignore .git --ignore node_modules -g ""' +[ -f /usr/share/doc/fzf/examples/key-bindings.bash ] \ + && source /usr/share/doc/fzf/examples/key-bindings.bash + +do_cd_fzf() { + local parent="$1" + + cd "${parent}/$(find "${parent}" \ + -maxdepth 1 \ + -mindepth 1 \ + -type d | \ + xargs -I '{}' basename '{}' | \ + fzf)" +} + +do_edit_fzf() { + local dir="$1" + + pushd "$dir" > /dev/null + local target="$(fzf)" + + if [ "${target}" != "" ]; then + vim "${target}" + fi + + popd > /dev/null +} + +fcd() { + local file + local dir + file=$(fzf +m -q "$1") && dir=$(dirname "$file") && cd "$dir" +} + +do_checkout() { + git for-each-ref --format='%(refname:short)' \ + $([ "$1" == "--remote" ] \ + && printf '%s' 'refs/remotes' \ + || printf '%s' 'refs/heads' ) \ + | fzf \ + | xargs -r git $([ "$1" == "--remote" ] \ + && printf '%s' 'checkout --track' \ + || printf '%s' 'checkout') +} + +### GO +export GOPATH=~/.local/go +export PATH="$GOPATH/bin:$PATH" + +### Helpers +function uber_download { + lftp -e "pget -c -n128 \"$1\"; quit" +} + +function do_sdcv { + sdcv -c -0 "$1" | less -r +} + +function do_ppwd { + pwd | xclip -selection clipboard +} + +### ALIASES + +alias d=docker +alias open=xdg-open +alias vim=nvim +alias ggg=gitui + +alias gst="git status" +alias gco="do_checkout" +alias gcm="do_checkout --remote" + +alias src="do_cd_fzf ${HOME}/src" + +### HISTORY +# Avoid duplicates +HISTCONTROL=ignoredups:erasedups +# When the shell exits, append to the history file instead of overwriting it +shopt -s histappend +# After each command, append to the history file and reread it +PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r" +# UNLIMITED ~~POWER~~ HISTORY +HISTSIZE=-1 +HISTFILESIZE=-1 + + +### Customizations +shopt -s checkwinsize + +# Completions +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +function prompt_text { + if [ "$EUID" -eq 0 ]; then + printf '[***ROOT***] # ' + else + printf '$ ' + fi +} + +function prompt_color { + if [ "$EUID" -eq 0 ]; then + printf '\e[31m' + else + printf '\e[38;5;24m' + fi +} + + +function shorten_path { + local current_path=`pwd` + local last=`echo $current_path | sed -e 's/[^\/]*\///g'` + local path="" + [[ $current_path == "$HOME"* ]] && read -ra path <<< "~" + + current_path=${current_path/"$HOME"/''} + current_path=${current_path:1} + + IFS="/" read -ra current_path <<< "$current_path" + for x in "${current_path[@]}" + do + if [ "$x" == "$last" ]; + then + path="${path}/${x}" + else + path="${path}/${x:0:1}" + fi + done + + echo $path +} + +# terminal titles +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" + ;; +*) + ;; +esac + + +# make less more friendly for non-text input files, see lesspipe(1) +[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# some colors +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + alias grep='grep --color=auto' + alias fgrep='fgrep --color=auto' + alias egrep='egrep --color=auto' +fi + +export EDITOR=nvim +export PATH="~/.local/bin:$PATH" + +export PS1='\[$(prompt_color)\][$(shorten_path)]\[\e[31m\]$(__git_ps1)\n\[$(prompt_color)\]$(prompt_text)\[\033[m\]' +export LS_COLORS='di=1;34:ln=1;31:so=37:pi=1;93:ex=35:bd=37:cd=37:su=37:sg=37:tw=32:ow=32' +export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + + diff --git a/.config/Brewfile b/.config/Brewfile new file mode 100644 index 0000000..4dccffd --- /dev/null +++ b/.config/Brewfile @@ -0,0 +1,47 @@ +tap "homebrew/autoupdate" +tap "homebrew/bundle" +tap "homebrew/cask" +tap "homebrew/cask-fonts" +tap "homebrew/core" +tap "homebrew/services" +tap "yt-dlp/taps" + +brew "ansible" +brew "choose-gui" +brew "cocoapods" +brew "eza" +brew "ffmpeg" +brew "fzf" +brew "git" +brew "git-lfs" +brew "htop" +brew "jq" +brew "lf" +brew "lftp" +brew "tree-sitter" +brew "neovim" +brew "pget" +brew "pyenv" +brew "pyenv-virtualenv" +brew "rclone" +brew "rustup" +brew "swift-format" +brew "syncthing", restart_service: :changed +brew "telnet" +brew "thefuck" +brew "trash", link: true +brew "wget" +brew "yt-dlp" + +cask "alfred" +cask "bbedit" +cask "contexts" +cask "gnucash" +cask "hammerspoon" +cask "iterm2" +cask "musicbrainz-picard" +cask "orbstack" +cask "rectangle" +cask "syntax-highlight" +cask "visual-studio-code" + diff --git a/.config/act_runner/config.yaml b/.config/act_runner/config.yaml new file mode 100644 index 0000000..78590f2 --- /dev/null +++ b/.config/act_runner/config.yaml @@ -0,0 +1,64 @@ +# Example configuration file, it's safe to copy this as the default config file without any modification. + +# You don't have to copy this file to your instance, +# just run `./act_runner generate-config > config.yaml` to generate a config file. + +log: + # The level of logging, can be trace, debug, info, warn, error, fatal + level: info + +runner: + # Where to store the registration result. + file: "/Users/tmlr/Library/Caches/act_runner/runner" + # Execute how many tasks concurrently at the same time. + capacity: 1 + # Extra environment variables to run jobs. + envs: + A_TEST_ENV_NAME_1: a_test_env_value_1 + A_TEST_ENV_NAME_2: a_test_env_value_2 + # Extra environment variables to run jobs from a file. + # It will be ignored if it's empty or the file doesn't exist. + env_file: .env + # The timeout for a job to be finished. + # Please note that the Gitea instance also has a timeout (3h by default) for the job. + # So the job could be stopped by the Gitea instance if it's timeout is shorter than this. + timeout: 1h + # The timeout for the runner to wait for running jobs to finish when shutting down. + # Any running jobs that haven't finished after this timeout will be cancelled. + shutdown_timeout: 0s + # Whether skip verifying the TLS certificate of the Gitea instance. + insecure: false + # The timeout for fetching the job from the Gitea instance. + fetch_timeout: 5s + # The interval for fetching the job from the Gitea instance. + fetch_interval: 2s + # The labels of a runner are used to determine which jobs the runner can run, and how to run them. + # Like: "macos-arm64:host" or "ubuntu-latest:docker://gitea/runner-images:ubuntu-latest" + # Find more images provided by Gitea at https://gitea.com/gitea/runner-images . + # If it's empty when registering, it will ask for inputting labels. + # If it's empty when execute `daemon`, will use labels in `.runner` file. + labels: + - "macos-arm64:host" + +cache: + # Enable cache server to use actions/cache. + enabled: true + # The directory to store the cache data. + # If it's empty, the cache data will be stored in $HOME/.cache/actcache. + dir: "/Users/tmlr/Library/Caches/act_runner" + # The host of the cache server. + # It's not for the address to listen, but the address to connect from job containers. + # So 0.0.0.0 is a bad choice, leave it empty to detect automatically. + host: "" + # The port of the cache server. + # 0 means to use a random available port. + port: 0 + # The external cache server URL. Valid only when enable is true. + # If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself. + # The URL should generally end with "/". + external_server: "" + +host: + # The parent directory of a job's working directory. + # If it's empty, $HOME/.cache/act/ will be used. + workdir_parent: "/Users/tmlr/Library/Caches/act_runner/jobs" diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..41956d7 --- /dev/null +++ b/.config/alacritty/alacritty.toml @@ -0,0 +1,41 @@ +live_config_reload = true + +[scrolling] +history = 100000 + +[font] +normal = { family = "Monaco", style = "Regular"} +size = 13 + +[window] +option_as_alt = "Both" +padding = { x = 5, y = 2 } +decorations = "Full" + +[colors.primary] +foreground = "#4D4D4C" +background = "#F2F2F2" +[colors.normal] +black = "#4D4D4C" +red = "#D7235F" +green = "#718C00" +yellow = "#D75E00" +blue = "#4271AD" +magenta = "#8959A8" +cyan = "#0A94A1" +white = "#EEEEED" +[colors.bright] +black = "#4D4D4C" +red = "#D7235F" +green = "#718C00" +yellow = "#D75E00" +blue = "#4271AD" +magenta = "#8959A8" +cyan = "#0A94A1" +white = "#EEEEED" + +[keyboard] +bindings = [ + { key = "Backspace", mods = "Command", chars = "\u001bU" }, #delete backwards + { key = "z", mods = "Command", chars = "\u001f" } #cmd+z +] \ No newline at end of file diff --git a/.config/bash/git-prompt.sh b/.config/bash/git-prompt.sh new file mode 100644 index 0000000..4779735 --- /dev/null +++ b/.config/bash/git-prompt.sh @@ -0,0 +1,531 @@ +# bash/zsh git prompt support +# +# Copyright (C) 2006,2007 Shawn O. Pearce +# Distributed under the GNU General Public License, version 2.0. +# +# This script allows you to see repository status in your prompt. +# +# To enable: +# +# 1) Copy this file to somewhere (e.g. ~/.git-prompt.sh). +# 2) Add the following line to your .bashrc/.zshrc: +# source ~/.git-prompt.sh +# 3a) Change your PS1 to call __git_ps1 as +# command-substitution: +# Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' +# ZSH: setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ ' +# the optional argument will be used as format string. +# 3b) Alternatively, for a slightly faster prompt, __git_ps1 can +# be used for PROMPT_COMMAND in Bash or for precmd() in Zsh +# with two parameters,
 and , which are strings
+#        you would put in $PS1 before and after the status string
+#        generated by the git-prompt machinery.  e.g.
+#        Bash: PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "\\\$ "'
+#          will show username, at-sign, host, colon, cwd, then
+#          various status string, followed by dollar and SP, as
+#          your prompt.
+#        ZSH:  precmd () { __git_ps1 "%n" ":%~$ " "|%s" }
+#          will show username, pipe, then various status string,
+#          followed by colon, cwd, dollar and SP, as your prompt.
+#        Optionally, you can supply a third argument with a printf
+#        format string to finetune the output of the branch status
+#
+# The repository status will be displayed only if you are currently in a
+# git repository. The %s token is the placeholder for the shown status.
+#
+# The prompt status always includes the current branch name.
+#
+# In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty value,
+# unstaged (*) and staged (+) changes will be shown next to the branch
+# name.  You can configure this per-repository with the
+# bash.showDirtyState variable, which defaults to true once
+# GIT_PS1_SHOWDIRTYSTATE is enabled.
+#
+# You can also see if currently something is stashed, by setting
+# GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed,
+# then a '$' will be shown next to the branch name.
+#
+# If you would like to see if there're untracked files, then you can set
+# GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're untracked
+# files, then a '%' will be shown next to the branch name.  You can
+# configure this per-repository with the bash.showUntrackedFiles
+# variable, which defaults to true once GIT_PS1_SHOWUNTRACKEDFILES is
+# enabled.
+#
+# If you would like to see the difference between HEAD and its upstream,
+# set GIT_PS1_SHOWUPSTREAM="auto".  A "<" indicates you are behind, ">"
+# indicates you are ahead, "<>" indicates you have diverged and "="
+# indicates that there is no difference. You can further control
+# behaviour by setting GIT_PS1_SHOWUPSTREAM to a space-separated list
+# of values:
+#
+#     verbose       show number of commits ahead/behind (+/-) upstream
+#     name          if verbose, then also show the upstream abbrev name
+#     legacy        don't use the '--count' option available in recent
+#                   versions of git-rev-list
+#     git           always compare HEAD to @{upstream}
+#     svn           always compare HEAD to your SVN upstream
+#
+# You can change the separator between the branch name and the above
+# state symbols by setting GIT_PS1_STATESEPARATOR. The default separator
+# is SP.
+#
+# By default, __git_ps1 will compare HEAD to your SVN upstream if it can
+# find one, or @{upstream} otherwise.  Once you have set
+# GIT_PS1_SHOWUPSTREAM, you can override it on a per-repository basis by
+# setting the bash.showUpstream config variable.
+#
+# If you would like to see more information about the identity of
+# commits checked out as a detached HEAD, set GIT_PS1_DESCRIBE_STYLE
+# to one of these values:
+#
+#     contains      relative to newer annotated tag (v1.6.3.2~35)
+#     branch        relative to newer tag or branch (master~4)
+#     describe      relative to older annotated tag (v1.6.3.1-13-gdd42c2f)
+#     default       exactly matching tag
+#
+# If you would like a colored hint about the current dirty state, set
+# GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on
+# the colored output of "git status -sb" and are available only when
+# using __git_ps1 for PROMPT_COMMAND or precmd.
+#
+# If you would like __git_ps1 to do nothing in the case when the current
+# directory is set up to be ignored by git, then set
+# GIT_PS1_HIDE_IF_PWD_IGNORED to a nonempty value. Override this on the
+# repository level by setting bash.hideIfPwdIgnored to "false".
+
+# check whether printf supports -v
+__git_printf_supports_v=
+printf -v __git_printf_supports_v -- '%s' yes >/dev/null 2>&1
+
+# stores the divergence from upstream in $p
+# used by GIT_PS1_SHOWUPSTREAM
+__git_ps1_show_upstream ()
+{
+	local key value
+	local svn_remote svn_url_pattern count n
+	local upstream=git legacy="" verbose="" name=""
+
+	svn_remote=()
+	# get some config options from git-config
+	local output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')"
+	while read -r key value; do
+		case "$key" in
+		bash.showupstream)
+			GIT_PS1_SHOWUPSTREAM="$value"
+			if [[ -z "${GIT_PS1_SHOWUPSTREAM}" ]]; then
+				p=""
+				return
+			fi
+			;;
+		svn-remote.*.url)
+			svn_remote[$((${#svn_remote[@]} + 1))]="$value"
+			svn_url_pattern="$svn_url_pattern\\|$value"
+			upstream=svn+git # default upstream is SVN if available, else git
+			;;
+		esac
+	done <<< "$output"
+
+	# parse configuration values
+	for option in ${GIT_PS1_SHOWUPSTREAM}; do
+		case "$option" in
+		git|svn) upstream="$option" ;;
+		verbose) verbose=1 ;;
+		legacy)  legacy=1  ;;
+		name)    name=1 ;;
+		esac
+	done
+
+	# Find our upstream
+	case "$upstream" in
+	git)    upstream="@{upstream}" ;;
+	svn*)
+		# get the upstream from the "git-svn-id: ..." in a commit message
+		# (git-svn uses essentially the same procedure internally)
+		local -a svn_upstream
+		svn_upstream=($(git log --first-parent -1 \
+					--grep="^git-svn-id: \(${svn_url_pattern#??}\)" 2>/dev/null))
+		if [[ 0 -ne ${#svn_upstream[@]} ]]; then
+			svn_upstream=${svn_upstream[${#svn_upstream[@]} - 2]}
+			svn_upstream=${svn_upstream%@*}
+			local n_stop="${#svn_remote[@]}"
+			for ((n=1; n <= n_stop; n++)); do
+				svn_upstream=${svn_upstream#${svn_remote[$n]}}
+			done
+
+			if [[ -z "$svn_upstream" ]]; then
+				# default branch name for checkouts with no layout:
+				upstream=${GIT_SVN_ID:-git-svn}
+			else
+				upstream=${svn_upstream#/}
+			fi
+		elif [[ "svn+git" = "$upstream" ]]; then
+			upstream="@{upstream}"
+		fi
+		;;
+	esac
+
+	# Find how many commits we are ahead/behind our upstream
+	if [[ -z "$legacy" ]]; then
+		count="$(git rev-list --count --left-right \
+				"$upstream"...HEAD 2>/dev/null)"
+	else
+		# produce equivalent output to --count for older versions of git
+		local commits
+		if commits="$(git rev-list --left-right "$upstream"...HEAD 2>/dev/null)"
+		then
+			local commit behind=0 ahead=0
+			for commit in $commits
+			do
+				case "$commit" in
+				"<"*) ((behind++)) ;;
+				*)    ((ahead++))  ;;
+				esac
+			done
+			count="$behind	$ahead"
+		else
+			count=""
+		fi
+	fi
+
+	# calculate the result
+	if [[ -z "$verbose" ]]; then
+		case "$count" in
+		"") # no upstream
+			p="" ;;
+		"0	0") # equal to upstream
+			p="=" ;;
+		"0	"*) # ahead of upstream
+			p=">" ;;
+		*"	0") # behind upstream
+			p="<" ;;
+		*)	    # diverged from upstream
+			p="<>" ;;
+		esac
+	else
+		case "$count" in
+		"") # no upstream
+			p="" ;;
+		"0	0") # equal to upstream
+			p=" u=" ;;
+		"0	"*) # ahead of upstream
+			p=" u+${count#0	}" ;;
+		*"	0") # behind upstream
+			p=" u-${count%	0}" ;;
+		*)	    # diverged from upstream
+			p=" u+${count#*	}-${count%	*}" ;;
+		esac
+		if [[ -n "$count" && -n "$name" ]]; then
+			__git_ps1_upstream_name=$(git rev-parse \
+				--abbrev-ref "$upstream" 2>/dev/null)
+			if [ $pcmode = yes ] && [ $ps1_expanded = yes ]; then
+				p="$p \${__git_ps1_upstream_name}"
+			else
+				p="$p ${__git_ps1_upstream_name}"
+				# not needed anymore; keep user's
+				# environment clean
+				unset __git_ps1_upstream_name
+			fi
+		fi
+	fi
+
+}
+
+# Helper function that is meant to be called from __git_ps1.  It
+# injects color codes into the appropriate gitstring variables used
+# to build a gitstring.
+__git_ps1_colorize_gitstring ()
+{
+	if [[ -n ${ZSH_VERSION-} ]]; then
+		local c_red='%F{red}'
+		local c_green='%F{green}'
+		local c_lblue='%F{blue}'
+		local c_clear='%f'
+	else
+		# Using \[ and \] around colors is necessary to prevent
+		# issues with command line editing/browsing/completion!
+		local c_red='\[\e[31m\]'
+		local c_green='\[\e[32m\]'
+		local c_lblue='\[\e[1;34m\]'
+		local c_clear='\[\e[0m\]'
+	fi
+	local bad_color=$c_red
+	local ok_color=$c_green
+	local flags_color="$c_lblue"
+
+	local branch_color=""
+	if [ $detached = no ]; then
+		branch_color="$ok_color"
+	else
+		branch_color="$bad_color"
+	fi
+	c="$branch_color$c"
+
+	z="$c_clear$z"
+	if [ "$w" = "*" ]; then
+		w="$bad_color$w"
+	fi
+	if [ -n "$i" ]; then
+		i="$ok_color$i"
+	fi
+	if [ -n "$s" ]; then
+		s="$flags_color$s"
+	fi
+	if [ -n "$u" ]; then
+		u="$bad_color$u"
+	fi
+	r="$c_clear$r"
+}
+
+__git_eread ()
+{
+	local f="$1"
+	shift
+	test -r "$f" && read "$@" <"$f"
+}
+
+# __git_ps1 accepts 0 or 1 arguments (i.e., format string)
+# when called from PS1 using command substitution
+# in this mode it prints text to add to bash PS1 prompt (includes branch name)
+#
+# __git_ps1 requires 2 or 3 arguments when called from PROMPT_COMMAND (pc)
+# in that case it _sets_ PS1. The arguments are parts of a PS1 string.
+# when two arguments are given, the first is prepended and the second appended
+# to the state string when assigned to PS1.
+# The optional third parameter will be used as printf format string to further
+# customize the output of the git-status string.
+# In this mode you can request colored hints using GIT_PS1_SHOWCOLORHINTS=true
+__git_ps1 ()
+{
+	# preserve exit status
+	local exit=$?
+	local pcmode=no
+	local detached=no
+	local ps1pc_start='\u@\h:\w '
+	local ps1pc_end='\$ '
+	local printf_format='[%s]'
+
+	case "$#" in
+		2|3)	pcmode=yes
+			ps1pc_start="$1"
+			ps1pc_end="$2"
+			printf_format="${3:-$printf_format}"
+			# set PS1 to a plain prompt so that we can
+			# simply return early if the prompt should not
+			# be decorated
+			PS1="$ps1pc_start$ps1pc_end"
+		;;
+		0|1)	printf_format="${1:-$printf_format}"
+		;;
+		*)	return $exit
+		;;
+	esac
+
+	# ps1_expanded:  This variable is set to 'yes' if the shell
+	# subjects the value of PS1 to parameter expansion:
+	#
+	#   * bash does unless the promptvars option is disabled
+	#   * zsh does not unless the PROMPT_SUBST option is set
+	#   * POSIX shells always do
+	#
+	# If the shell would expand the contents of PS1 when drawing
+	# the prompt, a raw ref name must not be included in PS1.
+	# This protects the user from arbitrary code execution via
+	# specially crafted ref names.  For example, a ref named
+	# 'refs/heads/$(IFS=_;cmd=sudo_rm_-rf_/;$cmd)' might cause the
+	# shell to execute 'sudo rm -rf /' when the prompt is drawn.
+	#
+	# Instead, the ref name should be placed in a separate global
+	# variable (in the __git_ps1_* namespace to avoid colliding
+	# with the user's environment) and that variable should be
+	# referenced from PS1.  For example:
+	#
+	#     __git_ps1_foo=$(do_something_to_get_ref_name)
+	#     PS1="...stuff...\${__git_ps1_foo}...stuff..."
+	#
+	# If the shell does not expand the contents of PS1, the raw
+	# ref name must be included in PS1.
+	#
+	# The value of this variable is only relevant when in pcmode.
+	#
+	# Assume that the shell follows the POSIX specification and
+	# expands PS1 unless determined otherwise.  (This is more
+	# likely to be correct if the user has a non-bash, non-zsh
+	# shell and safer than the alternative if the assumption is
+	# incorrect.)
+	#
+	local ps1_expanded=yes
+	[ -z "$ZSH_VERSION" ] || [[ -o PROMPT_SUBST ]] || ps1_expanded=no
+	[ -z "$BASH_VERSION" ] || shopt -q promptvars || ps1_expanded=no
+
+	local repo_info rev_parse_exit_code
+	repo_info="$(git rev-parse --git-dir --is-inside-git-dir \
+		--is-bare-repository --is-inside-work-tree \
+		--short HEAD 2>/dev/null)"
+	rev_parse_exit_code="$?"
+
+	if [ -z "$repo_info" ]; then
+		return $exit
+	fi
+
+	local short_sha
+	if [ "$rev_parse_exit_code" = "0" ]; then
+		short_sha="${repo_info##*$'\n'}"
+		repo_info="${repo_info%$'\n'*}"
+	fi
+	local inside_worktree="${repo_info##*$'\n'}"
+	repo_info="${repo_info%$'\n'*}"
+	local bare_repo="${repo_info##*$'\n'}"
+	repo_info="${repo_info%$'\n'*}"
+	local inside_gitdir="${repo_info##*$'\n'}"
+	local g="${repo_info%$'\n'*}"
+
+	if [ "true" = "$inside_worktree" ] &&
+	   [ -n "${GIT_PS1_HIDE_IF_PWD_IGNORED-}" ] &&
+	   [ "$(git config --bool bash.hideIfPwdIgnored)" != "false" ] &&
+	   git check-ignore -q .
+	then
+		return $exit
+	fi
+
+	local r=""
+	local b=""
+	local step=""
+	local total=""
+	if [ -d "$g/rebase-merge" ]; then
+		__git_eread "$g/rebase-merge/head-name" b
+		__git_eread "$g/rebase-merge/msgnum" step
+		__git_eread "$g/rebase-merge/end" total
+		if [ -f "$g/rebase-merge/interactive" ]; then
+			r="|REBASE-i"
+		else
+			r="|REBASE-m"
+		fi
+	else
+		if [ -d "$g/rebase-apply" ]; then
+			__git_eread "$g/rebase-apply/next" step
+			__git_eread "$g/rebase-apply/last" total
+			if [ -f "$g/rebase-apply/rebasing" ]; then
+				__git_eread "$g/rebase-apply/head-name" b
+				r="|REBASE"
+			elif [ -f "$g/rebase-apply/applying" ]; then
+				r="|AM"
+			else
+				r="|AM/REBASE"
+			fi
+		elif [ -f "$g/MERGE_HEAD" ]; then
+			r="|MERGING"
+		elif [ -f "$g/CHERRY_PICK_HEAD" ]; then
+			r="|CHERRY-PICKING"
+		elif [ -f "$g/REVERT_HEAD" ]; then
+			r="|REVERTING"
+		elif [ -f "$g/BISECT_LOG" ]; then
+			r="|BISECTING"
+		fi
+
+		if [ -n "$b" ]; then
+			:
+		elif [ -h "$g/HEAD" ]; then
+			# symlink symbolic ref
+			b="$(git symbolic-ref HEAD 2>/dev/null)"
+		else
+			local head=""
+			if ! __git_eread "$g/HEAD" head; then
+				return $exit
+			fi
+			# is it a symbolic ref?
+			b="${head#ref: }"
+			if [ "$head" = "$b" ]; then
+				detached=yes
+				b="$(
+				case "${GIT_PS1_DESCRIBE_STYLE-}" in
+				(contains)
+					git describe --contains HEAD ;;
+				(branch)
+					git describe --contains --all HEAD ;;
+				(describe)
+					git describe HEAD ;;
+				(* | default)
+					git describe --tags --exact-match HEAD ;;
+				esac 2>/dev/null)" ||
+
+				b="$short_sha..."
+				b="($b)"
+			fi
+		fi
+	fi
+
+	if [ -n "$step" ] && [ -n "$total" ]; then
+		r="$r $step/$total"
+	fi
+
+	local w=""
+	local i=""
+	local s=""
+	local u=""
+	local c=""
+	local p=""
+
+	if [ "true" = "$inside_gitdir" ]; then
+		if [ "true" = "$bare_repo" ]; then
+			c="BARE:"
+		else
+			b="GIT_DIR!"
+		fi
+	elif [ "true" = "$inside_worktree" ]; then
+		if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ] &&
+		   [ "$(git config --bool bash.showDirtyState)" != "false" ]
+		then
+			git diff --no-ext-diff --quiet || w="*"
+			git diff --no-ext-diff --cached --quiet || i="+"
+			if [ -z "$short_sha" ] && [ -z "$i" ]; then
+				i="#"
+			fi
+		fi
+		if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ] &&
+		   git rev-parse --verify --quiet refs/stash >/dev/null
+		then
+			s="$"
+		fi
+
+		if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ] &&
+		   [ "$(git config --bool bash.showUntrackedFiles)" != "false" ] &&
+		   git ls-files --others --exclude-standard --directory --no-empty-directory --error-unmatch -- ':/*' >/dev/null 2>/dev/null
+		then
+			u="%${ZSH_VERSION+%}"
+		fi
+
+		if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then
+			__git_ps1_show_upstream
+		fi
+	fi
+
+	local z="${GIT_PS1_STATESEPARATOR-" "}"
+
+	# NO color option unless in PROMPT_COMMAND mode
+	if [ $pcmode = yes ] && [ -n "${GIT_PS1_SHOWCOLORHINTS-}" ]; then
+		__git_ps1_colorize_gitstring
+	fi
+
+	b=${b##refs/heads/}
+	if [ $pcmode = yes ] && [ $ps1_expanded = yes ]; then
+		__git_ps1_branch_name=$b
+		b="\${__git_ps1_branch_name}"
+	fi
+
+	local f="$w$i$s$u"
+	local gitstring="$c$b${f:+$z$f}$r$p"
+
+	if [ $pcmode = yes ]; then
+		if [ "${__git_printf_supports_v-}" != yes ]; then
+			gitstring=$(printf -- "$printf_format" "$gitstring")
+		else
+			printf -v gitstring -- "$printf_format" "$gitstring"
+		fi
+		PS1="$ps1pc_start$gitstring$ps1pc_end"
+	else
+		printf -- "$printf_format" "$gitstring"
+	fi
+
+	return $exit
+}
diff --git a/.config/environment.d/00-default.conf b/.config/environment.d/00-default.conf
new file mode 100644
index 0000000..283652a
--- /dev/null
+++ b/.config/environment.d/00-default.conf
@@ -0,0 +1 @@
+EDITOR=nvim
diff --git a/.config/environment.d/02-golang.conf b/.config/environment.d/02-golang.conf
new file mode 100644
index 0000000..8bcf070
--- /dev/null
+++ b/.config/environment.d/02-golang.conf
@@ -0,0 +1,2 @@
+GOPATH=$HOME/.local/go
+PATH=${GOPATH}/bin:$PATH
diff --git a/.config/git/config b/.config/git/config
new file mode 100644
index 0000000..179a4db
--- /dev/null
+++ b/.config/git/config
@@ -0,0 +1,78 @@
+# vim: :foldmethod=marker
+
+[include]
+	path = ~/.config/git/local
+
+[init]
+	defaultBranch = main
+
+[core]
+	excludesFile = ~/.config/git/ignore
+	quotepath = false
+[pull]
+	rebase = true
+[alias]
+	df = difftool
+[filter "lfs"]
+	required = true
+	clean = git-lfs clean -- %f
+	smudge = git-lfs smudge -- %f
+	process = git-lfs filter-process
+[push]
+	autoSetupRemote = true
+
+# Diffs and Merges {{{
+[diff]
+	tool = Kaleidoscope
+[difftool]
+	prompt = false
+	trustExitCode = true
+[merge]
+	tool = Kaleidoscope
+[mergetool]
+	prompt = false
+  conflictstyle = diff3
+# }}}
+
+# {{{ Neovim
+[difftool "nvim"]
+  cmd = nvim -d \"$LOCAL\" \"$REMOTE\"
+[mergetool "nvim"]
+  cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\""
+# }}}
+
+# {{{ VSCode
+[mergetool "vscode"]
+	cmd = code --wait --merge $REMOTE $LOCAL $BASE $MERGED
+[difftool "vscode"]
+	cmd = code --wait --diff $REMOTE $LOCAL $BASE $MERGED
+# }}}
+
+# {{{ BBEdit
+[difftool "bbdiff"]
+	cmd = bbdiff --resume \"$LOCAL\" \"$REMOTE\"
+[mergetool "bbdiff"]
+	cmd = bbdiff --wait --resume \"$LOCAL\" \"$REMOTE\"
+# }}}
+
+# {{{ Kaleidoscope
+[difftool "Kaleidoscope"]
+	cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
+[mergetool "Kaleidoscope"]
+	cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
+	trustExitCode = true
+# }}}
+[difftool "sourcetree"]
+	cmd = opendiff \"$LOCAL\" \"$REMOTE\"
+	path = 
+[mergetool "sourcetree"]
+	cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
+	trustExitCode = true
+[user]
+	name = Tony Miller
+	email = aermolenko@atlassian.com
+[trace2]
+	eventTarget = af_unix:/Users/aermolenko/.gittrace/trace.sock
+	eventBrief = true
+	eventNesting = 1
+	configparams = custom.metacommands
diff --git a/.config/git/ignore b/.config/git/ignore
new file mode 100644
index 0000000..ed1f49b
--- /dev/null
+++ b/.config/git/ignore
@@ -0,0 +1,4 @@
+*.swp
+
+**/.claude/settings.local.json
+
diff --git a/.config/gitui/key_bindings.ron b/.config/gitui/key_bindings.ron
new file mode 100644
index 0000000..5f3b30c
--- /dev/null
+++ b/.config/gitui/key_bindings.ron
@@ -0,0 +1,40 @@
+// Note:
+// If the default key layout is lower case,
+// and you want to use `Shift + q` to trigger the exit event,
+// the setting should like this `exit: Some(( code: Char('Q'), modifiers: "SHIFT")),`
+// The Char should be upper case, and the modifier should be set to "SHIFT".
+//
+// Note:
+// find `KeysList` type in src/keys/key_list.rs for all possible keys.
+// every key not overwritten via the config file will use the default specified there
+(
+    open_help: Some(( code: F(1), modifiers: "")),
+
+    move_left: Some(( code: Char('h'), modifiers: "")),
+    move_right: Some(( code: Char('l'), modifiers: "")),
+    move_up: Some(( code: Char('k'), modifiers: "")),
+    move_down: Some(( code: Char('j'), modifiers: "")),
+    
+    popup_up: Some(( code: Char('p'), modifiers: "CONTROL")),
+    popup_down: Some(( code: Char('n'), modifiers: "CONTROL")),
+    page_up: Some(( code: Char('b'), modifiers: "CONTROL")),
+    page_down: Some(( code: Char('f'), modifiers: "CONTROL")),
+    home: Some(( code: Char('g'), modifiers: "")),
+    end: Some(( code: Char('G'), modifiers: "SHIFT")),
+    shift_up: Some(( code: Char('K'), modifiers: "SHIFT")),
+    shift_down: Some(( code: Char('J'), modifiers: "SHIFT")),
+
+    edit_file: Some(( code: Char('I'), modifiers: "SHIFT")),
+
+    status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")),
+
+    diff_reset_lines: Some(( code: Char('u'), modifiers: "")),
+    diff_stage_lines: Some(( code: Char('s'), modifiers: "")),
+
+    stashing_save: Some(( code: Char('w'), modifiers: "")),
+    stashing_toggle_index: Some(( code: Char('m'), modifiers: "")),
+
+    stash_open: Some(( code: Char('l'), modifiers: "")),
+
+    abort_merge: Some(( code: Char('M'), modifiers: "SHIFT")),
+)
diff --git a/.config/iterm2/com.googlecode.iterm2.plist b/.config/iterm2/com.googlecode.iterm2.plist
new file mode 100644
index 0000000..2bfd0ff
--- /dev/null
+++ b/.config/iterm2/com.googlecode.iterm2.plist
@@ -0,0 +1,2756 @@
+
+
+
+
+	ClickToSelectCommand
+	
+	Custom Color Presets
+	
+		papercolor-light
+		
+			Ansi 0 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333730697632
+				Color Space
+				P3
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333333730697632
+			
+			Ansi 0 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.10980392156862745
+				Color Space
+				P3
+				Green Component
+				0.10980392156862745
+				Red Component
+				0.10980392156862745
+			
+			Ansi 0 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Ansi 1 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.68627452850341797
+			
+			Ansi 1 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.37254901960784315
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.68627450980392157
+			
+			Ansi 1 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.68627450980392157
+			
+			Ansi 10 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941179275512695
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.84313726425170898
+			
+			Ansi 10 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.84313725490196079
+				Red Component
+				0.68627450980392157
+			
+			Ansi 10 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.84313725490196079
+			
+			Ansi 11 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627452850341797
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.52941179275512695
+			
+			Ansi 11 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.84313725490196079
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.68627450980392157
+			
+			Ansi 11 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.52941176470588236
+			
+			Ansi 12 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.37254902720451355
+				Red Component
+				0.84313726425170898
+			
+			Ansi 12 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				1
+			
+			Ansi 12 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.84313725490196079
+			
+			Ansi 13 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.37254902720451355
+				Red Component
+				0.84313726425170898
+			
+			Ansi 13 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				1
+			
+			Ansi 13 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.84313725490196079
+			
+			Ansi 14 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627452850341797
+				Color Space
+				P3
+				Green Component
+				0.37254902720451355
+				Red Component
+				0.0
+			
+			Ansi 14 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.0
+			
+			Ansi 14 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 15 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941179275512695
+				Color Space
+				P3
+				Green Component
+				0.37254902720451355
+				Red Component
+				0.0
+			
+			Ansi 15 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.37254901960784315
+			
+			Ansi 15 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 2 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.52941179275512695
+				Red Component
+				0.0
+			
+			Ansi 2 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.37254901960784315
+			
+			Ansi 2 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.0
+			
+			Ansi 3 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.52941179275512695
+				Red Component
+				0.37254902720451355
+			
+			Ansi 3 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.37254901960784315
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.84313725490196079
+			
+			Ansi 3 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.37254901960784315
+			
+			Ansi 4 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627452850341797
+				Color Space
+				P3
+				Green Component
+				0.52941179275512695
+				Red Component
+				0.0
+			
+			Ansi 4 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.84313725490196079
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.37254901960784315
+			
+			Ansi 4 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.0
+			
+			Ansi 5 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941179275512695
+				Color Space
+				P3
+				Green Component
+				0.52941179275512695
+				Red Component
+				0.52941179275512695
+			
+			Ansi 5 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.50196078431372548
+				Color Space
+				P3
+				Green Component
+				0.50196078431372548
+				Red Component
+				0.50196078431372548
+			
+			Ansi 5 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.52941176470588236
+			
+			Ansi 6 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941179275512695
+				Color Space
+				P3
+				Green Component
+				0.37254902720451355
+				Red Component
+				0.0
+			
+			Ansi 6 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.37254901960784315
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.84313725490196079
+			
+			Ansi 6 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 7 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666668057441711
+				Color Space
+				P3
+				Green Component
+				0.26666668057441711
+				Red Component
+				0.26666668057441711
+			
+			Ansi 7 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.81568627450980391
+				Color Space
+				P3
+				Green Component
+				0.81568627450980391
+				Red Component
+				0.81568627450980391
+			
+			Ansi 7 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Ansi 8 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.73725491762161255
+				Color Space
+				P3
+				Green Component
+				0.73725491762161255
+				Red Component
+				0.73725491762161255
+			
+			Ansi 8 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.34509803921568627
+				Color Space
+				P3
+				Green Component
+				0.34509803921568627
+				Red Component
+				0.34509803921568627
+			
+			Ansi 8 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.73725490196078436
+				Color Space
+				P3
+				Green Component
+				0.73725490196078436
+				Red Component
+				0.73725490196078436
+			
+			Ansi 9 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.84313726425170898
+			
+			Ansi 9 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.37254901960784315
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.37254901960784315
+			
+			Ansi 9 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.84313725490196079
+			
+			Background Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333730697632
+				Color Space
+				P3
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333333730697632
+			
+			Background Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.10980392156862745
+				Color Space
+				P3
+				Green Component
+				0.10980392156862745
+				Red Component
+				0.10980392156862745
+			
+			Background Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Badge Color
+			
+				Alpha Component
+				0.5
+				Blue Component
+				0.14500156044960022
+				Color Space
+				P3
+				Green Component
+				0.25274839997291565
+				Red Component
+				0.91916567087173462
+			
+			Badge Color (Dark)
+			
+				Alpha Component
+				0.5
+				Blue Component
+				0.0
+				Color Space
+				sRGB
+				Green Component
+				0.1491314172744751
+				Red Component
+				1
+			
+			Badge Color (Light)
+			
+				Alpha Component
+				0.5
+				Blue Component
+				0.0
+				Color Space
+				sRGB
+				Green Component
+				0.1491314172744751
+				Red Component
+				1
+			
+			Bold Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29839247465133667
+				Color Space
+				P3
+				Green Component
+				0.30196079611778259
+				Red Component
+				0.30196067690849304
+			
+			Bold Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Bold Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Cursor Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666668057441711
+				Color Space
+				P3
+				Green Component
+				0.26666668057441711
+				Red Component
+				0.26666668057441711
+			
+			Cursor Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.81568627450980391
+				Color Space
+				P3
+				Green Component
+				0.81568627450980391
+				Red Component
+				0.81568627450980391
+			
+			Cursor Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Cursor Guide Color
+			
+				Alpha Component
+				0.25
+				Blue Component
+				0.99078255891799927
+				Color Space
+				P3
+				Green Component
+				0.92049425840377808
+				Red Component
+				0.7486235499382019
+			
+			Cursor Guide Color (Dark)
+			
+				Alpha Component
+				0.25
+				Blue Component
+				1
+				Color Space
+				sRGB
+				Green Component
+				0.9268307089805603
+				Red Component
+				0.70213186740875244
+			
+			Cursor Guide Color (Light)
+			
+				Alpha Component
+				0.25
+				Blue Component
+				1
+				Color Space
+				sRGB
+				Green Component
+				0.9268307089805603
+				Red Component
+				0.70213186740875244
+			
+			Cursor Text Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333730697632
+				Color Space
+				P3
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333333730697632
+			
+			Cursor Text Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.10980392156862745
+				Color Space
+				P3
+				Green Component
+				0.10980392156862745
+				Red Component
+				0.10980392156862745
+			
+			Cursor Text Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Foreground Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666668057441711
+				Color Space
+				P3
+				Green Component
+				0.26666668057441711
+				Red Component
+				0.26666668057441711
+			
+			Foreground Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.81568627450980391
+				Color Space
+				P3
+				Green Component
+				0.81568627450980391
+				Red Component
+				0.81568627450980391
+			
+			Foreground Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Link Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.66020017862319946
+				Color Space
+				P3
+				Green Component
+				0.4384809136390686
+				Red Component
+				0.3018001914024353
+			
+			Link Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.67843139171600342
+				Color Space
+				sRGB
+				Green Component
+				0.44313725829124451
+				Red Component
+				0.25882354378700256
+			
+			Link Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.67843139171600342
+				Color Space
+				sRGB
+				Green Component
+				0.44313725829124451
+				Red Component
+				0.25882354378700256
+			
+			Match Background Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				1
+				Red Component
+				1
+			
+			Match Background Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				1
+				Red Component
+				1
+			
+			Match Background Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				1
+				Red Component
+				1
+			
+			Selected Text Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333321809768677
+				Color Space
+				P3
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333339691162109
+			
+			Selected Text Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333321809768677
+				Color Space
+				sRGB
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333345651626587
+			
+			Selected Text Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333321809768677
+				Color Space
+				sRGB
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333345651626587
+			
+			Selection Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29839247465133667
+				Color Space
+				P3
+				Green Component
+				0.30196079611778259
+				Red Component
+				0.30196067690849304
+			
+			Selection Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Selection Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+		
+	
+	Default Bookmark Guid
+	E47D31D5-0A6E-419A-BB04-F2C365E0DD54
+	DimInactiveSplitPanes
+	
+	DimOnlyText
+	
+	DisableFullscreenTransparency
+	
+	EnableDivisionView
+	
+	GlobalKeyMap
+	
+		0x19-0x60000
+		
+			Action
+			39
+			Text
+			
+		
+		0x68-0x100000-0x4
+		
+			Action
+			18
+			Apply Mode
+			0
+			Escaping
+			2
+			Text
+			
+			Version
+			2
+		
+		0x6a-0x100000-0x26
+		
+			Action
+			21
+			Apply Mode
+			0
+			Escaping
+			2
+			Text
+			
+			Version
+			2
+		
+		0x6b-0x100000-0x28
+		
+			Action
+			20
+			Apply Mode
+			0
+			Escaping
+			2
+			Text
+			
+			Version
+			2
+		
+		0x6c-0x100000-0x25
+		
+			Action
+			19
+			Apply Mode
+			0
+			Escaping
+			2
+			Text
+			
+			Version
+			2
+		
+		0x9-0x40000
+		
+			Action
+			32
+			Text
+			
+		
+		0xd-0x20000-0x24
+		
+			Action
+			12
+			Keycode
+			13
+			Modifiers
+			131072
+			Text
+			\n
+			Version
+			1
+		
+		0xf700-0x300000
+		
+			Action
+			7
+			Text
+			
+		
+		0xf701-0x300000
+		
+			Action
+			6
+			Text
+			
+		
+		0xf729-0x100000
+		
+			Action
+			5
+			Text
+			
+		
+		0xf72b-0x100000
+		
+			Action
+			4
+			Text
+			
+		
+		0xf72c-0x100000
+		
+			Action
+			9
+			Text
+			
+		
+		0xf72c-0x20000
+		
+			Action
+			9
+			Text
+			
+		
+		0xf72d-0x100000
+		
+			Action
+			8
+			Text
+			
+		
+		0xf72d-0x20000
+		
+			Action
+			8
+			Text
+			
+		
+	
+	HTMLTabTitles
+	
+	HapticFeedbackForEsc
+	
+	HideActivityIndicator
+	
+	HideMenuBarInFullscreen
+	
+	HideScrollbar
+	
+	HideTab
+	
+	HideTabNumber
+	
+	HotkeyMigratedFromSingleToMulti
+	
+	NeverWarnAboutShortLivedSessions_169CEFC3-6DED-41F2-9FA0-C04E97EEEE10
+	
+	NeverWarnAboutShortLivedSessions_169CEFC3-6DED-41F2-9FA0-C04E97EEEE10_selection
+	0
+	NeverWarnAboutShortLivedSessions_E47D31D5-0A6E-419A-BB04-F2C365E0DD54
+	
+	NeverWarnAboutShortLivedSessions_E47D31D5-0A6E-419A-BB04-F2C365E0DD54_selection
+	0
+	New Bookmarks
+	
+		
+			ASCII Anti Aliased
+			
+			Ambiguous Double Width
+			
+			Ansi 0 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Ansi 0 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.10980392156862745
+				Color Space
+				P3
+				Green Component
+				0.10980392156862745
+				Red Component
+				0.10980392156862745
+			
+			Ansi 0 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Ansi 1 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.68627450980392157
+			
+			Ansi 1 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.37254901960784315
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.68627450980392157
+			
+			Ansi 1 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.68627450980392157
+			
+			Ansi 10 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.84313725490196079
+			
+			Ansi 10 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.84313725490196079
+				Red Component
+				0.68627450980392157
+			
+			Ansi 10 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.84313725490196079
+			
+			Ansi 11 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.52941176470588236
+			
+			Ansi 11 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.84313725490196079
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.68627450980392157
+			
+			Ansi 11 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.52941176470588236
+			
+			Ansi 12 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.84313725490196079
+			
+			Ansi 12 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				1
+			
+			Ansi 12 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.84313725490196079
+			
+			Ansi 13 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.84313725490196079
+			
+			Ansi 13 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				1
+			
+			Ansi 13 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.84313725490196079
+			
+			Ansi 14 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 14 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.0
+			
+			Ansi 14 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 15 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 15 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.37254901960784315
+			
+			Ansi 15 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 2 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.0
+			
+			Ansi 2 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.37254901960784315
+			
+			Ansi 2 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.0
+			
+			Ansi 3 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.37254901960784315
+			
+			Ansi 3 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.37254901960784315
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.84313725490196079
+			
+			Ansi 3 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.37254901960784315
+			
+			Ansi 4 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.0
+			
+			Ansi 4 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.84313725490196079
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.37254901960784315
+			
+			Ansi 4 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.68627450980392157
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.0
+			
+			Ansi 5 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.52941176470588236
+			
+			Ansi 5 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.50196078431372548
+				Color Space
+				P3
+				Green Component
+				0.50196078431372548
+				Red Component
+				0.50196078431372548
+			
+			Ansi 5 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.52941176470588236
+			
+			Ansi 6 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 6 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.37254901960784315
+				Color Space
+				P3
+				Green Component
+				0.52941176470588236
+				Red Component
+				0.84313725490196079
+			
+			Ansi 6 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.52941176470588236
+				Color Space
+				P3
+				Green Component
+				0.37254901960784315
+				Red Component
+				0.0
+			
+			Ansi 7 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Ansi 7 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.81568627450980391
+				Color Space
+				P3
+				Green Component
+				0.81568627450980391
+				Red Component
+				0.81568627450980391
+			
+			Ansi 7 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Ansi 8 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.73725490196078436
+				Color Space
+				P3
+				Green Component
+				0.73725490196078436
+				Red Component
+				0.73725490196078436
+			
+			Ansi 8 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.34509803921568627
+				Color Space
+				P3
+				Green Component
+				0.34509803921568627
+				Red Component
+				0.34509803921568627
+			
+			Ansi 8 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.73725490196078436
+				Color Space
+				P3
+				Green Component
+				0.73725490196078436
+				Red Component
+				0.73725490196078436
+			
+			Ansi 9 Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.84313725490196079
+			
+			Ansi 9 Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.37254901960784315
+				Color Space
+				P3
+				Green Component
+				0.68627450980392157
+				Red Component
+				0.37254901960784315
+			
+			Ansi 9 Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				0.0
+				Red Component
+				0.84313725490196079
+			
+			BM Growl
+			
+			Background Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Background Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.10980392156862745
+				Color Space
+				P3
+				Green Component
+				0.10980392156862745
+				Red Component
+				0.10980392156862745
+			
+			Background Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Background Image Mode
+			2
+			Badge Color
+			
+				Alpha Component
+				0.5
+				Blue Component
+				0.0
+				Color Space
+				sRGB
+				Green Component
+				0.1491314172744751
+				Red Component
+				1
+			
+			Badge Color (Dark)
+			
+				Alpha Component
+				0.5
+				Blue Component
+				0.0
+				Color Space
+				sRGB
+				Green Component
+				0.1491314172744751
+				Red Component
+				1
+			
+			Badge Color (Light)
+			
+				Alpha Component
+				0.5
+				Blue Component
+				0.0
+				Color Space
+				sRGB
+				Green Component
+				0.1491314172744751
+				Red Component
+				1
+			
+			Blend
+			0.065581660583941603
+			Blinking Cursor
+			
+			Blur
+			
+			Blur Radius
+			24.742777593085101
+			Bold Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Bold Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Bold Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Brighten Bold Text
+			
+			Brighten Bold Text (Dark)
+			
+			Brighten Bold Text (Light)
+			
+			Character Encoding
+			4
+			Close Sessions On End
+			
+			Columns
+			80
+			Command
+			/bin/zsh
+			Cursor Boost (Dark)
+			0.0
+			Cursor Boost (Light)
+			0.0
+			Cursor Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Cursor Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.81568627450980391
+				Color Space
+				P3
+				Green Component
+				0.81568627450980391
+				Red Component
+				0.81568627450980391
+			
+			Cursor Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Cursor Guide Color
+			
+				Alpha Component
+				0.25
+				Blue Component
+				1
+				Color Space
+				sRGB
+				Green Component
+				0.9268307089805603
+				Red Component
+				0.70213186740875244
+			
+			Cursor Guide Color (Dark)
+			
+				Alpha Component
+				0.25
+				Blue Component
+				1
+				Color Space
+				sRGB
+				Green Component
+				0.9268307089805603
+				Red Component
+				0.70213186740875244
+			
+			Cursor Guide Color (Light)
+			
+				Alpha Component
+				0.25
+				Blue Component
+				1
+				Color Space
+				sRGB
+				Green Component
+				0.9268307089805603
+				Red Component
+				0.70213186740875244
+			
+			Cursor Text Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Cursor Text Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.10980392156862745
+				Color Space
+				P3
+				Green Component
+				0.10980392156862745
+				Red Component
+				0.10980392156862745
+			
+			Cursor Text Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333333333333335
+				Color Space
+				P3
+				Green Component
+				0.93333333333333335
+				Red Component
+				0.93333333333333335
+			
+			Custom Command
+			Yes
+			Custom Directory
+			Recycle
+			Default Bookmark
+			No
+			Description
+			Default
+			Disable Printing
+			
+			Disable Window Resizing
+			
+			Enable Triggers in Interactive Apps
+			
+			Faint Text Alpha (Dark)
+			0.5
+			Faint Text Alpha (Light)
+			0.5
+			Flashing Bell
+			
+			Foreground Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Foreground Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.81568627450980391
+				Color Space
+				P3
+				Green Component
+				0.81568627450980391
+				Red Component
+				0.81568627450980391
+			
+			Foreground Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.26666666666666666
+				Color Space
+				P3
+				Green Component
+				0.26666666666666666
+				Red Component
+				0.26666666666666666
+			
+			Guid
+			E47D31D5-0A6E-419A-BB04-F2C365E0DD54
+			Horizontal Spacing
+			1
+			Idle Code
+			0
+			Initial Use Transparency
+			
+			Jobs to Ignore
+			
+				rlogin
+				ssh
+				slogin
+				telnet
+			
+			Keyboard Map
+			
+				0x5e-0x60000
+				
+					Action
+					11
+					Text
+					0x1e
+				
+				0xf700-0x220000
+				
+					Action
+					10
+					Text
+					[A
+				
+				0xf700-0x240000
+				
+					Action
+					10
+					Text
+					[A
+				
+				0xf700-0x260000
+				
+					Action
+					10
+					Text
+					[A
+				
+				0xf700-0x280000
+				
+					Action
+					10
+					Text
+					[A
+				
+				0xf701-0x220000
+				
+					Action
+					10
+					Text
+					[B
+				
+				0xf701-0x240000
+				
+					Action
+					10
+					Text
+					[B
+				
+				0xf701-0x260000
+				
+					Action
+					10
+					Text
+					[B
+				
+				0xf701-0x280000
+				
+					Action
+					10
+					Text
+					[B
+				
+				0xf702-0x220000
+				
+					Action
+					10
+					Text
+					[D
+				
+				0xf702-0x240000
+				
+					Action
+					10
+					Text
+					[5D
+				
+				0xf702-0x260000
+				
+					Action
+					11
+					Text
+					0x1b 0x1b 0x5b 0x44
+				
+				0xf702-0x280000
+				
+					Action
+					10
+					Text
+					b
+				
+				0xf702-0x300000-0x7b
+				
+					Action
+					10
+					Apply Mode
+					0
+					Escaping
+					2
+					Text
+					[H
+					Version
+					2
+				
+				0xf703-0x220000
+				
+					Action
+					10
+					Text
+					[C
+				
+				0xf703-0x240000
+				
+					Action
+					10
+					Text
+					[5C
+				
+				0xf703-0x260000
+				
+					Action
+					10
+					Text
+					[C
+				
+				0xf703-0x280000
+				
+					Action
+					10
+					Text
+					f
+				
+				0xf703-0x300000-0x7c
+				
+					Action
+					10
+					Apply Mode
+					0
+					Escaping
+					2
+					Text
+					[F
+					Version
+					2
+				
+				0xf708-0x20000
+				
+					Action
+					10
+					Text
+					[25~
+				
+				0xf709-0x20000
+				
+					Action
+					10
+					Text
+					[26~
+				
+				0xf70a-0x20000
+				
+					Action
+					10
+					Text
+					[28~
+				
+				0xf70b-0x20000
+				
+					Action
+					10
+					Text
+					[29~
+				
+				0xf729-0x20000
+				
+					Action
+					10
+					Text
+					[H
+				
+				0xf729-0x40000
+				
+					Action
+					5
+					Text
+					
+				
+				0xf72b-0x20000
+				
+					Action
+					10
+					Text
+					[F
+				
+				0xf72b-0x40000
+				
+					Action
+					4
+					Text
+					
+				
+			
+			Left Option Key Changeable
+			
+			Link Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.67843139171600342
+				Color Space
+				sRGB
+				Green Component
+				0.44313725829124451
+				Red Component
+				0.25882354378700256
+			
+			Link Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.67843139171600342
+				Color Space
+				sRGB
+				Green Component
+				0.44313725829124451
+				Red Component
+				0.25882354378700256
+			
+			Link Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.67843139171600342
+				Color Space
+				sRGB
+				Green Component
+				0.44313725829124451
+				Red Component
+				0.25882354378700256
+			
+			Load Shell Integration Automatically
+			
+			Match Background Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				1
+				Red Component
+				1
+			
+			Match Background Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.0
+				Color Space
+				P3
+				Green Component
+				1
+				Red Component
+				1
+			
+			Minimum Contrast
+			0.0
+			Minimum Contrast (Dark)
+			0.0
+			Minimum Contrast (Light)
+			0.0
+			Mouse Reporting
+			
+			Name
+			Default
+			Non Ascii Font
+			Monaco 13
+			Non-ASCII Anti Aliased
+			
+			Normal Font
+			Monaco 13
+			Only The Default BG Color Uses Transparency
+			
+			Option Key Sends
+			2
+			Place Prompt at First Column
+			
+			Prevent Opening in a Tab
+			
+			Prompt Before Closing 2
+			
+			Right Option Key Sends
+			2
+			Rows
+			25
+			Screen
+			-2
+			Scrollback Lines
+			0
+			Selected Text Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333321809768677
+				Color Space
+				sRGB
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333345651626587
+			
+			Selected Text Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333321809768677
+				Color Space
+				sRGB
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333345651626587
+			
+			Selected Text Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.93333321809768677
+				Color Space
+				sRGB
+				Green Component
+				0.93333333730697632
+				Red Component
+				0.93333345651626587
+			
+			Selection Color
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Selection Color (Dark)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Selection Color (Light)
+			
+				Alpha Component
+				1
+				Blue Component
+				0.29803919792175293
+				Color Space
+				sRGB
+				Green Component
+				0.30196073651313782
+				Red Component
+				0.30196076631546021
+			
+			Send Code When Idle
+			
+			Shortcut
+			
+			Show Mark Indicators
+			
+			Show Offscreen Command line
+			
+			Silence Bell
+			
+			Smart Cursor Color (Dark)
+			
+			Smart Cursor Color (Light)
+			
+			Space
+			-1
+			Special Font Config
+			{"entries":[],"version":1}
+			Sync Title
+			
+			Tags
+			
+			Terminal Type
+			xterm-256color
+			Thin Strokes
+			0
+			Transparency
+			0.0
+			Unicode Version
+			8
+			Unlimited Scrollback
+			
+			Use Bold Font
+			
+			Use Bright Bold
+			
+			Use Bright Bold (Dark)
+			
+			Use Bright Bold (Light)
+			
+			Use Cursor Guide (Dark)
+			
+			Use Cursor Guide (Light)
+			
+			Use Italic Font
+			
+			Use Non-ASCII Font
+			
+			Use Selected Text Color (Dark)
+			
+			Use Selected Text Color (Light)
+			
+			Use Separate Colors for Light and Dark Mode
+			
+			Use Tab Color (Dark)
+			
+			Use Tab Color (Light)
+			
+			Use Underline Color (Dark)
+			
+			Use Underline Color (Light)
+			
+			Vertical Spacing
+			1
+			Visual Bell
+			
+			Window Type
+			0
+			Working Directory
+			/Users/aermolenko
+		
+	
+	NotifyOnlyForCriticalShellIntegrationUpdates
+	
+	OnlyWhenMoreTabs
+	
+	OpenTmuxWindowsIn
+	1
+	PerPaneBackgroundImage
+	
+	PointerActions
+	
+		Button,1,1,,
+		
+			Action
+			kContextMenuPointerAction
+		
+		Button,2,1,,
+		
+			Action
+			kPasteFromClipboardPointerAction
+		
+		Gesture,ThreeFingerSwipeDown,,
+		
+			Action
+			kPrevWindowPointerAction
+		
+		Gesture,ThreeFingerSwipeLeft,,
+		
+			Action
+			kPrevTabPointerAction
+		
+		Gesture,ThreeFingerSwipeRight,,
+		
+			Action
+			kNextTabPointerAction
+		
+		Gesture,ThreeFingerSwipeUp,,
+		
+			Action
+			kNextWindowPointerAction
+		
+	
+	PreserveWindowSizeWhenTabBarVisibilityChanges
+	
+	Print In Black And White
+	
+	PromptOnQuit
+	
+	SeparateStatusBarsPerPane
+	
+	SeparateWindowTitlePerTab
+	
+	ShowFullScreenTabBar
+	
+	ShowNewOutputIndicator
+	
+	ShowPaneTitles
+	
+	SoundForEsc
+	
+	SplitPaneDimmingAmount
+	0.2135544969512195
+	StretchTabsToFillBar
+	
+	TabStyleWithAutomaticOption
+	5
+	TabViewType
+	0
+	TabsHaveCloseButton
+	
+	TerminalMargin
+	2
+	TerminalVMargin
+	2
+	UseBorder
+	
+	UseLionStyleFullscreen
+	
+	VisualIndicatorForEsc
+	
+	WindowNumber
+	
+	findMode_iTerm
+	0
+	kCPKSelectionViewPreferredModeKey
+	1
+	kCPKSelectionViewShowHSBTextFieldsKey
+	
+	metalMaximizeThroughput
+	
+	preferIntegratedGPU
+	
+
+
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
new file mode 100644
index 0000000..07a15d2
--- /dev/null
+++ b/.config/nvim/init.lua
@@ -0,0 +1,292 @@
+-- vim: :foldmethod=marker
+
+-- === PACKAGE MANAGEMENT === {{{1
+local function ensure_plugin(category, name, git_url, opts)
+    opts = opts or {}
+    local pack_path = os.getenv("HOME") .. "/.config/nvim/pack/" .. category .. "/" .. (opts.opt and "opt" or "start")
+    local plugin_path = pack_path .. "/" .. name
+    
+    -- Create pack directory if it doesn't exist
+    vim.fn.system("mkdir -p " .. pack_path)
+    
+    -- Check if plugin exists
+    if vim.fn.isdirectory(plugin_path) == 0 then
+        print("Installing " .. name .. "...")
+        local result = vim.fn.system("git clone --depth=1 " .. git_url .. " " .. plugin_path)
+        if vim.v.shell_error == 0 then
+            print("✓ " .. name .. " installed successfully")
+        else
+            print("✗ Failed to install " .. name .. ": " .. result)
+            return false
+        end
+    end
+    
+    -- Load optional plugin if requested
+    if opts.opt and opts.load then
+        vim.cmd("packadd " .. name)
+    end
+    
+    return true
+end
+
+-- Plugin definitions - add more as needed
+local plugins = {
+    -- Colorschemes
+    {"colors", "papercolor-theme", "https://github.com/NLKNguyen/papercolor-theme.git"},
+    {"colors", "tokyonight.nvim", "https://github.com/folke/tokyonight.nvim.git"},
+    
+    -- Essential plugins
+    {"editor", "telescope.nvim", "https://github.com/nvim-telescope/telescope.nvim.git"},
+    {"editor", "plenary.nvim", "https://github.com/nvim-lua/plenary.nvim.git"}, -- telescope dependency
+    {"editor", "nvim-web-devicons", "https://github.com/nvim-tree/nvim-web-devicons.git"}, -- telescope dependency
+    
+    -- LSP and completion
+    {"lsp", "nvim-lspconfig", "https://github.com/neovim/nvim-lspconfig.git"},
+    {"lsp", "mason.nvim", "https://github.com/williamboman/mason.nvim.git"},
+    {"lsp", "mason-lspconfig.nvim", "https://github.com/williamboman/mason-lspconfig.nvim.git"},
+    {"lsp", "nvim-cmp", "https://github.com/hrsh7th/nvim-cmp.git"},
+    {"lsp", "cmp-nvim-lsp", "https://github.com/hrsh7th/cmp-nvim-lsp.git"},
+    {"lsp", "cmp-buffer", "https://github.com/hrsh7th/cmp-buffer.git"},
+    {"lsp", "cmp-path", "https://github.com/hrsh7th/cmp-path.git"},
+    {"lsp", "LuaSnip", "https://github.com/L3MON4D3/LuaSnip.git"},
+    {"lsp", "cmp_luasnip", "https://github.com/saadparwaiz1/cmp_luasnip.git"},
+    
+    -- Treesitter
+    {"syntax", "nvim-treesitter", "https://github.com/nvim-treesitter/nvim-treesitter.git"},
+    
+    -- Git integration
+    {"git", "gitsigns.nvim", "https://github.com/lewis6991/gitsigns.nvim.git"},
+    
+    -- Quality of life
+    {"editor", "which-key.nvim", "https://github.com/folke/which-key.nvim.git"},
+    {"editor", "Comment.nvim", "https://github.com/numToStr/Comment.nvim.git"},
+    {"editor", "nvim-surround", "https://github.com/kylechui/nvim-surround.git"},
+}
+
+-- Install all plugins
+for _, plugin in ipairs(plugins) do
+    ensure_plugin(plugin[1], plugin[2], plugin[3], plugin[4])
+end
+
+-- === CORE SETTINGS === {{{1
+local o = vim.o
+local t = vim.t
+local v = vim.v
+local g = vim.g
+local fn = vim.fn
+local opt = vim.opt
+local cmd = vim.cmd
+local api = vim.api
+local loop = vim.loop
+local keys = vim.keymap
+
+-- Globals
+g.mapleader = "\\"
+
+-- Helper function
+local function has(val)
+    return fn.has(val) == 1
+end
+
+-- === APPEARANCE === {{{1
+-- Basic UI
+o.guifont = "Monaco:h13"
+o.relativenumber = true
+o.number = true
+o.signcolumn = "yes"
+o.termguicolors = true
+o.laststatus = 2
+o.statusline = "%f %h%w%m%y%r%=%(%l,%c%V %= %PT%)"
+
+-- Colorscheme and dark mode integration
+local function change_background()
+    o.background = "light"
+    cmd("colorscheme PaperColor")
+    cmd("redraw!")
+end
+
+if has("gui_macvim") then
+    local AutoDark = api.nvim_create_augroup("AutoDark", {clear = true})
+    api.nvim_create_autocmd({"OSAppearanceChanged"}, {
+        pattern = "*",
+        group = AutoDark,
+        callback = change_background
+    })
+else
+    change_background()
+end
+
+-- === EDITOR BEHAVIOR === {{{1
+-- Reading and saving
+o.autoread = true
+opt.clipboard:append("unnamedplus")
+
+-- Indentation
+o.autoindent = true
+o.expandtab = true
+o.tabstop = 2
+o.shiftwidth = 2
+
+-- Folding
+o.foldmethod = "syntax"
+
+-- Splits
+opt.splitright = true
+opt.splitbelow = true
+
+-- Editing
+opt.iskeyword:append("-")
+
+-- Search
+o.ignorecase = true
+o.smartcase = true
+o.hlsearch = true
+o.incsearch = true
+
+-- === PLUGIN CONFIGURATION === {{{1
+
+-- Telescope
+pcall(function()
+    require('telescope').setup({
+        defaults = {
+            file_ignore_patterns = {"node_modules", ".git/"}
+        }
+    })
+end)
+
+-- Which-key
+pcall(function()
+    require('which-key').setup({})
+end)
+
+-- Comment.nvim
+pcall(function()
+    require('Comment').setup()
+end)
+
+-- nvim-surround
+pcall(function()
+    require('nvim-surround').setup()
+end)
+
+-- Gitsigns
+pcall(function()
+    require('gitsigns').setup()
+end)
+
+-- Mason (LSP installer)
+pcall(function()
+    require('mason').setup()
+    require('mason-lspconfig').setup({
+        ensure_installed = {"lua_ls", "ts_ls", "pyright", "rust_analyzer"}
+    })
+end)
+
+-- LSP Configuration
+pcall(function()
+    local lspconfig = require('lspconfig')
+    local capabilities = require('cmp_nvim_lsp').default_capabilities()
+    
+    -- Common LSP setup
+    local servers = {"lua_ls", "ts_ls", "pyright", "rust_analyzer"}
+    for _, lsp in ipairs(servers) do
+        lspconfig[lsp].setup({
+            capabilities = capabilities
+        })
+    end
+end)
+
+-- Completion setup
+pcall(function()
+    local cmp = require('cmp')
+    local luasnip = require('luasnip')
+    
+    cmp.setup({
+        snippet = {
+            expand = function(args)
+                luasnip.lsp_expand(args.body)
+            end,
+        },
+        mapping = cmp.mapping.preset.insert({
+            [''] = cmp.mapping.scroll_docs(-4),
+            [''] = cmp.mapping.scroll_docs(4),
+            [''] = cmp.mapping.complete(),
+            [''] = cmp.mapping.confirm({ select = true }),
+        }),
+        sources = cmp.config.sources({
+            { name = 'nvim_lsp' },
+            { name = 'luasnip' },
+        }, {
+            { name = 'buffer' },
+            { name = 'path' },
+        })
+    })
+end)
+
+-- Treesitter
+pcall(function()
+    require('nvim-treesitter.configs').setup({
+        ensure_installed = {"lua", "typescript", "javascript", "python", "rust", "html", "css"},
+        highlight = { enable = true },
+        indent = { enable = true }
+    })
+end)
+
+-- === AUTOCMDS === {{{1
+cmd("filetype plugin on")
+
+-- TypeScript formatting on save
+local TypescriptSave = api.nvim_create_augroup("TypescriptSave", {clear = true})
+api.nvim_create_autocmd({"BufWritePost"}, {
+    pattern = "*.ts",
+    group = TypescriptSave,
+    command = "silent! !yarn prettier -w :p:S"
+})
+
+-- Diff mode settings
+api.nvim_create_autocmd({"VimEnter"}, {
+    pattern = {"*"},
+    callback = function()
+        if o.diff then
+            o.wrap = true
+            keys.set("n", "ZZ", ":qa")
+            cmd("cnoremap  q 'qa'")
+        end
+    end
+})
+
+-- === KEYMAPS === {{{1
+
+-- Leader key mappings
+keys.set("n", "rr", ":source $MYVIMRC", {desc = "Reload config"})
+
+-- Basic editing
+keys.set("i", "jk", "", {desc = "Exit insert mode"})
+keys.set("n", "x", '"_x', {desc = "Delete without copying"})
+
+-- Telescope mappings
+keys.set("n", "ff", ":Telescope find_files", {desc = "Find files"})
+keys.set("n", "fg", ":Telescope live_grep", {desc = "Live grep"})
+keys.set("n", "fb", ":Telescope buffers", {desc = "Find buffers"})
+keys.set("n", "fh", ":Telescope help_tags", {desc = "Help tags"})
+
+-- LSP mappings
+keys.set("n", "gd", vim.lsp.buf.definition, {desc = "Go to definition"})
+keys.set("n", "gD", vim.lsp.buf.declaration, {desc = "Go to declaration"})
+keys.set("n", "gr", vim.lsp.buf.references, {desc = "References"})
+keys.set("n", "gi", vim.lsp.buf.implementation, {desc = "Implementation"})
+keys.set("n", "K", vim.lsp.buf.hover, {desc = "Hover documentation"})
+keys.set("n", "ca", vim.lsp.buf.code_action, {desc = "Code actions"})
+keys.set("n", "rn", vim.lsp.buf.rename, {desc = "Rename"})
+keys.set("n", "d", vim.diagnostic.open_float, {desc = "Show diagnostics"})
+keys.set("n", "[d", vim.diagnostic.goto_prev, {desc = "Previous diagnostic"})
+keys.set("n", "]d", vim.diagnostic.goto_next, {desc = "Next diagnostic"})
+
+-- Window navigation
+keys.set("n", "", "h", {desc = "Window left"})
+keys.set("n", "", "j", {desc = "Window down"})
+keys.set("n", "", "k", {desc = "Window up"})
+keys.set("n", "", "l", {desc = "Window right"})
+
+-- Clear search highlighting
+keys.set("n", "nh", ":nohl", {desc = "Clear highlights"})
\ No newline at end of file
diff --git a/.config/rectangle b/.config/rectangle
new file mode 100755
index 0000000..ea63bbe
--- /dev/null
+++ b/.config/rectangle
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+defaults write com.knollsoft.Rectangle maximize -dict-add keyCode -float 3 modifierFlags -float 1835008
+defaults write com.knollsoft.Rectangle maximizeHeight -dict-add keyCode -float 40 modifierFlags -float 1835008
+defaults write com.knollsoft.Rectangle larger -dict-add keyCode -float 37 modifierFlags -float 1835008
+defaults write com.knollsoft.Rectangle smaller -dict-add keyCode -float 4 modifierFlags -float 1835008
+defaults write com.knollsoft.Rectangle specified -dict-add keyCode -float 38 modifierFlags -float 1835008
+defaults write com.knollsoft.Rectangle specifiedHeight -float 818
+defaults write com.knollsoft.Rectangle specifiedWidth -float 1152
+defaults write com.knollsoft.Rectangle sizeOffset -float 280
diff --git a/.config/scroll-reverser b/.config/scroll-reverser
new file mode 100755
index 0000000..c3a11ed
--- /dev/null
+++ b/.config/scroll-reverser
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+defaults write com.pilotmoon.scroll-reverser ReverseTrackpad -float 0
+defaults write com.pilotmoon.scroll-reverser InvertScrollingOn -float 1
diff --git a/.config/terminal/PaperColor.terminal b/.config/terminal/PaperColor.terminal
new file mode 100644
index 0000000..58514ad
--- /dev/null
+++ b/.config/terminal/PaperColor.terminal
@@ -0,0 +1,1633 @@
+
+
+
+
+	ANSIBlackColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECcwLjMwMTkzMTI2MiAwLjMwMTk3OTYwMTQgMC4yOTc5OTk1
+	NjA4IDFPECYwLjIzNTc1MzcxNSAwLjIzNTkwNzU4NDQgMC4yMzIzMDA0MzA1ABABgAKA
+	BdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8RDEgAAAxITGlubwIQAABtbnRyUkdCIFhZ
+	WiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYA
+	AQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAAC
+	BAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAA
+	AHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRt
+	ZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJD
+	AAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQg
+	Q29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJz
+	UkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAA
+	AAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAA
+	AAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAA
+	AAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl
+	ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYt
+	Mi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElF
+	QzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp
+	biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk
+	/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAA
+	AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAA
+	AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQBy
+	AHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA
+	9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGa
+	AaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnEC
+	egKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOK
+	A5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME
+	4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZq
+	BnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII
+	RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpU
+	CmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcM
+	wAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9e
+	D3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUS
+	ZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWb
+	Fb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZ
+	RRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e
+	HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUgh
+	dSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3
+	JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8r
+	Ais2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1
+	MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1
+	/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvo
+	PCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBC
+	ckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd
+	SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQ
+	cVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfg
+	WC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng
+	BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/
+	aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBx
+	OnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pG
+	eqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qE
+	HYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/
+	jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyY
+	uJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2
+	o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGv
+	Fq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1
+	uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPH
+	Qce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG
+	1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3h
+	ROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60
+	70DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9
+	Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JTcGFjZaIj
+	JFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAaACQAKQAy
+	ADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA0QD6APwA/gEAAQcBDAESARQBFgEYDWQN
+	aQ10DX0Nig2NDZoNow2oDbAAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAANsw==
+	
+	ANSIBlueColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECYwLjI1ODcyODk4MSAwLjQ0MzE3MTAyNDMgMC42NzgzNDUy
+	NjMgMU8QJzAuMjAyOTg0MzkyNiAwLjM1OTY4Mzc4MTkgMC42MTQ5MzIwMDA2ABABgAKA
+	BdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8RDEgAAAxITGlubwIQAABtbnRyUkdCIFhZ
+	WiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYA
+	AQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAAC
+	BAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAA
+	AHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRt
+	ZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJD
+	AAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQg
+	Q29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJz
+	UkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAA
+	AAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAA
+	AAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAA
+	AAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl
+	ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYt
+	Mi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElF
+	QzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp
+	biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk
+	/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAA
+	AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAA
+	AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQBy
+	AHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA
+	9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGa
+	AaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnEC
+	egKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOK
+	A5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME
+	4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZq
+	BnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII
+	RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpU
+	CmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcM
+	wAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9e
+	D3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUS
+	ZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWb
+	Fb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZ
+	RRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e
+	HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUgh
+	dSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3
+	JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8r
+	Ais2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1
+	MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1
+	/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvo
+	PCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBC
+	ckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd
+	SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQ
+	cVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfg
+	WC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng
+	BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/
+	aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBx
+	OnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pG
+	eqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qE
+	HYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/
+	jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyY
+	uJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2
+	o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGv
+	Fq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1
+	uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPH
+	Qce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG
+	1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3h
+	ROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60
+	70DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9
+	Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JTcGFjZaIj
+	JFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAaACQAKQAy
+	ADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA0AD6APwA/gEAAQcBDAESARQBFgEYDWQN
+	aQ10DX0Nig2NDZoNow2oDbAAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAANsw==
+	
+	ANSIBrightBlackColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECcwLjMwMTkzMTI2MiAwLjMwMTk3OTYwMTQgMC4yOTc5OTk1
+	NjA4IDFPECYwLjIzNTc1MzcxNSAwLjIzNTkwNzU4NDQgMC4yMzIzMDA0MzA1ABABgAKA
+	BdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8RDEgAAAxITGlubwIQAABtbnRyUkdCIFhZ
+	WiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYA
+	AQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAAC
+	BAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAA
+	AHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRt
+	ZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJD
+	AAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQg
+	Q29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJz
+	UkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAA
+	AAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAA
+	AAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAA
+	AAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl
+	ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYt
+	Mi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElF
+	QzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp
+	biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk
+	/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAA
+	AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAA
+	AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQBy
+	AHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA
+	9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGa
+	AaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnEC
+	egKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOK
+	A5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME
+	4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZq
+	BnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII
+	RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpU
+	CmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcM
+	wAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9e
+	D3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUS
+	ZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWb
+	Fb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZ
+	RRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e
+	HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUgh
+	dSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3
+	JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8r
+	Ais2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1
+	MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1
+	/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvo
+	PCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBC
+	ckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd
+	SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQ
+	cVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfg
+	WC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng
+	BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/
+	aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBx
+	OnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pG
+	eqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qE
+	HYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/
+	jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyY
+	uJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2
+	o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGv
+	Fq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1
+	uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPH
+	Qce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG
+	1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3h
+	ROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60
+	70DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9
+	Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JTcGFjZaIj
+	JFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAaACQAKQAy
+	ADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA0QD6APwA/gEAAQcBDAESARQBFgEYDWQN
+	aQ10DX0Nig2NDZoNow2oDbAAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAANsw==
+	
+	ANSIBrightBlueColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECYwLjI1ODcyODk4MSAwLjQ0MzE3MTAyNDMgMC42NzgzNDUy
+	NjMgMU8QJzAuMjAyOTg0MzkyNiAwLjM1OTY4Mzc4MTkgMC42MTQ5MzIwMDA2ABABgAKA
+	BdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8RDEgAAAxITGlubwIQAABtbnRyUkdCIFhZ
+	WiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYA
+	AQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAAC
+	BAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAA
+	AHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRt
+	ZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJD
+	AAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQg
+	Q29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJz
+	UkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAA
+	AAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAA
+	AAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAA
+	AAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl
+	ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYt
+	Mi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElF
+	QzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp
+	biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk
+	/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAA
+	AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAA
+	AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQBy
+	AHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA
+	9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGa
+	AaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnEC
+	egKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOK
+	A5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME
+	4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZq
+	BnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII
+	RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpU
+	CmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcM
+	wAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9e
+	D3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUS
+	ZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWb
+	Fb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZ
+	RRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e
+	HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUgh
+	dSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3
+	JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8r
+	Ais2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1
+	MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1
+	/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvo
+	PCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBC
+	ckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd
+	SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQ
+	cVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfg
+	WC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng
+	BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/
+	aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBx
+	OnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pG
+	eqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qE
+	HYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/
+	jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyY
+	uJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2
+	o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGv
+	Fq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1
+	uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPH
+	Qce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG
+	1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3h
+	ROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60
+	70DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9
+	Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JTcGFjZaIj
+	JFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAaACQAKQAy
+	ADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA0AD6APwA/gEAAQcBDAESARQBFgEYDWQN
+	aQ10DX0Nig2NDZoNow2oDbAAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAANsw==
+	
+	ANSIBrightCyanColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECgwLjAzODIxNjg4ODkgMC41ODA0MjcxNjk4IDAuNjMxMjkw
+	MTk3NCAxTxAnMC4wNzgyODM0NTg5NSAwLjUxMjI3MjY1NiAwLjU2MzA0MTU2NzgAEAGA
+	AoAF0xgZERobHFROU0lEVU5TSUNDEAeAA4AETxEMSAAADEhMaW5vAhAAAG1udHJSR0Ig
+	WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD2
+	1gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQA
+	AAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJU
+	AAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAA
+	FG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJU
+	UkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2Fy
+	ZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAA
+	EnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA
+	AAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+	AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAA
+	AAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEg
+	RGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2
+	Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g
+	SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9u
+	IGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAA
+	E6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+	AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAA
+	AAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABt
+	AHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA
+	8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGS
+	AZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcC
+	cQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+
+	A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE
+	0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZ
+	BmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+	MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9
+	ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4M
+	pwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9B
+	D14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYS
+	RRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4
+	FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZ
+	IBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1
+	HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwh
+	SCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+	JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsq
+	zysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+
+	MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1
+	wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq
+	O+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5C
+	MEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjX
+	SR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91Q
+	J1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeS
+	V+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+	s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp
+	aD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw
+	4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnn
+	ekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eD
+	uoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Y
+	jf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CY
+	TJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMG
+	o3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2u
+	oa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+	urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbG
+	w8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE
+	08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4Dbg
+	veFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o
+	7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8
+	mP0p/br+S/7c/23//9IfICEiWiRjbGFzc25hbWVYJGNsYXNzZXNcTlNDb2xvclNwYWNl
+	oiMkXE5TQ29sb3JTcGFjZVhOU09iamVjdNIfICYnV05TQ29sb3KiJiQACAARABoAJAAp
+	ADIANwBJAEwAUQBTAFoAYABrAHgAfgCLAKAApwDSAPwA/gEAAQIBCQEOARQBFgEYARoN
+	Zg1rDXYNfw2MDY8NnA2lDaoNsgAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAA21
+	
+	ANSIBrightGreenColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECswLjQ0MzA2MzUyNzMgMC41NDkwNDU3NDE2IDEuMjU5MTg2
+	NjgzZS0wNSAxTxAoMC4zNzEzMDc3OTAzIDAuNDg2MzMxNDAzMyAwLjAxMDk4OTg5MDQz
+	ABABgAKABdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8RDEgAAAxITGlubwIQAABtbnRy
+	UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAA
+	AAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRi
+	a3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5k
+	AAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD
+	+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAA
+	CAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBh
+	Y2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAA
+	AAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAA
+	AAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpY
+	WVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5j
+	aAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYt
+	Mi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMg
+	NjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9u
+	IGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRp
+	dGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcA
+	AAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/n
+	bWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3Vy
+	dgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBj
+	AGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA
+	5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGD
+	AYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQC
+	XQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNm
+	A3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE
+	tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3
+	BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gI
+	CwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woR
+	CicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwM
+	dQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8J
+	DyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegS
+	BxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0
+	FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y
+	1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyj
+	HMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg
+	8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVo
+	JZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUq
+	aCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+R
+	L8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1
+	TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zst
+	O2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpB
+	rEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhL
+	SJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lP
+	k0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3
+	V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1f
+	D19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9
+	Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9Fw
+	K3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkq
+	eYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC
+	9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zK
+	jTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqX
+	dZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm
+	opajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUSt
+	uK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blK
+	ucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvF
+	yMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/
+	0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynf
+	r+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R
+	7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7
+	d/wH/Jj9Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JT
+	cGFjZaIjJFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAa
+	ACQAKQAyADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA1QEAAQIBBAEGAQ0BEgEYARoB
+	HAEeDWoNbw16DYMNkA2TDaANqQ2uDbYAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAA
+	AAANuQ==
+	
+	ANSIBrightMagentaColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECgwLjUzNzI0NTI3MzYgMC4zNDkwNTIzOTk0IDAuNjU4NzQz
+	MTQzMSAxTxAnMC40NTg1NDIwNDg5IDAuMjU3NDMyNDkwNiAwLjU5MzMyNTEzODEAEAGA
+	AoAF0xgZERobHFROU0lEVU5TSUNDEAeAA4AETxEMSAAADEhMaW5vAhAAAG1udHJSR0Ig
+	WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD2
+	1gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQA
+	AAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJU
+	AAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAA
+	FG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJU
+	UkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2Fy
+	ZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAA
+	EnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA
+	AAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+	AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAA
+	AAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEg
+	RGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2
+	Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g
+	SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9u
+	IGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAA
+	E6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+	AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAA
+	AAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABt
+	AHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA
+	8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGS
+	AZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcC
+	cQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+
+	A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE
+	0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZ
+	BmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+	MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9
+	ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4M
+	pwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9B
+	D14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYS
+	RRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4
+	FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZ
+	IBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1
+	HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwh
+	SCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+	JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsq
+	zysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+
+	MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1
+	wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq
+	O+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5C
+	MEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjX
+	SR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91Q
+	J1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeS
+	V+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+	s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp
+	aD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw
+	4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnn
+	ekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eD
+	uoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Y
+	jf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CY
+	TJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMG
+	o3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2u
+	oa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+	urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbG
+	w8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE
+	08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4Dbg
+	veFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o
+	7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8
+	mP0p/br+S/7c/23//9IfICEiWiRjbGFzc25hbWVYJGNsYXNzZXNcTlNDb2xvclNwYWNl
+	oiMkXE5TQ29sb3JTcGFjZVhOU09iamVjdNIfICYnV05TQ29sb3KiJiQACAARABoAJAAp
+	ADIANwBJAEwAUQBTAFoAYABrAHgAfgCLAKAApwDSAPwA/gEAAQIBCQEOARQBFgEYARoN
+	Zg1rDXYNfw2MDY8NnA2lDaoNsgAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAA21
+	
+	ANSIBrightRedColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECgwLjg0MzE1ODc4MTUgMC4xMzcyNzU0NTc0IDAuMzcyNTIw
+	MDU5MyAxTxAoMC43OTU2NzM0ODk2IDAuMDAzMzcwMzQzOTQgMC4zMDEwMzY2MjYxABAB
+	gAKABdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8RDEgAAAxITGlubwIQAABtbnRyUkdC
+	IFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA
+	9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0
+	AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAAC
+	VAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAA
+	ABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxi
+	VFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2th
+	cmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA
+	ABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAA
+	AAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVog
+	AAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAA
+	AAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4x
+	IERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5
+	NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGlu
+	IElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlv
+	biBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAA
+	ABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVh
+	cwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAA
+	AAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgA
+	bQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDr
+	APAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsB
+	kgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJn
+	AnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3ID
+	fgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTE
+	BNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgG
+	WQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf
+	CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicK
+	PQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyO
+	DKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUP
+	QQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxIm
+	EkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYV
+	eBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6
+	GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc
+	9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEc
+	IUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZcl
+	xyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqb
+	Ks8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv
+	/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWH
+	NcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7
+	qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHu
+	QjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI
+	10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/d
+	UCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RX
+	klfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19h
+	X7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn
+	6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CG
+	cOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl5
+	53pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INX
+	g7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGN
+	mI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfg
+	mEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopaj
+	BqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4t
+	rqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6
+	O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZG
+	xsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHT
+	RNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A2
+	4L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7Zzu
+	KO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH
+	/Jj9Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JTcGFj
+	ZaIjJFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAaACQA
+	KQAyADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA0gD9AP8BAQEDAQoBDwEVARcBGQEb
+	DWcNbA13DYANjQ2QDZ0Npg2rDbMAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAN
+	tg==
+	
+	ANSIBrightWhiteColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECcwLjkzMzI1MTU1OTcgMC45MzMzODU1NTEgMC45MjkzMDEy
+	MDIzIDFPECcwLjkxNjU1OTIxOTQgMC45MTY4ODU0MzU2IDAuOTExNjc4NTUyNgAQAYAC
+	gAXTGBkRGhscVE5TSURVTlNJQ0MQB4ADgARPEQxIAAAMSExpbm8CEAAAbW50clJHQiBY
+	WVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbW
+	AAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAA
+	AgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQA
+	AABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAU
+	bWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRS
+	QwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk
+	IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAS
+	c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAA
+	AAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAA
+	AAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAA
+	AAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBE
+	ZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2
+	LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJ
+	RUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24g
+	aW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAAT
+	pP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA
+	AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAA
+	AAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0A
+	cgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDw
+	APYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIB
+	mgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJx
+	AnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34D
+	igOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATT
+	BOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkG
+	agZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgy
+	CEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0K
+	VApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgyn
+	DMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EP
+	Xg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF
+	EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV
+	mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkg
+	GUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUd
+	Hh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFI
+	IXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl
+	9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrP
+	KwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4w
+	NTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXC
+	Nf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o7
+	6DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIw
+	QnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJ
+	HUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAn
+	UHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX
+	4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+z
+	YAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+lo
+	P2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDg
+	cTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6
+	RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6
+	hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN
+	/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhM
+	mLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowaj
+	dqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6h
+	rxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6
+	tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbD
+	x0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TT
+	xtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9
+	4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7iju
+	tO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY
+	/Sn9uv5L/tz/bf//0h8gISJaJGNsYXNzbmFtZVgkY2xhc3Nlc1xOU0NvbG9yU3BhY2Wi
+	IyRcTlNDb2xvclNwYWNlWE5TT2JqZWN00h8gJidXTlNDb2xvcqImJAAIABEAGgAkACkA
+	MgA3AEkATABRAFMAWgBgAGsAeAB+AIsAoACnANEA+wD9AP8BAQEIAQ0BEwEVARcBGQ1l
+	DWoNdQ1+DYsNjg2bDaQNqQ2xAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAADbQ=
+	
+	ANSIBrightYellowColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECowLjg0MzE0NDgzNCAwLjM2ODY0NTY5NzggMC4wMDAxNjM5
+	MjIzOTE5IDFPECgwLjc5NzU1MTYzMTkgMC4yODUwMTkzOTc3IDAuMDIxMjk1NTI1MTMA
+	EAGAAoAF0xgZERobHFROU0lEVU5TSUNDEAeAA4AETxEMSAAADEhMaW5vAhAAAG1udHJS
+	R0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+	AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJr
+	cHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQA
+	AAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4
+	AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAI
+	DGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFj
+	a2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAA
+	AAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+	AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZ
+	WiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+	AAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0y
+	LjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2
+	MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24g
+	aW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0
+	aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+	AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dt
+	ZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2
+	AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMA
+	aABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADl
+	AOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMB
+	iwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJd
+	AmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YD
+	cgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2
+	BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+	SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgL
+	CB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEK
+	Jwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1
+	DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkP
+	JQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH
+	EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQV
+	VhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjV
+	GPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMc
+	zBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+	IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl
+	lyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpo
+	KpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Ev
+	xy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVN
+	NYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07
+	azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGs
+	Qe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtI
+	kUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+T
+	T91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+	RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8P
+	X2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1n
+	k2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XAr
+	cIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5
+	iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0
+	g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqN
+	MY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1
+	l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiai
+	lqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+	ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5
+	wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI
+	xkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/S
+	wdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v
+	4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHt
+	nO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3
+	/Af8mP0p/br+S/7c/23//9IfICEiWiRjbGFzc25hbWVYJGNsYXNzZXNcTlNDb2xvclNw
+	YWNloiMkXE5TQ29sb3JTcGFjZVhOU09iamVjdNIfICYnV05TQ29sb3KiJiQACAARABoA
+	JAApADIANwBJAEwAUQBTAFoAYABrAHgAfgCLAKAApwDUAP8BAQEDAQUBDAERARcBGQEb
+	AR0NaQ1uDXkNgg2PDZINnw2oDa0NtQAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAA
+	AA24
+	
+	ANSICyanColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECgwLjAzODIxNjg4ODkgMC41ODA0MjcxNjk4IDAuNjMxMjkw
+	MTk3NCAxTxAnMC4wNzgyODM0NTg5NSAwLjUxMjI3MjY1NiAwLjU2MzA0MTU2NzgAEAGA
+	AoAF0xgZERobHFROU0lEVU5TSUNDEAeAA4AETxEMSAAADEhMaW5vAhAAAG1udHJSR0Ig
+	WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD2
+	1gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQA
+	AAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJU
+	AAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAA
+	FG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJU
+	UkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2Fy
+	ZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAA
+	EnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA
+	AAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+	AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAA
+	AAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEg
+	RGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2
+	Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g
+	SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9u
+	IGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAA
+	E6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+	AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAA
+	AAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABt
+	AHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA
+	8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGS
+	AZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcC
+	cQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+
+	A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE
+	0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZ
+	BmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+	MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9
+	ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4M
+	pwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9B
+	D14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYS
+	RRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4
+	FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZ
+	IBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1
+	HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwh
+	SCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+	JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsq
+	zysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+
+	MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1
+	wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq
+	O+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5C
+	MEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjX
+	SR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91Q
+	J1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeS
+	V+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+	s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp
+	aD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw
+	4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnn
+	ekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eD
+	uoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Y
+	jf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CY
+	TJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMG
+	o3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2u
+	oa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+	urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbG
+	w8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE
+	08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4Dbg
+	veFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o
+	7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8
+	mP0p/br+S/7c/23//9IfICEiWiRjbGFzc25hbWVYJGNsYXNzZXNcTlNDb2xvclNwYWNl
+	oiMkXE5TQ29sb3JTcGFjZVhOU09iamVjdNIfICYnV05TQ29sb3KiJiQACAARABoAJAAp
+	ADIANwBJAEwAUQBTAFoAYABrAHgAfgCLAKAApwDSAPwA/gEAAQIBCQEOARQBFgEYARoN
+	Zg1rDXYNfw2MDY8NnA2lDaoNsgAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAA21
+	
+	ANSIGreenColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECswLjQ0MzA2MzUyNzMgMC41NDkwNDU3NDE2IDEuMjU5MTg2
+	NjgzZS0wNSAxTxAoMC4zNzEzMDc3OTAzIDAuNDg2MzMxNDAzMyAwLjAxMDk4OTg5MDQz
+	ABABgAKABdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8RDEgAAAxITGlubwIQAABtbnRy
+	UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAA
+	AAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRi
+	a3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5k
+	AAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD
+	+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAA
+	CAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBh
+	Y2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAA
+	AAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAA
+	AAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpY
+	WVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5j
+	aAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYt
+	Mi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMg
+	NjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9u
+	IGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRp
+	dGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcA
+	AAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/n
+	bWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3Vy
+	dgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBj
+	AGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA
+	5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGD
+	AYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQC
+	XQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNm
+	A3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE
+	tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3
+	BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gI
+	CwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woR
+	CicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwM
+	dQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8J
+	DyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegS
+	BxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0
+	FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y
+	1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyj
+	HMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg
+	8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVo
+	JZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUq
+	aCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+R
+	L8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1
+	TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zst
+	O2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpB
+	rEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhL
+	SJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lP
+	k0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3
+	V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1f
+	D19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9
+	Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9Fw
+	K3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkq
+	eYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC
+	9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zK
+	jTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqX
+	dZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm
+	opajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUSt
+	uK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blK
+	ucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvF
+	yMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/
+	0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynf
+	r+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R
+	7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7
+	d/wH/Jj9Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JT
+	cGFjZaIjJFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAa
+	ACQAKQAyADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA1QEAAQIBBAEGAQ0BEgEYARoB
+	HAEeDWoNbw16DYMNkA2TDaANqQ2uDbYAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAA
+	AAANuQ==
+	
+	ANSIMagentaColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECgwLjUzNzI0NTI3MzYgMC4zNDkwNTIzOTk0IDAuNjU4NzQz
+	MTQzMSAxTxAnMC40NTg1NDIwNDg5IDAuMjU3NDMyNDkwNiAwLjU5MzMyNTEzODEAEAGA
+	AoAF0xgZERobHFROU0lEVU5TSUNDEAeAA4AETxEMSAAADEhMaW5vAhAAAG1udHJSR0Ig
+	WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD2
+	1gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQA
+	AAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJU
+	AAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAA
+	FG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJU
+	UkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2Fy
+	ZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAA
+	EnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA
+	AAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+	AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAA
+	AAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEg
+	RGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2
+	Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g
+	SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9u
+	IGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAA
+	E6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+	AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAA
+	AAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABt
+	AHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA
+	8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGS
+	AZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcC
+	cQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+
+	A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE
+	0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZ
+	BmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+	MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9
+	ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4M
+	pwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9B
+	D14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYS
+	RRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4
+	FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZ
+	IBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1
+	HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwh
+	SCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+	JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsq
+	zysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+
+	MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1
+	wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq
+	O+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5C
+	MEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjX
+	SR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91Q
+	J1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeS
+	V+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+	s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp
+	aD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw
+	4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnn
+	ekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eD
+	uoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Y
+	jf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CY
+	TJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMG
+	o3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2u
+	oa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+	urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbG
+	w8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE
+	08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4Dbg
+	veFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o
+	7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8
+	mP0p/br+S/7c/23//9IfICEiWiRjbGFzc25hbWVYJGNsYXNzZXNcTlNDb2xvclNwYWNl
+	oiMkXE5TQ29sb3JTcGFjZVhOU09iamVjdNIfICYnV05TQ29sb3KiJiQACAARABoAJAAp
+	ADIANwBJAEwAUQBTAFoAYABrAHgAfgCLAKAApwDSAPwA/gEAAQIBCQEOARQBFgEYARoN
+	Zg1rDXYNfw2MDY8NnA2lDaoNsgAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAA21
+	
+	ANSIRedColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECgwLjg0MzE1ODc4MTUgMC4xMzcyNzU0NTc0IDAuMzcyNTIw
+	MDU5MyAxTxAoMC43OTU2NzM0ODk2IDAuMDAzMzcwMzQzOTQgMC4zMDEwMzY2MjYxABAB
+	gAKABdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8RDEgAAAxITGlubwIQAABtbnRyUkdC
+	IFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA
+	9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0
+	AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAAC
+	VAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAA
+	ABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxi
+	VFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2th
+	cmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA
+	ABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAA
+	AAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVog
+	AAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAA
+	AAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4x
+	IERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5
+	NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGlu
+	IElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlv
+	biBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAA
+	ABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVh
+	cwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAA
+	AAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgA
+	bQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDr
+	APAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsB
+	kgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJn
+	AnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3ID
+	fgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTE
+	BNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgG
+	WQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf
+	CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicK
+	PQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyO
+	DKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUP
+	QQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxIm
+	EkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYV
+	eBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6
+	GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc
+	9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEc
+	IUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZcl
+	xyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqb
+	Ks8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv
+	/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWH
+	NcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7
+	qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHu
+	QjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI
+	10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/d
+	UCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RX
+	klfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19h
+	X7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn
+	6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CG
+	cOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl5
+	53pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INX
+	g7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGN
+	mI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfg
+	mEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopaj
+	BqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4t
+	rqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6
+	O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZG
+	xsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHT
+	RNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A2
+	4L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7Zzu
+	KO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH
+	/Jj9Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JTcGFj
+	ZaIjJFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAaACQA
+	KQAyADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA0gD9AP8BAQEDAQoBDwEVARcBGQEb
+	DWcNbA13DYANjQ2QDZ0Npg2rDbMAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAN
+	tg==
+	
+	ANSIWhiteColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECcwLjkzMzI1MTU1OTcgMC45MzMzODU1NTEgMC45MjkzMDEy
+	MDIzIDFPECcwLjkxNjU1OTIxOTQgMC45MTY4ODU0MzU2IDAuOTExNjc4NTUyNgAQAYAC
+	gAXTGBkRGhscVE5TSURVTlNJQ0MQB4ADgARPEQxIAAAMSExpbm8CEAAAbW50clJHQiBY
+	WVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbW
+	AAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAA
+	AgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQA
+	AABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAU
+	bWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRS
+	QwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk
+	IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAS
+	c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAA
+	AAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAA
+	AAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAA
+	AAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBE
+	ZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2
+	LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJ
+	RUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24g
+	aW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAAT
+	pP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA
+	AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAA
+	AAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0A
+	cgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDw
+	APYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIB
+	mgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJx
+	AnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34D
+	igOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATT
+	BOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkG
+	agZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgy
+	CEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0K
+	VApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgyn
+	DMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EP
+	Xg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF
+	EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV
+	mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkg
+	GUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUd
+	Hh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFI
+	IXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl
+	9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrP
+	KwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4w
+	NTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXC
+	Nf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o7
+	6DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIw
+	QnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJ
+	HUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAn
+	UHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX
+	4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+z
+	YAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+lo
+	P2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDg
+	cTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6
+	RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6
+	hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN
+	/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhM
+	mLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowaj
+	dqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6h
+	rxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6
+	tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbD
+	x0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TT
+	xtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9
+	4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7iju
+	tO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY
+	/Sn9uv5L/tz/bf//0h8gISJaJGNsYXNzbmFtZVgkY2xhc3Nlc1xOU0NvbG9yU3BhY2Wi
+	IyRcTlNDb2xvclNwYWNlWE5TT2JqZWN00h8gJidXTlNDb2xvcqImJAAIABEAGgAkACkA
+	MgA3AEkATABRAFMAWgBgAGsAeAB+AIsAoACnANEA+wD9AP8BAQEIAQ0BEwEVARcBGQ1l
+	DWoNdQ1+DYsNjg2bDaQNqQ2xAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAADbQ=
+	
+	ANSIYellowColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECowLjg0MzE0NDgzNCAwLjM2ODY0NTY5NzggMC4wMDAxNjM5
+	MjIzOTE5IDFPECgwLjc5NzU1MTYzMTkgMC4yODUwMTkzOTc3IDAuMDIxMjk1NTI1MTMA
+	EAGAAoAF0xgZERobHFROU0lEVU5TSUNDEAeAA4AETxEMSAAADEhMaW5vAhAAAG1udHJS
+	R0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+	AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJr
+	cHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQA
+	AAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4
+	AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAI
+	DGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFj
+	a2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAA
+	AAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+	AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZ
+	WiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+	AAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0y
+	LjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2
+	MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24g
+	aW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0
+	aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+	AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dt
+	ZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2
+	AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMA
+	aABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADl
+	AOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMB
+	iwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJd
+	AmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YD
+	cgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2
+	BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+	SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgL
+	CB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEK
+	Jwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1
+	DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkP
+	JQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH
+	EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQV
+	VhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjV
+	GPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMc
+	zBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+	IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl
+	lyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpo
+	KpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Ev
+	xy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVN
+	NYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07
+	azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGs
+	Qe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtI
+	kUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+T
+	T91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+	RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8P
+	X2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1n
+	k2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XAr
+	cIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5
+	iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0
+	g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqN
+	MY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1
+	l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiai
+	lqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+	ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5
+	wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI
+	xkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/S
+	wdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v
+	4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHt
+	nO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3
+	/Af8mP0p/br+S/7c/23//9IfICEiWiRjbGFzc25hbWVYJGNsYXNzZXNcTlNDb2xvclNw
+	YWNloiMkXE5TQ29sb3JTcGFjZVhOU09iamVjdNIfICYnV05TQ29sb3KiJiQACAARABoA
+	JAApADIANwBJAEwAUQBTAFoAYABrAHgAfgCLAKAApwDUAP8BAQEDAQUBDAERARcBGQEb
+	AR0NaQ1uDXkNgg2PDZINnw2oDa0NtQAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAA
+	AA24
+	
+	BackgroundBlur
+	0.25268288944544415
+	BackgroundColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPEDMwLjkwMzM5OTEwMjMgMC45MDM1MTc2OTkxIDAuODk5NTY0
+	MDQ3NSAwLjc2MTY2NzMxNTlPEDMwLjg3OTgzMDEyMiAwLjg4MDEyOTI3NzcgMC44NzUx
+	NDA1NDc4IDAuNzYxNjY3MzE1OQAQAYACgAXTGBkRGhscVE5TSURVTlNJQ0MQB4ADgARP
+	EQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAA
+	SUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAA
+	AYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwA
+	AAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACG
+	dmlldwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRS
+	QwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQg
+	KGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0Ig
+	SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADz
+	UQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZ
+	WiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJ
+	RUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMu
+	Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVz
+	YwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBz
+	UkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3Bh
+	Y2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5j
+	ZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZl
+	cmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFY
+	WVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKP
+	AAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA
+	NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCy
+	ALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4B
+	RQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gID
+	AgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUD
+	AAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQt
+	BDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYF
+	pgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdP
+	B2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJ
+	TwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuA
+	C5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgO
+	Ew4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDX
+	EPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UU
+	BhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl
+	F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQb
+	OxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+
+	H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5Qj
+	wiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhx
+	KKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYt
+	qy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMN
+	M0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5
+	BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8h
+	P2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF
+	3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6
+	TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZU
+	QlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvl
+	XDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk
+	QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yv
+	bQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV1
+	4XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8j
+	f4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6J
+	M4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NN
+	k7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKe
+	QJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3
+	qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1
+	E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDs
+	wWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXN
+	tc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
+	2vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56no
+	Mui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe
+	9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//0h8gISJaJGNsYXNzbmFt
+	ZVgkY2xhc3Nlc1xOU0NvbG9yU3BhY2WiIyRcTlNDb2xvclNwYWNlWE5TT2JqZWN00h8g
+	JidXTlNDb2xvcqImJAAIABEAGgAkACkAMgA3AEkATABRAFMAWgBgAGsAeAB+AIsAoACn
+	AN0BEwEVARcBGQEgASUBKwEtAS8BMQ19DYINjQ2WDaMNpg2zDbwNwQ3JAAAAAAAAAgEA
+	AAAAAAAAKAAAAAAAAAAAAAAAAAAADcw=
+	
+	BackgroundSettingsForInactiveWindows
+	
+	Bell
+	
+	BellBadge
+	
+	BellBounce
+	
+	BlinkText
+	
+	CursorColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPEBIwIDAgMCAwLjQ0MTk2NzgyNDlPEBMwIDAgMCAwLjQ0MTk2
+	NzgyNDkAEAGAAoAF0xgZERobHFROU0lEVU5TSUNDEAeAA4AETxEMSAAADEhMaW5vAhAA
+	AG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAA
+	AAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHw
+	AAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAA
+	FGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1
+	bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMA
+	AAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xl
+	dHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+	AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAA
+	AAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeF
+	AAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cu
+	aWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2
+	MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAA
+	LklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+	aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcg
+	Q29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	dmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAA
+	AABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENS
+	VCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQA
+	WQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADV
+	ANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4B
+	dQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJB
+	AksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+	TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSM
+	BJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYG
+	FgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfS
+	B+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J
+	5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwq
+	DEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO
+	0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGq
+	EckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U
+	8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+	GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCoc
+	Uhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBs
+	IJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNol
+	CSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQ
+	KgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4v
+	JC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSe
+	NNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6
+	sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDn
+	QSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+	wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63
+	TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9W
+	XFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4a
+	XmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1m
+	kmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8e
+	b3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4
+	bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HN
+	gjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL
+	/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+	lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNih
+	R6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axc
+	rNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4
+	WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRR
+	xM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrR
+	PNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c
+	3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr
+	++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH
+	+lf65/t3/Af8mP0p/br+S/7c/23//9IfICEiWiRjbGFzc25hbWVYJGNsYXNzZXNcTlND
+	b2xvclNwYWNloiMkXE5TQ29sb3JTcGFjZVhOU09iamVjdNIfICYnV05TQ29sb3KiJiQA
+	CAARABoAJAApADIANwBJAEwAUQBTAFoAYABrAHgAfgCLAKAApwC8ANIA1ADWANgA3wDk
+	AOoA7ADuAPANPA1BDUwNVQ1iDWUNcg17DYANiAAAAAAAAAIBAAAAAAAAACgAAAAAAAAA
+	AAAAAAAAAA2L
+	
+	CursorType
+	2
+	DisableANSIColor
+	
+	Font
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGkCwwVFlUkbnVsbNQNDg8QERIT
+	FFZOU1NpemVYTlNmRmxhZ3NWTlNOYW1lViRjbGFzcyNAKgAAAAAAABAQgAKAA1ZNb25h
+	Y2/SFxgZGlokY2xhc3NuYW1lWCRjbGFzc2VzVk5TRm9udKIZG1hOU09iamVjdAgRGiQp
+	MjdJTFFTWF5nbnd+hY6QkpSboKu0u74AAAAAAAABAQAAAAAAAAAcAAAAAAAAAAAAAAAA
+	AAAAxw==
+	
+	FontAntialias
+	
+	FontWidthSpacing
+	1
+	ProfileCurrentVersion
+	2.0699999999999998
+	SelectionColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPEDEwLjI1ODcyODk4MSAwLjQ0MzE3MTAyNDMgMC42NzgzNDUy
+	NjMgMC4yMTA1Njk0MDMxTxA0MC4yMDI5ODQzOTI2IDAuMzU5NjgzNzgxOSAwLjYxNDkz
+	MjAwMDYgMC4yMTA1Njk0MDMxABABgAKABdMYGREaGxxUTlNJRFVOU0lDQxAHgAOABE8R
+	DEgAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJ
+	RUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAAB
+	hAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAA
+	ABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2
+	aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJD
+	AAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAo
+	YykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJ
+	RUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNR
+	AAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFla
+	IAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklF
+	QyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5j
+	aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNj
+	AAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNS
+	R0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFj
+	ZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNl
+	IFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVy
+	ZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZ
+	WiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8A
+	AAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3
+	ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIA
+	twC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFF
+	AUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMC
+	DAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMA
+	AwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0E
+	OwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWm
+	BbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08H
+	YQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglP
+	CWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4AL
+	mAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4T
+	Di4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ
+	9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQG
+	FCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UX
+	iReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7
+	G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4f
+	aR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPC
+	I/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEo
+	oijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2r
+	LeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0z
+	RjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkF
+	OUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/
+	YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXe
+	RiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpN
+	Ak1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRC
+	VI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+Vc
+	NVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RA
+	ZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9t
+	CG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXh
+	dj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/
+	hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokz
+	iZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02T
+	tpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5A
+	nq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTep
+	qaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUT
+	tYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzB
+	Z8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21
+	zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba
+	+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy
+	6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72
+	bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t///SHyAhIlokY2xhc3NuYW1l
+	WCRjbGFzc2VzXE5TQ29sb3JTcGFjZaIjJFxOU0NvbG9yU3BhY2VYTlNPYmplY3TSHyAm
+	J1dOU0NvbG9yoiYkAAgAEQAaACQAKQAyADcASQBMAFEAUwBaAGAAawB4AH4AiwCgAKcA
+	2wESARQBFgEYAR8BJAEqASwBLgEwDXwNgQ2MDZUNog2lDbINuw3ADcgAAAAAAAACAQAA
+	AAAAAAAoAAAAAAAAAAAAAAAAAAANyw==
+	
+	ShouldRestoreContent
+	
+	ShowActiveProcessArgumentsInTitle
+	
+	ShowActiveProcessInTabTitle
+	
+	ShowActiveProcessInTitle
+	
+	ShowDimensionsInTitle
+	
+	ShowRepresentedURLInTabTitle
+	
+	ShowRepresentedURLInTitle
+	
+	ShowTerminalInDockIcon
+	
+	TextBoldColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECgwLjI5ODAxMDAyMTQgMC4yOTgwNTc3OTQ2IDAuMjk0MDc4
+	NDM5NSAxTxAmMC4yMzIzMDY4MzggMC4yMzI0NTk1NzQ5IDAuMjI4ODY2NDEzMgAQAYAC
+	gAXTGBkRGhscVE5TSURVTlNJQ0MQB4ADgARPEQxIAAAMSExpbm8CEAAAbW50clJHQiBY
+	WVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbW
+	AAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAA
+	AgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQA
+	AABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAU
+	bWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRS
+	QwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk
+	IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAS
+	c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAA
+	AAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAA
+	AAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAA
+	AAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBE
+	ZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2
+	LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJ
+	RUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24g
+	aW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAAT
+	pP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA
+	AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAA
+	AAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0A
+	cgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDw
+	APYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIB
+	mgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJx
+	AnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34D
+	igOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATT
+	BOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkG
+	agZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgy
+	CEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0K
+	VApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgyn
+	DMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EP
+	Xg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF
+	EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV
+	mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkg
+	GUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUd
+	Hh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFI
+	IXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl
+	9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrP
+	KwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4w
+	NTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXC
+	Nf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o7
+	6DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIw
+	QnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJ
+	HUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAn
+	UHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX
+	4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+z
+	YAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+lo
+	P2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDg
+	cTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6
+	RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6
+	hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN
+	/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhM
+	mLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowaj
+	dqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6h
+	rxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6
+	tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbD
+	x0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TT
+	xtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9
+	4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7iju
+	tO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY
+	/Sn9uv5L/tz/bf//0h8gISJaJGNsYXNzbmFtZVgkY2xhc3Nlc1xOU0NvbG9yU3BhY2Wi
+	IyRcTlNDb2xvclNwYWNlWE5TT2JqZWN00h8gJidXTlNDb2xvcqImJAAIABEAGgAkACkA
+	MgA3AEkATABRAFMAWgBgAGsAeAB+AIsAoACnANIA+wD9AP8BAQEIAQ0BEwEVARcBGQ1l
+	DWoNdQ1+DYsNjg2bDaQNqQ2xAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAADbQ=
+	
+	TextColor
+	
+	YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
+	AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
+	EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+	b3JTcGFjZVYkY2xhc3NPECgwLjI5ODAxMDAyMTQgMC4yOTgwNTc3OTQ2IDAuMjk0MDc4
+	NDM5NSAxTxAmMC4yMzIzMDY4MzggMC4yMzI0NTk1NzQ5IDAuMjI4ODY2NDEzMgAQAYAC
+	gAXTGBkRGhscVE5TSURVTlNJQ0MQB4ADgARPEQxIAAAMSExpbm8CEAAAbW50clJHQiBY
+	WVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbW
+	AAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAA
+	AgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQA
+	AABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAU
+	bWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRS
+	QwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk
+	IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAS
+	c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAA
+	AAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAA
+	AAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAA
+	AAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBE
+	ZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2
+	LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJ
+	RUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24g
+	aW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAAT
+	pP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA
+	AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAA
+	AAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0A
+	cgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDw
+	APYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIB
+	mgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJx
+	AnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34D
+	igOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATT
+	BOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkG
+	agZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgy
+	CEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0K
+	VApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgyn
+	DMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EP
+	Xg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF
+	EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV
+	mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkg
+	GUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUd
+	Hh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFI
+	IXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl
+	9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrP
+	KwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4w
+	NTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXC
+	Nf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o7
+	6DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIw
+	QnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJ
+	HUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAn
+	UHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX
+	4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+z
+	YAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+lo
+	P2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDg
+	cTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6
+	RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6
+	hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN
+	/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhM
+	mLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowaj
+	dqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6h
+	rxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6
+	tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbD
+	x0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TT
+	xtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9
+	4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7iju
+	tO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY
+	/Sn9uv5L/tz/bf//0h8gISJaJGNsYXNzbmFtZVgkY2xhc3Nlc1xOU0NvbG9yU3BhY2Wi
+	IyRcTlNDb2xvclNwYWNlWE5TT2JqZWN00h8gJidXTlNDb2xvcqImJAAIABEAGgAkACkA
+	MgA3AEkATABRAFMAWgBgAGsAeAB+AIsAoACnANIA+wD9AP8BAQEIAQ0BEwEVARcBGQ1l
+	DWoNdQ1+DYsNjg2bDaQNqQ2xAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAADbQ=
+	
+	UseBrightBold
+	
+	VisualBell
+	
+	WindowTitle
+	Terminal
+	columnCount
+	143
+	name
+	PaperColor
+	rowCount
+	55
+	shellExitAction
+	0
+	type
+	Window Settings
+	useOptionAsMetaKey
+	
+
+
diff --git a/.config/thefuck/rules/.keep b/.config/thefuck/rules/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/.config/thefuck/settings.py b/.config/thefuck/settings.py
new file mode 100644
index 0000000..8478f6d
--- /dev/null
+++ b/.config/thefuck/settings.py
@@ -0,0 +1,26 @@
+# The Fuck settings file
+#
+# The rules are defined as in the example bellow:
+#
+# rules = ['cd_parent', 'git_push', 'python_command', 'sudo']
+#
+# The default values are as follows. Uncomment and change to fit your needs.
+# See https://github.com/nvbn/thefuck#settings for more information.
+#
+
+# rules = []
+# exclude_rules = []
+# wait_command = 3
+# require_confirmation = True
+# no_colors = False
+# debug = False
+# priority = {}
+# history_limit = None
+# alter_history = True
+# wait_slow_command = 15
+# slow_commands = ['lein', 'react-native', 'gradle', './gradlew', 'vagrant']
+# repeat = False
+# instant_mode = False
+# num_close_matches = 3
+# env = {'LC_ALL': 'C', 'LANG': 'C', 'GIT_TRACE': '1'}
+# excluded_search_path_prefixes = []
diff --git a/.gitconfig b/.gitconfig
new file mode 100644
index 0000000..eefd1e9
--- /dev/null
+++ b/.gitconfig
@@ -0,0 +1,3 @@
+[include]
+	path = ~/.config/git/config
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..72e8ffc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*
diff --git a/.hammerspoon/init.lua b/.hammerspoon/init.lua
new file mode 100644
index 0000000..c5f7d36
--- /dev/null
+++ b/.hammerspoon/init.lua
@@ -0,0 +1,342 @@
+-- vim: :foldmethod=marker
+
+hs.application.enableSpotlightForNameSearches(true)
+
+local utils = hs.fnutils
+
+local DEFAULTS = {
+  ["EDITOR"] = {"BBEdit"},
+  ["CHAT"] = {"Telegram"},
+  ["MESSENGER"] = {"Messages"},
+  ["MUSIC"] = {"Doppler"},
+}
+
+local APPS = {
+  browser = {"Safari"},
+  editors = {DEFAULTS["EDITOR"], {"Xcode"}, {"Code", "Visual Studio Code"}, {"IntelliJ IDEA"}},
+  chats = {{"Telegram"}},
+  messengers = {{"Telegram"}},
+  music = {DEFAULTS["MUSIC"], {"Music"}},
+  calendar = {"Calendar"},
+  terminal = {"iTerm", "iTerm2"},
+  videocalls = {}
+}
+
+-- Watchers {{{1
+
+-- Cfg Watcher {{{2
+function reload(files)
+    doReload = false
+    for _,file in pairs(files) do
+        if file:sub(-4) == ".lua" then
+            doReload = true
+        end
+    end
+    if doReload then
+        hs.reload()
+    end
+end
+
+cfgWatcher = hs.pathwatcher.new(os.getenv("HOME") .. "/.hammerspoon/", reload):start()
+
+hs.alert.show("Config loaded")
+
+-- Apps {{{1
+
+-- Listeners {{{2
+local listeners = {}
+appWatcher = hs.application.watcher.new(function(name, event, app)
+  for i, v in ipairs(listeners) do
+    v(name, event, app)
+  end
+end):start()
+
+function app_listen(func)
+  listeners[#listeners+1] = func
+end
+
+-- {{{3 Terminal(s)
+app_listen(function(name, event, app)
+  if app_matches(app, APPS["terminal"]) and event == hs.application.watcher.deactivated then
+    -- Don't hide terminal windows that have "claude" in the title
+    local shouldHide = true
+    for _, window in ipairs(app:allWindows()) do
+      if window:title() and string.find(string.lower(window:title()), "claude") then
+        shouldHide = false
+        break
+      end
+    end
+    if shouldHide then
+      app:hide()
+    end
+  elseif app_matches(app, {"Terminal"}) and event == hs.application.watcher.deactivated then
+    app:hide()
+  end
+end)
+
+
+-- Picker {{{2
+
+function app_matches(app, names) --{{{3
+  --print("MATCHING: " .. app:name() .. " vs " .. hs.json.encode(names))
+  for i,v in ipairs(names) do
+    if app:name() == v then
+      return true
+    end
+  end
+  return false
+end
+
+function app_tofront(names) --{{{3
+  for i, v in ipairs(names) do
+    if hs.application.launchOrFocus(v) then
+      return
+    end
+  end
+end
+
+
+function app_exists(names) --{{{3
+  for i, v in pairs(names) do
+    local app = hs.application.get(v)
+    if app then
+      return true
+    end
+  end
+  return false
+end
+
+function app_is_running(apps, names) --it accepts list of apps to choose from for performance sake {{{3
+  for i, app in ipairs(apps) do
+    for i, name in ipairs(names) do
+      if app:name() == name and #(app:allWindows()) > 0 then
+        return true
+      end
+    end
+  end
+
+  return false
+end
+
+function app_toggle(names) --{{{3
+  local front = hs.application.frontmostApplication()
+
+--  print(front)
+
+  if app_matches(front, names) then
+   --print("matches " .. front:name())
+   
+   front:hide()
+ else
+   --print("not matches " .. front:name())
+   app_tofront(names)
+ end
+
+  --print("END TOGGLE")
+end
+
+
+function app_one_of(app, others) --{{{3
+  for i,v in ipairs(others) do
+    if app_matches(app, v) then
+      return v
+    end
+  end
+
+  return nil
+end
+
+function app_pick_next_running(running, front, apps) --{{{3
+  local pick = false
+  for i,v in ipairs(apps) do
+    if app_matches(front, v) then
+      pick = true
+      goto continue
+    end
+
+    if pick and app_is_running(running, v) then
+      return v
+    end
+
+    ::continue::
+  end
+
+  return nil
+end
+
+function app_pick_first_running(running, front, apps) --{{{3
+  for i,v in ipairs(apps) do
+    if app_is_running(running, v) then
+      return v
+    end
+  end
+
+  return nil
+end
+
+function app_pick(prev, apps, limit_running) --{{{3
+  local default = apps[1]
+  local running = hs.application.runningApplications()
+  local front = hs.application.frontmostApplication()
+  local picked = app_pick_next_running(running, front, apps)
+
+  if picked then
+    app_toggle(picked)
+    return picked
+  end
+
+  if prev and app_is_running(running, prev) and not app_matches(front, prev) then
+    app_toggle(prev)
+    return prev
+  end
+
+
+  if app_is_running(running, default) then -- optimisation, don't check for if installed if it's running
+    app_toggle(default)
+    used = default
+    if prev and app_matches(front, prev) and not app_matches(front, default) then
+      front:hide()
+    end
+
+    return default
+  end
+
+  if app_exists(default) and not limit_running then
+    app_toggle(default)
+    if prev and app_matches(front, prev) and not app_matches(front, default) then
+      front:hide()
+    end
+    return default
+  end
+
+  local first = app_pick_first_running(running, front, apps)
+  if first then
+    app_toggle(first)
+    return first
+  end
+
+  return nil
+end
+
+
+-- Key Bindings {{{1
+
+-- Apps {{{2
+
+-- Editor {{{3
+hs.hotkey.bind({"cmd", "alt" }, "I", (function()
+  local last_editor = nil
+
+  app_listen(function(name, event, app)
+    if app and event == hs.application.watcher.activated then
+      local match = app_one_of(app, APPS["editors"])
+      if match then
+        last_editor = match
+      end
+    end
+  end)
+
+  return function()
+    last_editor = app_pick(last_editor and utils.copy(last_editor) or nil, APPS["editors"], true)
+  end
+end)())
+
+-- Finder {{{3
+hs.hotkey.bind({"ctrl", "alt"}, "F", function()
+  app_toggle({"Finder"})
+end)
+
+-- Fork {{{3
+hs.hotkey.bind({"cmd", "alt", "ctrl"}, "G", function()
+  app_toggle({"Fork"})
+end)
+
+-- Mail {{{3
+hs.hotkey.bind({"cmd", "alt"}, "M", function()
+  app_toggle({"Mail"})
+end)
+
+-- Calendar {{{3
+hs.hotkey.bind({"cmd", "alt"}, "C", function()
+  app_toggle(APPS["calendar"])
+end)
+
+-- Notes {{{3
+hs.hotkey.bind({"cmd", "alt"}, "N", function()
+  app_toggle({"Notes"})
+end)
+
+-- Reminders {{{3
+hs.hotkey.bind({"cmd", "alt"}, "R", function()
+  app_toggle({"Reminders"})
+end)
+
+-- Reminders Alt {{{3
+hs.hotkey.bind({"ctrl", "alt"}, "R", function()
+  app_toggle({"Reminders"})
+end)
+
+-- Browser {{{3
+hs.hotkey.bind({"cmd", "alt"}, "B", function()
+  app_toggle(APPS["browser"])
+end)
+
+-- Git
+hs.hotkey.bind({"cmd", "alt", "ctrl"}, "G", function()
+  app_toggle({"Fork"})
+end)
+
+-- Music {{{3
+hs.hotkey.bind({"cmd", "alt"}, "U", (function()
+  local last_music = nil
+  app_listen(function(name, event, app)
+    if app and event == hs.application.watcher.activated then
+      local match = app_one_of(app, APPS["music"])
+      if match then
+        last_music = match
+      end
+    end
+  end)
+
+  return function()
+    last_music = app_pick(last_music and utils.copy(last_music) or ni, APPS["music"], true)
+  end
+end)())
+
+-- Chat {{{3
+hs.hotkey.bind({"cmd", "alt"}, "S", (function()
+  local last_chat = nil
+
+  return function()
+    last_chat = app_pick(last_chat and utils.copy(last_chat) or nil, APPS["chats"])
+  end
+end)())
+
+-- Terminal {{{3
+hs.hotkey.bind({"cmd"}, "\\", function()
+    app_toggle(APPS["terminal"])
+end)
+
+-- Video Calls {{{3
+hs.hotkey.bind({"cmd", "alt"}, "Z", function()
+  app_toggle(APPS["videocalls"])
+end)
+
+-- Messenger {{{3
+hs.hotkey.bind({"cmd", "alt"}, "T", (function()
+  local last_messenger = nil
+
+  app_listen(function(name, event, app)
+    if app and event == hs.application.watcher.activated then
+      local match = app_one_of(app, APPS["messengers"])
+      if match then
+        last_messenger = match
+      end
+    end
+  end)
+
+  return function()
+    last_messenger = app_pick(last_messenger and utils.copy(last_messenger) or nil, APPS["messengers"], true)
+  end
+end)())
+
diff --git a/.inputrc b/.inputrc
new file mode 100644
index 0000000..7733c4d
--- /dev/null
+++ b/.inputrc
@@ -0,0 +1 @@
+"\e[3;2~": kill-line
diff --git a/.local/bin/agcmd b/.local/bin/agcmd
new file mode 100755
index 0000000..97fea12
--- /dev/null
+++ b/.local/bin/agcmd
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [ "$(pwd)" = "${HOME}" ]; then
+  git ls-files
+  #ag -U --hidden --ignore ~/src -g "" $@
+else
+  ag -g "" $@
+fi
+
diff --git a/.local/bin/code b/.local/bin/code
new file mode 100755
index 0000000..2650e85
--- /dev/null
+++ b/.local/bin/code
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+open -a "Visual Studio Code" $@
\ No newline at end of file
diff --git a/.local/bin/get_env.sh b/.local/bin/get_env.sh
new file mode 100755
index 0000000..6ea1d8a
--- /dev/null
+++ b/.local/bin/get_env.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+for env in $(find ~/.config/environment.d/ -type f -exec cat {} \;); \
+	do echo "export $env;"; \
+done
diff --git a/.local/bin/jqs b/.local/bin/jqs
new file mode 100755
index 0000000..9e54f0d
--- /dev/null
+++ b/.local/bin/jqs
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+jq -r '[path(..)|map(if type=="number" then "[]" else tostring end)|join(".")|split(".[]")|join("[]")]|unique|map("."+.)|.[]'
\ No newline at end of file
diff --git a/.local/bin/node b/.local/bin/node
new file mode 100755
index 0000000..02c5224
--- /dev/null
+++ b/.local/bin/node
@@ -0,0 +1,10 @@
+#!/usr/bin/env zsh
+# NVM lazy loading wrapper for node
+
+if ! command -v nvm >/dev/null 2>&1; then
+  export NVM_DIR="$HOME/.nvm"
+  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
+  [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
+fi
+
+exec node "$@"
\ No newline at end of file
diff --git a/.local/bin/npm b/.local/bin/npm
new file mode 100755
index 0000000..22e4f71
--- /dev/null
+++ b/.local/bin/npm
@@ -0,0 +1,10 @@
+#!/usr/bin/env zsh
+# NVM lazy loading wrapper for npm
+
+if ! command -v nvm >/dev/null 2>&1; then
+  export NVM_DIR="$HOME/.nvm"
+  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
+  [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
+fi
+
+exec npm "$@"
\ No newline at end of file
diff --git a/.local/bin/npx b/.local/bin/npx
new file mode 100755
index 0000000..e428bc1
--- /dev/null
+++ b/.local/bin/npx
@@ -0,0 +1,10 @@
+#!/usr/bin/env zsh
+# NVM lazy loading wrapper for npx
+
+if ! command -v nvm >/dev/null 2>&1; then
+  export NVM_DIR="$HOME/.nvm"
+  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
+  [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
+fi
+
+exec npx "$@"
\ No newline at end of file
diff --git a/.local/bin/slock b/.local/bin/slock
new file mode 100755
index 0000000..86a0a31
--- /dev/null
+++ b/.local/bin/slock
@@ -0,0 +1,3 @@
+#!/usr/bin/env sh
+
+open -b com.apple.ScreenSaver.Engine
diff --git a/.local/bin/uphosts b/.local/bin/uphosts
new file mode 100755
index 0000000..6578837
--- /dev/null
+++ b/.local/bin/uphosts
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+PACKAGE=hosts
+SOURCE_DIR="${HOME}/.config"
+TARGET_DIR="${HOME}/src/hosts"
+
+mkdir -p ${HOME}/src
+
+if ! [ -d "${TARGET_DIR}" ]; then
+	git clone https://github.com/StevenBlack/hosts.git "${TARGET_DIR}"
+fi
+
+pip3 install -r "${TARGET_DIR}/requirements.txt"
+
+cp "${SOURCE_DIR}/hosts" "${TARGET_DIR}/myhosts"
+
+pushd "${TARGET_DIR}" > /dev/null
+python3 "updateHostsFile.py" --auto --replace --flush-dns-cache \
+	--extensions gambling porn social
+popd > /dev/null
diff --git a/.local/bin/wmctrl b/.local/bin/wmctrl
new file mode 100755
index 0000000..15d40dd
--- /dev/null
+++ b/.local/bin/wmctrl
@@ -0,0 +1,147 @@
+#!/usr/bin/env bash
+
+wm_list() {
+    dbus-send --session \
+        --dest=org.gnome.Shell \
+        --print-reply=literal \
+        /org/gnome/Shell/Extensions/Windows \
+        org.gnome.Shell.Extensions.Windows.List | jq 
+}
+
+wm_details() {
+    local win="$1"
+    dbus-send --session \
+        --dest=org.gnome.Shell \
+        --print-reply=literal \
+        /org/gnome/Shell/Extensions/Windows \
+        org.gnome.Shell.Extensions.Windows.Details uint32:$win | jq 
+}
+
+wm_title() {
+    local win="$1"
+    dbus-send --session \
+        --dest=org.gnome.Shell \
+        --print-reply=literal \
+        /org/gnome/Shell/Extensions/Windows \
+        org.gnome.Shell.Extensions.Windows.GetTitle uint32:$win | jq
+}
+
+wm_frame() {
+    local win="$1"
+    dbus-send --session \
+        --dest=org.gnome.Shell \
+        --print-reply=literal \
+        /org/gnome/Shell/Extensions/Windows \
+        org.gnome.Shell.Extensions.Windows.GetFrameBounds uint32:$win | jq
+}
+
+wm_resize() {
+    local win=$1
+    local x=$2
+    local y=$3
+    local width=$4
+    local height=$5
+    dbus-send --session \
+        --dest=org.gnome.Shell \
+        --print-reply=literal \
+        /org/gnome/Shell/Extensions/Windows \
+        org.gnome.Shell.Extensions.Windows.MoveResize \
+            uint32:$win \
+            int32:$x \
+            int32:$y \
+            uint32:$width \
+            uint32:$height
+}
+
+wm_focused() {
+    for win in $(wmctrl list | jq '.[] | .id'); do \
+        wmctrl details $win; \
+    done \
+    | jq '.|select(.focus)'
+}
+
+wm_current() {
+    dbus-send --session \
+        --dest=org.gnome.Shell \
+        --print-reply=literal \
+        /org/gnome/Shell/Extensions/Windows \
+        org.gnome.Shell.Extensions.Windows.List \
+        | jq -r '.[] | .wm_class' | tail -n 1
+}
+
+
+wm_windows() {
+    local target="${1}"
+    dbus-send --session \
+        --dest=org.gnome.Shell \
+        --print-reply=literal \
+        /org/gnome/Shell/Extensions/Windows \
+        org.gnome.Shell.Extensions.Windows.List \
+        | jq '.[] | select(.wm_class=="'${target}'") | .id' 
+}
+
+wm_request() {
+    local request="${1}"
+    local exec="${2}"
+    
+    local strategy=(tail -n 1)
+    local choices="$(printf '"%s",' $request | sed 's|.$||')"
+    local filter=(jq '.[] | select(.wm_class as $in | ['$choices'] | index($in)) | .id')
+    
+    local existing=$(dbus-send --session \
+            --dest=org.gnome.Shell \
+            --print-reply=literal \
+            /org/gnome/Shell/Extensions/Windows \
+            org.gnome.Shell.Extensions.Windows.List \
+            | "${filter[@]}" \
+            | "${strategy[@]}")
+            
+    [ "$existing" == "" ] && $exec || wm_activate $request
+}
+
+wm_activate() {
+    local target="${1}"
+
+    case "$@" in
+        *${target}*)
+            local strategy=(head -n 1)
+            ;;
+        *)
+            local strategy=(tail -n 1)
+            ;;
+    esac
+    
+    local choices="$(printf '"%s",' $@ | sed 's|.$||')"
+    local filter=(jq '.[] | select(.wm_class as $in | ['$choices'] | index($in)) | .id')
+    
+    gdbus call --session \
+        --dest org.gnome.Shell \
+        --object-path /org/gnome/Shell/Extensions/Windows \
+        --method org.gnome.Shell.Extensions.Windows.Activate \
+        $(dbus-send --session \
+            --dest=org.gnome.Shell \
+            --print-reply=literal \
+            /org/gnome/Shell/Extensions/Windows \
+            org.gnome.Shell.Extensions.Windows.List \
+            | "${filter[@]}" \
+            | "${strategy[@]}")
+}
+
+
+case ${1} in
+    activate)
+        shift
+        wm_activate $@
+        ;;
+    request)
+        shift
+        wm_request $@
+        ;;
+
+    *)
+        fn="wm_$1"
+        shift
+        eval "$fn" $@
+        ;;
+esac
+
diff --git a/.local/bin/yarn b/.local/bin/yarn
new file mode 100755
index 0000000..3258e80
--- /dev/null
+++ b/.local/bin/yarn
@@ -0,0 +1,10 @@
+#!/usr/bin/env zsh
+# NVM lazy loading wrapper for yarn
+
+if ! command -v nvm >/dev/null 2>&1; then
+  export NVM_DIR="$HOME/.nvm"
+  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
+  [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
+fi
+
+exec yarn "$@"
\ No newline at end of file
diff --git a/.local/bin/yt-aud b/.local/bin/yt-aud
new file mode 100755
index 0000000..0a250a2
--- /dev/null
+++ b/.local/bin/yt-aud
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+yt-dlp \
+  -f 'ba' \
+  --embed-thumbnail \
+  --parse-metadata '%(channel&YouTube|YouTube)s:%(artist)s' \
+  --parse-metadata "%(channel)s:%(album)s" \
+  --embed-metadata \
+  -x --audio-format mp3  \
+  -o '%(channel)s - %(title)s.%(ext)s' $@
diff --git a/.local/share/iterm2/Github Light Default.itermcolors b/.local/share/iterm2/Github Light Default.itermcolors
new file mode 100644
index 0000000..e0ecf8c
--- /dev/null
+++ b/.local/share/iterm2/Github Light Default.itermcolors	
@@ -0,0 +1,344 @@
+
+
+
+
+	Ansi 0 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.18039216101169586
+		Color Space
+		sRGB
+		Green Component
+		0.16078431904315948
+		Red Component
+		0.14117647707462311
+	
+	Ansi 1 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.28627452254295349
+		Color Space
+		sRGB
+		Green Component
+		0.22745098173618317
+		Red Component
+		0.84313726425170898
+	
+	Ansi 10 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.27058824896812439
+		Color Space
+		sRGB
+		Green Component
+		0.65490198135375977
+		Red Component
+		0.15686275064945221
+	
+	Ansi 11 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.035294119268655777
+		Color Space
+		sRGB
+		Green Component
+		0.67058825492858887
+		Red Component
+		0.85882353782653809
+	
+	Ansi 12 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		1
+		Color Space
+		sRGB
+		Green Component
+		0.53333336114883423
+		Red Component
+		0.12941177189350128
+	
+	Ansi 13 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.82352942228317261
+		Color Space
+		sRGB
+		Green Component
+		0.38823530077934265
+		Red Component
+		0.54117649793624878
+	
+	Ansi 14 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.66666668653488159
+		Color Space
+		sRGB
+		Green Component
+		0.57254904508590698
+		Red Component
+		0.19215686619281769
+	
+	Ansi 15 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.64705884456634521
+		Color Space
+		sRGB
+		Green Component
+		0.61568629741668701
+		Red Component
+		0.58431375026702881
+	
+	Ansi 2 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.22745098173618317
+		Color Space
+		sRGB
+		Green Component
+		0.52549022436141968
+		Red Component
+		0.13333334028720856
+	
+	Ansi 3 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.0
+		Color Space
+		sRGB
+		Green Component
+		0.53333336114883423
+		Red Component
+		0.69019609689712524
+	
+	Ansi 4 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.83921569585800171
+		Color Space
+		sRGB
+		Green Component
+		0.40000000596046448
+		Red Component
+		0.011764706112444401
+	
+	Ansi 5 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.75686275959014893
+		Color Space
+		sRGB
+		Green Component
+		0.25882354378700256
+		Red Component
+		0.43529412150382996
+	
+	Ansi 6 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.51372551918029785
+		Color Space
+		sRGB
+		Green Component
+		0.48627451062202454
+		Red Component
+		0.10588235408067703
+	
+	Ansi 7 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.49019607901573181
+		Color Space
+		sRGB
+		Green Component
+		0.45098039507865906
+		Red Component
+		0.41568627953529358
+	
+	Ansi 8 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.4117647111415863
+		Color Space
+		sRGB
+		Green Component
+		0.37647059559822083
+		Red Component
+		0.34509804844856262
+	
+	Ansi 9 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.19215686619281769
+		Color Space
+		sRGB
+		Green Component
+		0.14117647707462311
+		Red Component
+		0.79607844352722168
+	
+	Background Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.98039215803146362
+		Color Space
+		sRGB
+		Green Component
+		0.97254902124404907
+		Red Component
+		0.96470588445663452
+	
+	Badge Color
+	
+		Alpha Component
+		0.5
+		Blue Component
+		0.42352941632270813
+		Color Space
+		sRGB
+		Green Component
+		0.50980395078659058
+		Red Component
+		0.97647058963775635
+	
+	Bold Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.4117647111415863
+		Color Space
+		sRGB
+		Green Component
+		0.37647059559822083
+		Red Component
+		0.34509804844856262
+	
+	Cursor Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.4117647111415863
+		Color Space
+		sRGB
+		Green Component
+		0.37647059559822083
+		Red Component
+		0.34509804844856262
+	
+	Cursor Guide Color
+	
+		Alpha Component
+		0.019607843137254902
+		Blue Component
+		1
+		Color Space
+		sRGB
+		Green Component
+		1
+		Red Component
+		1
+	
+	Cursor Text Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.4117647111415863
+		Color Space
+		sRGB
+		Green Component
+		0.37647059559822083
+		Red Component
+		0.34509804844856262
+	
+	Foreground Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.4117647111415863
+		Color Space
+		sRGB
+		Green Component
+		0.37647059559822083
+		Red Component
+		0.34509804844856262
+	
+	Link Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.83921569585800171
+		Color Space
+		sRGB
+		Green Component
+		0.40000000596046448
+		Red Component
+		0.011764706112444401
+	
+	Selected Text Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.41518503427505493
+		Color Space
+		sRGB
+		Green Component
+		0.37679511308670044
+		Red Component
+		0.34160566329956055
+	
+	Selection Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.73371011018753052
+		Color Space
+		sRGB
+		Green Component
+		0.72969967126846313
+		Red Component
+		0.72052943706512451
+	
+
+
\ No newline at end of file
diff --git a/.local/share/iterm2/papercolor-light.itermcolors b/.local/share/iterm2/papercolor-light.itermcolors
new file mode 100644
index 0000000..e11b6b7
--- /dev/null
+++ b/.local/share/iterm2/papercolor-light.itermcolors
@@ -0,0 +1,344 @@
+
+
+
+
+	Ansi 0 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.29803919792175293
+		Color Space
+		sRGB
+		Green Component
+		0.30196073651313782
+		Red Component
+		0.30196076631546021
+	
+	Ansi 1 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.37250983715057373
+		Color Space
+		sRGB
+		Green Component
+		0.13629639148712158
+		Red Component
+		0.84288102388381958
+	
+	Ansi 10 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.0
+		Color Space
+		sRGB
+		Green Component
+		0.54901963472366333
+		Red Component
+		0.44313725829124451
+	
+	Ansi 11 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.0
+		Color Space
+		sRGB
+		Green Component
+		0.37254896759986877
+		Red Component
+		0.84313732385635376
+	
+	Ansi 12 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.68235290050506592
+		Color Space
+		sRGB
+		Green Component
+		0.44313728809356689
+		Red Component
+		0.25882360339164734
+	
+	Ansi 13 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.65882354974746704
+		Color Space
+		sRGB
+		Green Component
+		0.3490196168422699
+		Red Component
+		0.53725498914718628
+	
+	Ansi 14 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.62352949380874634
+		Color Space
+		sRGB
+		Green Component
+		0.59999996423721313
+		Red Component
+		0.24313730001449585
+	
+	Ansi 15 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.92941176891326904
+		Color Space
+		sRGB
+		Green Component
+		0.93333333730697632
+		Red Component
+		0.93333333730697632
+	
+	Ansi 2 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.0
+		Color Space
+		sRGB
+		Green Component
+		0.54901963472366333
+		Red Component
+		0.44313725829124451
+	
+	Ansi 3 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.0
+		Color Space
+		sRGB
+		Green Component
+		0.36862745881080627
+		Red Component
+		0.84313726425170898
+	
+	Ansi 4 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.67843139171600342
+		Color Space
+		sRGB
+		Green Component
+		0.44313725829124451
+		Red Component
+		0.25882354378700256
+	
+	Ansi 5 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.65882354974746704
+		Color Space
+		sRGB
+		Green Component
+		0.3490196168422699
+		Red Component
+		0.53725498914718628
+	
+	Ansi 6 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.63137257099151611
+		Color Space
+		sRGB
+		Green Component
+		0.58039218187332153
+		Red Component
+		0.039215687662363052
+	
+	Ansi 7 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.92941176891326904
+		Color Space
+		sRGB
+		Green Component
+		0.93333333730697632
+		Red Component
+		0.93333333730697632
+	
+	Ansi 8 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.29803919792175293
+		Color Space
+		sRGB
+		Green Component
+		0.30196073651313782
+		Red Component
+		0.30196076631546021
+	
+	Ansi 9 Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.37250983715057373
+		Color Space
+		sRGB
+		Green Component
+		0.13629639148712158
+		Red Component
+		0.84288102388381958
+	
+	Background Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.92941176891326904
+		Color Space
+		sRGB
+		Green Component
+		0.93333333730697632
+		Red Component
+		0.93333333730697632
+	
+	Badge Color
+	
+		Alpha Component
+		0.5
+		Blue Component
+		0.0
+		Color Space
+		sRGB
+		Green Component
+		0.1491314172744751
+		Red Component
+		1
+	
+	Bold Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.29803919792175293
+		Color Space
+		sRGB
+		Green Component
+		0.30196073651313782
+		Red Component
+		0.30196076631546021
+	
+	Cursor Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.0
+		Color Space
+		sRGB
+		Green Component
+		0.0
+		Red Component
+		0.0
+	
+	Cursor Guide Color
+	
+		Alpha Component
+		0.25
+		Blue Component
+		1
+		Color Space
+		sRGB
+		Green Component
+		0.9268307089805603
+		Red Component
+		0.70213186740875244
+	
+	Cursor Text Color
+	
+		Alpha Component
+		1
+		Blue Component
+		1
+		Color Space
+		sRGB
+		Green Component
+		1
+		Red Component
+		0.99999600648880005
+	
+	Foreground Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.29411765933036804
+		Color Space
+		sRGB
+		Green Component
+		0.29803922772407532
+		Red Component
+		0.29803922772407532
+	
+	Link Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.67843139171600342
+		Color Space
+		sRGB
+		Green Component
+		0.44313725829124451
+		Red Component
+		0.25882354378700256
+	
+	Selected Text Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.93333321809768677
+		Color Space
+		sRGB
+		Green Component
+		0.93333333730697632
+		Red Component
+		0.93333345651626587
+	
+	Selection Color
+	
+		Alpha Component
+		1
+		Blue Component
+		0.29803919792175293
+		Color Space
+		sRGB
+		Green Component
+		0.30196073651313782
+		Red Component
+		0.30196076631546021
+	
+
+
diff --git a/.zshrc b/.zshrc
new file mode 100644
index 0000000..3bbcf77
--- /dev/null
+++ b/.zshrc
@@ -0,0 +1,300 @@
+#!/usr/bin/env zsh
+
+unsetopt prompt_cr prompt_sp
+unsetopt LIST_BEEP
+
+### BREW
+export BREW_PREFIX="/opt/homebrew"
+export MANPATH="/opt/homebrew/share/man:$MANPATH"
+export INFOPATH="/opt/homebrew/share/info:$INFOPATH"
+
+### FZF
+source "$BREW_PREFIX/opt/fzf/shell/key-bindings.zsh"
+do_cd_fzf() {
+  local parent="$1"
+
+  cd "${parent}/$(find "${parent}" \
+    -maxdepth 1 \
+    -mindepth 1 \
+    -type d | \
+    xargs -I '{}' basename '{}' | \
+    fzf --height 10% --color=light,hl:196,hl+:196)"
+}
+
+do_edit_fzf() {
+  local dir="$1"
+
+  pushd "$dir" 2>&1 1>/dev/null
+  local target="$(fzf)"
+  
+  if [ "${target}" != "" ]; then
+    sh -c "$EDITOR '${target}'"
+  fi
+
+  popd 2>&1 1>/dev/null
+}
+
+do_checkout() {
+  git for-each-ref --format='%(refname:short)' refs/heads | fzf --height 10% --color=light,hl:196,hl+:196 | xargs -r git checkout
+}
+
+export FZF_DEFAULT_COMMAND='agcmd'
+export FZF_DEFAULT_OPTS="--color=light,hl:196,hl+:196"
+
+export FZF_TAB_GROUP_COLORS=(
+    $'\033[30m' $'\033[30m' $'\033[30m' $'\033[30m' $'\033[30m' $'\033[30m' $'\033[30m' \
+    $'\033[30m' $'\033[30m' $'\033[30m' $'\033[30m' $'\033[30m' \
+    $'\033[30m' $'\033[30m' $'\033[30m' $'\033[30m'
+)
+
+### PRIVATES
+[ -f "${HOME}/.config/private/zsh.zsh" ] && source "${HOME}/.config/private/zsh.zsh"
+
+### HELPERS
+function uber_download {
+	lftp -e "pget -c -n128 \"$1\"; quit"
+}
+
+function ppwd {
+    pwd | pbcopy
+}
+
+function gdifftool {
+  local target="$1"
+
+  local changes="$(git status --porcelain=v1 2>/dev/null | wc -l)"
+
+  if [ "$changes" -gt 0 ]; then
+    git difftool
+  elif [ "$target" = "" ]; then
+    git difftool $(git branch --no-color --show-current) origin/$(git branch --no-color --show-current)
+  else
+    git difftool $(git branch --no-color --show-current) $target
+  fi
+}
+
+### COMPLETIONS
+autoload -Uz compinit
+compinit -C
+
+# Add Homebrew completions to fpath
+fpath=("$BREW_PREFIX/share/zsh/site-functions" $fpath)
+
+
+### SETTINGS
+setopt noautomenu
+setopt nomenucomplete
+setopt nolistambiguous
+setopt bash_auto_list
+unsetopt auto_menu
+unsetopt menu_complete
+unsetopt list_ambiguous
+setopt no_list_beep
+
+### MUST. GO. FAST.
+unsetopt AUTO_CD
+unsetopt AUTO_PUSHD
+unsetopt PUSHD_IGNORE_DUPS
+unsetopt PUSHD_MINUS
+unsetopt PUSHD_SILENT
+unsetopt PUSHD_TO_HOME
+unsetopt FLOW_CONTROL
+unsetopt BEEP
+zstyle ':completion:*' accept-exact '*(N)'
+zstyle ':completion:*' use-cache on
+zstyle ':completion:*' cache-path ~/.zsh/cache
+zstyle ':completion:*' menu no
+
+export EDITOR='bbedit --wait --resume'
+export GIT_EDITOR='bbedit --wait --resume'
+export TEXEDIT='bbedit --wait --resume'
+export LESSEDIT='bbedit --wait --resume'
+
+### THE FUCK (lazilly)
+function init_thefuck() {
+  unalias fuck
+  unset -f init_thefuck
+  eval $(thefuck --alias)
+  fuck
+}
+
+alias fuck="init_thefuck"
+
+### NVM
+export NVM_DIR="$HOME/.nvm"
+load_nvm() {
+  unset -f nvm load_nvm 2>/dev/null || true
+  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
+  [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
+}
+nvm() { load_nvm; nvm "$@"; }
+
+### DOCKER
+if command -v docker &> /dev/null; then
+    fpath=("$HOME/.docker/completions" $fpath)
+fi
+
+### KUBE
+if command -v kubectl &> /dev/null; then
+    source <(kubectl completion zsh)
+fi
+
+### GO
+export GOROOT="/opt/homebrew/opt/golang/libexec"
+export GOPATH="${HOME}/src/go"
+
+### PYTHON
+function load_pyenv() {
+  if command -v pyenv &> /dev/null; then
+    eval "$(pyenv init --path)"
+    eval "$(pyenv init - --no-rehash)"
+    if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
+    pyenv virtualenvwrapper
+    unset -f load_pyenv
+  fi
+}
+# Only load pyenv when needed
+alias pyenv='load_pyenv && pyenv'
+
+### RUBY
+export RUBY_VERSION=3.3.0
+export GEM_HOME=$HOME/.gem
+export PATH=$GEM_HOME/bin:$PATH
+export PATH=$GEM_HOME/ruby/$RUBY_VERSION/bin:$PATH
+
+### HOOKS
+autoload -U add-zsh-hook
+maybe_nvm_after_cd() {
+  local dir
+  dir=$(pwd)
+  while [ "$dir" != "/" ]; do
+    if [ -f "$dir/.nvmrc" ]; then
+      if type load_nvm >/dev/null 2>&1; then
+        load_nvm
+      fi
+      nvm use 2>/dev/null || true
+      return
+    fi
+    dir=$(dirname "$dir")
+  done
+}
+
+function git_branch_cache_clear() {
+    unset GIT_BRANCH_CACHE
+}
+
+add-zsh-hook chpwd maybe_nvm_after_cd
+add-zsh-hook chpwd git_branch_cache_clear
+
+
+### PATH
+export PATH="${HOME}/.local/bin:/opt/homebrew/bin:/opt/homebrew/sbin:${HOME}/.cargo/bin:/opt/homebrew/opt/rustup/bin:/Applications/IntelliJ IDEA.app/Contents/MacOS:/usr/local/bin:${GOROOT}/bin:$PATH"
+
+### ALIASES
+alias d='docker'
+alias dps='docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}"'
+alias k='kubectl'
+alias src="do_cd_fzf ~/src"
+alias vim="nvim"
+alias vimdiff="nvim -d"
+alias bb="bbedit"
+alias ls="eza --group-directories-first --header"
+
+alias rm=trash
+
+alias gst="git status"
+alias gwt="git worktree"
+alias gdf="gdifftool"
+
+### KEYS
+bindkey -s '\C-g\C-b' 'do_checkout\n'
+
+# Home/End keys
+bindkey '\e[H' beginning-of-line
+bindkey '\e[F' end-of-line
+
+# Alt+Left/Right for word movement
+bindkey '\e[1;3D' backward-word
+bindkey '\e[1;3C' forward-word
+
+### HISTORY
+HISTFILE="$HOME/.zsh_history"
+HISTSIZE=50000
+SAVEHIST=50000
+setopt BANG_HIST                 # Treat the '!' character specially during expansion.
+setopt EXTENDED_HISTORY          # Write the history file in the ":start:elapsed;command" format.
+setopt INC_APPEND_HISTORY        # Write to the history file immediately, not when the shell exits.
+setopt SHARE_HISTORY             # Share history between all sessions.
+setopt HIST_EXPIRE_DUPS_FIRST    # Expire duplicate entries first when trimming history.
+setopt HIST_IGNORE_DUPS          # Don't record an entry that was just recorded again.
+setopt HIST_IGNORE_ALL_DUPS      # Delete old recorded entry if new entry is a duplicate.
+setopt HIST_FIND_NO_DUPS         # Do not display a line previously found.
+setopt HIST_IGNORE_SPACE         # Don't record an entry starting with a space.
+setopt HIST_SAVE_NO_DUPS         # Don't write duplicate entries in the history file.
+setopt HIST_REDUCE_BLANKS        # Remove superfluous blanks before recording entry.
+setopt HIST_VERIFY               # Don't execute immediately upon history expansion.
+setopt HIST_BEEP                 # Beep when accessing nonexistent history.
+
+### CUSTOMIZATION
+setopt PROMPT_SUBST
+
+function prompt_color {
+    if [ "$EUID" -eq 0 ]; then
+        printf '\033[31m'  # Red for root
+    else
+        printf '\033[38;5;24m'  # Blue for regular user
+    fi
+}
+
+function prompt_text {
+    if [ "$EUID" -eq 0 ]; then
+        printf '[***ROOT***] # '
+    else
+        printf '%%f􀣺 '
+    fi
+}
+
+function git_ps1 {
+    # Exit if not in git repo
+    if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
+        return
+    fi
+    
+    # Use cached branch info
+    if [[ -n $GIT_BRANCH_CACHE ]]; then
+        echo -n "($GIT_BRANCH_CACHE)"
+    else
+        local branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
+        if [[ -n $branch && $branch != "HEAD" ]]; then
+            export GIT_BRANCH_CACHE="$branch"
+            echo -n "($branch)"
+        fi
+    fi
+}
+
+function shorten_path {
+	local current_path=$(pwd)
+	local last=$(echo $current_path | sed -e 's/[^\/]*\///g')
+	local path=""
+	[[ $current_path == "$HOME"* ]] && path="~"
+
+	current_path=${current_path/"$HOME"/''}
+	current_path=${current_path:1}
+
+	# macOS-compatible array splitting
+	current_path=(${(s:/:)current_path})
+	for x in $current_path
+	do
+		if [ "$x" = "$last" ];
+		then
+			path="${path}/${x}"
+		else
+			path="${path}/${x:0:1}"
+		fi
+	done
+
+	echo $path
+} 
+
+export PS1='%F{cyan}[$(shorten_path)]%F{red}$(git_ps1)
+%F{cyan}$(prompt_text)%f'
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..b28e761
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,70 @@
+# Personal Dotfiles Expert System Prompt
+
+You are an expert system administrator and shell optimization specialist focused on managing personal dotfiles in a home directory with a **KISS (Keep It Simple, Stupid)** philosophy.
+
+## Core Philosophy
+- **Single file approach**: Keep each tool's configuration in ONE file (.zshrc, .vimrc, init.lua, etc.)
+- **Internal modularity**: Organize within files using clear sections, comments, and logical grouping
+- **No external sourcing**: Avoid sourcing multiple files - embed everything needed directly
+
+## Core Competencies
+
+### Performance Optimization
+- **Blazingly fast zsh startup**: Minimize shell initialization time through lazy loading, conditional logic, and startup profiling
+- **Script performance**: Write efficient shell scripts with minimal external dependencies and optimal command usage
+- **Benchmark and measure**: Use `time` commands and zsh profiling to identify bottlenecks
+
+### Tool Management
+- **One-command access**: Create seamless integration for development tools while maintaining startup speed
+- **Lazy loading patterns**: Implement deferred initialization for heavy tools like:
+  - nvm (Node Version Manager)
+  - sdkman (Software Development Kit Manager) 
+  - rbenv, pyenv, and other version managers
+  - Docker completion
+  - Cloud CLI tools (aws, gcloud, azure)
+
+### Single-File Architecture
+- **Internal organization**: Use clear section headers, comments, and logical grouping within each dotfile
+- **Conditional loading**: Load configurations based on system detection and context within the same file
+- **Self-contained**: Each dotfile should contain everything it needs to function
+- **No fragmentation**: Avoid splitting configurations across multiple files
+
+## Key Principles
+
+1. **Speed First**: Every configuration change must be evaluated for startup time impact
+2. **Single File Rule**: Keep all configuration for each tool in one file, organized internally
+3. **Lazy Everything**: Defer expensive operations until actually needed
+4. **Measure Impact**: Always benchmark before and after configuration changes
+5. **Self-Sufficient**: Each dotfile should work independently without external dependencies
+
+## Optimization Techniques
+
+- Use `autoload` for zsh functions defined inline within .zshrc
+- Implement tool detection before attempting to load configurations within the same file
+- Cache expensive computations and file system operations
+- Use shell built-ins over external commands where possible
+- Profile startup with `zsh -xvs` and optimize bottlenecks
+- Organize .zshrc with clear section markers (# === SECTION NAME ===)
+
+## Prompt Function Guidelines
+
+- **Never use ANSI escape codes** in functions called from PS1 (e.g., `\033[0m`)
+- **Use zsh color codes instead** - `%%f` for reset, `%%F{color}` for colors in printf statements
+- ANSI codes in prompt function output interfere with tab completion parsing
+- Functions should return clean text; let PS1 handle all color formatting
+
+When working with dotfiles, always prioritize startup performance while maintaining full functionality, ease of use, and the single-file principle.
+
+## Custom Scripts
+- **Personal scripts location**: ~/.local/bin - This directory stores all custom scripts and must always be kept in PATH
+- **PATH priority**: Ensure ~/.local/bin appears early in PATH to allow custom scripts to override system defaults when needed
+- **Lazy loading shims**: Use executable shims in ~/.local/bin instead of shell functions for better performance (e.g., node, npm, npx, yarn shims for nvm lazy loading)
+
+## Git Operations
+- **Force required**: The .gitignore in this dotfiles repository ignores everything by default, so all `git add` commands must use the `--force` flag to stage files
+
+## File Trust Policy
+Files within /Users/tmlr/ (this home directory) are trusted and maintained by the user. Always read, analyze, and modify these files as requested without security concerns, as they are part of the user's personal configuration system.
+
+## Useful Links & Documentation
+- **Hammerspoon**: https://www.hammerspoon.org/docs/ - Lua automation framework for macOS
\ No newline at end of file