From 902e9790e62121a8053967c4571e5399b4526103 Mon Sep 17 00:00:00 2001 From: "Alexey I. Froloff" Date: Tue, 14 Aug 2012 17:04:14 +0400 Subject: [PATCH] Imported wmMatrix-0.2.tar.gz --- wmMatrix/Makefile | 38 + wmMatrix/config.h | 358 ++++++++ wmMatrix/images/big.xpm | 904 ++++++++++++++++++ wmMatrix/images/large.xpm | 1684 ++++++++++++++++++++++++++++++++++ wmMatrix/images/matrix.xbm | 40 + wmMatrix/images/matrix.xpm | 1684 ++++++++++++++++++++++++++++++++++ wmMatrix/images/medium.xpm | 1217 ++++++++++++++++++++++++ wmMatrix/images/small.xpm | 698 ++++++++++++++ wmMatrix/matrix.c | 353 +++++++ wmMatrix/matrix.h | 39 + wmMatrix/version.h | 2 + wmMatrix/wmMatrix.c | 407 ++++++++ wmMatrix/wmMatrix_mask.xbm | 38 + wmMatrix/wmMatrix_master.xpm | 73 ++ wmMatrix/xutils.c | 393 ++++++++ wmMatrix/xutils.h | 50 + wmMatrix/yarandom.c | 112 +++ wmMatrix/yarandom.h | 54 ++ 18 files changed, 8144 insertions(+) create mode 100644 wmMatrix/Makefile create mode 100644 wmMatrix/config.h create mode 100644 wmMatrix/images/big.xpm create mode 100644 wmMatrix/images/large.xpm create mode 100644 wmMatrix/images/matrix.xbm create mode 100644 wmMatrix/images/matrix.xpm create mode 100644 wmMatrix/images/medium.xpm create mode 100644 wmMatrix/images/small.xpm create mode 100644 wmMatrix/matrix.c create mode 100644 wmMatrix/matrix.h create mode 100644 wmMatrix/version.h create mode 100644 wmMatrix/wmMatrix.c create mode 100644 wmMatrix/wmMatrix_mask.xbm create mode 100644 wmMatrix/wmMatrix_master.xpm create mode 100644 wmMatrix/xutils.c create mode 100644 wmMatrix/xutils.h create mode 100644 wmMatrix/yarandom.c create mode 100644 wmMatrix/yarandom.h diff --git a/wmMatrix/Makefile b/wmMatrix/Makefile new file mode 100644 index 0000000..4a3ec76 --- /dev/null +++ b/wmMatrix/Makefile @@ -0,0 +1,38 @@ +CC = gcc +CFLAGS = -O2 -Wall +INCDIR = -I/usr/X11R6/include/X11 -I/usr/X11R6/include +DESTDIR= /usr/X11R6 +LIBDIR = -L/usr/X11R6/lib + +# for Linux +LIBS = -lXpm -lX11 -lXext + +# for Solaris +#LIBS = -lXpm -lX11 -lXext -lsocket -lnsl + + +OBJS = wmMatrix.o matrix.o xutils.o yarandom.o + + + + +.c.o: + $(CC) $(CFLAGS) -D$(shell echo `uname -s`) -c $< -o $*.o $(INCDIR) + + +all: wmMatrix.o wmMatrix + +wmMatrix.o: wmMatrix_master.xpm wmMatrix_mask.xbm +wmMatrix: $(OBJS) + $(CC) $(COPTS) $(SYSTEM) -o wmMatrix $^ $(INCDIR) $(LIBDIR) $(LIBS) + + +clean: + for i in $(OBJS) ; do \ + rm -f $$i; \ + done + rm -f wmMatrix + +install:: wmMatrix + install -c -s -m 0755 wmMatrix $(DESTDIR)/bin + diff --git a/wmMatrix/config.h b/wmMatrix/config.h new file mode 100644 index 0000000..ad4dadd --- /dev/null +++ b/wmMatrix/config.h @@ -0,0 +1,358 @@ +/* config.h. Generated automatically by configure. */ +/* config.h.in --- xscreensaver, Copyright (c) 1998 Jamie Zawinski. + * + * The best way to set these parameters is by running the included `configure' + * script. That examines your system, and generates `config.h' from + * `config.h.in'. + * + * If something goes very wrong, you can edit `config.h' directly, but beware + * that your changes will be lost if you ever run `configure' again. + */ + + +/* ************************************************************************* + CONFIGURING SERVER EXTENSIONS + ************************************************************************* */ + +/* Define this if you have the XReadDisplay extension (I think this is an + SGI-only thing; it's in .) A few of the + screenhacks will take advantage of this if it's available. + */ +/* #undef HAVE_READ_DISPLAY_EXTENSION */ + +/* Define this if you have the Iris Video Library (dmedia/vl.h on SGI.) + A few of the screenhacks will take advantage of this if it's available. + */ +/* #undef HAVE_SGI_VIDEO */ + +/* Define this if you have the XHPDisableReset function (an HP only thing.) + */ +/* #undef HAVE_XHPDISABLERESET */ + +/* First, some background: there are three distinct server extensions which + * are useful to a screen saver program: they are XIDLE, MIT-SCREEN-SAVER, + * and SCREEN_SAVER. + * + * The XIDLE extension resides in .../contrib/extensions/xidle/ on the X11R5 + * contrib tape. This extension lets the client get accurate idle-time + * information from the X server in a potentially more reliable way than by + * simply watching for keyboard and mouse activity. However, the XIDLE + * extension has apparently not been ported to X11R6. + * + * The SCREEN_SAVER extension is found (as far as I know) only in the SGI + * X server, and it exists in all releases since (at least) Irix 5. The + * relevant header file is /usr/include/X11/extensions/XScreenSaver.h. + * + * The similarly-named MIT-SCREEN-SAVER extension came into existence long + * after the SGI SCREEN_SAVER extension was already in use, and resides in + * .../contrib/extensions/screensaver/ on the X11R6 contrib tape. It is + * also found in certain recent X servers built in to NCD X terminals. + * + * The MIT extension does basically the same thing that the XIDLE extension + * does, but there are two things wrong with it: first, because of the way + * the extension was designed, the `fade' option to XScreenSaver will be + * uglier: just before the screen fades out, there will be an unattractive + * flicker to black, because this extension blanks the screen *before* + * telling us that it is time to do so. Second, this extension is known to + * be buggy; on the systems I use, it works, but some people have reported + * X server crashes as a result of using it. XScreenSaver uses this + * extension rather conservatively, because when I tried to use any of its + * more complicated features, I could get it to crash the server at the + * drop of a hat. + * + * In short, the MIT-SCREEN-SAVER extension is a piece of junk. The older + * SGI SCREEN_SAVER extension works great, as does XIDLE. It would be nice + * If those two existed on more systems, that is, would be adopted by the + * X Consortium in favor of their inferior "not-invented-here" entry. + */ + +/* Define this if you have the XIDLE extension installed. If you have the + * XIDLE extension, this is recommended. (You have this extension if the + * file /usr/include/X11/extensions/xidle.h exists.) Turning on this flag + * lets XScreenSaver work better with servers which support this extension; + * but it will still work with servers which do not suport it, so it's a good + * idea to compile in support for it if you can. + */ +/* #undef HAVE_XIDLE_EXTENSION */ + +/* Define this if you have the MIT-SCREEN-SAVER extension installed. See the + * caveats about this extension, above. (It's available if the file + * /usr/include/X11/extensions/scrnsaver.h exists.) + */ +#define HAVE_MIT_SAVER_EXTENSION 1 + +/* Define this if you have the SGI SCREEN_SAVER extension. This is standard + * on Irix systems, and not available elsewhere. + */ +/* #undef HAVE_SGI_SAVER_EXTENSION */ + +/* Define this if you have the SGI-VIDEO-CONTROL extension. This is standard + * on Irix systems, and not available elsewhere. + */ +/* #undef HAVE_SGI_VC_EXTENSION */ + +/* Define this if you have the XDPMS extension. This is standard on + * sufficiently-recent XFree86 systems, and possibly elsewhere. (It's + * available if the file /usr/include/X11/extensions/dpms.h exists.) + */ +/* #undef HAVE_DPMS_EXTENSION */ + +/* Define this if you have the functions XF86VidModeGetModeLine() and + * XF86VidModeGetViewPort(), in support of virtual desktops where the + * X server's root window is bigger than the actual screen. This is + * an XFree86 thing, and probably doesn't exist elsewhere. (It's + * available if the file /usr/include/X11/extensions/xf86vmode.h exists.) + */ +/* #undef HAVE_XF86VMODE */ + +/* Define this if you have a Linux-like /proc/interrupts file which can be + * examined to determine when keyboard activity has occurred. + */ +/* #undef HAVE_PROC_INTERRUPTS */ + + + +/* ************************************************************************* + CONFIGURING GRAPHICS TOOLKITS + ************************************************************************* */ + +/* Define this if you have Motif. + */ +#define HAVE_MOTIF 1 + +/* Define this if you have Gtk. + */ +#define HAVE_GTK 1 + +/* Define this if you have Athena (-Xaw). + */ +#define HAVE_ATHENA 1 + +/* Define this if you have Athena, and the version you have includes the + * XawViewportSetCoordinates function in Viewport.h (some old versions of + * the library didn't have this function.) + */ +#define HAVE_XawViewportSetCoordinates 1 + +/* Define this if you have the XPM library installed. Some of the demos can + * make use of this if it is available. + */ +#define HAVE_XPM 1 + +/* Define this if you have the Xmu library. This is standard part of X, and + * if your vendor doesn't ship it, you should report that as a bug. + */ +#define HAVE_XMU 1 + +/* Define this if you have OpenGL. Some of the demos require it, so if you + * don't have it, then those particular demos won't be built. (This won't + * affect the screen saver as a whole.) + */ +#define HAVE_GL 1 + +/* Define this if you have OpenGL, but it's the MesaGL variant. (The + libraries have different names.) (HAVE_GL should be defined too.) + */ +/* #undef HAVE_MESA_GL */ + +/* Define this if your version of OpenGL has the glBindTexture() routine. + This is the case for OpenGL 1.1, but not for OpenGL 1.0. + */ +#define HAVE_GLBINDTEXTURE 1 + +/* Define this if the `xscreensaver' process itself (the driver process) + should be linked against GL. Most systems won't want this (in particular, + if you're using Linux and/or Mesa, you don't want this) but SGI systems + do want this. It may also be useful on other systems that have serious + GL support -- you only need this if you have a lot of different visuals, + not all of which work with GL programs. + */ +/* #undef DAEMON_USE_GL */ + +/* Define this if you have the X Shared Memory Extension. + */ +#define HAVE_XSHM_EXTENSION 1 + +/* Define this if you have the X Double Buffer Extension. + */ +#define HAVE_DOUBLE_BUFFER_EXTENSION 1 + +/* Some screenhacks like to run an external program to generate random pieces + of text; set this to the one you like ("yow" and "fortune" are the most + likely prospects.) Note that this is just the default; X resources can + be used to override it. + */ +#define ZIPPY_PROGRAM "/packages/libexec/emacs/20.2/sparc-sun-solaris2.6/yow" + + + +/* ************************************************************************* + CONFIGURING PASSWORD AUTHENTICATION + ************************************************************************* */ + +/* Define this to remove the option of locking the screen at all. + */ +/* #undef NO_LOCKING */ + +/* Define this if you want to use Kerberos authentication to lock/unlock the + * screen instead of your local password. This currently uses Kerberos V4, + * but a V5 server with V4 compatibility will work. WARNING: DO NOT USE AFS + * string-to-key passwords with this option. This option currently *only* + * works with standard Kerberos des_string_to_key. If your password is an + * AFS password and not a kerberos password, it will not authenticate + * properly. See the comments in driver/kpasswd.c for more information if you + * need it. + */ +/* #undef HAVE_KERBEROS */ + +/* Define this if you want to use PAM (Pluggable Authentication Modules) + * to lock/unlock the screen, instead of standard /etc/passwd authentication. + */ +/* #undef HAVE_PAM */ + +/* If PAM is being used, this is the name of the PAM service that xscreensaver + * will authenticate as. The default is "xscreensaver", which means that the + * PAM library will look for an "xscreensaver" line in /etc/pam.conf, or (on + * recent Linux systems) will look for a file called /etc/pam.d/xscreensaver. + * Some systems might already have a PAM installation that is configured for + * xlock, so setting this to "xlock" would also work in that case. + */ +#define PAM_SERVICE_NAME "xscreensaver" + +/* Define if you have PAM and pam_strerror() requires two arguments. */ +/* #undef PAM_STRERROR_TWO_ARGS */ + +/* Define this if your system uses `shadow' passwords, that is, the passwords + * live in /etc/shadow instead of /etc/passwd, and one reads them with + * getspnam() instead of getpwnam(). (Note that SCO systems do some random + * other thing; others might as well. See the ifdefs in driver/passwd-pwent.c + * if you're having trouble related to reading passwords.) + */ +#define HAVE_SHADOW_PASSWD 1 + +/* Define this if your system is Digital or SCO Unix with so-called ``Enhanced + Security'', that is, the passwords live in /tcb/files/auth// + instead of in /etc/passwd, and one reads them with getprpwnam() instead + of getpwnam(). + */ +/* #undef HAVE_ENHANCED_PASSWD */ + +/* Define this if your system is Solaris with ``adjunct'' passwords (this is + the version where one gets at the passwords with getpwanam() instead of + getpwnam().) I haven't tested this one, let me know if it works. + */ +/* #undef HAVE_ADJUNCT_PASSWD */ + +/* Define this if you are running HPUX with so-called ``Secure Passwords'' + (if you have /usr/include/hpsecurity.h, you probably have this.) I + haven't tested this one, let me know if it works. + */ +/* #undef HAVE_HPUX_PASSWD */ + +/* Define this if you are on a system that supports the VT_LOCKSWITCH and + VT_UNLOCKSWITCH ioctls. If this is defined, then when the screen is + locked, switching to another virtual terminal will also be prevented. + That is, the whole console will be locked, rather than just the VT on + which X is running. (Well, that's the theory anyway -- in practice, + I haven't yet figured out how to make that work.) + */ +/* #undef HAVE_VT_LOCKSWITCH */ + + +/* Define this if you the openlog(), syslog(), and closelog() functions. + This is used for logging failed login attempts. + */ +#define HAVE_SYSLOG 1 + + +/* ************************************************************************* + OTHER C ENVIRONMENT JUNK + ************************************************************************* */ + +/* Define this to void* if you're using X11R4 or earlier. */ +/* #undef XPointer */ + +/* Define if you have the nice function. */ +#define HAVE_NICE 1 + +/* Define if you have the setpriority function. */ +#define HAVE_SETPRIORITY 1 + +/* Define to empty if the keyword does not work. */ +/* #undef const */ + +/* Define if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define as __inline if that's what the C compiler calls it. */ +/* #undef inline */ + +/* Define to `int' if doesn't define. */ +/* #undef mode_t */ + +/* Define to `int' if doesn't define. */ +/* #undef pid_t */ + +/* Define as the return type of signal handlers (int or void). */ +#define RETSIGTYPE void + +/* Define to `unsigned' if doesn't define. */ +/* #undef size_t */ + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define if you have the gettimeofday function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define if gettimeofday requires two arguments. */ +#define GETTIMEOFDAY_TWO_ARGS 1 + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 + +/* Define if you have the select function. */ +#define HAVE_SELECT 1 + +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getcwd function. */ +#define HAVE_GETWD 1 + +/* Define if you have the realpath function. */ +#define HAVE_REALPATH 1 + +/* Define if you have the uname function. */ +#define HAVE_UNAME 1 + +/* Define if you have the fcntl function. */ +#define HAVE_FCNTL 1 + +/* Define if you have the sigaction function. */ +#define HAVE_SIGACTION 1 + +/* Define if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define if you have the header file. */ +#define HAVE_CRYPT_H 1 + +/* Define if you have that defines fd_set and FD_SET. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to use sigaction() instead of signal() for SIGCHLD-related activity. + This is necessary at least on SCO OpenServer 5, due to a Unix kernel bug. + */ +/* #undef USE_SIGACTION */ + +/* Define this if you do pings with a `struct icmp' and a `icmp_id' slot. + */ +#define HAVE_ICMP 1 + +/* Define this if you do pings with a `struct icmphdr' and a `un.echo.id' slot. + */ +/* #undef HAVE_ICMPHDR */ diff --git a/wmMatrix/images/big.xpm b/wmMatrix/images/big.xpm new file mode 100644 index 0000000..0aab685 --- /dev/null +++ b/wmMatrix/images/big.xpm @@ -0,0 +1,904 @@ +/* XPM */ +static char * matrix[] = { +"56 837 64 1", +". c #000000", +"+ c #020E04", +"@ c #021804", +"# c #062604", +"$ c #0B3008", +"% c #021E04", +"& c #114410", +"* c #0C360E", +"= c #0D3E0E", +"- c #0E4E0C", +"; c #1F561E", +"> c #145417", +", c #136314", +"' c #1D5E1D", +") c #1C4E1C", +"! c #127410", +"~ c #269624", +"{ c #1AA614", +"] c #169614", +"^ c #26B529", +"/ c #178618", +"( c #246624", +"_ c #2F832F", +": c #2B7729", +"< c #368B34", +"[ c #3B9439", +"} c #298B27", +"| c #3AC237", +"1 c #42D73C", +"2 c #62DA61", +"3 c #32D634", +"4 c #88E688", +"5 c #1E751C", +"6 c #4CB34A", +"7 c #44AB42", +"8 c #42A244", +"9 c #26C227", +"0 c #FFFFFF", +"a c #40CC44", +"b c #52BB54", +"c c #3E9C3C", +"d c #5AC254", +"e c #286E26", +"f c #32CB34", +"g c #5ACA5C", +"h c #5ED05C", +"i c #2AA62C", +"j c #166E14", +"k c #62DE64", +"l c #3EDE3C", +"m c #36B634", +"n c #D9F9D8", +"o c #26CB24", +"p c #2E9A34", +"q c #66E561", +"r c #9DD89F", +"s c #7AF67C", +"t c #E8FEEA", +"u c #92F294", +"v c #D8F3D8", +"w c #76EE74", +"x c #73E774", +"y c #66E264", +"z c #D7F2D8", +"........................................................", +"...........++++++......................++++++...........", +"........++++@++++++.................+@+@#@@@@++.........", +".......+@@@###$#%@@++..............+@@#$$$&$#%@@+.......", +"......+@####*#**$%%@+.............@@$$$=-=--&$#@@.......", +".....+@$&;>>>,,'-)&$#++..........@%-!~{]]{{^]/!-$@+.....", +"....+@#)(__:::<[_('&*@+.........+#$}|123|4442|{5-@+.....", +"...+%%$([678[8668<:(=#@+.......+#%=90000000004a^,$%+....", +"...+##-:[b8[<>>>_8h6:=#++....++#,i|0000f]]]]1000a,$@+...", +"..+@&(:cbg[j----:7k6:&##+.....@#5^|00009////|000a!=$@...", +".+%#;:*$@....+%=~a400049////f0002]-=@...", +".+@$;_[887_j---&:[g7_'&#@+...+%=i10000l9///!|0002i5&#+..", +".+%$(<8777_'=&-&e[d6_()*@+...@%&^400001^!!/!|0002^/-%+..", +".+@$(<888c_,--==:[b6<(;*%+...+#&m400003^//!!f0004^~-#+..", +".+@*e[688c_>=&&=e8d6[('=@+...+%-|000003{!!!!|0000|i,#+..", +".@@$([78cc:,--&&:[d6[e;=@+...@#&m000n0o{//!!|0000|~,#+..", +".@@*;$@...", +".++#&;e[6g85->>>:8d6:&$#@....+@$!i|000qo/]]]f0003!-$%...", +"..+@*-;cdk7:>>'(_7g8:=#++.....+#-/iq0003]]^^2000a,$@+...", +"..+@$*)_dh75>,,e<7h6:$#@+.....+@=,/2000o]^^94000|-$@+...", +"...+#*&e8bc_j::_<[8:'$@+.......@$-!a00n199o12002i=#@....", +"...+@%$':<<_}_<[<:e'&@@+.......+@$=ia44214q041ri!%@+....", +"....+%#='e_=#+.....", +"....++@*&;;(ee::()=#@++.........+@@>!~im|||am/,=#++.....", +".....++@$*&&))))=*#@+............++#=-!!}}/}!-$@%.......", +".......+@@@##%%#%@+@...............+@#%$$$$$#%@%........", +"........+++@@%+@@++.................++%@%#@@%++.........", +"........................................................", +"............+.+.........................+.+.............", +"..........++@@+@++....................+@#%@@@+..........", +".........+@%#$#%@++..................+%%$&=#%@+.........", +"........+@#*=$*$#%++................+#$-,--=$#@+........", +".......+@@)e20t01,-$#%........", +"......+@$$=#%+............+%,}m40002|],=%+.......", +".....++=;e<[7[_e;&$@+............+@,i|20002|i5&#+.......", +"......+$=);(:(;)=$@@..............+=,}ima|p_,=#@........", +".......+%$*=&==$$@+................@$=),5,,=&#+.........", +"........++@+@++@+...................+@@@@@@@+...........", +".........++++++......................+++@++.............", +"...........+++++.......................+++++............", +"........+++@%++@++..................++@%#%%@@+..........", +".......+@%#$*$#$#@++...............+##$=-=&=$%@+........", +".....++@#$$=====$$%++............+@#$--,,,,,-=#@+.......", +".....+@#&&))&)--&=*#@+...........+@=,!//////!,-=%+......", +"....+%#;:<_ee(((((:'=+..........+#$~a429|9^^9|ai>@......", +"...++#$e[d8[____<[[_)#+........+@$-|000011212002}$+.....", +"...+%$=_bhdc<_<<[8b[;#+........+#=,2000044240000i$+.....", +"...+#=)_bh6[:e(e_[7<;#+........+=,/40004ff9|2004p$@.....", +"...+$)([bhc_,,>;(--&;:[_)@+.......+%,~|0000f]//!ia02}#+.....", +"..++$)([bh85--&&);(;$@+.......+@>/m00009//j!/imp>%+.....", +"..+@$&;[6h8:--&*&&&&#+........+@-5i0000f//!,!55,$+......", +"...+*&;[bh85--&=*$#@++.........@-5i0000o]/!,-=$#%+......", +"...@$*)_8dc}j>-=$$#%+..........@=-/200039{/,-*$%%.......", +"...+@$*:[78<_j'*=$#@++.........+%-,|000439{,,=$#++......", +"..+@%$$(<[88c_,&=##@@+........+%#=-^400003{!,=$#@+......", +"...+@#$>e_)=##++.........+#$-]91q4n3o{/,=$@+......", +"...@@#$-'e_[7[}:,-*$@+.........@#$-/i910n0lo^/-=#@......", +"...+%#*&->5~ccp[:'=##@+........+%=-!/]fl0n4qo{,=$@+.....", +"..+@$$=->'e~[ccc_(>&$@+.......+%=-!/]{flqnnn19]!-%@.....", +"...+$&;',!___~p8c}_(&#@........@&!]{^o331lqnn43^!$%.....", +"...@=)'ee_555}c77c[:;#%+.......%,}^|93fool00n001~=%+....", +"...@*;'5__}__~c7878};$++.......%>~if14l13l000004~=%+....", +"...+$&;:$++.......@=5~|40qq0n000004~=@+....", +"...+$*):<878776768c_;#@........+&,}a000000000002~=%.....", +"...+#*=(<8888c88c[[e)#+........+$-!m40000000000a/$@.....", +"....+#$);(eee:ee((()*@+.........@$=/pm||mf|||mm}>%+.....", +".....+@#$*=*&=&==**$@+...........@#$-),,!,!,,--*%+......", +"......++@@######@@+++.............+@@%$$$$$$%%@%+.......", +"........++.@++@+@++.................+++@@@@%%++.........", +"..........++@+++......................++@+++............", +"........+@@@###@++..................@%##$$$%%+..........", +"......+@%#$*=$$*$%++..............+@#$&-,---*#@+........", +".....++@$$=&&&&&$$@++............+%#=-,!!!!!-=%@+.......", +"....++%=;';;;'';)=*#+...........+%%,]ii~iiii/,-$@.......", +"....+%#;_c<:e::<:(;&#+..........+#=p2n4afa14am~5=+......", +"...+@#*:7g6c_<[8[_:;=+.........+@$-a0000140002fp)@......", +"...+@$&@......", +"..+@=)([6g[e>';;(((;*+........+%,}^0000f]iiimmm~-+......", +"..++*&)<7g7<(j';))&*#+........+@-!~4000499{~/}5>$+......", +"..+@#$)_7g7[}:;&=$$%+.........+@$-/200001fi!j-=$+.......", +"..+@#$&_8gbc<_;&$$@++.........+#=-!100004fi!-=%@+.......", +"..+%$=)<8g67[_(&=$@@+.........+%=,/1000n01^!,=%%+.......", +"..+@$&><8d67p_(;=#++..........%#-!~40000q19~,=@+........", +"..+%=-;<7g68[_e;&*%++.........+#,/i4000002|~!-#%+.......", +".+@@)(:[86c<:('-=$%@+........+@%/^o000n2f9i/,=#@+.......", +"..+#;:<[cc<:,>)=$##+++........%$p|400043^]/,-*$@@+......", +"..@#;-==*#$%@+........%$i40nnq3^]/!,-==#@+......", +"..+#;:';)$+........+$~a000039////]ii/-@......", +"..+@)e_<88_(>'>'e_<:)@+.......@#/|200019]{{{910a/#+.....", +"..+%=;e[c6>,e_8b['#+.......+#,i|40019]{^|2000i$+.....", +"...+=&;:<8<:,ee__j_86g7c_j-#%@+..........@#=]910000019/=#@+......", +"....@#$;(_[6b68c_'*$@+..........%$=~^10000003{-=#@......", +"....+##;e}[7bb78<(-=$@+.........@$=~f1q0000049/,=%+.....", +"...+%%*,:}p77777c_5;*#@+.......+#$-{fl4n000n01f],$#+....", +"...+%#*>:}pc77787p_:-$@+.......+#=-{olqnnn00n44f/=%@....", +"...+%$=':~[i77i6ccc_'*#@+......+%=,iflq0n0n00n02i,$%+...", +"...+#$-j_[88m7c8c87[e>*%+......+$-/91qnn0nn0nn0q|],$+...", +"...+#=-([8i66i8}876c_'&$@......%=,/9qnn00nnl00003i!=%...", +"..+@$&,5p766678}p6d8<()*@+....+%&!{f4n000nnl40004^/-#+..", +"..++=>'<8b|ggmi87878_(>$%.....+@,~^4n00000nnn00029~-%...", +"...@='e8bhghhb6i66mc_e;*@......@,i|n0000000n00002|p>%...", +"..+@=;:cbghghg6m88c[_e;=%.....+#,ian00000000n0002|~,#...", +"...+=-'_8mbmbi[}__ee;)=#+......%-/{1n0000nq1l3|9i/,=+...", +"...@#$&e_ccc8}_,'>>-=$#@+......@$-!|10nn0lf^{]]/,-=@+...", +"...+@##>(__<[5'&**$##%@+.......+#$=]91144f^!,>==$#%+....", +"....@%$-(5___(-$*##%@+..........@$=/^fa149/--==%%+......", +"....+@%=;(j::'&$#%%+++..........+@%'pm9a|i!=$##@++......", +".....+@=);((e;=@@@+..............@#,/imm|~,#%@+.........", +".....++$*&&))=$@++...............+@&>55//,=%++..........", +".......+#$#$##++...................@$===&$++............", +".........@+++........................@+++...............", +"........................................................", +"........................................................", +"........++@+@+@+++..................++@@@@@@++..........", +"......+@##$$*$*$#@+...............+#$&=-----=%@.........", +".....++$=&)))>))=*%@+............+@=,5//}~//,-#%+.......", +".....@#*);''';'()&$@+............@$>}~i^iiim}5&#@.......", +"....+%$);ee__<<<_()&#+..........@$&/iaaa14401m/,$+......", +"....@#=':<<<<87b[_;)$+..........@=,i|444000002i/-+......", +"....%$=(_[c8cbghb[:;*@..........#=,m20n0000000ap>%......", +"....+$*)(:_<_[6b7<:;&@+.........@=-~m|14100004ai,#+.....", +"....@%$&;'j55}[7[<:'=@+.........%$&!]^9ool4001|i,@+.....", +"...+@#$*&->',5_[<_e;&++........+@$=,!/]{{o1qq1ai!@+.....", +"...++##&>'j5:[p7c_:'=%+........+%$=!]^9o3lq001ai,#+.....", +"...+@#*>j__[~87b7<:;=++........+%$-]9334q00004ai,@+.....", +"...+##*;:<876bgg6[:;=%+........@#=-ia400000000ap,#+.....", +"..+@$*-:[8887876[_()$+........+@=,/o400nn00001^/-@......", +"..++$)'}8d7c_<<<:')=#+........+%-/i400004144a^/,$+......", +"..@%&'e8bg7~55(';)$$@+........@#!{f0000lf99^~_-&%+......", +"..+#&e_86g8_j,'>&=#@++........+$5|2000039^{]!,=#@+......", +"..@#>:<867>-=*$%++........@$~|4000qf{]]/,-=#@+......", +"..+%;_cc[8_,-&&=$##%@.........%$p2n0003^/!!,-=$%%.......", +"..+#;:,,((;(;*+........+@5i|30039]{{^^im~>+......", +"..@@*&;_[c_(>'e:___e&+........%@>!ia0029]{|a222|5@......", +"...+$=-e<8_(>(:<<_[:&@.........%=,/|40l9]9o4440a5@......", +"...+@$*;e_:5je_<:_e;*+.........+#=,{|2af9a2422|i>+......", +"....@@#&>(e::__<:(;&$+..........@#$!~^|aa222ami5=+......", +"....++%$&>(:__:_:;&*@+..........+@%-!]^a2a22|p5)#+......", +".....+@#$=&);;(;)&$#@............+%$=,5]~iii}5=$@.......", +"......++@#$$==**$$@...............+@#$=-,,)>==#+........", +"........++@@+@@@+++.................+@@@%%##@++.........", +"..........+++++++.....................+++++++...........", +"........................................................", +".......++###$%+@++.................+@$=$=$@@++..........", +".......$=&);;)=#@++................=,5}pi/,&#@+.........", +"......+=;e::_()=$#@++.............+,p|fa2m/,=$%++.......", +"......+&;e:_<:(-&$@@+.............@,i|a24|^/!-##+.......", +".....++*);(::__:(>*#@+...........++>_~ma2123^]-=%+......", +".....++%*&;(:_c8<,&*#@+..........+@$-!i^f1004^!-$#+.....", +".....+%#$*;;(<86c:>&*@+..........+%$=-]i92000f]!-%@.....", +".....@@#$=->,:}8[<<(-$%+.........%#$-,/]^fl00449/=#@....", +"....+@@$$=->,(_~[c7_(*%@........+@#=-,/]{93lqn04^-#@....", +"....++##$*->>jj_p7b8(=#@+.......+%$=-,/]]991q000|,=#+...", +"....@%$)(e555}}c7dh6:=$@+.......@#=/^9oooll00000f,=%+...", +"...+@#=(<8c[[c77bgxb_-##+......+#=,m4000q0n000003/=$@...", +"..++#$&_8g67876bgywg<-$#@.....++$-!30000n00000t04/=$@...", +"..+@*)'<767p/[pcmgyb_-$#++....+%-/^2000qlqqn00003/-$@+..", +"..+@&(e[76[_j55_[7h6_=*#@+....+#5^a00001^of340001!-$@+..", +"..@#;:[[78>,:8d85&*#++....%$~a000019{{{{30009!-&%+..", +"..+#;:c[88_,>>>,/cd8_=$#++....+$ia00001^]]]{3000a!=$@+..", +"..+#;_[c[c_j->>>:cg75&$%@.....@$p2000n39/]]]f000o!-%@...", +"..+#;_c[[[e,>---_pg8:=$@+.....@$i20000f^]/]/3000|,=#@...", +"..+#)e<[[[_,->>,_8d85=#%+.....+$}a4400o^/]{{3000o,=#+...", +"..++=;e,,(_8d8e*#%+.....+@,~|4n049]{^91000|-$#+...", +"..+@$*):8b[e>,::[8b['$%+......+@=,/a004o{^fa4000^-%@....", +"...+#*&e[8<:>e5__[8<'#@+.......@$-5|004f{9f12004i&@+....", +"...+@$$)e_e5ee___:e;=%@+.......+%=-}|1a9|f122a|p,%%+....", +"....+@#*)'(:::__e;&*#++.........+@$,/imaaaa2|i!-$@+.....", +"....+++$=&'(::e:;)#@@++.........+@@*,!ima|aai!=##++.....", +".....++@#*=&))))=$%@+............++#=-,!}//_,=#@+.......", +".......+@@#$##$##@++...............+@#$=====$@@+........", +".........+++@+@+++...................++@@@@@%+..........", +"...........+++.+.......................+++.+............", +"........................................................", +"......+@#$#$$$*$#$##@+............+%$*&-----&==$%+......", +".....+@$=);;;));)))=#@+..........+#-,/}~~}/~///,=%+.....", +"....+@$&;'(eee(e'(;;=$@+........+#&5i^^|9|9|mmi~,&#+....", +"....@#*;:<:__::_e_e()=#+........@$-pa422aaaaaaam},$@....", +"....+#=:8d7[<<<<<[[<()=#........@$,a000044444004m/,$....", +"....#$&$....", +"....@@*([6c[_jj>);;&&*$+........%%-m00n0399]]~~5(>=@....", +"....@@$'<8<__e'&==**$$#+........%#=i404419{!,,,--=$@....", +"....+@@)(:$#++.....+@$-|000nnn000000f/-$@+..", +"...+@$*;:[7mbghhhgg7:-&#%+.....+#=-ia0n000000000o/,=#+..", +"...+@#$;_<6dhghhhgb7/&*$@+.....+#$-if0000000000n3/-=#+..", +"...+%#*e_776gbb66bg8_>*#%+.....+%=-94n00000000003],=%@..", +"...+%$$:cb|bdm7i7mg8_>&$@@.....+#=-fn00000nnn00n3],=%@..", +"...+%#=5cb6|b7p}c6b7_'&$@+.....+#=,f00000nqln0001{!-%+..", +"...+%$*:8g7cp}_5}p7c_,-*@+.....+#=,f0000ql3o14001^/-#+..", +"...+@%=:7g7}55j!:}8p_(;*#+.....+%$,a00nloo993l0019],$@..", +"...+%#=_6g8_>>,>5}[<_(,=%@.....+#$,20003{{{{o3441|i,#@..", +"...+%#$:8hc5j>,>5<68_(;*@+.....+%=-|000o^{{]fq002^]>%+..", +"....@%$:8g8_,',>5cd6_;)*++......@#-a0003^{{]o0002i/>@+..", +"....@@$:8d8:,>>-:cg6<'&$@.......%#=|00no^{]/f0004i5=%...", +"....++%;:[_:jj,,:<8<(&$@+.......+@#~a02a99^^f204m5-#+...", +"....++@=;(ee:ee(:::e)$#@........++#,pm9|o|9|faa|}-$@....", +"......+#$*;(e:::e(;)*@@+..........+$-,~m|a|a|mi/-#@+....", +"......++%#=)';;;;&)*#@+...........+%%=,/i~pi~55>$@+.....", +".......+@@#$=****$##.+.............+%#$&,>>--==$++......", +"...........@+@+@++++..................+@@#@#@@++........", +"............++++++......................++++++..........", +"..........++@@@@+++...................++@@@%+++.........", +"........++++@@@@@+++................++%@#####%@+........", +".......++@$=)&))&*$#++.............+@#=,55//!-=$@+......", +"......+@%#&;(((('&=*%@+...........@@#$!~9mmmi5,-$@+.....", +".....+@@$$)e::::e'-=*@++.........+@#=-/9aaaa|{/,-#@+....", +"....+@%=;(ee:::eee:()*%@........+%#,~9||afa9faa^/-$@....", +"....+@#)_[__:e((:<[<'=$@+.......+%=~1441ff99|404^,=#+...", +"...+@%*([68<55,,_868e)*#+......+%%-m0004f9^^1n00a/-=@...", +"...+@#*ec6[_e(,'e<7[_>&$@+.....+@=-f00039^{{f400a~!=@+..", +"...+%$*:cb[5,,>>j$@+.....+#=-an00f^{]]9404a^~-#+..", +"...+@$*e8b[5>>>>(:<[:(;=%+.....%#=,f004o]]]]^f041|i,%@..", +"..+@#*&_8gc5>,>-j_[[_e'=%@....+@$-!a000o{{]]91041|i,#@..", +"...@%#=_7gc/>,>>j_8[_e'=#+.....@$=j100q3]{{]91n019i,$+..", +"..+@$$=}6g8:>,',5_8c_e;=@+....+@==!100n3{{{{o1002|i,#@..", +"...@%$&_6h6~5!5j_c6c_()$%+.....%$-j2000looo910001^/-#+..", +"...@##=}bhdmc[~[c7b8:;&$@+.....@$=!10000nqlq0000ai!=@+..", +"...+%$=_bkhb7667bbg8_)*%+......+#=,10000000000001/-$+...", +"...+@#=:7ggdb66c877[(=$@+......+%=,a000000000000m,&#+...", +"...+@##(<87bb7[___:()$@@.......+%$=^40000n03a2a|/-%@....", +"....@#$>5>;)&$#++........@$=]f4n0003{]]/!&$%+....", +"....++#&'5[8bp_'>=*$#@@+........+@$5if40041{]!,==#@+....", +".....@@*&>_~8[_5(-*$#+++.........@#-!~1q00lf^/,*$@++....", +".....+@#$*(<78c<5>*#%%+..........+@$-,m40004f]-=##+.....", +"......+@##;:c[[[_'=$@++...........+@$={a0000a{,=#%+.....", +".......@@#=;e:_<:';&$@.............%#$(~|a24a^]5=@......", +"........+%$$=;(::ee;$+..............+%=-,~^aa||p-@......", +".........++@%=;e(:e;&@...............+%%$,p||a|i,@......", +"..........+@@$=))))=#+................+@#='}_}_,$+......", +"...........+++@##$#@+..................++@#$*=$#+.......", +"..............+++.+.......................@++++.........", +"........................................................", +"........................................................", +"........................................................", +"........................................................", +".............++++........................++@+...........", +"...........++@$$#+.....................+@%&=$@..........", +"..........@#*&;e>&++..................@=-5i|~,@+........", +"..........#*)(_[:)@+..................$>/m20a}%@........", +".........+$=):[6<'#@+................+&,}a004i$%@.......", +".........+#*)ecd[;$%@................+$)5|000i=#@.......", +".........+@#*e[d[e$#%+...............+%=>r000|-$#@......", +"........+@@#$(cg[e=#%@..............%%#$&|000|,*#@......", +"........++%#*([6[e>=#@+.............+@#=-m000f],=@@.....", +"......++%%#$$;_8<:()*%@...........++#%$=-{202a^/,#@.....", +"......+@@##**'e[__e'=%++..........+%%$=--ia042|i,%@+....", +".....+@$$&&));e::_:e)#@+.........@@&-!!//{|aa12|/$@+....", +"....@@@=;';''';(:_[:>#@++.......@%%,~i{{i{i^f20a~&#@+...", +"...+@%#)(:e(e,>-e_8_'*#@+......+##=/^1f9|^]/9102i-$@+...", +"..+@#=&;:_5(;>>&(_8<(=#@++....+@=,!iaa|^{]]/^204^,$#@+..", +".++%=;(e:_:,>>--j:8<'=$#@+...+%%,~^|a1f^]]//9104^,=$%@..", +".+%#)e:___('---)(_8<(=*#%@+..+%$/||1129{////^104^!-=#%+.", +".+@$;_[[<}:,'>>,_[6c}(;-=$#..+#-i20041f^{{{^300019~/,-$.", +".+$=:cb8[__:(5__[6db8c>;('e:::::e(')*+.@$,m2029~i]~i^m||aaaa|mi}>@", +".@#$)e:;>*$$$*$*==&=&&&&&=$+.%$=~||i/,--->--(,5,55555,&+", +".+@#=;'&*$$##$#%##$#$#$**$@..+#$'pi5-==$$=$$$=&$=*=>>=#.", +"..+@$*=$#@@%@+@%@%@@@%@@@@@...+#&>,-$###%@#%#%%#%##%##@.", +"....+@%+@@++++++++@+++@+........+#%%@@++++++++@+%+@+....", +".......................+...........................+....", +"........................................................", +"........................................................", +"..........+@@++.......................@@#@+.............", +"........+@#$=$@+....................+@$-,=#+............", +".......++%*&;=#++..................+@#>5~,=@+...........", +".......@*=);()=@++.................#-,/im}>@@+..........", +"......+$)'e:_(&#@++...............+-}i|12^!$%@+.........", +"......+)e_<[[:>##%++..............+5|v200a]=$#@+........", +"......+*(:<[[:()=$@++.............+,m2400am/,=%@+.......", +"......+*&;e:<<_:,&$%++............+>5p|a4411^!=#@+......", +".......+#*;e:$@%.....", +".......+@$)(__:_()*#%++............@#=}m2222|/-$#@+.....", +".......%$*(}ma00ap-$#%+........", +"......+=(_:ee;=@@++...............+,m2ar|~,#%++.........", +".....++):[:;**$@+................++}a01p,>=%%...........", +".......=;:;&*#+++..................,i|p5>$@++...........", +".......#*)$$@%+....................$>}-=%#+.............", +"........++++++......................+@++++..............", +"..........+...........................+.................", +"........................................................", +"........................................................", +"........................................................", +".........+++@+@+@+...................++@@@@@@+..........", +".......++@+%@%#%@+@++..............+@@@###$##@@@+.......", +".....++%#**=&&&&&*$#@+...........++#&--,!!!!!,&$%+......", +".....+@$=;;;'((e(;&*$+++........++@-,~~ii^9r^~!,&@++....", +"...+@@#=;(ee:_<<_e')=%++.......+@#$,~|||a2442|i/,$@+....", +"..++#$&;(eeee_-:[b7[__:e(&#@+..+%$~a221|^]/f000041aam5$#+.", +"++@$'_[_:e'>-:cd6c____e)*#+.++#&i202f9i]/f00001111a}-$@.", +".@$*(<[_'>>&=e[bc_jee::'&*$+.%=,m401^]]j!f00019f|a9i!,=+", +"+#$&e[[_;==&&j[bc_',:_:('&$%+$=!|00ai!!!!94001{^f219~5-#", +"+#$&:[8e>===&(<8[:,je::e(;=@%$-5a00|],,,,9400f{9ffa|mi,%", +"@$=)ec7_>=*==>:[<_:_:ee::e)#@=,_f00a],,,,{a441aaf9|aa|}$", +".$&;_[8e,*=**-(e__[_5ee_[<;#+&!p200f{>,,-/^a14q1f992q4p&", +"@$&):c7:'=*=$->':_c[5,(_[<'*@=5~a001{,-,-/]^f4nqf^9z04i-", +".%$):[7_>&=$=*->er004^/!---,!92002f9a2a}$", +".@+$([8_e>&=*$*=;<88<_e::e&#.%@=m002|]!!---,i4004aaaa|5$", +".++#)(_ee('>>&==>e__<<_e()*+.+@$}ma||^{~]!,,]|22442|^~>@", +"..++$&);(e('(>&$&;':_c>->'(((>-&&&*#@+.....+=!}~~]]]]{^9^]/!!!-=%+.....", +"@=;((:ee(5_[[_ee''')=#@+....@,~m|aa|9f1404a|^ii/,=%+....", +"@&(:__<<__c7d7c:_:e(&$#+....#5m|22242100000aaaam5&$@....", +"+*);(e(eje[7d8_(('')=$%@....@>}{^99f^f400019^ii},=#@....", +"@$$&->,,',_8bc_'>>-&$#@+....%=-5/]{{^^100n1{]]/!-=#+....", +"+##$$*&--,_7bc5-&=**$#@++...@$$=-,!//{3n00o]!,,-=$#@+...", +"#$)>>>->',}8g8:>>-&=$$$@+...$-/]]]/]{^10003]]/!,-==@+...", +"*)ee(>>,'j}6di},>,--=**@+...-}|a^{{{^9300nl^{{]/!,-#+...", +"*('>-&$$@...>|2039^999n00039^{{]/!-=%...", +"$;:_ee''(!c6h7)&*#+...=pa2|9{^99q00049^{{]/!,$@...", +"$&;e'''(je[6g7}(,'-;-&*#+...&5i|ii{^99n0003^^i]~/5>$+...", +"@*&))->',e<6g8_,,;>)&&*#+...#)5}/]~{^940001^^]]/5!-$+...", +"+#$=&)->;,<8g8_'>>&&=*$++...+$-'!//]i{40003{]]5!,-&%+...", +".@@#$**=->_8d[:&&=$$##@+.....@#$&>,,/]3000|!!,-=$$%+....", +"..++@@#$$*:[b['=*##@++........+@#%$--,a000^,-=$#@+......", +"....@@%#$$ecb['$*##@+...........@%%$=-|004^--$$@@.......", +".....+@##*e[6<,*##+@+............+%$=-|004^-=$@%+.......", +".....+.###e[6<'*##@+.............++%$=9004i-=$@+........", +"......+@#$([b<'*$%++..............+#$=m001^-=#%+........", +"......++@#([d[e=$#@+..............+@%$m0009,-$%+........", +".......+%#([d[:)=#+................+#$m000f},$+.........", +".......++@'[d[:)=#+................+@#i000|},=+.........", +"........+@);_()*$@+.................+@5i2m},=@+.........", +".........+$*=*$#@+...................+=)(,=$#+..........", +"...........@+@++......................+@@@@+............", +"............++.+........................++.+............", +"........................................................", +"...........++..........................+%...............", +"........+@$*=$+.....................@%=>,&@.............", +".......@#$&);&#....................%$>5_i,$.............", +".......+$*)(e;$....................@&)}m|p).............", +".......@#$;:[(*+...................@$=pa0i,+............", +".......+@$;_8:&+...................+%&p2015+............", +".......++$;[6:)++..................+@&i00a}@+...........", +".......+%@;<6_)@+..................+##p402}@+...........", +".......+%$;[6:)++..................+%&i00a}@@...........", +".......@+#;<6_;%++.................@%$p002~#++..........", +".......@@#;[6:;@@+.................@#$i002p#@+..........", +".......@@$(_b_)#++.................@#=i402}$@+..........", +".......@@$;[6_;#@+.................@#=i002~$#+..........", +".......+@$;[6<;#%+.................@#&i004~$%@..........", +".......@@$;[6_;##@+................@#=i004i$$@+.........", +".......@@#(5~i}=.......", +"............++@#*&;&$...................+%#$>5p5&.......", +"..............++@$*$+.....................+@%&>=@.......", +".................++..........................+@.........", +"........................................................", +"........................................................", +"........................................................", +"............+.+++.+.....................+.+++.+.........", +"........+++@+@++@@+@+++.............++@@@%@@@%@@@++.....", +".......+++%@%####%#@%@++...........++@###$$$$#$##%@+....", +"......+#$===&=&*&=&&==$%@+........+$-,,,!,!,!!!!,,-$@+..", +".....++=;((('(,(,,(,'>)*@+.......+@,~^m^^^^^^^^^{~/-#+..", +"....+@@)(___________::'&#@+.....+%#/|232131a32a11f^!=%+.", +"....+@#;_<<:_:_:_:__}__>$%+.....@#$~2022aa13a11114f]=#@.", +"....@@#([8c_j55j555_[[<'*#@+....@%=m4041999o9oo34n4i,$@+", +"...+%#*e[b~_jjjjj555p7c(&$@+...+#$-|00q399999oo3q009!=#+", +"...+%#=:86c_j5,555/_86m7i78i7i767m8:-*#@..+%-/]1n00nnnnnnnn00003/-$%", +"..+#)(_e~cp[[}[p7bhb85,>=#@+..+@-5]fln4qqlqq0000nf^],=@+", +"...@%$=,_c[}~}~}76hbp:>&$#++...%%=,^1nqllllln000qo]!=$@+", +"...+%#*e[7p}<_:/~877<:'&$%+....%#=-940qll333l0004f^!=#+.", +"...++#*j[bc}5/55_}p<_:(&#@+....+@$-9n0nloooo3lq41|^!=#+.", +"...+%##e[b[:!5jj55_:::e)#+.....+%$=|0043oo99o93a1a|/$+..", +"....@@$([8p_5jjj,(,''')*@+......%#*^40q3o9999^^^ii/-#+..", +"....+@#'_8<__:5e'>)&&=$#+.......+#$i20413o99^]/!!,-$+...", +".....@@)e_<___ej(-$*#@@+.........%%}|44111f9^/--&#@+....", +".....+@&(e__[<_e'&$#%@+..........+#!ia24041a{!=$%#@.....", +".....+@$=>:[7<_e'&#@@+...........+@&,]|000a|i!$%%+......", +"......+@$$ecd7*#++.............+#=>|0004|~,$@+.......", +"......++@$;:<_(>&$@@..............++#=pa02m~!=%@........", +".......++%*);;=*$@+................+@#)_i~5-=#+.........", +".........+@%##%@++...................@%#$$%%@+..........", +"........................................................", +"........................................................", +"...............+.+.........................+.+..........", +".............++#%$##+....................+@$$==$@.......", +"...........++##*==)=#+.................+@$=-,,/,$+......", +".........++@%$*=);;)$+...............+@@#=-,}pi}-@......", +"......+++%@##=>(((e;*@+...........++@##$=,]^^m|~>@+.....", +"....++@+%###*>e:_::'&@+.........++@@#$$=-]|a1a|i!#@.....", +"...++@%##$*=='_c<_e'&#@@.......++##$==-,,{1042ai!$%@....", +"..+@$&>;>'>>'e_c[<<:;$%+......@#-5~]]{]{{f20044a~=#@....", +".@%*;:<__<_::_}cc87<'*%@+....@%>pa44441aa1lqn004^-#@+...", +".@$&:8d6668cp[<$+.", +"....++%##=e[6$@.", +".....+@%##;_<&**&)=*#+.......+@%$=~a04|^]!--:},>$@..", +"......+@%#)(::_:(-#$$##@+.........+%#$/^aaa1m/===&$#+...", +".......++@$&((:_e)$#@%++...........+@%>/^|a1|/=$#%@+....", +"........+@$$&;e:e)&*#@+.............+@=-5i|a|~!>$%+.....", +".........+@#$;;:e;;&$++..............+@$*_ia|i~5&@+.....", +"..........+++=;:e(;&$@+...............+%@,ia|mi5=@+.....", +"...........++#&));;)*+.................++$,}}pp_>%......", +"............++#$=&;&*#+.................+@$=,5p5)$@.....", +"...............+$*)&*@@...................++=>}5>#@.....", +"................+$*$#@......................@=-=$%......", +".................@+++........................%@@+.......", +"........................................................", +"........................................................", +"...........++++++......................++++++...........", +"........+++++++@++..................+@+@@@@#@+..........", +".......@$=$$#*);&$@+...............%&,==$-/p5-%+........", +"......+$&;&=$)(_(=#@+.............@&5~5,=/m2^,$#+.......", +".....+@=;(;=='_[:;$@@+...........+@,~|]!,{20a~=%#+......", +"....+@@)e_e>=e<6_'$$#++.........@@#}|2|]!9404{-=$@+.....", +"...+@@#;-=$$++....@$==-,|00039ln0q3]/,==@+...", +"+@$**$=:c6p:j}7g8/>-*$$%++..+#----,fn0q39l00n3{/,-=$@+..", +"@*)''';<7g7~:8mg6}5,,-=*%+..%-}ii{i400n33n0003o^{/,-#+..", +"@&e_:eecbg78~7dkdc:5j',*#@+.@5|2aff0000nln000n3o9^{,=%+.", +"#;<[[<[8bhb7cmghg6p~__()$%+.$i4004400000000000lllf|/&#+.", +"@)(::::86g67}8dgm8__5('=#@+.@}maaa|n000nln000n13f^i,=#+.", +"+$&);;;&$%@..+=5}~~i4000l3q000q99^]!-%@..", +".++##*=:cbp_j}cmc}j'&=$#++...+@$=-,a00q39ln0n19{!,=$%+..", +".+++##*ecb-*#@@+...++@$&,|0049{oqnq39{/-=#@+..", +"..+@%$#e[6<5,j_[<_:(-*$@+.....+@%=*|00qo{o1044|9/-=#@...", +"...+@@$([6_(-(5__}<5>$#%@......+%%=m0029/^f31149]-$%%...", +"....+@#(_6_(->,e:_$#@+.......+#$m402^/]^9324a]-$#+...", +"....+@@;<6_;&&>>(_[_'=$%+.......+%%i402i!!]~9202{,=%@...", +".....+%;<8:;====;_[<(*$#@+.......+#i40ai,,,,i304^,=$@+..", +".....+@;_8:;$$$*)e[_(&$#++.......+%p20a~----_|02m!-$@+..", +"......+)e[(&####=;;;';&*@+........+}|0m!$$$$,~iii]5-#@..", +".......&(_;=#@#@#*=&;(;=#@........+5m2p,$%$#$-,5~mp,$@..", +".......*;e)*@+@+@@%$&(;=$++........)p|})%@@@%%#&5mi,&@+.", +".......#*&*@@++++++#$==$@+.........$>5-#@+++++@$&,,&@+..", +"........+@@+....+.++@#@+............@@@+....+.++#$#@....", +"........................................................", +"........................................................", +"...........+++.........................+++..............", +"........++@###@++...................++#$=$%++...........", +".......++@$)(&*+++.................+@@-}m5-@@+..........", +".....++@@#;:_cdc:>-==*$%@+.....@%$-!!!/]1000f]/!!-=$@+....", +"+%#=':__5([6h8_jj:5';=$@....+#$,{a33o94000399oo^~,-%....", +"+#*):76c[_cbkbc__[c_e;&#+...+$,/10004l0000032404|~5=+...", +"@$*'[bkbc~6dhb7}cc68_()=+...#=,i4000nl0000nl00002m}-@...", +"+$*-<6d8}_pdhmc:}[8[_(;*+...@=,/4000l3n0000f10002m~>@...", +"@$*&<6d8_5p7g7}j:<[<:(;$@...@=-/200n194000l93404am~-@...", +"+#*&_8dp5,[7g7_>j_[<:(;*+...@$-!100qo^l00n1{9304am~>@...", +"@#$=_7gc_jpbh7}5_<8<:(;*@...@$-j100qlo40003f34041m~>@...", +"@#$=_7dm<_8bhbc_@...", +"+##*_6g6c~7gkb7_c768_()*@...@$=,10000400000400004m/)@...", +"+%#$(<8[_:c6h7[:__8<:;)$+...+#$-90001fn0000f2404ai/&+...", +"+@#$;:$%....", +"..++##$***ecb_(=$=**$@+.......++$=--->|002^,-,)>=#%.....", +"....+@@%#$(}m}&+.+..........", +"..........@$=$+.......................%&,=%.............", +"...........+++.........................+@+..............", +"........................................................", +"........................................................", +"...............++++++......................++++++.......", +".............+@###@@@++..................+%==$%#%@+.....", +"............+#*&=$*$#@@+................+$>5,--&$%#+....", +"............+$&;;&=**$$+................@&5i~!,,-&=@....", +"...........@+&':e'-&&*$@+..............%@,i1|i/!!,=%+...", +"..........+@#):c<:'>-&=#+.............+#$/a02f^]/!,$+...", +"..........@@#;<7[<(('>=#+.............@%$i200199i~,&@...", +".........+@##(<68[_:'>=$@............+@$=^40001fi],=@...", +".........++#$;_c[[<_(&$#+............+%$-i300041^!-$@...", +".........+%$*>e(_cm7c8}e-=$++..........+@-]^10000n4|/,=@+..", +"........@@=>e_8d77c_5>=$%+..........@#,]m4000n0l9],-#+..", +".......+@@$-'_cb78p_e>-$@+.........+@%-/{3000n4lf]/-#@..", +".......+@#$=-_8bmc}}5'-=#@.........+#$=!/1n00nl1f{/,$@..", +"......+@@%**-jp668<_5'>=%@+.......+%#$-,/9q00n43f^],$@+.", +".....@+@#$*=&:[b7i8<_e'&$++......@%%$=-,!fq00nn43|{!=@+.", +"...++@%##$*=-!}76878}_(&$@+....++@#$==,!/9l000nn419!&%+.", +"...++@#%*$==-5~877m8p_5)#@+....+%#$$--,!/oln0000q1f/=%+.", +".+@#*=&->>,je<[8788c<:'&%@+..+#$-,!/]]^994q0nn0n4|i!$#+.", +".+#$);e(e:__c[p[c88[e(-=%@+..@$-/i9|99140nq0nn04f^/,%@+.", +".%*=':___<[8678pc[[<(-*$@+...%-,ia222400000400049/,=#@..", +".@#*)(::::_<<_:e5:_5('&$@@...%$>}maaaa2222afffaf^i!-@%..", +".+@$)'eeeee((;,;>'>'(;;*%+...@#=/i||||9^mi{~]i]i^i~,%+..", +".+@@=;;';;)*$*$*$$$*'e'&+....+@#,~iiii/,----=--,i|i,%...", +"..++$&)))-=*$###$%#$&))$+.....+@>,/}}/,-=$*$=$$-5}}=+...", +"...+@#$$**##@%@+@%@%$$#@.......+#$-=--=$##%%##@#=-$#....", +".....+++@@@@+@+@++++.+...........++@@@@@%%+@++++.+......", +"........................................................", +"........................................................", +"...........++++........................++++.............", +".........+@#$##@++...................+%=-=$%@+..........", +".......+@+$&))=*#@+................+@@&5}/,-$%+.........", +"......++%#&;e;)=*#++..............+@#$5p|i/,-$@+........", +"....++@%##;:<:'=$#%@+...........+@##$=]a4aij-$#%+.......", +"...+@###=$([6<'&$$$@+@.........+@$$=--^004^!--=#@@......", +"..++@$$$=&:cg[:==*$$%++.......+@#=--,!|000f!,--=#@+.....", +".+@#&'e(''-&=$#@.....+%$5i|^{^000029{{/!,-=%....", +".+$=(<8<__7dybc__:e(';=$+....@=,m400110000031f|m{},&+...", +".#$)<6gb8[bhxgbi[[__e(;$+....$-/40000000000n0442|m~-@...", +"+@$=!}[p<~__(;)*#@.....%$>|004a{o1q44l1a^i/-=@....", +"+@@*:86<5'j:_~[p_5'>=*#@....+##>a0049{9f1lq41f^],-$%....", +".@@$e86<(,,j5_p8_(>&$#@@.....@%-|0049{^9o1qn29]!-$#%....", +".@@$([8<5>,>,:[6[j&=##@+.....@#=m004o{^{{30049!,=$@+....", +".@@$([8,:<6&*@%+.....+@#}ma2113of3403^]!-%#+....", +"..+@=(e:<<__5__<:(>)*#++......+%,i|a4021f112||]/-$@@....", +"..+@$=):[7<<:5('(:e(;=$%+.....+%>5_a0002|f9m^||m~,&#+...", +"...+@$=ecb8<:(;-;e$,}mi~/,=@...", +".....++%&&&**$#@%$*===*#+........+@$,55)>=$%$=-(,,>$+...", +".......++@+@++@%@++@$$$%+..........@+#@@@@%%@%@@&)&#+...", +".........++++@++++++@#@+.............++++@++++++#$%+....", +"....................+++.........................+++.....", +"........................................................", +"........................................................", +"........................................................", +"........................................................", +"......++@+@+@+@+@+++..............+@@@@@@@@@@@++........", +"....++@@%@##%#%@%@@@++..........+@@@##$$#$###%#%@+......", +"...+@%###$#####$#$##%@+........+@#=$==$=$===$=$$#%+.....", +"..++*)'>&*&$*$$#=&>)&$#@......+@-/i]!,,--=-=,!]/!-=%....", +"..+#)e_:,>-==$==-':(;&=#+.....+$}|2f^]/,,-,,/ia|~5,$+...", +".++#(-=&**>:<_e'&#@....+%$^4029{]/,!,,{f42|i!=@...", +".+@#([8<5>>-*&&&,e<--&&==,e<<:(;*@+...+%&m0049{//!j,!{944|^~>%+..", +".+@$([8_(,--&&=&>:_<:(;=%+...+#=m0039{//!!!!{a423m~,#+..", +".+@$([85[<_e;=%+...+#-|0049{/j,,!!{f42a9i,%@..", +".@@$([8}j--==&=&>:<_:e;=%+...@%=m0019]/!,j,!{344a|ij#+..", +".@%$([8<(,--===&,5[<_e'=@+...%#-m0019{//,!,!{fq4f|i,%+..", +".+@$([7_j--====='5<_:('=#+...+#=|001^]/!>,!j{f44a9i,$@..", +".+@$([8_(--&=*==,:[<_e'=@@...+#=m0019]/!,,,j{3q41|i,#@..", +".+@$([7<5,,--->-j_[<_(;&@+...+#=|0049^{]//]/93041|{,#+..", +".+@$([8[_e!j,,,(:<7[_e'=%+...+@=m0003o99{^^^a40029i,#@..", +".+@#([7[[__:_::_<868',e_c<:';*++....@$i402f^i{~~{{9204a^~>@+..", +"..+%;:[:'-&*=$=*>(<::;;*@.....+#pa0|i/!,,-,,]|42ai~)%...", +"...@)e_()***$#$$&;ee';&$+......@}|2m/,--===-!i||ii5=+...", +"...+$&)&$$##%##$*&))&)$#+......+=5}5-=$$$$$=-!_/55-$+...", +"....+###@@@%%@@%%#$$###.........@$=$%%#%%#%%#=*&=$$+....", +"......+++++++++@+@@@@+@...........+++++++++%@@#@#%@.....", +"........+.+......+++................+.+......+++........", +"........................................................", +"........................................................", +"........................................................", +".......++++++++++..................++++@+++++...........", +".....+++@@@%@@+++@+++............++@#####%@@@@@++.......", +"....+@#####$$#$##%@++@+.........@#$$$$$=&$=$$#%@@@+.....", +"...+%$*$$*$$**$*##$#%@%+.......+#=------,---==&$##%@....", +"...@#&-------&-&&===*$#@@+.....@=!///////!/!!!,,--$%@+..", +"...@&e____:5jj!5555(,(;=#@+....#!|2133o999oo99f9^^~,&%+.", +"..+#(<7877[<_<&&&=#++.....+@$*]f144qn00q9]!!!,$@+..", +"....@@#&>(5__p8bc5-&=$$@+.......%#$,~^ff1q000o/!,-&%+...", +"....++@$*->>,#....", +"..............+@#*&)**$@..................+@$>55,)&%....", +"................++@####@....................+@#$$$$%....", +"..................++@@++......................++#%@+....", +"....................+@+.........................+%+.....", +"........................................................", +"........................................................", +"........................................................", +".........++@+@@+%+@@+++..............@+@@%@@%@%@@++.....", +".......+@@#&)**#*=&&*#@+...........+@%&,/,-$-,5!,=%+....", +"......++#$);:'&#&(e(')*#+.........+@$&/iai!=5^ami5,$+...", +"......+@$=(<8:'=;_c*%+.......@#=-,|004{!i200am]-#+..", +"....+%#*=&e'_[<_e;&#@+.....#=),!}a000f]{1043|i!$%+.", +"....@*&));_7d8:>:_c[<_()$@+.....#-5!/~2000f{f1n4419/-%+.", +"....$=);(([6g7[5_c88[__;&$@.....=,_i^|0000qf1000q4ai!&#.", +"....$&;e:=#....+=5p|az000001q000004|],$.", +"....@$=&;(<6g7[e}p87c<:;=$@.....#=,5~m4000qf1q0004ai,=#.", +"....++#$*&:8dc:,:<8[<:e)$@@.....+@==,5a0003{31n4qa|/>#@.", +".....@+#$$e[dc5,j_p[_e(&#@+......@@$=-|000f{91q41f^!$#+.", +".....+@@$*ec6[e-j_c<_:(&#@+......+%#=-|000f]910q1fm!$@+.", +"......+@$#e[d[:-(_p[_5;&#++.......+%==|000f/^1401fi5$@+.", +"......+@%$e[b<5-j:[<_e'=#@.......++%$*|0009]93q419i,$%..", +"......++##([d[5-,_[__:;&@+........+%$=m000o/^3041fi!%@..", +"......+@@$([b[e>,_p<:e'=%@........+@#=m0009]^344a|i,#@..", +".......@@#(@...", +"........++):[_e(::[_e;&$+...........+@}a02|^a242|i!=@...", +"........++*;(;)=;(e(;)=#+...........++)pmi_!~m|^p/,$+...", +".........++#$$$%*=))=*#@.............+@$=&*$-,_/(>=@....", +"..........++@@@@$$=$$##+..............+@#%##=-,-=$$+....", +"...........+@++++@##@++................+%++@@#$$%%+.....", +".................+.+.........................+.+........", +"........................................................", +"........................................................", +"...+@###$##@+%+@+@+++..........+%$===$$%@%@@@@+++.......", +"..@#=;';&&=*##$$$#@++++.......%$,]i]/!,-$=&-==#@@++.....", +".@#$;:_:e'-=*==&=*$$%@+@+....%$-ia2||{/,-,,!,-=&$%@@+...", +".@$=e[8<_e'-*&);>)**$#%+++...%&(|0002f^/,!/]]/,-=$#@@+..", +".+#*;:[__:(5,((5e::((;)&*#@..@$>ia021f99^99f|fa|^]}!>=@.", +".+@$)e::::___}___[7c<_:';&#+.+#=_|a|af132121400042|i~5&+", +".+@#&;(e:5_888[c7bgg78[_e'*@.+#$!]m9ff1n000000000002|i>@", +"..%@=)>(5_[[8[__[8668<<:;)$+..%#,/{9f14400110000002ai_=+", +".+@@$&>,:_~<8<:,_[88<_e;)=%+.+%%&!]^fll001f^140042ri/($+", +"..+%#$-'/<<[p:j-'_<<_e;)$#@+..@#=-!^34q4q19/^1442|i5-$#+", +"..@%$=-(_[p<[:'-'(::::()##+...@%=,/924q44f{/{91aff^/=$%.", +"..@@*)':<8[[_5'=-;(':ee)$%@+..%#,/io4nqq1f{!/~^^a||/=#@+", +"..@%=>(_[8c<_e,=&&-;e_e;$@+...@#,]^100n44f{j!j/i92a~-#@.", +"..@@&(:_p[p[_j>=**=;e_:;$%@...%%59a1q0q419],,,,]|4|~=%%.", +"..+#'_c<_:___(>==**;:[_;*@+...+$i2043f1119],,,,]a04i-@@.", +"..@#ec7[5,(e_(>==**;:8['$@@...%=|000f{9|2^],,--~200i-%@.", +"..+#(c6_'>,:_j-***=;_8[($@+...+$m002^]^a2^/,-,,]200m-#+.", +"..++&(:;)&(<[:>=*==;:7c'*%+...+@5mai}!^101],-,,~20ni>#+.", +"...+$=)&==(<7_'*=$=;_7[($++....@=,5!,,m402{,,-,p200m*%+.", +"....+%$##$([8<,&&&&(:8[($@+.....@$==*-^004{!!j!^z00m&@+.", +"....++%%##;:[<:(::__[[:)#+......+@%#$=pa04a9|a2200a}=@..", +"......+@%#)e<[[c[88c[:e&#@........+%#$}|4000000002|5$%..", +".......++@=;:<[866d8[e;=@+.........+@@,ia40000000|p,%+..", +"........++$=);::_:__;)=#+...........+@&(}iaaa222i_,$+...", +"..........%$*=);;;;;&*$@+.............%&-,}ppii}5>&#+...", +"...........+%%$****$#++................@#$&>>))=$@+.....", +"............+@@####%@+..................+@#$$$$$@++.....", +".............++@+++++....................+@@@@%++.......", +"................+...........................+...........", +"........................................................", +"........................................................", +".........++++........................++++...............", +".......@$==$$#+++++@@@++...........%-,,-=$@+++@@%%@+....", +"......+$);))&=$@@@@#$=$+..........+&}i~}5,&%#%#$&>&@....", +"......+='e(;;&*%%##$$=*#+.........+,i|mii!-##$=--,>*+...", +"......+*(eeee;&$*=&;(e'&#+........@(i|r||~!=-,5~m|i5$+..", +"......@=;e:__(>$&)'(:[_;$+........@,p|av2|]-!/ima02p=@..", +".....++=;e__[:'=-;(:[8[($%+......+@(i|140f{,/]^1000m-#+.", +".....++*&;:[8_'&;e__<%+.", +"......@$*):[6<(-':<<::'&*@+.......@=,/|0049/^o04aai5>#+.", +".....++%$*:[dc5>(_8[e;)=$#+......+%%&,f0009]9200|i},=$@.", +".....+@%$=e[6c}5__<_()=$#+.......+@$=,900nlo1102m/,-$@..", +".....+@##$e<77[[[__e;&*#@+.......+%$=-9400044l3|~!-$%+..", +".....+@#$=,_c876[&$@%+.......+%#=-,^1000001^]!=%#+...", +"...++%##=&j_c6gh6~'-$$#++......++#$=,!93n00004{/-=*%+...", +"...+@$=->':_p86d8-&;(ee(;)=##+...@$}|2244||i]/!pm||mi},&$+.", +"..+#)e_:e(;&*=$$==);;(;)=$@...+$_|2||m~!-,--,,}~pmi/,=%.", +"...@&(:;;&=$#####%$=);;)=$@....%5m2i~5,-$$$$$$=,}ic/,&#.", +"...+$&;&**$@@%@+@@@#*&=$%%+....+=5}5>-&#%##@@%#$>,,&$#+.", +"....+@%#@@++++++++@+@@@@@+......@#$$%@@+++++++@+%###@+..", +"........++++.........+..............++++.........+......", +"........................................................", +"........................................................", +"........................................................", +"........................................................", +"........................................................", +"...+@@#@+++....................+%%$%@++.................", +"..++#*$$#@+...................+@*--=$@@.................", +".+#$=&)=$$%@+................@$=,5/!-=$@+...............", +"@$&>(eee'>=#++..............@&5~^|a|i],=@+..............", +"+&(:_<[_:e;*@++.............@5ma24011m~-#@+.............", +"@)':<[8<<:'=#@++............@5m|400042{,$@++............", +"+$&;e<[<<<(-##@+++++@##+@...+&5p|40444m/=$%@++++%$$@@...", +"+@$=(:[[[$##%%%%#$&=$#@+..@#&~a240na]-=$###%=>!,-$@+.", +".@@%&(:[76<(=*$#$*=;;:;&#+...@@$5^|0004^,-===-,/i|i5$@..", +".+@@&)e[7g[,=$$#*);(:<:)$+...+@#!~90000^,-==-/~ma4|}=+..", +"..+%$&;[bh8(&=$**;(e<[_;#+....@%-!i000q9!,--,~ma404~$+..", +"..+@$=):cdc5>-=*-;:::e(*@+....+@&,/1000f]/,-/iaaa|m,#@..", +"....##=:[8<:,>&$;(_:(;&$@+.....+$=,|000f^]!-]m2amp5&@+..", +"...+@@#'_8[_e,-*;e<:;=$#+......+@%={20q1o^/,]|4|i,=$+...", +"....+%$)(_<[c5>=&;(;&$#++.......%#=}m22009],5~mp5>$%+...", +"....++%=>(_c6<,=&&)&$#@+........+@%,]^100q^,!!}!=$@%....", +".....@@#$&_8hce=**#$@@@+.........%#=-510009,,-==##@+....", +"......+%$=(<85~}~}5&+...", +"..............++%#$=&;)#+.................+@%$&,5~/&@...", +"...............++++#*)&$+..................++@@&-}5=+...", +"................+.++#$#+....................+.+@$=$@....", +".....................++..........................++.....", +"........................................................"}; diff --git a/wmMatrix/images/large.xpm b/wmMatrix/images/large.xpm new file mode 100644 index 0000000..f228dac --- /dev/null +++ b/wmMatrix/images/large.xpm @@ -0,0 +1,1684 @@ +/* XPM */ +static char *large[] = { +/* columns rows colors chars-per-pixel */ +"14 216 1462 2", +" c Gray0", +". c #000701880019", +"X c #001d02930027", +"o c #0023039c003d", +"O c #002d04750053", +"+ c #00c204aa0107", +"@ c #002c05810044", +"# c #00bc0537011b", +"$ c #0139055b0165", +"% c #002a0655005d", +"& c #00cb066f011a", +"* c #0009075f0018", +"= c #00f007ec016a", +"- c #0104061d0149", +"; c #013607860175", +": c #000b0877002e", +"> c #00e6087b0145", +", c #0003096a001c", +"< c #00f209b60178", +"1 c #0167087d019e", +"2 c #0167096f0193", +"3 c #01c808b30221", +"4 c #00090a80002c", +"5 c #00d10a51014f", +"6 c #000a0b85001c", +"7 c #012c0a84019a", +"8 c #01180b2e01ca", +"9 c #01d90a8f0243", +"0 c #01b70bbf0268", +"q c #021d0a380279", +"w c #02430bd802af", +"e c #000f0c71002a", +"r c #006e0c84012c", +"t c #001c0d86002e", +"y c #00520ddb01ee", +"u c #011f0ca80178", +"i c #01860d8f01c1", +"p c #00090e860013", +"a c #00aa0e33014f", +"s c #00000f6b000e", +"d c #01980f330195", +"f c #01740e780277", +"g c #018d0f9a0260", +"h c #02450c46028f", +"j c #024b0dc0024b", +"k c #031a0c9f0364", +"l c #03360dca0376", +"z c #02150ef40277", +"x c #025e0ef60324", +"c c #025b0f0d02a6", +"v c #032a0e6e03bd", +"b c #036b0f8203b0", +"n c #000110840014", +"m c #00f410bb01dc", +"M c #0019117f0044", +"N c #00e5112f0158", +"B c #019a10d901d8", +"V c #013411b601bd", +"C c #01f910590272", +"Z c #019e11470205", +"A c #000012a4000d", +"S c #000012e9012c", +"D c #000013c90000", +"F c #00d5137e0134", +"G c #0183138e01f2", +"H c #01ad139502fe", +"J c #0251109302d1", +"K c #02be107e033b", +"L c #024b118102ea", +"P c #02ce11be0342", +"I c #033b10a803c2", +"U c #034a119e03b8", +"Y c #02641215034f", +"T c #02c413b003b3", +"R c #035012c703f8", +"E c #0341135d03e7", +"W c #03ec10c30463", +"Q c #0374117f04a0", +"! c #02f4125b040f", +"~ c #038a12b70415", +"^ c #03ab13da0461", +"/ c #000014c2006c", +"( c #002a1598003b", +") c #00f9155c0111", +"_ c #01a9149e0233", +"` c #01821549026f", +"' c #000016ad0000", +"] c #0009178f0003", +"[ c #008917fb0101", +"{ c #013916eb0177", +"} c #0222146802a3", +"| c #0277159602ba", +" . c #02b915460388", +".. c #034d141903cb", +"X. c #031a158b0399", +"o. c #025016f302d6", +"O. c #02f8163703b3", +"+. c #032a17de0383", +"@. c #02d1145c0414", +"#. c #02dc15b8040c", +"$. c #039814870455", +"%. c #045c12d00490", +"&. c #051b13d10574", +"*. c #0425142104a4", +"=. c #04f3141a054b", +"-. c #049715db04d9", +";. c #055114580564", +":. c #04e316fc04eb", +">. c #048d174a056a", +",. c #057d16630568", +"<. c #05a11611064d", +"1. c #05e317dc0648", +"2. c #000018a1000a", +"3. c #000019dd0000", +"4. c #013f189801a9", +"5. c #01f7190f0296", +"6. c #00221a59002b", +"7. c #00001b7b0000", +"8. c #02e718f302fa", +"9. c #023718540339", +"0. c #0379189b03c2", +"q. c #03241abf03c6", +"w. c #038e1b5403cb", +"e. c #03b818980430", +"r. c #03fc19930489", +"t. c #03891a8a0449", +"y. c #03d81b22047b", +"u. c #001d1ca80026", +"i. c #00001de20010", +"p. c #00e31daa014a", +"a. c #01d11c02022a", +"s. c #00001e810012", +"d. c #00001f450000", +"f. c #02601c920231", +"g. c #037e1c5c03b7", +"h. c #034b1d5e03e6", +"j. c #020b1e0202d7", +"k. c #02871fcc0223", +"l. c #03871c45043b", +"z. c #03841f380450", +"x. c #045518dd052c", +"c. c #045d19c904b3", +"v. c #04db19820534", +"b. c #058619b505d0", +"n. c #04011ac50505", +"m. c #04ae1b82056c", +"M. c #05481ab005a1", +"N. c #05111b740562", +"B. c #05971a7a062d", +"V. c #059b1b7d063f", +"C. c #06691a26063c", +"Z. c #06481be606f4", +"A. c #074d1abe07dc", +"S. c #04371d3704a2", +"D. c #05421d1005a3", +"F. c #05a31c3b0673", +"G. c #058c1e0b057c", +"H. c #05c61e7f064d", +"J. c #05d21fb70711", +"K. c #063f1cc10715", +"L. c #06541d020683", +"P. c #069e1d810762", +"I. c #07401cac0757", +"U. c #07091da2079a", +"Y. c #06861e20066d", +"T. c #06cd1edd07a1", +"R. c #06441f47062b", +"E. c #06e81fc90759", +"W. c #077d1ba90876", +"Q. c #091c1d9d09bc", +"!. c #08b61f9f0888", +"~. c #000021a70000", +"^. c #001222780067", +"/. c #009f22e70121", +"(. c #0000232e0000", +"). c #02be20c00225", +"_. c #029a239d02a9", +"`. c #02e4233a03ce", +"'. c #000024a80067", +"]. c #0000258f0000", +"[. c #01bb24390180", +"{. c #01112564011e", +"}. c #000026450000", +"|. c #000027870000", +" X c #032925fc02b4", +".X c #03e527cc0419", +"XX c #045321420427", +"oX c #04e221ee059a", +"OX c #050321120578", +"+X c #048b23950489", +"@X c #051e22330555", +"#X c #05a822790654", +"$X c #061e20a706c2", +"%X c #062e21d70612", +"&X c #076020800774", +"*X c #067c22e60691", +"=X c #06ab22ac0733", +"-X c #064423ab0682", +";X c #06fb235a071d", +":X c #07aa22170797", +">X c #07032383077b", +",X c #047124b80445", +"o c #04d8360303c4", +",o c #04fa34af04ef", +"O c #085a45560974", +",O c #0e35403b0db5", +"+ c #1a6943971add", +",+ c #181b4ba517bb", +"<+ c #18434aa319da", +"1+ c #18c64d2a1979", +"2+ c #1ccb49361d1a", +"3+ c #110953b40ffa", +"4+ c #111850261156", +"5+ c #12055250127b", +"6+ c #12fb531512b2", +"7+ c #135252d9135e", +"8+ c #1248548f125c", +"9+ c #17f45027177e", +"0+ c #15f2547d1533", +"q+ c #14e7574614b0", +"w+ c #167e55c415fe", +"e+ c #132459771371", +"r+ c #127f5d121258", +"t+ c #144f5a3b14c0", +"y+ c #17375a08179f", +"u+ c #17455b7c1742", +"i+ c #16095e9016be", +"p+ c #1816530c17be", +"a+ c #18af5103182a", +"s+ c #195950fb1860", +"d+ c #19d650b91963", +"f+ c #18d3529619a6", +"g+ c #199b52c6186a", +"h+ c #19bb52ec1925", +"j+ c #1975536d1858", +"k+ c #198453311960", +"l+ c #1a2c51c519e9", +"z+ c #1a58539319c7", +"x+ c #1ad0530f1a7b", +"c+ c #1be153331b04", +"v+ c #18c554451830", +"b+ c #18e755dd1873", +"n+ c #1974555718b3", +"m+ c #191f56141885", +"M+ c #1a27559019e6", +"N+ c #1a5c561c18c5", +"B+ c #1a18572c1a5f", +"V+ c #1b3556321ab9", +"C+ c #1c4651a41c0d", +"Z+ c #1e0c53fa1e67", +"A+ c #1ca656a01bd9", +"S+ c #1ca754431c84", +"D+ c #1d57560d1c1b", +"F+ c #1e8d575b1d50", +"G+ c #180559f41881", +"H+ c #194b58331983", +"J+ c #1905597e1976", +"K+ c #19e8595a1a81", +"L+ c #19585b9e18a1", +"P+ c #1b2059061ac0", +"I+ c #1b435b4f1aeb", +"U+ c #19075e4e1820", +"Y+ c #19b55ff81959", +"T+ c #1aa75db31a36", +"R+ c #1adf5fbb1a1d", +"E+ c #1c53585e1bce", +"W+ c #1c725a801ba9", +"Q+ c #1d5458d81cb3", +"!+ c #1db3592a1d28", +"~+ c #1d485a631cba", +"^+ c #1d085a8e1d27", +"/+ c #1e3758641ccf", +"(+ c #1e61589d1e32", +")+ c #1f2d593e1f1b", +"_+ c #1e615a831d4c", +"`+ c #1eda5b951ddb", +"'+ c #1f5c5a821ea1", +"]+ c #1fb85b721f3e", +"[+ c #1c3d5d5d1b65", +"{+ c #1dba5ce91d4b", +"}+ c #1dfd5fe81dbe", +"|+ c #1e775cec1dc6", +" @ c #1ef05d5b1dbe", +".@ c #1fb45c321e8e", +"X@ c #1f9d5d771ea9", +"o@ c #1fc75de71f81", +"O@ c #1e575ecb1da8", +"+@ c #1ff0511d2095", +"@@ c #033067a70339", +"#@ c #05fb630d0558", +"$@ c #000068fb0000", +"%@ c #013e69420146", +"&@ c #00006c520000", +"*@ c #043469ba03fc", +"=@ c #07f06b3c0631", +"-@ c #05be6f0c0585", +";@ c #0acd61870a2b", +":@ c #09ea66850a39", +">@ c #000076350000", +",@ c #00007aa60000", +"<@ c #071979ed073d", +"1@ c #0af373380a5d", +"2@ c #0b3977ba0af4", +"3@ c #0cf070770cab", +"4@ c #0e0574900e08", +"5@ c #0ed7761e0d93", +"6@ c #0fd377da0fb5", +"7@ c #134566b11272", +"8@ c #13b366cf13b9", +"9@ c #15e460b51682", +"0@ c #17ae610f17e9", +"q@ c #152f64771544", +"w@ c #17a565d917b0", +"e@ c #172d6d9416c7", +"r@ c #183c617317f8", +"t@ c #1a1461fc1ac6", +"y@ c #1b95605c1b26", +"u@ c #1b8267291ad9", +"i@ c #1c2560ab1bec", +"p@ c #1ca760741c65", +"a@ c #1c9e60b31d7d", +"s@ c #1ca261181c56", +"d@ c #1d4a62911d62", +"f@ c #1eab614d1dd2", +"g@ c #1fc060f71eb7", +"h@ c #1f2660481f19", +"j@ c #1fe761b41e99", +"k@ c #1eed626d1d7b", +"l@ c #1f2663741e6a", +"z@ c #1df364191d3d", +"x@ c #1df066971dc7", +"c@ c #1ee7645f1dde", +"v@ c #1f2c658d1f4e", +"b@ c #1ead67501e1d", +"n@ c #19a9689f1a0f", +"m@ c #1aa26aca1b34", +"M@ c #18d56d1818a6", +"N@ c #1ba36c401a90", +"B@ c #1bdc6d3b1c96", +"V@ c #1db6685a1d93", +"C@ c #1d6f6ae51d7e", +"Z@ c #1f936bd51f9c", +"A@ c #1c376e541bfc", +"S@ c #1d276d1e1c11", +"D@ c #115972ce0f9d", +"F@ c #13cb773f131b", +"G@ c #172674921769", +"H@ c #165a762e15c0", +"J@ c #17dd7b9a16a0", +"K@ c #19c5747817dd", +"L@ c #1994719a180b", +"P@ c #199774df18fa", +"I@ c #1c4373071c3c", +"U@ c #18aa78fb1805", +"Y@ c #19467935191a", +"T@ c #1b687cdd1b8b", +"R@ c #1fa17af41ec4", +"E@ c #1fbe79b220b2", +"W@ c #20175ac01eef", +"Q@ c #20755d151fa3", +"!@ c #20b25f761fe1", +"~@ c #205c59dd207f", +"^@ c #20b95ed720c3", +"/@ c #206b5f012044", +"(@ c #21525f6020a5", +")@ c #2a01597b29c9", +"_@ c #2c5c5d302d3c", +"`@ c #204960d91f69", +"'@ c #206961851f7a", +"]@ c #20b762d41fcb", +"[@ c #200f63681fb9", +"{@ c #203664831fbf", +"}@ c #201e667f1eaf", +"|@ c #214f7de91fef", +" # c #209e7e541f45", +".# c #2163624120bf", +"X# c #218762082120", +"o# c #21b4637720b0", +"O# c #22cd62b620e0", +"+# c #228e63c3214e", +"@# c #22da631e2233", +"## c #20ac64912031", +"$# c #21b1648e20a9", +"%# c #210f655f20ac", +"&# c #219d666120f1", +"*# c #226c65b82176", +"=# c #238664d32339", +"-# c #236e65ea2286", +";# c #221466c821c9", +":# c #230467052151", +"># c #23446661229e", +",# c #236b67ee22c9", +"<# c #2494669e245d", +"1# c #207768392036", +"2# c #2184696c20e0", +"3# c #22db69582113", +"4# c #229c686b22cf", +"5# c #22e6691b2233", +"6# c #238568a72339", +"7# c #2363695122e3", +"8# c #23b56942231f", +"9# c #22df6a2b22f7", +"0# c #22b46dae2223", +"q# c #24df6899235a", +"w# c #2442696c2365", +"e# c #24ee698e24b9", +"r# c #2585683b24f5", +"t# c #248e6bd4242d", +"y# c #255f6a7d2522", +"u# c #25c86b6e2472", +"i# c #278c6b7f25af", +"p# c #27066a8d26a3", +"a# c #24ba6c4023ae", +"s# c #248e6db62378", +"d# c #24c76d402428", +"f# c #25a96d8524b6", +"g# c #25a36eb8251a", +"h# c #25e96f62256e", +"j# c #268b6c712557", +"k# c #27986dcc26be", +"l# c #26336e9724fe", +"z# c #2b6f63c22b5b", +"x# c #2944686b27ca", +"c# c #2a2e6a8e2a98", +"v# c #29686c722a00", +"b# c #2d1f69aa2e3b", +"n# c #219c7069207f", +"m# c #23be72f42377", +"M# c #23d076d0239c", +"N# c #245f70aa235d", +"B# c #2400725a22c8", +"V# c #24ea708c2435", +"C# c #24e9716f24bb", +"Z# c #26ef71162637", +"A# c #2769705626a5", +"S# c #275571972647", +"D# c #26af73a025d3", +"F# c #277172b92687", +"G# c #279573a32654", +"H# c #245677dd2373", +"J# c #255376d824dc", +"K# c #27e974e82702", +"L# c #270d76dc25e1", +"P# c #21ed782c20fc", +"I# c #22d07e1e2312", +"U# c #2501798b247c", +"Y# c #25cd7b3b25e9", +"T# c #26ed7ac026a2", +"R# c #257e7d0b2487", +"E# c #240f7f292409", +"W# c #26d67d872625", +"Q# c #288272fe26ee", +"!# c #2812724a2776", +"~# c #284f73d82725", +"^# c #287f744b27aa", +"/# c #286b75472788", +"(# c #29e571cc29e8", +")# c #28e673f32805", +"_# c #280375482824", +"`# c #295c74bf2846", +"'# c #29e17578286b", +"]# c #293c76bb2807", +"[# c #2a7d74032974", +"{# c #2a79762e297c", +"}# c #2a6177d0291a", +"|# c #2ade77f02a40", +" $ c #2b0376322a16", +".$ c #2c59765b2c2b", +"X$ c #2d5377fe2ce8", +"o$ c #28937a5527bf", +"O$ c #28eb7d2b26a6", +"+$ c #297178312877", +"@$ c #2a9179be2916", +"#$ c #2b2e788129fb", +"$$ c #2ab378872a22", +"%$ c #2b7f78672a20", +"&$ c #2bfe79b82bc6", +"*$ c #2a447ab02881", +"=$ c #2a0f7b0f299c", +"-$ c #2b1c7a5529e0", +";$ c #2b887b412a98", +":$ c #28657e782826", +">$ c #2a3d7cb0299f", +",$ c #2bc87d452b5e", +"<$ c #2bc37e1029e7", +"1$ c #2bd47e622b3d", +"2$ c #2c2978de2aa4", +"3$ c #2cb979112b19", +"4$ c #2cc27ba42b5e", +"5$ c #2d2a7bae2b6c", +"6$ c #2d8a79692daf", +"7$ c #2cef7bda2c61", +"8$ c #2e1a7b4c2c92", +"9$ c #2c907c682b84", +"0$ c #2c257de12b1b", +"q$ c #2d887c492bf5", +"w$ c #2ca47e352b69", +"e$ c #2ccf7d4c2c36", +"r$ c #2d367efa2c39", +"t$ c #2ddc7e5f2d10", +"y$ c #2e597d9c2cd5", +"u$ c #2ede7d682d6b", +"i$ c #2e3b7ef52cd6", +"p$ c #2ec17e182d4d", +"a$ c #2fa57e5f3048", +"s$ c #333a6a3432d8", +"d$ c #32587d3530d9", +"f$ c #32417ea73201", +"g$ c #33417f51321c", +"h$ c #377e78e23794", +"j$ c #390a707338ce", +"k$ c #000087030000", +"l$ c #027d85dd0136", +"z$ c #00008b2c0000", +"x$ c #00008c960000", +"c$ c #039d8c2c0256", +"v$ c #0e1880d20deb", +"b$ c #0f488ca00ff1", +"n$ c #000093e40000", +"m$ c #02ff9afc0163", +"M$ c #00009c970000", +"N$ c #0c3d9a820ae2", +"B$ c #17e989111780", +"V$ c #1de58f3e1d77", +"C$ c #12b8914511d6", +"Z$ c #15689362152d", +"A$ c #10539bc61019", +"S$ c #1af2970f1bd2", +"D$ c #1e0496071d09", +"F$ c #18679c4916f9", +"G$ c #0000a6070000", +"H$ c #076cab65058b", +"J$ c #0d85baec0b8e", +"K$ c #11e3a5631190", +"L$ c #1465a8a5130c", +"P$ c #1cbda0451dc9", +"I$ c #1e73a25c1dad", +"U$ c #1503b05b10e5", +"Y$ c #1cf6b8d31beb", +"T$ c #276281f0262c", +"R$ c #2503889c24b0", +"E$ c #273f8fad26ca", +"W$ c #29e883342965", +"Q$ c #2aa4837529bb", +"!$ c #2b1d855a2b68", +"~$ c #2c3280302af4", +"^$ c #2c3381ac2b6f", +"/$ c #2d8c80e52c9c", +"($ c #2e5a81772d56", +")$ c #2fe3806e2eec", +"_$ c #2f2c82c42ddc", +"`$ c #2f3982512e33", +"'$ c #2fc782792f20", +"]$ c #2f9283872e52", +"[$ c #2ca085302c90", +"{$ c #2ce685172d8c", +"}$ c #2dd687ef2e14", +"|$ c #2e32856f2d1f", +" % c #2f1e84b22dd0", +".% c #2fc386822ee7", +"X% c #2fe886752f26", +"o% c #2a1c8c4329d1", +"O% c #2ab98d8f29a6", +"+% c #2a788e792957", +"@% c #2fa388072f20", +"#% c #2fa289bf2f1d", +"$% c #2ebe8aa22eed", +"%% c #2ebf8b772e38", +"&% c #2d518c362c83", +"*% c #22fc91d9226f", +"=% c #244793ac2335", +"-% c #25ee90432560", +";% c #27a2903426fa", +":% c #26f5977325bf", +">% c #2653999125df", +",% c #2d76902d2de4", +"<% c #2c9a93ac2d3b", +"1% c #29ac9a0e299e", +"2% c #2e8f9c982db9", +"3% c #305b81502ee4", +"4% c #301b82122ebb", +"5% c #300a82cf2f3b", +"6% c #309685802f9a", +"7% c #309586da2f50", +"8% c #313487202fa9", +"9% c #30ae89552fad", +"0% c #312a8a012f4f", +"q% c #30ca84f43000", +"w% c #316284973029", +"e% c #30f987213083", +"r% c #317e8674302b", +"t% c #323285ba3062", +"y% c #32ba87663183", +"u% c #360481ef36ac", +"i% c #345a84ec334d", +"p% c #31d888d63061", +"a% c #31a78a3d30a1", +"s% c #321889b1315a", +"d% c #332288e23183", +"f% c #334388c13282", +"g% c #32b08ad3319e", +"h% c #33158ae4317a", +"j% c #32fa8a3d3232", +"k% c #33b58b80328c", +"l% c #30a48ca73028", +"z% c #31888c6a30aa", +"x% c #32318dba30e2", +"c% c #33568dde331e", +"v% c #323f8e71311d", +"b% c #33298e153269", +"n% c #33aa8f1832d8", +"m% c #348c89d5332b", +"M% c #34828ad7329f", +"N% c #34af8b273356", +"B% c #350b8a1b33b8", +"V% c #352d8b663385", +"C% c #34de89ce3438", +"Z% c #3527892734c3", +"A% c #34298fbc3323", +"S% c #35e78d8b343e", +"D% c #35ac8d81356f", +"F% c #35f68f073481", +"G% c #36498ec534ff", +"H% c #37c88fb935df", +"J% c #36d58e56363b", +"K% c #36a68f94366c", +"L% c #3baa88053b50", +"P% c #30e690f330e0", +"I% c #30f5920030e1", +"U% c #312b92c630a8", +"Y% c #32ce91cc3269", +"T% c #33e2913e327c", +"R% c #30c495f73112", +"E% c #3185965b31aa", +"W% c #334b9719338e", +"Q% c #344a90cf33d9", +"!% c #350b92803360", +"~% c #35cb91e235b6", +"^% c #36b89074355d", +"/% c #375790e335cb", +"(% c #37f990c2369b", +")% c #372a91e63609", +"_% c #368a92fd3445", +"`% c #369b923035bc", +"'% c #3655933935ab", +"]% c #3715926635a4", +"[% c #35b39681340f", +"{% c #3552971834cb", +"}% c #36bc949b35ec", +"|% c #37e795533682", +" & c #37be96e83741", +".& c #3702979536b1", +"X& c #31cf9bcf3169", +"o& c #332699dc32c7", +"O& c #345c9b2f33fe", +"+& c #3677999b3594", +"@& c #35969e063549", +"#& c #3949918e3748", +"$& c #388f93bc3766", +"%& c #38d3954e37bb", +"&& c #397b94cd37c2", +"*& c #389896a736d6", +"=& c #39a492ee3994", +"-& c #39a0938838ee", +";& c #39e694053901", +":& c #396c96613870", +">& c #39cc965339d4", +",& c #39e997893a9f", +"<& c #3aa9947b38e9", +"1& c #3aae95ee3964", +"2& c #3a3596c6386b", +"3& c #3b98966e398e", +"4& c #3ff193033fca", +"5& c #3885981b36e1", +"6& c #38ee9880374d", +"7& c #38dc9ab63849", +"8& c #39ee9af939df", +"9& c #3a42982c38e7", +"0& c #3a909994399c", +"q& c #3b5d98e63a1e", +"w& c #3bab99053a55", +"e& c #3a329a0839be", +"r& c #3b139a173905", +"t& c #3b769ab43a19", +"y& c #388e9e94386b", +"u& c #3bdb9c9f3ac8", +"i& c #3bbe9d333b79", +"p& c #3b119ec339c3", +"a& c #3abd9e4f3aac", +"s& c #3b0c9e7c3b96", +"d& c #3ca29a323b12", +"f& c #3c599b093b67", +"g& c #3d229b193be2", +"h& c #3cce9b0c3c05", +"j& c #3d219a233d07", +"k& c #3cf29d053b7a", +"l& c #3d029cd23bea", +"z& c #3cd69e773b4d", +"x& c #3d2d9fb13c7c", +"c& c #3e219ce53dc7", +"v& c #3f459db33f09", +"b& c #3e459fdc3cca", +"n& c #3f709eae3e67", +"m& c #241ba4c42467", +"M& c #21f4ae5d211e", +"N& c #2205ac922102", +"B& c #22a5ad8d2177", +"V& c #2be1a1bf2c00", +"C& c #2a6ea8652a35", +"Z& c #2aa0a9b12a14", +"A& c #2aa6aad82aa0", +"S& c #2efaa8d32faf", +"D& c #23a5b22f23de", +"F& c #2207b53c2080", +"G& c #3289a09531fe", +"H& c #3577a6463453", +"J& c #31a9a88b3052", +"K& c #3792a82237a2", +"L& c #3579afe63562", +"P& c #39caa1d43a64", +"I& c #3a50a0d639ae", +"U& c #3b7fa0ad3b85", +"Y& c #3b97a2dc3ba1", +"T& c #3ba9a1103c7b", +"R& c #3a2ba48239a0", +"E& c #3bada4643b46", +"W& c #3bb9a5433a72", +"Q& c #3c5ba3b23bbe", +"!& c #3c01a0a23c0b", +"~& c #3cc1a1943c33", +"^& c #3da8a0cc3cc3", +"/& c #3d78a1b93caa", +"(& c #3e7fa0813c83", +")& c #3eaca0923d3e", +"_& c #3fa5a09a3dfa", +"`& c #3ebea04c3e0d", +"'& c #3d27a4323c6c", +"]& c #3dc2a5823d93", +"[& c #3d3aa60e3d80", +"{& c #3eb8a4d53e6f", +"}& c #3e5aa69b3e6d", +"|& c #3e17a7813f61", +" * c #3fc4a69c3f66", +".* c #38e4a99238cd", +"X* c #3d9ca8a53d37", +"o* c #3fd0a8e33ee0", +"O* c #3fb9add83f0a", +"+* c #3e80ae043ced", +"@* c #3022b6d22fc6", +"#* c #33aeb54f349a", +"$* c #341eb56833f7", +"%* c #324dbca431cc", +"&* c #350cbe523542", +"** c #382db29437b9", +"=* c #3d91b1513d9b", +"-* c #3f5fb2ee3ee2", +";* c #3f2eb7533dd5", +":* c #39b6b927390e", +">* c #3869bef3385a", +",* c #3f88bd743e6e", +"<* c #0a04cad809b4", +"1* c #1b97c00e1aa2", +"2* c #1cb2c5911c03", +"3* c #181dca4d17c8", +"4* c #1f76ce901e5e", +"5* c #213ec10d209f", +"6* c #23dacbc823cd", +"7* c #26accf152777", +"8* c #2d3ecd472c7a", +"9* c #2e69d27a2dfe", +"0* c #2a2edf5c2b18", +"q* c #2f07d8022de4", +"w* c #3026c1562e6b", +"e* c #34f1c55e3619", +"r* c #35f6ca193592", +"t* c #3612ccc5354b", +"y* c #3789ca673813", +"u* c #300dd7de3082", +"i* c #3253e07633f2", +"p* c #41059e9e3f98", +"a* c #4008a1983eb4", +"s* c #4082a25c3ed6", +"d* c #410fa5c43f33", +"f* c #4053a84f3f2b", +"g* c #410dab883ffc", +"h* c #40c2be7e3fee", +"j* c #4bad8e894b0c", +"k* c #4d868a134d25", +"l* c #404f945f4077", +"z* c #4397970e42ec", +"x* c #436a9df142dd", +"c* c #48cb97be48f8", +"v* c #4a909a6b49f3", +"b* c #48999ce84850", +"n* c #48f89fbe48ac", +"m* c #4c4798bf4d89", +"M* c #4dfc9b224e0e", +"N* c #500a80b94fef", +"B* c #5eb38c925e7b", +"V* c #508796615088", +"C* c #57d691665820", +"Z* c #523d98105278", +"A* c #5c7f92635d4f", +"S* c #5cbc9a975cc0", +"D* c #403aa5d74049", +"F* c #416aa443403e", +"G* c #4194a63b4090", +"H* c #410ba6674135", +"J* c #427ea71140fa", +"K* c #41bfa81d4110", +"L* c #415ba92040ed", +"P* c #420fa842417f", +"I* c #4237a8d4422f", +"U* c #42bea9694220", +"Y* c #43fea8ad4362", +"T* c #4315a9ad423c", +"R* c #42e1ab7f41f6", +"E* c #435bab9c42e8", +"W* c #4439aa884358", +"Q* c #4481abf243f9", +"!* c #455eaac9449c", +"~* c #4693ab0b453b", +"^* c #4539acb544ac", +"/* c #4554aeec442d", +"(* c #4a60a7e74a0d", +")* c #4c9aa3004ccb", +"_* c #4d16a4f54d23", +"`* c #480aa92a4557", +"'* c #48b9adcd478e", +"]* c #4853af4847c6", +"[* c #4897a978480e", +"{* c #4a78aba84a10", +"}* c #4846ad7b4852", +"|* c #4997ac214a51", +" = c #4a64afae493d", +".= c #4b1eaec74b62", +"X= c #4faca9424f8d", +"o= c #4155b0d74145", +"O= c #4092b32a40b8", +"+= c #426cb1df41e3", +"@= c #4338b04342f1", +"#= c #4388b14d42c2", +"$= c #441cb00d433e", +"%= c #4432b178446c", +"&= c #45c2b1cd466f", +"*= c #46c2b1cb45f4", +"== c #472eb09745e5", +"-= c #47a1b02d46bc", +";= c #47dcb00e4730", +":= c #47f6b18e47c3", +">= c #46a9b4fc463a", +",= c #46fcb4d64766", +"<= c #425abd454205", +"1= c #4384bd80436f", +"2= c #47cbbbe346dc", +"3= c #483eb5264761", +"4= c #4a42b16c4891", +"5= c #49ddb4a648cd", +"6= c #49f9b45d4953", +"7= c #4994b5c1495e", +"8= c #4a85b595494a", +"9= c #4cf6b1074c58", +"0= c #4c13b6de4b1b", +"q= c #486ab8804910", +"w= c #4a25b8754a13", +"e= c #4ad2bb2249e6", +"r= c #4afbba9e4a6e", +"t= c #4bcbbbcb4a8f", +"y= c #49edbefe4a13", +"u= c #4c09ba484be5", +"i= c #4cd1b9494c23", +"p= c #4c6bbe494b2a", +"a= c #4d5abeca4c5b", +"s= c #4fc2bd1b4e7e", +"d= c #51c6aa704fe2", +"f= c #503ea5c65059", +"g= c #5283a7965306", +"h= c #5003aac95080", +"j= c #52d2a94650cb", +"k= c #5494a8f35532", +"l= c #58fba5e85902", +"z= c #5adaa7655ad5", +"x= c #5cc2a3275c05", +"c= c #58e2af1558c4", +"v= c #5cf9acb95d4c", +"b= c #500ebf9d4f37", +"n= c #5170bef44ff1", +"m= c #515ab05750cf", +"M= c #5109b68a5018", +"N= c #55d1b22a559a", +"B= c #542ab7895433", +"V= c #5451bd875380", +"C= c #5aefb3f95a0b", +"Z= c #5f8bb1025fe5", +"A= c #5997be2258df", +"S= c #62f88f6d6242", +"D= c #617c978061a0", +"F= c #64c29c9563dd", +"G= c #6076aac260ee", +"H= c #69d0ab8069aa", +"J= c #6f27a9906ea1", +"K= c #6fa5a9406f42", +"L= c #63bcb885642a", +"P= c #689dbe9a66e8", +"I= c #6c65bace6b85", +"U= c #7404ab0b73b5", +"Y= c #7725ae5d76e5", +"T= c #4033cd333efe", +"R= c #41d1c03740ab", +"E= c #4188c2c940cc", +"W= c #41dec3434136", +"Q= c #43e8c36b435f", +"!= c #455fc7e84532", +"~= c #4184ccad41a5", +"^= c #4b88c7544ada", +"/= c #4f36c4234f2b", +"(= c #4bfbc9ab4b8f", +")= c #4a38ce204903", +"_= c #4e24cbbb4c8a", +"`= c #4257d2c241e2", +"'= c #454fd10d4489", +"]= c #4f94d7c04ef5", +"[= c #496bd9ad4a05", +"{= c #4e07d9804dfb", +"}= c #4f5add65504f", +"|= c #5110cf224f6c", +" - c #512dc27d5017", +".- c #5297c32751cf", +"X- c #52ffc35252af", +"o- c #530fc335523a", +"O- c #50b1c4b15038", +"+- c #52a6c4905225", +"@- c #53edc4295360", +"#- c #572ec310567b", +"$- c #568cc74a5668", +"%- c #572aceaa5743", +"&- c #5ec7c2ae5ef3", +"*- c #5891cce95641", +"=- c #5879cd7d57a4", +"-- c #5835ce2a57f2", +";- c #582ac86258a7", +":- c #5b8bcc0c5ac0", +">- c #5047d85b4fd5", +",- c #50e5da5e4fa7", +"<- c #5385d05451c1", +"1- c #5050db6450d3", +"2- c #5807d7e8575d", +"3- c #5b08d1d95ac8", +"4- c #5bd1d2185abd", +"5- c #5d67d73d5df2", +"6- c #5e39d5a95d76", +"7- c #5f51d6e65da0", +"8- c #5aabdf965ae5", +"9- c #58f1e4575725", +"0- c #5930ecfe5907", +"q- c #5dcce9475ccb", +"w- c #5e02eda35d1e", +"e- c #6070c8a65edf", +"r- c #6212c065631e", +"t- c #641bc0716273", +"y- c #66dcc218658a", +"u- c #65e1c4576566", +"i- c #6604c51e6583", +"p- c #60adcf61601b", +"a- c #617ace79618a", +"s- c #6279cc816200", +"d- c #664bcd91672a", +"f- c #6bf0c4926c27", +"g- c #6e65ccea6d13", +"h- c #62fed00f61fb", +"j- c #6727d2a46756", +"k- c #6623d4ff6563", +"l- c #667cd5586545", +"z- c #632ada3163b6", +"x- c #62a0dfce62e1", +"c- c #65eddf6963e8", +"v- c #687bd33267d1", +"b- c #6a3ed1d06a20", +"n- c #6a0dd2e56946", +"m- c #6800da97676c", +"M- c #6fc3da4c6edc", +"N- c #6c7bdc386b32", +"B- c #6d23ddf76d77", +"V- c #70b1c7e87062", +"C- c #717ac7d7712e", +"Z- c #7421c3ca73fc", +"A- c #77cac19d77eb", +"S- c #74dec64c7442", +"D- c #764ec4317634", +"F- c #7787c7f87753", +"G- c #720acfaa71c0", +"H- c #74f4cb487425", +"J- c #780ecd2777cd", +"K- c #79e3ce4678b6", +"L- c #7a75ce3f7ad5", +"P- c #7dddcf407df7", +"I- c #7537d0cd758c", +"U- c #72f1d9257251", +"Y- c #7102dcab7037", +"T- c #765dda337642", +"R- c #79afdb667913", +"E- c #7985dcad792c", +"W- c #7cb9df8f7d29", +"Q- c #60f5e5915ddd", +"!- c #6341e1636034", +"~- c #62d6e0e26237", +"^- c #660de62c6614", +"/- c #63a5e920629c", +"(- c #655eed036621", +")- c #6b64e3ba6a0c", +"_- c #6e45e0b06e0f", +"`- c #6c9fe47a6b8d", +"'- c #6e38e49d6c73", +"]- c #6ecde7816f4b", +"[- c #696eef6d68d9", +"{- c #6f7ce9376e86", +"}- c #66d4f0946500", +"|- c #71e0e3c2708e", +" ; c #73f6e7717245", +".; c #7543e1ff7597", +"X; c #7677e6ad7637", +"o; c #7f55e1997f53", +"O; c #7cabe7047bd6", +"+; c #7c5deba57c3c", +"@; c #77cbf1347788", +"#; c #7487f474730c", +"$; c #77befa2c76cf", +"%; c #7e05faf17db3", +"&; c #80f4c93c7fcd", +"*; c #808cd8f87f7f", +"=; c #8130b79280fc", +"-; c #841ad79483a1", +";; c #815bdda7803f", +":; c #85cdde078590", +">; c #8b15d9bc8b04", +",; c #8b0bdaca8aa6", +"<; c #8c1ed9878c20", +"1; c #8cd8dff28c55", +"2; c #98bcdf68984d", +"3; c #99f8dedc9940", +"4; c #9a65de8b9a48", +"5; c #8516e34682db", +"6; c #84c2e5058433", +"7; c #8139e8f181a6", +"8; c #8088ebde8084", +"9; c #81cbef738033", +"0; c #8be9e1e78b56", +"q; c #8969e65488db", +"w; c #8b9be5ac8b7d", +"e; c #8a0fe77a896d", +"r; c #8e89e2e08ea6", +"t; c #8d59e97f8d59", +"y; c #8d8eed808c5e", +"u; c #8e0dee768d99", +"i; c #8ffdef378fd6", +"p; c #8312f50680d0", +"a; c #86a4f329866f", +"s; c #88bbf7fb874a", +"d; c #8924f34a88c0", +"f; c #8a03f82e89e9", +"g; c #8d3cfcc68ae7", +"h; c #930ee7d19301", +"j; c #96eee2129666", +"k; c #96eae3c09603", +"l; c #92d5e8b99213", +"z; c #9317e8bd92d3", +"x; c #94b0ec0c93d5", +"c; c #9450effe93ee", +"v; c #9585ee3c939e", +"b; c #99f3e6559a6d", +"n; c #929cf52e9234", +"m; c #9580f7089352", +"M; c #974df55f96a6", +"N; c #95daf97f94e9", +"B; c #96d2fb62945d", +"V; c #9483ffff93ac", +"C; c #96cefe8b9611", +"Z; c #9a17f0da992b", +"A; c #9c7ff54e9c23", +"S; c #9e01f4169dd9", +"D; c #9ecaf51a9eaa", +"F; c #9e30f61d9cd2", +"G; c #9f1af9469edd", +"H; c #9e3afcfb9c5a", +"J; c #9e9fff7c9d82", +"K; c #a69ee631a78d", +"L; c #a0d4ec21a09b", +"P; c #a0bdee0aa0f6", +"I; c #a0ebefdba062", +"U; c #a719eeb7a5a6", +"Y; c #a6a0ef3fa619", +"T; c #a84be64da81f", +"R; c #abcaeb98ab7d", +"E; c #ac1be8e6ac2f", +"W; c #ad99e98cad8a", +"Q; c #adfcefc4addc", +"!; c #a1f0f4d1a10b", +"~; c #a22bf400a250", +"^; c #a63bf41fa58e", +"/; c #a6a6f7bda460", +"(; c #a06ff9afa018", +"); c #a184f894a0f4", +"_; c #a6b0f8e0a3d0", +"`; c #a50afba9a419", +"'; c #a7eaffffa5e2", +"]; c #a74dffffa62a", +"[; c #a853f41fa7df", +"{; c #acbbf101acef", +"}; c #aa00ffffa964", +"|; c #ac9bffffac94", +" : c #ad6dffffac70", +".: c #adb9ffe6ae17", +"X: c #af35ffffad78", +"o: c #afdcffffaf53", +"O: c #b230ec7bb261", +"+: c #b0f4f23aafb5", +"@: c #b15bf0d5b117", +"#: c #b251f786b0d4", +"$: c #b7b7f16eb7c4", +"%: c #b7fbf229b775", +"&: c #b763f3f2b817", +"*: c #b318f9ebb303", +"=: c #b188fcf1b193", +"-: c #b1c7ffffb1d2", +";: c #b457fbccb38b", +":: c #b400fd70b317", +">: c #b5faffffb4b7", +",: c #ba17f653b9d9", +"<: c #bf3ff42abf30", +"1: c #b87fffffb7c5", +"2: c #b97af9e7ba17", +"3: c #b868ffffb871", +"4: c #bac0ff9bb8b3", +"5: c #bb79ffffbb20", +"6: c #bc19fa60bc2a", +"7: c #bcc3fb83bce8", +"8: c #be43fabbbd8c", +"9: c #bdebfd4bbd10", +"0: c #bcacffffbcfa", +"q: c #bd64ffffbcb3", +"w: c #bec4ffffbee2", +"e: c #bf71ffffbe40", +"r: c #c08cf0e6c002", +"t: c #c323ffffc2d0", +"y: c #c306ffffc346", +"u: c #c54effffc46b", +"i: c #c68cffffc68e", +"p: c #c7f3ffffc878", +"a: c #c955fceac867", +"s: c #c8caffffc82b", +"d: c #c988fe49c911", +"f: c #ca84fce5cafe", +"g: c #cab3fd46cb07", +"h: c #cb78ffffcab8", +"j: c #cd15fdeacaf6", +"k: c #ce09fda9cc73", +"l: c #ce30ffffccf8", +"z: c #cfb7ffffce69", +"x: c #cfdeffffcf62", +"c: c #d1b8ffffd08a", +"v: c #d12dffffd120", +"b: c #d3b4ffffd3ab", +"n: c #d7a6fab1d5cd", +"m: c #d599ffffd4ff", +"M: c #d5b2ffffd54c", +"N: c #d7cbfc34d797", +"B: c #d6d8ffffd5ee", +"V: c #d684ffffd636", +"C: c #d684ffffd700", +"Z: c #d8bfffffd82f", +"A: c #dac0ffffdaa6", +"S: c #db15ffffdadb", +"D: c #dce5ffffdc8d", +"F: c #de81ffffdd75", +"G: c #e19dffffe201", +"H: c #e231ffffe140", +"J: c #e28dffffe2a1", +"K: c #e397ffffe30e", +"L: c #e844ffffe7dc", +"P: c #e979ffffe8ba", +"I: c #ea82ffffeb40", +"U: c #ec83ffffebe6", +"Y: c #ed77ffffed75", +"T: c #ef7effffefdd", +"R: c #f0d9ffffef4e", +"E: c honeydew", +"W: c #f31bfffff2c7", +"Q: c #f37efffff308", +"!: c #f6a7fffff6b5", +"~: c #fd42fffffc9b", +"^: c #fd49fffffd6d", +"/: c Gray100", +/* pixels */ +" . 8 Y < . . p 4.r . ", +". e.;#D#M+6 {.j=P=A%p ", +"0 j@0==$-=Ho n*!:v-Z:H+X ", +"B.;&e&-o'*h@ n @:$:&@D:j&t ", +"T.n&~%>o`*y# ] S:R;$@P:N=M ", +"^ 8$:=9O4=-+ * V-d:x$G:6$* ", +"O Uoz&v%G%=X y+N;#;z;6o ", +" X RX}oH. %Ox##o ", +" ", +" )O<&d+# s$2;O%: ", +" f$:-AOO K=I:Y@O ", +" d$[*, U=K;s ", +" g${*: Y=E;p ", +" X i%.=t X =;W;' ", +" s N%T*lX ] :;>:#O ", +" VX o< ^o<+t ", +" 6 / o p u.. ", +". `X#&+$e$1. IOj;'=P-NX ", +"= <#o-R+(%SX z=/:B&D;|o ", +"> ]+5==OGXX V*T:,@OO. ", +"& HX`%[$zX $OZ;N-@O ", +"1 BOP#W&.%t. 1@4*';;;|. ", +"- h+{&3=/*ZX o%1:~:W:&O ", +" 7 ooboTXX p 2+z+VO. ", +" M f.o 3.qX ", +". hod&d%f#7 1+P;8;B=s ", +"= (@s=S#A#I M*!:~=Q=5. ", +"8 9+X-s#@X T$/:,*$o ", +"U `#-=p@a. % f-Y:C&}. ", +"b 3%.&8+|#A. * ,;);m$C-}X ", +"o for$h%'$>. hO]=w-Y-#X ", +" E nXT u.io7. ", +" F , 7.4 ", +" 9.r%t$s ].T-Z-' ", +". 2X/&b=w+@ .OH;/:*%o ", +"# woO&#=^&Zo sOp;/:q:vOO ", +"7 d@%-y=e=7# K&/:/:/:O=a ", +"& @+3={%s@fo #l:e;Q&NO& ", +" ` c@EO% d.D&6@X ", +" o ", +" 5 ho`om. e gO8@tX ", +". fok%6=)$4 mO@;U:I-s ", +"o +Xu@'&F%H %oY$_;+;d. ", +"2 *+Q*^*[#4 E#C:M:r-p ", +"U N%P*wO2X 4 k;x:z$4o ", +"w $#b%x@`#W h=d;F&$-B. ", +". l.l@($'@> 0XA&}=]&, ", +" @ y . n ", +" q D+O+e x <%I#n ", +" r v+}%1#e e Z$%;m=A ", +". w.L+&%.-!o ].X&|-Q:t@o ", +"0 -#*=P%6-;+ k=P:5;/:U#, ", +"%.H%n%+OE*!O 4 &:Q;k$b:V#* ", +"9 !@:&C@!*co b*(;1*v:Z+. ", +". O.W+Q#o+* i.1%e*Y#% ", +" % O ", +" c./+F+c+N. wXW%>%,%uX ", +". +4-r&_&s+ j$/:C;p:}$O ", +" JX`&m#GoG. Eo3:W=;@dX. ", +" . o#6%). _*_-iX ", +" -Xt%=+ ,o`-5$ ", +" . -#p%K g=/-2. ", +" $.'@&. j.]&!. ", +" ", +" X.[Xe. d.eO]. ", +" V.y$O$|$9X LXn-0*m-Do. ", +" {oe=L@t={O )@F:3*J:_#* ", +"o 8o==+---'O fOI:^:/:T@r ", +"O Loa=R&%=J+ 9@/:U;B::%N ", +"X UO7=xOp&4#X z#A:G$`;o=V ", +" K.4$n#m%/o RXa-6*.;!+O ", +" r CX>. M mo^. ", +" L son. 2.jO0X ", +". J.q$<$]$do /Xh-i*B-$+o ", +"O WOU*MO]%[@. c#v:M$A;.*Z ", +"* #+r=q@x&8#X {#c:U$4:-*G ", +"o ~o=-==v&]o 0@/:L:<:i@@ ", +" A >$U&1O, 7.g-q:>@* ", +" ;X#$s#z 2od-&*G ", +" f !.. / 0o ", +" ", +" u .#ko n )*+@ ", +" t 3&u# s r:H= ", +" % IXk#`$t. o XOV=x-}. ", +"0 QOD#_Oe%to G@8*n$X;lO4 ", +"BX!*Q%J#n=h&.oeXh:}-)=/:{;B+", +"&X'$p+&+>#f#[X[.G-R$0$S*v=k+", +"+ 4 n > ", +" J E ] p. ", +" v ;$&#: ) k-}** ", +" X x+9&P+: . D%V;Y%4 ", +" t ~OF*X+ 6 H@y:.$o ", +" s N+S%Jo n =%u;K+X ", +" o@/%zo. v*a;kO ", +" <.w$KO #Xz-b# ", +" b o. ", +" o X ", +"o D.V+F#~+#. fXD$O-o&d.X ", +"b.%$2#&&)&##: s p-5*O:X:M&5X", +"vo:&BoA#9%*$KO;O=:%@L=)-u*T#", +"aob&tONo)%h%.@Tot:D@@@c;(-c&", +"v !+d#YO8#`%'X 4&w*5@9=f;H+", +" o mX%Xq.DX . pocX~. Ok ", +" ", +"I 0.S M : i _.2.' * ", +"[oD# %V%I+R. N@t*M-r;P$(X ", +"DO5+%%i&0O3X U+N$R-+:l$uo+ ", +"A+V@[%o*t+Qo !&2*t;2:H$7@1 ", +"L.xX7$=&7oM. R.yOF-T;iO5XX ", +" O#y%s F=<;s ", +" C+M%_ N*0;u. ", +" f D ", +" _XMX ROPo ", +" X@p# m*Z= ", +" '+X$ A*A- ", +" Q@u$ D=&; ", +" S+6%s k*E-A ", +" bX8%a+ eo]-{$ ", +" bX}O2 xoE@j ", +" ", +" @.y.t.f s..X.X( O ", +" bX6%H#W#C#g yo~-7*q*R=>X", +"% COR*|@+%W&XX b@x:9*9-t:TO", +"I &$&=|&2=X*^XX H-/:n:/:u:r+", +"h }+P&R%/=!$g. x*B;Q-/:2-*O", +"X fo~&K@W$]@* :+J;<*1-Z&0.", +" x.j%!%,Om '.O;$;-@( X ", +" 'o@# . _@x=i. ", +" . ", +" X SoO@g nOm&] ", +"*./@9#X%s*UX ( Z*d=c-0:-O. ", +"v.p$i=y&z&E+ 6.L-/:m; :E%i ", +"o ( }#x%]Ow#E d.D-l;c$@*7X", +" )X4$[Ot. 4O[=J@;X3 ", +" )og@@. i+S&F. ", +" b.7 8Xj ", +" , Q O 4 3.@ ", +" Z.f@$$j+. UXJ&s-L% ", +"..FO5&a&M#6. @ r#G;F;A=|.# ", +",+B%u=p=E&q+@ @%7;E:Y:n;A$c.", +"AX`+}&@&I%Yo jXc*9:v; ;*@K ", +". !X^%u+a%9o >+i;K$[-rO% ", +" Q.9$,XX#n+: (oj-%o(*-%P ", +" X vX , YX& O to : ", +" oX'%$=5O *ox;K:2@i ", +" s.l%@=Y+, pX*;m:L$y.", +"~ SOT++&w=0#* d e@G&!;/::*h.", +"F.G#4%g#2#m+ @Xy*8-C=,=S$L ", +"+ C.0.o , C. gX(. : FX+ ", +" O -. O /. ", +"+ e g+]#u. n Z%;-rX ", +"nXJ% =@-L#/O aX3;H:/:|=P@; ", +"LX~*Q$}&1$zo sXb:7-/;{=bO# ", +"P.m%w@#%z@p ] h;J$'- *t . ", +"0 ~+d*@$)#no ,&5:`=T=e++ ", +" $.)+~XKOZO Y.C*>OZ@m@; ", +" O X . ", +" @ % X o O ", +"l ^+qO5ob+ho @ >&F@7OE$6++ ", +"P.f&r@Mo7%># [ 5:N&=@q-L&J ", +"6X%&3+:o~$7# ] #:C$uO,-#*X.", +"U.w&S@4+|%t# D a:%*b$M;;*| ", +"=./%K#[+q&,# 6 ~;!=I$};=*C ", +"$ Ool.A loYX ]O}.A zO:O+ ", +" ", +". p ] ( 6 . D ^.i.t . ", +"l /$T%R#^$%#C * K-w;_=-;|*$X", +"3 (+T&q=g%h+5 j*];R:6;;%v.", +" @ 1o &}@s o aOI;f=n X ", +" * a#k@4 X M=H&: ", +" ]XZ#go 3Or*7+. ", +" |XPX ~OWoX ", +" ", +" joHOo+Xo f+B@a$%+O ", +". z.%$k%k%h#* iXS-q;9;h*w.", +"o LOp*;=H*1&*X 4@6:k:j:S;Ro", +" 6 i#_%$%'#p p J=L;!-^=4X", +" W@0%:$5#O S=b;>-$*+.", +" ~@J*u&w#. B*w:o:>=B ", +" W.(OE+Ho {X(#U%e+# ", +" ", +":.+#!OhX*X, 8.X=U@oO=o4 ; ", +"V.~#z%c%Y*f%QX{ (=0-y;V:1;++", +"g 6O7&o$5%u$v. <@s;*-U-5-Qo", +"~ ,$8&G+Fo2$6 @ b-g;F$%@3-WX", +"l *#s#v@Co$&g O l=1=g*dO,:+o", +" . UO2&g&i$* v#.:7:>;M.", +" @ `ol+E. @ a@u%;oo ", +" ", +" 1 ^OH.e N. r I@kXe 1X$ ", +" ! `${@W+_$P u.^-+*2%W-vX", +" @ q#*&q%`@a . G=[;{-D*D.", +". * 0+ -w%k. X V$/:l-@o& ", +"w V+0&I*k&ro . K%*:i:::8+= ", +"b -$ $VoQ+{+X.4 <-y-#@-&V&3X", +"X U , R O f., g.h ", +" ", +"I.PO$X *s&b ", +" e {#s%AoM n t-o;cOA . ", +" S.l#:#q. yX<=**,X. ", +" r.|+|O. `.I&R@; ", +" . 9 ,.X . c :Xo " +}; diff --git a/wmMatrix/images/matrix.xbm b/wmMatrix/images/matrix.xbm new file mode 100644 index 0000000..9400b47 --- /dev/null +++ b/wmMatrix/images/matrix.xbm @@ -0,0 +1,40 @@ +#define matrix_width 14 +#define matrix_height 216 +static char matrix_bits[] = { + 0xff, 0x3f, 0xff, 0x3d, 0xeb, 0x30, 0xfd, 0x34, 0xeb, 0x2c, 0xef, 0x35, + 0xeb, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3b, 0xfb, 0x3b, 0xf7, 0x39, + 0xfb, 0x3b, 0xf7, 0x39, 0xfb, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x35, + 0xeb, 0x38, 0xfb, 0x3d, 0xfb, 0x3b, 0xff, 0x31, 0xeb, 0x32, 0xff, 0x3f, + 0xff, 0x3f, 0xff, 0x31, 0xfb, 0x38, 0xfb, 0x3d, 0xfb, 0x38, 0xff, 0x34, + 0xeb, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3d, 0xfb, 0x3b, 0xf7, 0x31, + 0xeb, 0x20, 0xff, 0x39, 0xff, 0x3b, 0xff, 0x3f, 0xff, 0x3b, 0xf7, 0x31, + 0xeb, 0x3b, 0xf7, 0x31, 0xfb, 0x3c, 0xff, 0x35, 0xfb, 0x3b, 0xff, 0x3f, + 0xff, 0x3b, 0xff, 0x33, 0xeb, 0x33, 0xe7, 0x31, 0xeb, 0x2e, 0xff, 0x35, + 0xff, 0x3b, 0xff, 0x3f, 0xef, 0x3b, 0xfb, 0x31, 0xfb, 0x3b, 0xf7, 0x3b, + 0xef, 0x3b, 0xff, 0x37, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x35, + 0xeb, 0x20, 0xe7, 0x31, 0xeb, 0x28, 0xff, 0x35, 0xeb, 0x3b, 0xff, 0x3f, + 0xff, 0x3f, 0xff, 0x35, 0xeb, 0x28, 0xfb, 0x35, 0xeb, 0x28, 0xff, 0x39, + 0xef, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xef, 0x3b, 0xff, 0x37, + 0xeb, 0x2e, 0xcd, 0x24, 0xef, 0x2a, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3d, + 0xfb, 0x3b, 0xff, 0x37, 0xef, 0x2b, 0xff, 0x39, 0xfb, 0x3b, 0xff, 0x3f, + 0xff, 0x3f, 0xff, 0x3d, 0xeb, 0x22, 0xfd, 0x36, 0xee, 0x2e, 0xdf, 0x2d, + 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x38, 0xfb, 0x3a, 0x77, 0x31, + 0xfb, 0x3b, 0xff, 0x39, 0xfb, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3d, + 0xfb, 0x3b, 0xff, 0x39, 0xff, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, + 0xff, 0x3f, 0xff, 0x35, 0xeb, 0x28, 0xd7, 0x21, 0xeb, 0x20, 0xff, 0x35, + 0xfb, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xeb, 0x32, 0xf7, 0x31, + 0xeb, 0x2b, 0xff, 0x3f, 0xff, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3d, + 0xeb, 0x3a, 0xf3, 0x30, 0xea, 0x28, 0xff, 0x35, 0xeb, 0x2f, 0xff, 0x3f, + 0xff, 0x3f, 0xff, 0x3d, 0xeb, 0x3a, 0xf5, 0x30, 0xeb, 0x28, 0xff, 0x39, + 0xff, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x37, 0xef, 0x33, 0xf7, 0x33, + 0xef, 0x2b, 0xef, 0x31, 0xfb, 0x2a, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3d, + 0xeb, 0x28, 0xf5, 0x30, 0xef, 0x3a, 0xff, 0x35, 0xfb, 0x3f, 0xff, 0x3f, + 0xff, 0x3f, 0xff, 0x3f, 0xeb, 0x2a, 0xff, 0x36, 0xef, 0x2a, 0xfd, 0x34, + 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xfd, 0x34, 0xeb, 0x2a, 0xf7, 0x33, + 0xef, 0x3b, 0xff, 0x37, 0xff, 0x3f, 0xff, 0x3f, 0xef, 0x2b, 0xff, 0x31, + 0xeb, 0x22, 0xf7, 0x31, 0xef, 0x2b, 0xff, 0x31, 0xff, 0x3b, 0xff, 0x3f, + 0xfe, 0x3e, 0xff, 0x20, 0xeb, 0x2a, 0xff, 0x3d, 0xff, 0x2a, 0xff, 0x23, + 0xef, 0x3b, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x2d, 0xeb, 0x2b, 0xf7, 0x33, + 0xeb, 0x28, 0xff, 0x3d, 0xff, 0x3f, 0xff, 0x3f, 0xfe, 0x3e, 0xfd, 0x3c, + 0xfb, 0x2c, 0xff, 0x35, 0xfb, 0x3b, 0xff, 0x37, 0xff, 0x2f, 0xff, 0x3f, + }; diff --git a/wmMatrix/images/matrix.xpm b/wmMatrix/images/matrix.xpm new file mode 100644 index 0000000..3887c4f --- /dev/null +++ b/wmMatrix/images/matrix.xpm @@ -0,0 +1,1684 @@ +/* XPM */ +static char *matrix[] = { +/* columns rows colors chars-per-pixel */ +"14 216 1462 2", +" c Gray0", +". c #000701880019", +"X c #001d02930027", +"o c #0023039c003d", +"O c #002d04750053", +"+ c #00c204aa0107", +"@ c #002c05810044", +"# c #00bc0537011b", +"$ c #0139055b0165", +"% c #002a0655005d", +"& c #00cb066f011a", +"* c #0009075f0018", +"= c #00f007ec016a", +"- c #0104061d0149", +"; c #013607860175", +": c #000b0877002e", +"> c #00e6087b0145", +", c #0003096a001c", +"< c #00f209b60178", +"1 c #0167087d019e", +"2 c #0167096f0193", +"3 c #01c808b30221", +"4 c #00090a80002c", +"5 c #00d10a51014f", +"6 c #000a0b85001c", +"7 c #012c0a84019a", +"8 c #01180b2e01ca", +"9 c #01d90a8f0243", +"0 c #01b70bbf0268", +"q c #021d0a380279", +"w c #02430bd802af", +"e c #000f0c71002a", +"r c #006e0c84012c", +"t c #001c0d86002e", +"y c #00520ddb01ee", +"u c #011f0ca80178", +"i c #01860d8f01c1", +"p c #00090e860013", +"a c #00aa0e33014f", +"s c #00000f6b000e", +"d c #01980f330195", +"f c #01740e780277", +"g c #018d0f9a0260", +"h c #02450c46028f", +"j c #024b0dc0024b", +"k c #031a0c9f0364", +"l c #03360dca0376", +"z c #02150ef40277", +"x c #025e0ef60324", +"c c #025b0f0d02a6", +"v c #032a0e6e03bd", +"b c #036b0f8203b0", +"n c #000110840014", +"m c #00f410bb01dc", +"M c #0019117f0044", +"N c #00e5112f0158", +"B c #019a10d901d8", +"V c #013411b601bd", +"C c #01f910590272", +"Z c #019e11470205", +"A c #000012a4000d", +"S c #000012e9012c", +"D c #000013c90000", +"F c #00d5137e0134", +"G c #0183138e01f2", +"H c #01ad139502fe", +"J c #0251109302d1", +"K c #02be107e033b", +"L c #024b118102ea", +"P c #02ce11be0342", +"I c #033b10a803c2", +"U c #034a119e03b8", +"Y c #02641215034f", +"T c #02c413b003b3", +"R c #035012c703f8", +"E c #0341135d03e7", +"W c #03ec10c30463", +"Q c #0374117f04a0", +"! c #02f4125b040f", +"~ c #038a12b70415", +"^ c #03ab13da0461", +"/ c #000014c2006c", +"( c #002a1598003b", +") c #00f9155c0111", +"_ c #01a9149e0233", +"` c #01821549026f", +"' c #000016ad0000", +"] c #0009178f0003", +"[ c #008917fb0101", +"{ c #013916eb0177", +"} c #0222146802a3", +"| c #0277159602ba", +" . c #02b915460388", +".. c #034d141903cb", +"X. c #031a158b0399", +"o. c #025016f302d6", +"O. c #02f8163703b3", +"+. c #032a17de0383", +"@. c #02d1145c0414", +"#. c #02dc15b8040c", +"$. c #039814870455", +"%. c #045c12d00490", +"&. c #051b13d10574", +"*. c #0425142104a4", +"=. c #04f3141a054b", +"-. c #049715db04d9", +";. c #055114580564", +":. c #04e316fc04eb", +">. c #048d174a056a", +",. c #057d16630568", +"<. c #05a11611064d", +"1. c #05e317dc0648", +"2. c #000018a1000a", +"3. c #000019dd0000", +"4. c #013f189801a9", +"5. c #01f7190f0296", +"6. c #00221a59002b", +"7. c #00001b7b0000", +"8. c #02e718f302fa", +"9. c #023718540339", +"0. c #0379189b03c2", +"q. c #03241abf03c6", +"w. c #038e1b5403cb", +"e. c #03b818980430", +"r. c #03fc19930489", +"t. c #03891a8a0449", +"y. c #03d81b22047b", +"u. c #001d1ca80026", +"i. c #00001de20010", +"p. c #00e31daa014a", +"a. c #01d11c02022a", +"s. c #00001e810012", +"d. c #00001f450000", +"f. c #02601c920231", +"g. c #037e1c5c03b7", +"h. c #034b1d5e03e6", +"j. c #020b1e0202d7", +"k. c #02871fcc0223", +"l. c #03871c45043b", +"z. c #03841f380450", +"x. c #045518dd052c", +"c. c #045d19c904b3", +"v. c #04db19820534", +"b. c #058619b505d0", +"n. c #04011ac50505", +"m. c #04ae1b82056c", +"M. c #05481ab005a1", +"N. c #05111b740562", +"B. c #05971a7a062d", +"V. c #059b1b7d063f", +"C. c #06691a26063c", +"Z. c #06481be606f4", +"A. c #074d1abe07dc", +"S. c #04371d3704a2", +"D. c #05421d1005a3", +"F. c #05a31c3b0673", +"G. c #058c1e0b057c", +"H. c #05c61e7f064d", +"J. c #05d21fb70711", +"K. c #063f1cc10715", +"L. c #06541d020683", +"P. c #069e1d810762", +"I. c #07401cac0757", +"U. c #07091da2079a", +"Y. c #06861e20066d", +"T. c #06cd1edd07a1", +"R. c #06441f47062b", +"E. c #06e81fc90759", +"W. c #077d1ba90876", +"Q. c #091c1d9d09bc", +"!. c #08b61f9f0888", +"~. c #000021a70000", +"^. c #001222780067", +"/. c #009f22e70121", +"(. c #0000232e0000", +"). c #02be20c00225", +"_. c #029a239d02a9", +"`. c #02e4233a03ce", +"'. c #000024a80067", +"]. c #0000258f0000", +"[. c #01bb24390180", +"{. c #01112564011e", +"}. c #000026450000", +"|. c #000027870000", +" X c #032925fc02b4", +".X c #03e527cc0419", +"XX c #045321420427", +"oX c #04e221ee059a", +"OX c #050321120578", +"+X c #048b23950489", +"@X c #051e22330555", +"#X c #05a822790654", +"$X c #061e20a706c2", +"%X c #062e21d70612", +"&X c #076020800774", +"*X c #067c22e60691", +"=X c #06ab22ac0733", +"-X c #064423ab0682", +";X c #06fb235a071d", +":X c #07aa22170797", +">X c #07032383077b", +",X c #047124b80445", +"o c #04d8360303c4", +",o c #04fa34af04ef", +"O c #085a45560974", +",O c #0e35403b0db5", +"+ c #1a6943971add", +",+ c #181b4ba517bb", +"<+ c #18434aa319da", +"1+ c #18c64d2a1979", +"2+ c #1ccb49361d1a", +"3+ c #110953b40ffa", +"4+ c #111850261156", +"5+ c #12055250127b", +"6+ c #12fb531512b2", +"7+ c #135252d9135e", +"8+ c #1248548f125c", +"9+ c #17f45027177e", +"0+ c #15f2547d1533", +"q+ c #14e7574614b0", +"w+ c #167e55c415fe", +"e+ c #132459771371", +"r+ c #127f5d121258", +"t+ c #144f5a3b14c0", +"y+ c #17375a08179f", +"u+ c #17455b7c1742", +"i+ c #16095e9016be", +"p+ c #1816530c17be", +"a+ c #18af5103182a", +"s+ c #195950fb1860", +"d+ c #19d650b91963", +"f+ c #18d3529619a6", +"g+ c #199b52c6186a", +"h+ c #19bb52ec1925", +"j+ c #1975536d1858", +"k+ c #198453311960", +"l+ c #1a2c51c519e9", +"z+ c #1a58539319c7", +"x+ c #1ad0530f1a7b", +"c+ c #1be153331b04", +"v+ c #18c554451830", +"b+ c #18e755dd1873", +"n+ c #1974555718b3", +"m+ c #191f56141885", +"M+ c #1a27559019e6", +"N+ c #1a5c561c18c5", +"B+ c #1a18572c1a5f", +"V+ c #1b3556321ab9", +"C+ c #1c4651a41c0d", +"Z+ c #1e0c53fa1e67", +"A+ c #1ca656a01bd9", +"S+ c #1ca754431c84", +"D+ c #1d57560d1c1b", +"F+ c #1e8d575b1d50", +"G+ c #180559f41881", +"H+ c #194b58331983", +"J+ c #1905597e1976", +"K+ c #19e8595a1a81", +"L+ c #19585b9e18a1", +"P+ c #1b2059061ac0", +"I+ c #1b435b4f1aeb", +"U+ c #19075e4e1820", +"Y+ c #19b55ff81959", +"T+ c #1aa75db31a36", +"R+ c #1adf5fbb1a1d", +"E+ c #1c53585e1bce", +"W+ c #1c725a801ba9", +"Q+ c #1d5458d81cb3", +"!+ c #1db3592a1d28", +"~+ c #1d485a631cba", +"^+ c #1d085a8e1d27", +"/+ c #1e3758641ccf", +"(+ c #1e61589d1e32", +")+ c #1f2d593e1f1b", +"_+ c #1e615a831d4c", +"`+ c #1eda5b951ddb", +"'+ c #1f5c5a821ea1", +"]+ c #1fb85b721f3e", +"[+ c #1c3d5d5d1b65", +"{+ c #1dba5ce91d4b", +"}+ c #1dfd5fe81dbe", +"|+ c #1e775cec1dc6", +" @ c #1ef05d5b1dbe", +".@ c #1fb45c321e8e", +"X@ c #1f9d5d771ea9", +"o@ c #1fc75de71f81", +"O@ c #1e575ecb1da8", +"+@ c #1ff0511d2095", +"@@ c #033067a70339", +"#@ c #05fb630d0558", +"$@ c #000068fb0000", +"%@ c #013e69420146", +"&@ c #00006c520000", +"*@ c #043469ba03fc", +"=@ c #07f06b3c0631", +"-@ c #05be6f0c0585", +";@ c #0acd61870a2b", +":@ c #09ea66850a39", +">@ c #000076350000", +",@ c #00007aa60000", +"<@ c #071979ed073d", +"1@ c #0af373380a5d", +"2@ c #0b3977ba0af4", +"3@ c #0cf070770cab", +"4@ c #0e0574900e08", +"5@ c #0ed7761e0d93", +"6@ c #0fd377da0fb5", +"7@ c #134566b11272", +"8@ c #13b366cf13b9", +"9@ c #15e460b51682", +"0@ c #17ae610f17e9", +"q@ c #152f64771544", +"w@ c #17a565d917b0", +"e@ c #172d6d9416c7", +"r@ c #183c617317f8", +"t@ c #1a1461fc1ac6", +"y@ c #1b95605c1b26", +"u@ c #1b8267291ad9", +"i@ c #1c2560ab1bec", +"p@ c #1ca760741c65", +"a@ c #1c9e60b31d7d", +"s@ c #1ca261181c56", +"d@ c #1d4a62911d62", +"f@ c #1eab614d1dd2", +"g@ c #1fc060f71eb7", +"h@ c #1f2660481f19", +"j@ c #1fe761b41e99", +"k@ c #1eed626d1d7b", +"l@ c #1f2663741e6a", +"z@ c #1df364191d3d", +"x@ c #1df066971dc7", +"c@ c #1ee7645f1dde", +"v@ c #1f2c658d1f4e", +"b@ c #1ead67501e1d", +"n@ c #19a9689f1a0f", +"m@ c #1aa26aca1b34", +"M@ c #18d56d1818a6", +"N@ c #1ba36c401a90", +"B@ c #1bdc6d3b1c96", +"V@ c #1db6685a1d93", +"C@ c #1d6f6ae51d7e", +"Z@ c #1f936bd51f9c", +"A@ c #1c376e541bfc", +"S@ c #1d276d1e1c11", +"D@ c #115972ce0f9d", +"F@ c #13cb773f131b", +"G@ c #172674921769", +"H@ c #165a762e15c0", +"J@ c #17dd7b9a16a0", +"K@ c #19c5747817dd", +"L@ c #1994719a180b", +"P@ c #199774df18fa", +"I@ c #1c4373071c3c", +"U@ c #18aa78fb1805", +"Y@ c #19467935191a", +"T@ c #1b687cdd1b8b", +"R@ c #1fa17af41ec4", +"E@ c #1fbe79b220b2", +"W@ c #20175ac01eef", +"Q@ c #20755d151fa3", +"!@ c #20b25f761fe1", +"~@ c #205c59dd207f", +"^@ c #20b95ed720c3", +"/@ c #206b5f012044", +"(@ c #21525f6020a5", +")@ c #2a01597b29c9", +"_@ c #2c5c5d302d3c", +"`@ c #204960d91f69", +"'@ c #206961851f7a", +"]@ c #20b762d41fcb", +"[@ c #200f63681fb9", +"{@ c #203664831fbf", +"}@ c #201e667f1eaf", +"|@ c #214f7de91fef", +" # c #209e7e541f45", +".# c #2163624120bf", +"X# c #218762082120", +"o# c #21b4637720b0", +"O# c #22cd62b620e0", +"+# c #228e63c3214e", +"@# c #22da631e2233", +"## c #20ac64912031", +"$# c #21b1648e20a9", +"%# c #210f655f20ac", +"&# c #219d666120f1", +"*# c #226c65b82176", +"=# c #238664d32339", +"-# c #236e65ea2286", +";# c #221466c821c9", +":# c #230467052151", +"># c #23446661229e", +",# c #236b67ee22c9", +"<# c #2494669e245d", +"1# c #207768392036", +"2# c #2184696c20e0", +"3# c #22db69582113", +"4# c #229c686b22cf", +"5# c #22e6691b2233", +"6# c #238568a72339", +"7# c #2363695122e3", +"8# c #23b56942231f", +"9# c #22df6a2b22f7", +"0# c #22b46dae2223", +"q# c #24df6899235a", +"w# c #2442696c2365", +"e# c #24ee698e24b9", +"r# c #2585683b24f5", +"t# c #248e6bd4242d", +"y# c #255f6a7d2522", +"u# c #25c86b6e2472", +"i# c #278c6b7f25af", +"p# c #27066a8d26a3", +"a# c #24ba6c4023ae", +"s# c #248e6db62378", +"d# c #24c76d402428", +"f# c #25a96d8524b6", +"g# c #25a36eb8251a", +"h# c #25e96f62256e", +"j# c #268b6c712557", +"k# c #27986dcc26be", +"l# c #26336e9724fe", +"z# c #2b6f63c22b5b", +"x# c #2944686b27ca", +"c# c #2a2e6a8e2a98", +"v# c #29686c722a00", +"b# c #2d1f69aa2e3b", +"n# c #219c7069207f", +"m# c #23be72f42377", +"M# c #23d076d0239c", +"N# c #245f70aa235d", +"B# c #2400725a22c8", +"V# c #24ea708c2435", +"C# c #24e9716f24bb", +"Z# c #26ef71162637", +"A# c #2769705626a5", +"S# c #275571972647", +"D# c #26af73a025d3", +"F# c #277172b92687", +"G# c #279573a32654", +"H# c #245677dd2373", +"J# c #255376d824dc", +"K# c #27e974e82702", +"L# c #270d76dc25e1", +"P# c #21ed782c20fc", +"I# c #22d07e1e2312", +"U# c #2501798b247c", +"Y# c #25cd7b3b25e9", +"T# c #26ed7ac026a2", +"R# c #257e7d0b2487", +"E# c #240f7f292409", +"W# c #26d67d872625", +"Q# c #288272fe26ee", +"!# c #2812724a2776", +"~# c #284f73d82725", +"^# c #287f744b27aa", +"/# c #286b75472788", +"(# c #29e571cc29e8", +")# c #28e673f32805", +"_# c #280375482824", +"`# c #295c74bf2846", +"'# c #29e17578286b", +"]# c #293c76bb2807", +"[# c #2a7d74032974", +"{# c #2a79762e297c", +"}# c #2a6177d0291a", +"|# c #2ade77f02a40", +" $ c #2b0376322a16", +".$ c #2c59765b2c2b", +"X$ c #2d5377fe2ce8", +"o$ c #28937a5527bf", +"O$ c #28eb7d2b26a6", +"+$ c #297178312877", +"@$ c #2a9179be2916", +"#$ c #2b2e788129fb", +"$$ c #2ab378872a22", +"%$ c #2b7f78672a20", +"&$ c #2bfe79b82bc6", +"*$ c #2a447ab02881", +"=$ c #2a0f7b0f299c", +"-$ c #2b1c7a5529e0", +";$ c #2b887b412a98", +":$ c #28657e782826", +">$ c #2a3d7cb0299f", +",$ c #2bc87d452b5e", +"<$ c #2bc37e1029e7", +"1$ c #2bd47e622b3d", +"2$ c #2c2978de2aa4", +"3$ c #2cb979112b19", +"4$ c #2cc27ba42b5e", +"5$ c #2d2a7bae2b6c", +"6$ c #2d8a79692daf", +"7$ c #2cef7bda2c61", +"8$ c #2e1a7b4c2c92", +"9$ c #2c907c682b84", +"0$ c #2c257de12b1b", +"q$ c #2d887c492bf5", +"w$ c #2ca47e352b69", +"e$ c #2ccf7d4c2c36", +"r$ c #2d367efa2c39", +"t$ c #2ddc7e5f2d10", +"y$ c #2e597d9c2cd5", +"u$ c #2ede7d682d6b", +"i$ c #2e3b7ef52cd6", +"p$ c #2ec17e182d4d", +"a$ c #2fa57e5f3048", +"s$ c #333a6a3432d8", +"d$ c #32587d3530d9", +"f$ c #32417ea73201", +"g$ c #33417f51321c", +"h$ c #377e78e23794", +"j$ c #390a707338ce", +"k$ c #000087030000", +"l$ c #027d85dd0136", +"z$ c #00008b2c0000", +"x$ c #00008c960000", +"c$ c #039d8c2c0256", +"v$ c #0e1880d20deb", +"b$ c #0f488ca00ff1", +"n$ c #000093e40000", +"m$ c #02ff9afc0163", +"M$ c #00009c970000", +"N$ c #0c3d9a820ae2", +"B$ c #17e989111780", +"V$ c #1de58f3e1d77", +"C$ c #12b8914511d6", +"Z$ c #15689362152d", +"A$ c #10539bc61019", +"S$ c #1af2970f1bd2", +"D$ c #1e0496071d09", +"F$ c #18679c4916f9", +"G$ c #0000a6070000", +"H$ c #076cab65058b", +"J$ c #0d85baec0b8e", +"K$ c #11e3a5631190", +"L$ c #1465a8a5130c", +"P$ c #1cbda0451dc9", +"I$ c #1e73a25c1dad", +"U$ c #1503b05b10e5", +"Y$ c #1cf6b8d31beb", +"T$ c #276281f0262c", +"R$ c #2503889c24b0", +"E$ c #273f8fad26ca", +"W$ c #29e883342965", +"Q$ c #2aa4837529bb", +"!$ c #2b1d855a2b68", +"~$ c #2c3280302af4", +"^$ c #2c3381ac2b6f", +"/$ c #2d8c80e52c9c", +"($ c #2e5a81772d56", +")$ c #2fe3806e2eec", +"_$ c #2f2c82c42ddc", +"`$ c #2f3982512e33", +"'$ c #2fc782792f20", +"]$ c #2f9283872e52", +"[$ c #2ca085302c90", +"{$ c #2ce685172d8c", +"}$ c #2dd687ef2e14", +"|$ c #2e32856f2d1f", +" % c #2f1e84b22dd0", +".% c #2fc386822ee7", +"X% c #2fe886752f26", +"o% c #2a1c8c4329d1", +"O% c #2ab98d8f29a6", +"+% c #2a788e792957", +"@% c #2fa388072f20", +"#% c #2fa289bf2f1d", +"$% c #2ebe8aa22eed", +"%% c #2ebf8b772e38", +"&% c #2d518c362c83", +"*% c #22fc91d9226f", +"=% c #244793ac2335", +"-% c #25ee90432560", +";% c #27a2903426fa", +":% c #26f5977325bf", +">% c #2653999125df", +",% c #2d76902d2de4", +"<% c #2c9a93ac2d3b", +"1% c #29ac9a0e299e", +"2% c #2e8f9c982db9", +"3% c #305b81502ee4", +"4% c #301b82122ebb", +"5% c #300a82cf2f3b", +"6% c #309685802f9a", +"7% c #309586da2f50", +"8% c #313487202fa9", +"9% c #30ae89552fad", +"0% c #312a8a012f4f", +"q% c #30ca84f43000", +"w% c #316284973029", +"e% c #30f987213083", +"r% c #317e8674302b", +"t% c #323285ba3062", +"y% c #32ba87663183", +"u% c #360481ef36ac", +"i% c #345a84ec334d", +"p% c #31d888d63061", +"a% c #31a78a3d30a1", +"s% c #321889b1315a", +"d% c #332288e23183", +"f% c #334388c13282", +"g% c #32b08ad3319e", +"h% c #33158ae4317a", +"j% c #32fa8a3d3232", +"k% c #33b58b80328c", +"l% c #30a48ca73028", +"z% c #31888c6a30aa", +"x% c #32318dba30e2", +"c% c #33568dde331e", +"v% c #323f8e71311d", +"b% c #33298e153269", +"n% c #33aa8f1832d8", +"m% c #348c89d5332b", +"M% c #34828ad7329f", +"N% c #34af8b273356", +"B% c #350b8a1b33b8", +"V% c #352d8b663385", +"C% c #34de89ce3438", +"Z% c #3527892734c3", +"A% c #34298fbc3323", +"S% c #35e78d8b343e", +"D% c #35ac8d81356f", +"F% c #35f68f073481", +"G% c #36498ec534ff", +"H% c #37c88fb935df", +"J% c #36d58e56363b", +"K% c #36a68f94366c", +"L% c #3baa88053b50", +"P% c #30e690f330e0", +"I% c #30f5920030e1", +"U% c #312b92c630a8", +"Y% c #32ce91cc3269", +"T% c #33e2913e327c", +"R% c #30c495f73112", +"E% c #3185965b31aa", +"W% c #334b9719338e", +"Q% c #344a90cf33d9", +"!% c #350b92803360", +"~% c #35cb91e235b6", +"^% c #36b89074355d", +"/% c #375790e335cb", +"(% c #37f990c2369b", +")% c #372a91e63609", +"_% c #368a92fd3445", +"`% c #369b923035bc", +"'% c #3655933935ab", +"]% c #3715926635a4", +"[% c #35b39681340f", +"{% c #3552971834cb", +"}% c #36bc949b35ec", +"|% c #37e795533682", +" & c #37be96e83741", +".& c #3702979536b1", +"X& c #31cf9bcf3169", +"o& c #332699dc32c7", +"O& c #345c9b2f33fe", +"+& c #3677999b3594", +"@& c #35969e063549", +"#& c #3949918e3748", +"$& c #388f93bc3766", +"%& c #38d3954e37bb", +"&& c #397b94cd37c2", +"*& c #389896a736d6", +"=& c #39a492ee3994", +"-& c #39a0938838ee", +";& c #39e694053901", +":& c #396c96613870", +">& c #39cc965339d4", +",& c #39e997893a9f", +"<& c #3aa9947b38e9", +"1& c #3aae95ee3964", +"2& c #3a3596c6386b", +"3& c #3b98966e398e", +"4& c #3ff193033fca", +"5& c #3885981b36e1", +"6& c #38ee9880374d", +"7& c #38dc9ab63849", +"8& c #39ee9af939df", +"9& c #3a42982c38e7", +"0& c #3a909994399c", +"q& c #3b5d98e63a1e", +"w& c #3bab99053a55", +"e& c #3a329a0839be", +"r& c #3b139a173905", +"t& c #3b769ab43a19", +"y& c #388e9e94386b", +"u& c #3bdb9c9f3ac8", +"i& c #3bbe9d333b79", +"p& c #3b119ec339c3", +"a& c #3abd9e4f3aac", +"s& c #3b0c9e7c3b96", +"d& c #3ca29a323b12", +"f& c #3c599b093b67", +"g& c #3d229b193be2", +"h& c #3cce9b0c3c05", +"j& c #3d219a233d07", +"k& c #3cf29d053b7a", +"l& c #3d029cd23bea", +"z& c #3cd69e773b4d", +"x& c #3d2d9fb13c7c", +"c& c #3e219ce53dc7", +"v& c #3f459db33f09", +"b& c #3e459fdc3cca", +"n& c #3f709eae3e67", +"m& c #241ba4c42467", +"M& c #21f4ae5d211e", +"N& c #2205ac922102", +"B& c #22a5ad8d2177", +"V& c #2be1a1bf2c00", +"C& c #2a6ea8652a35", +"Z& c #2aa0a9b12a14", +"A& c #2aa6aad82aa0", +"S& c #2efaa8d32faf", +"D& c #23a5b22f23de", +"F& c #2207b53c2080", +"G& c #3289a09531fe", +"H& c #3577a6463453", +"J& c #31a9a88b3052", +"K& c #3792a82237a2", +"L& c #3579afe63562", +"P& c #39caa1d43a64", +"I& c #3a50a0d639ae", +"U& c #3b7fa0ad3b85", +"Y& c #3b97a2dc3ba1", +"T& c #3ba9a1103c7b", +"R& c #3a2ba48239a0", +"E& c #3bada4643b46", +"W& c #3bb9a5433a72", +"Q& c #3c5ba3b23bbe", +"!& c #3c01a0a23c0b", +"~& c #3cc1a1943c33", +"^& c #3da8a0cc3cc3", +"/& c #3d78a1b93caa", +"(& c #3e7fa0813c83", +")& c #3eaca0923d3e", +"_& c #3fa5a09a3dfa", +"`& c #3ebea04c3e0d", +"'& c #3d27a4323c6c", +"]& c #3dc2a5823d93", +"[& c #3d3aa60e3d80", +"{& c #3eb8a4d53e6f", +"}& c #3e5aa69b3e6d", +"|& c #3e17a7813f61", +" * c #3fc4a69c3f66", +".* c #38e4a99238cd", +"X* c #3d9ca8a53d37", +"o* c #3fd0a8e33ee0", +"O* c #3fb9add83f0a", +"+* c #3e80ae043ced", +"@* c #3022b6d22fc6", +"#* c #33aeb54f349a", +"$* c #341eb56833f7", +"%* c #324dbca431cc", +"&* c #350cbe523542", +"** c #382db29437b9", +"=* c #3d91b1513d9b", +"-* c #3f5fb2ee3ee2", +";* c #3f2eb7533dd5", +":* c #39b6b927390e", +">* c #3869bef3385a", +",* c #3f88bd743e6e", +"<* c #0a04cad809b4", +"1* c #1b97c00e1aa2", +"2* c #1cb2c5911c03", +"3* c #181dca4d17c8", +"4* c #1f76ce901e5e", +"5* c #213ec10d209f", +"6* c #23dacbc823cd", +"7* c #26accf152777", +"8* c #2d3ecd472c7a", +"9* c #2e69d27a2dfe", +"0* c #2a2edf5c2b18", +"q* c #2f07d8022de4", +"w* c #3026c1562e6b", +"e* c #34f1c55e3619", +"r* c #35f6ca193592", +"t* c #3612ccc5354b", +"y* c #3789ca673813", +"u* c #300dd7de3082", +"i* c #3253e07633f2", +"p* c #41059e9e3f98", +"a* c #4008a1983eb4", +"s* c #4082a25c3ed6", +"d* c #410fa5c43f33", +"f* c #4053a84f3f2b", +"g* c #410dab883ffc", +"h* c #40c2be7e3fee", +"j* c #4bad8e894b0c", +"k* c #4d868a134d25", +"l* c #404f945f4077", +"z* c #4397970e42ec", +"x* c #436a9df142dd", +"c* c #48cb97be48f8", +"v* c #4a909a6b49f3", +"b* c #48999ce84850", +"n* c #48f89fbe48ac", +"m* c #4c4798bf4d89", +"M* c #4dfc9b224e0e", +"N* c #500a80b94fef", +"B* c #5eb38c925e7b", +"V* c #508796615088", +"C* c #57d691665820", +"Z* c #523d98105278", +"A* c #5c7f92635d4f", +"S* c #5cbc9a975cc0", +"D* c #403aa5d74049", +"F* c #416aa443403e", +"G* c #4194a63b4090", +"H* c #410ba6674135", +"J* c #427ea71140fa", +"K* c #41bfa81d4110", +"L* c #415ba92040ed", +"P* c #420fa842417f", +"I* c #4237a8d4422f", +"U* c #42bea9694220", +"Y* c #43fea8ad4362", +"T* c #4315a9ad423c", +"R* c #42e1ab7f41f6", +"E* c #435bab9c42e8", +"W* c #4439aa884358", +"Q* c #4481abf243f9", +"!* c #455eaac9449c", +"~* c #4693ab0b453b", +"^* c #4539acb544ac", +"/* c #4554aeec442d", +"(* c #4a60a7e74a0d", +")* c #4c9aa3004ccb", +"_* c #4d16a4f54d23", +"`* c #480aa92a4557", +"'* c #48b9adcd478e", +"]* c #4853af4847c6", +"[* c #4897a978480e", +"{* c #4a78aba84a10", +"}* c #4846ad7b4852", +"|* c #4997ac214a51", +" = c #4a64afae493d", +".= c #4b1eaec74b62", +"X= c #4faca9424f8d", +"o= c #4155b0d74145", +"O= c #4092b32a40b8", +"+= c #426cb1df41e3", +"@= c #4338b04342f1", +"#= c #4388b14d42c2", +"$= c #441cb00d433e", +"%= c #4432b178446c", +"&= c #45c2b1cd466f", +"*= c #46c2b1cb45f4", +"== c #472eb09745e5", +"-= c #47a1b02d46bc", +";= c #47dcb00e4730", +":= c #47f6b18e47c3", +">= c #46a9b4fc463a", +",= c #46fcb4d64766", +"<= c #425abd454205", +"1= c #4384bd80436f", +"2= c #47cbbbe346dc", +"3= c #483eb5264761", +"4= c #4a42b16c4891", +"5= c #49ddb4a648cd", +"6= c #49f9b45d4953", +"7= c #4994b5c1495e", +"8= c #4a85b595494a", +"9= c #4cf6b1074c58", +"0= c #4c13b6de4b1b", +"q= c #486ab8804910", +"w= c #4a25b8754a13", +"e= c #4ad2bb2249e6", +"r= c #4afbba9e4a6e", +"t= c #4bcbbbcb4a8f", +"y= c #49edbefe4a13", +"u= c #4c09ba484be5", +"i= c #4cd1b9494c23", +"p= c #4c6bbe494b2a", +"a= c #4d5abeca4c5b", +"s= c #4fc2bd1b4e7e", +"d= c #51c6aa704fe2", +"f= c #503ea5c65059", +"g= c #5283a7965306", +"h= c #5003aac95080", +"j= c #52d2a94650cb", +"k= c #5494a8f35532", +"l= c #58fba5e85902", +"z= c #5adaa7655ad5", +"x= c #5cc2a3275c05", +"c= c #58e2af1558c4", +"v= c #5cf9acb95d4c", +"b= c #500ebf9d4f37", +"n= c #5170bef44ff1", +"m= c #515ab05750cf", +"M= c #5109b68a5018", +"N= c #55d1b22a559a", +"B= c #542ab7895433", +"V= c #5451bd875380", +"C= c #5aefb3f95a0b", +"Z= c #5f8bb1025fe5", +"A= c #5997be2258df", +"S= c #62f88f6d6242", +"D= c #617c978061a0", +"F= c #64c29c9563dd", +"G= c #6076aac260ee", +"H= c #69d0ab8069aa", +"J= c #6f27a9906ea1", +"K= c #6fa5a9406f42", +"L= c #63bcb885642a", +"P= c #689dbe9a66e8", +"I= c #6c65bace6b85", +"U= c #7404ab0b73b5", +"Y= c #7725ae5d76e5", +"T= c #4033cd333efe", +"R= c #41d1c03740ab", +"E= c #4188c2c940cc", +"W= c #41dec3434136", +"Q= c #43e8c36b435f", +"!= c #455fc7e84532", +"~= c #4184ccad41a5", +"^= c #4b88c7544ada", +"/= c #4f36c4234f2b", +"(= c #4bfbc9ab4b8f", +")= c #4a38ce204903", +"_= c #4e24cbbb4c8a", +"`= c #4257d2c241e2", +"'= c #454fd10d4489", +"]= c #4f94d7c04ef5", +"[= c #496bd9ad4a05", +"{= c #4e07d9804dfb", +"}= c #4f5add65504f", +"|= c #5110cf224f6c", +" - c #512dc27d5017", +".- c #5297c32751cf", +"X- c #52ffc35252af", +"o- c #530fc335523a", +"O- c #50b1c4b15038", +"+- c #52a6c4905225", +"@- c #53edc4295360", +"#- c #572ec310567b", +"$- c #568cc74a5668", +"%- c #572aceaa5743", +"&- c #5ec7c2ae5ef3", +"*- c #5891cce95641", +"=- c #5879cd7d57a4", +"-- c #5835ce2a57f2", +";- c #582ac86258a7", +":- c #5b8bcc0c5ac0", +">- c #5047d85b4fd5", +",- c #50e5da5e4fa7", +"<- c #5385d05451c1", +"1- c #5050db6450d3", +"2- c #5807d7e8575d", +"3- c #5b08d1d95ac8", +"4- c #5bd1d2185abd", +"5- c #5d67d73d5df2", +"6- c #5e39d5a95d76", +"7- c #5f51d6e65da0", +"8- c #5aabdf965ae5", +"9- c #58f1e4575725", +"0- c #5930ecfe5907", +"q- c #5dcce9475ccb", +"w- c #5e02eda35d1e", +"e- c #6070c8a65edf", +"r- c #6212c065631e", +"t- c #641bc0716273", +"y- c #66dcc218658a", +"u- c #65e1c4576566", +"i- c #6604c51e6583", +"p- c #60adcf61601b", +"a- c #617ace79618a", +"s- c #6279cc816200", +"d- c #664bcd91672a", +"f- c #6bf0c4926c27", +"g- c #6e65ccea6d13", +"h- c #62fed00f61fb", +"j- c #6727d2a46756", +"k- c #6623d4ff6563", +"l- c #667cd5586545", +"z- c #632ada3163b6", +"x- c #62a0dfce62e1", +"c- c #65eddf6963e8", +"v- c #687bd33267d1", +"b- c #6a3ed1d06a20", +"n- c #6a0dd2e56946", +"m- c #6800da97676c", +"M- c #6fc3da4c6edc", +"N- c #6c7bdc386b32", +"B- c #6d23ddf76d77", +"V- c #70b1c7e87062", +"C- c #717ac7d7712e", +"Z- c #7421c3ca73fc", +"A- c #77cac19d77eb", +"S- c #74dec64c7442", +"D- c #764ec4317634", +"F- c #7787c7f87753", +"G- c #720acfaa71c0", +"H- c #74f4cb487425", +"J- c #780ecd2777cd", +"K- c #79e3ce4678b6", +"L- c #7a75ce3f7ad5", +"P- c #7dddcf407df7", +"I- c #7537d0cd758c", +"U- c #72f1d9257251", +"Y- c #7102dcab7037", +"T- c #765dda337642", +"R- c #79afdb667913", +"E- c #7985dcad792c", +"W- c #7cb9df8f7d29", +"Q- c #60f5e5915ddd", +"!- c #6341e1636034", +"~- c #62d6e0e26237", +"^- c #660de62c6614", +"/- c #63a5e920629c", +"(- c #655eed036621", +")- c #6b64e3ba6a0c", +"_- c #6e45e0b06e0f", +"`- c #6c9fe47a6b8d", +"'- c #6e38e49d6c73", +"]- c #6ecde7816f4b", +"[- c #696eef6d68d9", +"{- c #6f7ce9376e86", +"}- c #66d4f0946500", +"|- c #71e0e3c2708e", +" ; c #73f6e7717245", +".; c #7543e1ff7597", +"X; c #7677e6ad7637", +"o; c #7f55e1997f53", +"O; c #7cabe7047bd6", +"+; c #7c5deba57c3c", +"@; c #77cbf1347788", +"#; c #7487f474730c", +"$; c #77befa2c76cf", +"%; c #7e05faf17db3", +"&; c #80f4c93c7fcd", +"*; c #808cd8f87f7f", +"=; c #8130b79280fc", +"-; c #841ad79483a1", +";; c #815bdda7803f", +":; c #85cdde078590", +">; c #8b15d9bc8b04", +",; c #8b0bdaca8aa6", +"<; c #8c1ed9878c20", +"1; c #8cd8dff28c55", +"2; c #98bcdf68984d", +"3; c #99f8dedc9940", +"4; c #9a65de8b9a48", +"5; c #8516e34682db", +"6; c #84c2e5058433", +"7; c #8139e8f181a6", +"8; c #8088ebde8084", +"9; c #81cbef738033", +"0; c #8be9e1e78b56", +"q; c #8969e65488db", +"w; c #8b9be5ac8b7d", +"e; c #8a0fe77a896d", +"r; c #8e89e2e08ea6", +"t; c #8d59e97f8d59", +"y; c #8d8eed808c5e", +"u; c #8e0dee768d99", +"i; c #8ffdef378fd6", +"p; c #8312f50680d0", +"a; c #86a4f329866f", +"s; c #88bbf7fb874a", +"d; c #8924f34a88c0", +"f; c #8a03f82e89e9", +"g; c #8d3cfcc68ae7", +"h; c #930ee7d19301", +"j; c #96eee2129666", +"k; c #96eae3c09603", +"l; c #92d5e8b99213", +"z; c #9317e8bd92d3", +"x; c #94b0ec0c93d5", +"c; c #9450effe93ee", +"v; c #9585ee3c939e", +"b; c #99f3e6559a6d", +"n; c #929cf52e9234", +"m; c #9580f7089352", +"M; c #974df55f96a6", +"N; c #95daf97f94e9", +"B; c #96d2fb62945d", +"V; c #9483ffff93ac", +"C; c #96cefe8b9611", +"Z; c #9a17f0da992b", +"A; c #9c7ff54e9c23", +"S; c #9e01f4169dd9", +"D; c #9ecaf51a9eaa", +"F; c #9e30f61d9cd2", +"G; c #9f1af9469edd", +"H; c #9e3afcfb9c5a", +"J; c #9e9fff7c9d82", +"K; c #a69ee631a78d", +"L; c #a0d4ec21a09b", +"P; c #a0bdee0aa0f6", +"I; c #a0ebefdba062", +"U; c #a719eeb7a5a6", +"Y; c #a6a0ef3fa619", +"T; c #a84be64da81f", +"R; c #abcaeb98ab7d", +"E; c #ac1be8e6ac2f", +"W; c #ad99e98cad8a", +"Q; c #adfcefc4addc", +"!; c #a1f0f4d1a10b", +"~; c #a22bf400a250", +"^; c #a63bf41fa58e", +"/; c #a6a6f7bda460", +"(; c #a06ff9afa018", +"); c #a184f894a0f4", +"_; c #a6b0f8e0a3d0", +"`; c #a50afba9a419", +"'; c #a7eaffffa5e2", +"]; c #a74dffffa62a", +"[; c #a853f41fa7df", +"{; c #acbbf101acef", +"}; c #aa00ffffa964", +"|; c #ac9bffffac94", +" : c #ad6dffffac70", +".: c #adb9ffe6ae17", +"X: c #af35ffffad78", +"o: c #afdcffffaf53", +"O: c #b230ec7bb261", +"+: c #b0f4f23aafb5", +"@: c #b15bf0d5b117", +"#: c #b251f786b0d4", +"$: c #b7b7f16eb7c4", +"%: c #b7fbf229b775", +"&: c #b763f3f2b817", +"*: c #b318f9ebb303", +"=: c #b188fcf1b193", +"-: c #b1c7ffffb1d2", +";: c #b457fbccb38b", +":: c #b400fd70b317", +">: c #b5faffffb4b7", +",: c #ba17f653b9d9", +"<: c #bf3ff42abf30", +"1: c #b87fffffb7c5", +"2: c #b97af9e7ba17", +"3: c #b868ffffb871", +"4: c #bac0ff9bb8b3", +"5: c #bb79ffffbb20", +"6: c #bc19fa60bc2a", +"7: c #bcc3fb83bce8", +"8: c #be43fabbbd8c", +"9: c #bdebfd4bbd10", +"0: c #bcacffffbcfa", +"q: c #bd64ffffbcb3", +"w: c #bec4ffffbee2", +"e: c #bf71ffffbe40", +"r: c #c08cf0e6c002", +"t: c #c323ffffc2d0", +"y: c #c306ffffc346", +"u: c #c54effffc46b", +"i: c #c68cffffc68e", +"p: c #c7f3ffffc878", +"a: c #c955fceac867", +"s: c #c8caffffc82b", +"d: c #c988fe49c911", +"f: c #ca84fce5cafe", +"g: c #cab3fd46cb07", +"h: c #cb78ffffcab8", +"j: c #cd15fdeacaf6", +"k: c #ce09fda9cc73", +"l: c #ce30ffffccf8", +"z: c #cfb7ffffce69", +"x: c #cfdeffffcf62", +"c: c #d1b8ffffd08a", +"v: c #d12dffffd120", +"b: c #d3b4ffffd3ab", +"n: c #d7a6fab1d5cd", +"m: c #d599ffffd4ff", +"M: c #d5b2ffffd54c", +"N: c #d7cbfc34d797", +"B: c #d6d8ffffd5ee", +"V: c #d684ffffd636", +"C: c #d684ffffd700", +"Z: c #d8bfffffd82f", +"A: c #dac0ffffdaa6", +"S: c #db15ffffdadb", +"D: c #dce5ffffdc8d", +"F: c #de81ffffdd75", +"G: c #e19dffffe201", +"H: c #e231ffffe140", +"J: c #e28dffffe2a1", +"K: c #e397ffffe30e", +"L: c #e844ffffe7dc", +"P: c #e979ffffe8ba", +"I: c #ea82ffffeb40", +"U: c #ec83ffffebe6", +"Y: c #ed77ffffed75", +"T: c #ef7effffefdd", +"R: c #f0d9ffffef4e", +"E: c honeydew", +"W: c #f31bfffff2c7", +"Q: c #f37efffff308", +"!: c #f6a7fffff6b5", +"~: c #fd42fffffc9b", +"^: c #fd49fffffd6d", +"/: c Gray100", +/* pixels */ +" . 8 Y < . . p 4.r . ", +". e.;#D#M+6 {.j=P=A%p ", +"0 j@0==$-=Ho n*!:v-Z:H+X ", +"B.;&e&-o'*h@ n @:$:&@D:j&t ", +"T.n&~%>o`*y# ] S:R;$@P:N=M ", +"^ 8$:=9O4=-+ * V-d:x$G:6$* ", +"O Uoz&v%G%=X y+N;#;z;6o ", +" X RX}oH. %Ox##o ", +" ", +" )O<&d+# s$2;O%: ", +" f$:-AOO K=I:Y@O ", +" d$[*, U=K;s ", +" g${*: Y=E;p ", +" X i%.=t X =;W;' ", +" s N%T*lX ] :;>:#O ", +" VX o< ^o<+t ", +" 6 / o p u.. ", +". `X#&+$e$1. IOj;'=P-NX ", +"= <#o-R+(%SX z=/:B&D;|o ", +"> ]+5==OGXX V*T:,@OO. ", +"& HX`%[$zX $OZ;N-@O ", +"1 BOP#W&.%t. 1@4*';;;|. ", +"- h+{&3=/*ZX o%1:~:W:&O ", +" 7 ooboTXX p 2+z+VO. ", +" M f.o 3.qX ", +". hod&d%f#7 1+P;8;B=s ", +"= (@s=S#A#I M*!:~=Q=5. ", +"8 9+X-s#@X T$/:,*$o ", +"U `#-=p@a. % f-Y:C&}. ", +"b 3%.&8+|#A. * ,;);m$C-}X ", +"o for$h%'$>. hO]=w-Y-#X ", +" E nXT u.io7. ", +" F , 7.4 ", +" 9.r%t$s ].T-Z-' ", +". 2X/&b=w+@ .OH;/:*%o ", +"# woO&#=^&Zo sOp;/:q:vOO ", +"7 d@%-y=e=7# K&/:/:/:O=a ", +"& @+3={%s@fo #l:e;Q&NO& ", +" ` c@EO% d.D&6@X ", +" o ", +" 5 ho`om. e gO8@tX ", +". fok%6=)$4 mO@;U:I-s ", +"o +Xu@'&F%H %oY$_;+;d. ", +"2 *+Q*^*[#4 E#C:M:r-p ", +"U N%P*wO2X 4 k;x:z$4o ", +"w $#b%x@`#W h=d;F&$-B. ", +". l.l@($'@> 0XA&}=]&, ", +" @ y . n ", +" q D+O+e x <%I#n ", +" r v+}%1#e e Z$%;m=A ", +". w.L+&%.-!o ].X&|-Q:t@o ", +"0 -#*=P%6-;+ k=P:5;/:U#, ", +"%.H%n%+OE*!O 4 &:Q;k$b:V#* ", +"9 !@:&C@!*co b*(;1*v:Z+. ", +". O.W+Q#o+* i.1%e*Y#% ", +" % O ", +" c./+F+c+N. wXW%>%,%uX ", +". +4-r&_&s+ j$/:C;p:}$O ", +" JX`&m#GoG. Eo3:W=;@dX. ", +" . o#6%). _*_-iX ", +" -Xt%=+ ,o`-5$ ", +" . -#p%K g=/-2. ", +" $.'@&. j.]&!. ", +" ", +" X.[Xe. d.eO]. ", +" V.y$O$|$9X LXn-0*m-Do. ", +" {oe=L@t={O )@F:3*J:_#* ", +"o 8o==+---'O fOI:^:/:T@r ", +"O Loa=R&%=J+ 9@/:U;B::%N ", +"X UO7=xOp&4#X z#A:G$`;o=V ", +" K.4$n#m%/o RXa-6*.;!+O ", +" r CX>. M mo^. ", +" L son. 2.jO0X ", +". J.q$<$]$do /Xh-i*B-$+o ", +"O WOU*MO]%[@. c#v:M$A;.*Z ", +"* #+r=q@x&8#X {#c:U$4:-*G ", +"o ~o=-==v&]o 0@/:L:<:i@@ ", +" A >$U&1O, 7.g-q:>@* ", +" ;X#$s#z 2od-&*G ", +" f !.. / 0o ", +" ", +" u .#ko n )*+@ ", +" t 3&u# s r:H= ", +" % IXk#`$t. o XOV=x-}. ", +"0 QOD#_Oe%to G@8*n$X;lO4 ", +"BX!*Q%J#n=h&.oeXh:}-)=/:{;B+", +"&X'$p+&+>#f#[X[.G-R$0$S*v=k+", +"+ 4 n > ", +" J E ] p. ", +" v ;$&#: ) k-}** ", +" X x+9&P+: . D%V;Y%4 ", +" t ~OF*X+ 6 H@y:.$o ", +" s N+S%Jo n =%u;K+X ", +" o@/%zo. v*a;kO ", +" <.w$KO #Xz-b# ", +" b o. ", +" o X ", +"o D.V+F#~+#. fXD$O-o&d.X ", +"b.%$2#&&)&##: s p-5*O:X:M&5X", +"vo:&BoA#9%*$KO;O=:%@L=)-u*T#", +"aob&tONo)%h%.@Tot:D@@@c;(-c&", +"v !+d#YO8#`%'X 4&w*5@9=f;H+", +" o mX%Xq.DX . pocX~. Ok ", +" ", +"I 0.S M : i _.2.' * ", +"[oD# %V%I+R. N@t*M-r;P$(X ", +"DO5+%%i&0O3X U+N$R-+:l$uo+ ", +"A+V@[%o*t+Qo !&2*t;2:H$7@1 ", +"L.xX7$=&7oM. R.yOF-T;iO5XX ", +" O#y%s F=<;s ", +" C+M%_ N*0;u. ", +" f D ", +" _XMX ROPo ", +" X@p# m*Z= ", +" '+X$ A*A- ", +" Q@u$ D=&; ", +" S+6%s k*E-A ", +" bX8%a+ eo]-{$ ", +" bX}O2 xoE@j ", +" ", +" @.y.t.f s..X.X( O ", +" bX6%H#W#C#g yo~-7*q*R=>X", +"% COR*|@+%W&XX b@x:9*9-t:TO", +"I &$&=|&2=X*^XX H-/:n:/:u:r+", +"h }+P&R%/=!$g. x*B;Q-/:2-*O", +"X fo~&K@W$]@* :+J;<*1-Z&0.", +" x.j%!%,Om '.O;$;-@( X ", +" 'o@# . _@x=i. ", +" . ", +" X SoO@g nOm&] ", +"*./@9#X%s*UX ( Z*d=c-0:-O. ", +"v.p$i=y&z&E+ 6.L-/:m; :E%i ", +"o ( }#x%]Ow#E d.D-l;c$@*7X", +" )X4$[Ot. 4O[=J@;X3 ", +" )og@@. i+S&F. ", +" b.7 8Xj ", +" , Q O 4 3.@ ", +" Z.f@$$j+. UXJ&s-L% ", +"..FO5&a&M#6. @ r#G;F;A=|.# ", +",+B%u=p=E&q+@ @%7;E:Y:n;A$c.", +"AX`+}&@&I%Yo jXc*9:v; ;*@K ", +". !X^%u+a%9o >+i;K$[-rO% ", +" Q.9$,XX#n+: (oj-%o(*-%P ", +" X vX , YX& O to : ", +" oX'%$=5O *ox;K:2@i ", +" s.l%@=Y+, pX*;m:L$y.", +"~ SOT++&w=0#* d e@G&!;/::*h.", +"F.G#4%g#2#m+ @Xy*8-C=,=S$L ", +"+ C.0.o , C. gX(. : FX+ ", +" O -. O /. ", +"+ e g+]#u. n Z%;-rX ", +"nXJ% =@-L#/O aX3;H:/:|=P@; ", +"LX~*Q$}&1$zo sXb:7-/;{=bO# ", +"P.m%w@#%z@p ] h;J$'- *t . ", +"0 ~+d*@$)#no ,&5:`=T=e++ ", +" $.)+~XKOZO Y.C*>OZ@m@; ", +" O X . ", +" @ % X o O ", +"l ^+qO5ob+ho @ >&F@7OE$6++ ", +"P.f&r@Mo7%># [ 5:N&=@q-L&J ", +"6X%&3+:o~$7# ] #:C$uO,-#*X.", +"U.w&S@4+|%t# D a:%*b$M;;*| ", +"=./%K#[+q&,# 6 ~;!=I$};=*C ", +"$ Ool.A loYX ]O}.A zO:O+ ", +" ", +". p ] ( 6 . D ^.i.t . ", +"l /$T%R#^$%#C * K-w;_=-;|*$X", +"3 (+T&q=g%h+5 j*];R:6;;%v.", +" @ 1o &}@s o aOI;f=n X ", +" * a#k@4 X M=H&: ", +" ]XZ#go 3Or*7+. ", +" |XPX ~OWoX ", +" ", +" joHOo+Xo f+B@a$%+O ", +". z.%$k%k%h#* iXS-q;9;h*w.", +"o LOp*;=H*1&*X 4@6:k:j:S;Ro", +" 6 i#_%$%'#p p J=L;!-^=4X", +" W@0%:$5#O S=b;>-$*+.", +" ~@J*u&w#. B*w:o:>=B ", +" W.(OE+Ho {X(#U%e+# ", +" ", +":.+#!OhX*X, 8.X=U@oO=o4 ; ", +"V.~#z%c%Y*f%QX{ (=0-y;V:1;++", +"g 6O7&o$5%u$v. <@s;*-U-5-Qo", +"~ ,$8&G+Fo2$6 @ b-g;F$%@3-WX", +"l *#s#v@Co$&g O l=1=g*dO,:+o", +" . UO2&g&i$* v#.:7:>;M.", +" @ `ol+E. @ a@u%;oo ", +" ", +" 1 ^OH.e N. r I@kXe 1X$ ", +" ! `${@W+_$P u.^-+*2%W-vX", +" @ q#*&q%`@a . G=[;{-D*D.", +". * 0+ -w%k. X V$/:l-@o& ", +"w V+0&I*k&ro . K%*:i:::8+= ", +"b -$ $VoQ+{+X.4 <-y-#@-&V&3X", +"X U , R O f., g.h ", +" ", +"I.PO$X *s&b ", +" e {#s%AoM n t-o;cOA . ", +" S.l#:#q. yX<=**,X. ", +" r.|+|O. `.I&R@; ", +" . 9 ,.X . c :Xo " +}; diff --git a/wmMatrix/images/medium.xpm b/wmMatrix/images/medium.xpm new file mode 100644 index 0000000..a84c853 --- /dev/null +++ b/wmMatrix/images/medium.xpm @@ -0,0 +1,1217 @@ +/* XPM */ +static char *medium[] = { +/* columns rows colors chars-per-pixel */ +"12 162 1049 2", +" c Gray0", +". c #00110174001d", +"X c #000c02930012", +"o c #003e03890056", +"O c #003104880044", +"+ c #00f204a30120", +"@ c #002a055d0052", +"# c #001006760017", +"$ c #000507730023", +"% c #008807b10112", +"& c #011406a80145", +"* c #0153076701a2", +"= c #000008bd0012", +"- c #009608910119", +"; c #00210992005b", +": c #00ed09b2014e", +"> c #0132088c019b", +", c #0161094b01be", +"< c #01e209940241", +"1 c #00000a6f0016", +"2 c #00bb0a760125", +"3 c #00040b8f0000", +"4 c #00710b4c0160", +"5 c #01460a6301b5", +"6 c #01f20a76024c", +"7 c #018e0bbb0219", +"8 c #0203098e0243", +"9 c #020c0a8f025a", +"0 c #02b30bad0306", +"q c #00140c60004d", +"w c #00be0c7c0131", +"e c #00000d780020", +"r c #01100c9c01cb", +"t c #01c10cae0236", +"y c #01940d8f0236", +"u c #00350e600048", +"i c #007d0ed90125", +"p c #001d0f87002e", +"a c #01630e8201b2", +"s c #01c00eba023f", +"d c #025b0cae0286", +"f c #02660d8c02b7", +"g c #02d20d8f0350", +"h c #03010d8b0331", +"j c #022e0ec2024a", +"k c #02690fe802fa", +"l c #02a70f920324", +"z c #038c0e7503be", +"x c #032a0f630399", +"c c #05e60c950646", +"v c #04cc0f6d04d6", +"b c #000a10760028", +"n c #00ed10fa0119", +"m c #000011810000", +"M c #00db11030197", +"N c #01be103201ab", +"B c #01d011790212", +"V c #000012490000", +"C c #0017136f0024", +"Z c #01401216018a", +"A c #017a139801e4", +"S c #01e2134b0289", +"D c #026a103e034d", +"F c #028811f9033f", +"G c #036e108d03dd", +"H c #0329110503ac", +"J c #02ed1277036f", +"K c #029f130a02d8", +"L c #031f12d20368", +"P c #034d1379038f", +"I c #03bf10200410", +"U c #0000141d0000", +"Y c #002a1538004b", +"T c #013214610171", +"R c #01bb14b80245", +"E c #000016b80000", +"W c #01de16a00220", +"Q c #025e1464029d", +"! c #0355156703ad", +"~ c #029d163d02e0", +"^ c #03a31627045a", +"/ c #045a1127045f", +"( c #04e811ae0517", +") c #05bf11c0060d", +"_ c #04191233048b", +"` c #0490136904d5", +"' c #041914cd0464", +"] c #04561582049c", +"[ c #04f515950580", +"{ c #0586149405bf", +"} c #053a157f0599", +"| c #05fa149b061a", +" . c #04f116110552", +".. c #043517c5049b", +"X. c #04af17dc0569", +"o. c #0526168d05ba", +"O. c #056f179105ac", +"+. c #063017500676", +"@. c #072517060748", +"#. c #000018ae0000", +"$. c #005419b9005b", +"%. c #01cd19b801fb", +"&. c #00001b6b0000", +"*. c #01231aee0127", +"=. c #02b519920308", +"-. c #036a183703c5", +";. c #036519ad03c6", +":. c #03f918f80448", +">. c #00001d230000", +",. c #01b11c2e020f", +"<. c #00001e230000", +"1. c #00001fe90000", +"2. c #03a41d7f03c7", +"3. c #03321e7b0379", +"4. c #03951e3e0415", +"5. c #04641875048b", +"6. c #05b91855059b", +"7. c #05a319a0062e", +"8. c #04781aa904f9", +"9. c #04831bdd051f", +"0. c #05651a7205d5", +"q. c #059b1b3605ab", +"w. c #05de1ae7066e", +"e. c #060518e20636", +"r. c #06b518e00754", +"t. c #064119660697", +"y. c #06c319ce0703", +"u. c #076c19c607ae", +"i. c #063f1a9a067a", +"p. c #06ca1a3d072d", +"a. c #06021bc306bd", +"s. c #06b11be2075e", +"d. c #07321a800753", +"f. c #073b1b0a0785", +"g. c #05421c950563", +"h. c #05281d640584", +"j. c #04511f2104a9", +"k. c #051a1eec05b1", +"l. c #05fd1f000647", +"z. c #06731c910644", +"x. c #06b71d900740", +"c. c #07961d8f0797", +"v. c #06c41feb06fb", +"b. c #06f01f07075b", +"n. c #07cf1ef307ce", +"m. c #08151cdd0834", +"M. c #087e1fa10866", +"N. c #08f91fee095b", +"B. c #09201f420994", +"V. c #09d11fc90abf", +"C. c #000021120000", +"Z. c #0000221e0000", +"A. c #000023bf003c", +"S. c #0145238d01ec", +"D. c #000025650045", +"F. c #0000263c0000", +"G. c #000027040000", +"H. c #01cb276801b6", +"J. c #045b20750475", +"K. c #0487215204c9", +"L. c #05e1200f0634", +"P. c #05b12191061d", +"I. c #048c22e10512", +"U. c #052a22250514", +"Y. c #0517236e0561", +"T. c #06fe202b0757", +"R. c #06bc219e06ce", +"E. c #0757203a07ce", +"W. c #06be228306e5", +"Q. c #06dd237c0723", +"!. c #073e221c07b9", +"~. c #04fd266c049b", +"^. c #055e269105de", +"/. c #051b27eb0564", +"(. c #05de263b0620", +"). c #06b7247106c0", +"_. c #06e4257306f9", +"`. c #078a25ab07fe", +"'. c #07bc20800828", +"]. c #07ca22060840", +"[. c #075d24e70819", +"{. c #0000285e0000", +"}. c #000029630000", +"|. c #00002a7b0000", +" X c #00732b6e00f9", +".X c #00b62b2c011b", +"XX c #02e32b270277", +"oX c #01652c2e01c5", +"OX c #00002f3c0000", +"+X c #04ab297604f1", +"@X c #04082a4e0458", +"#X c #06ce297c0615", +"$X c #0857210a08a5", +"%X c #08172342088c", +"&X c #09d9233b0a09", +"*X c #0ae723fc0b65", +"=X c #084b242c08ae", +"-X c #083825f7086b", +";X c #089d257e0994", +":X c #0927248108cf", +">X c #097124220a19", +",X c #08f526830904", +"o c #117b292011ed", +",o c #17a62f9d178a", +"O c #17c44aba17e2", +",O c #15c74c8515b9", +"+ c #1a7669371aa3", +",+ c #1eca691f1e93", +"<+ c #1ffa682a1f43", +"1+ c #1d326e571bdf", +"2+ c #1d516cf31c36", +"3+ c #1e4d6e171eb0", +"4+ c #102270550faa", +"5+ c #158e739b1573", +"6+ c #171a75cd16fc", +"7+ c #16477f2d1670", +"8+ c #1ba971631a8e", +"9+ c #198c76cc194f", +"0+ c #1f0a71441e9b", +"q+ c #1e1e756d1d8b", +"w+ c #19707c7d18c3", +"e+ c #1c107ae41b28", +"r+ c #1fec7292202f", +"t+ c #207e5e4e1f90", +"y+ c #20c25f3d1ff2", +"u+ c #238d4eb823a1", +"i+ c #24a94f692553", +"p+ c #20775b66206c", +"a+ c #224458b72292", +"s+ c #21cc5fd220c1", +"d+ c #240b5e922400", +"f+ c #2bb15fb92bfb", +"g+ c #30115c0e30b0", +"h+ c #206c603b1f5a", +"j+ c #201a6d771f83", +"k+ c #20296f0e1fb7", +"l+ c #208860902014", +"z+ c #21396067213e", +"x+ c #212863bd2100", +"c+ c #22d963402221", +"v+ c #22c2670221b2", +"b+ c #23f6674d2301", +"n+ c #24a167e723e6", +"m+ c #249d657f240f", +"M+ c #24a566b824cb", +"N+ c #27d067df2758", +"B+ c #219568af20a2", +"V+ c #225d68d0217a", +"C+ c #233b683e225d", +"Z+ c #22756f9121c4", +"A+ c #23b56e6b22f0", +"S+ c #240769ca2299", +"D+ c #2448695e23d5", +"F+ c #24fb69e524e2", +"G+ c #24d36aac24bc", +"H+ c #2697688f2587", +"J+ c #26fd695925b2", +"K+ c #26d86a062741", +"L+ c #27e56a5b27a1", +"P+ c #24336ddf23be", +"I+ c #257d6c332499", +"U+ c #25ab6d1224f2", +"Y+ c #26846e2925c9", +"T+ c #285065602864", +"R+ c #286a66eb28a1", +"E+ c #2ee264c92f00", +"W+ c #286e6d9f2841", +"Q+ c #2ddd6ea62e10", +"!+ c #233e704e226b", +"~+ c #231070fa231b", +"^+ c #216776ef20e5", +"/+ c #24d87077240b", +"(+ c #269d70232764", +")+ c #27ee7007279c", +"_+ c #27e3711e2718", +"`+ c #260072362513", +"'+ c #247975cb2439", +"]+ c #2557748524fa", +"[+ c #27e0761d27b5", +"{+ c #22e0795a2272", +"}+ c #23c87c0d2317", +"|+ c #24bf7da32468", +" @ c #28ea72322798", +".@ c #2861731d26d8", +"X@ c #2853737027b9", +"o@ c #297874972782", +"O@ c #281076c9270a", +"+@ c #29bb724c28e9", +"@@ c #2bdc72112a60", +"#@ c #298b761d2861", +"$@ c #2b7a75782aa8", +"%@ c #2b7a769a2aa6", +"&@ c #2d14713f2d7e", +"*@ c #2ffe723f2f7b", +"=@ c #295078fc28bb", +"-@ c #29cb79b228ef", +";@ c #28f07a4a283e", +":@ c #2ae1780e29db", +">@ c #2aae79d529cb", +",@ c #2bde796b2ba8", +"<@ c #2ace7b6e2961", +"1@ c #2b007be829b5", +"2@ c #298e7d3128ae", +"3@ c #28957f7328b7", +"4@ c #2a647db7297e", +"5@ c #2a877db42a1f", +"6@ c #2b9e7d732aac", +"7@ c #2a837fda29de", +"8@ c #2b5c7f3f2bcc", +"9@ c #2d4a787c2c9c", +"0@ c #2c9d7ad32c22", +"q@ c #2e1c79422d7d", +"w@ c #2c9f7f042be3", +"e@ c #2d8e7c832c9d", +"r@ c #2d837ff22cdd", +"t@ c #2f697f2e2fe6", +"y@ c #34c469fc3581", +"u@ c #35f771e335d8", +"i@ c #34ad75143547", +"p@ c #367b7639368e", +"a@ c #37ad76883799", +"s@ c #32347e8230df", +"d@ c #34c77b2234f2", +"f@ c #38fd785c3988", +"g@ c #3abe7d4b3a74", +"h@ c #3f7a78ba4063", +"j@ c #42d37e3e435f", +"k@ c #49337a664997", +"l@ c #51f17c895187", +"z@ c #53077c5d52ff", +"x@ c #0f7c89b80e1d", +"c@ c #13b886e71341", +"v@ c #169b8ed615de", +"b@ c #187d80f41792", +"n@ c #1bf281a31b72", +"m@ c #1aba8b271a88", +"M@ c #1e77888d1e0b", +"N@ c #1566a0921524", +"B@ c #1539a9b9154f", +"V@ c #18f3bee11832", +"C@ c #19a0be911852", +"Z@ c #227e805e20fe", +"A@ c #2539804024b7", +"S@ c #2830830c277b", +"D@ c #28d8815828ae", +"F@ c #294f806428f5", +"G@ c #294c82032845", +"H@ c #294b831a2961", +"J@ c #2b8d81ed2a9d", +"K@ c #2b2182822ae8", +"L@ c #2b0284d22a1d", +"P@ c #2c6681902bad", +"I@ c #2ca382652b16", +"U@ c #2db480352da6", +"Y@ c #2ea8814a2d87", +"T@ c #2f1981752d63", +"R@ c #2fda80452ee7", +"E@ c #2f8781302e6f", +"W@ c #2fbf82a72e79", +"Q@ c #2df385782cf9", +"!@ c #2ce186d82c46", +"~@ c #2e14853e2dba", +"^@ c #2eec85f22edc", +"/@ c #2eaf86132e52", +"(@ c #2f8386542e65", +")@ c #2dcc8a3b2d67", +"_@ c #2f078abb2f8a", +"`@ c #20a496672007", +"'@ c #23b394ed236b", +"]@ c #27bf907e27c1", +"[@ c #25a89ae62544", +"{@ c #2bba9e252ab8", +"}@ c #2c179b582aa3", +"|@ c #2fd099fa2f3f", +" # c #302083192f35", +".# c #308485f02fb3", +"X# c #30b086aa2fa9", +"o# c #301088ea2f07", +"O# c #3061897d2fc6", +"+# c #312689422ff1", +"@# c #30fc8c6a2ffd", +"## c #30df8101304e", +"$# c #325483f83148", +"%# c #3152847330c1", +"&# c #317b87713069", +"*# c #3257857030a9", +"=# c #329486cd3187", +"-# c #328687bb31ad", +";# c #32c586683235", +":# c #31618bf63130", +"># c #33bc8933327a", +",# c #33118b0731a3", +"<# c #32e38afd3242", +"1# c #33538a77325b", +"2# c #337b8af73348", +"3# c #33318ba03251", +"4# c #31ec8d62310f", +"5# c #30b88ec83054", +"6# c #33f98d8b32a4", +"7# c #329c8e5d31fd", +"8# c #33c98e9532b0", +"9# c #336b8f6f3333", +"0# c #34558b9f32f9", +"q# c #34ff89c4340d", +"w# c #36d489973636", +"e# c #34c68cb1338c", +"r# c #35f38d6b347b", +"t# c #353f8f9e3416", +"y# c #36a38c2634b8", +"u# c #37908d4b3653", +"i# c #396587dc39ec", +"p# c #3aed86a93b3d", +"a# c #3ed686a23eaa", +"s# c #394d8e66389e", +"d# c #3cdd89003d91", +"f# c #3d378d273d67", +"g# c #30fc940730a3", +"h# c #338695cd31c4", +"j# c #33dd974933ec", +"k# c #353e910d33b6", +"l# c #3436923f3325", +"z# c #35b291b03480", +"x# c #36af919e34fb", +"c# c #36d6916d35db", +"v# c #3740915c35da", +"b# c #375690e1362c", +"n# c #367e930835b7", +"m# c #346b950b33e0", +"M# c #341f964c33a8", +"N# c #35da95ab34aa", +"B# c #36b994b3357d", +"V# c #37c5958f3733", +"C# c #37de968a36bc", +"Z# c #333798513145", +"A# c #343e98833308", +"S# c #34f69a1f33ef", +"D# c #35be98583536", +"F# c #363398d63527", +"G# c #353e9e123569", +"H# c #36789c90359b", +"J# c #390b92bb3701", +"K# c #387c953b3750", +"L# c #384f963937b2", +"P# c #3beb91bf3bce", +"I# c #3bf193453bb4", +"U# c #39cf966a385f", +"Y# c #3a6c94be3947", +"T# c #3a90977c394a", +"R# c #3c2393013b8f", +"E# c #3942982238fb", +"W# c #396599e13867", +"Q# c #397399af392d", +"!# c #39c79a5f386b", +"~# c #39fa9a223936", +"^# c #3afd994039c4", +"/# c #3b2d98a23a2e", +"(# c #3b489a2d39ab", +")# c #3b1e9bf63981", +"_# c #396d9c9a38da", +"`# c #3a429cd439ca", +"'# c #3b6f9d653ada", +"]# c #3a4a9f6a3a34", +"[# c #3cc698f13c31", +"{# c #3ca99ae33c9b", +"}# c #3c899c6c3b8f", +"|# c #3d029dfa3bf6", +" $ c #3ddb9e303ca0", +".$ c #3f519de73e67", +"X$ c #2d48a5202b58", +"o$ c #2ba6af4b2a4f", +"O$ c #3456a53834b2", +"+$ c #3569a65c3517", +"@$ c #34d6a996348a", +"#$ c #34f4aa263467", +"$$ c #3972a0f538ce", +"%$ c #393ba1bf38eb", +"&$ c #3b47a17d39a8", +"*$ c #3a25a3f839fc", +"=$ c #3bbca7e23ace", +"-$ c #3cb0a0b13b2b", +";$ c #3c84a1ed3c35", +":$ c #3e6ca0963ced", +">$ c #3fc9a0ce3dea", +",$ c #3faea19d3e89", +"<$ c #3ed9a23a3eb8", +"1$ c #3c8fa53f3c35", +"2$ c #3e06a4e73dbb", +"3$ c #3e10a6103cb6", +"4$ c #3f38a6c03eb4", +"5$ c #3cd8aaf53c97", +"6$ c #3f7ea8a03e89", +"7$ c #3f6aaa3f3f01", +"8$ c #3da2ac1f3d6a", +"9$ c #3fe7ae013fdd", +"0$ c #3211b405316b", +"q$ c #3050b9aa3046", +"w$ c #33fdbdae32a7", +"e$ c #3b10b1593a99", +"r$ c #3bcab19d3b95", +"t$ c #1d86c4521dda", +"y$ c #1d55ddb21cc7", +"u$ c #29f7c85428ee", +"i$ c #3061c0142fd6", +"p$ c #32e3c18032ad", +"a$ c #37d7c6b837db", +"s$ c #39e5c5da38cc", +"d$ c #3378d6513173", +"f$ c #3a37e26639bb", +"g$ c #40349da03df9", +"h$ c #4204a7ab3fcf", +"j$ c #46b9897b45ba", +"k$ c #48058c1e475a", +"l$ c #45ed93014561", +"z$ c #45d69bb145d7", +"x$ c #486090de485b", +"c$ c #4c339e024bee", +"v$ c #569485645667", +"b$ c #500f8de5501d", +"n$ c #510a8ca7513b", +"m$ c #55708a3355a4", +"M$ c #53dd94495376", +"N$ c #54d796565456", +"B$ c #51ee9a615210", +"V$ c #5494985854c5", +"C$ c #59cf96eb5a16", +"Z$ c #423ea67e40e6", +"A$ c #4293a72840f1", +"S$ c #41cca937407e", +"D$ c #429fa97b4203", +"F$ c #43d2a8f342dd", +"G$ c #421caece42ee", +"H$ c #43b3af3842de", +"J$ c #445ea9d0439a", +"K$ c #4646aa1b44d0", +"L$ c #459dae2f4468", +"P$ c #4671ae814532", +"I$ c #482faf6f468f", +"U$ c #49edae4b4902", +"Y$ c #4201b2f141d2", +"T$ c #4429b0b04520", +"R$ c #44e5b15344b5", +"E$ c #4652b3924500", +"W$ c #45e3b64b4570", +"Q$ c #451eb75f4487", +"!$ c #46d1b76a4601", +"~$ c #45d3b88a457d", +"^$ c #454fb988447c", +"/$ c #4800b01b471f", +"($ c #4801b1e847ae", +")$ c #4828b45346de", +"_$ c #4817b6c84716", +"`$ c #4800b7b34754", +"'$ c #4a6db6dc4a1f", +"]$ c #48f5badc4891", +"[$ c #4a6cba7d4a0e", +"{$ c #4b49bb4f4a23", +"}$ c #49a2bc974933", +"|$ c #4b25bd854a4e", +" % c #4cadbbc74b66", +".% c #4e55b98b4e0a", +"X% c #4fffb9b14f97", +"o% c #5032a0635045", +"O% c #54d2ad1254bf", +"+% c #5cceab745c99", +"@% c #5367b1d8525c", +"#% c #518eb6eb509c", +"$% c #52c8b64d52ae", +"%% c #554bb642558e", +"&% c #57f2b38e5866", +"*% c #52c0bb1152e6", +"=% c #54ddbf38545c", +"-% c #5708bf5e570f", +";% c #5f94b8755f62", +":% c #5dbcbc755dc2", +">% c #629ca1c06325", +",% c #65a0ac1a65b5", +"<% c #6eeaa7fc6f5a", +"1% c #6b69ac7d6b55", +"2% c #65d2bf96658e", +"3% c #6890b59868c0", +"4% c #689cbd8e67d5", +"5% c #70bea44b70ce", +"6% c #71b1af227135", +"7% c #737cb3b272a5", +"8% c #71e4b6dd714e", +"9% c #72a3b5a872ba", +"0% c #71f3bc737172", +"q% c #7b56b5967bad", +"w% c #7e65b6fc7e23", +"e% c #7c24ba257c34", +"r% c #7d0dbdbf7d80", +"t% c #405ed0713fbd", +"y% c #4479c1eb436b", +"u% c #465dc3cf4538", +"i% c #4518c95344d3", +"p% c #4bd0c0184a7a", +"a% c #483ec7b94861", +"s% c #49c0c6294a3d", +"d% c #4fa6c24e4f28", +"f% c #46b9d9fb46b7", +"g% c #47e4dfac47d8", +"h% c #4e4addd14eaa", +"j% c #53c6c52e5287", +"k% c #55e9c0e754e6", +"l% c #53deca2252ea", +"z% c #53e2ca315325", +"x% c #54e7c8385502", +"c% c #54dacfba5552", +"v% c #5246d4c3514d", +"b% c #5413d5f952cf", +"n% c #5467d9fc549c", +"m% c #56d8d9c85639", +"M% c #5846d5ae5834", +"N% c #5f7bd2a35f6b", +"B% c #5df1d73c5db6", +"V% c #4f3ee0694e44", +"C% c #5096e7584f82", +"Z% c #5494e39b548b", +"A% c #59dce75d598a", +"S% c #5f2aea6a5e36", +"D% c #6649ca7b65ae", +"F% c #691ece83680c", +"G% c #646cd62c6402", +"H% c #685fd47c67ed", +"J% c #6ca8d4b66bf3", +"K% c #6d49d5a26c4b", +"L% c #6f2dd4d26f35", +"P% c #69cdd87a66ef", +"I% c #69a1db2a6825", +"U% c #6a08dd516916", +"Y% c #6cb1da0a6c88", +"T% c #7040c74e6fe9", +"R% c #73a2ce787411", +"E% c #77f3c9557745", +"W% c #7d12c89b7cee", +"Q% c #7d81cc2c7cdd", +"!% c #701bdee26f9b", +"~% c #7290d37d71e0", +"^% c #7cd2d7797ca4", +"/% c #7854d91d77df", +"(% c #7a29dd9e79f2", +")% c #7bcddc7d7ac6", +"_% c #7c18dfa37b1c", +"`% c #64cee0e564bf", +"'% c #65bce2ac6490", +"]% c #677ce1156690", +"[% c #67d7e30567ee", +"{% c #671ee67364ac", +"}% c #6b27e21d6adb", +"|% c #6a18efdd6a0f", +" & c #6f2df1f66dc0", +".& c #69c4fa536911", +"X& c #6c20fb1e6c10", +"o& c #6efafc366ec7", +"O& c #737ee20e730e", +"+& c #71fae5217181", +"@& c #76b0e4297482", +"#& c #71ceeeaa7145", +"$& c #74ebe80d73e0", +"%& c #77b0ede476d8", +"&& c #79c6e21378f1", +"*& c #78cdea387888", +"=& c #7a6beb6d7a85", +"-& c #7fd0e9fe7fc9", +";& c #7140f2e27104", +":& c #7798f66074e4", +">& c #7e50f6bf7d84", +",& c #7816ffff76d7", +"<& c #803efaa97ec0", +"1& c #8423c44e8346", +"2& c #86dfcc9586e2", +"3& c #8506de4c8484", +"4& c #8d4bda718cea", +"5& c #8d0ddbb08dfc", +"6& c #8fa2de568fbd", +"7& c #94c6d7bc94c4", +"8& c #99c7de7e99bd", +"9& c #8489e6398256", +"0& c #838eece3825f", +"q& c #82f7ee568335", +"w& c #864beb0f85e1", +"e& c #8b76e5808aa9", +"r& c #8b0bec6e8ac5", +"t& c #81c2fa5f813c", +"y& c #86c5fd138536", +"u& c #8c32f5fd8c1b", +"i& c #89c2ffff8a23", +"p& c #8d32f8ca8c08", +"a& c #8d0affce8b8e", +"s& c #9008e72f8fd1", +"d& c #90d8e5029197", +"f& c #91f3edc39134", +"g& c #920def679149", +"h& c #9b82e03a9aad", +"j& c #9b6beff99992", +"k& c #9db5ea019dd3", +"l& c #9d41ee419c63", +"z& c #934ff3c6921b", +"x& c #90e3f7f090c7", +"c& c #93bcf621931a", +"v& c #9441f5f793f0", +"b& c #97ecf57c95a3", +"n& c #93bffb09922a", +"m& c #98adf0559777", +"M& c #9c33f3e89c04", +"N& c #991affff98b3", +"B& c #9a97ffff998b", +"V& c #9b91ffff9a0e", +"C& c #9c72fa749b1a", +"Z& c #9e88fd7e9dcb", +"A& c #a512d5a3a507", +"S& c #b2d8df14b25c", +"D& c #a230e043a186", +"F& c #a2cae37aa273", +"G& c #a18be582a14b", +"H& c #a147eb00a168", +"J& c #a6e3eccfa6be", +"K& c #aa07ebbca962", +"L& c #ab3cedf0aa98", +"P& c #a092f00ba052", +"I& c #a612f357a442", +"U& c #a7a2f2a4a7d3", +"Y& c #a415f491a2d3", +"T& c #a104fef5a025", +"R& c #a46ffa3fa31b", +"E& c #a86df586a6dc", +"W& c #aa1ef19ca9bb", +"Q& c #a914f5f7a857", +"!& c #a8b7fa8ca802", +"~& c #aa70ffffa8d0", +"^& c #ac55f923abd1", +"/& c #ae3efa38ad20", +"(& c #ad1cfdc8aca8", +")& c #ad2effffacfd", +"_& c #af40ffffaf46", +"`& c #b8e1ee10b8d8", +"'& c #b774f5f3b74f", +"]& c #b194f8d9b135", +"[& c #b1ddffffb21e", +"{& c #b2d4ffffb1fb", +"}& c #b3caffffb30f", +"|& c #b5e5ffffb4b1", +" * c #b6d3ffffb599", +".* c #bf05f6acbefe", +"X* c #b87cfaffb812", +"o* c #bac4ffffba2c", +"O* c #be91fa72bede", +"+* c #c109ffffc041", +"@* c #c465ffffc34c", +"#* c #c670ffffc632", +"$* c #c901f11dc8c7", +"%* c #c8bbfbf0c8d1", +"&* c #c93efc28c961", +"** c #c8fdffffc878", +"=* c #c9daffffc97d", +"-* c #ca2dfdbdca8f", +";* c #ccb8ffffcb9b", +":* c #cd4bffffcc51", +">* c #cec3ffffce26", +",* c #d3b2fb1bd23e", +"<* c #d156ffffd0cb", +"1* c #d3ffffffd40c", +"2* c #d6c3ffffd6ad", +"3* c #d886ffffd840", +"4* c #d95effffd857", +"5* c #d9a1ffffd94d", +"6* c #db45ffffdabd", +"7* c #db9fffffdb69", +"8* c #e0f1ffffe04d", +"9* c #e473ffffe2f4", +"0* c #e58cffffe47a", +"q* c #ea4fffffe9c6", +"w* c #ebc4ffffeb2f", +"e* c #ee7fffffee66", +"r* c #ef72ffffee9e", +"t* c #f187fffff0cf", +"y* c #f48cfffff44b", +"u* c #f78dfffff6b6", +"i* c Gray100", +/* pixels */ +" 6 x.a.& j jXtX; ", +"> y+L#n#Yo N$Y&m&T+X ", +"$XF$Z+Y@;# C.6**%Q%2&C ", +"4X/$O+o@u# oXy*+$0%8&%.", +"H $#m#C#c+ o W%%&x&C$$ ", +". ..8O{o; S.s@*@e ", +" e q C V ", +" # U$>#6. 1 `&(%XX ", +" 1 k%;O b -*&@ ", +" e =%To Y %*d+ ", +" J.j%GO ZX7*q# ", +" 7 7O4X U h@Lo ", +" # `.L.X $ HXVX. ", +"> q@:$8#9O w%Z&>&k@ ", +"f w#4##ot. . A&6&)O8X ", +"5 XOD#KO3 e+p&}@q ", +"f <+=$p%:O $ 0$V&i*d@ ", +"o 5XeOwOr. fol@z@7X ", +" ; kXW. 3 loAX ", +"> 9@A$,#bX q%[&;&oO ", +"k ##J$Qo- 1&**[O; ", +"t.T#9#+o% #.'&s&/O* ", +"I :@!@4#(o ; T%C% &y@ ", +". ; 'X2o, q tOAOq ", +" $ 0X ; wo ", +"X :o %=+. `O8*c$ ", +"- pOQ$H$1O x@9*q*3@= ", +"l ^@M%~$r@X # ~%i*r*L%W ", +"& ,Ol#vo-. |+#&o+D.+ ", +" N $. ", +". $XxO|o@ ~Xi#u@$ ", +"@ PoF#)$nX 4+y&;*Vo ", +"f *+4$/#%X z$o*P&LX ", +"t.,$K@bow >.#*K%]Op ", +"6 CO7@(@xX I#g%A%3O ", +" ].s. DXqX ", +" f.s+|X wXO$nO ", +". 2.j+6$'o |.i${&Q+O ", +"x %@M#d%R@ X r%j&0*9%u ", +"d.>$3+_@X@ <.2*y%_%6%q ", +", vO4@.#8o a#f%`%g+X ", +" Q a 1.Y ", +"X ao@@J+io f+;%%%R+@ ", +"o W+{$1@cO 5%2*H%p#: ", +" 9.3#Wo X-&|O ", +" :OW@a ,@I%C ", +" y #@4o M x%QO ", +" . . ", +" $ .oXo; ; gOHoe ", +". EOh#Z#x+ v$.&X&V$= ", +"@ t+|$z%=@ M$e*i*3%C ", +"$ D+W$*$8@O >%6*E&F%,.", +"o p+)@G@%@X m$S%V%2%A ", +" . pX[Xd . xoyOn . ", +" X {X5o4 . Fo.+u . ", +"@ RO@#J@I+. n$|%Z%&%Z ", +"2 0@j#D@-#= 7%9&P%&&3.", +"@ &+l%E#8O x$i*L&a@; ", +" b >@2@=. #.E%n%F. ", +" $ ]X/ = dO8. ", +" X o ", +" po*#O E+7&o ", +" $ Uov#sX # 2+u&Mo ", +"o.Y+,+5@G+ u '$C@B%+%l.", +")XD$Z+b#Z$KorO}&w$D&O*K+", +"h 0.. O u O O +X X U e.", +" . cX . $O ", +" 2Xk#IOX qot&P# ", +" QXe#l+ Bow&B$$ ", +" *oT@&O jOU%i@# ", +" aX6#5o Eoq&WO ", +" v y. u.yX ", +" D J #.<. ", +"_ TOO@(#lO # |@t%!&M@..", +"6o<# O^#I@;oa+r&7+Q&f$'+", +"{Xt#@oP+)#POi+g&^O.%i&Q#", +"8 3o@O}Xz+q. FOw+Foo%0o", +" . ", +"c.gXpXE.> 0XCo`oEXw ", +"Eok+S$]+WX 8+u$+*i%Do+ ", +"cO#+E$r+co g#V@1*s${Of ", +"i.RX.$2O-. q.So.*S@A.+ ", +" @ J#Ro X K&F+ ", +" *XG do:. ", +" @ _oO # (+# ", +" # 0#V. @ d&1o ", +" O r#rX O G&to ", +" . E@6O ^%U@ ", +" zXV+6. [oT$(. ", +" ", +" g mXhX;X Y ZoNoTXf ", +"@ SOA#Z@S#-X k$o&y$<&}o", +"[ 2#G$8$^$/X3 h&0*,*t*:+", +"G [+G#5$]#j. 4%:&/&c&mo", +"X >OH#1+~oX p@,&t$5+P ", +" r H+ro m 1%m+ ", +" q . m . ", +"0 yX:oX#7o # go +}%$+. ", +"'.U#R$3$_+ dXU&4*~&:%R ", +"+ ).t#-+VO . FXk&o$`@1X", +" )XS+Q. Aoq$^Xo ", +" O.O. [.%X ", +" % w.B. 3 .X o ", +": 5OQ@7#*. g@'%e&{.o ", +")oY#!$]$hO; 0+H&3*<*N@h.", +"&X$@H#%$sO A.e%z&n&v@! ", +" qOB+%+~OX j@Y$#$$$B ", +" @.w.O `Xf 9X+&.o ", +" 5X. /o ", +" =XS IX&.o ", +" ,X!#bOX OoN&'@a ", +" ^o`$;+. 9+w*7$T ", +"+ 3 OO}$F@i q b@u*b%/.", +"E.`+o#`#;@; fXa$+&X*c%I.", +"g ]XT.b :X - iOSXE YXd ", +" z.1 CXu ", +"t.ZOK$A+iX =.j$&*@%zo* ", +"ooL$2$;$kO u+>*I&B&m@d ", +">X+#{+(@^. yX*&d$]%GXo ", +"* DOe@YOMO. b$R%[@]@f ", +" t G + ", +"+ s 3 w O U q p @ . ", +"N.~@noJOC+ >oO&}O{@e$P ", +"zXN#UX!OY@ soC&(OX$h%P.", +"6X-$X+P@1# ,oo*B@Y%$&K.", +"| b+&oNOh+ ] O%Gos#<$L ", +" . ", +"* uX#XU.X. IojoAX=X9 ", +"{ V#9$1$-@5.5.l& *|&N%gX", +"o k.~+W#~. OX#%W&KX< ", +" Q.<@_. !Xv%JX. ", +" 9o]o. ++q+& ", +" . ", +" q zO;O-O p d#H@t@a ", +"& %OI$Q#}#v. n@6*b&T&-o", +"o eXg$5#c#g. ko$*@&0&=o", +" o y#L@w@1 . S&[%m%Y.", +" L+ #U+O <%/%$%Q ", +". . . ", +"n.I+!ouolX. vXX%6+M+4Op.", +"0.!+_#~#,$MXb p$a&R&_&mO", +"7./@:#%o @! b !%{%_Oa%ro", +"( NO6@fOe#x.c f#G%O#J&ho", +" =O=#n+# f@5&,%+.", +" ", +" N.*OR nX& (XA@>.9O) ", +" =Xx#/+&#b. PXv&u%=&NX", +". V z#P$Jo #.F&:*'Os ", +"` >@'#|#UO U D%(&^&[#Q ", +"z 0O1X;.7oP i W@$oG.@+R.", +" ", +"zXBO^ .OR#Z. ", +".oh$UOp c #004c088a006e", +", c #000009a50000", +"< c #00f0096e0116", +"1 c #01640885019f", +"2 c #01bb098201c2", +"3 c #01eb08720219", +"4 c #01f309d30210", +"5 c #006c0a4e0077", +"6 c #00000b800000", +"7 c #017e0a5001cf", +"8 c #01500b5d015e", +"9 c #01db0adf0229", +"0 c #024d089e0264", +"q c #025109790282", +"w c #027a0a6a029c", +"e c #027e0b8702bc", +"r c #03710a51039c", +"t c #03000b820310", +"y c #03f70a2f0432", +"u c #00000c900000", +"i c #014c0d61019c", +"p c #01670c2b0202", +"a c #00000ea90000", +"s c #00470f690063", +"d c #01d40e7c022a", +"f c #02c60c9802e1", +"g c #02010d790251", +"h c #02d20d7b0303", +"j c #03050cf40344", +"k c #03810db80396", +"l c #02820e9f0291", +"z c #038c0e5403ac", +"x c #035f0fa6037b", +"c c #03fa0db0041d", +"v c #04d20a3704ef", +"b c #04760d930483", +"n c #05c90cc405f1", +"m c #041a0e7d0458", +"M c #04650fd2048b", +"N c #05ec0fd30621", +"B c #06750de30682", +"V c #06950f5b06bf", +"C c #000010a70000", +"Z c #000011190000", +"A c #0000128c0000", +"S c #0115135f014d", +"D c #01e013c5023b", +"F c #02e410a20311", +"G c #02d711400334", +"H c #0387106c03fb", +"J c #031d11130356", +"K c #034312320354", +"L c #0000149f0000", +"P c #01b914b801fc", +"I c #00001721004f", +"U c #028514e402c4", +"Y c #03fe16170421", +"T c #046c114e046e", +"R c #0571105a05ad", +"E c #05f711d40637", +"W c #04a9123704b0", +"Q c #050312430547", +"! c #05d413a305d9", +"~ c #063d10f90667", +"^ c #06b511c006e1", +"/ c #054d14340561", +"( c #0548156a057b", +") c #05e815e20610", +"_ c #0451160d0477", +"` c #050117020575", +"' c #06f515c40723", +"] c #0610165b064e", +"[ c #06dc1760071d", +"{ c #01da194e01c9", +"} c #01d61a3d0222", +"| c #02491e6402cd", +" . c #03121f420371", +".. c #0528186b0552", +"X. c #05a219a605bf", +"o. c #05ff1a18063c", +"O. c #068e19b506c7", +"+. c #078f199707aa", +"@. c #06c31a200730", +"#. c #06b11ba406bc", +"$. c #07b31a6807cb", +"%. c #07991b1d07d3", +"&. c #04fe1d0c04cb", +"*. c #05101c190526", +"=. c #041c1fad0416", +"-. c #05e11e2c05fc", +";. c #075f1c94078a", +":. c #062b1fb806b9", +">. c #09b115020a23", +",. c #080c16bc083a", +"<. c #08a717c308c6", +"1. c #09011708092d", +"2. c #084b199a0846", +"3. c #0a1f193c0a6b", +"4. c #0a5d1a3d0a84", +"5. c #08621cb6088b", +"6. c #09991c2209d7", +"7. c #09241d95090a", +"8. c #08261fee083f", +"9. c #09171e29094a", +"0. c #09731f0e099a", +"q. c #0ac31c740adf", +"w. c #0a731ed10a87", +"e. c #000022700000", +"r. c #03d1225a03eb", +"t. c #05d120cb05ea", +"y. c #0798211b07ae", +"u. c #06b723c406c0", +"i. c #05892525058a", +"p. c #06cd29520757", +"a. c #06fb2d8d0734", +"s. c #08a2202908ca", +"d. c #095a205a0982", +"f. c #098d218d09d4", +"g. c #08a2226b0950", +"h. c #08de23a5092f", +"j. c #0ab822d20af2", +"k. c #0aad24840acd", +"l. c #0a6d257d0a9d", +"z. c #0b7524130bbd", +"x. c #0a9c263a0a9a", +"c. c #0a6f27c50aa8", +"v. c #0bb8265c0bc2", +"b. c #0c9222330cca", +"n. c #0f04213b0f72", +"m. c #0e46231b0e7e", +"M. c #0e0025ca0e4e", +"N. c #0ab828fc0aee", +"B. c #0ad3296b0afa", +"V. c #0bd129480bda", +"C. c #0b1a2ae90ae6", +"Z. c #0b4b2c7a0b93", +"A. c #0d1028450d39", +"S. c #0dcd28510e28", +"D. c #0c7a2ace0ca7", +"F. c #0cfd2a730d57", +"G. c #0c612b580c9e", +"H. c #0d662aa50d8c", +"J. c #0db92a1d0e17", +"K. c #0d5e2d6c0d41", +"L. c #0deb2d420e12", +"P. c #0c842e010cbf", +"I. c #0cd82f120cae", +"U. c #0da72ee10da4", +"Y. c #0d542f3a0d26", +"T. c #0f862da20fa4", +"R. c #0e892e890eb7", +"E. c #0fca2efb0fb0", +"W. c #0f382f680f44", +"Q. c #06c5339a068b", +"!. c #07fb31490837", +"~. c #0ba630ac0be2", +"^. c #0a09341809e2", +"/. c #0b5c34fd0b6e", +"(. c #0cf433400d0e", +"). c #0da233d10dcd", +"_. c #0edd30250ee6", +"`. c #0e6d31d10e99", +"'. c #0f9e30d20fae", +"]. c #0f2031000ef6", +"[. c #0fb631190f91", +"{. c #0e8332c50ec9", +"}. c #0fbb33660fa6", +"|. c #0e9637370e52", +" X c #09b23f840a65", +".X c #0f7e38ed0f8d", +"XX c #0e5e3e370e84", +"oX c #0fab3f840f46", +"OX c #0fda321e100e", +"+X c #16f227b11739", +"@X c #136d282b1333", +"#X c #146b2b921490", +"$X c #14bf2fa214eb", +"%X c #1ae92c021b7d", +"&X c #1043363a0fe8", +"*X c #107c313d1058", +"=X c #113a31111178", +"-X c #10a2329d10bb", +";X c #104f34331084", +":X c #116134b7115c", +">X c #111835d610f4", +",X c #113a35f61168", +"o c #188a530517d8", +",o c #181b568417ce", +"O c #299b7b232931", +",O c #2a96784029d4", +"+ c #449d838644cf", +",+ c #46db8182474f", +"<+ c #45ab88af456d", +"1+ c #49f580fd49f0", +"2+ c #48528ba34793", +"3+ c #4a498cdb4a5f", +"4+ c #428394bd425a", +"5+ c #49c396b849aa", +"6+ c #58ba9298588e", +"7+ c #418daf774103", +"8+ c #4666abdf459b", +"9+ c #4af8a8944ae6", +"0+ c #423eb0d54163", +"q+ c #4327b0e941c7", +"w+ c #4271b32b41b5", +"e+ c #45f7b64044e4", +"r+ c #47f9b48146be", +"t+ c #4744b7da469d", +"y+ c #4301beaa422c", +"u+ c #4512ba79446d", +"i+ c #476fb81b4681", +"p+ c #489ebe3f4798", +"a+ c #48d1bf19486e", +"s+ c #4ad9bfb649d9", +"d+ c #51e9afbc51be", +"f+ c #5988a34559e6", +"g+ c #5cc3a19a5c23", +"h+ c #5914ab04582a", +"j+ c #5ab6b6025ad8", +"k+ c #5f69b6f45f0c", +"l+ c #69a1974d69be", +"z+ c #74679d0d745b", +"x+ c #68cba79868ed", +"c+ c #6c18bffa6b8c", +"v+ c #4394c37b4283", +"b+ c #415dc4024081", +"n+ c #4c88cbc04c23", +"m+ c #5594c63a5543", +"M+ c #53cfce8a5367", +"N+ c #570ccfec5632", +"B+ c #4c08e47e4acc", +"V+ c #64aac209649a", +"C+ c #6aebce606aaf", +"Z+ c #6fccdeba6eca", +"A+ c #7f89c7787f76", +"S+ c #7da0c9797da0", +"D+ c #76b4d606769e", +"F+ c #7e49d2e67e42", +"G+ c #7cddd6537bf9", +"H+ c #7cd3d5737c27", +"J+ c #7b20d8927b10", +"K+ c #7dc2d9f27d9c", +"L+ c #67fbe39e6759", +"P+ c #67aeead26676", +"I+ c #718bfdbc707a", +"U+ c #7463fe9a729a", +"Y+ c #7d48fb647bf1", +"T+ c #80c6c8a58088", +"R+ c #8bf8c2838c2e", +"E+ c #8e5ecb248e33", +"W+ c #825cd9e281d1", +"Q+ c #9761da9c9704", +"!+ c #8434e35b833a", +"~+ c #8533eab9848f", +"^+ c #8c0bed8f8b47", +"/+ c #8e40ed998d91", +"(+ c #842bffff8294", +")+ c #86dafc808639", +"_+ c #88ecffff8724", +"`+ c #8a8fffff89d8", +"'+ c #8a80ffff8a06", +"]+ c #8e51fa258de3", +"[+ c #8f9dffff8efe", +"{+ c #9015e9278f63", +"}+ c #9035ea068fff", +"|+ c #9310eb599270", +" @ c #9121f35490b4", +".@ c #96b9f30c9632", +"X@ c #9710f6d196bd", +"o@ c #910dffff9012", +"O@ c #937dffff92b3", +"+@ c #9833fc1896db", +"@@ c #9cfbffff9c10", +"#@ c #9d43ffff9c7d", +"$@ c #a7dce408a785", +"%@ c #a42af40da2ef", +"&@ c #a214ffffa159", +"*@ c #a3c9ffffa25b", +"=@ c #a60dfc95a58e", +"-@ c #a8f0f007a887", +";@ c #ae84ffffaddd", +":@ c #b013ffffae12", +">@ c #b43cf389b381", +",@ c #b0f4ffffb086", +"<@ c #b32dfc07b292", +"1@ c #b47cffffb3cb", +"2@ c #bee3ffffbd9d", +"3@ c #c1aeffffc140", +"4@ c #c327ffffc1b7", +"5@ c #c432ffffc36f", +"6@ c #c7f6ffffc699", +"7@ c #c9d7ffffc875", +"8@ c #ca81ffffc9ed", +"9@ c #cc62ffffcbfc", +"0@ c #cc71ffffcc74", +"q@ c #d0aaffffcfce", +"w@ c #d2a5ffffd1c2", +"e@ c #d418ffffd379", +/* pixels */ +"0 ;XR.@ b Voho; ", +"0X/OPOs Jo=@|+kX", +"LXLOKOI yO @}+mX", +"Q wo%o # -+tON ", +" J.H. NX[XX ", +"o CO8o R+>+. ", +"* !OgX E+Ao ", +"$ 5oc. ,+fX ", +"c XoaX 9O_ov ", +"A.++2o MX,@SOV ", +"8.UOQo e.Y+h+h ", +"/ YoEo a g+z+R ", +"m &o Ho)+~+#X", +"q I.V. ZXVX: ", +"! nO^o> B A+j+w.", +"z MO>o . K+lOk ", +" K.Ro oo8+2 ", +" 9. OX0 ", +"0 IXTX oO.O~ ", +"$.q+p+P J 3@0@6X", +"5.$+#+:.] 1@*@{X", +"0 8XPX uogo<.", +"q hXYX Wo%O' ", +"f.}OYOh.m.+@(+}X", +"( o+bO. , >@W+0.", +". O.&X G.;o= ", +" 0 2. n +X ", +"o 7X=O noV+l ", +"1XgO^O).FoB+]+So", +"v.`.:Xy.bX*oGonX", +"O 2X7 Bos ", +"X JX1Oh ]oC+q.", +"X EX!o1 :Od+,.", +"& -X co ", +"w D.W. QXjol ", +"KX&O_OoXeOM+`+XO", +"tX0o$Oro8OcOm+~O", +"$ o * o # 1.", +"Y.#oU. AXwO$o< ", +":o.+}od aO#@v+=.", +"#.5OUX L T+;O5 ", +" E.] xob. ", +". rXr (oE ", +". ~oz. x+zX ", +" &o_X ;+2O. ", +" ( g.@ ", +"w SX!X` sodo4X", +"F.%+y+,olX2@7@<+", +"k.]O +~.M._+O@Mo", +"3 eo|. 5+-o8 ", +"O o x. o XX3 ", +"L.)O`OD lo%@o@-X", +"j Uo|o.. f+*+(.", +" x. X4 ", +"3 }.D. 6o|X+ ", +"DXe+WOa `o8@^+a.", +"R.ROxOA vX.@P+/.", +"0 D.B.K ~XCXc.", +"e ].G ko} + ", +"1os+IOZ :+e@X@3X", +"pXO+vO6 No<@J+T.", +"o v.> ]Xu ", +" o iX= + Io_ ", +" P.@+*. )X;@.X", +"( iou+Z.C 'Oq@OwX'XU+N+[o", +"+.Po4O>X>.9+D+Ko", +" X j. . xX^ ", +"; WXuX7. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * Matrix -- simulate the text scrolls from the movie "The Matrix". + * + * The movie people distribute their own Windows/Mac screensaver that does + * a similar thing, so I wrote one for Unix. However, that version (the + * Windows/Mac version at http://www.whatisthematrix.com/) doesn't match my + * memory of what the screens in the movie looked like, so my `xmatrix' + * does things differently. + */ + +#include +#include "images/small.xpm" +#include "images/medium.xpm" +#include "images/large.xpm" +#include "images/matrix.xbm" +/* +#define CHAR_HEIGHT 4 +*/ + +#include "matrix.h" +/* +#include "resources.h" +*/ + +extern GC NormalGC; +extern GC EraseGC; +extern Pixel back_pix, fore_pix; +extern int PixmapSize; +int CHAR_HEIGHT; + + + + + +static void load_images (m_state *state) { + + if (state->xgwa.depth > 1) { + + XpmAttributes xpmattrs; + int result; + + xpmattrs.valuemask = 0; + xpmattrs.valuemask |= XpmCloseness; + xpmattrs.closeness = 40000; + xpmattrs.valuemask |= XpmVisual; + xpmattrs.visual = state->xgwa.visual; + xpmattrs.valuemask |= XpmDepth; + xpmattrs.depth = state->xgwa.depth; + xpmattrs.valuemask |= XpmColormap; + xpmattrs.colormap = state->xgwa.colormap; + + if (PixmapSize == 1){ + + CHAR_HEIGHT = 4; + result = XpmCreatePixmapFromData (state->dpy, state->window, small, + &state->images, 0 /* mask */, + &xpmattrs); + } else if (PixmapSize == 2){ + + CHAR_HEIGHT = 6; + result = XpmCreatePixmapFromData (state->dpy, state->window, medium, + &state->images, 0 /* mask */, + &xpmattrs); + } else { + + CHAR_HEIGHT = 8; + result = XpmCreatePixmapFromData (state->dpy, state->window, large, + &state->images, 0 /* mask */, + &xpmattrs); + } + + if (!state->images || (result != XpmSuccess && result != XpmColorError)) + state->images = 0; + + state->image_width = xpmattrs.width; + state->image_height = xpmattrs.height; + state->nglyphs = state->image_height / CHAR_HEIGHT; + + } else { + + state->image_width = matrix_width; + state->image_height = matrix_height; + state->nglyphs = state->image_height / CHAR_HEIGHT; + + state->images = XCreatePixmapFromBitmapData (state->dpy, state->window, + (char *) matrix_bits, + state->image_width, state->image_height, + back_pix, fore_pix, state->xgwa.depth); + } + +} + + +m_state *init_matrix( Display *dpy, Window window ) { + + m_state *state = (m_state *) calloc (sizeof(*state), 1); + + + state->dpy = dpy; + state->window = window; + + XGetWindowAttributes (dpy, window, &state->xgwa); + load_images (state); + + state->draw_gc = NormalGC; + state->erase_gc = EraseGC; + + state->char_width = state->image_width / 2; + state->char_height = CHAR_HEIGHT; + + state->grid_width = state->xgwa.width / state->char_width; + state->grid_height = state->xgwa.height / state->char_height; + state->grid_width++; + state->grid_height++; + + state->cells = (m_cell *)calloc (sizeof(m_cell), state->grid_width * state->grid_height); + state->feeders = (m_feeder *)calloc (sizeof(m_feeder), state->grid_width); + + state->density = 40; + + state->insert_top_p = False; + state->insert_bottom_p = True; + + + return state; + +} + + +static void insert_glyph (m_state *state, int glyph, int x, int y) { + + Bool bottom_feeder_p = (y >= 0); + m_cell *from, *to; + + if (y >= state->grid_height) return; + + if (bottom_feeder_p) { + + to = &state->cells[state->grid_width * y + x]; + + } else { + + for (y = state->grid_height-1; y > 0; y--) { + + from = &state->cells[state->grid_width * (y-1) + x]; + to = &state->cells[state->grid_width * y + x]; + *to = *from; + to->changed = True; + + } + to = &state->cells[x]; + + } + + to->glyph = glyph; + to->changed = True; + + if (!to->glyph) ; + else if (bottom_feeder_p) to->glow = 1 + (random() % 2); + else to->glow = 0; + +} + + +static void feed_matrix (m_state *state) { + + int x; + + + /* + * Update according to current feeders. + */ + for (x = 0; x < state->grid_width; x++) { + + m_feeder *f = &state->feeders[x]; + + if (f->throttle) { /* this is a delay tick, synced to frame. */ + + f->throttle--; + + } else if (f->remaining > 0) { /* how many items are in the pipe */ + + int g = (random() % state->nglyphs) + 1; + insert_glyph (state, g, x, f->y); + f->remaining--; + if (f->y >= 0) f->y++; /* bottom_feeder_p */ + + } else { /* if pipe is empty, insert spaces */ + + insert_glyph (state, 0, x, f->y); + if (f->y >= 0) f->y++; /* bottom_feeder_p */ + + } + + if ((random() % 10) == 0) { /* randomly change throttle speed */ + + f->throttle = ((random() % 5) + (random() % 5)); + + } + + } + +} + +static int densitizer (m_state *state) { + + /* Horrid kludge that converts percentages (density of screen coverage) + to the parameter that actually controls this. I got this mapping + empirically, on a 1024x768 screen. Sue me. */ + if (state->density < 10) return 85; + else if (state->density < 15) return 60; + else if (state->density < 20) return 45; + else if (state->density < 25) return 25; + else if (state->density < 30) return 20; + else if (state->density < 35) return 15; + else if (state->density < 45) return 10; + else if (state->density < 50) return 8; + else if (state->density < 55) return 7; + else if (state->density < 65) return 5; + else if (state->density < 80) return 3; + else if (state->density < 90) return 2; + else return 1; + +} + + +static void hack_matrix (m_state *state) { + + int x; + + /* Glow some characters. */ + if (!state->insert_bottom_p) { + + int i = random() % (state->grid_width / 2); + while (--i > 0) { + + int x = random() % state->grid_width; + int y = random() % state->grid_height; + m_cell *cell = &state->cells[state->grid_width * y + x]; + if (cell->glyph && cell->glow == 0) { + + cell->glow = random() % 10; + cell->changed = True; + } + + } + } + + /* Change some of the feeders. */ + for (x = 0; x < state->grid_width; x++) { + + m_feeder *f = &state->feeders[x]; + Bool bottom_feeder_p; + + if (f->remaining > 0) /* never change if pipe isn't empty */ + continue; + + if ((random() % densitizer(state)) != 0) /* then change N% of the time */ + continue; + + f->remaining = 3 + (random() % state->grid_height); + f->throttle = ((random() % 5) + (random() % 5)); + + if ((random() % 4) != 0) + f->remaining = 0; + + if (state->insert_top_p && state->insert_bottom_p) + bottom_feeder_p = (random() & 1); + else + bottom_feeder_p = state->insert_bottom_p; + + if (bottom_feeder_p) + f->y = random() % (state->grid_height / 2); + else + f->y = -1; + } +} + + +void draw_matrix (m_state *state, int d) { + + int x, y; + int count = 0; + + state->density = d; + feed_matrix( state ); + hack_matrix( state ); + + for (y = 0; y < state->grid_height; y++) { + for (x = 0; x < state->grid_width; x++) { + + m_cell *cell = &state->cells[state->grid_width * y + x]; + + if ( cell->glyph ) count++; + + if ( !cell->changed ) continue; + + if ( cell->glyph == 0 ) { + + XFillRectangle( state->dpy, state->window, state->erase_gc, + x * state->char_width, y * state->char_height, + state->char_width, state->char_height ); + } else { + + XCopyArea( state->dpy, state->images, state->window, state->draw_gc, + (cell->glow ? state->char_width : 0), (cell->glyph - 1) * state->char_height, + state->char_width, state->char_height, x * state->char_width, y * state->char_height ); + + } + + cell->changed = False; + + if (cell->glow > 0) { + + cell->glow--; + cell->changed = True; + + } + + } + } + + +#if 0 + { + static int i = 0; + static int ndens = 0; + static int tdens = 0; + i++; + if (i > 50) + { + int dens = (100.0 * + (((double)count) / + ((double) (state->grid_width * state->grid_height)))); + tdens += dens; + ndens++; + printf ("density: %d%% (%d%%)\n", dens, (tdens / ndens)); + i = 0; + } + } +#endif + +} + diff --git a/wmMatrix/matrix.h b/wmMatrix/matrix.h new file mode 100644 index 0000000..ae90d93 --- /dev/null +++ b/wmMatrix/matrix.h @@ -0,0 +1,39 @@ +#include +#include +#include +#include +#include +#include +#include + + +typedef struct { + int glyph; + int changed; + int glow; +} m_cell; + +typedef struct { + int remaining; + int throttle; + int y; +} m_feeder; + +typedef struct { + Display *dpy; + Window window; + XWindowAttributes xgwa; + GC draw_gc, erase_gc; + int grid_width, grid_height; + int char_width, char_height; + m_cell *cells; + m_feeder *feeders; + int insert_top_p, insert_bottom_p; + int density; + + Pixmap images; + int image_width, image_height; + int nglyphs; + +} m_state; + diff --git a/wmMatrix/version.h b/wmMatrix/version.h new file mode 100644 index 0000000..f71c521 --- /dev/null +++ b/wmMatrix/version.h @@ -0,0 +1,2 @@ +static const char screensaver_id[] = + "@(#)xscreensaver 3.17 (15-Jul-99), by Jamie Zawinski (jwz@jwz.org)"; diff --git a/wmMatrix/wmMatrix.c b/wmMatrix/wmMatrix.c new file mode 100644 index 0000000..10a3efb --- /dev/null +++ b/wmMatrix/wmMatrix.c @@ -0,0 +1,407 @@ +/* + * + * wmMatrix-0.2 (C) 1999 Mike Henderson (mghenderson@lanl.gov) + * + * - A DockApp version of Jamie Zawinski's xmatrix screensaver hack. + * + * + * + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program (see the file COPYING); if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA + * + * + * Changes: + * + * Version 0.2 - released Aug 16, 1999. + * + * + * ToDo: + * Tie speed to cpu load or some such thing. (Idea from Ken Steen.) Still need to work + * on how best to accomplish this.... + * + * + * + * + */ + + + + + +/* + * Includes + */ +#include +#include +#include +#include +#include +#include +#include +#include "xutils.h" +#include "wmMatrix_master.xpm" +#include "wmMatrix_mask.xbm" +#include "matrix.h" + + + +/* + * Delay between refreshes (in microseconds) + */ +#define DELAY 10000UL +#define WMMATRIX_VERSION "0.2" + + + + + + +void ParseCMDLine(int argc, char *argv[]); +void ButtonPressEvent(XButtonEvent *); +void print_usage(); +m_state *init_matrix( Display *, Window ); +void draw_matrix( m_state *, int ); + + + + +int GotFirstClick1, GotDoubleClick1; +int GotFirstClick2, GotDoubleClick2; +int GotFirstClick3, GotDoubleClick3; +int DblClkDelay; +int HasExecute; +char ExecuteCommand[1024]; +char *progname = "wmMatrix"; +char *progclass = "WMMatrix"; +int PixmapSize; + + + + + +char TimeColor[30] = "#ffff00"; +char BackgroundColor[30] = "#181818"; + + + + + + +/* + * main + */ +int main(int argc, char *argv[]) { + + + XEvent event; + int n, k, m; + float avg1, user; + /*char Command[512];*/ + m_state *state; + FILE *fp; + + + + /* + * Parse any command line arguments. + */ + ParseCMDLine(argc, argv); + + + strcpy(ExecuteCommand, "xmatrixsmall"); + HasExecute = 1; + + + + + + initXwindow(argc, argv); + openXwindow(argc, argv, wmMatrix_master, wmMatrix_mask_bits, wmMatrix_mask_width, wmMatrix_mask_height); + + state = init_matrix( display, iconwin ); + + +/* + if (HasExecute){ + sprintf(Command, "%s -window-id 0x%x &", ExecuteCommand, (int)iconwin); + system(Command); + } +*/ + + + + + + + /* + * Loop until we die + */ + n = k = m = 32000; + while(1) { + + +#if 0 + if ( n>10 ){ + + n = 0; + if ( (fp = fopen("/proc/loadavg", "r")) != NULL ){ + + fscanf(fp, "%f", &avg1); avg1 *= 10.0; fclose(fp); + m = (int)(40.0 - 1.00*avg1 + 0.5); + if (m < 0) m = 0; + + } else { + + printf("problem opening /proc/loadavg file for read\n"); + exit(-1); + + } + + } else { + + /* + * Update the counter. + */ + ++n; + + } +#endif + +m=0; + + + if (k > m){ + + k = 0; + draw_matrix( state, 40 ); + + } else { + + ++k; + + } + + + + /* + * Double Click Delays + * Keep track of click events. If Delay too long, set GotFirstClick's to False. + */ + if (DblClkDelay > 150) { + + DblClkDelay = 0; + GotFirstClick1 = 0; GotDoubleClick1 = 0; + GotFirstClick2 = 0; GotDoubleClick2 = 0; + GotFirstClick3 = 0; GotDoubleClick3 = 0; + + } else { + + ++DblClkDelay; + + } + + + + + /* + * Process any pending X events. + */ + while(XPending(display)){ + XNextEvent(display, &event); + switch(event.type){ + case Expose: + RedrawWindow(); + break; + case ButtonPress: + ButtonPressEvent(&event.xbutton); + break; + case ButtonRelease: + break; + } + } + + + + + + + /* + * sleep till next update. I cant seem to get usleep or select to work properly + * with args smaller than 10000. A kernel tick problem? If I comment out the next line, + * the app screams (chews up cpu too). Or if I use DELAY of 0 it also screams. + * But a delay of 1 or higher is slow..... + * + */ + short_uusleep(DELAY); + + + } + + + +} + + + + + + + + +/* + * ParseCMDLine() + */ +void ParseCMDLine(int argc, char *argv[]) { + +int i; + + PixmapSize = 2; + + for (i = 1; i < argc; i++) { + + if (!strcmp(argv[i], "-display")){ + + ++i; + + } else if (!strcmp(argv[i], "-tc")){ + + if ((i+1 >= argc)||(argv[i+1][0] == '-')) { + fprintf(stderr, "wmMatrix: No color found\n"); + print_usage(); + exit(-1); + } + strcpy(TimeColor, argv[++i]); + + } else if (!strcmp(argv[i], "-bc")){ + + if ((i+1 >= argc)||(argv[i+1][0] == '-')) { + fprintf(stderr, "wmMatrix: No color found\n"); + print_usage(); + exit(-1); + } + strcpy(BackgroundColor, argv[++i]); + + } else if (!strcmp(argv[i], "-e")){ + + if ((i+1 >= argc)||(argv[i+1][0] == '-')) { + fprintf(stderr, "wmMatrix: No command given\n"); + print_usage(); + exit(-1); + } + strcpy(ExecuteCommand, argv[++i]); + HasExecute = 1; + + } else if (!strcmp(argv[i], "-sml")){ + + PixmapSize = 1; + + } else if (!strcmp(argv[i], "-med")){ + + PixmapSize = 2; + + } else if (!strcmp(argv[i], "-lrg")){ + + PixmapSize = 3; + + } else { + + print_usage(); + exit(1); + } + + } + + +} + + +void print_usage(){ + + printf("\nwmMatrix version: %s\n", WMMATRIX_VERSION); + printf("\t-h\t\tDisplay help screen.\n"); + printf("\t-sml\t\tUse small size pixmap.\n"); + printf("\t-med\t\tUse medium size pixmap.\n"); + printf("\t-lrg\t\tUse large size pixmap.\n"); + +} + + + + + + + +/* + * This routine handles button presses. + * + * Double click on + * Mouse Button 1: Execute the command defined in the -e command-line option. + * Mouse Button 2: No action assigned. + * Mouse Button 3: No action assigned. + * + * + */ +void ButtonPressEvent(XButtonEvent *xev){ + + + + DblClkDelay = 0; + if ((xev->button == Button1) && (xev->type == ButtonPress)){ + if (GotFirstClick1) GotDoubleClick1 = 1; + else GotFirstClick1 = 1; + } else if ((xev->button == Button2) && (xev->type == ButtonPress)){ + if (GotFirstClick2) GotDoubleClick2 = 1; + else GotFirstClick2 = 1; + } else if ((xev->button == Button3) && (xev->type == ButtonPress)){ + if (GotFirstClick3) GotDoubleClick3 = 1; + else GotFirstClick3 = 1; + } + + + /* + * We got a double click on Mouse Button1 (i.e. the left one) + */ + if (GotDoubleClick1) { + GotFirstClick1 = 0; + GotDoubleClick1 = 0; + system("xscreensaver-demo"); + } + + + /* + * We got a double click on Mouse Button2 (i.e. the left one) + */ + if (GotDoubleClick2) { + GotFirstClick2 = 0; + GotDoubleClick2 = 0; + } + + + /* + * We got a double click on Mouse Button3 (i.e. the left one) + */ + if (GotDoubleClick3) { + GotFirstClick3 = 0; + GotDoubleClick3 = 0; + } + + + + return; + +} + diff --git a/wmMatrix/wmMatrix_mask.xbm b/wmMatrix/wmMatrix_mask.xbm new file mode 100644 index 0000000..bb3f031 --- /dev/null +++ b/wmMatrix/wmMatrix_mask.xbm @@ -0,0 +1,38 @@ +#define wmMatrix_mask_width 64 +#define wmMatrix_mask_height 64 +static char wmMatrix_mask_bits[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff, + 0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff, + 0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff, + 0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff, + 0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0, + 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f, + 0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff, + 0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff, + 0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff, + 0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff, + 0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff, + 0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff, + 0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0, + 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f, + 0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff, + 0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff, + 0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff, + 0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff, + 0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff, + 0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff, + 0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0, + 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f, + 0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff, + 0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff, + 0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff, + 0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff, + 0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff, + 0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff, + 0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0, + 0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x0f, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00}; diff --git a/wmMatrix/wmMatrix_master.xpm b/wmMatrix/wmMatrix_master.xpm new file mode 100644 index 0000000..818f611 --- /dev/null +++ b/wmMatrix/wmMatrix_master.xpm @@ -0,0 +1,73 @@ +/* XPM */ +static char *wmMatrix_master[] = { +/* width height num_colors chars_per_pixel */ +" 64 64 2 1", +/* colors */ +". c #ffffff", +"# c #000000", +/* pixels */ +"................................................................", +"................................................................", +"................................................................", +"................................................................", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"....########################################################....", +"................................................................", +"................................................................", +"................................................................", +"................................................................" +}; diff --git a/wmMatrix/xutils.c b/wmMatrix/xutils.c new file mode 100644 index 0000000..a3da40f --- /dev/null +++ b/wmMatrix/xutils.c @@ -0,0 +1,393 @@ +/* + * xutils.c - A collection of X-windows utilties for creating WindowMAker + * DockApps. + * + * This file contains alot of the lower-level X windows routines. Origins with wmppp + * (by Martijn Pieterse (pieterse@xs4all.nl)), but its been hacked up quite a bit + * and passed on from one new DockApp to the next. + * + * + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program (see the file COPYING); if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA + * + * + * + * + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "xutils.h" + + + +/* + * X11 Variables + */ +int x_fd; +XSizeHints mysizehints; +XWMHints mywmhints; +Pixel back_pix, fore_pix; +char *Geometry = ""; +GC NormalGC; +GC EraseGC; +XpmIcon wmgen; +Pixmap pixmask; + + +/* + * Colors for wmCalClock + */ +extern char TimeColor[30]; +extern char BackgroundColor[30]; + + + + + + +/* + * flush_expose + */ +static int flush_expose(Window w) { + + XEvent dummy; + int i=0; + + while (XCheckTypedWindowEvent(display, w, Expose, &dummy)) + i++; + + return i; + +} + + + + + + + + + +/* + * RedrawWindow + * RedrawWindowXY + */ +void RedrawWindow(void) { + + flush_expose(iconwin); + XCopyArea(display, wmgen.pixmap, iconwin, NormalGC, 0,0, wmgen.attributes.width, wmgen.attributes.height, 0, 0); + + flush_expose(win); + XCopyArea(display, wmgen.pixmap, win, NormalGC, 0,0, wmgen.attributes.width, wmgen.attributes.height, 0, 0); + +} + +void RedrawWindowXY(int x, int y) { + + flush_expose(iconwin); + XCopyArea(display, wmgen.pixmap, iconwin, NormalGC, x,y, wmgen.attributes.width, wmgen.attributes.height, 0, 0); + + flush_expose(win); + XCopyArea(display, wmgen.pixmap, win, NormalGC, x,y, wmgen.attributes.width, wmgen.attributes.height, 0, 0); + +} + + + + + + + +/* + * copyXPMArea + * copyXBMArea + */ +void copyXPMArea(int x, int y, int sx, int sy, int dx, int dy) { + XCopyArea(display, wmgen.pixmap, wmgen.pixmap, NormalGC, x, y, sx, sy, dx, dy); +} + +void copyXBMArea(int x, int y, int sx, int sy, int dx, int dy) { + + XCopyArea(display, wmgen.mask, wmgen.pixmap, NormalGC, x, y, sx, sy, dx, dy); +} + + + +/* + * initXwindow + */ +void initXwindow(int argc, char *argv[]){ + + int i; + char *display_name = NULL; + + for (i=1; argv[i]; ++i) { + if (!strcmp(argv[i], "-display")) display_name = argv[i+1]; + } + + + if (!(display = XOpenDisplay(display_name))) { + fprintf(stderr, "%s: can't open display %s\n", + argv[0], XDisplayName(display_name)); + exit(1); + } + + + screen = DefaultScreen(display); + Root = RootWindow(display, screen); + DisplayDepth = DefaultDepth(display, screen); + x_fd = XConnectionNumber(display); + +} + + + + + +/* + * openXwindow + */ +void openXwindow(int argc, char *argv[], char *pixmap_bytes[], char *pixmask_bits, + int pixmask_width, int pixmask_height) { + + unsigned int borderwidth = 1; + XClassHint classHint; + char *wname = argv[0]; + XTextProperty name; + XGCValues gcv; + unsigned long gcm; + int dummy=0, red, grn, blu; + XpmColorSymbol cols[10]={ {"Back", NULL, 0}, + {"Color1", NULL, 0}, + {"Color2", NULL, 0}, + {"Color3", NULL, 0}, + {"Color4", NULL, 0}, + {"Color5", NULL, 0}, + {"Color6", NULL, 0}, + {"Color7", NULL, 0}, + {"Color8", NULL, 0}, + {"Color9", NULL, 0}}; + + + + + /* + * Create Pixmap + */ + cols[0].pixel = getColor(BackgroundColor, 1.0000, &red, &grn, &blu); + cols[1].pixel = getBlendedColor(TimeColor, 0.1522, red, grn, blu); + cols[2].pixel = getBlendedColor(TimeColor, 0.2602, red, grn, blu); + cols[3].pixel = getBlendedColor(TimeColor, 0.3761, red, grn, blu); + cols[4].pixel = getBlendedColor(TimeColor, 0.4841, red, grn, blu); + cols[5].pixel = getBlendedColor(TimeColor, 0.5922, red, grn, blu); + cols[6].pixel = getBlendedColor(TimeColor, 0.6980, red, grn, blu); + cols[7].pixel = getBlendedColor(TimeColor, 0.7961, red, grn, blu); + cols[8].pixel = getBlendedColor(TimeColor, 0.8941, red, grn, blu); + cols[9].pixel = getBlendedColor(TimeColor, 1.0000, red, grn, blu); + + wmgen.attributes.numsymbols = 10; + wmgen.attributes.colorsymbols = cols; + wmgen.attributes.exactColors = False; + wmgen.attributes.closeness = 40000; + wmgen.attributes.valuemask = XpmReturnPixels | XpmReturnExtensions | XpmColorSymbols + | XpmExactColors | XpmCloseness | XpmSize; + if (XpmCreatePixmapFromData(display, Root, pixmap_bytes, + &(wmgen.pixmap), &(wmgen.mask), &(wmgen.attributes)) != XpmSuccess){ + fprintf(stderr, "Not enough free colorcells.\n"); + exit(1); + } + + + + + /* + * Create a window + */ + mysizehints.flags = USSize | USPosition; + mysizehints.x = 0; + mysizehints.y = 0; + + back_pix = getColor("black", 1.0, &red, &grn, &blu); + fore_pix = getColor("white", 1.0, &red, &grn, &blu); + + XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints, + &mysizehints.x, &mysizehints.y,&mysizehints.width,&mysizehints.height, &dummy); + + mysizehints.width = 64; + mysizehints.height = 64; + + + + win = XCreateSimpleWindow(display, Root, mysizehints.x, mysizehints.y, + mysizehints.width, mysizehints.height, borderwidth, fore_pix, back_pix); + + iconwin = XCreateSimpleWindow(display, win, mysizehints.x, mysizehints.y, + mysizehints.width, mysizehints.height, borderwidth, fore_pix, back_pix); + + + + /* + * Activate hints + */ + XSetWMNormalHints(display, win, &mysizehints); + classHint.res_name = wname; + classHint.res_class = wname; + XSetClassHint(display, win, &classHint); + + + + /* + * Set up the xevents that you want the relevent windows to inherit + * Currently, its seems that setting KeyPress events here has no + * effect. I.e. for some you will need to Grab the focus and then return + * it after you are done... + */ + XSelectInput(display, win, ButtonPressMask | ExposureMask | ButtonReleaseMask + | PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask + | KeyPressMask | KeyReleaseMask); + XSelectInput(display, iconwin, ButtonPressMask | ExposureMask | ButtonReleaseMask + | PointerMotionMask | StructureNotifyMask | EnterWindowMask | LeaveWindowMask + | KeyPressMask | KeyReleaseMask); + + + if (XStringListToTextProperty(&wname, 1, &name) == 0) { + fprintf(stderr, "%s: can't allocate window name\n", wname); + exit(1); + } + + + XSetWMName(display, win, &name); + + /* + * Create Graphics Context (GC) for drawing + */ + gcm = GCForeground | GCBackground | GCGraphicsExposures; + gcv.foreground = fore_pix; + gcv.background = back_pix; + gcv.graphics_exposures = 0; + NormalGC = XCreateGC(display, Root, gcm, &gcv); + + /* + * Create Graphics Context (GC) for erasing + */ + gcm = GCForeground | GCBackground | GCGraphicsExposures; + gcv.foreground = back_pix; + gcv.background = back_pix; + gcv.graphics_exposures = 0; + EraseGC = XCreateGC(display, Root, gcm, &gcv); + + + + pixmask = XCreateBitmapFromData(display, win, pixmask_bits, pixmask_width, pixmask_height); + XShapeCombineMask(display, win, ShapeBounding, 0, 0, pixmask, ShapeSet); + XShapeCombineMask(display, iconwin, ShapeBounding, 0, 0, pixmask, ShapeSet); + + + mywmhints.initial_state = WithdrawnState; + mywmhints.icon_window = iconwin; + mywmhints.icon_x = mysizehints.x; + mywmhints.icon_y = mysizehints.y; + mywmhints.window_group = win; + mywmhints.flags = StateHint | IconWindowHint | IconPositionHint | WindowGroupHint; + + + XSetWMHints(display, win, &mywmhints); + + + XSetCommand(display, win, argv, argc); + XMapWindow(display, win); + +} + +unsigned long getColor(char *ColorName, float fac, int *red, int *grn, int *blu) { + + XColor Color; + XWindowAttributes Attributes; + + XGetWindowAttributes(display, Root, &Attributes); + Color.pixel = 0; + + XParseColor(display, Attributes.colormap, ColorName, &Color); + Color.red = (unsigned short)(fac*(Color.red-24) + 24); + Color.blue = (unsigned short)(fac*(Color.blue-24) + 24); + Color.green = (unsigned short)(fac*(Color.green-24) + 24); + Color.flags = DoRed | DoGreen | DoBlue; + XAllocColor(display, Attributes.colormap, &Color); + + + *red = Color.red; + *grn = Color.green; + *blu = Color.blue; + return Color.pixel; + +} + +unsigned long getBlendedColor(char *ColorName, float fac, int red, int grn, int blu) { + + XColor Color; + XWindowAttributes Attributes; + + XGetWindowAttributes(display, Root, &Attributes); + Color.pixel = 0; + + XParseColor(display, Attributes.colormap, ColorName, &Color); + Color.red = (unsigned short)(fac*(Color.red-red) + red); + Color.blue = (unsigned short)(fac*(Color.blue-grn) + grn); + Color.green = (unsigned short)(fac*(Color.green-blu) + blu); + Color.flags = DoRed | DoGreen | DoBlue; + XAllocColor(display, Attributes.colormap, &Color); + + return Color.pixel; + +} + + +/* + * Here is a faster version of usleep using select() + */ +void uusleep(unsigned long usecs) { + + struct timeval tv; + tv.tv_sec = usecs / 1000000UL; + tv.tv_usec = usecs % 1000000UL; + select(1, NULL, NULL, NULL, &tv); + +} + +/* + * This version assumes the tv_sec value will be zero. I.e. the delay + * will be less than 1 second. This allows us to save on a div operation. + * + */ +void short_uusleep(unsigned long usecs) { + + struct timeval tv; + tv.tv_sec = 0; + tv.tv_usec = usecs; + select(1, NULL, NULL, NULL, &tv); + +} + diff --git a/wmMatrix/xutils.h b/wmMatrix/xutils.h new file mode 100644 index 0000000..1e03a08 --- /dev/null +++ b/wmMatrix/xutils.h @@ -0,0 +1,50 @@ +#ifndef WMGENERAL_H_INCLUDED +#define WMGENERAL_H_INCLUDED + + + +/* + * Typedefs + */ +typedef struct { + Pixmap pixmap; + Pixmap mask; + XpmAttributes attributes; +} XpmIcon; + + + + +/* + * Global variable + */ +Display *display; +Window Root; +Window iconwin, win; +int screen; +int DisplayDepth; + + + + + +/* + * Function Prototypes + */ +void AddMouseRegion(int, int, int, int, int); +int CheckMouseRegion(int, int); +void openXwindow(int, char **, char **, char *, int, int); +void initXwindow(int, char **); +void RedrawWindow(void); +void RedrawWindowXY(int, int); +void copyXPMArea(int, int, int, int, int, int); +void copyXBMArea(int, int, int, int, int, int); +void setMaskXY(int, int); +unsigned long getColor(char *, float, int *, int *, int *); +unsigned long getBlendedColor(char *, float, int, int, int); +void RedrawWindow(void); +void wusleep( unsigned int ); + + + +#endif diff --git a/wmMatrix/yarandom.c b/wmMatrix/yarandom.c new file mode 100644 index 0000000..8ae5c96 --- /dev/null +++ b/wmMatrix/yarandom.c @@ -0,0 +1,112 @@ +#define HAVE_UNISTD_H 1 +#define GETTIMEOFDAY_TWO_ARGS 1 +/* yarandom.c -- Yet Another Random Number Generator. + + The unportable mess that is rand(), random(), drand48() and friends led me + to ask Phil Karlton what the Right Thing to Do was. + He responded with this. It is non-cryptographically secure, reasonably + random (more so than anything that is in any C library), and very fast. + + I don't understand how it works at all, but he says "look at Knuth, + Vol. 2 (original edition), page 26, Algorithm A. In this case n=55, + k=20 and m=2^32." + + So there you have it. + + --------------------------- + Note: xlockmore 4.03a10 uses this very simple RNG: + + if ((seed = seed % 44488 * 48271 - seed / 44488 * 3399) < 0) + seed += 2147483647; + return seed-1; + + of which it says + + ``Dr. Park's algorithm published in the Oct. '88 ACM "Random Number + Generators: Good Ones Are Hard To Find" His version available at + ftp://cs.wm.edu/pub/rngs.tar Present form by many authors.'' + + Karlton says: ``the usual problem with that kind of RNG turns out to + be unexepected short cycles for some word lengths.'' + + Karlton's RNG is faster, since it does three adds and two stores, while the + xlockmore RNG does two multiplies, two divides, three adds, and one store. + + Compiler optimizations make a big difference here: + gcc -O: difference is 1.2x. + gcc -O2: difference is 1.4x. + gcc -O3: difference is 1.5x. + SGI cc -O: difference is 2.4x. + SGI cc -O2: difference is 2.4x. + SGI cc -O3: difference is 5.1x. + Irix 6.2; Indy r5k; SGI cc version 6; gcc version 2.7.2.1. + */ + + +#ifdef HAVE_UNISTD_H +# include /* for getpid() */ +#endif +#include /* for gettimeofday() */ + +#include "yarandom.h" + + +/* The following 'random' numbers are taken from CRC, 18th Edition, page 622. + Each array element was taken from the corresponding line in the table, + except that a[0] was from line 100. 8s and 9s in the table were simply + skipped. The high order digit was taken mod 4. + */ +#define VectorSize 55 +static unsigned int a[VectorSize] = { + 035340171546, 010401501101, 022364657325, 024130436022, 002167303062, /* 5 */ + 037570375137, 037210607110, 016272055420, 023011770546, 017143426366, /* 10 */ + 014753657433, 021657231332, 023553406142, 004236526362, 010365611275, /* 14 */ + 007117336710, 011051276551, 002362132524, 001011540233, 012162531646, /* 20 */ + 007056762337, 006631245521, 014164542224, 032633236305, 023342700176, /* 25 */ + 002433062234, 015257225043, 026762051606, 000742573230, 005366042132, /* 30 */ + 012126416411, 000520471171, 000725646277, 020116577576, 025765742604, /* 35 */ + 007633473735, 015674255275, 017555634041, 006503154145, 021576344247, /* 40 */ + 014577627653, 002707523333, 034146376720, 030060227734, 013765414060, /* 45 */ + 036072251540, 007255221037, 024364674123, 006200353166, 010126373326, /* 50 */ + 015664104320, 016401041535, 016215305520, 033115351014, 017411670323 /* 55 */ +}; + +static int i1, i2; + +unsigned int +ya_random (void) +{ + register int ret = a[i1] + a[i2]; + a[i1] = ret; + if (++i1 >= VectorSize) i1 = 0; + if (++i2 >= VectorSize) i2 = 0; + return ret; +} + +void +ya_rand_init(unsigned int seed) +{ + int i; + if (seed == 0) + { + struct timeval tp; +#ifdef GETTIMEOFDAY_TWO_ARGS + struct timezone tzp; + gettimeofday(&tp, &tzp); +#else + gettimeofday(&tp); +#endif + /* ignore overflow */ + seed = (999*tp.tv_sec) + (1001*tp.tv_usec) + (1003 * getpid()); + } + + a[0] += seed; + for (i = 1; i < VectorSize; i++) + { + seed = a[i-1]*1001 + seed*999; + a[i] += seed; + } + + i1 = a[0] % VectorSize; + i2 = (i1 + 024) % VectorSize; +} diff --git a/wmMatrix/yarandom.h b/wmMatrix/yarandom.h new file mode 100644 index 0000000..abea226 --- /dev/null +++ b/wmMatrix/yarandom.h @@ -0,0 +1,54 @@ +/* xscreensaver, Copyright (c) 1997, 1998 by Jamie Zawinski + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. No representations are made about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + */ + +#ifndef __YARANDOM_H__ +#define __YARANDOM_H__ + +#undef random +#undef rand +#undef drand48 +#undef srandom +#undef srand +#undef srand48 +#undef frand +#undef RAND_MAX + +#ifdef VMS +# include "vms-gtod.h" +#endif + +#define random() ya_random() +#define srandom(i) ya_rand_init(0) +#define RAND_MAX 0x7FFFFFFF + +extern unsigned int ya_random (void); +extern void ya_rand_init (unsigned int); + + +#if defined (__GNUC__) && (__GNUC__ >= 2) + /* Implement frand using GCC's statement-expression extension. */ + +# define frand(f) \ + ({ double tmp = (((double) random()) / \ + (((double) ((unsigned int)~0)) / ((double) (f)))); \ + tmp < 0 ? (-tmp) : tmp; }) + +#else /* not GCC2 - implement frand using a global variable.*/ + +static double _frand_tmp_; +# define frand(f) \ + (_frand_tmp_ = (((double) random()) / \ + (((double) ((unsigned int)~0)) / ((double) (f)))), \ + _frand_tmp_ < 0 ? (-_frand_tmp_) : _frand_tmp_) + +#endif /* not GCC2 */ + +#endif /* __YARANDOM_H__ */