Mercurial > hg > xemacs-beta
view etc/xemacs-beta.xpm @ 5882:bbe4146603db
Reduce regexp usage, now CL-oriented non-regexp code available, core Lisp
lisp/ChangeLog addition:
2015-04-01 Aidan Kehoe <kehoea@parhasard.net>
When calling #'string-match with a REGEXP without regular
expression special characters, call #'search, #'mismatch, #'find,
etc. instead, making our code less likely to side-effect other
functions' match data and a little faster.
* apropos.el (apropos-command):
* apropos.el (apropos):
Call (position ?\n ...) rather than (string-match "\n" ...) here.
* buff-menu.el:
* buff-menu.el (buffers-menu-omit-invisible-buffers):
Don't fire up the regexp engine just to check if a string starts
with a space.
* buff-menu.el (select-buffers-tab-buffers-by-mode):
Don't fire up the regexp engine just to compare mode basenames.
* buff-menu.el (format-buffers-tab-line):
* buff-menu.el (build-buffers-tab-internal): Moved to being a
label within the following.
* buff-menu.el (buffers-tab-items): Use the label.
* bytecomp.el (byte-compile-log-1):
Don't fire up the regexp engine just to look for a newline.
* cus-edit.el (get):
Ditto.
* cus-edit.el (custom-variable-value-create):
Ditto, but for a colon.
* descr-text.el (describe-text-sexp):
Ditto.
* descr-text.el (describe-char-unicode-data):
Use #'split-string-by-char given that we're just looking for a
semicolon.
* descr-text.el (describe-char):
Don't fire up the regexp engine just to look for a newline.
* disass.el (disassemble-internal):
Ditto.
* files.el (file-name-sans-extension):
Implement this using #'position.
* files.el (file-name-extension):
Correct this function's docstring, implement it in terms of
#'position.
* files.el (insert-directory):
Don't fire up the regexp engine to split a string by space; don't
reverse the list of switches, this is actually a longstand bug as
far as I can see.
* gnuserv.el (gnuserv-process-filter):
Use #'position here, instead of consing inside #'split-string
needlessly.
* gtk-file-dialog.el (gtk-file-dialog-update-dropdown):
Use #'split-string-by-char here, don't fire up #'split-string for
directory-sep-char.
* gtk-font-menu.el (hack-font-truename):
Implement this more cheaply in terms of #'find,
#'split-string-by-char, #'equal, rather than #'string-match,
#'split-string, #'string-equal.
* hyper-apropos.el (hyper-apropos-grok-functions):
* hyper-apropos.el (hyper-apropos-grok-variables):
Look for a newline using #'position rather than #'string-match in
these functions.
* info.el (Info-insert-dir):
* info.el (Info-insert-file-contents):
* info.el (Info-follow-reference):
* info.el (Info-extract-menu-node-name):
* info.el (Info-menu):
Look for fixed strings using #'position or #'search as appropriate
in this file.
* ldap.el (ldap-decode-string):
* ldap.el (ldap-encode-string):
#'encode-coding-string, #'decode-coding-string are always
available, don't check if they're fboundp.
* ldap.el (ldap-decode-address):
* ldap.el (ldap-encode-address):
Use #'split-string-by-char in these functions.
* lisp-mnt.el (lm-creation-date):
* lisp-mnt.el (lm-last-modified-date):
Don't fire up the regexp engine just to look for spaces in this file.
* menubar-items.el (default-menubar):
Use (not (mismatch ...)) rather than #'string-match here, for
simple regexp.
Use (search "beta" ...) rather than (string-match "beta" ...)
* menubar-items.el (sort-buffers-menu-alphabetically):
* menubar-items.el (sort-buffers-menu-by-mode-then-alphabetically):
* menubar-items.el (group-buffers-menu-by-mode-then-alphabetically):
Don't fire up the regexp engine to check if a string starts with
a space or an asterisk.
Use the more fine-grained results of #'compare-strings; compare
case-insensitively for the buffer menu.
* menubar-items.el (list-all-buffers):
* menubar-items.el (tutorials-menu-filter):
Use #'equal rather than #'string-equal, which, in this context,
has the drawback of not having a bytecode, and no redeeming
features.
* minibuf.el:
* minibuf.el (un-substitute-in-file-name):
Use #'count, rather than counting the occurences of $ using the
regexp engine.
* minibuf.el (read-file-name-internal-1):
Don't fire up the regexp engine to search for ?=.
* mouse.el (mouse-eval-sexp):
Check for newline with #'find.
* msw-font-menu.el (mswindows-reset-device-font-menus):
Split a string by newline with #'split-string-by-char.
* mule/japanese.el:
* mule/japanese.el ("Japanese"):
Use #'search rather than #'string-match; canoncase before
comparing; fix a bug I had introduced where I had been making case
insensitive comparisons where the case mattered.
* mule/korea-util.el (default-korean-keyboard):
Look for ?3 using #'find, not #'string-march.
* mule/korea-util.el (quail-hangul-switch-hanja):
Search for a fixed string using #'search.
* mule/mule-cmds.el (set-locale-for-language-environment):
#'position, #'substitute rather than #'string-match,
#'replace-in-string.
* newcomment.el (comment-make-extra-lines):
Use #'search rather than #'string-match for a simple string.
* package-get.el (package-get-remote-filename):
Use #'position when looking for ?@
* process.el (setenv):
* process.el (read-envvar-name):
Use #'position when looking for ?=.
* replace.el (map-query-replace-regexp):
Use #'split-string-by-char instead of using an inline
implementation of it.
* select.el (select-convert-from-cf-text):
* select.el (select-convert-from-cf-unicodetext):
Use #'position rather than #'string-match in these functions.
* setup-paths.el (paths-emacs-data-root-p):
Use #'search when looking for simple string.
* sound.el (load-sound-file):
Use #'split-string-by-char rather than an inline reimplementation
of same.
* startup.el (splash-screen-window-body):
* startup.el (splash-screen-tty-body):
Search for simple strings using #'search.
* version.el (emacs-version):
Ditto.
* x-font-menu.el (hack-font-truename):
Implement this more cheaply in terms of #'find,
#'split-string-by-char, #'equal, rather than #'string-match,
#'split-string, #'string-equal.
* x-font-menu.el (x-reset-device-font-menus-core):
Use #'split-string-by-char here.
* x-init.el (x-initialize-keyboard):
Search for a simple string using #'search.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 01 Apr 2015 14:28:20 +0100 |
parents | 7910031dd78a |
children |
line wrap: on
line source
/* XPM */ /* This file is part of XEmacs. XEmacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ static char *magick[] = { /* columns rows colors chars-per-pixel */ "388 145 19 1", " c #090909090b0b", ". c #2ef52ef52f89", "X c #131315154c4c", "o c #7e7e00000000", "O c #50e450e451e5", "+ c #6f5c6f5c705d", "@ c #232327278888", "# c #36363a3acccc", "$ c #48704e4ed384", "% c #68f76cfbddbc", "& c #99d200000000", "* c #af5000000000", "= c #d23a00000000", "- c #f5e900000000", "; c #912a912a922b", ": s None c None", "> c #8d5e9162eb8a", ", c #b3c7b7cbf93d", "< c #d6dbd706d9dc", /* pixels */ "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::<:::::::<::::::::::<:::::::::::::::::::::<:::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::<:::::::::::::::::::::<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::<<::::<<<<:::::::::::<<<<<<:::::::::<<::<:::::::::::::::::::::::::::::<:::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::<:<::::::::::<::::::::<::::::<:::::<::<:::::::::::::::::::<:::::::<::::<:<:::::::<:::::<:<<:::::::::<:::<:::::<:::::::::::::<:::::::::::::<::::::::<::::::<:::::<::<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::<<::<<<<<::::::::::<<<<:::<<<<<:::<<<<:::::<<<::::::::::<:::::::<:::::::<<:::::::::::<<<<<:::<<<::::::::::<<<<<<::<<<<<:::<<<<<::<<<<<::::::::::<<<<:::<<<<<::<<<<<:::<::<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::<:::<::<<<<<<::<:::<::<:::<::<::::<::<::::::::::::::::::::::<::::::<<<<::::<::::<<<<<::::::::::<<<<<<:<<:<:<::<::::::<::::<:<<<<<<::<<<<<:::<::<::<::::<::<::::<::<<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::<::::::::::<:::<::<::::<:<::::<::<<<::::::::::::::::::::<::<::<:::<::::<::::<<<:<<:::::<::::::::::<<:<:<::<::::<:<::::<:<<<<<<::::::::::<::<::<::::<::<::::<::<<<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::<<::<::::::::::::::<:::<::<<::<::<<::<<::<::<:::::::::::::::::::<::<::<::<<::::<::::::::::::<:::<:::::::::<<:<:<::<<:<:::<<::<<:::::::::::::::::<::<:::<::<<::<<::<:::<:<<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::<::<::<<<<<::::::::<:::<::::<::<:::<::<::<<::::::::::::::::::::<:::::::<::::<::<::<::::::<::<:<:<:<:::::::<:<:::<<::<:<::::<:<::<::<:<::::::::::<::::::::<:<::::<::::::<:<:<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::<::::::::::::::<:::<:::::::::<:<::::::::::<::::::::::::::::::::::::::::::::::::::::::::::<::<:::::::::::::::::::::::::::::::::::::<::::::::::::::::<::::::::::<:::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::::::<::::::::::<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::<::::::::::::::<:::::::::::<::::::<::::::::::::<::<:::::::::::::::::::::::::::::::::::<:::<:::::::::::::::::::::::::::::::::::::<:::::::::::::::::<:::::::::<::<:::::::::::::<::::<::::::::::::::::::::::::::::::::::::<::::::::::::::::::<:::::::::::::::::::::<:::::::::::::::<:::::::::::<::<:::::::::::::<::::<:::::::::::::::::::::::::::::::::::<::::::::::::::::::::::", "::::::::::::::::::::::::::<::::::::::::<:<::::::::::::<::::::::::<::<::::::::::::<::::::::::::::::::::::::::::<:::::::::::::::::::<::::::::::<::::::::::<::<:::::::::::<:::::::::::::::<:::::::::<::::<::::::::::<:::::::::::::::::::::::::::::::<::::::::::::<::::::::::::::<::::::::::::<:::::::::::::<::::::::::::::<:::::::::<::::<::::::::::<::::::::::::::::::::::::::::<:::::::::::::::::::::", "::::::::::::::::::::::<:<:::<::::::::::::::::::::::::::::::::::::::::<:<::<:::::::::::::::::::::::::::::::::::::::<:::::<:<:<:::::<::<::::::::::::::<::::<:::::::::::::::::::::::::::::::::::::::::<:<::::<::::::::::::::::::::::::::::::::::::::::<:::::<:<::::::<::<::::::::::::::<:<:<:::<::::::::::::::::::::::::::::::::::::::<:<::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::<:::::<::<::::::::<:::::::::::::::::<::::<::::::::::::::::<::::::::::::::::::::::::::::::::<:::::::::<:<:::<:::::::<:<:<:::::<::<::<::<::<::::::::<:::::::::::::::::<::::::::<:<:::::::::::::::::::::::::::::::::<:::::::::::<:::::<:::<::<::::::::<:<:<::::::::<:::::<::<::::::::<:::::::::::::::::<::::::::<:<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::<::<:<:<::<::::::::::::::::::::::<::::<::::<::<;;<<::<::::<:::<::::<:::::::::::<<:::::::<::::::<::::<<::::<<:::<::::::::::::::::<::<::<:::<:<::::<:::::::::::::::<::<::<:::::::<::<::<:<::<:<::::::::::::::::::::::::::<:::::::::<::::::::::::<:::::::::::::::::<::<:<::::<::::::<:::::::::::::::<::<::<:::::::<::<::<:<::<:<::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::<::<::::<::::<::::::::::::<::::::::::<::<::::<:<::::<::::::::::::<:::::::::::<<:::<:::::<::::<:<::;:::::::<::<:::::::<:<::<::::<:<:<:<::::::::::::::::::::<::::::::::<::<::::<::<::::::::::::::::::::::::::::::::<:::::<::<::::<:::<:<:::<:<:<::::::<:<:<::<::::<::<:<::<:::::::::::::::::<:&&:::::::<::<::::<::<:::::::::::::::::::::::::::::<:::<:::::::::::::::::::::::", ":::::::::::::::::::::<:<::::::<:<::::::::<::<:::<::::::<::::::::::::::<<:::<<:<:<:<<<<<<<::::<<<::::<<:<::<<<<:::::<::::::::<:<::<<:::<:<:::::::<::::<::<::::::<:<:<:::::<::<:::<::::::<::::::::::::::::<::<::<:::<:::<::::::::::::::::::::::<:::::<::<::::<:::::<:::::<::::::::<:::<::<:<:::::<::<::::::<::<:::<:::&&*&&:::::::::::::::<::<::<:::<:::<:::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::<::<<:<:::<<:::::::<:::::::::<:::<:::::::<<:<::::<::::<<:::::;:;::<:<::<;::::<<;:::<<::<:::::<:::<:::::::::::::::::::::<:::<:<::::<:<:<:::<::::::::<:::::::::<:::<::::::::::<:<:<:::<:::<:::<::::::::::::::::::::::::::::::::::::<:::::::::::<::<::::::<:::::<::<::<:<<:::<:::::::&&&&&::::::&&-=&::::::::::<:<:<:::<:::<:::<::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::<::::::::::::<:::::::::<:<::<:::<:::<:<::<:<::::::::::::<:<:<;;;::<;:::::::<:::::<:::::::::;:<::<:::<:<:::::<:<:::<:<::<:<:::::<::::<:<:::::<::::::::::<:<::<:::<:::<:<::<:<:::::::::::<<:::<:::<:::<:::<:::::::::::::::::::::::<::<::<:::<:<:<:<:::::::<::::::<<::::::::&:::<:::::::::&*---&:::<:::*--&:<:<:::::::::::<<:::<:::<:::<:::<::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::<:<::::::::<:::::::::<:<::::::::::<:::<::<:<::<::;::::::::::::::::::::::<:<::::::::::<:::<::::::::::::::::::::::::::::::::::::::<:<:::::::::<::::::::<::::::<:::::<:::<:<:::<:::<:::::::<::::::::::::::::<:::::::::::<:::<:::::<::<::::<::::::::::<&&&&&&&&:::::<:<:::=---&&<:::::=--&::::::<:::::<:::<:<:::<:::<:::::::<::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::<:::::::::::<:::::::::::::::::::::<<:<<:::<::<:::<:::::;:<:;:::::::;<::<:<::::::::::<:::::<::::<:::::<:<<:::<::<:<:<::::::<::::<:<::::::::::<::::::::::::::::::::<:<::<::<:::<::::::::::<::::<:<::::<::::::::::::::::::::<::<::<:<:::<:::::::::<::<:::::::<:&&--=&&--=&::::<::::=----&::::::&-=&:<:<::<::<:::<::::::::::<::::<:<::::<::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::<:::::::::::::::::::::::::::::::::::<::<::::;<:::;;;;<::;;;<;:;;::<:;<;<;;<:::<;;<:::<;;<;<<::::<:::::<::::::<<::<::::<:<:<<<<<<<<<<<<<:::::::::::::::::::::::::::::<::<<::::::<::<<::<:::<::<:<::::<:::::::::::<:<::::::<::::::::::::<::<:<<<:<:<:::<:<:<:<<::&=--&&&&&--=&:::::::&=----*&:::::&-=&<::<<::::::<::<<::<:::<::<:<::::<::::::::::::<:::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::<:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<:<<<:::<<,,,,,,,,,,,,,,,,,,,<:<::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,>>>>>>>>>>,:::::::<::::::::::<:<::<::::::<:::::::<:::::<:<:::::::::<:<:::<:<:<:::::::::<:::<::<:<:<:<:<:::<:<::::<:<::<&&&:<::<::<&==&&::::&o--&::<::::&=-----&&::<:&==&:<:::::::<:::::<:<:::::::::<:<:::<:<:<:::::::::<:::::::::::::::::::::::::::", "::::::::::::::::::::::::<::::::::,###$##########################%:::<:::<%###################%:<:<:::,######################################################:<:<::::<<:::::::::::::<:::::::<:::<:::<:<:::::<:<:::::::<<<::<::::<:<::::<::<::::::::::::::<:::<&&<::<:<:::&&&<:<::::&&-&&::<:<<&&=&&::<<:&&=------&::<:&*-&::<:::<:::<:<:::::<:<:::::::<<<:::<:::<:<::::<:::::::::::::::::::::::::::::", "::::::::::::::::::::::::::<:<:<::<##############################@O:<::::<%###################@O::::::<#####################################################@ <:::<<:::::<::<:<::<::<:<<:<::::::::::<::<::<:::::<:<::::::<::<:<:::::::::::::<<::<:<:<<::&&&&*=*&&&::<:<::&*&<::<<<:&=-&::<::<:<&&-&&:::::&=---=&=&&::<&=-&::::::::::<::<::<:::::<:<::::::<::::<:::::::::::::<::::::::::::::::::::::::", ":::::::::::::::::::::::::::<:::<::%@#########################@@@XO::<:<::,#@################@XO<:<<:::%@###################################################XO<:<:<:::::<:::::::<:<:<:<:::::::<::<<::::<::::<<:::::::<:<::<:::::<:<<:::::<:::<<::::::<:&&=------==&:<:<:<:&&&<:::<:&=-&&::<:<:<:&=-&::::<&----&&--&<:::--=&:::<::<<::::<::::<<:::::::<:<:<<:<:::<:<<:::::::::<:::::::::::::::::::::::", "::::::::::::::::::::::::::::<::<:::O.XX###################@X .OO;<::<:<::;OOO$##########@@ .;:<:::<::OO. @$##################X XX@@################X+<<<<:<:<:<:<<:<:<::<::::::<::<:::::::<:<:::::::<<<:<:<:::<<:::<<<:::::::<:&&&<:::<::::::&&--***&&&=-=&:::<::&*&<::<<&*--&:::::<:<:<--&<:<:<:---*&:--*::::=--&<:::::::<:<:::::::<<<:<:<:::<::::<:<:::::::::<::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::<::::<::+$################X O:<<:<<<<<<<<<::::<>#########X .+<<<<<<:<:<:::::<>################@ X+:<<<<<:;;O.X@############# ;<<<<<<<:<:<::<::<<<:::<:<::::::::::<::<::<<<::::::::::::::::<::::<<:<::::&&&&&&&::<:::<:&*-*&<<:::&--&:<:<<<*-&::::::---o<:<:::::::==&:<:<:<*--&<<&==&<<:&--&::::::<::<::<<<:::::::::::::<:<:::<:<<:<::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::<:<<%###############XO::<<:<::::<<<<<:::<>######## +:::::::<<<<<:<::<<<%############### .::<:::::::::<<+O@##########@ :::::<<<<<:<:<:<:<:<<<:<::<:<::::<::::<:<<::::::::<:::<::<&&:<:<:<&*&&&&&===----*&::<:::<*-&&<:::<:&---&<:::<=-&<:<:::=--&::::<:<:::&&::::<:<o--&<:<&=&::&&--&&:<:::::<:<<::::::::<:::<::<::<:<:::::<:::<:::::::::::::::::::::::::::::::", ":::::::::::::::::::<:::::<:::::::::::::<<,$############## O;;;;;;;;;;;::<<<::,%######@ ;;;;;;;;;;:::<<:<::<,%##############@ ;;;;;;;;;;;;;;;;;;O$########@ ;+;;;;:<<<::<:::<:<:<:<:<:::::<<::<::::<:<<:<<:<:::::&&&&&&*&&<:<:&--=&&*=&&&*=--&:::::::--&<::<:::<&==&:<<:<&-&:<::::&-&&::<:::::<&&&::<:::&&&-&&::&=&&<:&--*&::<:<:::<:<<:<<:<:::::<:::::::::<<<:::<:::::<::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::<::::::::<:<<:>##############XOOOOO++++++;;:<<<:,,######@ .OOO++O+O++++;::<<::<<,%##############XXOO+OO+++++++++++++++$#######X.OOOO++::<:::::::<:<::::::<<<:<::<<<:<::::::::<:::&&*&&==----=&::::&--*&&:::<&&&=-=&::::::*-&:<:<<:<::<:<::<:&&-&&<:<:&&-&::::<:<::::&&:::::::&&-*&<::&=&&<&=--&:<<<::::::::::<:::<<:::<::<:<:<::::::::<::<::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::<::::::::<<;>##############X.......OO+++;::<<<,$#####@ .........OOO++OO:<::<<,############### ..........OO+OOOOOOOO%$###### .....+;:<<::::<:::<:<<<<<::<:<:<::<:<<::<:&&&<:<&&----==-=*&&&<::::*-&;::<:::::&--&:::::&&-&<<::::<:::<:<:<:<&-=&<:<::&-*&::::::<:<<&*&::<:::&---&:<:&--&:<---&<:<:<<<::<::<:<:<<::<:::::<::<:::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::<<<:;%#############@ . ..OO++;;:<<<,%#####@ X.. . . ...OO++O:<:::::<,##############@ . ..O.O+++++++OOOO%###### ..O+OO+<<:<:<::<:<:++O+O::<:<<<<:OO<:O&&=&::<&---&&&&&:<&<::::::&-&:::::::::&--&:::::&*-&&:::<::<::::::<:<&--*&:::<&--&::<:::::::&-&::::<:<=--&:<:<&-&::*--&:<<:<:<<::::<:::<:<::::::::<:<:::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::<::<<<:>############## ...O+;;::<<<,>#####@ .OO. ..O++++;:<<:::<>##############X X..OO;+++;;;+O++O>$####@ .O;:;<:<:::<:::::::<:::&&&::<<:<<O:<;&=-&:<:*--&:&<<:::<:::::::&-&::::<::::&--&<::<::&-=&<<:<:::<<::::<:<&---&<<::&--&<:::<:<::::*&&<:<:::*-=&::<:&=-&&&--&<:<:<<:<:<<:::<::<<::::<::::<::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::<::<:<<<,############## .O+;:::<<<<>#####@ .O+.. ...+;;;+::::<:+,%##############X ..O++:++;::O++OO;;%####X ..+;:;<::<:::::;<<:::::&*=&&;;+<:<<+O&&-&::::&--&:+:;<:<+::+<::+&-*;::+;:;+<&--&:::<;;&--=&&&::;<:<++;:+::&=--&:<<<:&*&:::<:::::::&&&:::<<&*-&&<<::&&-&&&--&<<<<:<:<<:<<::::::::::::::::::::::::::<::::::<:::::::::::::::::::::::::::", "::::::::::::::::::::::::<::::::::::::<:<<:<<%#############X ..+;:<<<<<,,$####@ O;<;+.. ..O.::<<;<<<::::,$############## .;;;O:<<<<+;;;O;:>#### ..+;:;:<<:<:;++;:<<:::<&&-*&:;+::<<+;:&-&+++O&--*::::::::::::::<&-=&:<+:::+:&--&++::::<&--=--==&&&&:<:<:;:&&--&:::::&*&<::<:::::::&&&<:<::&&-&:<:<<:&=&&&--*:<:<<<<:<:<<:::<<:::<::::::::::::::<::::::<:::<::::::::::::::::::::::::::", "::::::::::::::::::::<:::::::::::<:<:<::<:<:<>#############@ .O+;<<<::,,$##### O<;:;O. . ..O++:<<<:<::<<::,##############@ ..+;:+:+<<<:+::;;<<>#### X ..+:<;<:<::::<<;::<:<::<&--&:::<<:;::&*-&::::&--=&::::::::::::::&--&::+::::&&-*&:::::::&&&&=---===*&<:<:;<&&--&:<:<<&=&<:<:<::<<:<&=&<:<<<:&-*<::<:<:&-=---=&<::::<::::::<:::::<:::::::::::::::::<:::<:::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::<:<::::::<:<:<:<:,############## .O+:<<:<,,$####@ .<<;+;O. ...+;::<<<:;:<::<<,>##############X .O+:<:<<+:<:O::<<:<,###@&&& .O+:<:<:<;:;::<+<:<:::::&&-=::<::::<:&-=&:::<&=-=&:::::<:::;::<+&*-&<:+:<&&=-=&:::::::<:<:&&&*&=&*--&&:;<<<&--=&:<::&-*&::::<<:::<&-=:<::<:&-=&:<:<::&-----=&::::::<<:<::::::::::::::::::::<::<:::<<::<::<:::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::<:<:<<:<:<:::<<<$#############X .O+:<::<,$##### <<<:+... .O+OO+::<;OOO;:<:+,%############## .O;:+;<:O+<:<;O;::<,##&&&=* .O;;OOOO+::<OO:;;:<:OOO<<&-=&+:::++::&==&:<::&*-=&;<:+::<+O::<:<&&-&&&*=&&=-&&:::::<+;:+<:;:;OO&&&&--&&<:<&=--=&<:<:&--&::<::<<<:<&-=&<<<::&=-&&<:<:<&&----&:<:<:::::::::<:<:<<:::::::::::::::::<:<:<::::::<:::::::::::::::::::::::::", "::::::::::::::::::::::::::::::<:::<:::<<:<::<%#############@ ..+;:<<,$####@ X::<<:+O...O+;:<<::<<<:<:<::<,$#############@ ..+;::&&&<<&&&&:<<::,##&----&...O;:<<:<:<<:<:<:<::<:::<:&&-*&<::<:<:&*=&::<:&=--&:::::::::::::::&--=----==-=&:::::::::::<<<::::<<:&--&&:&&&--&<::<:&--=&::<:::<:&&-&&::<<<&*-=&:<:<::&*---&<:<::::<::::<::::::<::::::::::::<:::::<::<:<:::::::::::::::::::::::::::::", "::::::::::::::::::::::<:::::::<:<:<<:<::<:<:<,############## .O;:<,%##### X<:<::;O...O+;:<<:<:<:<<:<:<:<,##############@ ..+;&&*--==*==*<:<:<>##&=&*-*&..+::<<<<<::<:<:<:<<:<::<<:&*=&:<:::::&*=&:<::&---&&&&&&&&&&:<:<::&--**---&&&--&&::::::::<::<:<<::<:&---=&&:&==&:<<:<&&*-*&:<:<:<<&*=&<<<:::&&--&::<:<::&&&&&:<:<<:::::::<:<<:<::<::::::::<<:<::<:<:<:<:::<:::::::::::::::::::::::::::", ":::::::::::::::::::<::::<<::::::::<:<:<<:::::<$#############X .O;,,%##### <<<<:;+O..O+;::<<<:::<:<<:<<:,>##############X .O&*=-------=-*&:<<<<%&&=&&*=&.O+::<<:<<:<::<:<:<:<<<::<:<&-&<:<<::<&-=&:<<:*----&&*-----*<<:<::&-=&&:&&&<&&--&:<<:<::::&<<<:<:<:<&*--=&::&*=&<<:<<<&&--*&::<::&&-*&<<<<<<<*--&<<<:<<:&<:<::<::<<:::<<<:<:<::<::::::::::::<:<::::<:<::<:::::::::::::::::::::::::::::", ":::::::::::::::::<:::::::::<::<::::<:<:::<<<:<%#############@ .O:,%##### X<<<<:;+O..O+;:<<<:<<<<:<<<:<::,%##########&&&&&&& &&&---===*&&&&&&<<<:<<&*=&&&=&.O;:<<<<:<:<<<:<::<::<:<:<:<*-*&:::<<<*-=<<:::&---------**&&<<<<<:&-=&<<:<::::&*=&::::::&&&&::<<::<<&=--&&<:&==&:<<<:<<&---&<<:<<&-=&<:<::::<&*&&:::<::<<<<<<<<:::::<::::<:<:<::<::<::<::::<<<<:<::::<<::<<<::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::<::<:::::<>############## >,%####@ <<<::;+O..O+;:<:::::::<::<<:<:<,#####&&&&*&&&=---*& &&&&&&&&&&&,$##;::<<:<<:&*-&&*-*&+;<<<:<:<:::<:<<<<<,<<:::<:&--*<<,,>>o-&::<<<&-----=&&&&&,,>>>><<&**&<:<:::::&==&::<::&&-=&<:<:<<,,&*-*&<<<&=-&:<<<<<<&&--*&&&&&--&&<<:<<<::<&<<<<<<<,,,>>>>>,<<<:::<:::<:<<:<:<<::<::<,,,,>>>>,<<<::::<,>>,:::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::<<:::<<:<<##############X ;,%##### X<<<<:;+O..O+;:<<::::<:::<::<:<:<>####&&====&&=*=-*&& .O+:<<<:&&>### :::::::::=-&:&--*+;<:<:<<<<<<<<,,,>>%$><::::&&-*&>%###&=&%<<:<&*----o&<,,%$######%&==&<:<:<<<:&*-&<<:<::*--&::<,,>%##=-*#$>::*-*,,>>>>>>&&--=&*=--&&::<<<::::<:<:<<,,>%$#######$>,::::<:::<:<<<::<:<<<,,%$#######$>,<<:<,>###:::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::<:<:::::<<$#############@.,%##### <<<::;+OO.O+;:<<<::::::<&&&&&&&<,%####&*-&&##&&&& .O;:<<<:<&$##@ ::::::::&-=<:;&-=&:,,,,,,>>>>%%$######X+<::::&=&&####&&=&#$:<<&*---=&,,%##########&*-&::<<:::<:=-&&::<::&--=<,,>$###o--&###$<&-=#########&&*&&**&&<::::<<<:<:::<,,>%##############%<:<:<<:<:<:<<<::<,,%############$%>,,>$##@ ::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::<:<<:<:<>##############,>##### X<<<<:;+O..O+;:<<<<<:&&&&&&*-**-=&&$#####=-&####&# ..O;:<<<<&&###@.::::::::&-*<<:&--&>%$#####$########### :<<:<,&*=&&###&*=&###<<&&----&>$############=-*<::<:<:<:=--&:<::<:*--&>$####&=-&&####O&=&&#########X+:&&&<:::<::::<<<<<<,>$#################$<<:::<:<<:<:<:<,>$######################@O::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::<:<::,##############>##### <<<<:;+O..O+;:<<::<;O=-&:&&&&&&*--*&#####---&####@ ..+;<<<<,&&###X+<:<<+O::&=&&<:&=-&&##################X.<<<<<,&&-=&####==&##$@<<&----&##############*-*O:<:<:<:<&--*::<::<&--=&&##&&&-&&####$#&&&########## :::<:O;::::::::::<,,%#######@X O$#######$<<<<:<:<<<<<<,>########@X X##########XO::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::<::<<:<<%##################X :<<<:;+OO.O++;:<<:::;:--&:::<;:<&=--&#####&--&####X .O;:<<<,&&&&## ::<<<<<;&&-&&<::&==&################## +<:<,,$#&--*####-=####@+<&---=&##############&-*&<:<<;O.+&=-&<::<:<&&=--==**==*& ####%>##########@ <<:<<:;::::::::<<,>$#######X .;:<>########@<:<<:<<:<:<,>$#######X O;<:<;$########X;<:<<:<::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::<::<:<<%#################X O:<<:;+OO.O+;::<<::::;<*&&:::+::::&=-&#####&--&&### ..;:<:,,&*=&#@ ;<<::::+&*-&:<<:&=-&OXX############### :<;,,$###=-*###&-*#####.:&---&###############&&*&:<<<<:;:&&-*&:::<,>&&&*---=*& O::;%##%%##########X.::<<<<;:<:<<:::<,>########X O:<<,%#########.:<<<:<;:<<,$#######@ ;<<<<:;:%####### ;<<<::<<:<:<:::::::::::::", "::::::::::::::::::::::::::::::<:<::<:::::::::<::,################X .;:::;+O.OO+;;:<<<<:::::&&&<<:;::::+&=&&###&&--&&### .O;:,,>$&==&#X.;O:;;+;+<--&<:<<<---&OO+>############@ ::,,$####&==&&&&-&##### ;&---&&###############&=&&::<<<;<:&==&&:;,>###&&&*&&& O;::;;$#$########### O+O::::;<<<:<O;,,%########X O;+O,,$#########XO+::++;;;,>######## .;<<:;+O++$###### :<:+;;;<<<<<<<<:::<::::::", "::::::::::::::::::::::::::::::::::<:<<::<::::::<<$##############X .O+;;;+OO.O+;::<<<<<:<:::&&&:<:;<<<:<&==&####&=-=&##@ .OO;:,,>$###--&#X+<<+;++;+<--*::::<&--*;<<,############X.;,,$###@ X&=-**--&##### O&=--*&@ $&&&&&&####&&-&+;;::<;:<:&&&++,>#########@ ++.;+++>############@ ;++;;;;+<<<<;<<,%########@ O;;;.,%##########@..::;<<<:,$######## :;;;;++OOO>#####@ ;:;++;::<:<::::::<:::::::", ":::::::::::::::::::::::::<::::::<::<::<:<:<:::::<>#############@ OO+++O..O++::<<<<::::<::&*=&&<;<:<;<&=-&####&---&##>,&,,,>>>%%######=-&# :<:++OO++&--&<:<::&*-&;::,############ O>,$###X O&&-----=&####@ >&*---&&&&&&----&&####=&&.O+;:<;<:;&:;<,>##########X +++O+O.O>############X OOOOO+;+:<<<:<,%######### OO++++,###########@ .+;+:<<:>######### :++OOO..OO;$####@ +++OO+;;<<<:<::::<:<:::::", ":::::::::::::::::::::::::::::::::::<:::<:::<::<::>############## ..OOOOOO+;;:<<<<<<<:::;:&---&<;<<<<,*--&#####*--&##&&*&&o&##########&=&@ <:OOOO++&&-&&:<&&&&=-&&<<,###########@ O,%##@ O:<&=-----&####@O,$&---=&*-------=&####&&&..O+;:;<:;:<;,>##########@ .;++O..X+>############ ... ..O++:<<<,,%######### :.+;++>###########@ .O++:<<,>######### ;OO.....OO+%####@ OOO.OO;;<::::::::<:::::::", "::::::::::::::::::::::::::<:::::::::<::<:<<::::<:,$#############X ......OO;::<:<::<:::::;::---&<;<:<:&--&&#####&*--=&&&=---&##########&&#X.O.+OO....&-&&&&=------&&>>###########X ,>### O.::&-----=&####@,>##=-------**&&&&&#####X .O..OOOO<:,,$########## O+.. .. ;>############ .. ...O<<,%#########@ ;:;..XO>###########@ ....O::>%#########X.. .X.....+>####X ... .O+;<:::<::<:::<:::::", ":::::::::::::::::::::::::::<:::::::::<:<::<<<:::<<%#############@ ...OO+::<<<<<<<<<:::;;<*--&<:+<<,&-*&#######&=----&&*=&&##########&&& ;;;OO.O+;&&-=&&&--=**&--&<%########### >,### O;:<&=-----&#####>>##@&-*&&&&&&&########## ..O;:<<<<<,$##########X ;+O... X.>%###########X .O+:<::,>########## .;++O...>########### ..O+:<,%##########... .O+;::,$###X... ..O;:<::::::::::::::::", ":::::::::::::::::::::::::::::::::<:::::::<:::<::::>############## ...O;;:<<:<::<:<:::::;&&--&&&&&&&=-&&#######&=-=&&&XXX@@##########&*& ;;O...O+:&--=&&&&&&&&&--*&%##########@O,$## .O;::&----=&######,$##X .+&&:;,############ .O+:<::<,%##########@ OOO. ...,%###########X .O+:<<,,##########@ ;+O...X.+##########@ .+;:<%##########@ ..+;::<<%### .. .O;:<::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::<:<:<::<:::,$#############X ..O+;:<<<:<<<<::::<<<:<&--=&*------&&######&&-*& & XXX#######&=&X+O....O+:&--&&&::<:<:<=--&###########@,>##X X.+;::&=---&######%%##X .O;::,%###########@ .O+::<<,>########### .O... ..O,$########### ..O;:<<,$########## .+O.. ..O%######### ..O;:,%##########$ .O+:<<<<>### +O. ..O;:<::::::::::::::::", "::::::::::::::::::::::::::::::<:::::<::::<::<:::::,%#############@ ..+;:<<<<<::::<::::<<<<:&-----=**&*-*&#####&=--& .O+;+$#####&=&.O..X..O;:&=-&<:<::::::&--&###########,>##@ .O+;::,&&*-&&#####>##@ .O;;:,$###########X ..+::<<,$##########@ O.. ..O;,###########@ O+;<<,%##########@ OO.. . .O+;$#######X .O+:<$############ .O;:<<:::##@ +O.. .+;<<::::::::::::::::", ":::::::::::::::::::::::::::::::::<:::::::::<<:<:<<,$############## .O+:<<:::::::::::<<:<:<<&--*&&&<&&&&-=&####&=--& .O+;;;%#####*=&. X.O;:&--&:::<:<:<&&=-&&#########$,### .O;;:,>#&&&&&####$$## ..+;;>,############ .O+;<<,%###########X .. ..O+,>###########X .O;:<,,###########X O.. ..+;:<O@@@@X .O+:<>############. .O;:<<<<:< .;+...O+:<<::::::::::::::::", ":::::::::::::::::<:::::<::::::::::<:<<:<:::::<::<,%###############X .O;:<<::<::<<::<<<<::<<:&=-&:::,%##&=-*&###&*--=& ..O+++>#####&-& ..+;&&--&<:::<:::::&-=&#########%%##X .O+;:;,%####&#####$##@ .O++:>############ ..+:<,>###########@ .. .O+;:%########### .O;:<,$########### ..X ..O;:<::<O..X .O;:<,#############..O+:<:::::<<<:+O..O+:<<::::::::::::::::", "::::::::::::::::::::::::::::::::::::::<:<::::::,,%################X .O+:<<:::<<:<<:::<<::<<<&*-&:::,$##&*--&####&---& ...OOOO+%####&-& .O+&&&--*&:<::<:<::&=*&#########>##@ .O+;;;,#############@ ..O++,$###########X .O;:<,$###########X . ..+;:,%##########@ .+;:,>###########X .. .O+;:<<<<<:;O. .O;:<,##############..+;<<:<::<:<:;O..O;:<<::::::::::::::::", "::::::::::::::::::::::::::<::::<:::::::<:<::::<,%################## ..+;<<:<::<<:<<<::<:::<:&*-&<:<,###&&*-&####&*-& ..OOOOO+%###&*-*& .O;&&=--=&<<:::<::<<&&&########$$## .O+;+>>#############X ..OO;,############X .O;:,>###########@ X .O+::,###########X .O+:<,$###########X . .O;:<<<:<<:;O.. ..+;:<<%##############.O;:<::<::<<<;+OOO;:<:::::::::::::::::", ":::::::::::::::::::::::::::<::::::::<:<::<:::<,%################### .O;<<<<::<::<<<:<<:::<<:&-&:<<%####&=-&####&&** .O;;;+;>###&--=& . .;&&---=&<:<<:<:::,%##########$##X .O+++,%############@ ...O,%###########@ .+;:,$###########X ..+;:,>########### .O;:,>############ . .O+;<<<:<<<:;+O. ..O+;<<:,##############$O+;<<::::::<:;+O+;<<<::::::::::::::::", ":::::::::::::::::::::::<::::::::::::::::<<:<<,>#####O$#############@ .O+:<<:<:+<<<<<<::<::::&=-*:;,%####&--&#####&==& & .O&&&::;,>###&=-=& .OO;:&*==&<:<::::<:<,$############# ..O++;,$############X X..+,$###########@ ..+;,>############ .O;:<,%########### .O;:,%###########X .O;:<<<<::<<:;OO.....O+;:<<<<%##############$O;:<<<<:<<<:;++;:<::::::::::::::::::", "::::::::::::::::::::<::::::::::<:::::::::::<,>#####X.%#############@ .O+:<<:<:+<:<<<;;<:::::&--=<+,#####&-=&#####&-=&&&*&&&*=&&;;<>###&&=*& .OO:<<&&:::::<;:;:;<>#############@ .O++>>############@ ...;>############ .O+:,$###########@ ..+;:<,$##########X .O+;<,############X ..+;:<::<::<<:;;OOOOOO+;:<<:::,$##############.+;:<:<:::<<:;;::<<:::::::::::::::::", ":::::::::::::::::::::::::::::<::::::<:<:<:<,>#####X :,############## .O;:<:::::<<:;;:;:<:;<&---&>>#####&-=&####&&--=&&*=---*&&;+<>### &&.. ..OO:<<<<<<<:<<++;+;,%############# . .O+,%############X ..O,%############ .O;,,############ .O;:<<>###########X .O;:,>############ .O+:<<<::<:<<<<:;++++;;:<<::::<>##############$.+:<<:<:::<<::<<<::::::::::::::::::", ":::::::::::::::::::::<:<:<::::::<::::::<::,>#####X ;:,$#############X .O+:<<:;:::<<+O++::<;<&*--=&&####&&=&&####&&--=&&&&**&&&&<:<>### ;OO....+O<<:<;OOOO+::;:;:,%############X . O+,$###########@ X.+,$###########X ..+;,%############ ..+;<<,%########### .O;:,%###########@ ..+;:<<:<:<::<<<<::::;::<<<::::::$###############O+:<<<:<:<<<<<<:::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::<:<,,$####X ;:<<%############## ..+;<<:;:<::;:<<;<:<;<&&---=&&&&&=-o&######&&-& &...;:<<<:;<%##X :O+...O++<<::<<<:<:<;::;<,#############X ...O;>############X ..>>############X .O+:,$###########X .O+:<<,$##########@ ..+;<,############@ ..+:<<<<::<:<::<<<<:<<<<<<<:<<:<:<$##############.+;:<:<::::<:<::::::::::::::::::::", ":::::::::::::::::::::::<:<:<:::::::<::::<,$####@ +:<<:>############## .O;:<<<;:<:+::<+:<<+<<*-----------&######@ .OO;<<<:<;:>$#X+<++O..O;+<,<::<<<<<<;;::<>############@ ..O+,>############ .O,%###########@ .O+,>############ ..O;:<<>###########X .O+;<>############X .O+:<::<:<::<::<:::<<<<<<<<<:<:<::,$##############.+;:<:<::::::::::::::::::::::::::", "::::::::::::::::::::::::::::<:::::::::<,,$####@ O<<<<;>$#############X .O+:<<<+:::<OO;;;<<<OO=-----=&*&&&#######X ...+<:;OOOO+O .....OO..O,>$%<:::<<:O+:O,%############X O+,$###########XX .O+,$###########@ .+;,>############ .O+:<<,%########### .O+:,>############ .O;<<<::<::<:<<<:::<<:<:<:<<:<::::<>##############@O+;:<<::::::::::::::::::::::::::", "::::::::::::::::::::::::::::<:<::<::<:<,$####@ O<<<:;++%#############@ .O+;<<<::<::<:<::::<:<&*&&&&&&&########## .O;:<<::::::<::<<:;OOO+:<,$##O<:::::<<<:,$############ ..O:,############ .O>>############ .O+;,$###########@ .+;:<<,###########@ ..+;<,%############ .O+:<<<<::<:::::<:<::::::<:<<::<:<:<<%##############XO+:<<:<::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::<:::::<,%##### O:<<<;;OO>############## .+;:<<<:<:::::<<::<:<:<&,$############## ..+;:<<<:<:<:::<<<:;OO+;:,%##@ <:::<:<:<<,############X .O+,>###########@ ..+,%############ .O;:,############X ..+;<<,>###########X .O+;<,%############ .O;:<:<<<::::<<:<:<:::::::::<<<<::::<<%#############X.O;:<<:::::::::::::::::::::::::", ":::::::::::::::::::::::::::::<:::<::<,%####@ .:<<:;;OO.+$#############X .O;:<<<<<<:<<:::::::<::<>##############@ .O+:<<:<::::::::<<:;+O+;,>###X.<:<<<:<:<<%############ .O;,$###########X ..O;,$###########X ..+;,>############ .O;:<<,$########### .O;:<,############@ .O;:<:<::<::::<<<::::::::<::<:<<<<::<<<$############# O+;<<<::::::::::::::::::::::::", ":::::::::::::::::::::::::<:::<:<:::,,%##### X<:<<:++O.OO>#############@ .O;:<<<:<:<:<:<:<:<:<<<<>##############X .O;:<<:::<<:::<:<<:;+++,,$###X;<<:<<:<<<,%############ .O+:,###########@ X..+:,############ O+:<>###########@ ..+;<<,%############ .O;:<,############@ ..+;:<:<<<:<::::::::::<:::,>,::<:<<:<:<<,$############ .O+:<<::::::::::::::::::::::::", "::::::::::::::::::::::::::::<::::<<,%##### <<<<:;+O.OO+,############## .O+:<<<<<:<::<:<:<<<::<,$############## .+;<<<::<:<::<<<<<::;+,,$###@ ::<<<<<<<<,############X .O;,>###########@ X.O;,>############ O .O;:,%###########@ .O+;<<,$###########@ ..+::<,############@ .O+:<<::<::<<,<::::<:<:::<,##%<::<<:<::<<>############X..O;:<<:::::::::::::::::::::::", "::::::::::::::::::::::::::::::<::<,%#####XX<<<<:;+O.OO+;,##############X .O;:<::<<<<::<:<::<<<<,##############@ ..+:<<::<<:::<:::<<<:::,%####@X<:<<<::<<<>############ ..+;,%########### X..+;,%###########X .,>++;:,%###########X .O+:<,>############X OOO;:<<,############@ .O;::<<::<<<,>#>:::::<<:::>###O<::<<<<:<<<%###########@ ..+;<<:::::::::::::::::::::::", ":::::::::::::::::::::::::::::::<<,>#####X ;<<<:;+O..O+;:,%#############X .O+:<<::<:<:<<<<:<:<<<>##############@ .O+:<<::::<::<<:<<<<<,,%##### +<<<::::<<,%###########@ .O+:,############ X.O+:,$########### ,>##O:<,%###########X .+;:<,$############ X,>>;<<:,############@ .O;:<<:::<:,,$##$:::<::::<>### <::::<:::<<,$##########@ .O+:<<::::::::::::::::::::::", "::::::::::::::::::::::::::::::::,>#####X ;<<<:;+O.OO+;:<<>############## ..+;:<<<:::<:<<<<::<:<%##############X .O;:<<::<<<::<<:<:<<<,%###### :<<:;;;;:<,$###########X ..+;,>###########X X.+;,,############ +,$##X+<<%###########X ..+;,,%##$########## >,##$<::<$############ .O;:<:<:::<,$###XO::<::::<%###X<<<<::<<<:<<>##########@ ..+;:<::::::::::::::::::::::", "::::::::::::::::::::::::::::::<,>#####X :<<<:;+OO.O+;:<:<,############## .O;:<<:<:<:<<<<<<:<<,$############## ..+;<<<<<<:<::::<:::,,%######@ <<::;++;:<,############ .O+;,%########### ..+;,>###########@ .,%##@ ;<<%###########X .O+:,>##%##########@ +,$##XO<<<%############ .+;::<<::<,%###@ +:::<:::,%###@;<:<<<::<<<<,$#########@ .O;:<::::::::::::::::::::::", ":::::::::::::::::::::::::::::<,>#####@ +<<<:;+O..O+;:<<::<$#############@ .O+::<<<<::<:<:<:<:<,##############@ O+;<<<::<:::;O:<<<,,$#######XO<<:;+O+;:,>############ .O;:,############ .O;:,%###########X >>### O<<<%###########X .O;,,$##>##########X O,%##@ +::<%############@ ..+;<<:::<,>#### .<<::<<<:,$####O<<<<<<<<:<<<>#########X ..+:<::::::::::::::::::::::", "::::::::<::::::::::::::::::<<,>###### .:<<:;+O.OO+;:<<:<:<$############## ..+;:<<::<<:<:<<<:<<%##############X .O+:<<:<<:<:<:<:<,,>######### ;<:;O.O+;:,$###########X ..+;,>###########@ X.O;:,%########### ,,$##X ;<<<%############ .+,,$##%%##########X .,>### .<<::>############# .+;:<::<,>####X <:<<<:<<<,#####.<::::<<:<:<<>######### .+;:<:::::::::::::::::::::", ":::::::::::::::<:::::<<<::<,,>######@ <:::;+OO.O+;;;:::::,>##############@ .O;:<<::<::;<:<<:<,$##############X .O;:<<<::<:<<<<,,>$#########@ ;;;+...O+<,############X .O+:,%###########X .O+;:,$########### ,,$##@ +:<<:>############$ .+,,$##@,%##########X .,>###X :<:<:<$############$ ..+:<<<<,%####X ;::<<<<<<<,######;:;;;:<<<<:<,######### .O;:<:::::::::::::::::::::", ":::::::::::::<<<:::::<<:<:<,%#######@.+;:;+O..OO;;;;;:<:::>###############. .O+:<<<:<+;;+:+<:,>###############X ..O;:<:;:;;<:<<,>$###########X.+.+O...O;,>############ .O;:,$########### .O;:<,############%,,$##@ .:<<<<,#############%%;,,%$##@ ,###########$>,>###X +<<<<<<%#############$O..+:<<,,$####@ ;<<<<::;::<>######.;++;:<<<<<<,########X .O+:<:::::::::::::::::::::", ":::::::::::::<<::::<<<<<:,,%#########O:;;;O..OO;::+O;:<<<,>###############$.XOO.OOO;::::;<:<<,$###############X ..O:<:;+;:<,,>$############# O++O...O;:,%###########@ ..+;<>###########@ ..O;:<,#############%####X +:<:<::%##############%%##### .,############%$###@ .:<:<<:::$#############$>>,,,>$#####@ O<<:<:;;+;:,>######$++O+;<<<:<<>#######@ .O+:<<::::::::::::::::::::", ":::::::::::::::<<:::<<<,,>$##########%:++OO..O+;:;<:<::<<,$################$>O+;:<:::::::<:,,%################$O. .O+:<<:,,,,>%###############@ ;O.....+;:,$###########X .O+:,%###########X .O+:<<,#################X O;:<<::;>#################### X<,################@ .;:<<<::;;>#########################@ O<:<<:;+++;:,>#######$OOO;:<:<<,$#######X .O+:<<::::::::::::::::::::", ":::::::::::::::::<:::,,>%#############$>,;..O+;:<;<<,,,,>$###################$>,,<<:<::<,,,>$##################$%>,,,,,,>>>%%$##################@ +O. . .+::,############ .O;:,$########### .O;:<<<$###############X .+;:<<;;+;$##################X ::<$############### +;::<:;;+;;%#######################@ O::<<:;+OO++:,%########%OO+:<<<,>#######X .O+:<:::::::::::::::::::::", "::::::::<::::<<<<:::<>$##################$#.+;:<::+,%$###########################$>:<+;,%####################################################### . . ..OOO>>###########@ ..+;,,###########@ .O;<<:<%##############X O+;:<:;++;>$################X ;<<:%############## .+::::;;++;:<%#####################X O<<:::;+OOO+;:,%#########$>;,,,,%#######X .. .O;:<:::::::::::::::::::::", "::::::::::::::::::::<>#####################.+:<<:::,##############################@;:::,######################################################## .. ..O;:,%###########X .O+:<>###########X .O+;:<<:<#############X .O+;::;+++;:>############### +:<<<<$###########@ O+;:::;++;;:<<+##################@ ;<<<<:;;+OO+;:<,$############%%$########X .O. .O;:<<::::::::::::::::::::", ":::::::::::::::::::::,##################### ;:<:::::##############################@O<:::#######################################################@ .. ..+;:<############ .O;:<%########### .O+:<<:<:,##########X .O+;;;+++;;:<;############@ O;::::;;##########X ..+;;;++++;:<<<<+@##############@X .:<<<::;+OOO+;;:<,####XXX@##############X +;O. .O+;<<:::::::::::::::::::::", "::::::::::::::::::::::: ;:<<:::<: .<<<:: .O+:<<< .+;:<:O .O;:<<:<:<<@@###@@X .O++++++;:<<<:@@######@X .O++;;;++O@######@ .O++++O+;::<<<<<:.X@########@@X +:::::;++OOOO+::<<<### X++OXX@########@X +<:;O. .O;:<::::::::::::::::::::::", ":::::::::::::::::::::::::::<<<<:;;+O. .O;:<<<<::::::<:<<<<<:;+. .O+::<<<<<:<:<<:<<<;;O.X X.+;:<<<<<<<<<<::::;;;++O... .O;:<:<:<<<<<;+OX ..+:<<:::<:<<:;O. .O+;<<<:::<:<+. ..OOOO+;:<<:<<<OXXXX ..OOOOOOOO.XXX ..OOOO++;<<:<:<<:;+. XXXX .O+;;;;++OOOO++;:<<<<>X .:<:;O. XXXX O+:<<:+O. ..O+;:<<:::::::::::::::::::::", ":::::::::::::::::::::::::<:<<<:;;+O.. .O+;::<<<<::<::<<<<::;+O.X ..O+;;:<<<<<:<<<<:;;+.. .O+;::<<<<:::::;;;++OO... ..+::<::<:::<<;+.. .O;:<<:::::<<:+O. .O+:<<:<<:<:<<<;+. ...OO+;:<<<:<<<:;OX .....OO+;;;O.. ...OO+;:<<::::<<:;O.. ...OOOOOO..OO+;:<<:::<;;:<<:+O. X..OO+<<<<<<:;O.. ..+;:<<::::::::::::::::::::::", ":::::::::::::::::::::::::::<<:;+O... ..O++;::<<:::<:<<::;;+O.. ..O++;;:<<<:<<<:;+OO.. ..O+;;;;;;;;;;+++OOO.... .O+:<<<:<::<<:;O. ..O;<<<:::<:<<;+O. ..+;:<<:::<:<:<<:+O. ..OO;:<<<:<::<<;+O. X...O+;:::;+O. ...O+;:<<<:<:::<<:;O.. ........OO+:<:<:<<<:<:::::+O.. ..O+;;:::::;+O.....O;:<<:::::::::::::::::::::::", ":::::::::::::::::::::::::<:<:;+OO... . . ..OO++;:<<<:::<<::;++OO.. . . .....O+++;:<<<<<:;+OO... . ...OOO++++++++OOOOO.... . . ...O;:<:<::<<:<:;O.. . .O+:<<:::::<<:;+... ..O+;<<:<::<:::<<:;O. ...++::<:<:<:<<<:;+O.X ...O+;:<<<:;O. ..O+;:<<:<:<:<:<<::;OO.. ......O+;;:<:<::<:<:<<<<:+........O+;;;;;;+O....O++::<<:<:::::::::::::::::::::", "::::::::::::::::::::::::::<<:;+OO...........OOO++;:<<:::<<:;++OOO..................OOO++;::<<<:;++OO..................OOOO+OO+OOOOOOOOO.............OO+::<:::<::<<:;+O.......OO;:<<::::<:<:;+O.......O+;:<<:<<::<::<<:;+O.. . ....O+;:<<:<:::<:<<::;+O.. . ...O+;:<<<<<;+O.. ...O+;:<<:<::::::<<<::;+O.. . . . ...OO+;;<<<:::<:<:<::<:;+O....OOOOOO++++OOO...O+;::<:::::::::::::::::::::::::", "::::::::::::::::::::::::::<<:;++++OO+OOO+O+O++++;:<<::<::<<:;+++++O++OOOOO+OOO+OO+O+O+++;:<<<<<:;++++++O+O+O+OOOOOO+O++++++++++++++++++OOO+O+OOOO+O++;;:<<::<::<:<:;;++OOOO+++;;<<:<::::<<<:;++OOOO+O+;:<<:<:<:<<::<<<:;+OO...OOO+;;:<<<:::::::<<<<:;+OO......OO++;:<:::<<:;+OO....OO+;;:<<:<:<<::<::<<<<:;++OO.........OO+;;:<<<:<::<:::::<<<:+OOO+++++OOOOOO+OOOOO+;;:<<::::::<:::::::::::::::::::", ":::::::::::::::::::::::::::<<::;;;;;;;;;;;;;;;;:::<:::::<<<:::;;;;;;;;;;;;;;;;;;;;;;;;;:::<<<<:+::;;;;;;;;;O+;;;:;;;;+;;;;;;;;;;+O+O;;;+;;;;;;;+;;;;:::<<<:::::<<<<:O;;;;;;;;::<<<:::::::<<+O:;;;;;+O:::<<+<;<::<:::<<<:;;++++++;;::<<:::::::;::::<<:;;++OOOO++;;::<;+<:::<:;++OOOO+;;:<<<<:::::<:<:<+::<<::;;++OOOOOO+++;;:<<<<:::::::<<:<::<:;++;;;;;;;++++++++++;;::<:<::::::::::::::::::::::::::", "::::::::::::::::::::::::::::<<<::::::::<<<<<<<:<<<;<:::::<<<<<<<<<<:<:<::<:<:<<::::::::<<<<:<<<:<<<:::<::::.::<::<<<+:::::<;;<:<;O;.<:<<;<:<:<:;<<::<<<::::::::::<<<<;::<<<<;<<<<::::::<::<<:<<:<<;:<+:<<:O<O:::<:<::<<<:::;;;;:::<<<<::<:::::::<:::<;:;;;;;;;;::<<<:<::::<<<:;;;;;;::<<::::::<:<:::::<:<:<<<::;;+;;;;;;::<<<<::::::::::::::<<<:;:::<<::::;;;;;;;;:::<<<::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::<<:<<<<<:<<<<<:<<<<<:;::<:<:<<:<:<::<<<::<:::<<<<::<<<::::<:<::<:<:<<<<<<<<<<;;<<<<:<<<;<<<<<<;<<<<:+<O<<<<;<<:<:<<:<<<:<::<:::<<<:::<<<:::<<<<;:::<::<:<<<<::::<<:<::<<<<:<:O:+<:<:::<::<:<<<<<<<<<<<::<:::<::::<<:<:<<;:;;::;:;:<:<<::::<::::<<<:<;:;:<::<::<:<:::<::<:::<<::<<<<:+::::<<<<<<::::::::::::<:::::<<<<<<<<<<<<<::::::<<<<:<::<::::::::::::::::::::::::::", ":::::::::::::::::::::::::::<::<:<::<::<:<::::::::<<:::::::::::;;::::<;+::+:::;::;<:<;:::<:<:::;;:::::<:::<;<::::<::<<:<<<<<::<::<;:;:::::::::::<::::::::::::<;;::;:::+::;::<;::<:::;:;::<:<:::::::<;<<::::+:;::<::::::::<:<<<<<:<:<::::::::<::;:::<:<;:::<<:;:;:::::::<::::::<<<<:+:;:::::;::;:<:<::;;:::;:<;<<<<::<<<<<<<:::::::::::::::<::<:<<<<:<:::<:<<<<<<<<<<<:<::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::<::::::::::;;:::::::::::::::<:<;<:::;::<:::::::::::<<:<:::<:::::<::<:::::::::::::::::::<:<:::<:::::<::::::::::::::::<:<:::::::::::::::;::::::::::::::::::<::::<:::::<:<:::::<:::::<::<:<:<:<:::::<:::::::::<<<:+:::::::<::::<:;;;;;<:;::::<:<<:::::::::::::;<<::;:::::::::::::::::::::<::<::::<::::<:<:::::<:<:::<:<:<:::<:<:::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::<::::<:::::::::::::::<:::::::::::<:::::<<:;<<:<<<::::::::::::<:::::<::::::::::::<<:::<:<:::<:::<::<::<:<;::::::;::::::::<::::::<<:::::::::::<::::;:<::::::::::::<::<:::::::::<:::<:<:::::::::::::::::::::::::::<:::::<:::<;:::::<::<::::::::::<:;:<::<:::::::::::::::<;:<<:<:::::::::::::::::::::::::::::::::<:::<:<::::::::::::::<:::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::<::::::::::<::<<::::::<;:::;<:<:::;::<;:::::::<:::<<:::::<:<;::<::::::::::::::::<::::<:<:::::::<::::<:::::::::<<::::<;:::::::<:::::::<:::::::<::;::::::::::::::::::::::<:<:::<:::::<:<:::::::<;<:<::<:::::::::::::<<:<<::;:<::<<::::<:<::::::::;:<::<:::<:<::::<:<;:::::::<:<:::::::::<:<::::::::::::::<:<::::::::<::<::::::::<::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::<::::::<;;<::::<:;::::<<;:<:::<;;<:<:;<::;::::;:<;:::<:<:<::::<::::::;::<::::<::::::<::::::<:::::::;::::<;::::<<;:<::;;:<;;:::;;;<:;;::<:;::;;;;<::::<:<:::<::::::<::<:::::::::::<;<::<::::::<:;<:;;<:::;;:::;<<:::<<;;;;::::::::::;<<:::<::;;:::::;;:<;::<;;<:<::;::::::::::::::::::::<:::<:::::<:<::::::::::::::::::<:<::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::<:::::::::::::<:::::<<::::::::::<::::::<:::::<::::<::::::<::::::::<:::::::::::::<:::::<<:<:<:::::::::::<:<:::<<:::::<:::::::::::::::::::::::::::::::::::::::::::::::::<::::::<:<:::<::::::::::::::::::::::<::::::::::::<:::<:::::::::::::::<:<:::::::::::::::::<:::::::::::::::::::<:::::::::::<::::::::::::::<:<::<:::::<::::::::<:<:::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::;;::::::;;:<:::<:::::<:::::::::::::::<:::<::<:::::::::::::::::::::::::<:::::::::::::::::::::::::;;<::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::<:<::<::::::::<::::::::<::::::::::::<:<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::<::::::::::::::::<:::<:::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::<::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::<::<:<::::::::::<:<::::::::::::<::::::::::::::::::::::::::<:::::::::::::::::::::::::::::<:::::<:::::::::::::::::::<:::::::::::::::<:<::::::::::::::::::::::::::<:::::::::<:::::::::::::::::<::::::::::::::::::::::<:::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::<::::::::::::::<:::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::::::<:::::::::::::::::::::::<::::::::::<:<:<::::::::::::::::::::::::::::::::::<:::::<::::::::::::::::::::::::::::<::::::::::::<::<::<::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::<::<:::::::::::::<:::<:<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::<::::::::::<:<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::::::<::<:::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::::::<::::::::::::::::::::::::::::::::::::<::::::::::::::::<::<::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::<::::<:::::::::::::::::::::<:::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::<::<::::::::::::::::::::::<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::<:::::<:::::::::::::::::::::<::::::::::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::::::::::::::<:::::<<::<:::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::::::::::::::::::::::::::::<::::::::::::::<::::<:::::::::::::::<:<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::<:::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::<:<:<::<:<::::::::::<<:::::::::::::::::::<::::::::::::::::::::::<:<::::::<:::::<:<::::::::::::::::::::::::::::::::::<::::::::::::::::::::::::::::<::::::::::::::::::::::::<<::::::::::<::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::<::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::<:::::::::::::::::::<::::<::::::<::::::<::::::::::::::::::::<:::::::<:::::::::::::::<:::::<::;:::<:<;:::::::::::::::::::::::<::::<::::<::::::<:::::::::::::::<:::::::::::::::::::::::::::::::<::::::::::<:::::::<::::::::::::::::::::::::::::::::::::::::::<::::<::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::<:::::<<:::::<::::::<:<::::::::::::<<<:::<:<::::<<<<:::<<<:<:::::<:::::<::::::<::::::::::::::::::::::::::::<:::::::<<<:::<<<<<::<<<<<<::::<:::::::::::<<<:<<::::<<:::::<<:<::::<::::::<::::::<::::::::::::::::::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::::<<:::<<<<<:::::<::::::<:::::::::::<:<<<<::<<<<<::<<<<:::<<<<<<::::<:::::<<<:::::<:<::::::::::::::::::::::::::::::::::<<<::<<<<<::<:<:<<<:::<:::::::::::<:<:<<<:::<<:<::<<<:<::<<<<<::::<:::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::<::::::<:::::::::::<<<<<:::<:::<:::<:::::<<:<:<::::<::::::::<::::::::::::::::::::::::::::::::::::::::<::<:::<::::::::<::<:::<::::::::::::::<::<:<::::<:<::::<::<<<<<::::<:::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::<:::::::<::::::::::<<<<<<::::::<:::<:::::<<:<:<::::<::::::::<::::::::::::::::::::::::::::::::::::::::<::<:::<::::::<:<::<:::<::::::::::::<:<::<:<::::<:<::::<::<<<<<::::<:::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::<::::::<:::::<<::::<::::::<:::<:::<:::::<:::::::::<::::<<<<::::::::::::::::::::::::::::<::::::::::::<::<:::<::::::<:<::<:::<::::::::::::<:<::<:<<::<:::<::<<:::::::::::<::::::<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::::::::::<:::::::<::::<<:::::<<<:::<<:<<<:::<<<::<<:<::<:<<<<<::::<::::::::::::::::::::::::::::<<:::::::::::<<::<<:::<<<::<<:<<:<:<<<<<:::::::::<<:<::<:::<<<::::<<<<<::<<<:::::<::::::<::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<::::::<:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::" };